/* V4: preserve the approved visual system, refine behavior and commercial pages. */
.cinematic .hero{height:calc(var(--stage-h) + 110svh)}
.cinematic .philosophy{height:calc(100svh - 72px);min-height:500px}
.cinematic .philosophy-stage{position:relative;top:0}
.philosophy-principles{display:none}
.philosophy-stage{min-height:calc(100svh - 72px)}
@media(max-width:700px){.cinematic .hero{height:calc(var(--stage-h) + 100svh)}.cinematic .philosophy{height:calc(100svh - 76px);min-height:440px}.philosophy-stage{min-height:calc(100svh - 76px)}}
.capability-narrative{font-size:20px;line-height:1.8;color:#5e5e5e;margin-top:28px}
.industry-contact{align-self:start;justify-self:start;max-width:100%;font-size:11px;line-height:1.65;gap:25px}
.private-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:5vw;align-items:center}
.private-hero h1{font-size:clamp(45px,5.25vw,84px)}.private-hero .detail-intro{font-size:20px;margin:30px 0 10px}.private-hero figure{overflow:hidden}.private-hero figure img{height:640px;object-fit:cover;object-position:64% center}.private-hero .button{font-size:12px;gap:28px}
.private-capabilities,.private-perspective,.private-closing,.quote-section{padding:95px var(--page)}
.private-section-heading{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-bottom:65px}.private-section-heading h2,.private-perspective h2,.private-closing h2,.quote-heading h2{font-size:clamp(34px,4vw,64px);line-height:1.1}
.private-section-heading p,.private-perspective p,.private-closing p,.quote-heading>p:last-child{font-size:20px;line-height:1.75;color:#666;max-width:610px}
.capability-sequence details{border-top:1px solid #c2c2c2}.capability-sequence details:last-child{border-bottom:1px solid #c2c2c2}.capability-sequence summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:80px 1fr 30px;align-items:center;gap:25px;padding:30px 0}.capability-sequence summary::-webkit-details-marker{display:none}.capability-number{font-size:38px;font-weight:300;color:#999}.capability-sequence h3{font-size:clamp(23px,2.4vw,37px);font-weight:400;letter-spacing:-.035em}.capability-plus{font-size:28px;transition:transform .3s}.capability-sequence details[open] .capability-plus{transform:rotate(45deg)}.capability-sequence details>p{font-size:20px;color:#555;line-height:1.7;max-width:790px;padding:0 0 35px 105px}
.private-perspective{background:#080808;color:#eee;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.private-perspective p{color:#b9b9b9}.private-closing{display:grid;grid-template-columns:1fr 1fr;gap:8vw;border-bottom:1px solid #ccc}.private-closing .text-link{margin-top:32px}
.quote-section{max-width:1300px;margin:auto}.quote-heading{max-width:850px;margin-bottom:55px}.quote-heading .detail-kicker{font-size:12px;margin-bottom:26px}.quote-heading>p:last-child{margin-top:25px}
.quote-form{display:block}.quote-form>.form-pending{margin-bottom:36px}.wizard-progress{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;border-top:1px solid #ccc;margin:0 0 45px}.wizard-progress li{padding:18px 12px 0 0;line-height:1.6;font-size:14px;color:#777;position:relative}.wizard-progress li>span{display:block;font-size:12px;margin-bottom:6px}.wizard-progress li[aria-current=step]{color:#111}.wizard-progress li[aria-current=step]::before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:#111}
.wizard-step{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:30px 24px;min-width:0}.wizard-step>legend{font-size:21px;letter-spacing:.5px;padding:0 0 32px;width:100%}.wizard-step[hidden]{display:none}
.choice-field{border:0;padding:0;margin:0;min-width:0}.choice-field legend{font-size:17px;line-height:1.6;margin-bottom:18px}.choices{display:flex;flex-direction:column;gap:0}.choices label{display:flex;gap:14px;align-items:flex-start;border-top:1px solid #d5d5d5;padding:16px 0;font-size:17px;line-height:1.5;cursor:pointer}.choices input{width:19px;height:19px;flex:none;margin-top:3px;accent-color:#111}.choice-field .field-error{display:block;margin-top:7px}
.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:20px;border-top:1px solid #ccc;margin-top:10px}.wizard-actions .button{margin-top:0;font-size:12px;gap:25px}.wizard-actions .text-link,.review-edit .text-link{border:0;border-bottom:1px solid #999;background:none;cursor:pointer;margin-top:0;color:#222;min-height:44px}.wizard-actions .button:only-child{margin-left:auto}
.quote-review dl{display:grid;grid-template-columns:.7fr 1.3fr;gap:16px 28px;padding:22px 0;border-top:1px solid #ccc}.quote-review dt{font-size:14px;color:#666}.quote-review dd{font-size:17px;line-height:1.65;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.review-edit{display:flex;gap:30px}.quote-review h3{font-size:25px;font-weight:400;margin-bottom:25px}.quote-review dl:last-child{border-bottom:1px solid #ccc}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:900px){.private-hero-grid{grid-template-columns:1fr}.private-hero figure{margin-top:40px}.private-hero figure img{height:420px}.private-section-heading,.private-perspective,.private-closing{grid-template-columns:1fr;gap:35px}.private-hero h1{font-size:9vw}}
@media(max-width:700px){.private-hero h1{font-size:12vw}.private-hero .detail-kicker{font-size:10px;line-height:1.7}.private-hero .detail-intro{font-size:18px}.private-capabilities,.private-perspective,.private-closing,.quote-section{padding:60px var(--page)}.private-section-heading p,.private-perspective p,.private-closing p,.quote-heading>p:last-child,.capability-narrative{font-size:18px}.private-hero figure img{height:380px}.capability-sequence summary{grid-template-columns:34px 1fr 20px;gap:14px;padding:23px 0}.capability-number{font-size:25px}.capability-sequence h3{font-size:21px}.capability-sequence details>p{font-size:17px;padding-left:48px}.wizard-progress{margin-bottom:30px}.wizard-progress li{font-size:12px;padding-right:8px}.wizard-step{grid-template-columns:1fr;gap:26px}.wizard-step>legend{font-size:18px}.choices label,.choice-field legend{font-size:16px}.wizard-actions{flex-wrap:wrap;gap:18px}.wizard-actions .button{padding:17px;font-size:10px;gap:10px}.wizard-actions .text-link{font-size:12px}.quote-review dl{grid-template-columns:1fr;gap:8px}.quote-review dd{font-size:16px}.industry-contact{font-size:10px;gap:15px}.quote-heading h2{font-size:9vw}}
.header nav>a[aria-current="page"]::after{transform:scaleX(1)}
.wizard-step>legend:focus-visible{outline:1px solid #222;outline-offset:6px}
.field-error{color:#333}.field [aria-invalid=true]{border-color:#111;box-shadow:inset 3px 0 #111}
.wizard-progress{scroll-margin-top:18px}
