@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--cream:#f6f0e4;--ink:#35271f;--copper:#a95d3b;--line:#d4c9b9;--sage:#c9c8b5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{width:100%;height:100%;object-fit:cover;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.045em}h1{font-size:clamp(54px,5.3vw,90px);line-height:1.04;margin-bottom:24px}h2{font-size:clamp(42px,4.1vw,68px);line-height:1.12;margin-bottom:24px}em{font-weight:500;color:var(--copper)}.demo{background:var(--ink);color:#eee5d4;text-align:center;font-size:9px;font-weight:600;letter-spacing:.18em;padding:11px 16px}header{display:flex;align-items:center;justify-content:space-between;padding:28px 5%;border-bottom:1px solid var(--line);background:var(--cream)}.brand{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;font-weight:bold;letter-spacing:.08em;font-size:23px;white-space:nowrap}.brand-icon{font-size:50px;font-weight:normal;color:var(--copper)}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:.27em;margin-top:5px}nav{display:flex;align-items:center;gap:32px;font-size:13px}nav a:hover{color:var(--copper)}.nav-cta{padding:14px 20px;border:1px solid var(--ink);border-radius:3px}.nav-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:670px}.hero-copy{padding:66px 5vw 40px}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:700;margin-bottom:24px}.intro{font-size:17px;line-height:1.7;color:#6a594d;margin-bottom:30px}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--ink);color:var(--cream);border:1px solid var(--ink);padding:17px 25px;border-radius:3px;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:var(--copper);border-color:var(--copper);transform:translateY(-2px)}.hero-note{display:flex;align-items:center;gap:15px;margin-top:38px}.hero-note p{font-size:11px;line-height:1.7;margin:0;color:#6a594d}.sun{font-size:37px;color:var(--copper)}.hero-photo{position:relative;overflow:hidden}.hero-photo img{position:absolute;inset:0;object-position:center}.photo-shade{position:absolute;inset:0;background:linear-gradient(0deg,#211b18a0,transparent 45%)}.round-seal{position:absolute;right:35px;top:36px;width:125px;height:125px;border-radius:50%;background:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;letter-spacing:.14em;line-height:1.1;transform:rotate(12deg)}.round-seal span{font-size:33px;color:var(--copper);line-height:.8}.photo-caption{position:absolute;bottom:20px;left:34px;color:var(--cream);font-size:10px;letter-spacing:.2em}.ribbon{display:flex;justify-content:space-around;align-items:center;background:var(--copper);color:var(--cream);padding:23px 4%;gap:20px;font-size:11px;letter-spacing:.18em;overflow:hidden;white-space:nowrap}.ribbon b{font-size:24px}.section{padding:100px 7%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.section-heading>p{font-size:15px;line-height:1.8;color:#786354;padding-bottom:10px}.menu-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:23px 0 30px;padding-bottom:15px;flex-wrap:wrap}.menu-tabs button{border:1px solid transparent;background:none;color:#6a594d;border-radius:30px;padding:12px 20px;font-size:13px}.menu-tabs button[aria-selected=true]{background:var(--ink);color:var(--cream)}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.menu-card .photo{height:250px;overflow:hidden;background:#dbd2c4;position:relative}.menu-card img{transition:transform .5s}.menu-card:hover img{transform:scale(1.05)}.menu-card .tag{position:absolute;left:15px;top:15px;background:var(--cream);font-size:9px;letter-spacing:.1em;padding:8px 11px}.menu-card h3{font-size:25px;letter-spacing:-.025em;margin:20px 0 8px;display:flex;justify-content:space-between;gap:12px}.menu-card h3 span{font:13px 'DM Sans',sans-serif;align-self:center}.menu-card p{color:#786354;font-size:13px;line-height:1.65}.fine{font-size:11px;line-height:1.6;color:#786354;margin-top:24px}.story{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:#e9e2d5;align-items:center}.story-art{height:570px;position:relative}.story-art img{border-radius:200px 200px 0 0}.image-label{position:absolute;bottom:28px;left:25px;color:white;font-size:10px;letter-spacing:.18em}.story-copy>p:not(.eyebrow):not(.fine){font-size:15px;line-height:1.9;color:#6a594d}.signature{font-family:'Playfair Display',Georgia,serif;font-size:28px;font-style:italic;margin-top:30px}.seasonal{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--cream)}.seasonal>div:first-child{padding:90px 7vw}.seasonal em{color:#d79c6e}.seasonal p:not(.eyebrow){line-height:1.8;font-size:14px;color:#d2c4b3}.light{background:var(--cream);color:var(--ink);margin-top:15px}.seasonal-image{position:relative;min-height:530px}.seasonal-image img{position:absolute;inset:0}.drink-label{position:absolute;bottom:28px;right:28px;background:var(--cream);color:var(--ink);padding:20px;font-size:11px;letter-spacing:.15em;line-height:1.8;transform:rotate(-7deg)}.space{text-align:center}.space-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:25px;margin-top:45px}.space-photo{height:390px;position:relative;overflow:hidden}.space-photo span{position:absolute;bottom:0;left:0;right:0;padding:50px 24px 24px;background:linear-gradient(transparent,#211b18bb);text-align:left;color:white;font-family:'Playfair Display',Georgia,serif;font-size:28px}.visit{background:var(--sage);display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.visit>div>p:not(.eyebrow){font-size:14px;line-height:1.8}.visit-card{padding:35px;background:var(--cream);border:1px solid #b9b2a3;box-shadow:8px 8px 0 #b4b49c}.visit-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.15em;margin-bottom:20px}.visit-top span:last-child{font-size:30px;color:var(--copper)}.visit-card h3{font-size:34px;margin-bottom:25px}dl{font-size:13px}dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0}dd{margin:0}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:48px 5%;background:var(--ink);color:var(--cream)}footer p{font-size:11px;line-height:1.8;margin:0;color:#c6b6a5}footer p a{text-decoration:underline}footer>a:last-child{font-size:11px}dialog{border:0;max-width:530px;width:calc(100% - 32px);padding:40px;background:var(--cream);color:var(--ink);border-radius:5px}dialog::backdrop{background:#231d19bb}dialog h2{font-size:45px}dialog p{font-size:13px;line-height:1.7}.close{position:absolute;top:12px;right:18px;border:0;background:none;font-size:30px;color:var(--ink)}form{display:grid;gap:16px;margin-top:25px}label{font-size:12px;display:grid;gap:7px}input,select{width:100%;padding:12px;border:1px solid var(--line);background:white;border-radius:3px;color:var(--ink)}:focus-visible{outline:3px solid var(--copper);outline-offset:4px}@media(max-width:800px){header{padding:17px 5%;position:relative}.brand{font-size:18px}.brand-icon{font-size:40px}.brand small{font-size:6px}.nav-toggle{display:flex;gap:10px;border:0;background:none;color:var(--ink);font-size:13px}nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);padding:25px;z-index:5;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:24px}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7% 35px}h1{font-size:58px}.hero-photo{height:440px}.round-seal{width:105px;height:105px;top:25px;right:25px}.hero-note{margin-top:28px}.ribbon{justify-content:flex-start;font-size:9px;padding:16px 6%}.ribbon b{font-size:20px}.section{padding:65px 7%}.section-heading{display:block}.section-heading>p{margin-top:20px}.menu-grid{grid-template-columns:1fr}.menu-card .photo{height:310px}.menu-card h3{margin-top:15px}.menu-tabs button{font-size:11px;padding:10px 13px}.story{grid-template-columns:1fr;gap:40px}.story-art{height:400px}.seasonal{grid-template-columns:1fr}.seasonal>div:first-child{padding:65px 7%}.seasonal-image{min-height:380px}.space-grid{grid-template-columns:1fr}.space-photo{height:300px}.visit{grid-template-columns:1fr;gap:30px}.visit-card{padding:25px}footer{flex-direction:column;align-items:flex-start;padding:40px 7%}.demo{font-size:7px;line-height:1.5}.menu-grid{gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Original Ember & Oak interpretation: warm photographic storytelling. */
:root{--cream:#f5e8cf;--ink:#342d23;--copper:#bd693c;--line:#d5c4a4;--sage:#d2d2ad}
h1,h2,h3{font-family:'DM Sans',sans-serif;font-weight:700;letter-spacing:-.045em}em{font-style:normal}header{background:var(--copper);color:#fff3dc;padding:22px 5%;border:0}.brand-icon{color:#ffe5b1}.brand{letter-spacing:.045em}nav a:hover{color:white}.nav-cta{border-color:#f5e8cf;border-radius:0}.hero{display:block;position:relative;min-height:730px;color:var(--cream);isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0;z-index:-2}.hero-photo img{object-position:65% 58%}.photo-shade{background:linear-gradient(90deg,rgba(20,18,13,.92) 0%,rgba(28,21,14,.79) 35%,rgba(26,20,13,.1) 85%)}.hero-copy{padding:100px 7% 110px;width:65%;position:relative;z-index:1}h1{font-size:clamp(50px,5.7vw,88px);line-height:1.03}.hero h1 em{color:#efbb83}.hero .intro,.hero-note p{color:#f1ddbc}.hero .button{background:var(--copper);border-color:var(--copper);border-radius:0}.hero-note{margin-top:28px}.hero .sun{color:#efbb83}.hero-photo .round-seal{right:7%;top:50px;background:#f5e8cfeb;outline:1px solid #f5e8cf;outline-offset:7px;color:var(--ink);width:130px;height:130px}.photo-caption{left:auto;right:7%;bottom:70px}.hero::after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:55px;background:var(--copper);clip-path:polygon(0 85%,100% 0,100% 100%,0 100%)}.ribbon{padding:25px 5% 32px}.section{padding:90px 7%}.section-heading{justify-content:center;text-align:center;display:block}.section-heading h2 br{display:none}.section-heading>p{margin-top:18px}.menu-section{background:radial-gradient(ellipse at 10% 20%,#e9d7b580,transparent 50%),var(--cream)}.menu-tabs{justify-content:center;border:0;margin-top:30px}.menu-tabs button{border-radius:0;border:1px solid var(--line)}.menu-tabs button[aria-selected=true]{background:var(--copper);border-color:var(--copper)}.menu-card .photo{height:290px;border-radius:50%;aspect-ratio:1;margin:auto;max-width:290px;border:8px solid #e6d3af}.menu-card h3{font-size:23px;letter-spacing:-.04em}.menu-card .tag{top:auto;bottom:30px;left:50%;transform:translateX(-50%);white-space:nowrap}.menu-section>.fine{text-align:center}.story{background:var(--sage);position:relative;padding-top:110px;padding-bottom:110px}.story::before{content:'';position:absolute;top:-1px;left:0;right:0;height:35px;background:var(--cream);clip-path:polygon(0 0,100% 0,100% 70%,85% 40%,68% 90%,50% 35%,30% 80%,14% 35%,0 90%)}.story-art{height:auto;aspect-ratio:1}.story-art img{border-radius:50%;border:10px solid #babd92}.image-label{left:0;right:0;text-align:center;bottom:55px;font-weight:700;text-shadow:0 1px 5px #000}.story-copy h2{font-size:clamp(42px,4.2vw,66px)}.signature{color:#79482e}.seasonal{background:#a65032;position:relative;overflow:hidden}.seasonal>div:first-child{padding:100px 7vw}.seasonal h2 em{color:#ffdfa3}.seasonal p:not(.eyebrow){color:#ffecd2}.seasonal-image{margin:55px 7% 55px 0;min-height:420px}.seasonal-image img{border-radius:50%;border:9px solid #d38d5b;object-position:center}.drink-label{background:var(--cream);transform:rotate(-4deg);right:0;bottom:30px}.space{background:var(--cream)}.space-grid{gap:35px}.space-photo{border-radius:8px}.visit{background:var(--sage)}.visit-card{box-shadow:none;border:0;background:#f6eddc}.button{border-radius:0}.visit .button{background:var(--copper);border-color:var(--copper)}footer{background:#342d23}.fine{color:#62513f}.story-copy>p:not(.eyebrow):not(.fine){color:#514b38}
@media(max-width:800px){header{padding:18px 5%}.nav-toggle{color:#fff3dc}nav{color:var(--ink)}.hero{min-height:690px}.hero-copy{width:100%;padding:80px 7% 95px}.hero-photo{height:100%}.hero-photo img{object-position:60% center}.photo-shade{background:linear-gradient(90deg,#19150fe6,#19150f75)}.hero h1{font-size:clamp(44px,10.5vw,68px);max-width:540px}.hero .round-seal{display:none}.photo-caption{bottom:42px;font-size:8px}.hero .intro{font-size:16px}.section{padding:65px 7%}.menu-grid{gap:30px}.menu-card .photo{height:280px}.menu-card{max-width:460px;width:100%;margin:auto}.story{padding-top:85px;gap:35px}.story-art{max-height:420px;max-width:420px;width:100%;margin:auto}.seasonal>div:first-child{padding:65px 7% 20px}.seasonal-image{margin:15px 7% 60px;min-height:350px}.space-grid{gap:20px}.menu-tabs{gap:6px}.menu-tabs button{padding:10px;font-size:11px}.section-heading h2 br{display:block}}

/* Layered transitions: original coffee-bean emblem and floating café portrait. */
.hero{min-height:790px}.hero-copy{padding-bottom:160px}.hero::after{height:95px;clip-path:polygon(0 95%,100% 8%,100% 100%,0 100%);background:var(--cream)}.photo-caption{bottom:150px}
.crossing{position:relative;display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:4%;align-items:center;padding:20px 6% 80px;background:var(--cream);isolation:isolate}
.bean-emblem{position:relative;z-index:2;margin-top:-150px;transform:rotate(-9deg);width:100%;max-width:310px;filter:drop-shadow(0 18px 16px #4b281d22)}
.bean-emblem svg{display:block;width:100%;height:auto}.bean-emblem>div{position:absolute;inset:0;display:flex;justify-content:center;flex-direction:column;align-items:center;text-align:center;color:#ffedcf}.bean-emblem span{font-size:clamp(30px,3.6vw,57px);font-weight:700;line-height:.98;letter-spacing:-.06em}.bean-emblem small{font-size:8px;letter-spacing:.12em;margin-top:18px;max-width:130px}.crossing-copy{padding-top:20px}.crossing-copy .eyebrow{font-size:8px;letter-spacing:.13em}.crossing h2{font-size:clamp(28px,3vw,46px);line-height:1.1;margin-bottom:15px}.crossing-copy>p:last-child{font-size:14px;line-height:1.8;color:#6a594d}
.crossing-photo{position:relative;z-index:3;margin:-150px 0 0;width:100%;transform:rotate(7deg)}.crossing-photo img{aspect-ratio:1;border-radius:50%;border:10px solid #c6c7a0;box-shadow:0 18px 25px #30241c25}.crossing-photo figcaption{font-family:Georgia,serif;font-size:19px;font-style:italic;text-align:center;margin-top:22px;color:#795334}.menu-section{padding-top:55px}.story-art{z-index:2;transform:translateY(-55px) rotate(-4deg);margin-bottom:-55px}.story{margin-top:40px}
.immersive{display:block;position:relative;isolation:isolate;min-height:720px;overflow:visible;background:#171b17;color:#f5e8cf;margin-top:0}.immersive-backdrop{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#111812ef 0%,#111812bd 38%,#11181220 85%),url('assets/hero.jpg') center 55% / cover no-repeat;clip-path:polygon(0 7%,100% 0,100% 92%,0 100%)}.immersive::before{content:'';position:absolute;inset:0;z-index:-3;background:var(--sage)}.immersive::after{content:'';position:absolute;left:0;right:0;bottom:0;height:8%;background:var(--cream);clip-path:polygon(0 100%,100% 0,100% 100%)}.seasonal>.immersive-copy{padding:120px 7% 130px;max-width:780px}.immersive h2{font-size:clamp(44px,5.5vw,84px);line-height:1.02}.immersive h2 em{color:#e7ba80}.immersive .button{margin-top:20px}.immersive-caption{display:block;margin-top:35px;font-size:9px;letter-spacing:.22em;color:#e7caa2}.floating-note{position:absolute;right:9%;bottom:-35px;z-index:3;background:#b85d35;color:#ffedcf;width:190px;height:190px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(10deg);outline:1px solid #e7bc82;outline-offset:-10px;box-shadow:0 14px 24px #29190f25}.floating-note>span{font-size:35px}.floating-note>p{font:italic 24px/1.15 Georgia,serif!important;color:#ffedcf!important;text-align:center;margin:5px 0}.space{padding-top:110px}
@media(max-width:800px){.hero{min-height:750px}.hero-copy{padding-bottom:140px}.hero::after{height:60px}.photo-caption{bottom:105px}.crossing{grid-template-columns:1fr 1fr;padding:0 7% 50px;gap:20px}.bean-emblem{margin-top:-75px;max-width:185px}.bean-emblem span{font-size:34px}.bean-emblem small{font-size:6px;margin-top:12px}.crossing-photo{margin-top:-85px;grid-column:2;grid-row:1}.crossing-photo img{border-width:7px}.crossing-photo figcaption{font-size:15px;margin-top:15px}.crossing-copy{grid-column:1/-1;text-align:center;padding-top:12px}.crossing h2{font-size:38px}.crossing-copy .eyebrow{font-size:9px}.crossing-copy>p:last-child{font-size:15px}.menu-section{padding-top:30px}.story-art{transform:translateY(-45px) rotate(-3deg);margin-bottom:-45px}.story{margin-top:25px}.immersive{min-height:700px}.immersive-backdrop{background-position:63% center;background-image:linear-gradient(90deg,#111812e8,#11181280),url('assets/hero.jpg')}.seasonal>.immersive-copy{padding:110px 7% 125px}.immersive h2{font-size:49px}.floating-note{width:130px;height:130px;right:7%;bottom:-35px}.floating-note>span{font-size:23px}.floating-note>p{font-size:18px!important}.space{padding-top:105px}}
.hero-photo .rotating-seal{width:160px;height:160px;background:none;outline:none;transform:none;padding:0}.rotating-seal svg{width:100%;height:100%;animation:seal-turn 36s linear infinite}.round-seal .seal-center{position:absolute;color:#a95d3b;font:bold 28px Georgia,serif;text-align:center;line-height:1}.seal-center small{display:block;font-size:22px;margin-top:6px}.rotating-seal:hover svg{animation-play-state:paused}@keyframes seal-turn{to{transform:rotate(360deg)}}@media(max-width:800px){.hero-photo .rotating-seal{display:block;right:7%;top:22px;width:94px;height:94px}.round-seal .seal-center{font-size:18px;inset:32px 0 auto}.seal-center small{font-size:14px;margin-top:3px}.hero-copy{padding-top:135px}}@media(prefers-reduced-motion:reduce){.rotating-seal svg{animation:none}}
.hero-photo .sip-seal{animation:seal-turn 36s linear infinite;transform:none}.sip-seal:hover{animation-play-state:paused}@media(max-width:800px){.hero-photo .sip-seal{display:flex;right:7%;top:22px;width:94px;height:94px;font-size:8px;outline-offset:4px}.sip-seal span{font-size:25px}}@media(prefers-reduced-motion:reduce){.hero-photo .sip-seal{animation:none}}

.coffee-mark{display:block;width:43px;height:52px;flex-shrink:0}.coffee-mark svg{display:block;width:100%;height:100%}@media(max-width:800px){.coffee-mark{width:32px;height:40px}}

.bean-ribbon svg{flex-shrink:0;width:20px;height:25px}.bean-ribbon{padding:20px 5%}.crossing{padding-bottom:60px}
/* Lightweight photographic bean sprites; never intercept input. */
.bean-shower{position:fixed;inset:0;pointer-events:none;z-index:8;overflow:hidden;contain:strict}.falling-bean{position:absolute;top:-70px;width:var(--bean-size);height:auto;will-change:transform;filter:drop-shadow(1px 3px 2px #27160936);pointer-events:none}.floating-note{animation:seal-turn 40s linear infinite}.floating-note:hover{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.bean-shower{display:none}.floating-note{animation:none}}
.falling-bean{filter:drop-shadow(1px 3px 2px #27160955);image-rendering:auto}
.bean-icon{width:.9em;height:1.1em;display:inline-block;vertical-align:middle;fill:currentColor}.sun .bean-icon{width:32px;height:39px}.sip-seal .bean-icon{width:25px;height:30px}.floating-note .bean-icon{width:28px;height:35px}footer .brand-icon .bean-icon{width:40px;height:48px}

/* Rounded controls across desktop and mobile. */
.button,.hero .button,.nav-cta,.menu-tabs button,.nav-toggle{border-radius:12px}

/* Always-available, same-tab return to the demo portfolio. */
.design-co-return{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:40;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:11px 16px;font-size:12px;line-height:1.4;letter-spacing:.01em;text-decoration:none;box-shadow:0 4px 20px #0003;background:#f7e9ce;color:#382e23;border:1px solid #b96737;border-radius:999px;font-family:Arial,sans-serif;}.design-co-return:hover{background:#b96737;color:#fff8ea;}.design-co-return:focus-visible{outline:3px solid currentColor;outline-offset:4px}body>footer,main>footer{padding-bottom:90px}@media(max-width:600px){.design-co-return{font-size:11px;padding:10px 13px;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}}
