:root{
  --cream:#f4ead7; --paper:#fff9ed; --cocoa:#3a2117; --caramel:#a66a3f; --cherry:#a42e27;
  --olive:#56603c; --butter:#e6c56f; --ink:#2b1b16; --line:rgba(58,33,23,.22);
  --display:"Bodoni 72",Didot,"Iowan Old Style","Times New Roman",serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);overflow-x:hidden}.page-grain{position:fixed;inset:0;pointer-events:none;opacity:.042;z-index:99;background-image:url("assets/editorial-collage.png");background-size:1050px auto;background-position:center top;mix-blend-mode:multiply;filter:grayscale(.35) saturate(.72) contrast(.82)}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}.site-header{height:88px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(22px,4vw,72px);position:absolute;top:0;left:0;right:0;z-index:20;color:var(--paper)}.wordmark{display:inline-flex;flex-direction:column;justify-self:start}.wordmark-main{font:500 28px/1 var(--display);letter-spacing:-.04em}.wordmark-sub{margin-top:6px;font-size:9px;letter-spacing:.2em;text-transform:uppercase}.desktop-nav{display:flex;gap:34px;font-size:13px}.desktop-nav a,.header-cta{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:currentColor;transition:.35s}.desktop-nav a:hover:after{right:0}.header-cta{justify-self:end;padding:12px 17px;border:1px solid rgba(255,249,237,.45);border-radius:99px;font-size:12px;backdrop-filter:blur(8px)}.menu-toggle{display:none;background:none;border:0;padding:12px}.menu-toggle span{display:block;width:22px;height:1px;background:var(--paper);margin:5px}.mobile-menu{position:fixed;inset:0;z-index:18;background:var(--cocoa);color:var(--paper);padding:130px 24px 30px;font:500 12vw/1.15 var(--display)}.mobile-menu a{display:block;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.hero{min-height:100svh;background:var(--cocoa);color:var(--paper);position:relative;display:grid;grid-template-columns:.88fr 1.12fr;padding:150px clamp(22px,5.5vw,88px) 110px;isolation:isolate;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,rgba(166,106,63,.36),transparent 33%),radial-gradient(circle at 14% 90%,rgba(86,96,60,.25),transparent 27%);z-index:-2}.hero-copy{align-self:center;max-width:650px;z-index:2}.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;margin:0 0 22px}.hero h1,.counter-head h2,.moment-copy h2,.place-copy h2{font:500 clamp(58px,7vw,118px)/.85 var(--display);letter-spacing:-.055em;margin:0}.hero h1 em,.counter-head h2 em,.moment-copy h2 em,.place-copy h2 em{font-weight:400;color:var(--butter)}.hero-intro{font:400 clamp(16px,1.35vw,21px)/1.55 var(--sans);max-width:560px;margin:34px 0 32px;color:rgba(255,249,237,.78)}.hero-actions,.place-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;font-size:13px;font-weight:700;transition:transform .32s cubic-bezier(.2,.8,.2,1),background .32s ease,box-shadow .32s ease}.btn:hover{transform:translateY(-3px) scale(1.015)}.btn:active{transform:translateY(0) scale(.975)}.btn-solid:hover{box-shadow:0 10px 28px rgba(164,46,39,.24)}.btn-solid{background:var(--cherry);color:#fff}.btn-text{padding-left:8px;padding-right:8px}.btn-text span{margin-left:10px}.hero-stage{position:relative;min-height:650px;align-self:center}.hero-sun{position:absolute;width:min(42vw,620px);aspect-ratio:1;border-radius:50%;background:var(--butter);right:-12%;top:3%;opacity:.96}.real-photo-card{position:absolute;will-change:transform;width:min(37vw,570px);height:min(65vh,670px);right:5%;top:50%;transform:translateY(-45%) rotate(3deg);border:12px solid var(--paper);background:var(--paper);margin:0;box-shadow:0 28px 80px rgba(0,0,0,.32);overflow:hidden}.real-photo-card img{width:100%;height:calc(100% - 46px);object-fit:cover}.real-photo-card figcaption{height:46px;color:var(--cocoa);font:italic 14px/46px var(--display);padding:0 14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-note{position:absolute;will-change:transform;background:var(--paper);color:var(--ink);padding:17px 20px;z-index:3;box-shadow:0 15px 40px rgba(0,0,0,.18);transform:rotate(-5deg);min-width:160px}.hero-note strong{font:500 26px/1 var(--display);display:block}.hero-note span{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.note-one{left:1%;top:22%}.note-two{right:-4%;bottom:16%;transform:rotate(7deg);background:var(--olive);color:var(--paper)}.hero-stamp{position:absolute;left:10%;bottom:11%;width:112px;height:112px;border:1px solid rgba(255,249,237,.7);border-radius:50%;display:grid;place-content:center;text-align:center;font-size:10px;letter-spacing:.15em;transform:rotate(-9deg)}.hero-stamp span{font:500 32px/1 var(--display);letter-spacing:0}.hero-ticker{position:absolute;left:0;bottom:0;width:100%;height:54px;background:var(--paper);color:var(--cocoa);overflow:hidden;border-top:1px solid rgba(255,255,255,.15)}.ticker-track{height:100%;display:flex;align-items:center;gap:24px;white-space:nowrap;min-width:max-content;animation:ticker 28s linear infinite;font-size:11px;letter-spacing:.16em;font-weight:800}.ticker-track i{font-style:normal;color:var(--cherry)}@keyframes ticker{to{transform:translateX(-50%)}}
.counter-section{padding:120px 0 130px;background:var(--paper);overflow:hidden}.counter-head{padding:0 clamp(22px,6vw,94px) 58px;display:grid;grid-template-columns:.5fr 1.5fr;align-items:start}.counter-head h2{font-size:clamp(54px,6.3vw,96px);grid-column:2}.counter-head h2 em{color:var(--cherry)}.counter-head .eyebrow{grid-column:1;margin-top:10px}.counter-rail{display:grid;grid-template-columns:1.18fr .82fr 1fr;gap:18px;padding:0 clamp(22px,3vw,46px)}.treat{min-height:590px;transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s ease,border-color .4s ease;border:1px solid var(--line);display:flex;position:relative;overflow:hidden;background:var(--cream)}.treat-wide{flex-direction:column}.treat-tall{flex-direction:column;background:var(--olive);color:var(--paper)}.treat-square{flex-direction:column-reverse;background:#e9cf9e}.treat-photo{background-size:cover;background-position:center;min-height:320px;flex:1;transition:transform .9s cubic-bezier(.2,.8,.2,1),background-size .9s cubic-bezier(.2,.8,.2,1)}.treat-waffle{background-image:url("assets/waffle-crop.jpg")}.treat-gelato{background-image:url("assets/gelato-crop.jpg")}.real-treat{position:relative;overflow:hidden}.real-treat img{width:100%;height:100%;min-height:340px;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}.source-chip{position:absolute;left:14px;bottom:14px;background:rgba(255,249,237,.92);color:var(--ink);padding:8px 10px;border-radius:99px;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.treat-copy{padding:28px 30px 34px;position:relative}.treat-index{position:absolute;right:24px;top:27px;font:500 13px/1 var(--display);opacity:.65}.treat h3{font:500 clamp(40px,3.8vw,64px)/.88 var(--display);letter-spacing:-.045em;margin:0 0 18px}.treat p{max-width:420px;font-size:14px;line-height:1.55;margin:0;opacity:.78}.treat small{display:block;font-size:9px;letter-spacing:.07em;text-transform:uppercase;opacity:.58;margin-top:18px}
.moment{display:grid;grid-template-columns:1.05fr .95fr;min-height:820px;background:var(--cream)}.moment-art{position:relative;overflow:hidden}.moment-art>img{width:100%;height:106%;object-fit:cover;object-position:center;transform:translate3d(0,var(--art-shift,0px),0) scale(1.035);transition:transform .18s linear;will-change:transform}.moment-window{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-4deg);background:var(--cocoa);color:var(--paper);width:230px;height:170px;display:grid;place-content:center;text-align:center;box-shadow:14px 16px 0 rgba(255,249,237,.8)}.moment-window span{text-transform:uppercase;letter-spacing:.18em;font-size:10px}.moment-window strong{font:500 60px/1 var(--display)}.moment-copy{padding:clamp(68px,9vw,150px) clamp(28px,7vw,112px);display:flex;flex-direction:column;justify-content:center}.moment-copy h2,.place-copy h2{font-size:clamp(52px,5.6vw,88px)}.moment-copy h2 em,.place-copy h2 em{color:var(--cherry)}.moment-copy>p:not(.eyebrow){font-size:17px;line-height:1.6;max-width:620px;margin:35px 0 42px}.moment-lines{border-top:1px solid var(--line)}.moment-lines div{display:grid;grid-template-columns:70px 1fr;align-items:center;border-bottom:1px solid var(--line);min-height:74px}.moment-lines span{font:500 14px/1 var(--display);opacity:.55}.moment-lines p{font-size:14px}
.quote-band{background:var(--cherry);color:#fff;padding:58px 0 56px;overflow:hidden}.quote-band>.eyebrow,.quote-source{padding:0 clamp(22px,5vw,80px)}.quote-scroll{overflow:hidden}.quote-track{display:flex;align-items:center;gap:34px;min-width:max-content;white-space:nowrap;font:500 clamp(34px,5vw,76px)/1 var(--display);animation:ticker 45s linear infinite;padding:10px 0 18px}.quote-track i{font-style:normal;color:var(--butter);font-size:.55em}.quote-source{font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.65;margin:16px 0 0}
.place-section{display:grid;grid-template-columns:1fr .82fr;gap:0;background:var(--paper);padding:clamp(72px,9vw,150px) clamp(22px,6vw,96px)}.place-copy{padding-right:clamp(0px,5vw,80px);align-self:center}.address-block{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:38px 0 28px;padding:24px 0;display:flex;justify-content:space-between;align-items:end;gap:25px}.address-block p{font:500 24px/1.25 var(--display);margin:0}.address-block a{font-size:13px;font-weight:700}.place-actions .btn-text{color:var(--cherry)}.hours-note{font-size:11px;line-height:1.55;opacity:.62;max-width:560px;margin-top:26px}.place-poster{min-height:650px;background:var(--olive);color:var(--paper);padding:28px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.poster-top,.poster-footer{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;z-index:2}.poster-title{font:500 clamp(90px,10vw,160px)/.72 var(--display);letter-spacing:-.08em;z-index:2}.poster-cut{position:absolute;transition:transform .65s cubic-bezier(.2,.8,.2,1);background-size:cover;background-position:center;border:7px solid var(--paper);box-shadow:0 18px 45px rgba(0,0,0,.22)}.poster-cut-a{width:230px;height:275px;right:-24px;top:120px;background-image:url("assets/coffee-crop.jpg");transform:rotate(7deg)}.poster-cut-b{width:240px;height:180px;left:35px;bottom:62px;background-image:url("assets/cream-crop.jpg");transform:rotate(-8deg)}
.site-footer{background:var(--cocoa);color:var(--paper);padding:72px clamp(22px,6vw,96px) 34px;display:grid;grid-template-columns:1.2fr 1fr auto;gap:40px;align-items:start}.footer-mark{font:500 clamp(58px,6vw,92px)/.85 var(--display);letter-spacing:-.06em}.site-footer p{font-size:13px;line-height:1.65;margin:8px 0}.footer-links{display:flex;flex-direction:column;gap:12px;font-size:12px}.footer-note{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding-top:20px!important;font-size:9px!important;text-transform:uppercase;letter-spacing:.08em;opacity:.55}
.reveal{opacity:0;transform:translateY(24px) scale(.992);transition:opacity .78s ease,transform .95s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:none}
/* Motion is intentionally concentrated on a few high-value elements. */
.hero-copy{animation:heroCopyIn .9s .08s cubic-bezier(.16,1,.3,1) both}.hero-stage{animation:heroStageIn 1.05s .18s cubic-bezier(.16,1,.3,1) both}.site-header{animation:headerIn .7s .02s cubic-bezier(.16,1,.3,1) both}
@keyframes headerIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@keyframes heroCopyIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes heroStageIn{from{opacity:0;transform:translateY(24px) scale(.985)}to{opacity:1;transform:none}}
@media (hover:hover) and (pointer:fine){
  .treat:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(58,33,23,.10);border-color:rgba(58,33,23,.34)}
  .treat:hover .treat-photo{transform:scale(1.012)}
  .treat:hover .real-treat img{transform:scale(1.025)}
  .moment-art:hover .moment-window{transform:translate(-50%,-50%) rotate(-2deg) scale(1.015)}
  .place-poster:hover .poster-cut-a{transform:rotate(4deg) translate(-4px,5px)}
  .place-poster:hover .poster-cut-b{transform:rotate(-5deg) translate(5px,-4px)}
}
.moment-window{transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s ease}
.source-chip{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.treat.is-visible .source-chip{animation:chipIn .55s .28s cubic-bezier(.16,1,.3,1) both}
@keyframes chipIn{from{opacity:0;transform:translateY(7px) scale(.95)}to{opacity:1;transform:none}}
@media (max-width:980px){.site-header{grid-template-columns:1fr auto;height:76px;padding:0 20px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:block;justify-self:end}.hero{grid-template-columns:1fr;padding:122px 20px 78px;min-height:auto}.hero-copy{max-width:720px}.hero h1{font-size:clamp(58px,15vw,90px)}.hero-intro{max-width:560px}.hero-stage{min-height:560px;margin-top:35px}.hero-sun{width:90vw;right:-35%;top:2%}.real-photo-card{width:min(76vw,500px);height:510px;right:6%;transform:translateY(-45%) rotate(2.5deg)}.note-one{left:0;top:20%}.note-two{right:-8%;bottom:15%}.hero-stamp{left:5%;bottom:5%}.counter-head{grid-template-columns:1fr;padding:0 20px 42px}.counter-head h2,.counter-head .eyebrow{grid-column:1}.counter-head h2{font-size:clamp(52px,12vw,80px)}.counter-rail{grid-template-columns:1fr;padding:0 20px}.treat{min-height:unset}.treat-photo{min-height:360px}.moment{grid-template-columns:1fr}.moment-art{min-height:590px}.moment-copy{padding:78px 24px}.place-section{grid-template-columns:1fr;padding:82px 20px;gap:48px}.site-footer{grid-template-columns:1fr 1fr}.footer-mark{grid-column:1/-1}.footer-links{align-items:flex-end}}
@media (max-width:620px){.wordmark-main{font-size:23px}.wordmark-sub{font-size:8px}.hero{padding-top:108px}.hero h1{font-size:16vw;line-height:.88}.hero-intro{font-size:15px;margin:24px 0}.btn{min-height:48px;padding:0 18px}.hero-stage{min-height:455px;margin-top:28px}.hero-sun{width:94vw;right:-40%;top:0}.real-photo-card{width:78vw;height:395px;right:4%;border-width:8px}.real-photo-card figcaption{font-size:11px}.hero-note{padding:12px 14px;min-width:126px}.hero-note strong{font-size:22px}.note-one{top:17%;left:-2%}.note-two{bottom:12%;right:-10%}.hero-stamp{width:82px;height:82px;font-size:8px;bottom:3%;left:3%}.hero-stamp span{font-size:24px}.hero-ticker{height:46px}.counter-section{padding:84px 0}.counter-head h2{font-size:13vw}.treat-photo,.real-treat img{min-height:285px}.treat-copy{padding:24px}.treat h3{font-size:13vw}.moment-art{min-height:430px}.moment-window{width:180px;height:132px}.moment-window strong{font-size:48px}.moment-copy{padding:62px 20px}.moment-copy h2,.place-copy h2{font-size:13.5vw}.moment-copy>p:not(.eyebrow){font-size:15px;margin:28px 0}.moment-lines div{grid-template-columns:48px 1fr}.quote-band{padding:45px 0}.quote-track{font-size:10.5vw}.place-section{padding:68px 20px}.address-block{align-items:start;flex-direction:column}.place-poster{min-height:520px;padding:22px}.poster-title{font-size:27vw}.poster-cut-a{width:185px;height:225px}.poster-cut-b{width:180px;height:135px}.poster-footer{font-size:7px}.site-footer{grid-template-columns:1fr;padding:58px 20px 28px}.footer-links{align-items:flex-start}.footer-mark{font-size:18vw}}
@media (max-width:620px){.page-grain{opacity:.035;background-size:820px auto}.treat.is-visible{transition-delay:0ms}.hero-note{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.btn{-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.965)}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.ticker-track,.quote-track,.hero-copy,.hero-stage,.site-header,.treat.is-visible .source-chip{animation:none!important}.reveal{opacity:1;transform:none;transition:none}.moment-art>img{transform:scale(1.035)!important;transition:none!important}}
