
/* Layout: one continuous light ground; generous vertical rhythm (≈200px between sections); product moments sit as white floating cards on dotted periwinkle-to-blush gradient panels; placeholders are dashed frames with a spec line for the design team. */
:root{
  --bg:#F7F7FB; --fg:#14141F; --muted:#5B5C70; --line:#E3E3EE; --card:#FFFFFF; --card-line:#E6E6F0;
  --accent:#3B3FE6; --on-accent:#FFFFFF; --accent-soft:#E8E9FD;
  --peri:#B6BCF7; --peri-soft:#E7E8FC; --blush:#F5E4EF; --dot:rgba(59,63,230,.17);
  --ok:#1D7A43; --ok-bg:#E5F4EA; --warn:#8A5A00; --warn-bg:#FBF0D5; --risk:#A3330F; --risk-bg:#FBE6DE;
  --ink-panel:#16173F; --ink-panel-2:#3B3FE6;
  --foot-bg:#14141F; --foot-fg:#E7E7F2; --foot-muted:#9C9DB4; --foot-line:#2B2B3D;
  --logo:#6B6C80;
  --font:'Schibsted Grotesk','Helvetica Neue',Helvetica,Arial,sans-serif;
  --shadow:0 1px 2px rgba(20,20,40,.04),0 12px 32px -12px rgba(40,44,140,.14);
  --sec:clamp(80px,8vw,120px); --rail:calc(clamp(20px,3.5vw,56px) / 2);
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0E0E17; --fg:#EDEDF6; --muted:#A4A5BC; --line:#25253A; --card:#161624; --card-line:#2A2A40;
  --accent:#8E92FF; --on-accent:#0E0E17; --accent-soft:#1E2050; --mark-ink:url(#swinkL);
  --peri:#2C3192; --peri-soft:#141631; --blush:#3A1F3E; --dot:rgba(170,175,255,.16);
  --ok:#6FD39A; --ok-bg:#16301F; --warn:#F2C766; --warn-bg:#33290F; --risk:#FF9C7A; --risk-bg:#3A1C12;
  --ink-panel:#0B0C24; --ink-panel-2:#2C3192;
  --foot-bg:#08080E; --foot-fg:#E7E7F2; --foot-muted:#9C9DB4; --foot-line:#22223A;
  --logo:#A4A5BC;
  --shadow:0 12px 32px -12px rgba(0,0,0,.6); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0E0E17; --fg:#EDEDF6; --muted:#A4A5BC; --line:#25253A; --card:#161624; --card-line:#2A2A40;
  --accent:#8E92FF; --on-accent:#0E0E17; --accent-soft:#1E2050; --mark-ink:url(#swinkL);
  --peri:#2C3192; --peri-soft:#141631; --blush:#3A1F3E; --dot:rgba(170,175,255,.16);
  --ok:#6FD39A; --ok-bg:#16301F; --warn:#F2C766; --warn-bg:#33290F; --risk:#FF9C7A; --risk-bg:#3A1C12;
  --ink-panel:#0B0C24; --ink-panel-2:#2C3192;
  --foot-bg:#08080E; --foot-fg:#E7E7F2; --foot-muted:#9C9DB4; --foot-line:#22223A;
  --logo:#A4A5BC;
  --shadow:0 12px 32px -12px rgba(0,0,0,.6); color-scheme:dark}

*{box-sizing:border-box}
[hidden]{display:none !important}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.wrap{max-width:1640px;margin:0 auto;padding-left:max(clamp(20px,3.5vw,56px),env(safe-area-inset-left,0px));padding-right:max(clamp(20px,3.5vw,56px),env(safe-area-inset-right,0px))}
@media (max-width:600px){.wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}}
h1,h2,h3{margin:0;font-weight:500;text-wrap:balance}
p{margin:0}
.h1{font-size:clamp(46px,7.2vw,112px);line-height:.96;letter-spacing:-.045em}
.h2{font-size:clamp(34px,3.8vw,56px);line-height:1.06;letter-spacing:-.035em}
.h3{font-size:clamp(26px,2.6vw,38px);line-height:1.1;letter-spacing:-.03em}
.eyebrow{font-size:15px;color:var(--muted)}
.pill{display:inline-flex;align-self:flex-start;font-size:13px;font-weight:600;color:var(--accent);background:var(--accent-soft);padding:6px 14px;border-radius:999px}
.center{text-align:center;align-items:center;margin-inline:auto}
.center .pill{align-self:center}
.lede{font-size:18px;color:var(--muted);max-width:56ch}
.sec{position:relative;padding-block:var(--sec)}
/* section frame (after scifin): full-bleed hairline between sections, two vertical rails framing the content column */
.sec::before{content:"";position:absolute;top:0;left:50%;width:100vw;height:1px;transform:translateX(-50%);background:var(--line);z-index:-1}
.sec::after{content:"";position:absolute;inset:0 var(--rail);border-inline:1px solid var(--line);pointer-events:none;z-index:-1}
@media (max-width:700px){.sec::after{display:none}}
.head{display:flex;flex-direction:column;gap:22px;width:100%;max-width:1100px}
.head.center{max-width:1100px}
.head .h2{text-wrap:pretty;max-width:none}
.gap-xl{margin-top:clamp(40px,4.5vw,64px)}
.row{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;align-items:flex-end}
.row > :first-child{flex:1 1 560px;min-width:0}
.row > :last-child{flex:0 1 420px;min-width:0}
.stack{display:flex;flex-direction:column;gap:20px}
.rule{height:1px;background:var(--line);border:0;margin:0}

/* gradient panel — the site's single soft gradient, with a dotted grid */
.glow{position:relative;border-radius:24px;overflow:hidden;
  background:
    radial-gradient(var(--dot) 1px,transparent 1.3px) 0 0/18px 18px,
    radial-gradient(70% 80% at 15% 100%,var(--peri) 0%,transparent 70%),
    radial-gradient(55% 65% at 95% 0%,var(--blush) 0%,transparent 72%),
    var(--peri-soft)}
.card{background:var(--card);border:1px solid var(--card-line);border-radius:20px;box-shadow:var(--shadow)}
.ph{font-size:13px;color:var(--muted);background:color-mix(in srgb,var(--card) 70%,transparent);border:1px dashed color-mix(in srgb,var(--accent) 45%,transparent);padding:7px 14px;border-radius:999px;backdrop-filter:blur(6px)}
/* placeholder frame for images / diagrams to be supplied */
.frame{border:1.5px dashed color-mix(in srgb,var(--accent) 45%,transparent);border-radius:18px;background:color-mix(in srgb,var(--card) 55%,transparent);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:28px;color:var(--muted)}
.frame svg{color:var(--accent);opacity:.8}
.frame b{font-size:15px;font-weight:600;color:var(--fg)}
.frame span{font-size:13px;max-width:40ch}

.btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;font-size:15px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background .3s,border-color .3s,color .3s}
.btn-primary{background:var(--accent);color:var(--on-accent)}
.btn-primary:hover{background:color-mix(in srgb,var(--accent) 86%,var(--fg))}
.btn-ghost{border-color:color-mix(in srgb,var(--fg) 30%,transparent);background:color-mix(in srgb,var(--card) 50%,transparent)}
.btn-ghost:hover{border-color:var(--fg)}
.link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:500;border-bottom:1px solid var(--fg);align-self:flex-start}
.link:hover{color:var(--accent);border-color:var(--accent)}
.chip{font-size:14px;padding:8px 14px;border-radius:999px;border:1px solid var(--card-line);background:var(--card);white-space:nowrap;display:inline-flex;align-items:center;gap:8px}
.chip svg{width:16px;height:16px;flex:none}
.tag{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap;height:fit-content}
.t-risk{color:var(--risk);background:var(--risk-bg)} .t-ok{color:var(--ok);background:var(--ok-bg)} .t-warn{color:var(--warn);background:var(--warn-bg)} .t-acc{color:var(--accent);background:var(--accent-soft)}

