/* Customnex website, Direction B "Modular": light business colours, tinted rounded tiles,
   Schibsted Grotesk headings, Source Sans 3 text, Outfit for the wordmark only. Components read tokens. */
:root{
  color-scheme:light;
  --ink:#101B26; --brand-ink:#0E1C2B; --body:#3A4754; --muted:#647280;
  --line:#E1E6EB; --line-2:#D6E1EB; --line-3:#DCE2E8; --line-4:#C9D6E2;
  --bg:#FFFFFF; --blue:#EEF3F8; --teal:#E8F3F0; --slate:#F2F4F6; --slate-2:#E4E8EC; --dot:#D3DEE8;
  --steel:#2F5D7C; --steel-dark:#1F4560; --steel-soft:#9FB6CA;
  --tealc:#2E7D6E; --teal-line:#CFE5DE; --teal-soft:#9CCBBE; --teal-light:#7FD1BE;
  --amber-bg:#FBF1D6; --amber-bg-2:#FFFBF0; --amber:#7A5200; --amber-line:#E3CD8F; --amber-edge:#EBD9A6;
  --display:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --sans:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
  --brand:"Outfit","Schibsted Grotesk",system-ui,sans-serif;
  --r:20px; --r-md:14px; --r-sm:10px;
  --shadow:0 6px 16px rgba(16,27,38,.06); --shadow-lg:0 14px 34px rgba(16,27,38,.12); --shadow-steel:0 20px 44px rgba(47,93,124,.28);
  --w:1240px; --pad:24px; --gap:20px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--bg);color:var(--body);font:400 17px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--steel);text-decoration:none}
