/* Café / warm food palette, contemporary sysAGS typography and composition. */
:root {
  --paper:#fff7eb;--ink:#2b1b17;--muted:#69574f;--rust:#6b2637;
  --line:#e4d7c6;--sage:#f2e5cd;--green:#2b1b17;--stone:#f2d58a;
  --serif:'Space Grotesk',sans-serif;--sans:'Manrope',sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
body{font-size:16px;line-height:1.6}
em{font-style:normal}
.wrap{width:min(1280px,calc(100% - 80px))}
.demo-strip{background:var(--paper);color:var(--muted);font-size:12px;letter-spacing:0;border-bottom:1px solid var(--line)}
.site-header{min-height:100px}
.brand-sun{stroke:var(--rust)}
.wordmark>span{font-size:29px;font-weight:700;letter-spacing:-1.4px}
.wordmark small{font-size:10px;letter-spacing:2px}
.site-header nav{font-size:14px;gap:28px;font-weight:600}
.site-header nav a{position:relative}
.site-header nav a::after{content:'';position:absolute;bottom:8px;left:0;width:100%;height:2px;background:var(--rust);transform:scaleX(0);transform-origin:left;transition:transform 220ms var(--ease)}
.site-header nav a:hover::after,.site-header nav a:focus-visible::after{transform:scaleX(1)}
.header-cta{font-size:14px;border-color:var(--line);background:#fff;min-height:48px}
.hero{grid-template-columns:.9fr 1.1fr;gap:48px;padding-block:80px 95px}
.eyebrow{font-size:12px;letter-spacing:.1em;font-weight:700}
h1{font-family:var(--serif);font-size:clamp(48px,5.6vw,78px);font-weight:600;line-height:1.06;letter-spacing:-.065em}
h1 em,h2 em,.pairing h3 em{color:var(--rust)}
.hero-description{font-size:17px;line-height:1.7;max-width:380px}
.button{min-height:52px;font-size:15px;font-weight:700;border-radius:16px;padding:15px 24px}
.button-rust{color:#fff}
.button-rust:hover{background:#4e1b28}
.button,.header-cta,.film-control{transition:background-color 200ms ease,transform 220ms var(--ease),box-shadow 220ms ease}
.button span,.text-link span,.item-detail span{transition:transform 220ms var(--ease)}
.button:hover span,.text-link:hover span,.item-detail:hover span{transform:translate(3px,-3px)}
.button:active,.header-cta:active{transform:scale(.98)}
.hero-footnote{font-size:13px;letter-spacing:0}
.hero-visual{perspective:1000px;isolation:isolate;margin:0}
.hero-visual::before{content:'';position:absolute;z-index:-1;inset:-30px -15px 35px 40px;background:radial-gradient(ellipse at center,#d8b7ac70,transparent 70%);border-radius:50%;pointer-events:none}
.film-frame{border-radius:28px;background:var(--stone);box-shadow:0 30px 65px #101b3220;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform 450ms var(--ease);will-change:auto}
.film-poster,.hero-video{object-fit:contain}
.film-shade{inset:65% 0 0;background:linear-gradient(transparent,#101b3299)}
.film-label{font-size:11px;letter-spacing:.09em;left:22px;bottom:25px}
.film-control{font-size:12px;min-height:44px;bottom:14px;background:#101b32c9;backdrop-filter:none}
.film-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;background:#eee2dc;transform:scaleX(var(--film-progress,0));transform-origin:left;pointer-events:none}
.visual-caption{font:500 14px/1.5 var(--sans);padding:22px 0;color:var(--muted);border:0}
.round-stamp{right:26px;bottom:-43px;width:100px;height:100px;border-color:var(--line);color:var(--ink);transform:rotate(8deg);box-shadow:0 10px 30px #101b320a;gap:8px}
.round-stamp span{font-size:9px;letter-spacing:.06em}
.round-stamp svg{stroke:var(--rust)}
.ritual-strip{font-size:13px;letter-spacing:0;padding-block:24px}
.strip-flower{color:var(--stone)}
.menu-section{padding-block:90px}
h2{font-size:clamp(34px,4vw,54px);font-weight:600;line-height:1.12;letter-spacing:-.05em}
.section-heading>p{font-size:16px;line-height:1.65}
.muted{font-size:13px}
.menu-layout{grid-template-columns:300px 1fr;gap:40px}
.pairing{background:var(--sage);border-radius:24px;overflow:hidden}
.pairing-photo{aspect-ratio:864/496}
.pairing-photo img{object-fit:contain}
.pairing-tag{font-size:10px;letter-spacing:.07em;border-radius:7px}
.pairing-copy{padding:25px}
.pairing-copy .eyebrow{font-size:11px}
.pairing h3{font-size:33px;font-weight:600;line-height:1.1;letter-spacing:-.05em}
.pairing-copy>p:not(.eyebrow){font-size:15px;line-height:1.7;color:var(--muted)}
.pairing-bottom{font-size:17px;font-weight:700;border-color:#c8b4ab}
.pairing-copy>small{font-size:12px;color:var(--muted)}
.little-arrow{display:none}
.menu-filters{gap:8px;padding-bottom:20px;margin-bottom:16px}
.menu-filters button{font-size:14px;min-height:46px;padding:10px 17px;border:1px solid var(--line);background:transparent;color:var(--ink);transition:color 180ms ease,background-color 180ms ease,border-color 180ms ease}
.menu-filters button[aria-pressed=true]{background:var(--rust);border-color:var(--rust);color:#fff}
.menu-filters button span{font-size:12px}
.menu-grid{gap:16px}
.menu-item{background:#fff;border:1px solid #e5dfd8;border-radius:20px;padding:23px;transition:transform 220ms var(--ease),border-color 220ms ease,box-shadow 220ms ease}
.item-top{font-size:10px;letter-spacing:.05em;gap:8px;margin-bottom:16px}
.item-size{font-size:12px;letter-spacing:0}
.menu-item h3{font-size:22px;font-weight:600;line-height:1.2;letter-spacing:-.04em}
.item-price{font:700 19px/1.3 var(--sans)}
.item-description{font-size:15px;line-height:1.65;max-width:none;min-height:75px}
.item-detail{font-size:13px;min-height:44px;font-weight:700}
.menu-note{font-size:13px;line-height:1.7;max-width:none}
.essence{background:var(--ink);padding-block:80px}
.essence .eyebrow{color:#d8b7ac}
.essence h2{font-size:clamp(40px,5.6vw,76px);line-height:1.1;letter-spacing:-.055em}
.essence h2 em{color:var(--stone)}
.essence-bottom p{font-size:16px;color:#eee2dc}
.essence-signature{font:500 24px/1.3 var(--serif);color:var(--stone)}
.visit-section{padding-block:90px;gap:60px}
.visit-description{font-size:16px}
.text-link{font-size:14px}
.visit-info dt{font-size:12px;letter-spacing:.05em}
.visit-info dd{font-size:16px}
.visit-info dd small{font-size:13px}
.footer-brand{font-weight:700;font-size:28px}
.footer-brand span{font-size:10px;letter-spacing:2px}
.site-footer p{font-size:13px}
.demo-label{font-size:11px;letter-spacing:.04em}
dialog{border-radius:24px;padding:40px;width:min(500px,calc(100% - 32px))}
dialog::backdrop{background:#101b3280;backdrop-filter:blur(6px)}
dialog h2{font-size:36px}
#dialog-description{font-size:16px}
.dialog-price-row{font-size:15px}
.dialog-price-row strong{font:700 26px var(--sans)}
.dialog-note{font-size:13px}
.dialog-close{width:44px;height:44px}
button:focus-visible,a:focus-visible{outline:3px solid var(--rust);outline-offset:4px}
.menu-item:focus-within{border-color:var(--rust)}
@media(hover:hover) and (pointer:fine){
 .button:hover,.header-cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px #6b263720}
 .menu-item:hover{transform:translateY(-3px);border-color:#c78342;box-shadow:0 12px 28px #2b1b170b}
}
@media(max-width:1100px){
 .hero{gap:32px}.menu-layout{grid-template-columns:250px 1fr;gap:24px}
 .menu-item{padding:18px}.menu-item h3{font-size:20px}.menu-grid{gap:12px}
 .item-top{flex-wrap:wrap}.item-description{min-height:100px}
 .film-label{display:none}
}
@media(max-width:800px){
 .wrap{width:calc(100% - 48px)}.header-cta{display:none}
 .site-header nav{gap:18px;font-size:13px}
 .hero{grid-template-columns:1fr;padding-block:48px 74px;gap:36px}
 h1{font-size:clamp(46px,8.5vw,68px);max-width:680px}
 .hero-description{max-width:none;font-size:17px}
 .hero-visual{width:100%;max-width:650px;justify-self:center}
 .film-label{display:block}.round-stamp{bottom:-38px}
 .menu-layout{grid-template-columns:1fr}
 .menu-content{order:1}.pairing{order:2;display:grid;grid-template-columns:1fr 1fr}
 .pairing-photo{min-height:0;align-self:center}.pairing h3 br{display:none}
 .item-description{min-height:75px}
 .essence-bottom{grid-template-columns:50px 1fr;gap:24px}
 .essence-signature{grid-column:2;justify-self:start}
 .visit-section{grid-template-columns:1fr;gap:24px}
}
@media(max-width:560px){
 .wrap{width:calc(100% - 36px)}.demo-strip{font-size:10px;flex-wrap:wrap;gap:0 5px}
 .site-header{min-height:86px}.wordmark>span{font-size:25px}.wordmark small{font-size:9px}
 .site-header nav{gap:12px}.site-header nav a{font-size:12px;padding:14px 0}
 .hero{padding-block:38px 65px;gap:32px}
 .hero-copy .eyebrow{font-size:11px;letter-spacing:.08em;margin-bottom:18px}
 h1{font-size:clamp(40px,10.8vw,58px);letter-spacing:-.06em;line-height:1.08}
 .hero .button{font-size:15px;min-height:52px}.hero-footnote{font-size:12px;margin-top:22px}
 .film-frame{border-radius:20px}.film-label{display:none}
 .film-control{font-size:11px;bottom:10px;right:10px}
 .visual-caption{font-size:12px;max-width:65%;padding-top:16px}
 .round-stamp{width:85px;height:85px;right:15px;bottom:-29px;gap:5px}
 .round-stamp span{font-size:8px}.round-stamp svg{width:28px;height:28px}
 .ritual-strip{font-size:12px;line-height:1.6}
 .menu-section{padding-block:58px}.section-heading h2{font-size:36px}
 .section-heading>p{font-size:15px}.section-heading .muted{display:block;font-size:12px;margin-left:0}
 .menu-filters{gap:6px;flex-wrap:wrap}
 .menu-filters button{font-size:13px;padding:10px 13px}
 .menu-grid{grid-template-columns:1fr}.menu-item{padding:22px}
 .menu-item h3{font-size:23px}.item-description{min-height:0;font-size:16px;max-width:none}
 .item-price{font-size:20px}.item-top{font-size:11px}.item-size{font-size:12px}
 .item-detail{font-size:14px}.menu-note{font-size:13px}
 .pairing{grid-template-columns:1fr}.pairing-copy>small{font-size:12px}
 .pairing-copy>p:not(.eyebrow){font-size:16px;max-width:none}
 .pairing-copy .eyebrow{font-size:11px}.pairing-bottom{font-size:18px}
 .essence{padding-block:55px}.essence .eyebrow{font-size:12px}
 .essence h2{font-size:clamp(35px,9vw,48px)}
 .essence-bottom p{font-size:16px}.essence-signature{font-size:22px}
 .visit-section{padding-block:58px}.visit-section h2{font-size:36px}
 .visit-description{font-size:16px}.visit-info dt{font-size:12px}
 .visit-info dd{font-size:16px}.visit-info dd small{font-size:13px}
 .site-footer p{font-size:12px}.demo-label{font-size:10px}
 dialog{padding:38px 24px 24px}dialog h2{font-size:32px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .film-frame,.button:hover,.button:active,.header-cta:hover,.menu-item:hover,.button:hover span,.text-link:hover span,.item-detail:hover span{transform:none}
 *,*::before,*::after{animation:none!important;transition:none!important}
}

/* A self-contained illustrated still life; no video or rendering dependencies. */
.hero.wrap{width:min(1440px,calc(100% - 32px));padding:56px clamp(28px,5.6vw,90px) 34px;margin-top:18px;margin-bottom:38px;gap:18px;grid-template-columns:.95fr 1.05fr;background:radial-gradient(ellipse at 80% 30%,#503121 0%,transparent 55%),#2b1b17;border-radius:36px;color:var(--paper);overflow:hidden}
.hero-copy{position:relative;z-index:1}
.hero-copy .eyebrow{color:#e5bc83;font-size:11px;letter-spacing:.12em;margin-bottom:24px}
.tiny-sun{color:#f2d58a}
.hero h1{font-size:clamp(44px,5.1vw,76px);font-weight:600;letter-spacing:-.06em;line-height:1.08;color:var(--paper)}
.hero h1 em{color:#f2d58a;font-weight:500}
.hero-description{font-size:16px;color:#e5d1ba;line-height:1.75;margin-bottom:28px}
.hero .button-rust{background:#f2d58a;color:#2b1b17;border-radius:12px}
.hero .button-rust:hover{background:#ffe5a1;box-shadow:0 10px 30px #f2d58a18}
.hero-footnote{font-size:12px;color:#d8bea4;margin-top:26px}
.short-rule{background:#c78342}
.hero .button:focus-visible{outline-color:#fff7eb}
.ritual-visual{perspective:none;width:100%;min-width:0;max-width:none;align-self:center}
.ritual-visual::before{display:none}
.ritual-stage{position:relative;isolation:isolate;aspect-ratio:640/620}
.ritual-edition{position:absolute;top:2%;right:0;font-size:10px;letter-spacing:.18em;color:#bfa48b}
.ritual-art{width:100%;height:auto;display:block;overflow:visible;transform:translate(var(--pointer-x,0px),var(--pointer-y,0px));transition:transform 500ms var(--ease)}
.coffee-group,.pastry-group{transform-box:view-box;transition:transform 750ms var(--ease),opacity 400ms ease}
.coffee-group{transform-origin:270px 300px}
.pastry-group{transform-origin:435px 400px}
.scene-note{transition:opacity 300ms ease}
.ritual-stage[data-focus=coffee] .coffee-group{transform:translate(35px,25px) scale(1.12)}
.ritual-stage[data-focus=coffee] .pastry-group{transform:translate(48px,35px) scale(.86);opacity:.35}
.ritual-stage[data-focus=bread] .coffee-group{transform:translate(-40px,-25px) scale(.86);opacity:.35}
.ritual-stage[data-focus=bread] .pastry-group{transform:translate(-75px,-55px) scale(1.18)}
.ritual-stage:not([data-focus=together]) .scene-note{opacity:0}
.steam{opacity:.45}
.ritual-toolbar{position:absolute;left:3%;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:10px}
.ritual-focus{display:flex;gap:2px;background:#fff7eb08;padding:4px;border:1px solid #f2d58a26;border-radius:99px}
.ritual-focus button,#ritual-play{border:0;background:transparent;color:#dfcbb2;padding:9px 15px;border-radius:99px;min-height:44px;font:500 12px var(--sans);transition:color 180ms ease,background-color 180ms ease}
.ritual-focus button[aria-pressed=true]{background:#f2d58a;color:#2b1b17}
#ritual-play{padding-inline:10px;white-space:nowrap}
#ritual-play:hover{background:#fff7eb12}
.ritual-toolbar button:focus-visible{outline-color:#fff7eb;outline-offset:2px}
.ritual-caption{font-size:11px;color:#bfa48b;text-align:center;letter-spacing:.02em;margin:16px 0 0}
.ritual-strip{border-top:0}
.essence .eyebrow{color:var(--stone)}
.essence-bottom{border-color:#f2d58a33}
.essence-bottom p{color:#f0e0c9}
.essence-bottom svg{stroke:var(--stone)}
dialog::backdrop{background:#2b1b1790}
.pairing-copy>small{font-size:12px}
@media(max-width:1100px){
 .hero.wrap{padding:48px 38px 32px;gap:10px;grid-template-columns:1fr 1.1fr}
 .hero h1{font-size:clamp(42px,5.4vw,64px)}
 .hero-description{font-size:15px}
 .ritual-focus button{padding-inline:12px}
}
@media(max-width:800px){
 .hero.wrap{grid-template-columns:1fr;padding:38px 30px 22px;gap:0;margin-top:10px}
 .hero h1{font-size:clamp(43px,7.5vw,64px)}
 .hero-copy .eyebrow{margin-bottom:18px}
 .hero-footnote{display:none}
 .hero-description{font-size:16px}
 .ritual-visual{max-width:520px;justify-self:center;margin-top:10px}
 .ritual-stage{aspect-ratio:640/595}
 .ritual-caption{margin-top:14px}
}
@media(max-width:560px){
 .hero.wrap{width:calc(100% - 20px);padding:30px 22px 22px;border-radius:24px;margin-bottom:20px}
 .hero h1{font-size:clamp(39px,10.8vw,56px);margin-bottom:18px}
 .hero-copy .eyebrow{font-size:9px;letter-spacing:.075em;margin-bottom:18px}
 .hero-copy .tiny-sun{font-size:14px;margin-right:5px}
 .hero-description{font-size:15px;line-height:1.7;margin-bottom:22px}
 .hero .button{min-height:48px;padding:12px 20px;font-size:14px}
 .ritual-visual{margin-top:14px}
 .ritual-stage{aspect-ratio:640/650}
 .ritual-art{width:calc(100% + 20px);max-width:none;margin-left:-10px}
 .ritual-edition{display:none}
 .ritual-toolbar{left:-5px;right:-5px;gap:4px;bottom:0}
 .ritual-focus{padding:3px}
 .ritual-focus button{padding:8px 11px;font-size:11px}
 #ritual-play{font-size:11px;padding-inline:8px}
 .ritual-caption{font-size:10px;margin-top:15px}
}
@media(prefers-reduced-motion:reduce){
 .ritual-art,.ritual-stage .coffee-group,.ritual-stage .pastry-group{transform:none!important;transition:none!important}
}
