/* Homepage: concrete case studies within the established cinematic brand. */
.home .hero{height:auto;min-height:960px;max-height:none;display:flex;align-items:flex-start}
.home .hero-copy{position:relative;top:auto;left:auto;margin:190px var(--side) 275px;max-width:820px}
.home .hero-role{font-size:1rem;letter-spacing:.08em;color:#ddd9cd;margin:0 0 25px}.home .hero-role span{color:var(--gold);margin:0 8px}
.home h1{font-size:clamp(2.4rem,4.1vw,4.6rem);line-height:1.45;letter-spacing:-.04em}
.home .hero-shade{background:linear-gradient(90deg,rgba(6,9,8,.48),rgba(6,9,8,.12) 58%,transparent 78%),linear-gradient(0deg,rgba(10,13,11,.8),transparent 50%)}
.home .hero-intro{font-size:1.0625rem;line-height:1.95;max-width:520px;color:#d0d2c9;margin:26px 0 30px}
.home .hero-outline{font-size:clamp(130px,19vw,380px);opacity:.55;bottom:10%;left:3%}.home .hero-foot{bottom:3.8%}.home .hero-foot small{font-size:.75rem}.home .hero-foot span span{font-size:.875rem}
.home .brand-caption{font-size:.75rem;letter-spacing:.13em}.home .section-caption{font-size:.75rem}.home .section-top .eyebrow{font-size:.75rem}
.home .section-pad{padding-top:100px;padding-bottom:100px}.home .section-heading h2{font-size:clamp(2.2rem,3.7vw,3.65rem)}.home .section-heading>p{font-size:1rem}
.project-heading{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;border-top:1px solid var(--gold);padding:36px 0}
.case-kicker{color:var(--gold);font-size:.875rem;letter-spacing:.1em;margin:0 0 20px}.project-heading h3{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3.3rem);line-height:1.4;margin:0;font-weight:600}.project-subtitle{font-size:1.25rem;color:#bfc4b8;margin:12px 0 0}
.project-status{font-size:.875rem;line-height:1.8;color:var(--ink);margin:0 0 4px;padding-left:20px;border-left:1px solid var(--gold);flex-shrink:0}.project-status span{color:var(--muted);font-size:.8125rem}
.decision-map{margin:0;background:linear-gradient(120deg,#242a20,#171c16 65%);padding:30px 30px 36px;border:1px solid #414835}.decision-map figcaption,.handoff-map figcaption{display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:.875rem;color:#dedfcd}.decision-map figcaption>span:last-child,.handoff-map figcaption>span{color:var(--muted);font-size:.75rem;letter-spacing:.1em}
.decision-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:36px 0 0;padding:0;gap:0}.decision-steps li{position:relative;padding:0 24px 0 0;min-width:0}.decision-steps li:last-child{padding-right:0}.decision-steps li:not(:last-child)::before{content:'';position:absolute;top:21px;left:42px;right:0;height:1px;background:#596246}
.step-number{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #a28d65;border-radius:50%;background:#1c231a;color:#d2bc95;font-family:Georgia,serif;font-size:1rem}.decision-steps h4{font-size:1.125rem;font-weight:400;margin:24px 0 10px;color:#eee9dc;line-height:1.6}.decision-steps p{font-size:1rem;color:#b7bfad;line-height:1.85;margin:0}
.case-story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;margin:40px 0 32px}.case-story h4{font-size:.875rem;font-weight:400;color:var(--gold);letter-spacing:.1em;margin:0 0 14px}.case-story p{font-size:1rem;line-height:1.95;margin:0;color:#c7cbbf}
.case-footnote{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.case-footnote>p{margin:0;color:#a9b09f;font-size:.875rem;line-height:1.8}.case-reading{display:flex;gap:22px;flex-wrap:wrap;font-size:.875rem;line-height:1.8}.case-reading>span{color:var(--muted)}.case-reading a,.method-link{color:#d4bf99;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#766b53}.case-reading a:hover,.method-link:hover{color:#fff2d8;text-decoration-color:currentColor}
.support-case{display:grid;grid-template-columns:1.15fr 1fr;gap:9%;margin-top:85px;padding-top:55px;border-top:1px solid var(--line)}.support-copy h3{font-family:var(--serif);font-size:clamp(1.6rem,2.5vw,2.5rem);line-height:1.6;margin:0 0 26px;font-weight:600}.support-copy>p:not(.case-kicker){font-size:1rem;color:#bdc4b6;line-height:1.95;margin:0 0 18px}.support-copy>p.delivery-label{font-size:.875rem;color:#d8c4a0;border-left:2px solid var(--gold);padding-left:14px;margin-top:26px}
.handoff-map{margin:5px 0 0;padding:28px 30px;background:#191e18;border:1px solid var(--line);align-self:start}.handoff-map ol{list-style:none;margin:26px 0 0;padding:0}.handoff-map li{position:relative;padding:0 0 24px 27px;border-left:1px solid #596246}.handoff-map li::before{content:'';position:absolute;left:-4px;top:8px;width:7px;height:7px;background:var(--gold)}.handoff-map li:last-child{padding-bottom:0;border-color:transparent}.handoff-map li>span{font-size:.875rem;color:var(--gold);letter-spacing:.06em}.handoff-map p{font-size:1rem;color:#c0c7b8;margin:7px 0 0;line-height:1.85}
.home .about h2{font-size:clamp(2rem,3.45vw,3.5rem)}.home .about-body{padding-top:16px}.home .small-note{font-size:.875rem;line-height:2}.home .experience-row h3{font-size:clamp(1.5rem,2.1vw,2rem)}.method-output{color:#a7b19b;font-size:.875rem;margin:16px 0 0;line-height:1.9}.home .experience-detail p{font-size:1rem}.method-link{font-size:.875rem;line-height:2}
.home .contact h2{font-size:clamp(2.25rem,4.5vw,4.8rem)}.home .contact-inner>p:not(.contact-pretitle){font-size:1rem}
@media(max-width:1100px){.home .hero{min-height:870px}.home .hero-copy{margin-top:180px;margin-bottom:255px;max-width:720px}.home .hero-intro{max-width:480px}.decision-map{padding:26px 22px}.decision-steps li{padding-right:16px}.decision-steps h4{font-size:1rem}.decision-steps p{font-size:1rem}.case-story{gap:24px}.support-case{gap:6%}}
@media(max-width:900px){.decision-steps{grid-template-columns:1fr;margin-top:28px;gap:0}.decision-steps li{padding:0 0 26px 65px;min-height:78px}.decision-steps li:last-child{padding-bottom:0}.step-number{position:absolute;left:0;top:0}.decision-steps li:not(:last-child)::before{top:42px;bottom:0;left:21px;right:auto;height:auto;width:1px}.decision-steps h4{margin:0 0 5px;font-size:1.125rem}.case-story{grid-template-columns:1fr;gap:26px}.support-case{grid-template-columns:1fr;gap:32px}.handoff-map{max-width:none}.home .hero-intro{max-width:470px}}
@media(max-width:700px){.home .site-header{gap:14px}.home .brand-caption{display:none}.home .menu-toggle{font-size:.875rem}.home .hero{min-height:0;display:block;padding:340px 24px 160px}.home .hero-photo img{height:560px;width:160%;left:-49%;object-position:70% 32%}.home .hero-shade{background:linear-gradient(0deg,#111510 0%,#111510 41%,rgba(17,21,16,.95) 50%,rgba(17,21,16,.5) 66%,transparent 84%)}.home .hero-copy{position:relative;inset:auto;margin:0;max-width:none}.home .hero-role{font-size:.875rem;line-height:1.8;margin-bottom:18px;letter-spacing:0}.home .hero-role span{margin:0 4px}.home h1{font-size:clamp(1.9rem,6.8vw,2.8rem);line-height:1.55;letter-spacing:-.045em}.home .line{overflow:visible}.home .hero-intro{font-size:1rem;line-height:1.9;margin:23px 0 26px}.home .hero-link{font-size:1rem}.home .hero-outline{font-size:16vw;bottom:102px;opacity:.35}.home .hero-foot{bottom:28px}.home .hero-foot small{font-size:.75rem}.home .hero-foot span span{font-size:.8125rem}.home .section-pad{padding:64px 24px}.home .section-top{margin-bottom:40px}.home .section-heading h2{font-size:2.125rem;line-height:1.6}.project-heading{display:block;padding:30px 0}.project-heading h3{font-size:1.9rem}.project-subtitle{font-size:1.125rem}.project-status{display:inline-block;margin:24px 0 0;padding-left:14px}.case-kicker{font-size:.8125rem;letter-spacing:.06em;margin-bottom:18px}.decision-map{padding:24px 20px 28px}.decision-map figcaption{align-items:flex-start}.decision-steps li{padding-left:58px;padding-right:0}.case-story{margin-top:30px}.case-footnote{gap:18px}.case-reading{gap:12px 20px}.case-reading>span{flex-basis:100%}.support-case{margin-top:56px;padding-top:36px}.support-copy h3{font-size:1.65rem}.handoff-map{padding:24px 20px}.home .about h2{font-size:2rem}.home .small-note{font-size:.8125rem}.home .about-body .lead{font-size:1.25rem}.home .about-body p{font-size:1rem}.home .experience-row h3{font-size:1.5rem}.method-output{margin-top:10px}.home .contact h2{font-size:2rem}.home .contact-inner>p:not(.contact-pretitle) br{display:none}.home .contact footer p{font-size:.75rem;line-height:1.8}.home .copyright{font-size:.75rem}}
@media(min-width:701px) and (max-width:900px){.home .hero{min-height:1050px}.home .hero-copy{margin-top:400px;margin-bottom:200px}.home .hero-photo img{height:760px;object-position:62% 35%}.home .hero-shade{background:linear-gradient(0deg,#111510 0%,rgba(17,21,16,.98) 32%,rgba(17,21,16,.7) 49%,transparent 78%)}.home .hero-intro{max-width:590px}.home .brand-caption{display:none}.home .hero-outline{font-size:16vw;bottom:10%}}
