/* Shared page compositions built on the approved Warm Studio UI. */
html{scroll-behavior:auto;scroll-padding-top:100px}
body{font-family:var(--ah-font);color:var(--ah-ink);background:var(--ah-bone);font-synthesis:none}
button,input,select,textarea{font:inherit}
a,button,input,select,textarea{touch-action:manipulation}
.site-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px var(--ah-gutter);background:var(--ah-surface);border-bottom:1px solid var(--ah-border)}
.site-wordmark{display:block;flex:0 0 176px}
.site-wordmark img{display:block;width:176px;height:auto}
.site-links{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 24px}
.site-links a{display:inline-flex;align-items:center;min-height:48px;font-size:14px;font-weight:650;color:var(--ah-ink);text-decoration:none}
.site-links a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--ah-emerald);text-underline-offset:8px}
.site-links .nav-cta{padding:8px 16px;background:var(--ah-emerald);border-radius:8px}
.masthead-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.masthead-links .nav-cta{background:var(--ah-emerald)}
.site-footer{padding-block:40px;display:flex;justify-content:space-between;align-items:flex-start;gap:32px}
.site-footer p{font-size:14px;color:var(--ah-muted);max-width:40ch}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.footer-links a,.footer-links button{min-height:48px;display:inline-flex;align-items:center;font-size:14px;color:var(--ah-link)}
.footer-links button{background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}
.footer-links button:disabled{color:var(--ah-muted);cursor:default}
.site-footer small{display:block;margin-top:16px;font-size:14px;color:var(--ah-muted)}
#post-hero{isolation:isolate}
#intro{padding-top:64px}
.home-links{margin-top:28px;display:flex;gap:24px;flex-wrap:wrap}
.home-links a{min-height:48px;display:inline-flex;align-items:center}
.hours-invitation{padding-block:64px;background:var(--ah-surface)}
.hours-invitation .shell{display:grid;grid-template-columns:1.2fr 1fr;gap:72px;align-items:center}
.hours-invitation h2{font-size:var(--ah-type-h2);line-height:1.1;letter-spacing:-.04em;max-width:16ch}
.hours-invitation p{color:var(--ah-muted);max-width:43ch;margin:24px 0}
.hours-invitation .invitation-action{--invite-open:clamp(0,calc((var(--sc-p,0) - .08) * 2.8),1)}
.motion-ready .invitation-action{transform:translateY(calc((1 - var(--invite-open)) * 24px))}
.invitation-note{padding:32px;border:1px solid var(--ah-border);border-radius:12px;background:var(--ah-bone)}
.invitation-note ol{margin:0;padding:0;list-style:none}
.invitation-note li{display:flex;gap:16px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--ah-border)}
.invitation-note li:last-child{border:0}
.invitation-note span{color:var(--ah-link);font-size:14px}
.motion-off .invitation-action{transform:none!important}
.interior-head{padding-block:56px 72px}
.compare-line{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:40px;font-size:14px;color:var(--ah-muted)}
.compare-line a{min-height:48px;display:inline-flex;align-items:center;padding:8px 16px;border-radius:8px;color:var(--ah-ink);border:1px solid var(--ah-border);text-decoration:none}
.compare-line [aria-current=page]{background:var(--ah-ink);color:var(--ah-bone)}
.interior-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:center}
.interior-hero h1,.compact-hero h1{font-size:var(--ah-type-h1);letter-spacing:-.05em;line-height:1.05;max-width:13ch}
.interior-hero p,.compact-hero p{margin-top:24px;max-width:46ch;color:var(--ah-muted)}
.interior-hero .ah-action{margin-top:32px}
.interior-art{margin:0;position:relative;isolation:isolate;padding:0 0 24px 24px}
.interior-art::before{content:'';position:absolute;inset:32px 24px 0 0;background:var(--ah-ink);border-radius:24px;z-index:-1}
.interior-art img{display:block;width:100%;aspect-ratio:.95;object-fit:cover;object-position:65% 50%;border-radius:24px}
.page-label{font-size:14px;color:var(--ah-link);margin-bottom:16px;display:block}
.chapter{padding-block:64px;border-top:1px solid var(--ah-border);display:grid;grid-template-columns:100px 1fr 1fr;gap:48px;position:relative}
.chapter .step-num{font-size:56px;line-height:1;color:var(--ah-link);font-weight:600;letter-spacing:-.05em}
.chapter h2{font-size:var(--ah-type-h2);letter-spacing:-.04em;line-height:1.1;margin-bottom:24px}
.chapter p{color:var(--ah-muted);max-width:40ch}
.chapter ul{list-style:none;padding:0;margin:0}
.chapter li{padding:16px 0;border-bottom:1px solid var(--ah-border);font-size:16px}
.chapter li:first-child{padding-top:0}
.chapter li strong{display:block;font-weight:600;color:var(--ah-ink);margin-bottom:4px}
.chapter::after{content:'';position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--ah-emerald);transform:scaleX(0);transform-origin:left}
.motion-ready .chapter::after{transform:scaleX(clamp(0,calc((var(--sc-p,0) - .1) * 2.5),1))}
.handoff-section{margin-block:32px 64px;padding:48px;border-radius:24px;background:var(--ah-ink);color:var(--ah-bone)}
.handoff-section h2{font-size:var(--ah-type-h2);line-height:1.1;letter-spacing:-.04em;max-width:18ch}
.handoff-section>p{margin:24px 0 40px;max-width:55ch}
.handoff-track{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}
.handoff-step{position:relative;padding-top:24px;border-top:1px solid #535751}
.handoff-step::before{content:'';position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--ah-emerald);transform-origin:left;--handoff-progress:clamp(0,calc((var(--sc-p,0) - var(--delay,.08)) * 3),1)}
.motion-ready .handoff-step::before{transform:scaleX(var(--handoff-progress))}
.handoff-step:nth-child(2){--delay:.14}.handoff-step:nth-child(3){--delay:.20}
.handoff-step h3{font-size:24px;line-height:1.2;margin-bottom:16px}
.handoff-step p{font-size:16px;max-width:32ch}
.compact-hero{padding:0 0 48px;max-width:960px}
.compact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:start;padding-bottom:72px}
.process-accordion{border-top:1px solid var(--ah-control-border)}
.process-accordion details{border-bottom:1px solid var(--ah-border)}
.process-accordion summary{display:flex;list-style:none;align-items:center;gap:24px;min-height:88px;padding:24px 0;font-size:28px;font-weight:600;cursor:pointer}
.process-accordion summary::-webkit-details-marker{display:none}
.process-accordion summary::after{content:'+';margin-left:auto;color:var(--ah-link);font-size:28px}
.process-accordion details[open] summary::after{content:'−'}
.process-accordion summary span{font-size:14px;color:var(--ah-link);font-weight:400}
.process-accordion details p{margin:0 0 24px;color:var(--ah-muted);font-size:16px;max-width:52ch}
.process-accordion details ul{margin:0 0 32px;padding-left:20px;font-size:16px}
.process-accordion details li{margin:12px 0}
.process-side{background:var(--ah-ink);padding:32px;border-radius:24px;color:var(--ah-bone)}
.process-side img{width:calc(100% + 48px);max-width:none;margin:-8px -40px 32px -8px;display:block;border-radius:24px;aspect-ratio:1.45;object-fit:cover}
.process-side h2{font-size:28px;line-height:1.15;margin-bottom:16px}
.process-side p{font-size:16px;max-width:40ch}
@media(max-width:900px){
.interior-hero{gap:40px}.chapter{grid-template-columns:64px 1fr;gap:24px}.chapter ul{grid-column:2}
.compact-layout{gap:40px}.hours-invitation .shell{gap:40px}
}
@media(max-width:760px){
html{scroll-padding-top:144px}
.site-nav{flex-wrap:wrap;gap:4px 16px;padding-block:8px}.site-links{gap:8px 20px;width:100%;justify-content:flex-start}
.site-links a{min-height:48px}.site-wordmark img{width:176px}
.site-footer{flex-direction:column}.footer-links{gap:8px 24px}
.masthead-links{max-width:260px}
.interior-hero,.compact-layout,.hours-invitation .shell{grid-template-columns:1fr;gap:40px}
.interior-head{padding-block:32px 48px}.interior-hero h1,.compact-hero h1{font-size:clamp(40px,9vw,64px)}
.interior-art{max-width:600px}.interior-art img{aspect-ratio:1.6}
.chapter{padding-block:40px}.chapter .step-num{font-size:40px}.chapter h2{font-size:32px}
.handoff-section{padding:28px}.handoff-track{grid-template-columns:1fr;gap:24px}.handoff-step p{max-width:none}
.process-side{margin-right:16px}.process-side img{width:calc(100% + 24px);margin-right:-24px}
.hours-invitation{padding-block:48px}.invitation-note{padding:24px}
.compare-line{gap:8px;margin-bottom:32px}.compare-line>span{width:100%}
}
@media(prefers-reduced-motion:reduce){
.invitation-action{transform:none!important}.chapter::after,.handoff-step::before{transform:scaleX(1)!important}
}
.motion-off .chapter::after,.motion-off .handoff-step::before{transform:scaleX(1)!important}

/* Homepage refinements: one navigation layer and content-specific artwork. */
html[data-page="home"]{scroll-padding-top:24px}
[data-page="home"] .main-photo img{object-position:45% 50%}
[data-page="home"] .method-portrait{aspect-ratio:1}
[data-page="home"] .method-portrait img{object-position:50% 50%}
