
:root{
  --navy:#0D346B;--navy-2:#0a2852;--navy-3:#071d3d;--teal:#009498;--teal-2:#00b3b8;--teal-soft:#e3f5f5;
  --bg:#f5f8fb;--surface:#ffffff;--surface-2:#eef3f8;--line:#dbe3eb;--fg:#0f2440;--fg-2:#46597a;--fg-3:#6f7f97;
  --ok:#2e8540;--warn:#b86a00;--crit:#c62a2f;--ok-soft:#e3f3e6;--warn-soft:#fdf0dc;--crit-soft:#fde6e6;
  --shadow:0 1px 2px rgba(13,52,107,.06),0 8px 28px rgba(13,52,107,.08);
  --f-display:'Archivo','Arial Narrow',system-ui,sans-serif;--f-body:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--f-mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
  --r:14px;--gut:max(20px,env(safe-area-inset-left,0px));--gut-r:max(20px,env(safe-area-inset-right,0px));
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#081426;--surface:#0f1d33;--surface-2:#142640;--line:#22344f;--fg:#e6edf6;--fg-2:#a9b7cc;--fg-3:#7d8ca5;--teal-soft:#0e3438;--ok-soft:#12302a;--warn-soft:#3a2a12;--crit-soft:#3d1a1d;--shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.25);color-scheme:dark}}
:root[data-theme="dark"]{--bg:#081426;--surface:#0f1d33;--surface-2:#142640;--line:#22344f;--fg:#e6edf6;--fg-2:#a9b7cc;--fg-3:#7d8ca5;--teal-soft:#0e3438;--ok-soft:#12302a;--warn-soft:#3a2a12;--crit-soft:#3d1a1d;--shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.25);color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--f-display);font-stretch:92%;line-height:1.1;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(40px,6.4vw,78px);font-weight:760}
h2{font-size:clamp(30px,4vw,48px);font-weight:720}
h3{font-size:20px;font-weight:680}
p{margin:0}
.wrap{max-width:1200px;margin:0 auto;padding-left:var(--gut);padding-right:var(--gut-r)}
.eyebrow{font:600 12px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.lead{font-size:clamp(17px,1.6vw,20px);color:var(--fg-2);max-width:62ch}
.muted{color:var(--fg-3)}.small{font-size:14px}.mono{font-family:var(--f-mono)}
section{padding-block:clamp(64px,9vw,120px)}
.sec-head{display:grid;gap:14px;margin-bottom:44px;max-width:780px}
.btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:13px 22px;font:600 15px/1 var(--f-body);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--teal);color:#fff;box-shadow:0 6px 20px rgba(0,148,152,.35)}
.btn.primary:hover{background:var(--teal-2)}
.btn.ghost{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.06)}
.btn.line{border-color:var(--line);color:var(--fg);background:var(--surface)}
.btn svg{width:16px;height:16px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px}

/* draft ribbon */
.draft{background:#fff4d6;color:#5a4300;font-size:13px;padding:7px var(--gut-r) 7px var(--gut);display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}
.draft button{font:inherit;font-weight:600;background:transparent;border:1px solid #c9a646;border-radius:999px;padding:2px 10px;cursor:pointer;color:inherit}
.tbc{display:inline-block;color:#b07a00;font-weight:700;margin-left:2px;cursor:help}
.tbcbox{border:1.5px dashed #d6a630;background:rgba(255,212,100,.10);border-radius:10px;padding:12px 14px;font-size:14px;color:var(--fg-2)}
body.final .draft,body.final .tbc{display:none}
body.final .tbcbox{border:0;background:none;padding:0}

/* header */
header.top{position:sticky;top:0;z-index:50;background:rgba(7,29,61,.86);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid rgba(255,255,255,.08);padding-top:env(safe-area-inset-top,0px)}
.nav{display:flex;align-items:center;gap:28px;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}
.brand svg{height:28px;width:auto}
.brand b{font:400 17px/1 'Source Sans 3',var(--f-body);letter-spacing:.32em}
.nav .links{display:flex;gap:4px;margin-left:auto}
.nav .links a{color:#c6d3e6;text-decoration:none;font-weight:500;font-size:15px;padding:8px 12px;border-radius:8px}
.nav .links a:hover,.nav .links a.on{color:#fff;background:rgba(255,255,255,.08)}
.nav .cta{margin-left:6px}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:8px;padding:8px 12px;font:600 14px var(--f-body);cursor:pointer}
@media (max-width:920px){.nav .links,.nav .cta{display:none}.menu-btn{display:block}
  header.open .nav{flex-wrap:wrap;height:auto;padding-block:14px}
  header.open .nav .links{display:grid;width:100%;order:3;margin:0;gap:2px}
  header.open .nav .cta{display:inline-flex;order:4;margin:6px 0 4px}}

/* hero */
.hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(1200px 600px at 85% -10%,rgba(0,148,152,.35),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(0,148,152,.18),transparent 60%),linear-gradient(160deg,var(--navy) 0%,var(--navy-3) 70%);padding-block:clamp(56px,8vw,110px) clamp(70px,9vw,120px)}
.hero canvas.ecg{position:absolute;inset:auto 0 0 0;width:100%;height:180px;opacity:.55;pointer-events:none}
.hero .grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(180deg,#000,transparent 85%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%)}
.hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
@media (max-width:980px){.hero-in{grid-template-columns:minmax(0,1fr)}}
.hero h1 .accent{background:linear-gradient(90deg,#5fe3e6,var(--teal));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{color:#c8d6ea;margin-top:22px}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.hero .proof{display:flex;gap:22px;flex-wrap:wrap;margin-top:34px;color:#9fb3cf;font-size:14px}
.hero .proof span{display:flex;align-items:center;gap:8px}
.hero .proof i{width:6px;height:6px;border-radius:50%;background:var(--teal-2);box-shadow:0 0 0 4px rgba(0,179,184,.18)}
.console{position:relative;background:rgba(9,25,52,.75);border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.45);padding:18px;backdrop-filter:blur(6px)}
.console .bar{display:flex;align-items:center;gap:8px;font:600 12px var(--f-mono);color:#8ea6c8;margin-bottom:14px}
.console .bar .dot{width:9px;height:9px;border-radius:50%;background:#2fd17c;box-shadow:0 0 0 0 rgba(47,209,124,.6);animation:ping 2s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(47,209,124,.6)}70%{box-shadow:0 0 0 10px rgba(47,209,124,0)}100%{box-shadow:0 0 0 0 rgba(47,209,124,0)}}
.console .kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kpi{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px}
.kpi .l{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8ea6c8}
.kpi .v{font:700 26px/1.1 var(--f-display);font-stretch:90%;margin-top:4px;font-variant-numeric:tabular-nums}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.tile{border-radius:10px;padding:9px 10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:6px;transition:background .4s,border-color .4s}
.tile b{font-weight:600;color:#dce6f4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile i{width:8px;height:8px;border-radius:50%;background:#2fd17c;flex:none}
.tile.bad{background:rgba(198,42,47,.18);border-color:rgba(255,107,107,.5)}.tile.bad i{background:#ff6b6b}
.tile.fix{background:rgba(0,179,184,.18);border-color:rgba(0,179,184,.6)}.tile.fix i{background:var(--teal-2)}
.feed{margin-top:12px;display:grid;gap:6px;min-height:96px}
.feed div{font:12px/1.4 var(--f-mono);color:#b9c9df;background:rgba(255,255,255,.04);border-radius:8px;padding:7px 10px;border-left:3px solid #2fd17c;animation:slidein .5s ease}
.feed div.c{border-left-color:#ff6b6b}.feed div.t{border-left-color:var(--teal-2)}
@keyframes slidein{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.console .note{position:absolute;right:16px;bottom:-26px;font-size:12px;color:#7f95b6}
@media (max-width:520px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.console .kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi .v{font-size:20px}}

/* trust marquee */
.trust{padding-block:34px;border-bottom:1px solid var(--line);background:var(--surface)}
.trust .t{text-align:center;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);margin-bottom:18px}
.marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee .row{display:flex;gap:64px;width:max-content;animation:marq 34s linear infinite}
.marquee:hover .row{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}
.wordmark{font:700 24px/1 var(--f-display);font-stretch:85%;color:var(--fg-2);white-space:nowrap;display:flex;align-items:center;gap:10px;opacity:.85}
.wordmark small{font:500 12px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}

/* stats */
.stat-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.stat-band>div{background:var(--surface);padding:26px 22px;display:grid;gap:6px;align-content:start}
.stat-band .n{font:760 clamp(36px,4.6vw,56px)/1 var(--f-display);font-stretch:85%;color:var(--navy);font-variant-numeric:tabular-nums}
:root[data-theme="dark"] .stat-band .n{color:#7fd8db}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .stat-band .n{color:#7fd8db}}
.stat-band .d{font-size:14px;color:var(--fg-2)}
@media (max-width:900px){.stat-band{grid-template-columns:repeat(2,minmax(0,1fr))}}
.src{font-size:12.5px;color:var(--fg-3);margin-top:14px}
.src a{color:var(--fg-2)}

/* problem */
.problem{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;align-items:center}
@media (max-width:900px){.problem{grid-template-columns:minmax(0,1fr)}}
.bigstat{display:grid;gap:18px}
.bigstat .item{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:baseline;padding-bottom:18px;border-bottom:1px solid var(--line)}
.bigstat .num{font:780 clamp(44px,6vw,72px)/.9 var(--f-display);font-stretch:80%;color:var(--crit)}
.bigstat .num.t{color:var(--teal)}

/* film */
.film-sec{scroll-margin-top:68px;background:linear-gradient(180deg,var(--navy-3),var(--navy));color:#fff}
.film-sec .lead{color:#c8d6ea}
.film{position:relative;border-radius:18px;overflow:hidden;background:#06152d;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 80px rgba(0,0,0,.4)}
.stage{position:relative;aspect-ratio:16/9;overflow:hidden;font-family:var(--f-body);color:#dce6f4}
.stage .layer{position:absolute;inset:0;transition:opacity .6s ease,transform .6s ease}
.stage .hide{opacity:0;pointer-events:none}
.scene-title{position:absolute;left:5%;top:7%;font:700 clamp(15px,2.6vw,30px)/1.15 var(--f-display);font-stretch:90%;max-width:70%}
.scene-title small{display:block;font:600 clamp(10px,1.2vw,13px) var(--f-mono);color:var(--teal-2);letter-spacing:.08em;margin-bottom:6px}
.st-tiles{position:absolute;left:5%;right:5%;top:27%;transition:opacity .5s;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1.2%}
.st-tile{aspect-ratio:2.4;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);padding:6%;font-size:clamp(8px,1.15vw,13px);display:flex;flex-direction:column;justify-content:space-between;transition:all .5s}
.st-tile i{width:clamp(5px,.8vw,9px);height:clamp(5px,.8vw,9px);border-radius:50%;background:#2fd17c}
.st-tile.bad{background:rgba(198,42,47,.25);border-color:#ff6b6b}.st-tile.bad i{background:#ff6b6b}
.st-tile.fix{background:rgba(0,179,184,.22);border-color:var(--teal-2)}
.st-card{position:absolute;background:#0d2347;border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:2.2% 2.6%;font-size:clamp(9px,1.3vw,15px);box-shadow:0 16px 40px rgba(0,0,0,.45);transition:all .6s cubic-bezier(.2,.8,.2,1)}
.st-card .h{font-weight:700;margin-bottom:4px}
.st-card .m{font:clamp(8px,1.1vw,13px)/1.5 var(--f-mono);color:#9fb3cf}
.st-card.alert{border-left:4px solid #ff6b6b}.st-card.ok{border-left:4px solid #2fd17c}.st-card.teal{border-left:4px solid var(--teal-2)}
.st-steps{list-style:none;margin:0;padding:0;display:grid;gap:.5em}
.st-steps li{opacity:.25;transition:opacity .4s;display:flex;gap:.6em}
.st-steps li.on{opacity:1}.st-steps li::before{content:'○';color:#7f95b6}.st-steps li.done::before{content:'✓';color:#2fd17c;font-weight:700}
.stamp{position:absolute;right:9%;top:8%;transform:rotate(-8deg) scale(1.4);border:3px solid #2fd17c;color:#2fd17c;font:800 clamp(14px,2.4vw,28px) var(--f-display);padding:.3em .7em;border-radius:10px;opacity:0;transition:all .5s cubic-bezier(.2,1.4,.4,1)}
.stamp.on{opacity:1;transform:rotate(-8deg) scale(1)}
.typing::after{content:'▍';animation:blink 1s steps(1) infinite;color:var(--teal-2)}
@keyframes blink{50%{opacity:0}}
.cap{position:absolute;left:0;right:0;bottom:0;padding:3% 5% 4%;background:linear-gradient(0deg,rgba(3,12,28,.92),transparent);font-size:clamp(11px,1.5vw,17px);color:#e6edf6}
@media (max-width:640px){
  .stage{aspect-ratio:3/4}
  .scene-title{max-width:90%;font-size:19px}
  .st-tiles{top:21%;grid-template-columns:repeat(4,minmax(0,1fr));gap:2%}
  .st-tile{font-size:10px}
  .st-card{left:5%!important;right:5%!important;font-size:12.5px;padding:3% 4%}
  .st-card .m{font-size:11px}
  #c-alert,#c-teach,#c-run{top:49%!important}
  #c-done{top:76%!important}
  #c-exec{grid-template-columns:repeat(2,1fr)!important;inset:20% 5% auto 5%!important}
  .stamp{top:22%;right:6%}
  .cap{font-size:12.5px;padding:3% 5% 4%}
}
.controls{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#081b38;border-top:1px solid rgba(255,255,255,.08)}
.controls button.play{width:40px;height:40px;border-radius:50%;border:0;background:var(--teal);color:#fff;cursor:pointer;display:grid;place-items:center;flex:none}
.controls .track{flex:1;height:6px;background:rgba(255,255,255,.12);border-radius:3px;position:relative;cursor:pointer}
.controls .track span{position:absolute;inset:0 auto 0 0;background:var(--teal-2);border-radius:3px}
.controls .time{font:12px var(--f-mono);color:#9fb3cf;min-width:76px;text-align:right}
.chapters{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.chapters button{font:500 13px var(--f-body);border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.04);color:#c8d6ea;border-radius:999px;padding:6px 12px;cursor:pointer}
.chapters button.on{background:var(--teal);border-color:var(--teal);color:#fff}

/* loop */
.loop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:s}
.loop .step{position:relative;padding:22px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);cursor:pointer;transition:transform .2s,border-color .2s}
.loop .step:hover,.loop .step.on{transform:translateY(-4px);border-color:var(--teal)}
.loop .step::before{counter-increment:s;content:counter(s,decimal-leading-zero);font:700 13px var(--f-mono);color:var(--teal);display:block;margin-bottom:12px}
.loop .step:not(:last-child)::after{content:'';position:absolute;right:-13px;top:50%;width:10px;height:10px;border-top:2px solid var(--teal);border-right:2px solid var(--teal);transform:translateY(-50%) rotate(45deg)}
.loop .step p{color:var(--fg-2);font-size:15px;margin-top:8px}
@media (max-width:900px){.loop{grid-template-columns:repeat(2,minmax(0,1fr))}.loop .step::after{display:none}}
@media (max-width:560px){.loop{grid-template-columns:minmax(0,1fr)}}

/* gallery */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.tabs button{font:500 14px var(--f-body);border:1px solid var(--line);background:var(--surface);color:var(--fg-2);border-radius:999px;padding:8px 14px;cursor:pointer}
.tabs button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.browser{border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:0 24px 70px rgba(13,52,107,.18);background:var(--surface)}
.browser .chrome{display:flex;align-items:center;gap:7px;padding:10px 14px;background:var(--surface-2);border-bottom:1px solid var(--line)}
.browser .chrome i{width:10px;height:10px;border-radius:50%;background:#f0b4b4}.browser .chrome i:nth-child(2){background:#f4d38f}.browser .chrome i:nth-child(3){background:#a9dbae}
.browser .chrome span{margin-left:10px;font:12px var(--f-mono);color:var(--fg-3);background:var(--surface);border-radius:6px;padding:3px 10px;flex:1;max-width:420px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.browser img{width:100%;height:auto}
.gal{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:32px;align-items:center}
@media (max-width:900px){.gal{grid-template-columns:minmax(0,1fr)}}
.gal .txt{display:grid;gap:14px}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.ticks li{display:grid;grid-template-columns:22px 1fr;gap:10px;color:var(--fg-2)}
.ticks li::before{content:'';width:18px;height:18px;margin-top:3px;border-radius:50%;background:var(--teal-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23009498' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat}
.fade{animation:fadein .45s ease}
@keyframes fadein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* cbs */
.cbs{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:start}
@media (max-width:900px){.cbs{grid-template-columns:minmax(0,1fr)}}
.cbs-list{display:grid;gap:8px}
.cbs-list button{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--fg);font:600 16px var(--f-body);cursor:pointer}
.cbs-list button small{font:400 13px var(--f-body);color:var(--fg-3)}
.cbs-list button.on{border-color:var(--teal);box-shadow:inset 4px 0 0 var(--teal)}
.cbs-detail{padding:26px}
.kv{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px 18px;font-size:15px}
.kv dt{color:var(--fg-3)}.kv dd{margin:0;font-weight:500}
.chain{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chain span{background:var(--teal-soft);color:var(--fg);border-radius:8px;padding:4px 10px;font-size:13.5px}
.chain b{color:var(--teal)}

/* product cards */
.pcard{padding:26px;display:grid;gap:12px;align-content:start;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}
.pcard:hover{transform:translateY(-4px)}
.pcard .ic{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:var(--teal-soft)}
.pcard .ic svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pcard p{color:var(--fg-2);font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:14px;color:var(--fg-2)}

/* calculator */
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;overflow:hidden}
@media (max-width:900px){.calc{grid-template-columns:minmax(0,1fr)}}
.calc .in{padding:30px;display:grid;gap:20px}
.calc label{display:grid;gap:8px;font-size:14px;color:var(--fg-2)}
.calc label b{color:var(--fg);font-variant-numeric:tabular-nums}
.calc input[type=range]{width:100%;accent-color:var(--teal)}
.calc .out{padding:30px;background:linear-gradient(160deg,var(--navy),var(--navy-3));color:#fff;display:grid;gap:18px;align-content:center}
.calc .out .n{font:760 clamp(34px,4.4vw,52px)/1 var(--f-display);font-stretch:85%;font-variant-numeric:tabular-nums}
.bars{display:grid;gap:10px}
.bars .b{display:grid;grid-template-columns:120px 1fr auto;gap:10px;align-items:center;font-size:13px;color:#c8d6ea}
.bars .b span.track{height:12px;background:rgba(255,255,255,.1);border-radius:6px;overflow:hidden}
.bars .b span.track i{display:block;height:100%;border-radius:6px;transition:width .5s}

/* customers */
.cust{padding:26px;display:grid;gap:10px;align-content:start;text-decoration:none}
.cust .logo{height:62px;border-radius:10px;display:flex;align-items:center;padding:0 16px;font:760 22px/1 var(--f-display);font-stretch:85%;color:#fff}
.cust .tag{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
.case-hero{color:#fff;padding-block:80px 60px}
.case-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:36px}
@media (max-width:760px){.case-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
.case-meta div{border-top:2px solid rgba(255,255,255,.3);padding-top:10px;font-size:14px;color:#c8d6ea}
.case-meta b{display:block;color:#fff;font-size:16px;margin-top:4px}
.case-body{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:40px}
@media (max-width:900px){.case-body{grid-template-columns:minmax(0,1fr)}}
.case-body h3{margin:30px 0 10px}
.case-body p{color:var(--fg-2);margin-bottom:12px;max-width:68ch}

/* people */
.person{padding:30px;display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:560px){.person{grid-template-columns:minmax(0,1fr)}}
.portrait{width:120px;height:120px;border-radius:24px;display:grid;place-items:center;font:760 40px var(--f-display);color:#fff;position:relative;overflow:hidden}
.portrait::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.3),transparent 60%)}
.person .role{color:var(--teal);font-weight:600;margin:4px 0 12px}
.person p{color:var(--fg-2);font-size:15px}

/* architecture */
.arch svg{width:100%;height:auto}
.arch-wrap{overflow-x:auto}
.arch-wrap svg{min-width:720px}

/* faq */
details{border-bottom:1px solid var(--line);padding:18px 0}
summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';font:400 24px/1 var(--f-body);color:var(--teal)}
details[open] summary::after{content:'–'}
details p{color:var(--fg-2);margin-top:10px;max-width:75ch}

/* cta & footer */
.cta-band{background:linear-gradient(120deg,var(--teal),#007b80 50%,var(--navy));color:#fff;border-radius:24px;padding:clamp(34px,5vw,64px);display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:24px;align-items:center;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;border:40px solid rgba(255,255,255,.08)}
@media (max-width:760px){.cta-band{grid-template-columns:minmax(0,1fr)}}
.cta-band .btn.primary{background:#fff;color:var(--navy);box-shadow:none}
footer{background:var(--navy-3);color:#9fb3cf;padding-block:60px 30px;margin-top:80px;font-size:14px}
footer .cols{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:30px}
@media (max-width:760px){footer .cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
footer h4{color:#fff;font:600 14px var(--f-body);margin-bottom:12px}
footer a{text-decoration:none;display:block;padding:3px 0;color:#9fb3cf}
footer a:hover{color:#fff}
footer .legal{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}
.theme-btn{background:none;border:1px solid rgba(255,255,255,.2);color:#9fb3cf;border-radius:999px;padding:4px 12px;font:inherit;cursor:pointer}

/* forms */
.form{padding:30px;display:grid;gap:16px}
.form label{display:grid;gap:6px;font-size:14px;font-weight:500}
.form input,.form select,.form textarea{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:10px;padding:12px 14px}
.form textarea{min-height:120px;resize:vertical}

/* reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}

.sub-hero{background:linear-gradient(160deg,var(--navy),var(--navy-3));color:#fff;padding-block:clamp(60px,8vw,100px) clamp(50px,6vw,80px);position:relative;overflow:hidden}
.sub-hero .lead{color:#c8d6ea;margin-top:18px}
.sub-hero::after{content:'';position:absolute;right:-10%;bottom:-40%;width:60%;height:120%;background:radial-gradient(closest-side,rgba(0,148,152,.35),transparent)}
.feat{padding:24px;display:grid;gap:10px;align-content:start}
.feat h3{font-size:18px}
.feat p{color:var(--fg-2);font-size:15px}
.feat .n{font:700 13px var(--f-mono);color:var(--teal)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
@media (max-width:900px){.split{grid-template-columns:minmax(0,1fr)}}
.phone{width:min(300px,80%);margin:0 auto;border-radius:36px;border:10px solid #0b1a33;box-shadow:0 30px 70px rgba(13,52,107,.3);overflow:hidden;background:#0b1a33}
.table{width:100%;border-collapse:collapse;font-size:15px}
.table th,.table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.table th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}
.tablewrap{overflow-x:auto}

/* multi-page additions */
.crumbs{font-size:14px;color:#c8d6ea;margin-bottom:18px}.crumbs a{color:#e0ecf8;text-decoration:none}.crumbs a:hover{text-decoration:underline}
.sub-hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.prose{max-width:76ch}.prose h2{font-size:28px;margin:44px 0 12px}.prose h3{margin:28px 0 8px}.prose p,.prose li{color:var(--fg-2);margin-bottom:12px}.prose ul{padding-left:22px}
.toc{position:sticky;top:90px;display:grid;gap:6px;font-size:14px}.toc a{text-decoration:none;color:var(--fg-2)}.toc a:hover{color:var(--teal)}
.legal-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px}@media (max-width:860px){.legal-grid{grid-template-columns:minmax(0,1fr)}.toc{position:static}}
.nav .links a.drop{position:relative}
.related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@media (max-width:760px){.related{grid-template-columns:minmax(0,1fr)}}
.related a{text-decoration:none}
.pcard a.more{color:var(--teal);font-weight:600;text-decoration:none;margin-top:auto}
.svc{padding:26px;display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;scroll-margin-top:90px}
.big404{font:800 clamp(90px,18vw,200px)/1 var(--f-display);font-stretch:80%;background:linear-gradient(90deg,#5fe3e6,var(--teal));-webkit-background-clip:text;background-clip:text;color:transparent}
.sevtable td:first-child{font-weight:700;white-space:nowrap}
.ic{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:var(--teal-soft);flex:none}
.ic svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.toc{align-content:start;align-self:start}