a:hover{color:var(--steel-dark)}
:focus-visible{outline:2px solid var(--steel);outline-offset:3px;border-radius:6px}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--display);color:var(--ink);text-wrap:balance}
p{text-wrap:pretty}
.nw{white-space:nowrap}
.wrap{max-width:calc(var(--w) + 2*var(--pad));margin:0 auto;padding-inline:var(--pad)}
@media (max-width:560px){:root{--pad:16px;--gap:14px}}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:12px;z-index:100;background:#fff;padding:8px 12px;border-radius:8px}
.ic{display:inline-flex;align-items:center;justify-content:center;flex:none}
.ic svg{display:block}
.t-blue{background:var(--blue)} .t-teal{background:var(--teal)} .t-slate{background:var(--slate)} .t-white{background:#fff;border:1px solid var(--line-3)}
.dotted{background-color:var(--blue);background-image:radial-gradient(var(--dot) 1.2px,transparent 1.2px);background-size:22px 22px}
.ibox{width:52px;height:52px;border-radius:14px;background:#fff;color:var(--steel)}
.t-teal .ibox{color:var(--tealc)}
.t-white .ibox{background:var(--blue)}
.lines{display:flex;flex-direction:column;gap:7px}
.lines i{display:block;height:7px;border-radius:4px;background:var(--line)}
.lines i:nth-child(2){width:78%} .lines i:nth-child(3){width:52%}
.decide{display:flex;gap:8px}
.decide span{height:36px;padding:0 16px;border-radius:8px;display:inline-flex;align-items:center;font-size:15px;font-weight:600;white-space:nowrap}
.decide .yes{background:var(--amber);color:#fff}
.decide .no{background:#fff;border:1px solid var(--amber-line);color:var(--amber)}
.tag{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:var(--slate);font-size:15px;font-weight:600;color:var(--body);white-space:nowrap}

/* ---------- header ---------- */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.head-inner{height:88px;display:flex;align-items:center;gap:24px;position:relative}
.brand{display:inline-flex;align-items:center}
.wordmark{font-family:var(--brand);font-weight:600;font-size:27px;line-height:1;letter-spacing:-.02em;color:var(--brand-ink)}
.nav{display:flex;align-items:center;flex:1}
.nav-links{display:flex;align-items:center;gap:20px;margin:0 auto}
.nav-item{position:relative;display:flex;align-items:center}
.nav-top{font-size:16px;font-weight:600;color:var(--body);padding:10px 4px}
.nav-top:hover{color:var(--steel)}
.nav-top[aria-current="page"]{color:var(--steel);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:10px}
.menu-toggle{background:none;border:0;width:28px;height:36px;cursor:pointer;border-radius:8px;padding:0}
.menu-toggle span{display:block;width:7px;height:7px;margin:auto;border-right:1.5px solid var(--body);border-bottom:1.5px solid var(--body);transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.has-menu.open .menu-toggle span{transform:translateY(2px) rotate(-135deg)}
.menu{position:absolute;top:calc(100% + 8px);left:-12px;min-width:290px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:8px;display:none;z-index:40}
.menu a{display:block;color:var(--ink);font-size:16px;font-weight:600;padding:10px 12px;border-radius:8px;line-height:1.3}
.menu a:hover{background:var(--blue);color:var(--steel)}
.has-menu.wide .menu{min-width:580px;grid-template-columns:1fr 1fr;gap:0 4px}
.nav-cta{flex:none}
@media (min-width:1101px){
  .has-menu:hover .menu,.has-menu:focus-within .menu,.has-menu.open .menu{display:block}
  .has-menu.wide:hover .menu,.has-menu.wide:focus-within .menu,.has-menu.wide.open .menu{display:grid}
  .has-menu::after{content:"";position:absolute;left:0;right:0;top:100%;height:10px}
}
@media (min-width:1240px){.nav-links{gap:30px}}
.nav-toggle{display:none;margin-left:auto;align-items:center;gap:10px;background:#fff;border:1px solid var(--line-2);border-radius:10px;height:44px;padding:0 14px;font:600 16px var(--sans);color:var(--ink);cursor:pointer}
.bars{width:18px;height:12px;position:relative;border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink)}
.bars::after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1.5px solid var(--ink);transform:translateY(-50%)}
@media (max-width:1100px){
  .head-inner{height:72px}
  .wordmark{font-size:25px}
  .nav-toggle{display:inline-flex}
  .nav{display:none;position:absolute;left:calc(-1*var(--pad));right:calc(-1*var(--pad));top:100%;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--line);padding:4px var(--pad) 20px;max-height:calc(100vh - 72px);overflow-y:auto;box-shadow:var(--shadow-lg)}
  .nav.open{display:flex}
  .nav-links{flex-direction:column;align-items:stretch;gap:0;margin:0}
  .nav-item{flex-wrap:wrap;border-bottom:1px solid var(--line)}
  .nav-top{flex:1;padding:15px 0;font-size:17px}
  .nav-top[aria-current="page"]{text-decoration:none}
  .menu-toggle{width:44px;height:44px}
  .menu,.has-menu.wide .menu{position:static;display:none;min-width:0;width:100%;border:0;box-shadow:none;padding:0 0 12px}
  .has-menu.open .menu,.has-menu.wide.open .menu{display:block}
  .nav-cta{margin-top:18px}
}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 24px;border-radius:var(--r-sm);font:600 17px/1 var(--sans);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
.btn-primary{background:var(--ink);color:#fff}
.btn-primary:hover{background:var(--steel);color:#fff}
.btn-soft{background:var(--blue);color:var(--ink)}
.btn-soft:hover{background:#E1EAF2;color:var(--ink)}
.btn-line{background:#fff;color:var(--ink);border-color:#D9E0E7}
.btn-line:hover{border-color:var(--ink);color:var(--ink)}
.btn-small{height:46px;padding:0 20px;font-size:16px}
.ctas{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
@media (max-width:480px){.ctas>.btn{flex:1 1 100%}.hero-copy .ctas{align-self:stretch}}

/* ---------- sections ---------- */
.section{padding-top:clamp(64px,8vw,112px)}
main>.section:last-child{padding-bottom:clamp(64px,8vw,112px)}
.eyebrow{font-size:15px;line-height:20px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--steel)}
.sec-head{display:flex;flex-direction:column;gap:12px;margin-bottom:40px;max-width:860px}
.sec-head h2{font-weight:700;font-size:clamp(30px,3.3vw,40px);line-height:1.1;letter-spacing:-.02em}
.sec-intro{font-size:19px;line-height:1.5;max-width:680px}
@media (max-width:560px){.sec-head{margin-bottom:28px}}

/* ---------- hero ---------- */
.hero{padding-top:clamp(40px,5vw,64px)}
.hero h1{font-weight:700;letter-spacing:-.02em;font-size:clamp(38px,5vw,64px);line-height:1.03}
.hero h1 .hl{color:var(--steel)}
.hero-body{font-size:clamp(18px,1.6vw,20px);line-height:1.5}
.hero .eyebrow{margin-bottom:-6px}
.crumbs{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:34px;padding:4px 14px 4px 5px;border-radius:999px;background:var(--blue);font-size:15px;font-weight:600;color:var(--body)}
.crumbs .ic{width:24px;height:24px;border-radius:999px;background:#fff;color:var(--tealc)}
.crumbs a{color:var(--steel)} .crumbs .sep{color:var(--muted)} .crumbs [aria-current]{color:var(--ink)}
.pill{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px 0 5px;border-radius:999px;background:var(--blue);color:var(--steel);font-size:15px;font-weight:600}
.pill .ic{width:24px;height:24px;border-radius:999px;background:#fff}
/* centred hero (home, overview pages): copy centred, composition full width below */
.hero-centre .hero-copy{display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.hero-centre h1{max-width:15ch}
.hero-centre .hero-body{max-width:36em}
.hero-body{text-wrap:balance}
.hero-centre .ctas{margin-top:10px;justify-content:center}
/* split hero (detail pages): copy left, illustration right */
.hero-split .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,580px);gap:clamp(32px,4vw,48px);align-items:center}
.hero-split .hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.hero-split .ctas{margin-top:10px}
.hero-plain .hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:22px;max-width:820px}
.hero-plain .hero-body{max-width:40em}
@media (max-width:1000px){.hero-split .hero-grid{grid-template-columns:1fr}}

/* composition: four tiles around your own server, with floating chips */
.comp{position:relative;margin-top:56px;border-radius:var(--r);padding:56px;display:grid;grid-template-columns:300fr 480fr 300fr;grid-template-rows:232px 232px;gap:24px;overflow:hidden}
.comp-tile{border-radius:var(--r);padding:28px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;position:relative}
.comp-tile.t-white{border-color:#DCE3EA}
.comp-tile .name{font-family:var(--display);font-weight:700;font-size:22px;line-height:1.27;letter-spacing:-.01em;color:var(--ink)}
.comp-tile.k1{grid-column:1;grid-row:1} .comp-tile.k2{grid-column:1;grid-row:2}
.comp-tile.k3{grid-column:3;grid-row:1} .comp-tile.k4{grid-column:3;grid-row:2}
.bars3{position:absolute;right:28px;bottom:28px;display:flex;align-items:flex-end;gap:8px}
.bars3 i{display:block;width:18px;border-radius:4px}
.bars3 i:nth-child(1){height:36px;background:var(--line-2)} .bars3 i:nth-child(2){height:60px;background:var(--steel-soft)} .bars3 i:nth-child(3){height:46px;background:var(--steel)}
.server{border-radius:var(--r);background:var(--steel);box-shadow:var(--shadow-steel);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 24px;color:#fff}
.comp .server{grid-column:2;grid-row:1 / 3}
.server .spill{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 14px 0 12px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:15px;font-weight:600}
.server .racks{margin-top:24px;width:min(240px,100%);display:flex;flex-direction:column;gap:10px}
.server .racks span{height:46px;border-radius:10px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.24);display:flex;align-items:center;gap:8px;padding:0 16px}
.server .racks i{display:block;width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.45)}
.server .racks i:first-child{background:var(--teal-light)}
.server .racks b{display:block;margin-left:auto;width:64px;height:4px;border-radius:2px;background:rgba(255,255,255,.35)}
.server .racks b+b{margin-left:0;width:28px}
.server .st{margin-top:24px;font-family:var(--display);font-weight:700;font-size:24px;line-height:1.17;letter-spacing:-.01em;color:#fff}
.server .ss{margin-top:4px;font-size:15px;line-height:20px;color:#D6E4EE}
.server .bigi{margin-top:22px;width:96px;height:96px;border-radius:24px;background:#fff;color:var(--steel)}
.chip{width:290px;border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:14px 18px 14px 14px;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);z-index:3}
.chip>.ic{width:38px;height:38px;border-radius:10px;background:var(--teal);color:var(--tealc)}
.chip .ct{display:block;font-size:17px;line-height:22px;font-weight:600;color:var(--ink)}
.chip .cs{display:block;font-size:15px;line-height:20px;color:var(--muted)}
.chip.amber{display:block;width:300px;padding:16px 18px;background:var(--amber-bg);border-color:var(--amber-edge);box-shadow:0 14px 34px rgba(16,27,38,.14)}
.chip.amber .ct{display:flex;align-items:center;gap:8px;color:var(--amber)}
.chip.amber .cs{color:var(--amber);padding-left:28px;margin-top:2px}
.chip.amber .decide{margin-top:12px}
.comp .chip{position:absolute}
.comp .chip.c1{left:14.2%;top:96px} .comp .chip.c2{left:61.6%;top:150px} .comp .chip.c3{left:14.2%;top:404px}
.comp .chip.amber.c2{top:84px} .comp .chip.amber.c3{top:338px}
.comp .chip{width:auto;min-width:272px;max-width:340px}
.comp .chip .ct{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1100px){
  .comp{grid-template-columns:1fr 1fr;grid-template-rows:none;padding:28px;gap:16px}
  .comp .server{grid-column:1 / -1;grid-row:1}
  .comp-tile.k1,.comp-tile.k2,.comp-tile.k3,.comp-tile.k4{grid-column:auto;grid-row:auto;min-height:150px}
  .comp .chip{position:static;width:auto;max-width:none;grid-column:1 / -1}
}
@media (max-width:640px){.comp .chip.c2,.comp .chip.c3{display:none}.comp .server .racks{display:none}.comp .server{padding:22px}}
@media (max-width:560px){.comp{margin-top:36px;padding:16px;gap:12px}.comp-tile{padding:20px;min-height:128px!important}.comp-tile .name{font-size:19px}.comp-tile .ibox{width:44px;height:44px}.bars3{display:none}}

/* stacked documents (split hero) */
.stack{position:relative;height:520px;border-radius:var(--r);overflow:hidden}
.sdoc{position:absolute;width:240px;height:300px;padding:22px;border-radius:16px;background:#fff;border:1px solid #DCE3EA;box-shadow:0 14px 34px rgba(16,27,38,.08);display:flex;flex-direction:column}
.sdoc .top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sdoc .top .ic{width:40px;height:40px;border-radius:10px;background:var(--slate);color:var(--muted)}
.sdoc .lines{margin-top:22px;gap:12px}
.sdoc.b1{left:6%;top:118px;transform:rotate(-9deg)}
.sdoc.b2{left:52%;top:92px;transform:rotate(8deg)}
.sdoc.front{left:29.3%;top:100px;z-index:2;border-color:var(--line-2);box-shadow:0 20px 44px rgba(16,27,38,.14)}
.sdoc.front .top .ic{background:var(--teal);color:var(--tealc)}
.sdoc.front .tag{background:var(--blue);color:var(--steel)}
.sdoc .rowsx{margin-top:22px;display:flex;flex-direction:column;gap:12px}
.sdoc .rowsx div{display:flex;justify-content:space-between}
.sdoc .rowsx i{display:block;height:7px;border-radius:4px;background:var(--line)}
.sdoc .rowsx i+i{width:20%}
.sdoc .tot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between}
.sdoc .tot i{display:block;height:8px;width:32%;border-radius:4px;background:var(--line-4)} .sdoc .tot i+i{width:28%;background:var(--steel-soft)}
.stack .chip{position:absolute;right:24px;top:356px;width:auto;max-width:min(320px,calc(100% - 48px));padding-right:18px}
.sdoc.b1 .top{flex-direction:column;align-items:flex-start;gap:10px}
.sdoc.b1 .lines{margin-top:14px}
.sdoc.b2 .top{flex-direction:row-reverse}
.sdoc.b2 .lines{align-items:flex-end}
@media (max-width:1000px){.stack{height:460px}.sdoc.b1{left:calc(50% - 300px)}.sdoc.b2{left:calc(50% + 60px)}.sdoc.front{left:calc(50% - 120px)}}
@media (max-width:560px){.stack{height:360px}.sdoc.b1 .tag,.sdoc.b2 .tag{display:none}.sdoc{width:180px;height:230px;padding:16px}.sdoc.b1{left:calc(50% - 170px);top:70px}.sdoc.b2{left:calc(50% - 10px);top:50px}.sdoc.front{left:calc(50% - 90px);top:60px}.stack .chip{top:auto;bottom:24px;left:16px;right:16px}.stack .chip .ct{white-space:normal}}

/* single icon (split hero) */
.iconvis{height:480px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;padding:40px}
.iconvis .server{width:min(360px,100%);min-height:360px}
.iconvis{position:relative}
.iconvis .chip{position:absolute;width:auto;max-width:300px}
.iconvis.has-chips{height:520px}
.iconvis.has-chips .server{min-height:0;width:min(290px,100%)}
.iconvis.has-chips .server .bigi{width:72px;height:72px;border-radius:20px}
.iconvis.has-chips .server .ss,.iconvis.has-chips .server .spill{display:none}
.iconvis.has-chips .server .bigi{margin-top:0}
.iconvis .chip.i1{left:28px;top:36px}
.iconvis .chip.i2{right:28px;bottom:36px}
@media (max-width:1000px){.iconvis,.iconvis.has-chips{height:auto;flex-direction:column;gap:12px}.iconvis .chip{position:static;max-width:none;width:100%}}
@media (max-width:560px){.iconvis{padding:16px}.iconvis .server,.iconvis.has-chips .server{min-height:0;padding:22px 18px}.iconvis .server .bigi{width:64px;height:64px;margin-top:14px}.iconvis .chip.i2{display:none}}

/* ---------- facts ---------- */
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);padding-top:40px}
.fact{border-radius:var(--r);padding:28px;min-height:220px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.fact .ibox{width:72px;height:72px;border-radius:18px}
.fact p{font-family:var(--display);font-weight:600;font-size:22px;line-height:1.25;letter-spacing:-.01em;color:var(--ink)}
@media (max-width:1024px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.facts{grid-template-columns:1fr;padding-top:28px}.fact{min-height:0;flex-direction:row;align-items:center}.fact .ibox{width:56px;height:56px}.fact p{font-size:19px}}

/* ---------- pains ---------- */
.pains{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.pain{border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:18px;min-height:240px}
.pain .plabel{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:600;color:var(--body)}
.pain .plabel .ibox{width:48px;height:48px;border-radius:13px}
.pain .ptext{font-family:var(--display);font-weight:600;font-size:20px;line-height:1.3;letter-spacing:-.01em;color:var(--ink)}
.pain .ptext{padding-top:4px}
.pain .what{margin-top:auto;padding-top:16px;min-height:calc(2.8em + 16px);border-top:1px solid var(--line-2);font-size:17px;line-height:1.4;font-weight:600;color:var(--steel)}
.pain.t-teal .what{border-color:var(--teal-line);color:var(--tealc)}
.pain.t-slate .what{border-color:var(--line-3)}
.pain.wide{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,240px);column-gap:28px;align-items:stretch}
.pain.wide .pmain{display:flex;flex-direction:column;gap:18px}

.mini{align-self:center}
.mini-sup{display:flex;flex-direction:column;gap:8px}
.mini-sup div{height:48px;border-radius:12px;background:#fff;border:1px solid var(--line-2);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 14px;font-size:15px;font-weight:600;color:var(--ink)}
.mini-sup div:last-child .tag{background:var(--slate-2);color:var(--ink)}
.mini-grid{height:auto;border-radius:12px;background:#fff;border:1px solid var(--line-2);padding:16px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;grid-auto-rows:10px;gap:12px 10px;align-content:start}
.mini-grid i{border-radius:3px;background:var(--line)} .mini-grid i:nth-child(-n+4){background:var(--steel-soft)}
.mini-grid i.hot{background:var(--amber-line)}
@media (max-width:1100px){.pains{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.pains,.pains.n4{grid-template-columns:1fr}.pains .pain,.pains .pain.wide{grid-column:auto;display:flex;min-height:0;padding:22px}.pain .what{min-height:0}.pain .mini{display:none}.pain .ptext{font-size:19px}}

/* ---------- a day in ... ---------- */
.request{display:flex;align-items:center;gap:16px 20px;flex-wrap:wrap}
.request .rl{font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.bubble{display:inline-flex;align-items:center;gap:12px;min-height:64px;padding:10px 24px 10px 14px;border-radius:18px 18px 18px 4px;background:#fff;border:1px solid var(--line-2);box-shadow:0 10px 24px rgba(16,27,38,.06)}
.bubble .ic{width:38px;height:38px;border-radius:999px;background:var(--blue);color:var(--steel)}
.bubble b{font-family:var(--display);font-weight:600;font-size:20px;line-height:1.3;color:var(--ink)}
.lane{margin-top:20px;border-radius:var(--r);padding:24px 28px 28px}
.lane-title{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:20px;color:var(--ink)}
.lane-title .ic{color:var(--muted)} .lane.t-teal .lane-title .ic{color:var(--tealc)}
.lane-title .count{margin-left:auto;font-family:var(--sans);font-size:15px;font-weight:600;color:var(--muted)}
.steps-row{margin-top:20px;display:flex;align-items:stretch;gap:6px}
.step{flex:1;min-width:0;min-height:150px;border-radius:var(--r-md);background:#fff;border:1px solid var(--line);padding:16px 14px;display:flex;flex-direction:column;gap:10px}
.step .top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:15px;font-weight:600}
.step .top .ic{color:var(--steel)}
.step .lab{font-size:16.5px;line-height:1.3;font-weight:600;color:var(--ink)}
.step .tag{margin-top:auto;align-self:flex-start;background:var(--slate-2);white-space:normal;height:auto;min-height:28px;padding:3px 10px;line-height:1.25}
.arrow{flex:none;align-self:center;color:var(--steel-soft)}
.hint-row{margin-top:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hint{min-height:64px;padding:10px 22px 10px 14px;border-radius:var(--r-md);background:#fff;border:1px solid var(--teal-line);display:inline-flex;align-items:center;gap:12px;font-family:var(--display);font-weight:600;font-size:19px;line-height:1.3;color:var(--ink)}
.hint .ic{width:36px;height:36px;border-radius:10px;background:var(--teal);color:var(--tealc)}
.hint.go{background:var(--tealc);border-color:var(--tealc);color:#fff}
.hint.go .ic{background:rgba(255,255,255,.18);color:#fff}
.hint-row .arrow{color:var(--tealc)}
.card-mini{margin-left:auto;width:min(420px,100%);border-radius:var(--r-md);background:#fff;border:1px solid var(--teal-line);box-shadow:0 10px 24px rgba(16,27,38,.06);padding:14px 16px}
.card-mini .head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:16px;font-weight:600;color:var(--ink)}
.card-mini .head>span:first-child{display:flex;align-items:center;gap:8px}
.card-mini .head .ic{color:var(--tealc)}
.card-mini .foot{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.ready{font-size:15px;font-weight:600;color:var(--tealc)}
.ex{height:26px;padding:0 10px;border-radius:6px;background:var(--slate);display:inline-flex;align-items:center;font-size:14.5px;font-weight:600;color:var(--body)}
@media (max-width:1100px){.steps-row{flex-wrap:wrap}.step{flex:1 1 calc(33.3% - 6px)}.steps-row .arrow{display:none}.card-mini{margin-left:0}}
@media (max-width:640px){.lane{padding:18px}.step{flex:1 1 100%;min-height:0;flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px 12px}.step .top{gap:10px}.step .lab{flex:1 1 60%}.step .tag{margin-top:0}.hint-row{flex-direction:column;align-items:stretch}.hint-row .arrow{display:none}.bubble b{font-size:18px}}

/* ---------- what if ---------- */
.whatif{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,500px);gap:40px;align-items:center;border-radius:var(--r);padding:clamp(22px,3.5vw,40px) clamp(20px,3.5vw,40px) clamp(22px,3.5vw,40px) clamp(20px,4vw,48px)}
.whatif.solo{grid-template-columns:1fr}
.wi-list{display:flex;flex-direction:column;align-items:stretch}
.wi{display:flex;align-items:center;gap:14px;min-height:72px;padding:12px 24px 12px 16px;border-radius:var(--r-md);background:#fff;border:1px solid var(--teal-line);font-family:var(--display);font-weight:600;font-size:20px;line-height:1.3;letter-spacing:-.01em;color:var(--ink)}
.wi .ic{width:40px;height:40px;border-radius:11px;background:var(--teal);color:var(--tealc)}
.wi.go{background:var(--tealc);border-color:var(--tealc);color:#fff}
.wi.go .ic{background:rgba(255,255,255,.18);color:#fff}
.wi-link{display:block;margin-left:35px;height:18px;border-left:2px dashed var(--teal-soft)}
.rows-card{border-radius:16px;background:#fff;border:1px solid var(--teal-line);box-shadow:0 14px 34px rgba(16,27,38,.10);padding:20px}
.rows-card .head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:17px;font-weight:600;color:var(--ink)}
.rows-card .head>span:first-child{display:flex;align-items:center;gap:8px}
.rows-card .head .ic{color:var(--tealc)}
.rrows{margin-top:16px;display:flex;flex-direction:column;gap:10px}
.rrow{min-height:54px;padding:8px 12px;border-radius:12px;border:1px solid var(--line);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rrow>.ic{width:32px;height:32px;border-radius:9px;background:var(--blue);color:var(--steel)}
.rrow .rl{flex:1;min-width:0;font-size:16px;font-weight:600;color:var(--ink)}
.rrow .st{white-space:nowrap;margin-left:auto;display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:3px 12px 3px 8px;border-radius:999px;background:var(--teal);font-size:15px;font-weight:600;color:var(--ink);text-align:left}
.rrow .st .ic{color:var(--tealc)}
.rrow.hold{background:var(--amber-bg-2);border-color:var(--amber-edge)}
.rrow.hold>.ic{background:var(--amber-bg);color:var(--amber)}
.rrow.hold .st{background:var(--amber-bg);border:1px solid var(--amber-edge);color:var(--amber)}
.rrow.hold .st .ic{color:var(--amber)}
.rows-card .foot{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
@media (max-width:1000px){.whatif{grid-template-columns:1fr}}
@media (max-width:560px){.wi{font-size:18px;min-height:0}.rrow .st{white-space:normal}}
.act{height:36px;padding:0 16px;border-radius:8px;display:inline-flex;align-items:center;font-size:15px;font-weight:600;background:var(--blue);color:var(--steel)}

/* ---------- control points ---------- */
.points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.points.n2,.points.n4{grid-template-columns:repeat(2,minmax(0,1fr))}
.point{border-radius:var(--r);padding:28px;min-height:200px;display:flex;flex-direction:column;gap:22px}
.point .ptop{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.point .ibox{width:72px;height:72px;border-radius:18px}
.point .ibox.ring{border-radius:999px;background:var(--tealc);color:#fff;box-shadow:0 0 0 6px #fff;margin:6px 0 0 6px}
.point .tt{font-family:var(--display);font-weight:600;font-size:22px;line-height:1.23;letter-spacing:-.01em;color:var(--ink)}
.point .tx{margin-top:8px;font-size:16.5px;line-height:1.45}
@media (max-width:900px){.points,.points.n4{grid-template-columns:1fr}.point{min-height:0}}
@media (max-width:560px){.point{padding:22px;flex-direction:row;align-items:flex-start}.point .ibox{width:52px;height:52px;border-radius:14px}.point .ibox.ring{margin:4px;box-shadow:0 0 0 4px #fff}.point .ptop .decide{display:none}.point .tt{font-size:19px}}

/* ---------- works with (chips around the centre) ---------- */
.works{border-radius:var(--r);padding:48px clamp(20px,4vw,56px);display:flex;flex-direction:column;align-items:center}
.works.plain{padding:32px clamp(20px,4vw,48px)}
.works .row{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 40px;position:relative}
.wchip{min-height:64px;min-width:230px;padding:10px 18px 10px 14px;border-radius:var(--r-md);background:#fff;border:1px solid var(--line-2);box-shadow:var(--shadow);display:flex;align-items:center;gap:12px;font-size:16.5px;font-weight:600;color:var(--ink)}
.wchip .ic{width:36px;height:36px;border-radius:10px;background:var(--blue);color:var(--steel)}
.works .link{width:0;height:48px;border-left:2px dashed var(--steel-soft)}
.works.wired .row .wchip{flex:0 0 250px;position:relative}
.works.wired .row .wchip::after{content:"";position:absolute;left:50%;top:100%;height:24px;border-left:2px dashed var(--steel-soft)}
.works.wired .bus{display:block;margin-top:24px;height:0;border-top:2px dashed var(--steel-soft)}
.works.wired .row{gap:16px 24px}
.works.wired .link{height:32px}
@media (max-width:1100px){.works.wired .bus,.works.wired .row .wchip::after{display:none}.works.wired .row .wchip{flex:0 1 auto}.works.wired .link{height:40px}}
.works .server{width:min(340px,100%);padding:22px 24px;flex-direction:column}
.works .server .st{margin-top:8px}
.works .server .ss{margin-top:2px}
@media (max-width:560px){.works{padding:20px 16px}.works .row{flex-direction:column;align-items:stretch;gap:10px}.wchip{min-width:0}}

/* ---------- private by design ---------- */
.private{display:grid;grid-template-columns:minmax(0,800px) minmax(0,1fr);gap:0 100px;align-items:center;position:relative}
.boundary{position:relative;z-index:1;border-radius:var(--r);background:var(--teal);border:2px dashed var(--teal-soft);padding:36px 40px}
.boundary .bt{display:flex;align-items:center;gap:12px;font-family:var(--display);font-weight:700;font-size:24px;letter-spacing:-.01em;color:var(--ink)}
.boundary .bt .ic{color:var(--tealc)}
.b-grid{margin-top:28px;display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:24px}
.bsrv{border-radius:16px;background:var(--steel);box-shadow:0 14px 30px rgba(47,93,124,.24);padding:24px;color:#fff;display:flex;flex-direction:column}
.bsrv .ic{width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.14);color:#fff}
.bsrv .t{margin-top:16px;font-family:var(--display);font-weight:700;font-size:22px;color:#fff}
.bsrv .s{font-size:15px;color:#D6E4EE}
.bsrv .ag{margin-top:20px;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#D6E4EE}
.bsrv .agents{margin-top:10px;display:grid;grid-template-columns:repeat(2,max-content);gap:8px}
.bsrv .agents span{height:32px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);display:inline-flex;align-items:center;font-size:15px;font-weight:600;color:#fff}
.b-points{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.b-point{border-radius:var(--r-md);background:#fff;padding:18px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;font-size:16.5px;line-height:1.3;font-weight:600;color:var(--ink)}
.b-point .ic{width:40px;height:40px;border-radius:11px;background:var(--teal);color:var(--tealc)}
.conns{position:relative;display:flex;flex-direction:column;gap:22px}
.conns .swl{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600;color:var(--ink)}
.conns .swl .sw{transform:scale(.85)}
.conn{position:relative;min-height:64px;border-radius:var(--r-md);background:#fff;border:1px solid var(--line-2);box-shadow:var(--shadow);padding:8px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.conn::before{content:"";position:absolute;right:100%;top:50%;width:100px;border-top:2px dashed var(--teal-soft)}
.conn.off::before{border-top:2px dotted var(--line-4);opacity:.6}
.conn .l{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:600;color:var(--ink);line-height:1.2}
.conn .l .ic{width:36px;height:36px;border-radius:10px;background:var(--blue);color:var(--steel)}
.conn .l small{display:block;font-size:15px;font-weight:400;color:var(--muted)}
.conn.off{box-shadow:none;border-color:var(--line)} .conn.off .l{color:var(--body)} .conn.off .l .ic{background:var(--slate);color:var(--muted)}
.sw{flex:none;position:relative;width:40px;height:24px;border-radius:999px;background:var(--tealc)}
.sw::after{content:"";position:absolute;top:3px;left:19px;width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 1px 2px rgba(16,27,38,.25)}
.sw.off{background:#C4CDD5} .sw.off::after{left:3px}
@media (max-width:1240px){.private{grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:0 64px}.conn::before{width:64px}}
@media (max-width:1000px){.private{grid-template-columns:1fr;gap:28px}.conn::before{display:none}}
@media (max-width:760px){.boundary{padding:22px 18px}.b-grid{grid-template-columns:1fr}.boundary .bt{font-size:21px}}
@media (max-width:600px){.b-points{grid-template-columns:1fr;gap:10px}.b-point{flex-direction:row;align-items:center;padding:14px}}

/* ---------- hub ---------- */
.hub{border-radius:var(--r);padding:48px}
.hub-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,1fr);gap:40px 56px;align-items:center}
.hub-grid svg.wires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.hub-item{position:relative;z-index:1;justify-self:center;width:min(272px,100%);min-height:64px;border-radius:var(--r-md);background:#fff;border:1px solid var(--line-2);box-shadow:var(--shadow);padding:10px 16px;display:flex;align-items:center;gap:12px;font-size:16.5px;line-height:1.25;font-weight:600;color:var(--ink)}
.hub-item .ic{width:36px;height:36px;border-radius:10px;background:var(--blue);color:var(--steel)}
.hub .server{position:relative;z-index:1;grid-column:2;grid-row:2;min-height:160px;padding:20px}
.hub .server .st{margin-top:10px}
@media (max-width:900px){.hub{padding:24px}.hub-grid{grid-template-columns:1fr 1fr;grid-template-rows:none;gap:12px}.hub .server{grid-column:1 / -1;grid-row:1}.hub-item{grid-column:auto!important;grid-row:auto!important;width:100%}.hub-grid svg.wires{display:none}}
@media (max-width:480px){.hub{padding:16px}.hub-grid{grid-template-columns:1fr}}

/* ---------- tiles ---------- */
.tiles{display:grid;gap:var(--gap)}
.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))} .cols-3{grid-template-columns:repeat(3,minmax(0,1fr))} .cols-4{grid-template-columns:repeat(4,minmax(0,1fr))} .cols-6{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1100px){.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.cols-3,.cols-6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cols-2,.cols-3,.cols-4,.cols-6{grid-template-columns:1fr}}
.tile{border-radius:var(--r);padding:26px;min-height:200px;display:flex;flex-direction:column;gap:18px;color:var(--body);transition:transform .15s,box-shadow .15s}
.tile .ibox{width:56px;height:56px}
.tile .tb{margin-top:2px}
.tile .tt{font-family:var(--display);font-weight:600;font-size:21px;line-height:1.27;letter-spacing:-.01em;color:var(--ink)}
.tile .tx{font-size:16.5px;line-height:1.45;margin-top:6px}
.tile .go{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:16px;font-weight:600;color:var(--steel)}
a.tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);color:var(--body)}
@media (max-width:560px){.tile{min-height:0;padding:22px;display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:16px;row-gap:8px;align-items:start}.tile .ibox{width:48px;height:48px;border-radius:13px;grid-row:span 2}.tile .tb{margin-top:0}.tile .go{margin-top:0}.tile .tt{font-size:19px}}

/* ---------- timeline ---------- */
.timeline{border-radius:var(--r);padding:clamp(22px,4vw,48px)}
.tl-head{display:grid;gap:32px;margin-bottom:18px;align-items:end}
.tl-bracket{position:relative;height:44px}
.tl-bracket::before{content:"";position:absolute;left:0;right:0;top:24px;height:20px;border:2px solid var(--steel);border-bottom:0;border-radius:10px 10px 0 0}
.tl-bracket span{position:absolute;left:50%;top:12px;transform:translateX(-50%);padding:0 14px;background:var(--blue);font-size:16px;line-height:24px;font-weight:700;color:var(--steel);white-space:nowrap}
.tl-row{display:grid;grid-template-columns:var(--cols);align-items:stretch}
.ms{min-height:170px;border-radius:16px;background:#fff;border:1px solid var(--line-2);padding:20px;display:flex;flex-direction:column;gap:14px}
.ms .top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:15px;font-weight:600;color:var(--muted)}
.ms .n{width:34px;height:34px;border-radius:999px;background:var(--steel);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:700}
.ms .t{font-size:18px;line-height:1.3;font-weight:600;color:var(--ink);display:flex;flex-direction:column;gap:6px}
.ms .ok{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px 0 8px;border-radius:999px;background:var(--teal);color:var(--tealc);font-size:15px;font-weight:600}
.ms.after{background:var(--tealc);border-color:var(--tealc)}
.ms.after .t{color:#fff;font-weight:700} .ms.after .s{color:#D5EDE6;font-size:15.5px;line-height:1.4}
.ms.after .n{background:rgba(255,255,255,.18)}
.ms.after .top{color:#D5EDE6}
.tl-line{align-self:center;height:2px;background:var(--steel-soft)}
.tl-line.dash{height:0;border-top:2px dashed var(--tealc);background:none}
@media (max-width:1100px){.tl-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.tl-head{display:block}.tl-head .tl-bracket{display:none}.tl-head .eyebrow{display:block}.tl-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tl-line{display:none}.ms{min-height:0}.ms.after{grid-column:1 / -1}}
@media (max-width:560px){.tl-row{grid-template-columns:1fr!important}}
.tl-note{font-size:15px;line-height:1.35;font-weight:600;color:var(--steel)}

/* ---------- payees, sizes ---------- */
.payees{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.payee{border-radius:var(--r);padding:26px;display:flex;flex-direction:column;gap:14px;min-height:250px}
.payee .tt{font-family:var(--display);font-weight:700;font-size:21px;color:var(--ink)}
.payee .tx{font-size:16.5px;line-height:1.45}
.badge{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 12px;border-radius:999px;background:var(--tealc);color:#fff;font-size:15px;font-weight:600}
@media (max-width:1100px){.payees{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.payees{grid-template-columns:1fr}.payee{min-height:0}}
.sizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.size{border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:18px}
.rack{height:170px;border-radius:14px;background:#fff;border:1px solid var(--line-2);display:flex;flex-direction:column;justify-content:center;gap:10px;padding:20px 24px}
.rack .u{height:30px;border-radius:7px;background:var(--slate);display:flex;align-items:center;gap:8px;padding:0 12px}
.rack .u i{display:block;width:7px;height:7px;border-radius:999px;background:#C4CDD5}
.rack .u.card{background:var(--steel)} .rack .u.card i{background:var(--teal-light)}
.rack .u.card b{margin-left:auto;font-size:13.5px;font-weight:600;color:#fff}
.rack.ws{align-items:center;gap:0}
.rack.ws .screen{width:130px;height:82px;border-radius:9px;border:4px solid var(--steel);background:var(--blue)}
.rack.ws .neck{width:12px;height:16px;background:var(--steel)}
.rack.ws .foot{width:64px;height:8px;border-radius:4px;background:var(--steel)}
.size .tt{font-family:var(--display);font-weight:700;font-size:21px;color:var(--ink)}
.size .band{display:inline-flex;align-items:center;gap:8px;font-size:16.5px;font-weight:600;color:var(--steel)}
.size.t-teal .band{color:var(--tealc)}
@media (max-width:900px){.sizes{grid-template-columns:1fr}.rack{height:auto;min-height:120px}}

/* ---------- related, faq, prose ---------- */
.related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.rel{min-height:136px;border-radius:var(--r);padding:20px 28px;display:flex;align-items:center;gap:20px;color:var(--ink);transition:transform .15s,box-shadow .15s}
.rel .ibox{width:56px;height:56px}
.rel .rt{min-width:0;display:flex;flex-direction:column;gap:2px}
.rel .rk{font-size:15px;line-height:20px;font-weight:600;color:var(--body)}
.rel .rn{font-family:var(--display);font-weight:600;font-size:21px;line-height:1.27;letter-spacing:-.01em;color:var(--ink)}
.rel .arr{margin-left:auto;width:40px;height:40px;border-radius:999px;background:#fff;color:var(--ink)}
.rel:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);color:var(--ink)}
@media (max-width:1000px){.related{grid-template-columns:1fr}.rel{min-height:0;padding:18px 20px}}
.faq{max-width:900px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:22px 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;font-family:var(--display);font-weight:600;font-size:20px;line-height:1.35;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:999px;background:var(--blue);display:inline-flex;align-items:center;justify-content:center;font:600 20px/1 var(--sans);color:var(--steel)}
.faq details[open] summary::after{content:"–"}
.faq p{margin-top:10px;max-width:70ch;font-size:17.5px}
.prose{max-width:720px;display:flex;flex-direction:column;gap:18px;font-size:18.5px;line-height:1.7}
.prose h2{font-weight:700;font-size:clamp(24px,2.4vw,28px);line-height:1.25;margin-top:22px;scroll-margin-top:110px;letter-spacing:-.01em}
.prose .lede{font-size:21px;line-height:1.6;color:var(--ink)}
.art-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block:4px}
.ap{border-radius:var(--r-md);padding:16px;display:flex;gap:14px;align-items:flex-start;font-size:16.5px;line-height:1.45}
.ap .ibox{width:40px;height:40px;border-radius:11px}
.ap b{display:block;font-family:var(--display);font-size:17.5px;color:var(--ink);margin-bottom:2px}
.ap span{display:block}
.art-check{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.art-check li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--blue);font-size:17px;line-height:1.45}
.art-check .ic{color:var(--tealc);margin-top:2px}
@media (max-width:640px){.art-points{grid-template-columns:1fr}}
.article-grid{display:grid;grid-template-columns:minmax(0,720px) 280px;justify-content:space-between;gap:64px;align-items:start}
.toc{position:sticky;top:112px;display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:var(--r);background:var(--blue);font-size:15.5px;line-height:1.35}
.toc b{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--steel)}
.toc a{color:var(--body)} .toc a:hover{color:var(--steel)}
@media (max-width:1024px){.art-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block:4px}
.ap{border-radius:var(--r-md);padding:16px;display:flex;gap:14px;align-items:flex-start;font-size:16.5px;line-height:1.45}
.ap .ibox{width:40px;height:40px;border-radius:11px}
.ap b{display:block;font-family:var(--display);font-size:17.5px;color:var(--ink);margin-bottom:2px}
.ap span{display:block}
.art-check{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.art-check li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--blue);font-size:17px;line-height:1.45}
.art-check .ic{color:var(--tealc);margin-top:2px}
@media (max-width:640px){.art-points{grid-template-columns:1fr}}
.article-grid{grid-template-columns:1fr}.toc{display:none}}
.textblock{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px);align-items:start}
.textblock h2{font-weight:700;font-size:clamp(28px,3vw,36px);line-height:1.15;letter-spacing:-.02em}
.textblock .prose{font-size:19px}
.creds{margin-top:22px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.cred{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:8px 16px 8px 8px;border-radius:12px;background:var(--blue);font-size:16px;font-weight:600;color:var(--ink)}
.cred .ic{width:32px;height:32px;border-radius:9px;background:#fff;color:var(--tealc)}
@media (max-width:900px){.textblock{grid-template-columns:1fr}}

/* ---------- contact ---------- */
.contact{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5vw,56px);align-items:start}
.form{border-radius:var(--r);background:var(--blue);padding:clamp(20px,3vw,36px);display:grid;gap:16px}
.form h2{font-weight:700;font-size:26px}
.form label{display:flex;flex-direction:column;gap:6px;font-size:15.5px;font-weight:600;color:var(--ink)}
.form input,.form select,.form textarea{font:inherit;font-size:16.5px;font-weight:400;color:var(--ink);background:#fff;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:12px 14px;width:100%;min-height:48px}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--steel);outline-offset:0;border-color:var(--steel)}
.form textarea{min-height:110px;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.muted{color:var(--muted)}
.cdetails{display:flex;flex-direction:column;gap:14px;position:sticky;top:112px}
.cline{border-radius:var(--r-md);background:#fff;border:1px solid var(--line-2);padding:18px 20px;display:flex;gap:14px;align-items:flex-start}
.cline .ic{width:44px;height:44px;border-radius:12px;background:var(--blue);color:var(--steel)}
.cline .k{display:block;font-size:14.5px;font-weight:600;color:var(--muted)}
.cline .v{display:block;font-family:var(--display);font-weight:600;font-size:19px;line-height:1.3;color:var(--ink);overflow-wrap:anywhere}
.cline .n{display:block;margin-top:4px;font-size:15.5px;color:var(--body)}
.cline a{font-size:15.5px;font-weight:600}
@media (max-width:900px){.contact{grid-template-columns:1fr}.cdetails{position:static}}
@media (max-width:560px){.row2{grid-template-columns:1fr}}

/* ---------- closing panel ---------- */
.cta-panel{border-radius:var(--r);background:var(--teal);padding:56px 56px 56px 64px;display:grid;grid-template-columns:minmax(0,1fr) 470px;gap:40px;align-items:center;overflow:hidden}
.cta-panel h2{font-weight:700;font-size:clamp(32px,3.6vw,48px);line-height:1.08;letter-spacing:-.02em;max-width:18ch}
.cta-panel p{margin-top:16px;font-size:20px;line-height:1.5}
.cta-panel .ctas{margin-top:32px}
.docs{position:relative;height:248px}
.docs .cdoc{position:absolute;width:150px;height:196px;padding:18px;border-radius:var(--r-md);background:#fff;border:1px solid var(--teal-line);box-shadow:0 16px 36px rgba(16,27,38,.10);display:flex;flex-direction:column;justify-content:space-between}
.docs .cdoc .ic{width:40px;height:40px;border-radius:10px;background:var(--blue);color:var(--steel)}
.docs .cdoc b{font-size:17px;line-height:22px;font-weight:600;color:var(--ink)}
.docs .cdoc:nth-child(1){left:24px;top:34px;transform:rotate(-7deg)}
.docs .cdoc:nth-child(2){left:296px;top:34px;transform:rotate(7deg);align-items:flex-end;text-align:right}
.docs .cdoc:nth-child(2) .lines{align-items:flex-end}
.docs .cdoc:nth-child(3){left:160px;top:16px;z-index:2;box-shadow:0 20px 44px rgba(16,27,38,.14)}
.docs .cdoc:nth-child(3) .ic{background:var(--teal);color:var(--tealc)}
@media (max-width:1100px){.cta-panel{grid-template-columns:1fr;padding:40px}.docs{display:none}}
@media (max-width:560px){.cta-panel{padding:28px 22px}.cta-panel p{font-size:18px}}

/* ---------- footer ---------- */
.site-foot{background:var(--slate);border-top:1px solid var(--line);padding-top:64px;font-size:16px;line-height:1.4}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1fr 1fr;gap:40px}
.foot-brand{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.foot-contact{display:flex;flex-direction:column;gap:6px;color:var(--body)}
.foot-contact a,.foot-contact span{color:var(--body)}
.site-foot h4{font:700 16px/22px var(--sans);color:var(--ink);margin:0 0 16px}
.site-foot .col{display:flex;flex-direction:column;gap:10px}
.site-foot .col a{color:var(--body)}
.site-foot a:hover{color:var(--steel)}
.legal{margin-top:48px;border-top:1px solid var(--line-3);min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px;color:var(--body)}
.legal a{color:var(--body)}
@media (max-width:1024px){.foot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.foot-brand{grid-column:1 / -1}}
@media (max-width:640px){.site-foot{padding-top:44px}.foot-grid{grid-template-columns:1fr 1fr;gap:32px 20px}.legal{padding-block:18px;flex-direction:column;align-items:flex-start}}
