/* Stage 2: photography, readable type and quiet controls. */
body{font-size:15px}
.hero-copy>p:not(.eyebrow){font-size:15px}
.hero-link{font-size:13px;min-height:44px;width:235px}
.hero-material{font-size:10px}
.hero-shade{background:linear-gradient(90deg,rgba(24,31,24,.64),rgba(24,31,24,.36) 48%,rgba(24,31,24,.04) 82%)}
.hero-slide:nth-child(2) img{object-position:65% 40%}
.hero-slide:nth-child(3) img{object-position:68% 46%}
.hero-slide:nth-child(4) img{object-position:65% 40%}
.hero-caption p{font-size:12px}
.concept-copy>p:not(.eyebrow){font-size:15px;line-height:2.3}
.section-heading>p,.display-heading>span{font-size:14px}
.commitment-grid p{font-size:14px;line-height:2.2}
.tag{font-size:11px}
.menu-teaser>div>p:not(.eyebrow){font-size:15px}
.menu-preview>p{font-size:12px!important}
.menu-preview small{font-size:12px}
.staff-card img{filter:none;object-position:50% 30%;border-radius:3px}
.staff-card .eyebrow,.staff-card h3 small{font-size:11px}
.staff-card>p:last-child{font-size:14px;line-height:2.1}
.shop-info{font-size:14px}
.shop-info>div{grid-template-columns:90px minmax(0,1fr);gap:15px;padding:16px 0}
.small-note{font-size:12px}
.access-visual>span{font-size:11px}
.contact-layout>div>p:not(.eyebrow){font-size:14px}
.demo-box p{font-size:13px}
.demo-box>span{font-size:11px}
.form-field label{font-size:14px;margin-bottom:9px}
.form-field label>span{font-size:11px}
input,textarea,select{font-size:15px}
.field-error{font-size:12px}
#form-status{font-size:14px}
.instagram-section p:not(.eyebrow){font-size:13px}
.category-description,.price-list dt small,.price-notes{font-size:13px;line-height:2}
.menu-index p,.page-cta small{font-size:12px}
.page-intro>p:last-of-type,.page-cta>p:not(.eyebrow){font-size:14px}
.gallery-note{font-size:12px}
.gallery-open>p:last-child{font-size:13px;line-height:1.9}
.gallery-open .eyebrow{font-size:11px}
.demo-note{font-size:11px;line-height:2}
.footer-top p{font-size:14px}
.footer-bottom nav,.footer-bottom button,.footer-bottom small{font-size:11px}
/* Photographs float as an editorial ribbon rather than a strip of UI cards. */
.style-reel{scrollbar-width:none;padding-bottom:12px}
.style-reel::-webkit-scrollbar{display:none}
.reel-group{gap:32px;padding-right:32px}
.reel-card{width:280px}
.reel-card img{border-radius:5px;aspect-ratio:5/6.8;object-position:50% 35%}
.reel-card>span{font-size:17px;padding-top:18px;letter-spacing:.06em}
.reel-card small{font-size:11px;margin-top:4px}
.reel-note{font-size:12px;line-height:2;margin-top:20px}
.motion-toggle{font-size:12px;color:var(--ink);text-decoration:none;display:flex;gap:12px;border-bottom:1px solid var(--line);min-height:44px}
.style-reel.is-manual,.style-reel:focus-visible{scrollbar-width:thin;scrollbar-color:#bcb7a6 transparent}
.style-reel.is-manual::-webkit-scrollbar,.style-reel:focus-visible::-webkit-scrollbar{display:block;height:4px}
.style-reel::-webkit-scrollbar-thumb{background:#bcb7a6;border-radius:4px}
/* Grid row animation avoids guessed max-heights for the form. */
.contact-disclosure{align-self:start;min-width:0}
.contact-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:68px;text-align:left;padding:18px 22px;border:1px solid #a7a18e;background:var(--paper);font-size:14px;line-height:1.8}
.contact-toggle:hover{background:#fffdf6}
.contact-toggle-icon{font-size:24px;font-weight:300;flex-shrink:0;color:var(--green)}
.contact-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease,opacity .3s ease;opacity:0}
.contact-panel.is-open{grid-template-rows:1fr;opacity:1}
.contact-panel-inner{min-height:0;overflow:hidden}
.contact-panel-note{font-size:12px;line-height:2;margin:24px 0 26px;color:var(--green)}
.contact-close{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 3px;min-height:48px;font-size:13px;border-bottom:1px solid #bdb5a5;margin-top:16px}
.page-top-row{display:flex;justify-content:flex-end;border-top:1px solid #697b6b;margin-top:30px;padding-top:20px}
.page-top{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;padding:8px 4px;font-size:11px;letter-spacing:.16em}
.page-top>span:last-child{display:grid;place-items:center;border:1px solid #899887;width:42px;height:42px;border-radius:50%;font-size:19px;transition:background .2s}
.page-top:hover>span:last-child{background:#ffffff12}
body#page-top:focus{outline:none}
@media(max-width:900px){
 .concept-copy>p:not(.eyebrow){font-size:14px}
 .section-heading>p{font-size:13px}
 .contact-layout{gap:32px}
}
@media(max-width:600px){
 body{font-size:14px}
 .eyebrow{font-size:10px}
 .hero-copy>p:not(.eyebrow){font-size:13px}
 .hero-copy .eyebrow{font-size:9px}
 .hero-link{font-size:12px;width:215px;margin-top:20px}
 .hero-material{font-size:8px}
 .hero-caption p{font-size:11px}
 .hero-shade{background:linear-gradient(90deg,rgba(20,28,20,.66),rgba(20,28,20,.32) 65%,rgba(20,28,20,.18))}
 .hero-slide:nth-child(2) img{object-position:64% 40%}
 .hero-slide:nth-child(3) img{object-position:67% 46%}
 .concept-copy>p:not(.eyebrow){font-size:14px;line-height:2.25}
 .section-heading>p,.display-heading>span{font-size:13px}
 .commitment-grid p{font-size:14px;line-height:2.15}
 .commitment-grid h3{font-size:22px;letter-spacing:.04em}
 .tag{font-size:10px}
 .reel-group{gap:22px;padding-right:22px}
 .reel-card{width:220px}
 .reel-card>span{font-size:16px;padding-top:15px}
 .reel-card small{font-size:10px}
 .reel-note{font-size:11px;margin-top:15px}
 .motion-toggle{font-size:11px}
 .text-link{font-size:12px}
 .menu-teaser>div>p:not(.eyebrow){font-size:14px}
 .menu-preview small{font-size:11px}
 .menu-preview>p{font-size:11px!important}
 .staff-card>p:last-child{font-size:14px;max-width:none}
 .staff-card .eyebrow,.staff-card h3 small{font-size:10px}
 .shop-info{font-size:13px}
 .shop-info>div{grid-template-columns:72px minmax(0,1fr);gap:12px}
 .access-visual>span{font-size:10px}
 .small-note{font-size:12px}
 .contact-layout>div>p:not(.eyebrow){font-size:13px}
 .demo-box p{font-size:12px}
 .form-field label{font-size:14px}
 .form-field label>span{font-size:11px}
 input,select,textarea{font-size:16px}
 input::placeholder,textarea::placeholder{font-size:13px}
 .contact-toggle{padding:17px 16px;gap:10px;font-size:13px}
 .contact-panel-note{font-size:12px}
 .instagram-section p:not(.eyebrow){font-size:12px}
 .demo-note{font-size:10px}
 .footer-bottom nav,.footer-bottom button,.footer-bottom small{font-size:10px}
 .footer-bottom nav{gap:16px}
 .page-top-row{margin-top:24px;padding-top:14px}
 .page-top{font-size:10px}
 .page-intro>p:last-of-type,.page-cta>p:not(.eyebrow){font-size:13px}
 .category-description,.price-list dt small,.price-notes{font-size:12px}
 .price-list dt,.first-visit .price-list dt{font-size:15px}
 .menu-index p,.page-cta small{font-size:11px}
 .gallery-note{font-size:11px}
 .gallery-open>p:last-child{font-size:12px}
 .gallery-open .eyebrow{font-size:9px}
 .gallery-open h2{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.contact-panel{transition:none}.page-top>span:last-child{transition:none}}
