/* V4 home — dark hero, large type, cross-band layouts */
.hero{position:relative;padding:72px 0 88px;background:var(--bg-deep);color:var(--ink-on-dark);overflow:hidden;border-bottom:0}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 75% 40%,rgba(47,107,255,.28),transparent 60%),radial-gradient(ellipse 40% 40% at 10% 80%,rgba(105,210,255,.12),transparent 50%);pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;gap:48px;grid-template-columns:1fr 1.05fr;align-items:center}
.hero h1{margin-bottom:20px;max-width:12em;color:#fff;font-weight:800}
.hero-lead{font-size:clamp(1.05rem,1.6vw,1.22rem);color:var(--ink-on-dark-muted);max-width:34em;margin-bottom:32px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero-phone{display:inline-flex;gap:8px;color:#fff;font-weight:650;font-size:15px;margin:0}.hero-phone a{color:#fff}
.hero-visual{position:relative;aspect-ratio:14/9;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lift);background:var(--bg-deep-2)}
.hero-visual picture,.hero-visual img{width:100%;height:100%;object-fit:cover;display:block}
.hero-visual .hero-grid-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.9;display:block}
.hero-aside{background:rgba(11,31,58,.85);border:1px solid var(--line-on-dark);border-radius:var(--radius);padding:24px;backdrop-filter:blur(8px)}
.hero-aside h2{font-size:1rem;margin-bottom:14px;color:#fff}.hero-aside ol{margin:0;padding-left:1.15em;color:var(--ink-on-dark-muted)}.hero-aside li{margin-bottom:8px}.hero-aside .note{margin:16px 0 0;color:var(--accent)}

.trouble-list{border-top:1px solid var(--line)}
.trouble-item{display:grid;grid-template-columns:88px 1fr;gap:28px;padding:36px 0;border-bottom:1px solid var(--line)}
.trouble-item .n{font-size:clamp(2rem,4vw,2.75rem);font-weight:800;color:var(--brand);letter-spacing:-.04em;line-height:1}
.trouble-item h3{margin-bottom:8px;font-size:clamp(1.2rem,2vw,1.45rem)}.trouble-item p{margin:0;color:var(--ink-muted);max-width:40em}

.svc-rows{display:flex;flex-direction:column;gap:0}
.svc-row{display:grid;grid-template-columns:220px 1fr;gap:36px;padding:40px 0;border-bottom:1px solid var(--line);background:transparent;border-radius:0}
.svc-row:first-child{border-top:1px solid var(--line)}
.svc-row h3{font-size:1.35rem;margin:0 0 8px}
.svc-meta{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}
.svc-meta dt{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--brand);margin-bottom:8px}
.svc-meta dd{margin:0;color:var(--ink-2);font-size:15px}

/* immersion band */
.immersion{position:relative;min-height:320px;padding:0;overflow:hidden;background:var(--bg-deep)}
.immersion__media{position:absolute;inset:0}
.immersion__media img{width:100%;height:100%;object-fit:cover}
.immersion__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,17,31,.82) 0%,rgba(8,17,31,.35) 55%,rgba(8,17,31,.55) 100%)}
.immersion__content{position:relative;z-index:1;padding:96px 0;color:#fff}
.immersion__content h2{color:#fff;font-size:clamp(1.8rem,3.5vw,2.75rem);max-width:14em;margin-bottom:12px}
.immersion__content p{color:var(--ink-on-dark-muted);max-width:32em;margin:0;font-size:var(--fs-lg)}

.cases-stage{background:transparent;color:#fff;border-radius:0;overflow:visible}
.cases-stage .stage-inner{display:grid;grid-template-columns:1.2fr .8fr;min-height:460px;gap:0;background:var(--bg-deep-2);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lift)}
.cases-visual{position:relative;background:#050b14;overflow:hidden;min-height:300px}
.cases-visual img{width:100%;height:100%;object-fit:cover;object-position:top left;opacity:0;position:absolute;inset:0;transition:opacity 480ms var(--ease),transform 480ms var(--ease);transform:scale(1.03)}
.cases-visual img.is-active{opacity:1;position:relative;transform:none}
.cases-copy{padding:40px 36px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,var(--bg-deep-2),var(--bg-deep))}
.cases-copy .pill{align-self:flex-start;margin-bottom:14px}.cases-copy h3{color:#fff;margin-bottom:12px;font-size:1.5rem}
.cases-copy p{color:rgba(255,255,255,.72);margin-bottom:10px}.cases-copy .pair{font-size:14px}.cases-copy .pair strong{color:rgba(255,255,255,.92)}
.cases-nav{display:flex;align-items:center;gap:10px;margin-top:22px;flex-wrap:wrap}
.cases-nav button{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;cursor:pointer;transition:transform var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
@media(hover:hover){.cases-nav button:hover{transform:scale(1.08);border-color:#fff}}
.carousel-dots{display:flex;gap:8px;margin-left:8px}
.carousel-dot{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.28);cursor:pointer}
.carousel-dot[aria-current=true]{background:var(--cyan)}

.roles{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.role{padding:28px 24px;background:transparent;border:0;border-left:2px solid var(--brand);border-radius:0}
.role h3{font-size:1.05rem;margin-bottom:10px}.role p{margin:0;font-size:14px;color:var(--ink-muted)}

.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:0;border-radius:0;overflow:hidden}
.fact{background:var(--surface);padding:28px 28px}.fact dt{font-size:12px;font-weight:700;color:var(--brand);margin-bottom:8px;letter-spacing:.06em}
.fact dd{margin:0;font-size:17px;color:var(--ink);font-weight:650}.fact dd a{color:var(--ink)}

.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{cursor:pointer;list-style:none;padding:20px 0;font-weight:650;display:flex;justify-content:space-between;gap:16px;transition:color var(--dur-fast) var(--ease)}
.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";color:var(--brand);font-size:22px;transition:transform var(--dur-ui) var(--ease)}
.faq-item[open] summary::after{content:"–"}.faq-item .ans{padding:0 0 22px;color:var(--ink-muted);max-width:680px}
@media(hover:hover){.faq-item summary:hover{color:var(--brand)}}

.final-cta{position:relative;background:var(--bg-deep);color:#fff;border-radius:var(--radius);padding:64px 48px;display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center;overflow:hidden;isolation:isolate}
.final-cta__bg{position:absolute;inset:0;z-index:0;opacity:.55}
.final-cta__bg img{width:100%;height:100%;object-fit:cover}
.final-cta > *{position:relative;z-index:1}
.final-cta h2{color:#fff;margin-bottom:12px;font-size:clamp(1.6rem,3vw,2.2rem)}.final-cta p{color:rgba(255,255,255,.72);margin:0 0 20px}
.final-cta .btn-primary{background:var(--brand);color:#fff}
.final-phone{font-size:1.5rem;font-weight:700}.final-phone a{color:#fff}

@media(max-width:900px){
.hero{padding:48px 0 56px}
.hero-grid,.cases-stage .stage-inner,.svc-row,.svc-meta,.roles,.facts,.final-cta,.trouble-item{grid-template-columns:1fr}
.section{padding:64px 0}.final-cta{padding:40px 24px}
.immersion__content{padding:64px 0}
.hero-aside{display:none}
}

/* stage-focus sticky delivery narrative */
.stage-focus{display:grid;grid-template-columns:minmax(240px,.85fr) 1.15fr;gap:36px;align-items:start}
.stage-focus__tabs{display:flex;flex-direction:column;gap:4px;position:sticky;top:calc(var(--header-h) + 20px)}
.stage-focus__btn{appearance:none;width:100%;text-align:left;background:transparent;border:0;border-left:2px solid var(--line);border-radius:0;padding:16px 18px;cursor:pointer;display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;color:var(--ink-2);transition:border-color var(--dur-ui) var(--ease),background var(--dur-ui) var(--ease),transform var(--dur-fast) var(--ease),opacity var(--dur-ui) var(--ease)}
@media(hover:hover){.stage-focus__btn:hover{border-left-color:var(--brand);background:var(--brand-soft);transform:translateX(3px)}}
.stage-focus__btn.is-active,.stage-focus__btn[aria-selected=true]{border-left-color:var(--brand);background:var(--brand-soft);color:var(--ink);font-weight:650}
.stage-focus__idx{font-size:20px;font-weight:800;color:var(--brand);font-variant-numeric:tabular-nums}
.stage-focus__label{font-size:14px;line-height:1.35}
.stage-focus__panels{min-height:300px}
.stage-focus__panel{display:none;padding:36px;background:var(--bg-deep);color:var(--ink-on-dark);border:0;border-radius:var(--radius);box-shadow:var(--shadow-lift)}
.stage-focus__panel.is-active{display:block}
.stage-focus__panel h3{margin:0 0 12px;font-size:1.45rem;color:#fff}
.stage-focus__panel > p{margin:0 0 18px;color:var(--ink-on-dark-muted)}
.stage-focus__panel .check-list li{border-bottom-color:var(--line-on-dark);color:rgba(247,249,252,.8)}
.stage-focus__panel .check-list li::before{border-color:var(--cyan);background:linear-gradient(var(--cyan),var(--cyan)) center/8px 8px no-repeat content-box}
@media(max-width:900px){
.stage-focus{grid-template-columns:1fr}
.stage-focus__tabs{position:static;flex-direction:column;gap:0}
.stage-focus__btn{min-width:0;padding:14px 0}
@media(hover:hover){.stage-focus__btn:hover{transform:none}}
}

/* hero dark-zone controls */
.hero .btn-ghost{border-color:rgba(247,249,252,.35);color:#fff}
@media(hover:hover){.hero .btn-ghost:hover{border-color:#fff;color:#fff}}
.hero .btn-primary{background:var(--brand);color:#fff}