/* header */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.navbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{font-size:27px;font-weight:600;letter-spacing:-.045em;display:inline-flex;align-items:center;gap:9px}.logo .mark{width:34px;height:34px;flex:none;--mark-acc:var(--accent)}
.foot-logo{display:inline-flex;align-items:center;gap:10px;font-size:26px;font-weight:600;letter-spacing:-.045em;color:var(--foot-fg);text-decoration:none;margin-bottom:36px}.foot-logo .mark{width:34px;height:34px;--mark-ink:url(#swinkL)}
.app-logo .mark{width:22px;height:22px;flex:none;--mark-acc:var(--accent)}
.navlinks{display:flex;gap:4px}
.navlinks button,.navlinks a{background:none;border:0;padding:12px 16px;font-size:15px;cursor:pointer;display:flex;align-items:center;gap:6px;border-radius:999px}
.navlinks button:hover,.navlinks a:hover,.navlinks [aria-expanded="true"]{background:var(--accent-soft)}
.navlinks svg{transition:transform .3s}
.navlinks [aria-expanded="true"] svg{transform:rotate(180deg)}
.nav-right{display:flex;gap:8px;align-items:center}
.icon-btn{width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;cursor:pointer}
.menu-toggle{display:none}
.mega{position:absolute;left:0;right:0;top:72px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 24px 40px -24px rgba(30,30,80,.18)}
.mega-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:12px;padding-block:24px 28px}
.mega-item{display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:16px;border:1px solid transparent;transition:background .3s,border-color .3s}
.mega-item:hover{background:var(--card);border-color:var(--card-line)}
.mega-item b{font-size:19px;font-weight:500;letter-spacing:-.02em}
.mega-item span{font-size:14px;color:var(--muted)}
.mobile-menu{border-top:1px solid var(--line);padding-block:12px 20px;display:flex;flex-direction:column}
.mobile-menu a{padding:14px 0;border-bottom:1px solid var(--line);font-size:17px}
.mobile-menu .label{font-size:13px;color:var(--muted);padding-top:16px}
@media (max-width:860px){.navlinks{display:none}.menu-toggle{display:grid}.nav-cta{display:none}}

/* hero */
.hero{padding:0}
.hero .hero-panel{border-radius:0}
.hero-inner{width:100%;max-width:1640px;margin-inline:auto;padding-left:max(clamp(20px,3.5vw,56px),env(safe-area-inset-left,0px)) !important;padding-right:max(clamp(20px,3.5vw,56px),env(safe-area-inset-right,0px)) !important}
.hero-panel{min-height:max(560px,calc(100vh - 73px));min-height:max(560px,calc(100svh - 73px - env(safe-area-inset-top,0px)));display:flex;flex-direction:column;justify-content:flex-end}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}
.hero-slide.on{opacity:1}
.hero-slide .ph{position:absolute;top:24px;right:max(clamp(20px,3.5vw,56px),env(safe-area-inset-right,0px))}
.hero-inner{position:relative;padding:40px clamp(20px,3vw,44px) 32px;display:flex;flex-direction:column;gap:56px}
.hero-copy{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:36px}
.hero-head{flex:1 1 560px;display:flex;flex-direction:column;gap:20px;min-width:0}
.hero-head h1{max-width:19ch;font-size:clamp(40px,5.6vw,92px);line-height:1}
.hero-eyebrow{font-size:15px;font-weight:500;letter-spacing:.01em;color:rgba(255,255,255,.85);text-shadow:0 1px 12px rgba(0,0,0,.35)}
.hero-side{flex:0 1 410px;display:flex;flex-direction:column;gap:26px}
.hero-ticks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:16px}
.tick{text-align:left;background:none;border:0;cursor:pointer;padding:12px 0 0;font-size:14px;color:var(--muted);display:flex;gap:10px;min-height:44px;position:relative}
.tick::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:color-mix(in srgb,var(--fg) 15%,transparent)}
.tick::after{content:"";position:absolute;left:0;top:0;height:2px;width:0;background:var(--accent)}
.tick.on{color:var(--fg)}
.tick.on::after{width:var(--tp,0%)}
.hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,12,32,.35) 0%,rgba(12,12,32,.12) 35%,rgba(12,12,32,.72) 100%)}
.hero-panel{color:#FFFFFF}
.hero .tick{color:rgba(255,255,255,.72)}
.hero .tick::before{background:rgba(255,255,255,.3)}
.hero .tick::after{background:#FFFFFF}
.hero .tick.on{color:#FFFFFF}
.hero .btn-ghost{color:#FFFFFF;border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.08)}
.hero .btn-ghost:hover{border-color:#FFFFFF}
.hero-side p{text-shadow:0 1px 12px rgba(0,0,0,.35)}
@keyframes fill{to{width:100%}}

/* client logos — bordered grid, monochrome */
.clients{padding-block:clamp(56px,6vw,88px) 0}
.client-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:36px}
.client-grid > div{height:112px;display:grid;place-items:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--logo);transition:color .4s,background .4s}
.client-grid > div:hover{color:var(--fg);background:var(--card)}
.wm{font-size:22px;font-weight:600;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}
.wm small{font-size:9px;letter-spacing:.14em;font-weight:600;display:block;margin-top:-2px}

/* problem + industries */
.diagram-ph{min-height:340px}
.seg{display:flex;flex-wrap:wrap;gap:4px;padding:5px;border-radius:999px;background:var(--card);border:1px solid var(--card-line);box-shadow:var(--shadow);width:fit-content;max-width:100%;margin-inline:auto}
.seg button{border:0;background:none;padding:12px 22px;border-radius:999px;font-size:15px;cursor:pointer;color:var(--muted);min-height:44px;transition:background .4s,color .4s}
.seg button[aria-selected="true"]{background:var(--accent-soft);color:var(--fg);font-weight:500}
.seg button{position:relative;overflow:hidden}
.seg .prog{display:none;position:absolute;left:18px;right:18px;bottom:7px;height:2px;border-radius:2px;background:var(--accent);transform-origin:left;transform:scaleX(0)}
.seg button[aria-selected="true"] .prog{display:block;animation:indprog 6s linear forwards}
#industries.hold .seg .prog{animation-play-state:paused}
@keyframes indprog{to{transform:scaleX(1)}}
.ind-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:56px;margin-top:56px}
.ind-visual{min-height:500px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.ind-visual .ph{align-self:flex-end}
.float{padding:20px 22px;display:flex;flex-direction:column;gap:12px;max-width:400px}
.float .title{font-size:17px;font-weight:500;letter-spacing:-.01em;line-height:1.3}
.float .meta{font-size:13px;color:var(--muted)}
.ind-text{display:flex;flex-direction:column;gap:32px;justify-content:center;min-width:0}
.points{list-style:none;margin:0;padding:0}
.points li{display:flex;gap:14px;padding:18px 0;border-top:1px solid var(--line);font-size:17px}
.points li svg{flex:none;margin-top:5px;color:var(--accent)}
.points li.todo{color:var(--muted)}
/* full-width industry banner: image fills the width, text sits on top, whole banner links to the industry page */
html,body{overflow-x:clip}
.ind-banner{display:block;position:relative;margin-top:40px;margin-inline:calc(50% - 50vw);border-radius:0;overflow:hidden;color:var(--fg);transition:box-shadow .5s}
.ind-banner .inner{max-width:1640px;margin-inline:auto;padding-inline:max(clamp(20px,3.5vw,56px),env(safe-area-inset-left,0px)) !important}
.ind-banner:hover{box-shadow:0 30px 60px -30px color-mix(in srgb,var(--accent) 55%,transparent)}
.ind-banner .ph{position:absolute;top:24px;right:24px;z-index:1}
.ind-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ind-banner .scrim{position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 88%,transparent) 0%,color-mix(in srgb,var(--bg) 60%,transparent) 38%,transparent 68%)}
.band-scrim{position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 90%,transparent) 0%,color-mix(in srgb,var(--bg) 55%,transparent) 45%,transparent 80%)}
.band-stats,.alert-wrap .card:not(.alert-card){position:relative}
.ind-banner .inner{position:relative;min-height:640px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;padding:clamp(24px,4vw,56px)}
.ind-banner .txt{flex:1 1 460px;max-width:600px;display:flex;flex-direction:column;gap:22px;min-width:0}
.ind-banner .float{flex:0 1 360px}
.ind-banner .points li{border-top-color:color-mix(in srgb,var(--fg) 18%,transparent)}
.ind-banner .go{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:500;border-bottom:1px solid var(--fg);align-self:flex-start;transition:color .3s,border-color .3s}
.ind-banner:hover .go{color:var(--accent);border-color:var(--accent)}
.fade{animation:fadeIn .7s ease both}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* hub with real app logos */
.hub{padding:48px clamp(16px,3vw,40px)}
.hub-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,140px);place-items:center}
.hub svg.lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hub-cell{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.hub-core{width:132px;height:132px;border-radius:999px;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-size:22px;font-weight:600;letter-spacing:-.045em;box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 14%,transparent),0 0 0 22px color-mix(in srgb,var(--accent) 7%,transparent)}
.hub .chip{box-shadow:var(--shadow);transition:transform .4s,border-color .4s}
.hub .chip:hover{transform:translateY(-2px);border-color:var(--accent)}
@media (max-width:640px){.hub-grid{grid-template-rows:repeat(3,128px)}.hub .chip{font-size:12px;padding:6px 9px}.hub .chip .nm{display:none}.hub-core{width:84px;height:84px;font-size:17px}}


