/* Targeted refinements to the approved composition; no reference layout transplant. */
.hero{min-height:800px;padding-block:145px 120px;background:#171512}
.hero-copy h1{max-width:560px;font-size:clamp(56px,5.2vw,76px);line-height:1.05}
.hero-description{max-width:440px;font-size:15px;line-height:1.85;color:#ede3d5}
.hero-visual{left:26%}.hero-photo{object-position:58% 65%;filter:brightness(.94);mask-image:linear-gradient(90deg,transparent,#000 24%);transform-origin:65% 60%}
.hero::after{background:linear-gradient(90deg,#171512 0%,#171512ed 22%,#1715128c 43%,#17151208 70%)}
.hero-kicker{letter-spacing:.55px}.hero-seal{width:115px;height:115px;bottom:55px;right:45px}.seal-ring{animation-duration:48s}
@keyframes coffee-camera{from{transform:scale(1.015)}to{transform:scale(1.055)}}
@keyframes seal-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(2deg)}}
.motion-enabled .pause-word::after{animation:pause-underline-settle 1.4s ease 1s both}
@keyframes pause-underline-settle{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:.8}}
.motion-enabled .little-cup{animation:none;transform:rotate(-8deg)}
.doodle-drift{animation-duration:8s}.doodle-pastry{width:60px;height:60px;top:-50px}.doodle-sun{width:65px;height:65px}.doodle-sparkle{width:60px;height:60px}
.manifesto-layout{padding-block:110px;gap:48px}.manifesto-copy p:not(.lead){line-height:1.9}.manifesto h2{font-size:52px}
.menu-section{padding-block:130px 110px}.menu-layout{grid-template-columns:minmax(0,1fr) 250px;gap:38px}.menu-aside{padding-top:35px}.photo-menu-cake{background-image:url('assets/real-cake.webp');background-position:55% center;border-radius:14px;aspect-ratio:.85}
.menu-items{gap:22px}.menu-category{padding-right:18px}.menu-items article{grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:start;padding-block:19px}.item-thumb{width:64px;border-radius:12px}.menu-items article h4{margin-bottom:4px;line-height:1.5}.item-price{display:block;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;color:#926035;margin-bottom:7px}.menu-items article p{font-size:12px;line-height:1.75}
.signature-layout{min-height:620px}.signature-visual .photo{background-image:url('assets/real-cappuccino.webp');background-position:center 60%}.signature-copy{padding-block:90px}.signature-copy p{max-width:400px;font-size:15px;line-height:1.85}
.rhythm{padding-block:125px 135px}.rhythm-list{gap:38px}.rhythm-list article{grid-template-columns:105px minmax(0,1fr);gap:23px;align-items:start}.moment-photo{width:105px;margin-top:4px}.rhythm-list h3{font-size:25px}.rhythm-list p{font-size:13px}
.experience-visual .photo{background-image:url('assets/real-hands.webp');background-position:55% center}.experience-copy p{max-width:470px;line-height:1.9}
.gallery-section{padding-block:125px 105px}.section-heading>p{max-width:650px}.gallery-grid{gap:26px}.gallery-item{overflow:visible}.gallery-item .photo{border-radius:14px}.gallery-caption{font-size:12px}
.visit{margin-top:0}.visit-copy{padding-block:100px}.visit-copy>p{max-width:460px}.faq{padding-block:135px 125px}.faq-list{gap:17px}.faq summary{padding-block:22px}.faq h2{max-width:340px}.final-inner{padding-block:80px}
.site-header nav a:focus-visible{border-radius:4px}.gallery-item:focus-visible .photo{filter:brightness(1.1)}
@media(max-width:1100px){.hero-visual{left:22%}.hero-copy h1{max-width:520px}.manifesto-layout{gap:30px}.manifesto h2{font-size:44px}.menu-layout{grid-template-columns:minmax(0,1fr) 200px;gap:25px}.menu-items{gap:15px}.menu-items article{grid-template-columns:52px minmax(0,1fr);gap:10px}.item-thumb{width:52px}.menu-category{padding-right:12px}.menu-items article h4{font-size:13px}.menu-items article p{font-size:11px}.rhythm-list{gap:25px}.rhythm-list article{grid-template-columns:85px minmax(0,1fr);gap:18px}.moment-photo{width:85px}.rhythm-list h3{font-size:23px}}
@media(max-width:880px){.hero-copy h1{max-width:470px;font-size:62px}.hero::after{background:linear-gradient(90deg,#171512fa,#171512bb 40%,#17151225 80%)}.menu-layout{grid-template-columns:1fr}.menu-aside{padding-top:10px}.menu-aside .photo{width:210px;aspect-ratio:1.4}.menu-items article{grid-template-columns:60px minmax(0,1fr)}.item-thumb{width:60px}.rhythm-list article{display:block}.moment-photo{width:110px;margin-bottom:20px}.signature-layout{min-height:560px}.signature-copy{padding-block:65px}.signature-copy p{font-size:14px}.manifesto-layout{padding-block:90px}.hero-seal{right:25px;width:100px;height:100px}.section{padding-block:100px}}
@media(max-width:640px){.hero{min-height:830px;padding:130px 0 100px;align-items:flex-end}.hero-visual{left:0}.hero-photo{mask-image:none;object-position:62% center;filter:none}.hero::after{background:linear-gradient(0deg,#171512fa 0%,#171512df 32%,#17151294 64%,#17151225 100%)}.hero-copy h1{max-width:350px;font-size:51px;margin-bottom:25px}.hero-description{max-width:335px;font-size:14px;line-height:1.8}.hero-kicker{max-width:315px;font-size:9px;letter-spacing:0}.hero-seal{width:75px;height:75px;right:17px;bottom:22px}.scroll-invitation{font-size:9px;bottom:25px}.manifesto-layout{padding-block:80px}.manifesto h2{font-size:42px}.section{padding-block:85px}.menu-aside{display:grid;padding-top:0}.menu-aside .photo{width:100%;aspect-ratio:1.4}.menu-items{gap:35px}.menu-items article{grid-template-columns:80px minmax(0,1fr);gap:18px;padding-block:17px}.item-thumb{width:80px}.menu-items article h4{font-size:15px}.menu-items article p{font-size:13px}.item-price{font-size:12px}.menu-category{padding-right:0}.signature-layout{min-height:0}.signature-visual{height:365px}.signature-copy{padding:50px 20px 65px}.signature-copy p{font-size:15px}.rhythm-list article{display:grid;grid-template-columns:100px minmax(0,1fr);gap:22px}.moment-photo{width:100px;margin:4px 0 0}.rhythm-list h3{font-size:26px}.rhythm-list p{font-size:14px}.experience-copy,.visit-copy{padding:55px 20px 65px}.gallery-grid{gap:30px 16px}.faq summary{padding:20px;min-height:66px}.faq-list{gap:16px}.final-inner{padding-block:75px}.doodle-pastry{top:-46px;width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.motion-enabled .pause-word::after{animation:none;transform:none;opacity:.8}}

/* Individual real photographs replace the generated gallery atlas. */
.gallery-item .photo{background-size:cover;background-position:center}
.gallery-item .photo-coffee,#gallery-dialog-photo.photo-gallery-iced{background-image:url('assets/real-iced.webp');background-position:50% 57%}
.gallery-item .photo-cake,#gallery-dialog-photo.photo-gallery-pastries{background-image:url('assets/real-cake.webp')}
.gallery-item .photo-pour,#gallery-dialog-photo.photo-gallery-prep{background-image:url('assets/real-pour.webp')}
.gallery-item .photo-interior,#gallery-dialog-photo.photo-gallery-nook{background-image:url('assets/real-cafe.webp')}
#gallery-dialog-photo{background-size:contain;background-position:center;background-color:#ede2d1;height:min(62vh,580px);aspect-ratio:auto}
/* Coffee images bleed from the viewport edge, outside the text container. */
.signature-layout{width:100%;max-width:none;margin-inline:0}
.final-call{position:relative;isolation:isolate}
.final-inner{grid-template-columns:260px minmax(0,1fr) minmax(0,1fr);gap:64px;padding-block:65px;min-height:380px}
.photo-final{position:absolute;inset:0 auto 0 0;display:block;width:calc((100% - min(1312px,100% - 128px))/2 + 300px);height:100%;aspect-ratio:auto;background-image:url('assets/urban-final.webp');background-size:cover;background-position:left center;mask-image:linear-gradient(90deg,#000 78%,transparent);border-radius:0;opacity:1;z-index:-1}
.final-inner h2{grid-column:2;grid-row:1}
.final-inner>p:not(.eyebrow){align-self:start;margin-top:22px}
.final-inner>.button{align-self:end;margin-bottom:22px}
@media(max-width:1100px){.final-inner{grid-template-columns:210px minmax(0,1fr) minmax(0,1fr);gap:36px}.photo-final{width:280px}.final-inner h2{font-size:42px}}
@media(max-width:880px){.final-inner{grid-template-columns:180px minmax(0,1fr) minmax(0,1fr);gap:28px}.photo-final{width:240px}.final-inner h2{font-size:36px}.final-inner>p:not(.eyebrow){font-size:13px}.final-inner>.button{padding-inline:15px}}
@media(max-width:640px){.final-inner{display:block;padding:350px 0 60px}.photo-final{width:100%;height:310px;background-position:left center;mask-image:linear-gradient(180deg,#000 82%,transparent)}.final-inner h2{font-size:43px}.final-inner>p:not(.eyebrow){margin:0 0 26px;font-size:15px}.final-inner>.button{margin:0}.gallery-item .photo{background-size:cover}.gallery-item .photo-coffee{background-position:50% 57%}}
