:root{
  --bg:#04070b;--ink:#f5f7f8;--muted:#9aa7b2;--line:rgba(255,255,255,.14);
  --red:#ff3b30;--cyan:#8bdcff;--ease:cubic-bezier(.22,.75,.2,1)
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;background:var(--bg);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;overflow:hidden}
button{font:inherit;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #fff;outline-offset:3px}

.topbar{
  position:fixed;z-index:50;inset:0 0 auto;height:72px;display:flex;align-items:center;justify-content:space-between;
  padding:0 34px;background:linear-gradient(180deg,rgba(4,7,11,.92),rgba(4,7,11,.5),transparent);
  pointer-events:none
}
.brand,.topbar nav{pointer-events:auto}.brand{height:40px;display:flex;align-items:center}.brand img{height:31px;width:auto;display:block}
.topbar nav{display:flex;align-items:center;gap:8px}
.topbar nav button{border:0;background:rgba(4,7,11,.25);backdrop-filter:blur(8px);padding:10px 11px;font-size:10px;letter-spacing:.15em;cursor:pointer;color:#d0d7dd}
.topbar nav button:hover{color:#fff}
.topbar nav .start{border:1px solid rgba(255,255,255,.32);border-radius:999px;padding-inline:17px}

.app-shell{position:fixed;inset:0;background:#05080d}
.instrument-pane{position:absolute;inset:0;overflow:hidden;background:#07101a}
.scene-wrap{position:absolute;inset:0 0 96px;overflow:hidden;cursor:crosshair}
#sceneImage{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1.025);filter:saturate(.92) contrast(1.08) brightness(.82);
  transition:transform .9s var(--ease),filter .6s ease,opacity .35s ease
}
.scene-wrap::before{
  content:"";position:absolute;z-index:1;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(3,6,10,.93) 0%,rgba(3,6,10,.76) 26%,rgba(3,6,10,.2) 48%,rgba(3,6,10,.03) 72%),
    linear-gradient(0deg,rgba(3,6,10,.28),transparent 32%);
}
.scene-wrap::after{
  content:"";position:absolute;z-index:1;inset:0;pointer-events:none;
  background:radial-gradient(circle at 76% 52%,transparent 0 22%,rgba(1,4,8,.04) 34%,rgba(1,4,8,.18) 72%);
}
.scene-tint{position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 55%,rgba(255,54,44,.14),transparent 18%);transition:.5s ease}
.scene-caption{
  position:absolute;z-index:7;top:94px;right:30px;text-align:right;padding:10px 12px;border-right:2px solid rgba(255,255,255,.5);
  background:linear-gradient(90deg,transparent,rgba(3,7,11,.42))
}
.scene-caption span{display:block;font-size:9px;letter-spacing:.18em;color:#9edfff}.scene-caption strong{display:block;margin-top:4px;font-size:16px;font-weight:600}

.copy-pane{
  position:absolute;z-index:8;left:0;top:0;bottom:96px;width:min(710px,49vw);padding:clamp(110px,14vh,150px) 0 32px clamp(34px,4.5vw,74px);
  display:flex;flex-direction:column;justify-content:center;pointer-events:none
}
.copy-pane>*{pointer-events:auto}
.kicker{margin:0 0 14px;font-size:10px;letter-spacing:.23em;color:#b1c1ce}
.copy-pane h1{
  margin:0;max-width:650px;font-size:clamp(50px,5.4vw,88px);line-height:.91;letter-spacing:-.055em;font-weight:740;text-wrap:balance;
  text-shadow:0 18px 40px rgba(0,0,0,.35)
}
.lede{margin:22px 0 0;max-width:570px;font-size:clamp(16px,1.3vw,20px);line-height:1.45;color:#cbd2d8;text-shadow:0 8px 20px rgba(0,0,0,.5)}
.proof-strip{
  display:flex;gap:26px;margin-top:27px;padding:13px 0;border-block:1px solid rgba(255,255,255,.17);max-width:560px;
  background:linear-gradient(90deg,rgba(3,6,10,.28),transparent)
}
.proof-strip div{min-width:110px}.proof-strip strong{display:block;font-size:15px}.proof-strip span{display:block;margin-top:4px;font-size:10px;color:#9aa8b3}
.claim{margin:16px 0 0;max-width:555px;padding-left:13px;border-left:2px solid var(--red);font-size:13px;line-height:1.4;color:#eef1f3}
.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:21px}
.actions button{min-height:43px;border:1px solid rgba(255,255,255,.27);border-radius:999px;background:#f5f7f8;color:#071019;padding:0 18px;font-size:11px;font-weight:780;letter-spacing:.04em;cursor:pointer}
.actions .ghost{background:rgba(2,5,9,.22);backdrop-filter:blur(10px);color:#fff}
.actions button:hover{transform:translateY(-1px)}
.micro{margin:13px 0 0;font-size:9px;color:#798792;letter-spacing:.04em}.micro a{color:#95a3ad;text-decoration:none;border-bottom:1px solid rgba(149,163,173,.35);padding-bottom:1px}.micro a:hover{color:#fff;border-bottom-color:rgba(255,255,255,.7)}

.inspection-lens{
  position:absolute;z-index:5;width:225px;height:225px;border-radius:50%;pointer-events:none;left:73%;top:51%;opacity:0;
  transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.72);
  box-shadow:0 0 0 9999px rgba(2,5,9,.1),0 0 55px rgba(113,218,255,.17),inset 0 0 35px rgba(113,218,255,.08);
  background:radial-gradient(circle,rgba(143,224,255,.1),rgba(255,255,255,.02) 53%,transparent 70%);transition:opacity .22s ease
}
.scene-wrap.inspecting .inspection-lens{opacity:1}
.scene-wrap.inspecting #sceneImage{filter:saturate(1.04) contrast(1.16) brightness(.94)}
.scene-wrap.focused #sceneImage{transform:scale(1.075)}
.scene-wrap.focused .scene-tint{background:radial-gradient(circle at 77% 53%,rgba(255,50,39,.34),transparent 14%)}

.evidence-table{
  position:absolute;z-index:9;right:24px;bottom:120px;width:min(700px,50vw);display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch
}
.e-row{
  min-height:94px;border:1px solid rgba(255,255,255,.16);background:rgba(4,8,13,.56);backdrop-filter:blur(16px);
  color:#fff;text-align:left;padding:13px 12px;cursor:pointer;position:relative;display:grid;grid-template-columns:24px 1fr;grid-template-rows:auto 1fr;column-gap:7px
}
.e-row span{font-size:9px;color:#778795}.e-row strong{font-size:12px}.e-row small{grid-column:2;font-size:9px;line-height:1.3;color:#8f9da8;margin-top:5px}
.e-row::after{content:"";position:absolute;left:-1px;right:-1px;bottom:-1px;height:2px;background:transparent}.e-row.active::after{background:var(--red)}
.e-row.active{background:rgba(8,13,20,.8);border-color:rgba(255,255,255,.3)}
.interpretation{
  position:absolute;right:0;bottom:calc(100% + 10px);width:330px;padding:16px 17px;background:rgba(4,8,13,.72);backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.16)
}
.interpretation p{margin:0;color:#8cddff;font-size:8px;letter-spacing:.15em}.interpretation h2{margin:5px 0 8px;font-size:20px;line-height:1.02;letter-spacing:-.03em}.interpretation span{font-size:10px;line-height:1.4;color:#aab6c0;display:block}

.stage-rail{
  position:absolute;z-index:20;left:0;right:0;bottom:0;height:96px;display:grid;grid-template-columns:repeat(7,1fr);
  background:linear-gradient(180deg,rgba(4,8,13,.58),rgba(4,8,13,.94));backdrop-filter:blur(18px);border-top:1px solid rgba(255,255,255,.12)
}
.stage-rail button{position:relative;border:0;background:transparent;color:#dde4e9;display:flex;align-items:center;gap:8px;padding:0 15px;cursor:pointer;text-align:left}
.stage-rail button b{font-size:9px;color:#71818d}.stage-rail button span{font-size:11px;font-weight:650}.stage-rail button small{display:block;margin-top:3px;font-size:7px;letter-spacing:.14em;color:#6f808c}
.stage-rail button::after{content:"";position:absolute;left:15px;right:15px;bottom:18px;height:1px;background:rgba(255,255,255,.09)}
.stage-rail button.active::after{height:2px;background:var(--red)}.stage-rail button.active span{color:#fff}

.drawer{position:fixed;z-index:100;inset:72px 0 0;background:#e8e7e1;transform:translateY(105%);transition:transform .55s var(--ease);display:grid;grid-template-rows:60px 1fr}
.drawer.open{transform:translateY(0)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#061421;color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
.drawer-head p{margin:0;font-size:8px;color:#8cddff;letter-spacing:.15em}.drawer-head h2{margin:3px 0 0;font-size:17px}.drawer-head button{border:1px solid rgba(255,255,255,.28);background:transparent;padding:9px 14px;font-size:9px;letter-spacing:.13em;cursor:pointer}
.drawer iframe{width:100%;height:100%;border:0;background:#f4f3ed}

body.stage-scorecard .scene-wrap::before{background:linear-gradient(90deg,rgba(3,6,10,.92) 0%,rgba(3,6,10,.7) 28%,rgba(3,6,10,.08) 54%,transparent 78%)}
body.stage-scorecard #sceneImage{object-position:center}
body.stage-assurance .scene-tint{background:linear-gradient(90deg,rgba(89,216,255,.06),transparent 55%,rgba(255,47,37,.18))}
body.stage-engage .scene-wrap{cursor:default}

@media(max-width:980px){
  html,body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}
  .topbar{height:64px;padding:0 14px;background:linear-gradient(180deg,rgba(4,7,11,.98),rgba(4,7,11,.88),rgba(4,7,11,.52))}.brand img{height:26px}
  .topbar nav{gap:4px}.topbar nav button{display:none;min-height:44px;padding:0 8px;font-size:8px;letter-spacing:.10em}
  .topbar nav button[data-jump="scorecard"],.topbar nav button[data-jump="pilot"],.topbar nav .start{display:block}
  .topbar nav .start{padding-inline:12px}
  .app-shell{position:relative;min-height:100dvh;overflow:visible;background:#05080d}
  .copy-pane{position:relative;width:100%;min-height:0;padding:104px 20px 30px;background:#05080d;bottom:auto;justify-content:flex-start}
  .copy-pane h1{font-size:clamp(42px,11.2vw,58px);line-height:.94;letter-spacing:-.045em;text-wrap:balance}
  .lede{font-size:17px;line-height:1.5;margin-top:22px}
  .proof-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:24px;max-width:none}
  .proof-strip div{min-width:0;padding-right:12px}.proof-strip div+div{padding-left:12px;border-left:1px solid rgba(255,255,255,.10)}
  .claim{max-width:none;margin-top:18px;font-size:14px;line-height:1.48}
  .actions{margin-top:20px}.actions button{min-height:46px}
  .instrument-pane{position:relative;height:auto;min-height:0;padding-bottom:0;background:#07101a;overflow:visible}
  .scene-wrap{position:relative;inset:auto;height:auto;min-height:0;aspect-ratio:4/5;overflow:hidden;cursor:default}
  .scene-wrap::before{background:linear-gradient(180deg,rgba(3,6,10,.12),rgba(3,6,10,.28))}
  .scene-caption{top:18px;right:18px;max-width:72%;padding:8px 10px}
  .evidence-table{position:relative;right:auto;left:auto;bottom:auto;width:auto;display:grid;grid-template-columns:1fr;gap:10px;max-height:none;overflow:visible;margin:-54px 14px 18px;padding:0;z-index:10}
  .e-row{min-height:92px;padding:15px 14px;grid-template-columns:34px 1fr}.e-row strong{font-size:14px}.e-row small{font-size:11px;line-height:1.4}
  .interpretation{display:none}
  .stage-rail{position:relative;bottom:auto;height:auto;min-height:86px;display:flex;overflow-x:auto;overflow-y:hidden;background:#07131f;padding:8px 8px calc(14px + env(safe-area-inset-bottom));scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .stage-rail::-webkit-scrollbar{display:none}
  .stage-rail button{min-width:132px;flex:0 0 132px;min-height:64px;padding:0 14px;scroll-snap-align:start}.stage-rail button::after{bottom:6px}
  .drawer{inset:64px 0 0}
  .drawer-head button{min-height:44px;min-width:72px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}


/* Production suitability drawer */
.suitability-drawer{background:
  radial-gradient(circle at 80% 10%,rgba(56,96,126,.10),transparent 28%),
  #05080d;color:#f4f6f8}
.suitability-shell{height:100%;overflow:auto;display:grid;place-items:center;padding:40px 24px 60px}
#suitabilityForm{width:min(900px,100%);margin:auto}
.fit-step{background:rgba(8,13,20,.82);border:1px solid rgba(255,255,255,.14);padding:clamp(24px,4vw,46px);box-shadow:0 30px 90px rgba(0,0,0,.28)}
.fit-kicker{margin:0 0 10px;color:#8bdcff;font-size:10px;letter-spacing:.18em}
.fit-step h3{margin:0;font-size:clamp(34px,5vw,64px);line-height:.95;letter-spacing:-.045em}
.fit-copy{max-width:650px;margin:16px 0 28px;color:#aeb9c2;font-size:15px;line-height:1.45}
.fit-step label{display:block;margin-top:18px;color:#e9eef1;font-size:13px;line-height:1.35}
.fit-step textarea,.fit-step input,.fit-step select{
  width:100%;margin-top:8px;border:1px solid rgba(255,255,255,.18);background:#0a1119;color:#f7f9fa;
  border-radius:0;padding:13px 14px;font:inherit;outline:0
}
.fit-step textarea{min-height:110px;resize:vertical}
.fit-step input{min-height:46px}
.fit-step select{min-height:46px}
.fit-step textarea:focus,.fit-step input:focus,.fit-step select:focus{
  border-color:#8bdcff;box-shadow:0 0 0 3px rgba(139,220,255,.10)
}
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.fit-ack{display:flex!important;gap:10px;align-items:flex-start;color:#b8c1c8!important;font-size:12px!important}
.fit-ack input{width:auto!important;min-height:auto!important;margin-top:2px!important}
.fit-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.fit-actions button{min-height:44px;padding:0 18px;border:1px solid rgba(255,255,255,.24);cursor:pointer;font-size:11px;font-weight:760;letter-spacing:.05em}
.fit-primary{background:#f4f6f8;color:#071019}
.fit-secondary{background:transparent;color:#f1f4f6}
.fit-status{min-height:20px;margin:14px 0 0;color:#9fb0bc;font-size:12px}
.fit-status.error{color:#ff8a80}
.fit-status.success{color:#9ce3bf}
.fit-step[hidden]{display:none!important}

@media(max-width:700px){
  .fit-grid{grid-template-columns:1fr}
  .suitability-shell{place-items:start stretch;padding:20px 12px 40px}
  .fit-step{padding:22px 18px}
  .fit-step h3{font-size:40px}
}


.noscript-fallback,.js-failure-fallback{
  position:fixed;z-index:200;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:clamp(28px,7vw,96px);background:#05080d;color:#f5f7f8;overflow:auto
}
.js-failure-fallback{display:none}
.app-failed .js-failure-fallback{display:flex}
.noscript-fallback img,.js-failure-fallback img{width:min(320px,62vw);height:auto;margin-bottom:34px}
.noscript-fallback>p:first-of-type,.js-failure-fallback>p:first-of-type{margin:0 0 12px;color:#8bdcff;font-size:11px;letter-spacing:.18em}
.noscript-fallback h1,.js-failure-fallback h1{max-width:850px;margin:0;font-size:clamp(46px,7vw,96px);line-height:.94;letter-spacing:-.05em}
.noscript-fallback p,.js-failure-fallback p{max-width:720px;font-size:18px;line-height:1.45;color:#b5c0c8}
.noscript-fallback a,.js-failure-fallback a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.fallback-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px}.fallback-links a{display:inline-flex;min-height:44px;align-items:center}


/* APPROVED INDUSTRIAL ART V1 */
#sceneImage{filter:saturate(.98) contrast(1.04) brightness(.94)}
.scene-wrap.inspecting #sceneImage{filter:saturate(1.03) contrast(1.10) brightness(1)}

/* HALO WEBSITE V2 — EXACT APPROVED INDUSTRIAL ART / TONAL CADENCE 2026-10-03 */
body.stage-problem #sceneImage,
body.stage-evidence #sceneImage,
body.stage-assurance #sceneImage{filter:saturate(1.01) contrast(1.06) brightness(.96)}
body.stage-pilot #sceneImage,
body.stage-scorecard #sceneImage,
body.stage-engage #sceneImage{filter:saturate(.98) contrast(1.02) brightness(1.02)}

body.stage-pilot .scene-wrap::before,
body.stage-scorecard .scene-wrap::before,
body.stage-engage .scene-wrap::before{
  background:
    linear-gradient(90deg,rgba(243,247,249,.98) 0%,rgba(243,247,249,.88) 27%,rgba(243,247,249,.34) 49%,rgba(243,247,249,.03) 72%),
    linear-gradient(0deg,rgba(243,247,249,.10),transparent 34%);
}
body.stage-pilot .scene-wrap::after,
body.stage-scorecard .scene-wrap::after,
body.stage-engage .scene-wrap::after{
  background:radial-gradient(circle at 76% 52%,transparent 0 25%,rgba(255,255,255,.03) 38%,rgba(14,28,38,.05) 78%);
}
body.stage-pilot .copy-pane,
body.stage-scorecard .copy-pane,
body.stage-engage .copy-pane{color:#071019}
body.stage-pilot .copy-pane h1,
body.stage-scorecard .copy-pane h1,
body.stage-engage .copy-pane h1{color:#071019;text-shadow:none}
body.stage-pilot .kicker,
body.stage-scorecard .kicker,
body.stage-engage .kicker{color:#425866}
body.stage-pilot .lede,
body.stage-scorecard .lede,
body.stage-engage .lede{color:#263741;text-shadow:none}
body.stage-pilot .proof-strip,
body.stage-scorecard .proof-strip,
body.stage-engage .proof-strip{border-color:rgba(7,16,25,.18);background:linear-gradient(90deg,rgba(255,255,255,.28),transparent)}
body.stage-pilot .proof-strip span,
body.stage-scorecard .proof-strip span,
body.stage-engage .proof-strip span{color:#52636e}
body.stage-pilot .claim,
body.stage-scorecard .claim,
body.stage-engage .claim{color:#111c24}
body.stage-pilot .actions button,
body.stage-scorecard .actions button,
body.stage-engage .actions button{background:#071019;color:#f7f9fa;border-color:#071019}
body.stage-pilot .actions .ghost,
body.stage-scorecard .actions .ghost,
body.stage-engage .actions .ghost{background:rgba(255,255,255,.34);color:#071019;border-color:rgba(7,16,25,.32);backdrop-filter:blur(10px)}
body.stage-pilot .micro,
body.stage-scorecard .micro,
body.stage-engage .micro{color:#5c6c76}
body.stage-pilot .micro a,
body.stage-scorecard .micro a,
body.stage-engage .micro a{color:#334650;border-bottom-color:rgba(51,70,80,.38)}
body.stage-pilot .scene-caption,
body.stage-scorecard .scene-caption,
body.stage-engage .scene-caption{border-right-color:rgba(7,16,25,.42);background:linear-gradient(90deg,transparent,rgba(244,248,250,.56));color:#071019}
body.stage-pilot .scene-caption span,
body.stage-scorecard .scene-caption span,
body.stage-engage .scene-caption span{color:#176b88}
body.stage-pilot .instrument-pane,
body.stage-scorecard .instrument-pane,
body.stage-engage .instrument-pane{background:#e9eef1}
body.stage-pilot .inspection-lens,
body.stage-scorecard .inspection-lens,
body.stage-engage .inspection-lens{border-color:rgba(7,16,25,.55)}

@media(max-width:980px){
  body.stage-pilot .copy-pane,
  body.stage-scorecard .copy-pane,
  body.stage-engage .copy-pane{background:#f0f4f6}
  body.stage-pilot .proof-strip div+div,
  body.stage-scorecard .proof-strip div+div,
  body.stage-engage .proof-strip div+div{border-left-color:rgba(7,16,25,.12)}
  body.stage-pilot .scene-wrap::before,
  body.stage-scorecard .scene-wrap::before,
  body.stage-engage .scene-wrap::before{background:linear-gradient(180deg,rgba(245,248,249,.02),rgba(7,16,25,.08))}
}
