/* Original supplied font files. Weight ranges preserve their variable axes.
   Their incomplete character coverage is documented in REPORT.md. */
@font-face{font-family:"Cormorant Garamond";src:url("assets/fonts/cormorant-garamond-500.woff2") format("woff2");font-style:normal;font-weight:300 599;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("assets/fonts/cormorant-garamond-600.woff2") format("woff2");font-style:normal;font-weight:600 699;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("assets/fonts/cormorant-garamond-700.woff2") format("woff2");font-style:normal;font-weight:700 700;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("assets/fonts/cormorant-garamond-500i.woff2") format("woff2");font-style:italic;font-weight:300 599;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("assets/fonts/cormorant-garamond-600i.woff2") format("woff2");font-style:italic;font-weight:600 700;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url("assets/fonts/nunito-sans-400.woff2") format("woff2");font-style:normal;font-weight:200 599;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url("assets/fonts/nunito-sans-600.woff2") format("woff2");font-style:normal;font-weight:600 699;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url("assets/fonts/nunito-sans-700.woff2") format("woff2");font-style:normal;font-weight:700 799;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url("assets/fonts/nunito-sans-800.woff2") format("woff2");font-style:normal;font-weight:800 900;font-display:swap}
@font-face{font-family:"Patrick Hand";src:url("assets/fonts/patrick-hand-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
:root{--cream:#F7F1E3;--ceramic:#2F5D8A;--deep:#23486E;--teal:#56796B;--wood:#8A5A33;--candle:#B3402E;--gold:#D9A441;--ink:#2A2118;--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"Nunito Sans","Trebuchet MS",Arial,sans-serif;--hand:"Patrick Hand","Segoe Print","Bradley Hand",cursive;--header-height:88px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px)}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;background-image:radial-gradient(rgba(138,90,51,.055) .65px,transparent .65px);background-size:6px 6px}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--candle);outline-offset:6px}
img{display:block;width:100%;height:100%;object-fit:cover}
figure,p,h1,h2,h3,h4,blockquote{margin:0}
svg{display:inline-block;flex-shrink:0}
h1,h2{font-family:var(--serif);font-weight:600;color:var(--ceramic);letter-spacing:-.045em;line-height:1.06}
h2{font-size:clamp(42px,4.65vw,67px)}
em{font-family:var(--serif);font-weight:500}
.container{width:calc(100% - 112px);max-width:1240px;margin-inline:auto}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:800;letter-spacing:.19em;line-height:1.4;color:var(--teal);margin-bottom:23px}
.tiny-spoon{width:11px;height:25px;color:var(--wood)}
.sr-only,.svg-library{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link{position:fixed;left:16px;top:10px;z-index:100;transform:translateY(-180%);background:var(--cream);padding:10px 20px;border:1px solid var(--ceramic)}
.skip-link:focus{transform:translateY(0)}
/* The complete, removable sample treatment lives under #sample-layer. */
#sample-layer .sample-strip{position:relative;text-align:center;padding:6px 16px;background:#e7e9de;color:var(--deep);font-size:10px;line-height:18px;letter-spacing:.055em;font-weight:700}
#sample-layer .sample-watermark{position:fixed;inset:0;pointer-events:none;z-index:50;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='440' height='320'%3E%3Ctext x='20' y='180' transform='rotate(-32 220 160)' fill='%2323486E' font-family='Georgia,serif' font-size='25' letter-spacing='6'%3EL%C5%BDI%C4%8CKA SAMPLE%3C/text%3E%3C/svg%3E");background-repeat:repeat;opacity:.045}
#sample-layer .sample-badge{position:fixed;right:18px;bottom:18px;z-index:80;pointer-events:none;padding:5px 13px;border:1px solid rgba(247,241,227,.65);background:var(--candle);color:var(--cream);border-radius:3px;font-size:10px;font-weight:800;letter-spacing:.08em;box-shadow:0 3px 10px #2a21181a;transform:rotate(-3deg)}
.site-header{position:sticky;top:0;z-index:70;background:rgba(247,241,227,.94)}
.site-header.is-scrolled{background:var(--cream);box-shadow:0 4px 18px rgba(42,33,24,.09)}
.header-inner{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;gap:13px;white-space:nowrap;color:var(--ceramic);font-family:var(--serif);font-size:31px;font-weight:600;letter-spacing:-.04em;line-height:1.1}
.brand-cafe{font-style:italic;font-weight:600}
.brand-spoon{width:17px;height:40px;transform:rotate(17deg)}
.main-nav{display:flex;align-items:center;gap:27px;font-size:11px;font-weight:700;white-space:nowrap}
.main-nav a{position:relative;padding:10px 0}
.main-nav a::after{position:absolute;bottom:3px;left:0;right:0;height:1px;background:var(--wood);content:"";transform:scaleX(0);transform-origin:left;transition:transform .2s}
.main-nav a:hover::after{transform:scaleX(1)}
.phone-button{display:flex;gap:9px;align-items:center;padding:10px 14px;border:1px solid rgba(47,93,138,.35);border-radius:4px;color:var(--ceramic);font-size:11px;font-weight:800;white-space:nowrap;transition:transform .2s}
.phone-button svg{width:15px;height:15px}
.phone-button:hover{transform:translateY(-2px);box-shadow:0 4px 10px #2f5d8a14}
.reading-progress{position:absolute;bottom:0;height:2px;left:0;right:0;background:rgba(138,90,51,.17)}
.progress-fill{position:absolute;inset:0;background:var(--ceramic);transform:scaleX(0);transform-origin:left;will-change:transform}
.progress-spoon{position:absolute;top:-5px;left:0;width:28px;height:12px;color:var(--ceramic);transform-origin:100% 50%;will-change:transform}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;min-height:670px;padding-block:48px 58px}
.hero-copy{position:relative;z-index:3;padding-block:8px}
.hero .eyebrow{margin-bottom:20px}
h1{font-size:clamp(66px,6.15vw,89px);line-height:1.01;margin-left:-4px;margin-bottom:25px}
.hero-description{max-width:460px;font-size:15px;line-height:1.85;color:#5a5046;margin-bottom:22px}
.status-pill{display:inline-flex;gap:8px;align-items:center;max-width:100%;border:1px solid rgba(86,121,107,.28);border-radius:50px;padding:7px 12px;color:#3d5b4e;font-size:10px;line-height:1.5;font-weight:700;background:rgba(86,121,107,.045)}
.status-dot{position:relative;display:block;width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--candle)}
.status-dot::after{position:absolute;inset:-4px;content:"";border:1px solid var(--candle);border-radius:50%;animation:status-breathe 2.4s ease-out infinite}
.status-pill[data-state="closed"] .status-dot,.status-pill[data-state="before-open"] .status-dot{background:var(--wood)}
.status-pill[data-state="closed"] .status-dot::after,.status-pill[data-state="before-open"] .status-dot::after{border-color:var(--wood)}
@keyframes status-breathe{0%{transform:scale(.5);opacity:.65}80%,100%{transform:scale(1.4);opacity:0}}
.rating-chips{display:flex;flex-wrap:wrap;gap:0;margin-block:19px 27px;color:#635849;font-size:10px;line-height:1.7}
.rating-chips>span{padding-inline:11px;border-right:1px solid rgba(138,90,51,.25);white-space:nowrap}
.rating-chips>span:first-child{padding-left:0}
.rating-chips>span:last-child{padding-right:0;border:0}
.star{color:var(--gold)}
.rating-chips .star{font-size:13px;margin-right:3px}
.hero-actions{display:flex;align-items:center;gap:25px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:15px 18px;border-radius:4px;font-size:11px;font-weight:700;line-height:1.5;transition:transform .2s}
.button svg{width:19px;height:19px}
.button-primary{color:var(--cream);background:var(--ceramic);box-shadow:0 3px 0 rgba(35,72,110,.13)}
.button:hover{transform:translateY(-2px);box-shadow:0 7px 16px rgba(35,72,110,.17)}
.text-link{display:inline-flex;gap:12px;align-items:center;font-size:11px;font-weight:700;border-bottom:1px solid rgba(138,90,51,.5);padding-block:5px}
.text-link:hover{color:var(--candle)}
.hero-visit-preview{display:flex;align-items:center;gap:11px;margin-top:25px;font-size:10px;line-height:1.8;color:#74634f}
.hero-visit-preview .tiny-spoon{width:9px;height:26px}
.hero-visit-preview a{display:block;color:var(--wood)}
.hero-visit-preview span{display:block;font-size:9px}
.hero-photos{position:relative;height:540px;min-width:0}
.photo{position:relative;background:var(--cream);padding:6px;border:1px solid rgba(138,90,51,.35);box-shadow:0 8px 20px rgba(42,33,24,.12)}
.hero-main{position:absolute;left:17%;top:27px;width:65%;height:480px;padding:5px;background:var(--wood);border:1px solid var(--wood);border-radius:170px 170px 8px 8px;transform:rotate(2deg);box-shadow:0 12px 25px rgba(69,45,27,.16)}
.hero-main img{border-radius:164px 164px 4px 4px;object-position:center center}
.hero-case{position:absolute;bottom:0;left:-3%;width:47%;height:190px;transform:rotate(-5deg);z-index:3}
.hero-cake{position:absolute;right:-2%;top:0;width:29%;height:211px;transform:rotate(7deg);z-index:2}
.hero-cake img{object-position:center}
.hand-tag{--tag-angle:-2deg;position:relative;display:inline-block;align-self:flex-end;max-width:100%;width:max-content;padding:4px 12px;color:var(--wood);background:var(--cream);border:1px solid rgba(138,90,51,.22);font-family:var(--hand);font-weight:400;font-size:18px;line-height:1.2;letter-spacing:.005em;white-space:nowrap;transform:rotate(var(--tag-angle));box-shadow:0 3px 6px #2a211814}
.hand-tag::before{position:absolute;content:"";left:42%;top:-5px;width:25px;height:9px;transform:rotate(-4deg);background:rgba(217,164,65,.27);border:1px solid rgba(247,241,227,.2)}
.photo .hand-tag{position:absolute;bottom:-15px;left:0;right:0;margin-inline:auto;transform:rotate(var(--tag-angle));z-index:2;font-size:18px}
.hero-cake .hand-tag{white-space:normal;text-align:center;--tag-angle:-4deg;font-size:16px;bottom:-12px;padding-inline:8px}
.hero-case .hand-tag{--tag-angle:2deg;left:20%;right:auto}
.hero-spoon-sketch{position:absolute;bottom:9px;right:9%;width:24px;height:80px;color:var(--wood);transform:rotate(29deg);opacity:.6}
.steam{position:absolute;left:64%;top:18%;pointer-events:none;width:40px;height:80px;transform:translate(-50%,-100%)}
.steam span{position:absolute;bottom:0;left:10px;width:17px;height:58px;border-left:2px solid rgba(247,241,227,.78);border-radius:50% 20% 50% 30%;opacity:0;animation:coffee-steam 3.2s ease-out infinite;will-change:transform,opacity}
.steam span:nth-child(2){left:26px;height:45px;animation-delay:1.6s}
@keyframes coffee-steam{0%{transform:translateY(8px) scaleX(.6);opacity:0}20%{opacity:.7}100%{transform:translateY(-47px) scaleX(1.7);opacity:0}}
.today-strip{display:flex;align-items:center;justify-content:center;gap:24px;padding:20px 28px;background:var(--teal);color:var(--cream);border-block:1px solid rgba(247,241,227,.25)}
.today-strip p{font-family:var(--hand);font-size:20px;line-height:1.4;text-align:center}
.today-strip svg{width:10px;height:30px;transform:rotate(55deg)}
.today-strip svg:last-child{transform:rotate(-125deg)}
.section-shell{width:calc(100% - 64px);max-width:1320px;margin-inline:auto}
.display-case{position:relative;isolation:isolate;overflow:hidden;padding:57px 56px 28px;margin-block:40px 0;background:var(--teal);background-image:linear-gradient(105deg,rgba(42,33,24,.12),transparent 55%,rgba(42,33,24,.1));color:var(--cream);border:1px solid rgba(138,90,51,.5);border-radius:14px;box-shadow:inset 0 0 0 7px rgba(42,33,24,.07),0 9px 20px rgba(42,33,24,.06)}
.case-light{position:absolute;left:7%;right:7%;top:0;height:35px;background:radial-gradient(ellipse at top,rgba(217,164,65,.43),transparent 70%);pointer-events:none;border-top:2px solid rgba(247,241,227,.55)}
.case-heading{display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:end;margin-bottom:40px}
.display-case .eyebrow{color:rgba(247,241,227,.69);margin-bottom:13px}
.display-case h2{color:var(--cream);font-size:clamp(42px,4.7vw,68px)}
.case-heading>p{max-width:380px;font-size:13px;line-height:1.9;color:rgba(247,241,227,.87);padding-bottom:4px}
.shelf+.shelf{margin-top:29px}
.shelf-title{display:flex;gap:17px;align-items:center;margin-bottom:17px;font-weight:500}
.shelf-number{font-size:9px;letter-spacing:.12em;color:rgba(247,241,227,.6);text-transform:uppercase;white-space:nowrap;font-family:var(--sans);font-weight:700}
.shelf-name{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.2;text-transform:lowercase;white-space:nowrap;letter-spacing:-.02em}
.glass-line{height:2px;flex-grow:1;background:linear-gradient(90deg,rgba(247,241,227,.4),rgba(247,241,227,.06));box-shadow:0 2px 0 rgba(42,33,24,.12)}
.sweet-shelf-content{display:grid;grid-template-columns:1fr 168px;gap:28px;align-items:center}
.menu-grid{display:grid;gap:18px 24px}
.sweet-grid,.drinks-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.counter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.menu-item{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:4px 0 10px;border-top:1px solid rgba(247,241,227,.13);transition:transform .2s;transform:translateY(0)}
.menu-item .hand-tag{margin-top:6px;margin-bottom:13px;font-size:16px;padding:3px 9px;--tag-angle:-2deg}
.menu-item:nth-child(4n+2) .hand-tag{--tag-angle:1.5deg}
.menu-item:nth-child(4n+3) .hand-tag{--tag-angle:-3deg}
.menu-item:nth-child(4n+4) .hand-tag{--tag-angle:2deg}
.menu-item h4{font-family:var(--sans);font-weight:800;font-size:15px;line-height:1.4;margin-bottom:7px}
.menu-item p{font-size:11px;line-height:1.75;color:rgba(247,241,227,.8);max-width:260px}
.menu-item:hover{transform:translateY(-2px);box-shadow:0 7px 12px rgba(42,33,24,.07)}
.shelf-photo{height:241px;transform:rotate(4deg);margin-top:7px;margin-right:3px}
.shelf-photo img{object-position:center top}
.shelf-photo .hand-tag{font-size:16px}
.shelf-rail{height:8px;margin-top:6px;background:linear-gradient(to bottom,rgba(247,241,227,.48),rgba(247,241,227,.16) 30%,rgba(42,33,24,.15) 50%,rgba(138,90,51,.42));border-radius:1px;box-shadow:0 6px 9px rgba(42,33,24,.17),0 -3px 16px rgba(217,164,65,.04)}
.case-note{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:27px;text-align:center;font-family:var(--hand);font-size:17px;color:rgba(247,241,227,.9);line-height:1.5}
.case-note .tiny-spoon{color:var(--cream);width:8px;height:24px;transform:rotate(35deg)}
/* Entrance motion is enabled only after observers have been installed. */
.motion-ready .menu-item{opacity:0;transform:translateY(14px)}
.motion-ready .menu-item.is-visible{animation:onto-shelf .55s both;animation-delay:var(--stagger,0ms)}
.motion-ready .menu-item .hand-tag{opacity:0}
.motion-ready .menu-item.is-visible .hand-tag{animation:tag-arrive .65s both;animation-delay:calc(var(--stagger,0ms) + 100ms)}
@keyframes onto-shelf{0%{opacity:0;transform:translateY(14px)}75%{opacity:1;transform:translateY(-1px)}100%{opacity:1;transform:translateY(0)}}
@keyframes tag-arrive{0%{opacity:0;transform:rotate(calc(var(--tag-angle) + 2.5deg))}45%{opacity:1;transform:rotate(calc(var(--tag-angle) - 1deg))}100%{opacity:1;transform:rotate(var(--tag-angle))}}
@keyframes tag-sway{0%,100%{transform:rotate(var(--tag-angle))}35%{transform:rotate(calc(var(--tag-angle) + 2.5deg))}70%{transform:rotate(calc(var(--tag-angle) - 1.5deg))}}
.motion-ready .menu-item.is-visible .hand-tag:hover{animation:tag-sway .3s ease-in-out both;opacity:1}
.motion-ready .photo .hand-tag{opacity:0}
.motion-ready .photo .hand-tag.is-visible{animation:photo-tag-arrive .65s both}
.motion-ready .photo .hand-tag.is-visible:hover{animation:photo-tag-sway .3s both;opacity:1}
@keyframes photo-tag-arrive{0%{opacity:0;transform:rotate(calc(var(--tag-angle) + 2.5deg))}45%{opacity:1;transform:rotate(calc(var(--tag-angle) - 1deg))}100%{opacity:1;transform:rotate(var(--tag-angle))}}
@keyframes photo-tag-sway{0%,100%{transform:rotate(var(--tag-angle))}35%{transform:rotate(calc(var(--tag-angle) + 2.5deg))}70%{transform:rotate(calc(var(--tag-angle) - 1.5deg))}}
.story{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;padding-block:107px 115px}
.story-copy h2{font-size:clamp(42px,4.5vw,64px);margin-bottom:27px}
.story-copy>p:not(.eyebrow){font-size:13px;line-height:1.95;color:#645748}
.story-copy>p+p{margin-top:17px}
.story-photos{position:relative;min-width:0;height:510px}
.story-piano{position:absolute;left:0;top:15px;width:91%;height:370px;transform:rotate(-3deg)}
.story-piano .hand-tag{left:12%;right:auto;bottom:-15px;--tag-angle:1deg}
.story-sofa{position:absolute;right:-2%;bottom:0;width:39%;height:253px;transform:rotate(5deg)}
.gallery{padding-block:52px 68px;background:rgba(86,121,107,.07);border-block:1px solid rgba(138,90,51,.12);overflow:hidden}
.gallery-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}
.gallery-heading .eyebrow{margin-bottom:15px}
.gallery-spoon{width:26px;height:76px;transform:rotate(40deg);color:var(--teal);margin-right:28px;opacity:.6}
.gallery-viewport{overflow-x:auto;overflow-y:hidden;padding-block:15px 28px;scrollbar-width:thin;scrollbar-color:rgba(138,90,51,.35) transparent}
.gallery-track{display:flex;width:max-content;gap:22px;padding-inline:max(56px,calc((100vw - 1240px)/2));will-change:transform}
.gallery-track .photo{width:clamp(210px,19.4vw,300px);height:318px;flex-shrink:0;padding:6px;box-shadow:0 6px 12px #2a21181a;transition:transform .25s}
.gallery-track .photo:nth-child(odd){transform:rotate(-1.3deg)}
.gallery-track .photo:nth-child(even){transform:rotate(1.5deg)}
.gallery-track .photo:hover{transform:translateY(-2px);box-shadow:0 10px 20px #2a211826}
.gallery-grid{display:grid;grid-template-columns:1.18fr 1fr .78fr;gap:26px;padding-top:32px}
.gallery-grid .photo{height:288px;box-shadow:0 5px 14px #2a211812;transition:transform .2s}
.gallery-grid .photo:hover{transform:translateY(-2px);box-shadow:0 8px 18px #2a211822}
.gallery-grid .photo:last-child img{object-position:center 57%}
.gallery-grid .photo:last-child .hand-tag{bottom:-12px;--tag-angle:-3deg}
.guest-book{padding-block:91px 93px}
.guest-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:43px;gap:24px}
.guest-heading .eyebrow{margin-bottom:16px}
.review-rating{color:var(--ceramic);text-align:center;padding-right:8px}
.rating-number{display:flex;align-items:center;justify-content:center;gap:13px;font-family:var(--serif);font-size:77px;line-height:1;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.rating-number .star{font-size:29px;letter-spacing:0}
.review-rating>p{font-size:10px;margin-top:7px;color:#74634f}
.review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px}
.review-card{position:relative;display:flex;flex-direction:column;padding:29px 23px 23px;min-width:0;background:#fbf6e9;border:1px solid rgba(138,90,51,.18);box-shadow:1px 4px 8px rgba(42,33,24,.055);transform:rotate(-1deg);transition:transform .2s}
.review-card::before{position:absolute;top:-8px;left:calc(50% - 23px);width:46px;height:16px;content:"";background:rgba(217,164,65,.15);transform:rotate(-4deg);border:1px solid rgba(138,90,51,.03)}
.review-card:nth-child(2){transform:rotate(1.2deg)}
.review-card:nth-child(3){transform:rotate(-.7deg)}
.review-card:nth-child(4){transform:rotate(1deg)}
.review-card:hover{transform:translateY(-2px);box-shadow:1px 8px 15px rgba(42,33,24,.1)}
.review-spoon{width:28px;height:15px;color:var(--wood);margin-bottom:16px;transform:rotate(65deg)}
.review-card blockquote{font-family:var(--serif);font-size:20px;line-height:1.55;letter-spacing:-.02em;flex:1;color:#514639}
.review-card figcaption{font-family:var(--hand);font-size:16px;color:var(--wood);margin-top:22px}
.visit{display:grid;grid-template-columns:1fr 1fr;gap:82px;padding-block:69px 90px;border-top:1px solid rgba(138,90,51,.2);align-items:stretch}
.visit h2{margin-bottom:24px}
.visit .eyebrow{margin-bottom:17px}
.hours-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:24px}
.hours-table tr{border-block:1px solid rgba(138,90,51,.2)}
.hours-table th,.hours-table td{padding:15px 11px;line-height:1.6}
.hours-table th{text-align:left;font-weight:700;white-space:nowrap}
.hours-table td{text-align:right;white-space:nowrap}
.hours-table .is-today{background:rgba(86,121,107,.09);color:#3d5b4e}
.today-label{font-size:7px;font-weight:800;letter-spacing:.08em;vertical-align:middle;color:var(--teal);margin-left:8px;border:1px solid rgba(86,121,107,.28);padding:3px 5px;border-radius:2px}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:21px 16px;margin-block:29px 23px}
.contact-details div{min-width:0}
.contact-details .address-row{grid-column:1/-1}
.contact-details dt{font-size:9px;font-weight:800;letter-spacing:.13em;color:var(--wood);margin-bottom:5px}
.contact-details dd{margin:0;font-size:13px;line-height:1.7}
.contact-details a:hover{color:var(--candle)}
.contact-details address{font-style:normal}
.contact-details div:nth-child(3){grid-column:2;grid-row:2}
.contact-details div:nth-child(4){grid-column:1/-1}
.reservation-note{font-size:11px;line-height:1.75;color:#7b654b;padding-top:17px;border-top:1px solid rgba(138,90,51,.19)}
.visit-map{position:relative;z-index:51;display:block;width:100%;height:100%;min-height:579px;align-self:stretch;border:1px solid rgba(138,90,51,.35);border-radius:5px;background:transparent}
.site-footer{background:var(--deep);color:var(--cream);padding-block:39px}
.footer-inner{display:flex;align-items:center;gap:44px}
.site-footer .brand{color:var(--cream);font-size:29px}
.site-footer .brand-spoon{width:15px;height:36px}
.footer-details{flex:1}
.footer-details p{font-size:11px;color:rgba(247,241,227,.85);line-height:1.8;margin-bottom:6px}
.footer-details small{font-size:9px;color:rgba(247,241,227,.55)}
.back-top{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(247,241,227,.3);border-radius:50%;font-size:20px;transition:transform .2s}
.back-top:hover{transform:translateY(-2px)}
@media(min-width:1600px){.hero{min-height:720px}.hero-photos{height:570px}.hero-main{height:510px}.hero-cake{height:230px}.hero-case{height:210px}}
@media(max-width:1199px){
 .container{width:calc(100% - 72px)}
 .header-inner{gap:17px}.main-nav{gap:18px;font-size:10px}.brand{font-size:28px}.phone-button{padding:9px 11px;font-size:10px}
 .hero{gap:22px;min-height:660px}.hero-photos{height:490px}.hero-main{height:430px;left:15%;width:68%}.hero-cake{height:184px;width:30%}.hero-case{height:170px;width:48%;bottom:5px}.hero-description{font-size:14px}.hero-actions{gap:17px}.button{padding:13px 15px;font-size:10px}.text-link{font-size:10px}
 .display-case{padding-inline:36px}.case-heading{gap:34px}.sweet-shelf-content{grid-template-columns:1fr 140px;gap:20px}.menu-grid{column-gap:20px}.menu-item h4{font-size:13px}.menu-item p{font-size:10px}.menu-item .hand-tag{font-size:14px}.shelf-photo{height:215px}
 .story{gap:52px;padding-block:85px}.story-photos{height:480px}.story-piano{height:330px}.story-sofa{height:224px;width:43%}
 .gallery-track{padding-inline:36px}.gallery-grid{gap:20px}.gallery-grid .photo{height:260px}
 .review-grid{gap:17px}.review-card{padding-inline:18px}.review-card blockquote{font-size:18px}.review-card figcaption{font-size:14px}
 .visit{gap:45px}.hours-table{font-size:11px}.hours-table th,.hours-table td{padding-inline:8px}.contact-details dd{font-size:11px}.today-label{margin-left:5px}
}
@media(max-width:900px){
 :root{--header-height:108px}.header-inner{height:108px;display:grid;grid-template-columns:1fr auto;grid-template-rows:65px 43px;gap:0}.brand{font-size:28px}.main-nav{grid-column:1/-1;grid-row:2;justify-content:center;gap:35px;font-size:11px;border-top:1px solid rgba(138,90,51,.11);height:43px}.phone-button{grid-column:2;grid-row:1;font-size:11px}.brand-spoon{height:34px;width:15px}
 .hero{gap:24px;min-height:640px;padding-block:37px 45px}.hero h1{font-size:62px}.hero-description{font-size:12px}.hero .eyebrow{font-size:8px;gap:8px}.hero-photos{height:425px}.hero-main{height:370px;left:11%;width:75%}.hero-cake{height:152px;width:33%;right:-4%}.hero-case{height:135px;width:57%;left:-3%;bottom:0}.hero-photos .hand-tag{font-size:13px;padding-inline:7px}.hero-spoon-sketch{height:55px;right:4%}.rating-chips{font-size:9px;gap:3px 0}.rating-chips>span{padding-inline:7px}.hero-actions{gap:17px;align-items:flex-start;flex-direction:column}.hero-actions .text-link{padding:0}.hero-visit-preview{font-size:9px}.hero-visit-preview span{font-size:8px}.status-pill{font-size:9px}
 .today-strip{gap:16px;padding:17px 25px}.today-strip p{font-size:17px}
 .section-shell{width:calc(100% - 40px)}.display-case{padding:43px 27px 24px;margin-top:25px}.case-heading{grid-template-columns:1fr;gap:18px;margin-bottom:34px}.case-heading>p{max-width:560px;font-size:12px}.sweet-shelf-content{grid-template-columns:1fr 135px;gap:22px}.sweet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.counter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-grid{gap:20px 25px}.menu-item h4{font-size:14px}.menu-item p{font-size:11px}.menu-item .hand-tag{font-size:15px}.shelf-photo{height:220px}.drinks-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shelf-name{font-size:22px}.shelf-number{font-size:8px}.case-note{font-size:15px}
 .story{gap:37px;padding-block:73px}.story-copy h2{font-size:43px}.story-copy>p:not(.eyebrow){font-size:11px;line-height:1.9}.story-copy>p+p{margin-top:13px}.story-photos{height:430px}.story-piano{height:280px;width:94%}.story-piano .hand-tag{font-size:15px;left:14%}.story-sofa{height:205px;width:52%;right:0}
 .gallery-grid{gap:18px}.gallery-grid .photo{height:210px}.gallery-track .photo{height:275px}.gallery{padding-block:45px 55px}
 .guest-book{padding-block:65px}.guest-heading{margin-bottom:35px}.rating-number{font-size:64px}.rating-number .star{font-size:23px}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px}.review-card{padding:26px}.review-card blockquote{font-size:21px}
 .visit{gap:33px;padding-block:53px 60px}.visit h2{font-size:44px}.visit .eyebrow{font-size:8px}.hours-table{font-size:10px}.hours-table th,.hours-table td{padding:14px 5px}.today-label{font-size:6px;padding:2px 3px;margin-left:3px}.contact-details{grid-template-columns:1fr;gap:17px}.contact-details div:nth-child(3){grid-column:auto;grid-row:auto}.contact-details div:nth-child(4){grid-column:auto}.contact-details dd{font-size:12px}.contact-details dt{font-size:8px}.visit-map{min-height:620px}
 .footer-inner{gap:25px}.footer-details p{font-size:9px}.footer-details small{font-size:8px}.site-footer .brand{font-size:26px}
}
@media(max-width:620px){
 .container{width:calc(100% - 40px)}
 #sample-layer .sample-strip{font-size:8px;letter-spacing:.015em;line-height:15px;padding:6px 10px}#sample-layer .sample-badge{right:11px;bottom:11px;font-size:9px;padding:4px 10px}
 .header-inner{width:calc(100% - 40px)}.brand{font-size:27px;gap:9px}.brand-spoon{width:13px;height:32px}.phone-button{font-size:10px;padding:8px 10px;gap:7px}.phone-button svg{width:13px;height:13px}.main-nav{gap:0;justify-content:space-between;font-size:10px}
 .hero{display:flex;flex-direction:column;gap:32px;padding-block:34px 41px;min-height:0;align-items:stretch}.hero-copy{padding:0}.hero .eyebrow{font-size:8px;letter-spacing:.16em;margin-bottom:18px}.hero .eyebrow .tiny-spoon{height:21px;width:9px}.hero h1{font-size:64px;line-height:1.04;margin-left:-2px;margin-bottom:20px;letter-spacing:-.05em}.hero-description{font-size:13px;line-height:1.8;max-width:420px;margin-bottom:20px}.status-pill{font-size:9px;padding:7px 11px}.rating-chips{font-size:9px;margin-block:17px 22px;gap:0}.rating-chips>span{padding-inline:8px}.rating-chips .star{font-size:11px;margin-right:1px}.hero-actions{flex-direction:row;gap:20px;align-items:center}.button{padding:13px 14px;gap:10px;font-size:10px}.button svg{width:17px;height:17px}.text-link{font-size:10px;gap:7px;white-space:nowrap}.hero-actions .text-link{padding-block:4px}.hero-visit-preview{margin-top:23px;gap:9px;font-size:9px;line-height:1.75}.hero-visit-preview span{font-size:8px;line-height:1.8;max-width:290px}.hero-visit-preview .tiny-spoon{width:8px;height:26px}
 .hero-photos{height:423px;width:100%;max-width:440px;align-self:center}.hero-main{left:13%;top:18px;width:69%;height:372px;border-radius:125px 125px 6px 6px}.hero-main img{border-radius:120px 120px 3px 3px}.hero-cake{right:0;top:0;width:30%;height:145px;transform:rotate(6deg)}.hero-case{left:0;bottom:0;width:49%;height:140px;transform:rotate(-5deg)}.hero-photos .hand-tag{font-size:13px}.hero-cake .hand-tag{font-size:11px;padding:4px 5px}.hero-case .hand-tag{left:20%}.hero-spoon-sketch{right:5%;bottom:4px;height:55px;width:18px}
 .today-strip{padding:18px 17px;gap:14px}.today-strip p{font-size:16px;line-height:1.65}.today-strip svg{width:8px;height:27px}
 .section-shell{width:calc(100% - 24px)}.display-case{padding:36px 20px 24px;border-radius:9px;margin-top:21px;box-shadow:inset 0 0 0 4px rgba(42,33,24,.07)}.case-heading{gap:17px;margin-bottom:29px}.display-case .eyebrow{font-size:8px;margin-bottom:13px}.display-case h2{font-size:42px;line-height:1.1;letter-spacing:-.045em}.case-heading>p{font-size:11px;line-height:1.9}.shelf-title{gap:11px;margin-bottom:17px}.shelf-number{font-size:7px;letter-spacing:.06em}.shelf-name{font-size:19px}.glass-line{min-width:10px}.sweet-shelf-content{display:block}.menu-grid{gap:20px 18px}.sweet-grid,.counter-grid,.drinks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-item{padding-bottom:11px}.menu-item h4{font-size:12px;line-height:1.5;margin-bottom:6px}.menu-item p{font-size:10px;line-height:1.75}.menu-item .hand-tag{font-size:12px;padding:3px 7px;margin-bottom:12px;max-width:100%;white-space:normal}.hand-tag::before{width:20px;left:40%;height:7px;top:-4px}.shelf-photo{width:139px;height:171px;margin:16px auto 30px;transform:rotate(3deg);padding:5px}.shelf-photo .hand-tag{font-size:14px}.shelf+.shelf{margin-top:29px}.shelf-rail{height:7px}.case-note{font-size:13px;line-height:1.7;margin-top:22px;gap:9px;align-items:flex-start}.case-note .tiny-spoon{margin-top:4px}
 .story{display:flex;flex-direction:column;gap:29px;padding-block:57px 65px}.eyebrow{font-size:8px;margin-bottom:18px}.story-copy h2{font-size:43px;line-height:1.08;margin-bottom:24px}.story-copy>p:not(.eyebrow){font-size:12px;line-height:1.95}.story-copy>p+p{margin-top:16px}.story-photos{height:370px;width:100%;max-width:440px}.story-piano{left:0;top:8px;width:90%;height:265px}.story-piano .hand-tag{font-size:16px;left:14%}.story-sofa{height:194px;width:40%;right:0;bottom:0;padding:5px}
 .gallery{padding-block:39px 44px}.gallery-heading{margin-bottom:20px}.gallery-heading h2{font-size:45px}.gallery-heading .eyebrow{font-size:8px;margin-bottom:14px}.gallery-spoon{width:19px;height:58px;margin-right:12px}.gallery-viewport{padding-block:14px 22px}.gallery-track{padding-inline:20px;gap:17px}.gallery-track .photo{width:211px;height:267px;padding:5px}.gallery-grid{grid-template-columns:1fr 1fr;gap:20px 17px;padding-top:18px}.gallery-grid .photo{height:215px;padding:5px}.gallery-grid .photo:first-child{grid-column:1/-1;height:242px}.gallery-grid .photo:last-child .hand-tag{font-size:15px}
 .guest-book{padding-block:52px 55px}.guest-heading{align-items:flex-start;gap:16px;margin-bottom:34px}.guest-heading h2{font-size:40px;max-width:220px}.guest-heading .eyebrow{font-size:7px;letter-spacing:.13em;margin-bottom:13px}.review-rating{padding:22px 0 0;flex-shrink:0;max-width:110px}.rating-number{font-size:52px;gap:7px}.rating-number .star{font-size:18px}.review-rating>p{font-size:8px;line-height:1.6;max-width:106px;margin-top:4px}.review-grid{gap:25px 17px}.review-card{padding:23px 16px 18px}.review-card blockquote{font-size:16px;line-height:1.55;letter-spacing:-.02em}.review-card figcaption{font-size:12px;line-height:1.5;margin-top:17px}.review-spoon{width:21px;height:12px;margin-bottom:11px}.review-card::before{height:13px;width:37px;left:calc(50% - 18px);top:-6px}
 .visit{display:flex;flex-direction:column;gap:29px;padding-block:45px 51px}.visit h2{font-size:46px;margin-bottom:20px}.visit .eyebrow{font-size:8px}.hours-table{font-size:11px;margin-top:22px}.hours-table th,.hours-table td{padding:15px 8px}.today-label{font-size:6px;padding:3px 4px;margin-left:6px}.contact-details{grid-template-columns:1fr 1fr;gap:20px 13px;margin-block:25px 23px}.contact-details dt{font-size:7px}.contact-details dd{font-size:11px}.contact-details div:nth-child(3){grid-column:2;grid-row:2}.contact-details div:nth-child(4){grid-column:1/-1}.reservation-note{font-size:10px}.visit-map{min-height:340px;height:340px}
 .site-footer{padding-block:29px 37px}.footer-inner{flex-wrap:wrap;gap:23px;position:relative}.site-footer .brand{font-size:28px}.footer-details{flex-basis:100%}.footer-details p{font-size:9px;max-width:310px;line-height:1.9}.footer-details small{display:block;font-size:8px;line-height:1.9;max-width:290px}.back-top{position:absolute;right:0;top:4px;width:30px;height:30px}
}
@media(max-width:359px){.brand{font-size:24px}.shelf-name{font-size:17px}.shelf-title{gap:8px}.hero h1{font-size:57px}.hero-actions{gap:12px}.button{padding-inline:10px;font-size:9px}.rating-chips{font-size:8px}.rating-chips>span{padding-inline:6px}.hero-photos{height:385px}.hero-main{height:340px}.hero-cake{height:132px}.hero-case{height:126px}.review-grid{grid-template-columns:1fr}.review-card blockquote{font-size:20px}.review-card figcaption{font-size:15px}.contact-details{grid-template-columns:1fr}.contact-details div:nth-child(3){grid-column:auto;grid-row:auto}.hours-table{font-size:10px}}
