/* Homepage only. The static layout is the accessible/no-script baseline. */
.cinematic-hero{min-height:calc(100svh - var(--header-offset,var(--header)));isolation:isolate}
.cinematic-hero .hero-photo{transform-origin:58% 50%}
.cinematic-hero .hero-shade{background:linear-gradient(90deg,rgba(6,20,14,.78),rgba(6,20,14,.12)),linear-gradient(0deg,rgba(6,20,14,.65),transparent 70%)}
.hero-start,.hero-scroll-cue{display:none}
.hero-inquiry{padding:4rem max(3.5vw,calc((100vw - var(--wrap))/2));display:grid;grid-template-columns:1fr 1fr;gap:4rem;background:var(--cream);border-bottom:1px solid var(--line)}
.hero-inquiry h2{font-size:clamp(2.5rem,3.5vw,4rem);max-width:550px}
.hero-inquiry h2+p{margin-top:1rem;color:var(--ink-soft)}
.hero-inquiry form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-self:center}
.hero-inquiry form .button,.hero-inquiry-note{grid-column:1/-1}
.hero-inquiry-note{font-size:.75rem;color:var(--ink-soft)}
@media(prefers-reduced-motion:no-preference){
  .hero-journey.is-scroll-ready{height:150svh}
  .is-scroll-ready .cinematic-hero{position:sticky;top:var(--header-offset,var(--header));height:calc(100svh - var(--header-offset,var(--header)));min-height:0;overflow:hidden;display:block;padding:0}
  .is-scroll-ready .cinematic-hero .hero-photo{transform:scale(var(--hero-scale,1.09));will-change:transform}
  .is-scroll-ready .hero-shade{opacity:var(--hero-shade,.45)}
  .is-scroll-ready .home-hero-copy{position:absolute;inset:auto 7vw 23% 7vw;margin:0;padding:0;width:auto;max-width:850px}
  .is-scroll-ready .home-hero-copy .eyebrow,.is-scroll-ready .home-hero-copy h1>.hero-phrase:first-child{opacity:1;transform:none}
  .is-scroll-ready .home-hero-copy h1>em{opacity:var(--hero-title,0);transform:translateY(var(--hero-title-y,20px))}
  .is-scroll-ready .home-hero-copy>p:not(.eyebrow),.is-scroll-ready .hero-actions{opacity:var(--hero-copy,0);transform:translateY(var(--hero-copy-y,16px))}
  .is-scroll-ready .hero-principles{position:absolute;inset:auto 0 0;opacity:var(--hero-copy,0)}
  .is-scroll-ready .hero-start{display:inline-flex;position:absolute;left:7vw;bottom:10%;z-index:2}
  .is-scroll-ready .hero-actions .button{display:none}
  .is-scroll-ready .hero-scroll-cue{display:flex;position:absolute;right:7vw;bottom:11%;gap:1.5rem;color:white;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;opacity:calc(1 - var(--hero-copy,0))}
}
@media(max-width:900px){
  .hero-inquiry{grid-template-columns:1fr;gap:2rem;padding:3rem 1.25rem}
  .is-scroll-ready .home-hero-copy{left:1.25rem;right:1.25rem;bottom:26%}
  .is-scroll-ready .home-hero-copy h1{font-size:clamp(2.8rem,10vw,4.7rem)}
  .is-scroll-ready .home-hero-copy>p:not(.eyebrow){font-size:.95rem;margin-top:1rem;line-height:1.55}
  .is-scroll-ready .home-hero-copy .eyebrow{font-size:.6rem;margin-bottom:1rem}
  .is-scroll-ready .hero-actions{margin-top:.7rem}
  .is-scroll-ready .hero-start{left:1.25rem;bottom:13%}
  .is-scroll-ready .hero-scroll-cue{left:1.25rem;right:auto;bottom:5%}
  .is-scroll-ready .hero-principles{padding-block:.75rem}
}
@media(max-width:380px){.hero-inquiry form{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.cinematic-hero .hero-photo{transform:none}}
/* A single visual sequence: the introduction settles into the inquiry panel. */
.cinematic-hero .hero-principles{display:none}
.hero-inquiry{position:relative;background:var(--forest);color:var(--ivory);border:0;padding-block:3rem}
.hero-inquiry:before{content:"";position:absolute;left:0;right:0;top:-90px;height:90px;background:linear-gradient(transparent,var(--forest));pointer-events:none}
.hero-inquiry h2+p,.hero-inquiry-note{color:#c7d1cb}
.hero-inquiry .eyebrow,.hero-inquiry .brief-field label{color:#d7bd92}
.hero-inquiry .button{background:var(--ivory);color:var(--forest)}
.unified-intake{align-items:start;gap:clamp(2rem,5vw,6rem);padding-block:4rem;scroll-margin-top:20px}
.intake-intro{padding-top:1rem}
.intake-progress{margin-top:2rem!important;padding-top:1.25rem;border-top:1px solid var(--line-light);font-size:.8rem;letter-spacing:.03em;color:#d7bd92!important}
.intake-privacy{margin-top:1rem!important;font-size:.78rem;max-width:340px}
.intake-card{background:var(--ivory);color:var(--ink);padding:clamp(1.5rem,3vw,2.75rem);border:1px solid #e4e0d7;border-radius:12px}
.unified-intake form{display:block}
.intake-step{border:0;padding:0;margin:0;min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}
.intake-step[hidden],.intake-step [hidden]{display:none}
.intake-step legend{font:300 1.9rem/1.15 Spectral,serif;padding:0 0 1.5rem}
.unified-intake .brief-field label{color:var(--ink-soft);font-size:.72rem;font-weight:600;letter-spacing:.025em;text-transform:none}
.unified-intake .intake-step .brief-field{grid-column:1/-1}
.unified-intake .intake-step[data-step="2"]>.brief-field:nth-of-type(1),.unified-intake .intake-step[data-step="2"]>.brief-field:nth-of-type(2){grid-column:auto}
.unified-intake .intake-next{margin-top:.35rem;background:var(--forest);color:white;justify-content:space-between}
.intake-back{grid-column:1/-1;justify-self:start;padding:.5rem 0;border:0;background:transparent;color:var(--ink-soft);font:inherit;font-size:.8rem;cursor:pointer}
.unified-intake .brief-submit-row{grid-template-columns:1fr;gap:1rem}
.unified-intake .brief-consent{font-size:.75rem}
.intake-card #brief-status{font-size:.78rem;color:var(--ink-soft);margin-top:1.2rem;line-height:1.55}
.intake-card #brief-status.success{color:#245d3b}.intake-card #brief-status.error{color:#8d2d24}
.intake-next:after{content:none}
.unified-intake form[data-intake="callback"]{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.unified-intake .brief-submit-row{margin-top:0}
.unified-intake .brief-submit{justify-content:center;width:100%}
.unified-intake .intake-card{border-radius:18px}
@media(max-width:600px){.unified-intake form[data-intake="callback"]{grid-template-columns:1fr}}
.return-inquiry{text-align:center;background:var(--cream)}
.return-inquiry h2{max-width:750px;margin:auto}.return-inquiry p{margin:1.4rem auto}.return-inquiry .button{margin:1rem}.return-inquiry .text-link{margin:1rem}
@media(max-width:600px){.unified-intake{padding-block:2.5rem;gap:1.5rem}.unified-intake h2{font-size:2.7rem}.intake-privacy{display:none}.intake-progress{margin-top:1.2rem!important}.intake-card{padding:1.4rem}.intake-step{grid-template-columns:1fr}.unified-intake .brief-submit{width:100%}}
.hero-concept-note{position:absolute;bottom:1rem;right:1.25rem;color:#e0dfd6;font-size:.6rem;letter-spacing:.05em;z-index:2}
@media(max-width:600px){
  .cinematic-hero.stone-portrait .hero-photo{object-position:center center;transform-origin:center center}
  .cinematic-hero.stone-crop .hero-photo{object-position:72% center;transform-origin:72% center}
  .is-scroll-ready .stone-portrait .home-hero-copy{top:8%;bottom:auto}
  .is-scroll-ready .stone-portrait .hero-shade{background:linear-gradient(180deg,rgba(6,20,14,.72),rgba(6,20,14,.35) 40%,rgba(6,20,14,.03) 66%,rgba(6,20,14,.4))}
  .is-scroll-ready .stone-portrait .home-hero-copy>p:not(.eyebrow){font-size:.88rem;line-height:1.5}
}

.cinematic-hero .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-description-mobile{display:none}
@media(max-width:600px){
  .hero-description-desktop{display:none}
  .hero-description-mobile{display:inline}
  .cinematic-hero .home-hero-copy h1{font-size:clamp(2.75rem,13.5vw,4.5rem);line-height:1.02;letter-spacing:-.055em}
  .cinematic-hero .home-hero-copy h1 .hero-phrase{white-space:nowrap}
  .is-scroll-ready .stone-portrait .home-hero-copy{top:6%;bottom:auto}
  .cinematic-hero .home-hero-copy>p:not(.eyebrow),.is-scroll-ready .stone-portrait .home-hero-copy>p:not(.eyebrow){font-size:1rem;line-height:1.5;margin-top:1rem;max-width:26rem}
  .is-scroll-ready .stone-portrait .hero-shade{background:linear-gradient(180deg,rgba(6,20,14,.8),rgba(6,20,14,.48) 34%,rgba(6,20,14,.04) 58%,rgba(6,20,14,.4))}
  .cinematic-hero .hero-actions .text-link{font-size:.7rem;letter-spacing:.045em}
}