/* platform hub: tools flow in from the left, outcomes flow out to the right */
.hub{padding:clamp(16px,3vw,40px)}
.hub-scroll{overflow-x:auto;scrollbar-width:thin}
.hub2{position:relative;min-width:960px;max-width:1240px;margin-inline:auto;aspect-ratio:2/1}
.hub2 svg.flow{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hub2 .in{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:7 7;stroke-linecap:round;animation:flow 1.6s linear infinite}
.hub2 .out{fill:none;stroke:color-mix(in srgb,var(--fg) 22%,transparent);stroke-width:2;stroke-dasharray:7 7;stroke-linecap:round}
.hub2 .bead{fill:var(--accent)}
@keyframes flow{to{stroke-dashoffset:-28}}
.hub2 .n{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:999px}
.hub2 .tool{width:6%;aspect-ratio:1;background:var(--card);box-shadow:0 10px 30px -10px rgba(40,44,140,.28),0 0 0 1px var(--card-line)}
.hub2 .tool svg{width:44%;height:44%}
.hub2 .core{width:8.4%;aspect-ratio:1;background:var(--card);box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 12%,transparent),0 0 60px 18px color-mix(in srgb,var(--peri) 80%,transparent),0 0 0 1px var(--card-line)}
.hub2 .core span{font-size:clamp(12px,1.25vw,16px);font-weight:600;letter-spacing:-.04em}
.hub2 .outc{width:6.2%;aspect-ratio:1;color:#fff;box-shadow:0 10px 30px -12px rgba(40,44,140,.45)}
.hub2 .outc svg{width:46%;height:46%}
.hub2 .lbl{position:absolute;transform:translateY(-50%);font-size:clamp(14px,1.45vw,19px);font-weight:500;color:#fff;padding:5px 14px;border-radius:999px;white-space:nowrap}
.hub2 .lbl.l{transform:translate(-100%,-50%)}
.hub2 .lbl.r{background:#7D7E92}
@media (prefers-reduced-motion: reduce){.hub2 .in{animation:none}}

/* isometric layers */
.iso{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:24px;align-items:center}
.iso-col{display:flex;flex-direction:column;gap:120px}
.iso-col.right{justify-content:center}
.iso-lbl{text-align:left;background:none;border:0;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:16px;transition:background .5s}
.iso-col.left .iso-lbl{text-align:right;align-items:flex-end}
.iso-lbl b{font-size:20px;font-weight:500;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}
.iso-lbl b i{width:8px;height:8px;border-radius:9px;background:var(--line);transition:background .5s}
.iso-lbl span{font-size:15px;color:var(--muted);max-width:34ch}
.iso-lbl[aria-pressed="true"]{background:var(--card);box-shadow:var(--shadow)}
.iso-lbl[aria-pressed="true"] b i{background:var(--accent)}
.iso svg{width:100%;height:auto;max-width:560px;margin-inline:auto;display:block;overflow:visible}
.plate .top{fill:var(--card);stroke:color-mix(in srgb,var(--fg) 28%,transparent);stroke-width:1;transition:fill .6s}
.plate .side{fill:color-mix(in srgb,var(--card) 80%,var(--peri));stroke:color-mix(in srgb,var(--fg) 28%,transparent);stroke-width:1}
.plate .ink{stroke:color-mix(in srgb,var(--fg) 45%,transparent);fill:none;stroke-width:1.4}
.plate .dotfill{fill:color-mix(in srgb,var(--fg) 45%,transparent)}
.plate{cursor:pointer;transition:transform .6s}
.plate.on .top{fill:color-mix(in srgb,var(--accent) 16%,var(--card))}
.plate.on .ink{stroke:var(--accent)}
.plate.on .dotfill{fill:var(--accent)}
@media (max-width:900px){.iso{grid-template-columns:1fr}.iso-col{gap:8px}.iso-col.left .iso-lbl{text-align:left;align-items:flex-start}.iso svg{order:-1}}

/* platform one */
.p1{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:64px}
.p1-tabs{display:flex;flex-direction:column}
.p1-tab{background:none;border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;padding:26px 0;color:var(--muted);display:flex;flex-direction:column;gap:8px;transition:color .6s}
.p1-tab .nm{display:flex;align-items:center;gap:12px;font-size:26px;font-weight:500;letter-spacing:-.025em}
.p1-tab .nm i{width:8px;height:8px;border-radius:9px;background:var(--line);transition:background .6s}
.p1-tab p{padding-left:20px;font-size:17px}
.p1-tab[aria-selected="true"]{color:var(--fg)}
.p1-tab[aria-selected="true"] .nm i{background:var(--accent)}
.p1-close{border-top:1px solid var(--fg);padding-top:20px;font-size:20px;letter-spacing:-.01em;margin-top:28px}
.p1{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:stretch}
@media (max-width:1000px){.p1{grid-template-columns:1fr}}
.p1-tab .nm i{width:30px;height:30px;border-radius:999px;background:transparent;border:1px solid var(--line);display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:600;color:var(--muted);transition:background .6s,color .6s,border-color .6s}
.p1-tab[aria-selected="true"] .nm i{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.p1-tab p{padding-left:42px}
.p1-stage{min-height:640px;padding:14px;display:flex;flex-direction:column;gap:12px}
.p1-pills{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.p1-pills button{border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);background:color-mix(in srgb,var(--card) 70%,transparent);backdrop-filter:blur(6px);border-radius:999px;padding:8px 16px;font-size:13px;cursor:pointer;color:var(--muted);min-height:36px;transition:background .4s,color .4s}
.p1-pills button[aria-selected="true"]{background:var(--card);color:var(--fg);font-weight:500;border-color:var(--card-line);box-shadow:var(--shadow)}
.p1-track{flex:1;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:14px;overscroll-behavior-x:contain}
.p1-track::-webkit-scrollbar{display:none}
.p1-track .slide{flex:0 0 100%;scroll-snap-align:start;display:flex;padding:0 1px}
/* mac browser window with the Segeta app inside */
.mac{flex:1;display:flex;flex-direction:column;background:var(--card);border-radius:14px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(30,30,90,.45),0 0 0 1px var(--card-line);min-width:0}
.mac-bar{height:40px;flex:none;display:grid;grid-template-columns:80px 1fr 80px;align-items:center;padding:0 14px;background:color-mix(in srgb,var(--card) 88%,var(--peri));border-bottom:1px solid var(--card-line)}
.mac-bar .dots{display:flex;gap:7px}.mac-bar .dots i{width:12px;height:12px;border-radius:9px;background:#FF5F57}.mac-bar .dots i:nth-child(2){background:#FEBC2E}.mac-bar .dots i:nth-child(3){background:#28C840}
.mac-bar .url{justify-self:center;display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);background:var(--card);border:1px solid var(--card-line);border-radius:8px;padding:4px 14px;min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.app{flex:1;display:grid;grid-template-columns:188px minmax(0,1fr);min-height:0;font-size:13px}
.app-nav{border-right:1px solid var(--card-line);padding:16px 12px;display:flex;flex-direction:column;gap:2px;background:color-mix(in srgb,var(--card) 94%,var(--peri))}
.app-logo{font-size:19px;font-weight:600;letter-spacing:-.045em;padding:2px 8px 16px;display:flex;align-items:center;gap:8px}
.app-logo i{width:18px;height:18px;border-radius:6px;background:linear-gradient(135deg,var(--accent),#B6BCF7)}
.app-nav span{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:8px;color:var(--muted)}
.app-nav span svg{flex:none}
.app-nav span.on{background:var(--accent-soft);color:var(--fg);font-weight:500}
.app-nav .grp{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);opacity:.8;padding:14px 10px 4px}
.app-nav span{white-space:nowrap}
.app-nav .badge{margin-left:auto;font-size:11px;background:var(--accent);color:var(--on-accent);border-radius:999px;padding:0 7px;line-height:18px}
.app-main{padding:22px 24px;display:flex;flex-direction:column;gap:16px;min-width:0}
.app-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.app-head .crumbs{color:var(--muted);font-size:12px}
.app-head b{display:block;font-size:17px;font-weight:600;letter-spacing:-.02em;color:var(--fg)}
.flowbar{display:flex;gap:4px;flex-wrap:wrap}
.flowbar span{font-size:11px;font-weight:500;padding:4px 10px;border-radius:999px;color:var(--muted);border:1px solid transparent}
.flowbar span.done{color:var(--accent);border-color:transparent}
.flowbar span.on{background:var(--accent-soft);color:var(--accent);border-color:transparent}
.pane{border:1px solid var(--card-line);border-radius:12px;background:var(--card)}
.pane-h{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--card-line);font-weight:600;font-size:12.5px}
.pane-h small{font-weight:400;color:var(--muted);font-size:11.5px}
.r{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 14px;border-top:1px solid var(--card-line)}
.r:first-of-type{border-top:0}
.r .tx{display:flex;flex-direction:column;gap:1px;min-width:0}
.r .tx b{font-weight:500;font-size:13px}
.r .tx span{color:var(--muted);font-size:11.5px}
.r .src{display:flex;gap:5px;align-items:center}
.r.sel{background:color-mix(in srgb,var(--accent) 6%,var(--card))}
.chain{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:14px}
.chain span{padding:7px 10px;border-radius:9px;border:1px solid var(--card-line);background:var(--bg);font-size:12px;display:flex;gap:6px;align-items:center}
.chain span.hot{border-color:color-mix(in srgb,var(--risk) 45%,transparent);background:var(--risk-bg);color:var(--risk);font-weight:500}
.chain em{font-style:normal;color:var(--muted)}
.kv2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--card-line)}
.kv2 div{padding:11px 14px;display:flex;flex-direction:column;gap:2px}
.kv2 div + div{border-left:1px solid var(--card-line)}
.kv2 span{color:var(--muted);font-size:11px}
.kv2 b{font-size:14px;font-weight:600}
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}
.opt{border:1px solid var(--card-line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}
.opt.best{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}
.opt .t{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:8px}
.opt b{font-size:13px;font-weight:600}
.opt dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:3px 10px;font-size:11.5px}
.opt dt{color:var(--muted)} .opt dd{margin:0}
.btnrow{display:flex;gap:6px;flex-wrap:wrap}
.btnrow span{font-size:12px;padding:6px 12px;border-radius:999px;border:1px solid var(--card-line)}
.btnrow span.p{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.av{width:24px;height:24px;border-radius:99px;display:grid;place-items:center;font-size:10px;font-weight:600;color:var(--accent);background:var(--accent-soft)}
.mac .t-hi{color:var(--accent);background:var(--accent-soft)}
.mac .t-md{color:var(--muted);background:color-mix(in srgb,var(--peri) 22%,var(--card))}
.mac .chain span.hot{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:var(--accent-soft);color:var(--accent)}
.mac-bar .dots i,.mac-bar .dots i:nth-child(2),.mac-bar .dots i:nth-child(3){background:color-mix(in srgb,var(--peri) 55%,var(--card))}
.mac .bar{background:color-mix(in srgb,var(--peri) 30%,var(--card))}
.mac .bar i{background:color-mix(in srgb,var(--accent) 75%,var(--peri))}
.bar{height:6px;border-radius:9px;background:var(--line);overflow:hidden;width:90px}
.bar i{display:block;height:100%;background:var(--accent);border-radius:9px}
.metric{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.metric .pane{padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.metric span{color:var(--muted);font-size:11.5px}
.metric b{font-size:20px;font-weight:600;letter-spacing:-.02em}
.metric svg{width:100%;height:28px}
@media (max-width:700px){.app{grid-template-columns:1fr}.app-nav{display:none}.opts,.metric,.kv2{grid-template-columns:1fr}.kv2 div + div{border-left:0;border-top:1px solid var(--card-line)}.p1-stage{min-height:0}}
.feed-row{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.feed-row .tx{display:flex;flex-direction:column;gap:2px;min-width:0}
.feed-row .tx span:first-child{font-size:15px}
.feed-row .tx span:last-child{font-size:13px;color:var(--muted)}
.mini-btns{display:flex;flex-wrap:wrap;gap:8px}
.mini-btns span{font-size:14px;padding:9px 16px;border-radius:999px;border:1px solid var(--card-line)}
.mini-btns span.p{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}

/* platform two — image left, accordion right */
.p2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:64px;align-items:stretch}
.p2{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center}
@media (max-width:1000px){.p2{grid-template-columns:1fr}}
.p2-stage{min-height:600px;padding:14px;display:flex}
.portal{flex:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);font-size:13px;min-height:0}
.portal-side{border-right:1px solid var(--card-line);padding:22px 20px;display:flex;flex-direction:column;gap:22px;background:color-mix(in srgb,var(--card) 94%,var(--peri))}
.portal-side .crumbs{color:var(--muted);font-size:12px;margin-top:-10px}
.ms{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;padding:13px 14px;border-top:1px solid var(--card-line)}
.pane .ms:first-of-type{border-top:0}
.ms i{width:18px;height:18px;border-radius:99px;border:1.5px solid var(--card-line);display:grid;place-items:center;color:var(--on-accent)}
.ms.done i{background:var(--accent);border-color:var(--accent)}
.ms.now i{border-color:var(--accent);box-shadow:inset 0 0 0 4px var(--card),inset 0 0 0 10px var(--accent)}
.ms small{color:var(--muted);font-size:11.5px}
.ms.now small{color:var(--accent);font-weight:500}
.doc{padding:10px 14px;border-top:1px solid var(--card-line);font-size:12.5px}
.pane .doc:first-of-type{border-top:0}
.chatpane{padding:28px 26px 22px;display:flex;flex-direction:column;gap:16px;min-width:0;background:radial-gradient(120% 60% at 100% 0%,color-mix(in srgb,var(--blush) 45%,transparent),transparent 60%)}
.hello{display:flex;flex-direction:column;gap:4px}
.hello b{font-size:22px;font-weight:500;letter-spacing:-.025em}
.who{display:flex;flex-direction:column;gap:2px}
.who b{font-size:15px;font-weight:600;letter-spacing:-.01em}
.who span{font-size:12px;color:var(--muted)}
.hello > span:last-child{color:var(--muted)}
.spark{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;color:var(--on-accent);background:linear-gradient(135deg,var(--accent),#B6BCF7);margin-bottom:6px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips span{font-size:12px;padding:6px 11px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);background:color-mix(in srgb,var(--accent) 6%,var(--card));color:var(--accent)}
.msg{max-width:88%;padding:10px 13px;border-radius:14px;line-height:1.45}
.msg.me{align-self:flex-end;background:var(--accent);color:var(--on-accent);border-bottom-right-radius:4px}
.msg.ai{align-self:flex-start;background:var(--card);border:1px solid var(--card-line);border-bottom-left-radius:4px;display:flex;flex-direction:column;gap:8px}
.msg.ai b{font-weight:600}
.msg .src{font-size:11px;color:var(--muted)}
.ask{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--card-line);background:var(--card);border-radius:999px;padding:6px 6px 6px 14px;color:var(--muted);font-size:12.5px}
.ask i{width:28px;height:28px;border-radius:99px;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;flex:none}
.slots{display:flex;gap:6px;flex-wrap:wrap}
.slots span{font-size:12px;padding:6px 10px;border-radius:9px;border:1px solid var(--card-line)}
.slots span.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:500}
.phone-stage{flex:1;display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;padding:12px}
.phone{width:310px;gap:16px;max-width:100%;min-height:560px;border-radius:40px;background:var(--card);padding:22px 16px 16px;display:flex;flex-direction:column;gap:12px;font-size:13px;box-shadow:0 0 0 8px color-mix(in srgb,var(--fg) 88%,var(--accent)),0 40px 70px -30px rgba(30,30,90,.55);background-image:radial-gradient(120% 50% at 100% 0%,color-mix(in srgb,var(--blush) 50%,transparent),transparent 60%)}
.phone-top{display:flex;justify-content:space-between;align-items:center}
.phone-top .crumbs{font-size:11px;color:var(--muted)}
.phone .msg{max-width:92%}
.note{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--accent);background:var(--accent-soft);border-radius:12px;padding:9px 12px}
.note svg{flex:none}
.side-card{width:220px;align-self:center;font-size:13px;background:var(--card)}
@media (max-width:700px){.portal{grid-template-columns:1fr}.portal-side{display:none}.side-card{display:none}}
.acc{display:flex;flex-direction:column}
.acc-item{border-top:1px solid var(--line)}
.acc-item:last-child{border-bottom:1px solid var(--line)}
.acc-btn{width:100%;background:none;border:0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;font-size:24px;font-weight:500;letter-spacing:-.02em;text-align:left;min-height:44px;color:var(--muted);transition:color .5s}
.acc-btn[aria-expanded="true"]{color:var(--fg)}
.acc-btn svg{transition:transform .5s;flex:none}
.acc-btn[aria-expanded="true"] svg{transform:rotate(45deg)}
.acc-body{padding:0 0 26px;font-size:17px;color:var(--muted);max-width:44ch}

/* how we work */
.statement{font-size:clamp(30px,4.2vw,60px);line-height:1.14;font-weight:500;letter-spacing:-.035em;max-width:1180px}
.hwe{align-items:center;text-align:center}
.hwe .statement{margin-inline:auto;max-width:1100px;text-wrap:balance;font-size:clamp(28px,3.4vw,48px);line-height:1.15;letter-spacing:-.03em}
/* what it catches */
.catches{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:20px;max-width:1240px;margin-inline:auto}
.catch{position:relative;overflow:hidden;padding:30px 30px 34px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--card-line);border-radius:20px;background:var(--card);transition:border-color .6s;min-height:150px}
.catch::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,var(--peri) 0%,color-mix(in srgb,var(--peri) 55%,var(--blush)) 100%);opacity:0;transition:opacity .8s ease}
.catch > *{position:relative}
.catch h3{display:flex;align-items:center;gap:12px;font-size:clamp(20px,1.6vw,24px);font-weight:500;line-height:1.2;letter-spacing:-.02em}
.catch h3 svg{flex:none;color:var(--ic);transition:color .6s}
.catch p{color:var(--muted);font-size:17px;line-height:1.45;max-width:30ch;transition:color .6s}
.catch.on{border-color:transparent}
.catch.on::before{opacity:1}
.catch.on h3 svg{color:var(--fg)}
.catch.on p{color:var(--fg)}
.ind-stat{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.ind-stat b{font-size:clamp(72px,9vw,148px);font-weight:500;letter-spacing:-.055em;line-height:.9;color:var(--accent)}
.ind-stat span{font-size:clamp(17px,1.4vw,20px);color:var(--muted);max-width:30ch;line-height:1.4}
.ind-gains{flex:0 1 400px;padding:24px 26px 10px;display:flex;flex-direction:column;gap:4px;background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(10px)}
.ind-gains .meta{font-size:13px;color:var(--muted)}
.ind-gains .points li:first-child{border-top:0}
.steps3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));width:100%;text-align:left;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--card)}
.steps3 li{position:relative;display:flex;flex-direction:column;gap:10px;padding:clamp(28px,3vw,40px)}
.steps3 li + li{border-left:1px solid var(--line)}
.steps3 small{font-size:clamp(40px,3.6vw,56px);font-weight:500;letter-spacing:-.04em;line-height:1;color:transparent;-webkit-text-stroke:1.2px var(--accent);margin-bottom:14px}
.steps3 b{font-size:22px;font-weight:500;letter-spacing:-.02em}
.steps3 span{color:var(--muted);font-size:16px;max-width:34ch}
.steps3 li:not(:last-child)::after{content:"";position:absolute;right:-9px;top:50%;width:16px;height:16px;border-top:1px solid var(--line);border-right:1px solid var(--line);background:var(--card);transform:translateY(-50%) rotate(45deg);z-index:1}
@media (max-width:900px){.steps3 li + li{border-left:0;border-top:1px solid var(--line)}.steps3 li::after{display:none}}
/* blog */
.blog-hero{display:flex;flex-direction:column;gap:22px;align-items:flex-start;padding-top:56px;padding-bottom:clamp(40px,4vw,56px)}
.blog-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 clamp(28px,3vw,40px)}
.blog-filter button{border:1px solid var(--card-line);background:var(--card);border-radius:999px;padding:9px 16px;font-size:14px;cursor:pointer;min-height:40px;color:var(--muted)}
.blog-filter button[aria-selected="true"]{background:var(--fg);border-color:var(--fg);color:var(--bg)}
.crumb a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--muted) 40%,transparent)}
/* timeline list */
.tl{list-style:none;margin:0;padding:0;position:relative}
.tl::before{content:"";position:absolute;left:calc(var(--dw) - 1px);top:12px;bottom:12px;width:1px;background:var(--line)}
.tl{--dw:120px}
.tl-item{display:grid;grid-template-columns:var(--dw) minmax(0,1fr);gap:0 clamp(24px,3vw,44px)}
.tl-date{position:relative;padding:34px 22px 0 0;text-align:right;display:flex;flex-direction:column;gap:2px}
.tl-date::after{content:"";position:absolute;right:-6px;top:44px;width:11px;height:11px;border-radius:50%;background:var(--bg);border:2px solid var(--accent)}
.tl-date b{font-size:34px;font-weight:500;letter-spacing:-.04em;line-height:1}
.tl-date span{font-size:13px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.tl-card{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(20px,2.6vw,36px);padding:20px;margin:12px 0;border:1px solid var(--line);border-radius:22px;background:var(--card);transition:box-shadow .4s,border-color .4s,transform .4s}
.tl-card:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));box-shadow:var(--shadow);transform:translateY(-2px)}
.tl-body{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:6px 8px 6px 0;min-width:0}
.meta-row{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:13px;color:var(--muted)}
.meta-row .sector{font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:12px}
.meta-row .dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}
.tl-title{font-size:clamp(22px,2vw,28px);font-weight:500;letter-spacing:-.025em;line-height:1.18;text-wrap:balance}
.tl-dek{color:var(--muted);font-size:16px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tl-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:6px}
.stat-chip{display:inline-flex;align-items:baseline;gap:10px;padding:8px 14px;border-radius:12px;background:var(--accent-soft)}
.stat-chip b{font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--accent);white-space:nowrap}
.stat-chip span{font-size:13px;color:var(--fg);opacity:.8;line-height:1.3}
.post-go{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:500}
.tl-card:hover .post-go{color:var(--accent)}
@media (max-width:900px){.tl{--dw:0px}.tl::before{display:none}.tl-item{grid-template-columns:1fr}.tl-date{flex-direction:row;gap:8px;align-items:baseline;text-align:left;padding:26px 0 0}.tl-date::after{display:none}.tl-date b{font-size:22px}.tl-card{grid-template-columns:1fr}}
/* thumbnail: warm sunrise placeholder, real photo (blog/<slug>.jpg) sits on top when supplied */
.thumb{display:block;position:relative;border-radius:14px;overflow:hidden;aspect-ratio:16/10;isolation:isolate;
  background:radial-gradient(60% 70% at var(--sx,22%) 62%,#FFF4D6 0%,#FFD49A 18%,transparent 52%),linear-gradient(180deg,#F6C9A0 0%,#F3B98F 34%,#E8A98E 56%,#B9A3C9 100%)}
.thumb::before{content:"";position:absolute;left:-5%;right:-5%;bottom:0;height:46%;background:linear-gradient(180deg,rgba(120,96,140,.0),rgba(96,78,120,.35));clip-path:polygon(0 38%,14% 22%,28% 34%,44% 14%,60% 30%,76% 18%,100% 32%,100% 100%,0 100%);filter:blur(1.5px)}
.thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(60,40,70,.18))}
.thumb .t-ic{position:absolute;left:18px;bottom:16px;color:rgba(255,255,255,.92);display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;z-index:1;text-shadow:0 1px 6px rgba(60,30,40,.3)}
.thumb .t-ic svg{width:22px;height:22px}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
/* article page */
.read-bar{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(var(--rp,0));background:linear-gradient(90deg,var(--accent),#B6BCF7);z-index:60}
.art-hero{display:flex;flex-direction:column;gap:22px;align-items:flex-start;padding-top:48px}
.art-hero > *{max-width:1280px}
.art-hero .h1{font-size:clamp(36px,4.6vw,68px);line-height:1.04;letter-spacing:-.04em}
.art-hero .lede{font-size:clamp(18px,1.5vw,21px);max-width:none;line-height:1.5}
.series{display:inline-flex;gap:10px;align-items:center;font-size:13px;color:var(--muted)}
.series .pill{align-self:auto}
.art-cover{margin-top:clamp(28px,3vw,44px)}
.art-cover .thumb{aspect-ratio:21/7;border-radius:24px}
.glance{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr);margin-top:clamp(28px,3vw,40px);border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--card)}
.glance > div{padding:clamp(22px,2.4vw,32px);display:flex;flex-direction:column;gap:10px}
.glance > div + div{border-left:1px solid var(--line)}
.glance small{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.glance .big{font-size:clamp(40px,4.4vw,64px);font-weight:500;letter-spacing:-.045em;line-height:1;color:var(--accent)}
.glance p{font-size:16px;line-height:1.45}
.glance ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;counter-reset:g}
.glance ol li{counter-increment:g;display:flex;gap:10px;font-size:15px;line-height:1.35}
.glance ol li::before{content:counter(g,decimal-leading-zero);font-size:12px;font-weight:600;color:var(--accent);padding-top:2px}
@media (max-width:900px){.glance{grid-template-columns:1fr}.glance > div + div{border-left:0;border-top:1px solid var(--line)}}
.art-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.toc{position:sticky;top:104px;display:flex;flex-direction:column;gap:2px;font-size:14px}
.toc b{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:10px}
.toc a{padding:8px 0 8px 14px;border-left:2px solid var(--line);color:var(--muted);line-height:1.35;transition:color .3s,border-color .3s}
.toc a.on{color:var(--fg);border-color:var(--accent)}
.toc a:hover{color:var(--fg)}
@media (max-width:1000px){.art-grid{grid-template-columns:1fr}.toc{display:none}}
.prose{max-width:none;min-width:0;font-size:18px;line-height:1.7;color:color-mix(in srgb,var(--fg) 88%,var(--muted))}
.prose > p{margin:0 0 1.15em}
.prose h2{font-size:clamp(26px,2.4vw,34px);line-height:1.15;letter-spacing:-.03em;color:var(--fg);margin:1.9em 0 .7em;scroll-margin-top:100px}
.prose h2:first-child{margin-top:0}
.prose h2.cost-h{padding:22px 24px;border-radius:16px;background:linear-gradient(110deg,var(--accent-soft),color-mix(in srgb,var(--blush) 60%,var(--card)));border:1px solid color-mix(in srgb,var(--accent) 18%,transparent)}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.prose sup a{text-decoration:none;font-size:.72em;font-weight:600;padding:0 1px}
.prose strong{color:var(--fg)}
.callout{position:relative;font-size:clamp(21px,1.8vw,25px);line-height:1.35;letter-spacing:-.02em;font-weight:500;color:var(--fg);padding:6px 0 6px 24px;margin:1.6em 0 1em;border-left:4px solid var(--accent)}
.exhibit{margin:0 0 1.6em;padding:clamp(20px,2.4vw,30px);border:1px solid var(--line);border-radius:18px;background:var(--card)}
.exhibit figcaption{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}
.ex-n{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.ex-t{font-size:18px;font-weight:500;color:var(--fg);line-height:1.35}
.ex-u{font-size:13px;color:var(--muted)}
.bars{display:flex;flex-direction:column;gap:10px}
.bar-row{display:grid;grid-template-columns:minmax(110px,190px) minmax(0,1fr) 52px;gap:14px;align-items:center;font-size:14px;line-height:1.3}
.bar-row .bl{color:var(--muted)}
.bar-row .bt{height:12px;border-radius:6px;background:color-mix(in srgb,var(--peri) 25%,var(--card));overflow:hidden}
.bar-row .bt i{display:block;height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#B6BCF7));transition:width 1.2s cubic-bezier(.2,.7,.2,1)}
.exhibit.in .bt i{width:var(--w)}
.bar-row:first-child .bl{color:var(--fg);font-weight:500}
.bar-row b{font-weight:600;text-align:right;color:var(--fg)}
@media (max-width:560px){.bar-row{grid-template-columns:1fr 44px}.bar-row .bl{grid-column:1/-1}}
.ex-src{font-size:13px;color:var(--muted);margin:14px 0 0;line-height:1.5}
.prose > .ex-src{margin:-.8em 0 1.6em}
.tbl-cap{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0 0 10px!important}
.tbl-wrap{overflow-x:auto;margin:0 0 1em;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.ctable{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45}
.ctable th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:14px 18px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 60%,var(--card))}
.ctable td{padding:14px 18px;border-top:1px solid var(--line);vertical-align:top}
.ctable td:last-child{white-space:nowrap;font-weight:600;color:var(--fg);text-align:right}
.ctable th:last-child{text-align:right}
.ctable tr.total td{background:var(--accent-soft);color:var(--fg);font-weight:600}
.ctable tr.total td:last-child{color:var(--accent);font-size:18px}
.handoffs{display:grid;gap:14px;margin:0 0 1.4em}
.hand{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 16px;padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.hand-n{grid-row:span 2;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:13px;font-weight:600;color:var(--accent);background:var(--accent-soft)}
.hand b{font-size:18px;font-weight:600;color:var(--fg);line-height:1.3}
.hand p{margin:0;font-size:16px;line-height:1.6;color:var(--muted)}
.loop{list-style:none;margin:0 0 1.4em;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;counter-reset:lp}
.loop li{position:relative;padding:18px 16px;border-radius:14px;background:color-mix(in srgb,var(--accent) 6%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 16%,transparent);font-size:14px;line-height:1.5}
.loop li p{margin:6px 0 0;color:var(--muted)}
.lp-n{font-weight:600;color:var(--accent);font-size:15px}
.loop li:not(:last-child)::after{content:"→";position:absolute;right:-10px;top:16px;color:var(--accent);font-size:14px;background:var(--bg);width:12px;text-align:center}
@media (max-width:760px){.loop{grid-template-columns:1fr 1fr}.loop li::after{display:none}}
.actions{list-style:none;margin:0 0 1.4em;padding:0;display:grid;gap:12px}
.actions li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:2px 16px;padding:20px 22px;border-radius:16px;border:1px solid var(--line);background:var(--card)}
.ac-n{grid-row:span 2;font-size:30px;font-weight:500;letter-spacing:-.04em;line-height:1;color:transparent;-webkit-text-stroke:1.1px var(--accent)}
.actions b{font-size:17px;color:var(--fg);line-height:1.35}
.actions p{margin:0;font-size:16px;line-height:1.55;color:var(--muted)}
.art-ul{margin:0 0 1.2em;padding-left:1.2em}
.faq-wrap{margin-top:clamp(48px,5vw,72px)}
.faq-wrap h2{margin-top:0}
.faq{border-top:1px solid var(--line)}
.faq:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:20px 0;font-size:18px;font-weight:500;color:var(--fg);line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;line-height:1;color:var(--accent);transition:transform .3s}
.faq[open] summary::after{transform:rotate(45deg)}
.faq p{margin:0 0 22px;font-size:16px;color:var(--muted);line-height:1.6}
.notes{margin-top:40px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.notes summary{cursor:pointer;padding:18px 22px;font-size:15px;font-weight:500;color:var(--fg)}
.notes ol{margin:0;padding:0 22px 20px 44px;font-size:13.5px;line-height:1.55;color:var(--muted);display:flex;flex-direction:column;gap:8px}
.notes a{color:var(--accent)}
.notes li:target{background:var(--accent-soft);border-radius:6px}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:clamp(48px,5vw,72px)}
.pn a{display:flex;flex-direction:column;gap:8px;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:var(--card);transition:border-color .3s,box-shadow .3s}
.pn a:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));box-shadow:var(--shadow)}
.pn a.next{text-align:right;grid-column:2}
.pn small{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.pn b{font-size:17px;font-weight:500;line-height:1.35}
@media (max-width:700px){.pn{grid-template-columns:1fr}.pn a.next{grid-column:auto}}
.share{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted);margin-top:28px}
.share a{text-decoration:none!important;color:inherit!important}
.share button,.share a{border:1px solid var(--card-line);background:var(--card);border-radius:999px;padding:8px 14px;font-size:13px;cursor:pointer;min-height:36px;display:inline-flex;align-items:center}
/* legal page */
.caps-legal{font-size:16px}
.ctable.kt td:first-child{white-space:nowrap;font-weight:600;color:var(--fg);width:180px;text-align:left}
.ctable.kt td:last-child{white-space:normal;font-weight:400;text-align:left;color:inherit}
.legal ul{margin:0 0 1.15em}
.legal li{margin-bottom:.4em}
/* industry page v2 */
.alert-wrap{justify-content:center;align-items:center;padding-top:64px}
.alert-stack{position:relative;width:min(440px,100%);height:340px;z-index:1}
.alert-card{position:absolute;inset:auto 0 0 0;padding:24px;display:flex;flex-direction:column;gap:14px;transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .9s,filter .9s;will-change:transform}
.alert-card .ac-top{display:flex;justify-content:space-between;gap:12px;align-items:center}
.alert-card .title{font-size:19px;font-weight:500;letter-spacing:-.01em;line-height:1.3}
.alert-card .meta{font-size:12px;color:var(--muted)}
.alert-card[data-pos="0"]{transform:none;opacity:1;z-index:3}
.alert-card[data-pos="1"]{transform:translateY(-24px) scale(.95);opacity:.75;z-index:2;filter:saturate(.6)}
.alert-card[data-pos="2"]{transform:translateY(-46px) scale(.9);opacity:.45;z-index:1;filter:saturate(.4)}
.alert-card[data-pos="x"]{transform:translateY(40px) scale(.96);opacity:0;z-index:0;pointer-events:none}
.kv-hot span:last-child{color:var(--accent);font-weight:600}
@media (max-width:600px){.alert-stack{height:430px}.alert-wrap{padding:56px 14px 18px;min-height:540px}.alert-card{padding:18px}.alert-card .kv{flex-direction:column;gap:2px}}
.alert-dots{position:relative;z-index:1;display:flex;gap:8px;justify-content:center;margin-top:8px}
.alert-dots button{width:8px;height:8px;border-radius:9px;border:0;padding:0;background:color-mix(in srgb,var(--fg) 25%,transparent);cursor:pointer;transition:width .4s,background .4s}
.alert-dots button.on{width:26px;background:var(--accent)}
.alert-wrap{gap:12px}
.st-src{display:inline-block;margin-top:4px;font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--muted) 40%,transparent)}
.org-people{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:22px}
.org-people small,.ll text{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.org-people > div{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.org .org-band{margin-bottom:22px}
.sys-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:12px}
.sys-card{background:var(--card);border:1px solid var(--card-line);border-radius:16px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:8px}
.sys-n{font-size:12px;font-weight:600;color:var(--accent)}
.sys-card b{font-size:17px;font-weight:600;letter-spacing:-.01em;line-height:1.25}
.sys-card p{font-size:14px;color:var(--muted);line-height:1.45}
.sys-ex{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}
.sys-ex span{font-size:12px;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent) 7%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 14%,transparent)}
.sources-box{margin-top:16px}
.life{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(32px,4vw,64px);align-items:center}
@media (max-width:1000px){.life{grid-template-columns:1fr}}
.life-vis{padding:clamp(12px,2vw,28px);display:flex;justify-content:center}
.life-vis > div{width:100%}
.life-vis svg{width:100%;max-width:640px;height:auto;display:block;overflow:visible}
.lp-side{fill:color-mix(in srgb,var(--card) 70%,var(--peri));stroke:color-mix(in srgb,var(--fg) 22%,transparent);stroke-width:1}
.lp-top{fill:var(--card);stroke:color-mix(in srgb,var(--fg) 28%,transparent);stroke-width:1}
.lp.flow .lp-top{fill:color-mix(in srgb,var(--accent) 5%,var(--card))}
.lt rect{fill:var(--bg);stroke:color-mix(in srgb,var(--fg) 26%,transparent);stroke-width:1}
.lt .gl{fill:none;stroke:color-mix(in srgb,var(--fg) 40%,transparent);stroke-width:1.1}
.lt text{font-size:7.6px;font-weight:600;letter-spacing:.04em;fill:color-mix(in srgb,var(--fg) 75%,transparent);font-family:var(--font)}
.lt[data-st]{cursor:pointer}
.lt.on-src{opacity:.25}
.lift .lt.on rect{fill:var(--accent);stroke:var(--accent)}
.lift .lt.on .gl{stroke:rgba(255,255,255,.85)}
.lift .lt.on text{fill:#fff}
.lift{filter:drop-shadow(0 14px 14px rgba(40,44,140,.28));animation:liftIn .6s cubic-bezier(.2,.7,.2,1)}
@keyframes liftIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.loop{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linejoin:round;stroke-dasharray:6 6;animation:flow 1.4s linear infinite;opacity:.8}
.bead{fill:var(--accent)}
.num{font-size:9px;font-weight:700;fill:var(--accent);font-family:var(--font)}
.ll path{stroke:color-mix(in srgb,var(--fg) 25%,transparent);stroke-width:1}
.logo-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(176px,100%),1fr));gap:12px}
.lw{display:flex;align-items:center;justify-content:center;height:112px;padding:14px 16px;background:#fff!important;color:#14141F;border:1px solid var(--line);border-radius:14px;background:var(--card);transition:border-color .3s,transform .3s}
.lw:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));transform:translateY(-2px)}
.lw > svg,.lw > img{flex:none;display:block;object-fit:contain}
.lw span{display:flex;flex-direction:column;min-width:0}
.lw b{font-size:15px;font-weight:500;line-height:1.25}
.lw small{font-size:12px;color:var(--muted)}
.mono{flex:none;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--accent);background:var(--accent-soft)}
.more-ind{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 28px;padding-block:clamp(40px,4vw,56px);border-top:1px solid var(--line);font-size:15px}
.more-ind > span{color:var(--muted);font-size:13px;letter-spacing:.04em}
.more-ind a{display:inline-flex;align-items:center;gap:6px;color:var(--fg);font-size:17px;font-weight:500;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
.more-ind a:hover{color:var(--accent);border-color:var(--accent)}
.more-ind a svg{opacity:.5}
/* lottie-style motion */
.cap-ic{width:64px;height:64px}
.lot{stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lot-track{stroke-dasharray:3 4;animation:flow 1.2s linear infinite}
.lot-bead,.lot-core{fill:var(--accent);stroke:none}
.lot-node{fill:var(--accent-soft)}
.lot-ln{stroke-dasharray:16;stroke-dashoffset:16;animation:lotWrite 3s ease-in-out infinite}
.lot-ln.l2{animation-delay:.35s}.lot-ln.l3{animation-delay:.7s}
@keyframes lotWrite{0%,10%{stroke-dashoffset:16}45%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:16}}
.lot-beam{fill:color-mix(in srgb,var(--accent) 35%,transparent);stroke:none;animation:lotScan 3s ease-in-out infinite}
@keyframes lotScan{0%,100%{transform:translateY(0)}50%{transform:translateY(22px)}}
.lot-ring{transform-origin:26px 26px;animation:lotRing 2.7s ease-out infinite;opacity:0}
.lot-ring.r2{animation-delay:.9s}.lot-ring.r3{animation-delay:1.8s}
@keyframes lotRing{0%{transform:scale(.8);opacity:.9}100%{transform:scale(3.6);opacity:0}}
.live{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ok);margin-right:6px;vertical-align:1px;box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 60%,transparent);animation:livePulse 1.8s infinite}
@keyframes livePulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 55%,transparent)}100%{box-shadow:0 0 0 8px transparent}}
.bh-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;width:100%}
.bh-anim{width:min(520px,100%);height:auto}
.bh-base,.bh-ticks path{stroke:var(--line);stroke-width:1.2}
.bh-plan{stroke:color-mix(in srgb,var(--fg) 30%,transparent);stroke-width:1.6;stroke-dasharray:5 6}
.bh-act{stroke:var(--accent);stroke-width:2.4;stroke-dasharray:560;stroke-dashoffset:560;animation:bhDraw 5s linear infinite}
@keyframes bhDraw{0%{stroke-dashoffset:560}90%,100%{stroke-dashoffset:0}}
.bh-dot{fill:var(--accent)}
.bh-gap path{stroke:var(--risk);stroke-width:1.4;stroke-dasharray:3 4}
.bh-gap text{font-size:12px;fill:var(--risk);font-family:var(--font);font-weight:600}
.bh-gap{opacity:0;animation:bhGap 5s infinite}
@keyframes bhGap{0%,82%{opacity:0}90%,100%{opacity:1}}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.tl-card .thumb img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.tl-card:hover .thumb img{transform:scale(1.05)}
.sys-card,.lw,.hand,.actions li,.loop li{transition:transform .4s,box-shadow .4s,border-color .4s}
.sys-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none}}
/* systems hub */
.shub{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.9fr) minmax(0,1fr);gap:clamp(24px,5vw,90px);align-items:center;margin-top:clamp(56px,5vw,76px);padding-top:8px;border-top:1px dashed color-mix(in srgb,var(--accent) 18%,transparent)}
.shub > .shub-col,.shub > .shub-mid{margin-top:40px}
.shub-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.shub-lines .ln{fill:none;stroke:color-mix(in srgb,var(--accent) 28%,transparent);stroke-width:1.4;stroke-dasharray:4 6;animation:flow 1.6s linear infinite;transition:stroke .4s,stroke-width .4s}
.shub-lines .ln.on{stroke:var(--accent);stroke-width:2.2}
.shub-lines .bd{fill:var(--accent);opacity:.75}
.shub-col{position:relative;display:flex;flex-direction:column;gap:12px;z-index:1}
.shub-col.left{align-items:flex-end}
.schip{display:flex;align-items:center;gap:12px;width:100%;max-width:330px;min-height:58px;padding:10px 16px 10px 10px;border-radius:16px;border:1px solid var(--card-line);background:var(--card);box-shadow:var(--shadow);text-align:left;cursor:pointer;transition:transform .4s,border-color .4s,box-shadow .4s}
.shub-col.left .schip{flex-direction:row-reverse;text-align:right;padding:10px 10px 10px 16px}
.schip .si{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);transition:background .4s,color .4s}
.schip .st{font-size:15px;font-weight:500;line-height:1.3;letter-spacing:-.01em}
.schip.on{border-color:var(--accent);transform:translateX(var(--nudge,6px));box-shadow:0 18px 40px -18px color-mix(in srgb,var(--accent) 60%,transparent)}
.shub-col.left .schip.on{--nudge:-6px}
.schip.on .si{background:var(--accent);color:var(--on-accent)}
.shub-mid{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.shub-core{position:relative;width:132px;height:132px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 14%,transparent),0 30px 60px -20px color-mix(in srgb,var(--accent) 70%,transparent)}
.shub-core b{font-size:24px;font-weight:600;letter-spacing:-.045em}
.shub-core .ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--accent) 50%,transparent);animation:coreRing 3.2s ease-out infinite}
.shub-core .ring.r2{animation-delay:1.6s}
@keyframes coreRing{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.4);opacity:0}}
.shub-flow{font-size:13px;color:var(--muted);letter-spacing:.01em;max-width:30ch}
.shub-detail{min-height:118px;width:100%;max-width:320px;padding:16px 18px;border-radius:16px;background:color-mix(in srgb,var(--card) 82%,transparent);border:1px solid var(--card-line);backdrop-filter:blur(8px)}
.shub-detail .sys-n{display:block;margin-bottom:6px}
.shub-detail p{font-size:15px;line-height:1.5;color:var(--fg)}
.org-people{margin-bottom:8px}
@media (max-width:900px){.shub{grid-template-columns:1fr}.shub-lines{display:none}.shub-mid{order:-1}.shub-col.left,.shub-col.right{align-items:stretch}.shub-col.left .schip{flex-direction:row;text-align:left;padding:10px 16px 10px 10px}.schip{max-width:none}.schip.on{transform:none}}
/* impact */
.imp-head{display:flex;flex-direction:column;gap:22px;max-width:900px}
.impact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,4vw,64px)}
.imp{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:clamp(28px,3vw,40px) 0 clamp(32px,3.4vw,48px);border-top:1px solid var(--line)}
.imp-ind{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.imp h3{font-size:clamp(21px,1.8vw,26px);font-weight:500;letter-spacing:-.02em;line-height:1.2}
.imp b{margin-top:clamp(18px,2.4vw,34px);font-size:clamp(44px,4.6vw,68px);font-weight:500;letter-spacing:-.045em;line-height:1;color:var(--accent)}
.imp p{color:var(--muted);font-size:16px;max-width:28ch}
.imp-note{margin-top:20px;font-size:13px;color:var(--muted)}
@media (max-width:900px){.impact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.impact{grid-template-columns:1fr}}
/* enterprise standards */
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 48px}
.sec-head .h2{position:relative;padding-left:22px}
.sec-head .h2::before{content:"";position:absolute;left:0;top:.14em;bottom:.14em;width:5px;border-radius:3px;background:linear-gradient(var(--accent),color-mix(in srgb,var(--accent) 40%,var(--peri)))}
.sec-head .lede{max-width:44ch}
.trust{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--card)}
.seals,.assure{list-style:none;margin:0;padding:0;display:grid}
.seals{grid-template-columns:repeat(5,minmax(0,1fr))}
.seals li{display:flex;flex-direction:column;align-items:center;gap:22px;padding:clamp(32px,3.6vw,52px) 16px clamp(28px,3vw,40px);text-align:center}
.seals li + li{border-left:1px solid var(--line)}
.seals li:nth-child(odd){background:radial-gradient(color-mix(in srgb,var(--fg) 9%,transparent) 1px,transparent 1.3px) 0 0/14px 14px}
.seal{width:clamp(96px,8vw,124px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;color:var(--fg);background:var(--card);border:1px solid var(--card-line);box-shadow:inset 0 0 0 9px color-mix(in srgb,var(--bg) 70%,var(--card)),inset 0 0 0 10px var(--card-line),0 18px 36px -18px rgba(30,30,90,.35);transition:color .4s,transform .4s}
.seals li:hover .seal{color:var(--accent);transform:translateY(-3px)}
.seal-lbl{font-size:15px;font-weight:500;line-height:1.35;max-width:20ch;text-wrap:balance}
.assure{grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.assure li{display:flex;gap:16px;align-items:flex-start;padding:clamp(24px,2.6vw,34px)}
.assure li + li{border-left:1px solid var(--line)}
.assure svg{flex:none;color:var(--accent);margin-top:1px}
.assure p{font-size:16px;color:var(--muted);line-height:1.5}
.assure b{color:var(--fg);font-weight:600}
@media (max-width:1000px){.seals{grid-template-columns:repeat(2,minmax(0,1fr))}.seals li{border-left:0!important;border-top:1px solid var(--line)}.seals li:nth-child(-n+2){border-top:0}.seals li:nth-child(even){border-left:1px solid var(--line)!important}.seals li:last-child{grid-column:1/-1}.assure{grid-template-columns:1fr}.assure li + li{border-left:0;border-top:1px solid var(--line)}}
.team-sec{padding-block:clamp(56px,6vw,80px)}
.team-sec .team-logos{margin-top:32px}
.hwe .pills{justify-content:center}
.hwe .team{align-self:stretch;align-items:center}
.hwe .team-logos{width:100%}
.statement .w{transition:color .5s}
.statement .w.dim{color:color-mix(in srgb,var(--fg) 24%,var(--bg))}
.pills{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.pills li{font-size:16px;padding:12px 20px;border-radius:999px;border:1px solid var(--card-line);background:var(--card);display:flex;align-items:center;gap:10px}
.pills li svg{color:var(--accent);flex:none}
.team{border-block:1px solid var(--line);padding-block:30px;display:flex;flex-direction:column;gap:22px}
.team-logos{display:flex;flex-wrap:wrap;justify-content:space-around;gap:32px 48px;align-items:center}
.team-logos > div{display:flex;justify-content:center;align-items:center;min-height:72px;color:var(--logo);transition:color .4s}
.team-logos > div:hover{color:var(--fg)}
.team-logos svg{height:calc(var(--h) * 1px);width:auto;flex:none;display:block}
@media (max-width:700px){.team-logos svg{height:calc(var(--h) * .7px)}}
.team-logos .txt{font-size:24px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}

/* cta — dark gradient card */
/* Korza-style: the panel starts inset with rounded corners and grows to fill the whole screen as you scroll into it, then holds */
/* the zone is long enough to grow the panel, hold it, then let the footer slide up over it (negative bottom margin pulls the footer onto the pinned panel) */
.cta-zone{position:relative;margin-top:0;height:280vh;margin-bottom:-100vh;border-top:1px solid var(--line)}
.cta-sticky{z-index:1}
.cta{transform:scale(calc(1 - var(--cq,0) * .07));opacity:calc(1 - var(--cq,0) * .5);transform-origin:50% 30%}
footer{position:relative;z-index:2;border-radius:calc(var(--fq,0) * 40px) calc(var(--fq,0) * 40px) 0 0;box-shadow:0 -30px 60px -30px rgba(20,20,60,.35)}
.cta-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.cta-inner{position:relative;height:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:56px;align-items:center;padding-block:96px 56px}
@media (max-width:760px),(max-height:620px){.cta-zone{height:auto;margin-bottom:0}.cta-sticky{position:static;height:auto}.cta{position:relative !important;clip-path:none !important}.cta-inner{height:auto;padding-block:72px}}
.cta{position:absolute;inset:0;color:var(--fg);clip-path:inset(calc(var(--ci,0) * 12vh) calc(var(--ci,0) * 5vw) round calc(var(--ci,0) * 32px));will-change:clip-path;
  background:radial-gradient(var(--dot) 1px,transparent 1.3px) 0 0/18px 18px,radial-gradient(70% 80% at 15% 100%,var(--peri) 0%,transparent 70%),radial-gradient(55% 65% at 95% 0%,var(--blush) 0%,transparent 72%),var(--peri-soft)}
.cta .lede{color:var(--muted)}
.cta .card{padding:clamp(22px,3vw,36px);color:var(--fg)}
form{display:flex;flex-direction:column;gap:18px}
.field{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}
.field label{display:flex;flex-direction:column;gap:6px}
.field input,.field textarea{font:inherit;font-size:16px;color:var(--fg);background:transparent;border:0;border-bottom:1px solid color-mix(in srgb,var(--fg) 55%,transparent);padding:12px 0;border-radius:0;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--accent);box-shadow:0 1px 0 var(--accent)}
.field.err input,.field.err textarea{border-bottom-color:var(--risk)}
.field .msg{font-size:13px;color:var(--risk)}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:18px}
.thanks{display:flex;flex-direction:column;gap:10px;justify-content:center}
.thanks b{font-size:28px;font-weight:500;letter-spacing:-.025em}

/* industry page */
.ind-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(500px,100%),1fr));gap:64px;align-items:center;padding-top:56px}
.crumb{display:flex;gap:10px;font-size:14px;color:var(--muted)}
.crumb a:hover{color:var(--accent)}
.alert-wrap{min-height:560px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.alert-wrap .ph{align-self:flex-end}
.kv{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--line);font-size:14px}
.kv span:first-child{color:var(--muted)}
.caps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));border-top:1px solid var(--line)}
.cap{padding:36px 32px 40px 0;display:flex;flex-direction:column;gap:56px;justify-content:space-between;min-height:260px}
.cap + .cap{border-left:1px solid var(--line);padding-left:32px}
@media (max-width:700px){.cap + .cap{border-left:0;padding-left:0;border-top:1px solid var(--line)}}
.cap-ic{width:52px;height:52px;border-radius:14px;border:1px solid var(--card-line);background:var(--card);display:grid;place-items:center;color:var(--accent)}
.cap p{font-size:18px;line-height:1.45;max-width:30ch}
.band{min-height:420px;display:flex;flex-direction:column;justify-content:space-between;padding:28px clamp(20px,3vw,44px) 44px}
.band .ph{align-self:flex-end}
.band-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:32px}
.band-stats div{display:flex;flex-direction:column;gap:10px;border-top:1px solid color-mix(in srgb,var(--fg) 30%,transparent);padding-top:20px}
.band-stats b{font-size:clamp(52px,6.5vw,104px);font-weight:500;letter-spacing:-.05em;line-height:.9}
.band-stats b.todo{color:var(--muted)}
.band-stats span{font-size:15px;max-width:30ch}
.org{padding:clamp(20px,3vw,44px)}
.org-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:12px}
.org-row div{display:flex;flex-direction:column;align-items:center}
.org-row i{width:1px;height:36px;background:color-mix(in srgb,var(--accent) 45%,transparent)}
.org-band{background:var(--accent);color:var(--on-accent);border-radius:18px;padding:24px 28px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center}
.org-band b{font-size:26px;font-weight:600;letter-spacing:-.045em}
.sys{font-size:14px;padding:10px 16px;border-radius:12px;border:1px dashed color-mix(in srgb,var(--accent) 50%,transparent);background:color-mix(in srgb,var(--card) 70%,transparent)}
.wf{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:64px;align-items:stretch}
.wf-vis{min-height:560px;padding:28px;display:flex}
.wf-vis .frame{flex:1}
.steps{display:flex;flex-direction:column;justify-content:center}
.step{background:none;border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;padding:18px 0;display:grid;grid-template-columns:44px 1fr;gap:4px 8px;color:var(--muted);transition:color .5s}
.step:last-child{border-bottom:1px solid var(--line)}
.step small{font-size:13px;padding-top:4px}
.step b{font-size:20px;font-weight:500;letter-spacing:-.02em}
.step span{grid-column:2;font-size:15px;display:none}
.step[aria-pressed="true"]{color:var(--fg)}
.step[aria-pressed="true"] small{color:var(--accent)}
.step[aria-pressed="true"] span{display:block;color:var(--muted)}
.step-x{grid-column:2;display:flex;flex-direction:column;gap:14px;margin-top:14px;padding:16px 18px;border-radius:14px;background:var(--card);border:1px solid var(--card-line);box-shadow:var(--shadow);color:var(--fg)}
.step-x em{display:block;font-style:normal;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.sx-row p{font-size:15px;line-height:1.45}
.sx-meta{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end}
.sx-chips{display:flex;flex-wrap:wrap;gap:6px}
.sx-chips i{font-style:normal;font-size:12.5px;padding:5px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:500}
.sx-kpi{font-size:14px;font-weight:600;padding:5px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent);white-space:nowrap}
.sx-prog{height:2px;border-radius:2px;background:var(--line);overflow:hidden}
.sx-prog i{display:block;height:100%;width:0;background:var(--accent);animation:sxp 3.2s linear forwards}
@keyframes sxp{to{width:100%}}
@media (max-width:560px){.sx-meta{grid-template-columns:1fr}}
.integ{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:56px;align-items:center}
.integ-logos{min-height:300px;padding:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(130px,100%),1fr));gap:14px;align-content:center}
.integ-logos .card{height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:13px;color:var(--muted);border-radius:16px}
.integ-logos .card svg{width:30px;height:30px}
.integ-tabs{display:flex;flex-wrap:wrap;gap:8px}
.integ-tabs button{border:1px solid var(--card-line);background:var(--card);border-radius:999px;padding:10px 16px;font-size:14px;cursor:pointer;min-height:44px}
.integ-tabs button[aria-selected="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.pager{display:flex;flex-wrap:wrap;gap:10px;align-items:center}

/* contact page */
.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:72px;padding-block:56px 0;align-items:start}
.contact-left{padding:clamp(28px,4vw,56px);min-height:560px;display:flex;flex-direction:column;justify-content:space-between;gap:40px}

/* footer */
footer{background:var(--foot-bg);color:var(--foot-fg);overflow:hidden;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between}
footer > .wrap{width:100%}
[data-page="contact"]{padding-bottom:var(--sec)}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:36px;padding-block:88px 0}
.foot-cols div{display:flex;flex-direction:column;gap:12px;font-size:15px}
.foot-cols span{font-size:13px;color:var(--foot-muted)}
.foot-cols a:hover{color:#B6BCF7}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;font-size:14px;color:var(--foot-muted);border-top:1px solid var(--foot-line);padding-block:22px 0;margin-top:64px}
.wordmark{font-size:clamp(120px,27vw,420px);font-weight:600;letter-spacing:-.065em;line-height:.78;text-align:center;margin:40px 0 -.14em;white-space:nowrap;background:linear-gradient(100deg,#B6BCF7 10%,#D9C9F2 50%,#F2D9E8 90%);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none}

/* motion: slow fade-and-rise; pages are fully visible without it */
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@supports (animation-timeline: view()){
  .rise{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
}
.page{animation:pageIn .7s ease both}
@keyframes pageIn{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none !important;transition:none !important}}
