/* A slower rhythm, readable type and motion for the approved café direction. */
h1,h2,h3{font-weight:500;font-optical-sizing:auto;letter-spacing:-.035em;line-height:1.06}
.brand,.footer-brand{font-weight:500}.hero-copy h1{font-size:clamp(56px,5vw,74px);max-width:570px;line-height:1.03;margin-bottom:30px}
.hero-description{font-size:16px;max-width:480px;line-height:1.8;margin-bottom:32px}
.hero{min-height:740px;padding-block:140px 110px}.hero-kicker{display:flex;align-items:center;gap:13px;margin-bottom:28px;font-size:11px}.little-cup{width:39px;height:39px;flex-shrink:0;transform:rotate(-8deg)}

.scroll-invitation{position:absolute;bottom:30px;left:64px;display:flex;align-items:center;gap:15px;color:#e3c9a7;font-size:11px;letter-spacing:.04em}.scroll-line{height:35px;width:1px;background:#b8956e;overflow:hidden;position:relative}.scroll-line::after{content:'';position:absolute;inset:0;background:#fff3db;transform:translateY(-100%);animation:scroll-hint 2.4s ease-in-out infinite}
.highlights .wrap{min-height:112px;font-size:14px}.highlights svg{transition:transform .5s cubic-bezier(.22,1,.36,1)}
.section{padding-block:112px}.manifesto-layout{padding-block:100px;gap:60px}.manifesto h2{font-size:54px;max-width:320px}.manifesto .lead{font-size:18px;line-height:1.8}.manifesto-copy p:not(.lead){font-size:14px;line-height:1.9}.photo-manifesto{height:300px;border-radius:12px}
.menu-layout{gap:38px}.menu-main>h2{font-size:46px;max-width:740px;margin-bottom:25px}.menu-intro{font-size:15px;line-height:1.8;max-width:700px;margin-bottom:45px}.menu-items{gap:28px}.menu-category>h3{font-size:30px;padding-bottom:20px;margin-bottom:20px}.menu-items article{padding-block:17px;gap:15px}.menu-items article h4{font-size:14px;margin-bottom:8px}.menu-items article p{font-size:12px;line-height:1.75}.menu-aside{padding-top:10px}.photo-menu-cake{aspect-ratio:.85;border-radius:12px}.full-menu-button{margin-top:24px;font-size:12px;min-height:50px}.menu-demo{font-size:11px;margin-top:10px}
.signature-layout{min-height:580px}.signature-copy{padding:75px 64px 75px 26px}.signature-copy h2{font-size:49px;margin-bottom:28px}.signature-copy p{font-size:16px;line-height:1.85;margin-bottom:30px}.signature-visual{overflow:hidden}
.rhythm-intro h2{font-size:46px;margin-bottom:55px}.rhythm-list{gap:46px}.rhythm-list article{gap:24px}.rhythm-list h3{font-size:26px;margin-bottom:20px}.rhythm-list p{font-size:14px;line-height:1.8}.moment-photo{border-radius:16px}
.experience{min-height:590px}.experience-visual{overflow:hidden}.experience-copy{align-self:center;padding:80px 64px 80px 60px}.experience-copy h2{font-size:48px;margin-bottom:30px}.experience-copy p{font-size:15px;line-height:1.9;margin-bottom:25px}
.section-heading{margin-bottom:50px}.section-heading h2{font-size:46px;margin-bottom:24px}.section-heading>p{font-size:15px;line-height:1.85;max-width:750px}.gallery-grid{gap:30px}.gallery-item .photo{border-radius:12px}.gallery-caption{font-size:13px;padding-top:20px}.gallery-note{font-size:11px;margin-top:38px}
.visit{min-height:610px}.visit-copy{align-self:center;padding:85px 64px 85px 65px}.visit-copy h2{font-size:48px;margin-bottom:30px}.visit-copy>p{font-size:15px;line-height:1.9}.visit-details{margin-block:35px;gap:30px}.visit-details dt{font-size:12px;margin-bottom:10px}.visit-details dd{font-size:14px;line-height:1.8}.visit-details dd span{font-size:12px}.visit .button,.visit .text-link{font-size:13px;min-height:48px}
.faq{gap:100px}.faq h2{font-size:48px}.faq-list{gap:15px}.faq summary{font-size:14px;padding:19px 27px;min-height:62px}.faq details{border-radius:32px;transition:background .3s}.faq summary span{transition:transform .4s}.faq details p{font-size:14px;padding:0 27px 24px;line-height:1.9}
.final-inner{min-height:330px;padding-block:70px;grid-template-columns:230px 1fr 1fr;gap:55px}.final-inner h2{font-size:48px}.photo-final{height:100%;width:310px}.final-inner>p:not(.eyebrow){font-size:15px;line-height:1.8;margin-top:4px}.final-inner>.button{margin-bottom:0}.site-footer{padding-block:65px 32px}.footer-top p,.site-footer nav,.site-footer nav button{font-size:13px}.footer-bottom{margin-top:40px;padding-top:25px;font-size:11px}
/* Text stays semantic; each visible word lifts through its own mask. */
.word-mask{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.13em;margin-bottom:-.13em}.word-inner{display:inline-block;transition:transform .85s cubic-bezier(.22,1,.36,1),opacity .6s;transition-delay:var(--word-delay,0ms)}
.motion-enabled .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform 1s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.motion-enabled .reveal.is-visible{opacity:1;transform:none}.motion-enabled .word-reveal .word-inner{transform:translateY(112%);opacity:0}.motion-enabled .word-reveal.is-visible .word-inner{transform:none;opacity:1}.motion-enabled .word-reveal{opacity:1;transform:none}
.photo,.moment-photo,.item-thumb{transition:transform .8s cubic-bezier(.22,1,.36,1),filter .5s}.button,.text-link{transition:background .3s,transform .35s,box-shadow .35s}.button span,.text-link span,.gallery-caption i{display:inline-block;transition:transform .35s}.menu-toggle span{transition:transform .3s}.steam{stroke-dasharray:25;animation:steam-drift 3s ease-in-out infinite}
@media(hover:hover){.button:hover,.text-link:hover{transform:translateY(-3px);box-shadow:0 7px 18px #49301a18}.button:hover span,.text-link:hover span,.gallery-item:hover i{transform:translate(3px,-3px)}.menu-items article:hover .item-thumb{transform:translateY(-6px) rotate(-5deg) scale(1.08)}.rhythm-list article:hover .moment-photo{transform:translateY(-5px) rotate(-2deg)}.gallery-item:hover .photo{transform:translateY(-6px) scale(1.025)}.experience-visual:hover .photo,.signature-visual:hover .photo{transform:scale(1.025)}.highlights .wrap>span:hover svg{transform:rotate(-12deg) translateY(-4px)}.brand:hover .bean-mark{transform:rotate(16deg)}.faq details:hover{background:#443528}}
.bean-mark{transition:transform .5s}.button:active,.text-link:active{transform:scale(.97)}
@keyframes steam-drift{0%,100%{stroke-dashoffset:0;opacity:.55;transform:translateY(0)}50%{stroke-dashoffset:9;opacity:1;transform:translateY(-2px)}}
@keyframes scroll-hint{0%{transform:translateY(-100%)}70%,100%{transform:translateY(100%)}}
@media(max-width:1100px){.scroll-invitation{left:32px}.section{padding-block:90px}.manifesto-layout{padding-block:85px;gap:30px}.manifesto h2{font-size:45px}.manifesto .lead{font-size:16px}.menu-items{gap:18px}.menu-items article{gap:10px}.menu-items article h4{font-size:13px}.menu-items article p{font-size:11px}.menu-layout{grid-template-columns:1fr 220px;gap:30px}.signature-copy{padding:60px 32px 60px 18px}.signature-copy h2{font-size:43px}.rhythm-list h3{font-size:23px}.experience-copy,.visit-copy{padding:65px 35px}.experience-copy h2,.visit-copy h2{font-size:43px}.final-inner{grid-template-columns:150px 1fr 1fr;gap:35px}.final-inner h2{font-size:43px}.photo-final{width:225px}.faq{gap:60px}}
@media(max-width:880px){.hero-copy h1{font-size:62px;max-width:470px}.hero-description{font-size:15px;max-width:410px}.menu-layout{grid-template-columns:1fr}.menu-aside{padding-top:15px;gap:30px}.menu-aside .photo{aspect-ratio:1.6}.menu-category>h3{font-size:27px}.menu-items article{grid-template-columns:60px 1fr}.signature-layout{min-height:510px}.signature-copy h2{font-size:39px}.signature-copy p{font-size:14px}.rhythm-list{gap:28px}.experience,.visit{min-height:560px}.experience-copy,.visit-copy{padding:50px 30px}.experience-copy h2,.visit-copy h2{font-size:38px}.experience-copy p,.visit-copy>p{font-size:14px}.faq h2{font-size:40px}.faq summary{font-size:13px;padding:16px 21px}.gallery-caption{font-size:12px}.final-inner{grid-template-columns:90px 1fr 1fr;gap:30px}.final-inner h2{font-size:37px}.final-inner>p:not(.eyebrow){font-size:13px}.photo-final{width:150px}}
@media(max-width:640px){.hero-copy h1{font-size:50px;max-width:360px;margin-bottom:25px}.hero-kicker{font-size:9px;gap:10px;margin-bottom:24px}.little-cup{width:30px;height:30px}.hero-description{font-size:14px;line-height:1.75;margin-bottom:25px}.scroll-invitation{left:20px;bottom:20px;font-size:10px}.section{padding-block:72px}.highlights .wrap{padding-block:28px;gap:20px;font-size:13px}.manifesto-layout{padding-block:72px}.manifesto h2{font-size:42px;max-width:340px;margin-bottom:32px}.manifesto .lead{font-size:17px}.manifesto-copy p:not(.lead){font-size:14px}.photo-manifesto{height:auto;margin-top:35px}.menu-main>h2,.rhythm-intro h2,.section-heading h2{font-size:39px}.menu-intro{font-size:14px;margin-bottom:36px}.menu-items{gap:35px}.menu-category>h3{font-size:30px;margin-bottom:15px}.menu-items article{grid-template-columns:82px 1fr;gap:18px;padding-block:16px}.menu-items article h4{font-size:15px}.menu-items article p{font-size:13px}.menu-aside .photo{width:100%;aspect-ratio:1.5}.menu-aside{display:grid;gap:0}.signature-layout{min-height:0}.signature-visual{height:340px}.signature-copy{padding:45px 20px 55px}.signature-copy h2{font-size:41px}.signature-copy p{font-size:15px}.rhythm-intro h2{margin-bottom:38px}.rhythm-list{gap:35px}.rhythm-list h3{font-size:27px}.rhythm-list p{font-size:14px}.experience,.visit{min-height:0}.experience-copy,.visit-copy{padding:48px 20px 58px}.experience-copy h2,.visit-copy h2{font-size:41px}.experience-copy p,.visit-copy>p{font-size:15px}.section-heading>p{font-size:14px}.gallery-grid{gap:32px 16px}.gallery-caption{font-size:12px;line-height:1.6}.gallery-note{font-size:10px}.visit-details{gap:16px;margin-block:30px}.visit-details dd{font-size:13px}.visit .button,.visit .text-link{font-size:12px}.faq{gap:36px}.faq h2{font-size:41px;max-width:340px}.faq-list{gap:13px}.faq summary{font-size:13px;min-height:60px;padding:17px 20px}.faq details p{font-size:13px}.final-inner{display:block;padding-block:65px}.final-inner h2{font-size:43px}.final-inner>p:not(.eyebrow){font-size:15px;margin-bottom:28px}.photo-final{width:240px}.site-footer{padding-block:50px 28px}.footer-bottom{font-size:10px}.footer-top p,.site-footer nav,.site-footer nav button{font-size:12px}}
@media(max-height:600px){}
@media(prefers-reduced-motion:reduce){.scroll-line::after{display:none}.reveal,.word-inner{opacity:1!important;transform:none!important;transition:none!important}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Small, hand-drawn gestures; the espresso photograph stays intact. */
.hero-stage{height:auto}.hero{position:relative}
.little-cup{height:55px;width:39px;overflow:visible}.little-cup .steam-wisp{stroke-width:1.25}
.steam-wisp{transform-box:fill-box;transform-origin:center;animation:rising-steam 3.4s ease-out infinite;opacity:0}.wisp-two{animation-delay:1.1s}.wisp-three{animation-delay:2.2s}
.doodle{width:65px;height:65px;color:#986b42;display:block;margin-bottom:20px;overflow:visible}.menu-main,.rhythm-intro,.section-heading>div{position:relative}.doodle-pastry{position:absolute;right:5px;top:-55px;transform:rotate(-9deg)}.doodle-sun{position:absolute;right:10px;top:-10px}.doodle-cup{width:68px;height:68px;margin-bottom:24px}.doodle-sparkle{position:absolute;right:10px;top:0;color:#d5b487}
.sun-rays{transform-origin:40px 40px;animation:sun-turn 24s linear infinite}.spark-line{transform-origin:center;transform-box:fill-box;animation:little-spark 4.5s ease-in-out infinite}
.motion-enabled .doodle .draw-line{stroke-dasharray:240;stroke-dashoffset:240}.motion-enabled .doodle.is-visible .draw-line{animation:pencil-draw 1.8s ease .2s forwards}
.motion-enabled :is(.signature-visual,.experience-visual,.visit-card,.gallery-item) .photo{clip-path:inset(0 0 100% 0 round 10px);transition:clip-path 1.3s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1),filter .5s}
.motion-enabled :is(.signature-visual,.experience-visual,.visit-card,.gallery-item).is-visible .photo{clip-path:inset(0 0 0 0 round 10px)}
#full-menu article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 20px;border-bottom:1px solid #cdb18c66;padding-block:18px}#full-menu article:last-child{border-bottom:0}#full-menu h4{margin:0;font-size:16px}#full-menu article p{grid-column:1/-1;padding-right:50px;line-height:1.75}.menu-price{font-size:14px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;color:#84552f}.menu-price-note{font-size:12px;color:var(--muted);margin-bottom:22px}
@keyframes rising-steam{0%{transform:translateY(7px) scaleX(.85);opacity:0}20%{opacity:.8}70%{opacity:.5}100%{transform:translateY(-12px) scaleX(1.15);opacity:0}}
@keyframes pencil-draw{to{stroke-dashoffset:0}}
@keyframes sun-turn{to{transform:rotate(360deg)}}
@keyframes little-spark{0%,100%{transform:scale(.9) rotate(-5deg);opacity:.6}50%{transform:scale(1.07) rotate(5deg);opacity:1}}
@media(max-width:880px){.doodle{width:55px;height:55px}.doodle-sparkle{right:0;top:-30px}.section-heading h2{max-width:90%}}
@media(max-width:640px){.hero{height:auto;min-height:760px;max-width:none;margin-bottom:0;padding:125px 0 90px}.little-cup{width:32px;height:45px}.doodle-pastry{top:-45px;width:45px;height:45px}.doodle-sun{top:-25px;width:45px;height:45px}.rhythm-intro h2{max-width:85%}.doodle-cup{margin-bottom:20px}.doodle-sparkle{top:-40px;width:45px;height:45px}#full-menu article p{padding-right:0}#full-menu article{gap:8px 12px}#full-menu h4{font-size:15px}.menu-price{font-size:13px}}
@media(prefers-reduced-motion:reduce){.steam-wisp{opacity:.7;transform:none}.doodle .draw-line{stroke-dasharray:none!important;stroke-dashoffset:0!important}.motion-enabled :is(.signature-visual,.experience-visual,.visit-card,.gallery-item) .photo{clip-path:none!important}}
