/* ===== Carbon Design System: Gray 100 (dark) theme ===== */
:root{
  --gray-100:#161616;  /* ui-background */
  --gray-90:#262626;   /* layer-01 */
  --gray-80:#393939;   /* layer-02 / borders */
  --gray-70:#525252;
  --gray-60:#6f6f6f;
  --gray-50:#8d8d8d;   /* text-helper */
  --gray-40:#a8a8a8;
  --gray-30:#c6c6c6;   /* text-secondary */
  --gray-20:#e0e0e0;
  --gray-10:#f4f4f4;   /* text-primary */
  --white:#ffffff;
  --blue-60:#0f62fe;   /* interactive */
  --blue-50:#4589ff;   /* interactive (hover on dark) */
  --blue-70:#0043ce;
  --green-50:#24a148;
  --support-warn:#ff832b;
  --header-h:48px;
  --boxed:1312px;      /* boxed content width (Carbon max grid) */
  --content-max:1264px;
  --page-gutter:clamp(24px,2.2vw,32px);
  --gutter:max(24px, calc((100vw - var(--boxed)) / 2 + 24px));
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'IBM Plex Sans',system-ui,sans-serif;
  color:var(--gray-10);
  background:var(--gray-100);
  -webkit-font-smoothing:antialiased;
  line-height:1.4;
}
a{color:inherit;text-decoration:none}
.mono{font-family:'IBM Plex Mono',monospace}
.wrap{max-width:var(--boxed);margin:0 auto;padding:0 24px}

/* ===== UI Shell header (Carbon, dark) ===== */
header.shell{
  position:sticky;top:0;z-index:100;height:var(--header-h);
  background:var(--gray-100);color:var(--gray-10);
  border-bottom:1px solid var(--gray-80);
}
.shell .inner{max-width:var(--boxed);margin:0 auto;height:100%;display:flex;align-items:center;padding:0 24px}
.shell .brand{display:flex;align-items:center;height:100%;padding-right:32px}
.brand-official .brand-plaque{display:inline-flex;align-items:center;justify-content:center;background:transparent;padding:0;line-height:0}.brand-official img{display:block;width:148px;height:auto}.shell .brand-official{padding-right:30px}footer .brand-official{display:inline-flex;align-items:center;min-height:28px}
.shell nav{display:flex;height:100%}
.shell nav a{
  display:flex;align-items:center;padding:0 16px;height:100%;
  font-size:14px;color:var(--gray-30);
  border-bottom:2px solid transparent;transition:.1s;
}
.shell nav a:hover{background:var(--gray-80);color:var(--white)}
.shell nav a.active{color:var(--white);border-bottom-color:var(--product-accent,#3978ff)}
.shell .right{margin-left:auto;display:flex;height:100%}
.shell .icon-btn{width:48px;display:flex;align-items:center;justify-content:center;color:var(--gray-30);cursor:pointer;transition:.1s}
.shell .icon-btn:hover{background:var(--gray-80);color:var(--white)}
.shell .lang{display:flex;align-items:center;height:100%}
.shell .lang button{background:none;border:none;color:var(--gray-50);font-family:inherit;font-size:13px;letter-spacing:.03em;padding:0 9px;height:100%;cursor:pointer;transition:.1s}
.shell .lang button:hover{background:var(--gray-80);color:#fff}
.shell .lang button.on{color:#fff}
.shell .lang .sep{color:var(--gray-70);font-size:12px}
.shell .cta{display:flex;align-items:center;padding:0 16px;background:var(--product-accent,#3978ff);color:#fff;font-size:14px}
.shell .cta:hover{filter:brightness(1.1)}
.shell .menu-btn{display:none;width:48px;height:100%;align-items:center;justify-content:center;background:none;border:none;color:var(--gray-30);cursor:pointer}
.shell .menu-btn:hover{background:var(--gray-80);color:#fff}
.shell .menu-btn .bar,.shell .menu-btn .bar::before,.shell .menu-btn .bar::after{display:block;width:18px;height:1.5px;background:currentColor;transition:.15s;content:""}
.shell .menu-btn .bar{position:relative}
.shell .menu-btn .bar::before{position:absolute;top:-5px;left:0}
.shell .menu-btn .bar::after{position:absolute;top:5px;left:0}
.shell.nav-open .menu-btn .bar{background:transparent}
.shell.nav-open .menu-btn .bar::before{transform:rotate(45deg);top:0}
.shell.nav-open .menu-btn .bar::after{transform:rotate(-45deg);top:0}

/* ===== Carbon buttons ===== */
.btn{
  display:inline-flex;align-items:center;gap:32px;justify-content:space-between;
  font-family:inherit;font-size:14px;line-height:1.3;
  padding:11px 60px 11px 16px;border:1px solid transparent;cursor:pointer;
  border-radius:0;transition:.1s;min-height:48px;text-align:left;
}
.btn .arr{font-size:16px}
.btn-primary{background:var(--blue-60);color:#fff}
.btn-primary:hover{background:var(--blue-70)}
.btn-secondary{background:transparent;color:var(--gray-10);border-color:var(--gray-60)}
.btn-secondary:hover{background:var(--gray-90);border-color:var(--gray-50)}
.btn-tertiary{background:transparent;color:var(--blue-50);border-color:var(--blue-50)}
.btn-tertiary:hover{background:var(--blue-50);color:var(--gray-100)}

.eyebrow{font-size:14px;font-weight:600;color:var(--blue-50);margin-bottom:16px;letter-spacing:.01em}

/* ===== Carbon icons (recolored via mask, inherits currentColor) ===== */
.cic{display:inline-block;width:24px;height:24px;background-color:currentColor;flex:none;
  -webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--i);mask-image:var(--i)}

/* ===== Home hero (full-bleed) ===== */
.hero{border-bottom:1px solid var(--gray-80)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);align-items:stretch;min-height:620px}
.hero .copy{padding:96px 56px 96px 0;display:flex;flex-direction:column;justify-content:center}
.hero h1{font-size:60px;font-weight:300;line-height:1.06;letter-spacing:-.02em;margin-bottom:28px}
.hero h1 b{font-weight:600}
.hero p.lede{font-size:19px;font-weight:300;line-height:1.45;color:var(--gray-30);margin-bottom:44px;max-width:520px}
.hero .actions{display:flex;gap:1px;flex-wrap:wrap}
.hero .visual{position:relative;overflow:hidden;border-left:1px solid var(--gray-80);background:#0d1117}
.hero .visual video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;pointer-events:none}

/* ===== Compact page hero (subpages) ===== */
.page-hero{border-bottom:1px solid var(--gray-80);background:var(--gray-100)}
.page-hero .wrap{padding-top:72px;padding-bottom:72px}
.crumb{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.04em;color:var(--gray-50);margin-bottom:20px}
.crumb a:hover{color:var(--gray-20)}
.page-hero h1{font-size:46px;font-weight:300;line-height:1.08;letter-spacing:-.01em;max-width:780px;margin-bottom:20px}
.page-hero h1 b{font-weight:600}
.page-hero p{font-size:19px;font-weight:300;color:var(--gray-30);max-width:640px;line-height:1.45}
.page-hero .actions{margin-top:36px;display:flex;gap:1px;flex-wrap:wrap}
.split .panel h3.xl{font-size:40px;line-height:1.12}

/* ===== Media frame (animated scene on subpages) ===== */
.media{position:relative;min-height:480px;border:1px solid var(--gray-80);overflow:hidden}

/* ===== Dark media placeholder ===== */
.ph{position:absolute;inset:0;background:#0d1117;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ph::before{content:"";position:absolute;inset:0;opacity:.35;
    background-image:radial-gradient(var(--gray-70) 1px,transparent 1px);background-size:22px 22px;
    -webkit-mask-image:radial-gradient(120% 90% at 50% 40%,#000 30%,transparent 80%);
            mask-image:radial-gradient(120% 90% at 50% 40%,#000 30%,transparent 80%)}
.hud{position:absolute;left:16px;bottom:16px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--gray-30);line-height:1.8;z-index:1}
.hud .k{color:var(--gray-50)}
.hud b{color:var(--gray-20);font-weight:500}

/* ===== Section frame ===== */
section.band{padding:88px 0;border-bottom:1px solid var(--gray-80)}
section.band.layer{background:var(--gray-90)}
.sec-head{max-width:640px;margin-bottom:48px}
.sec-head h2{font-size:40px;font-weight:300;line-height:1.12;margin-bottom:16px}
.sec-head p{font-size:16px;color:var(--gray-30);font-weight:300}

/* ===== Feature tiles ===== */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--gray-80);border:1px solid var(--gray-80)}
.tiles.cols-3{grid-template-columns:repeat(3,1fr)}
.tile{background:var(--gray-100);padding:28px 24px 52px;min-height:268px;display:flex;flex-direction:column;transition:.12s;position:relative}
section.layer .tile{background:var(--gray-90)}
.tile:hover{background:var(--blue-60);cursor:pointer}
.tile:hover .tile-ic,.tile:hover h3,.tile:hover p{color:#fff}
.tile:hover .tnum{color:rgba(255,255,255,.65)}
.tnum{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--gray-50);margin-bottom:36px}
.tile-ic{margin-bottom:20px;color:var(--blue-50);line-height:1}
.tile-ic .cic{width:28px;height:28px}
.tile:hover .tile-ic{color:#fff}
.tile h3{font-size:20px;font-weight:600;margin-bottom:12px}
.tile p{font-size:14px;color:var(--gray-30);font-weight:300}
.corner{position:absolute;right:16px;bottom:16px;opacity:0;font-size:18px;transition:.12s;color:#fff}
.tile:hover .corner{opacity:1}

/* ===== Split ===== */
.split{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.split .panel{padding:80px 56px 80px 0;display:flex;flex-direction:column;justify-content:center}
.split .panel.rev{padding:80px 0 80px 56px}
.split .panel h3{font-size:32px;font-weight:300;margin-bottom:20px;line-height:1.15}
.split .panel p.lead-p{color:var(--gray-30);font-weight:300;font-size:16px}
.split ul{list-style:none;margin:24px 0}
.split li{padding:16px 0;border-top:1px solid var(--gray-80);display:flex;gap:16px;font-size:15px}
.split li:last-child{border-bottom:1px solid var(--gray-80)}
.split li .ck{color:var(--blue-50);font-weight:600}
.split li b{font-weight:600}
.split li span.d{color:var(--gray-40);font-weight:300}
.split .art{min-height:460px;position:relative;overflow:hidden;border:1px solid var(--gray-80)}

/* ===== Stats ===== */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--gray-80);border:1px solid var(--gray-80)}
.stat{background:var(--gray-90);padding:40px 28px}
.stat .n{font-size:46px;font-weight:300;line-height:1;letter-spacing:-.02em}
.stat .n b{color:var(--blue-50);font-weight:300}
.stat .l{font-size:14px;color:var(--gray-30);margin-top:16px;font-weight:300}

/* ===== Pipeline ===== */
.pipe{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--gray-80);border:1px solid var(--gray-80)}
.step{background:var(--gray-100);padding:26px 20px}
section.layer .step{background:var(--gray-90)}
.step .s{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--blue-50);margin-bottom:12px}
.step h4{font-size:16px;font-weight:600;margin-bottom:6px}
.step p{font-size:13px;color:var(--gray-30);font-weight:300}

/* ===== Integration chips ===== */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.chip{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;
      font-size:12px;letter-spacing:.03em;color:var(--gray-20);background:var(--gray-100);
      border:1px solid var(--gray-80);padding:7px 12px}
section.layer .chip{background:var(--gray-90)}

/* ===== Animated blueprint scenes ===== */
.scene{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0}
.scene .mc{fill:rgba(255,255,255,.02);stroke:#8d8d8d;stroke-width:1.5}
.scene .ln{stroke:#525252;stroke-width:1;fill:none}
.scene .acc{stroke:#4589ff;fill:none}
.scene .nd{fill:#4589ff}
.scene .corner{stroke:#6f6f6f;stroke-width:1.5;fill:none}
.draw{stroke-dasharray:1;stroke-dashoffset:1;animation:bp-draw 1.6s ease forwards}
@keyframes bp-draw{to{stroke-dashoffset:0}}
.flow{stroke-dasharray:.16 .84;stroke-dashoffset:1;animation:bp-flow 3.2s linear infinite}
@keyframes bp-flow{to{stroke-dashoffset:0}}
.flow-in{stroke-dasharray:.2 .8;stroke-dashoffset:0;animation:bp-flowin 2.8s linear infinite}
@keyframes bp-flowin{to{stroke-dashoffset:1}}
.nd{animation:bp-pulse 2.6s ease-in-out infinite}
@keyframes bp-pulse{0%,100%{opacity:.35}50%{opacity:1}}
.sweep{animation:bp-sweep 6.5s ease-in-out infinite}
@keyframes bp-sweep{0%{transform:translateX(0)}50%{transform:translateX(520px)}100%{transform:translateX(0)}}
.scene text{font-family:'IBM Plex Mono',monospace;font-size:13px;fill:#c6c6c6;letter-spacing:.02em}
.scene .lead{stroke:#6f6f6f;stroke-width:1;fill:none}
.lbl{opacity:0;animation:bp-fade .8s ease forwards;animation-delay:.6s}
@keyframes bp-fade{to{opacity:1}}
@media (prefers-reduced-motion: reduce){
  .draw,.flow,.flow-in,.nd,.lbl{animation:none}
  .draw{stroke-dashoffset:0}.flow{stroke-dashoffset:0}.nd{opacity:.8}.lbl{opacity:1}
  .sweep{display:none}
}

/* ===== Roadmap cards ===== */
.road{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gray-80);border:1px solid var(--gray-80)}
.rcard{background:var(--gray-100);padding:28px 24px 32px;display:flex;flex-direction:column;min-height:200px}
section.layer .rcard{background:var(--gray-90)}
.rcard .rtop{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.rcard .ric{color:var(--blue-50);line-height:1}
.badge{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border:1px solid}
.badge.now{color:var(--blue-50);border-color:rgba(69,137,255,.5)}
.badge.soon{color:var(--blue-50);border-color:rgba(69,137,255,.5)}
.badge.plan{color:var(--gray-40);border-color:var(--gray-70)}
.rcard h4{font-size:18px;font-weight:600;margin-bottom:8px}
.rcard p{font-size:14px;color:var(--gray-30);font-weight:300}

/* ===== Form (Carbon text inputs) ===== */
.form{max-width:720px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:1px;background:var(--gray-80)}
.field{display:flex;flex-direction:column;background:var(--gray-90);border-bottom:1px solid var(--gray-60);padding:8px 16px 10px}
.field:focus-within{border-bottom-color:var(--blue-50)}
.field label{font-size:12px;color:var(--gray-50);margin-bottom:4px}
.field input,.field textarea,.field select{background:transparent;border:none;color:var(--gray-10);font-family:inherit;font-size:15px;padding:6px 0;outline:none;width:100%;resize:vertical}
.field textarea{min-height:120px}
.field select{appearance:none;-webkit-appearance:none}
.form .actions{margin-top:24px;display:flex;gap:1px;flex-wrap:wrap}
.form-note{font-size:13px;color:var(--gray-50);margin-top:20px;font-weight:300}

/* anchor offset for sticky header */
[id]{scroll-margin-top:64px}

/* ===== Editions (Premium / Enterprise) ===== */
.editions{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--gray-80);border:1px solid var(--gray-80)}
.edition{background:var(--gray-100);padding:40px 36px 36px;display:flex;flex-direction:column;position:relative}
section.layer .edition{background:var(--gray-90)}
.edition.ent{border-top:2px solid var(--blue-50)}
.edition .etag{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gray-50);margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;min-height:22px}
.edition .rec{color:var(--blue-50);border:1px solid rgba(69,137,255,.5);padding:3px 8px;font-size:10px}
.edition h3{font-size:28px;font-weight:300;line-height:1.1;margin-bottom:10px}
.edition h3 b{font-weight:600}
.edition .who{font-size:15px;color:var(--gray-30);font-weight:300;margin-bottom:28px;max-width:380px;min-height:46px}
.elist{list-style:none;margin:0 0 32px;flex:1}
.elist li{display:flex;gap:12px;padding:11px 0;border-top:1px solid var(--gray-80);font-size:14px;color:var(--gray-20);font-weight:300}
.elist li:first-child{border-top:none}
.elist li .cic{color:var(--blue-50)}
.elist li.head{color:var(--gray-50);font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;border-top:1px solid var(--gray-80);padding-top:18px;margin-top:6px}
.edition .ecta{margin-top:auto}

/* ===== Before/after compare slider ===== */
.compare{position:absolute;inset:0;overflow:hidden;cursor:ew-resize;user-select:none;-webkit-user-select:none;background:#0d1117;touch-action:none}
.compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.compare .cmp-top{clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0)}
.compare .cmp-line{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:2px;background:#fff;transform:translateX(-1px);pointer-events:none}
.compare .cmp-grip{position:absolute;top:50%;left:50%;width:36px;height:36px;transform:translate(-50%,-50%);
  background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gray-100);
  font-size:14px;box-shadow:0 1px 6px rgba(0,0,0,.4)}
.compare .cmp-grip::before{content:"\2039\203A";letter-spacing:1px;font-family:'IBM Plex Sans',sans-serif}
.compare .cmp-tag{position:absolute;top:14px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;color:#fff;background:rgba(13,17,23,.6);border:1px solid rgba(255,255,255,.2);padding:3px 8px;pointer-events:none}
.compare .cmp-tag-l{left:14px}
.compare .cmp-tag-r{right:14px}

/* ===== Hover reveal (3D → render crossfade) ===== */
.reveal{position:absolute;inset:0;overflow:hidden;background:#0d1117;cursor:pointer}
.reveal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.reveal .rv-top{opacity:0;transform:scale(1.02);transition:opacity .55s ease, transform .55s ease}
.reveal:hover .rv-top,.reveal.on .rv-top{opacity:1;transform:scale(1)}
.reveal .rv-tag{position:absolute;top:14px;left:14px;font-family:'IBM Plex Mono',monospace;font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(13,17,23,.62);
  border:1px solid rgba(255,255,255,.22);padding:4px 9px;z-index:2;pointer-events:none}
.reveal .rv-tag .t2{display:none}
.reveal:hover .rv-tag .t1,.reveal.on .rv-tag .t1{display:none}
.reveal:hover .rv-tag .t2,.reveal.on .rv-tag .t2{display:inline}
.reveal .rv-hint{position:absolute;left:16px;bottom:14px;font-family:'IBM Plex Mono',monospace;font-size:11px;
  letter-spacing:.06em;text-transform:uppercase;color:#fff;background:rgba(13,17,23,.6);
  border:1px solid rgba(255,255,255,.2);padding:5px 10px;transition:opacity .25s ease;pointer-events:none;z-index:2}
.reveal:hover .rv-hint,.reveal.on .rv-hint{opacity:0}

/* ===== Image showcase ===== */
.figure{margin:0}
.shot{display:block;width:100%;height:auto;border:1px solid var(--gray-80)}
.art .fill{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.art.has-product .ph{display:none}
.product-proof-frame{margin:0;border:1px solid var(--gray-70);background:#0b0f14;overflow:hidden}
.product-proof-frame img,.product-proof-frame video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#0b0f14}
.product-proof-bar{min-height:36px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--gray-70);color:var(--blue-50);font:500 10px/1.2 'IBM Plex Mono',monospace;letter-spacing:.08em}
.product-proof-frame figcaption{padding:11px 13px;border-top:1px solid var(--gray-70);color:var(--gray-40);font:400 11px/1.45 'IBM Plex Mono',monospace}
.product-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.art.media-fade::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top, rgba(13,17,23,.55) 0%, rgba(13,17,23,0) 40%)}
.figcap{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--gray-50);letter-spacing:.03em;margin-top:14px}

/* ===== Customer logo strip (monochrome) ===== */
.logos-band{padding:44px 0}
.logos-label{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-50);text-align:center;margin-bottom:44px}
.logos{display:flex;flex-wrap:wrap;gap:56px;align-items:center;justify-content:center}
.logo{display:inline-block;height:32px;background-color:var(--gray-40);opacity:.7;
  transition:opacity .15s, background-color .15s;
  -webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--l);mask-image:var(--l)}
.logo:hover{opacity:1;background-color:var(--gray-20)}
.logos .logo-img{height:32px;width:auto;display:block;opacity:.72;transition:opacity .15s}
.logos .logo-img:hover{opacity:1}
/* scrolling marquee */
.marquee{overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}
.marquee-track{display:flex;align-items:center;width:max-content;animation:marquee 38s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track .logo-img{flex:none;height:30px;width:auto;margin:0 38px;opacity:.6;filter:brightness(0) invert(.72);transition:opacity .15s,filter .15s}
.marquee-track .logo-img:hover{opacity:1;filter:brightness(0) invert(1)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* ===== Article (news single) ===== */
.art-meta{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.article-media{max-width:980px;margin:0 auto}
.prose{max-width:720px;margin:0 auto}
.prose p{font-size:17px;line-height:1.62;color:var(--gray-20);font-weight:300;margin-bottom:22px}
.prose h2{font-size:25px;font-weight:600;line-height:1.2;margin:40px 0 14px}
.prose ul{list-style:none;margin:0 0 22px}
.prose li{position:relative;padding:8px 0 8px 22px;font-size:17px;line-height:1.5;color:var(--gray-20);font-weight:300}
.prose li::before{content:"\2014";position:absolute;left:0;color:var(--blue-50)}
.prose .btn{margin-top:12px}

/* ===== News ===== */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gray-80);border:1px solid var(--gray-80)}
.ncard{background:var(--gray-100);padding:28px 24px 30px;display:flex;flex-direction:column;min-height:236px;transition:.12s;position:relative;color:inherit}
section.layer .ncard{background:var(--gray-90)}
.ncard:hover{background:var(--blue-60);cursor:pointer}
.ncard:hover .ndate,.ncard:hover h3,.ncard:hover p,.ncard:hover .nmore{color:#fff}
.ncard:hover .ntag{color:#fff;border-color:rgba(255,255,255,.5)}
.nmeta{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.ndate{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--gray-50)}
.ntag{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--blue-50);border:1px solid rgba(69,137,255,.5);padding:3px 8px}
.ncard h3{font-size:19px;font-weight:600;margin-bottom:10px;line-height:1.25}
.ncard p{font-size:14px;color:var(--gray-30);font-weight:300;flex:1}
.nmore{margin-top:18px;font-size:13px;color:var(--blue-50)}

/* ===== CTA ===== */
.ctaband{background:var(--blue-60);color:#fff;padding:80px 0}
.ctaband h2{font-size:38px;font-weight:300;max-width:660px;margin-bottom:32px;line-height:1.12}
.ctaband .eyebrow{color:rgba(255,255,255,.85)}
.btn-onblue{background:var(--white);color:var(--gray-100)}
.btn-onblue:hover{background:var(--gray-20)}
.btn-line{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}
.btn-line:hover{background:rgba(255,255,255,.12)}

/* ===== Footer ===== */
footer{background:var(--gray-100);color:var(--gray-30);padding:64px 0 32px;border-top:1px solid var(--gray-80)}
.fcols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:48px}
footer .brand{margin-bottom:20px;display:flex;align-items:center}
footer .brand-official img{width:160px;height:auto}
footer p.fd{font-size:14px;font-weight:300;max-width:300px;color:var(--gray-50)}
footer h5{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-50);margin-bottom:16px;font-weight:600}
footer ul{list-style:none}
footer li{padding:6px 0;font-size:14px;font-weight:300}
footer li a:hover{color:#fff}
.fbar{border-top:1px solid var(--gray-80);padding-top:24px;display:flex;justify-content:space-between;font-size:12px;color:var(--gray-50);gap:16px;flex-wrap:wrap}

/* Expanded navigation moves to the menu before the links become cramped. */
@media(max-width:1180px){
  .shell .menu-btn{display:flex}
  .shell .icon-btn{display:none}
  .shell .inner{position:relative}
  .shell nav{position:absolute;top:var(--header-h);left:0;right:0;height:auto;flex-direction:column;background:var(--gray-100);border-bottom:1px solid var(--gray-80);display:none;z-index:90}
  .shell.nav-open nav{display:flex}
  .shell nav a{height:48px;width:100%;padding:0 24px;border-top:1px solid var(--gray-80);border-bottom:none}
  .shell nav a.active{border-bottom:none;color:#fff}
}

/* tablet: 4-up grids drop to 2-up */
@media(max-width:1100px){
  .tiles,.tiles.cols-3,.road,.news{grid-template-columns:repeat(2,1fr)}
}

/* mobile: single column + hamburger nav */
@media(max-width:900px){
  .hero-grid,.split,.tiles,.tiles.cols-3,.stats,.pipe,.fcols,.form-row,.editions,.road,.news{grid-template-columns:1fr}
  .hero .visual,.split .art{min-height:320px}
  .hero .copy{padding:56px 0}
  .hero .visual{border-left:none;border-top:1px solid var(--gray-80)}
  .split .panel,.split .panel.rev{padding:48px 0}
  .hero h1{font-size:40px}
  .page-hero h1{font-size:34px}
  .shell .menu-btn{display:flex}
  .shell .icon-btn{display:none}
  .shell .inner{position:relative}
  .shell nav{position:absolute;top:var(--header-h);left:0;right:0;height:auto;flex-direction:column;
    background:var(--gray-100);border-bottom:1px solid var(--gray-80);display:none;z-index:90}
  .shell.nav-open nav{display:flex}
  .shell nav a{height:48px;width:100%;padding:0 24px;border-top:1px solid var(--gray-80);border-bottom:none}
  .shell nav a.active{border-bottom:none;color:#fff}
  .product-pair{grid-template-columns:1fr}
}

/* small phones: tighter type + spacing */
@media(max-width:640px){
  section.band{padding:56px 0}
  .ctaband{padding:56px 0}
  .sec-head{margin-bottom:36px}
  .sec-head h2{font-size:30px}
  .page-hero .wrap{padding-top:56px;padding-bottom:56px}
  .page-hero h1{font-size:30px}
  .hero h1{font-size:32px}
  .hero p.lede{font-size:17px}
  .split .panel h3,.split .panel h3.xl{font-size:26px}
  .ctaband h2{font-size:28px}
  .stat .n{font-size:36px}
  .edition{padding:28px 22px}
  .btn{min-height:44px;padding:11px 20px 11px 16px;gap:14px}
  .shell .cta{padding:0 12px;font-size:13px}
  .product-proof-bar span:last-child{display:none}
}

/* ===== Rebuilt audience experience ===== */
:root{color-scheme:dark}
html[data-theme="light"]{color-scheme:light;--gray-100:#f4f4f4;--gray-90:#fff;--gray-80:#e0e0e0;--gray-70:#c6c6c6;--gray-60:#8d8d8d;--gray-50:#6f6f6f;--gray-40:#525252;--gray-30:#393939;--gray-20:#262626;--gray-10:#161616}
body{overflow-x:hidden}.wrap{padding:0 clamp(20px,2.2vw,32px)}
.skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:10px 14px;background:#fff;color:#161616;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #78a9ff;outline-offset:3px}
.shell .lang a{display:flex;align-items:center;color:var(--gray-50);font-size:13px;letter-spacing:.03em;padding:0 9px;height:100%}.shell .lang a:hover{background:var(--gray-80);color:var(--gray-10)}.shell .lang a.on{color:var(--gray-10)}
.shell .theme-toggle{width:48px;height:100%;display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--gray-30);cursor:pointer}.shell .theme-toggle:hover{background:var(--gray-80);color:var(--gray-10)}.theme-toggle span::before{content:"☼";font:400 21px/1 system-ui}html[data-theme="light"] .theme-toggle span::before{content:"◐";font-size:19px}
.hero h1{font-size:clamp(42px,4vw,58px);line-height:1.04}.hero p.lede{font-size:18px;font-weight:400;line-height:1.55;margin-bottom:32px}
.hero-paths{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--gray-70);border:1px solid var(--gray-70);max-width:620px}.hero-paths a{min-height:94px;padding:15px 16px;background:var(--gray-100);display:flex;align-items:center;justify-content:space-between;gap:14px;transition:.14s}.hero-paths a:first-child{border-top:2px solid var(--blue-50)}.hero-paths a:last-child{border-top:2px solid #42be65}.hero-paths strong{display:block;font-size:14px;line-height:1.25;margin-bottom:7px}.hero-paths small{display:block;color:var(--gray-40);font-size:12px;line-height:1.35}.hero-paths a>b{font-size:18px;color:var(--blue-50)}.hero-paths a:last-child>b{color:#42be65}.hero-paths a:hover{background:var(--blue-60);color:#fff}.hero-paths a:last-child:hover{background:#198038}.hero-paths a:hover small,.hero-paths a:hover>b{color:#fff}
section.band{padding:clamp(64px,7vw,96px) 0}.compact-trust{padding:28px 0;border-bottom:1px solid var(--gray-80)}.logo-segments{display:grid;grid-template-columns:2fr 1fr;gap:1px;background:var(--gray-80);border:1px solid var(--gray-80)}.logo-segment{background:var(--gray-100);padding:22px 28px}.logo-segment .logos-label{text-align:left;margin-bottom:20px}.logo-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:24px 34px;min-height:52px}.logo-row .logo-img{width:auto;max-width:118px;max-height:36px;object-fit:contain;opacity:.72;filter:brightness(0) invert(.72)}
.proof-heading{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.65fr);gap:80px;align-items:end;margin-bottom:42px}.proof-heading h2{font-size:44px;font-weight:300;line-height:1.08}.proof-heading p{font-size:16px;line-height:1.65;color:var(--gray-30)}.cinema-frame{position:relative;aspect-ratio:16/7;background:#080b0f;border:1px solid var(--gray-70);overflow:hidden}.cinema-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cinema-hud{position:absolute;left:18px;right:18px;bottom:16px;display:flex;justify-content:space-between;color:rgba(255,255,255,.78);font:500 10px/1.2 'IBM Plex Mono',monospace;letter-spacing:.09em}.cinema-hud span{background:rgba(7,11,15,.72);border:1px solid rgba(255,255,255,.15);padding:6px 9px}.proof-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gray-80);border:1px solid var(--gray-80);border-top:0}.proof-strip>div{background:var(--gray-100);padding:22px 24px;display:flex;gap:18px}.proof-strip b{color:var(--blue-50);font:500 11px/1.4 'IBM Plex Mono',monospace}.proof-strip span{color:var(--gray-30);font-size:14px}.compare-stage{position:relative;aspect-ratio:16/7;min-height:420px;border:1px solid var(--gray-70);background:#0b0f14;overflow:hidden}.evidence-caption{margin-top:14px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:var(--gray-50);font:400 12px/1.4 'IBM Plex Mono',monospace}.evidence-caption a{color:var(--blue-50);font:600 14px/1.4 'IBM Plex Sans',sans-serif}
.path-cta{padding:clamp(64px,7vw,96px) 0;background:var(--gray-90);border-bottom:1px solid var(--gray-80)}.path-cta-head{max-width:760px;margin-bottom:36px}.path-cta-head h2{font-size:clamp(30px,3.4vw,44px);line-height:1.1;font-weight:300}.path-cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--gray-70);border:1px solid var(--gray-70)}.path-cta-grid>a{min-height:190px;padding:30px 32px;background:var(--gray-100);display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.path-cta-grid>a:first-child{border-top:3px solid var(--blue-50)}.path-cta-grid>a:last-child{border-top:3px solid #42be65}.path-cta-grid small{display:block;font:500 11px/1.3 'IBM Plex Mono',monospace;letter-spacing:.06em;color:var(--gray-50);margin-bottom:38px}.path-cta-grid strong{display:block;max-width:470px;font-size:23px;line-height:1.25;font-weight:400}.path-cta-grid>a>b{font-size:22px;color:var(--blue-50)}.path-cta-grid>a:last-child>b{color:#42be65}.path-cta-grid>a:hover{background:var(--blue-60);color:#fff}.path-cta-grid>a:last-child:hover{background:#198038}.path-cta-grid>a:hover small,.path-cta-grid>a:hover>b{color:#fff}
.audience-hero{position:relative;overflow:hidden}.audience-hero::after{content:"";position:absolute;right:-8%;top:-40%;width:45%;aspect-ratio:1;border:1px solid rgba(69,137,255,.22);border-radius:50%;pointer-events:none}.engineering-hero::after{border-color:rgba(241,194,27,.24)}.operations-hero::after,.operators-hero::after{border-color:rgba(66,190,101,.22)}
.tile.static:hover{background:var(--gray-100);cursor:default}.layer .tile.static:hover{background:var(--gray-90)}.tile.static:hover h3{color:var(--gray-10)}.tile.static:hover p{color:var(--gray-30)}.tile.static:hover .tnum{color:var(--gray-50)}
.split .panel h2{font-size:32px;font-weight:300;margin-bottom:20px;line-height:1.15}.story-split .art{min-height:520px}.story-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.story-facts span{padding:7px 10px;border:1px solid var(--gray-70);color:var(--gray-30);font:400 11px/1.2 'IBM Plex Mono',monospace}
.product-concept{margin:0;border:1px solid var(--gray-70);background:#0b0f14;box-shadow:0 24px 70px rgba(0,0,0,.18)}.product-concept-bar{height:38px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--gray-70);color:var(--blue-50);font:500 10px/1.2 'IBM Plex Mono',monospace;letter-spacing:.08em}.product-concept-green .product-concept-bar{color:#42be65}.product-concept img,.product-concept video{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}.product-concept figcaption{padding:12px 14px;border-top:1px solid var(--gray-70);color:var(--gray-40);font:400 11px/1.45 'IBM Plex Mono',monospace}.concept-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.scan-steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:24px;gap:1px;background:var(--gray-70);border:1px solid var(--gray-70)}.scan-step{padding:22px 20px;background:var(--gray-90)}.scan-step b{display:block;margin-bottom:8px;color:#42be65;font:500 10px/1.3 'IBM Plex Mono',monospace}.scan-step strong{display:block;margin-bottom:7px;font-size:16px}.scan-step span{color:var(--gray-30);font-size:13px}.use-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gray-80);border:1px solid var(--gray-80)}.use-case{padding:28px 24px 30px;background:var(--gray-100)}.use-case h3{font-size:19px;margin-bottom:10px}.use-case p{font-size:14px;line-height:1.55;color:var(--gray-30)}
.role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--gray-70);border:1px solid var(--gray-70)}.role-card{min-height:390px;padding:24px 22px 28px;background:var(--gray-100);display:flex;flex-direction:column;border-top:3px solid var(--blue-50);transition:.14s}.layer .role-card{background:var(--gray-90)}.role-grid-green .role-card{border-top-color:#42be65}.role-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:32px;color:var(--blue-50);font:500 10px/1.3 'IBM Plex Mono',monospace}.role-grid-green .role-top{color:#42be65}.role-card h3{font-size:20px;margin-bottom:16px}.role-question{min-height:72px;color:var(--gray-20);font-size:15px;line-height:1.5}.role-card dl{margin-top:auto;padding-top:24px}.role-card dl>div{padding:13px 0;border-top:1px solid var(--gray-70)}.role-card dt{margin-bottom:5px;color:var(--gray-50);font:500 10px/1.3 'IBM Plex Mono',monospace;text-transform:uppercase}.role-card dd{color:var(--gray-30);font-size:13px;line-height:1.45}.role-card:hover{background:var(--blue-60);color:#fff}.role-grid-green .role-card:hover{background:#198038}.role-card:hover .role-top,.role-card:hover .role-question,.role-card:hover dt,.role-card:hover dd{color:#fff}
html[data-theme="light"] .brand-official img{filter:none}html[data-theme="light"] .logo-row .logo-img{filter:grayscale(1) brightness(.25)}html[data-theme="light"] p{font-weight:400}
@media(max-width:1100px){.logo-segments{grid-template-columns:1fr}.role-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.hero-paths,.path-cta-grid,.concept-pair,.scan-steps,.use-case-grid{grid-template-columns:1fr}.proof-heading{grid-template-columns:1fr;gap:20px}.proof-strip{grid-template-columns:1fr}.compare-stage{aspect-ratio:16/10;min-height:0}.story-split .art{min-height:360px}}
@media(max-width:640px){.hero-paths a{min-height:84px}.role-grid{grid-template-columns:1fr}.role-card{min-height:340px}.product-concept-bar span:last-child{display:none}.proof-heading h2{font-size:30px}.path-cta-grid>a{min-height:165px;padding:24px 22px}}

/* focused product and contact pages */
.solution-hero{padding:clamp(64px,7vw,104px) 0;background:var(--gray-100);border-bottom:1px solid var(--gray-80)}
.solution-hero-grid{display:grid;grid-template-columns:minmax(340px,.82fr) minmax(480px,1.18fr);gap:clamp(44px,6vw,92px);align-items:center}
.solution-hero h1{font-size:clamp(38px,4vw,58px);font-weight:300;line-height:1.04;margin:18px 0 24px}.solution-hero h1 b{font-weight:600}.solution-hero p{max-width:660px;color:var(--gray-30);font-size:18px;line-height:1.58}.solution-hero .actions{display:flex;gap:1px;flex-wrap:wrap;margin-top:32px}
.path-cta>.wrap{display:flex;align-items:flex-end;justify-content:space-between;gap:36px}.path-cta>.wrap>div{max-width:720px}.path-cta>.wrap h2{font-size:clamp(30px,3.3vw,44px);font-weight:300;line-height:1.1;margin:10px 0 14px}.path-cta>.wrap p{color:var(--gray-30);font-size:16px}
.contact-hero p{max-width:760px}.contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:1px;background:var(--gray-80);border:1px solid var(--gray-80)}.contact-grid>.panel{background:var(--gray-100);padding:clamp(26px,3vw,44px);max-width:none}.contact-grid>.panel.rev{background:var(--gray-90)}
.contact-form>.field{margin-bottom:1px}.form-step{display:flex;align-items:center;gap:12px;margin:4px 0 16px;font-size:15px}.form-step:not(:first-of-type){margin-top:36px}.form-step span{color:var(--blue-50);font:500 11px/1 'IBM Plex Mono',monospace}.audience-fields{margin-bottom:1px}.audience-fields[hidden]{display:none}.expect-list{list-style:none;margin:28px 0}.expect-list li{display:grid;grid-template-columns:38px 1fr;gap:16px;padding:20px 0;border-top:1px solid var(--gray-70)}.expect-list>li>span{color:var(--blue-50);font:500 11px/1.4 'IBM Plex Mono',monospace}.expect-list b{font-size:15px}.expect-list p{margin-top:6px;color:var(--gray-40);font-size:13px;line-height:1.5}
html[data-theme="light"] .cinema-frame,html[data-theme="light"] .product-concept{box-shadow:0 20px 60px rgba(0,0,0,.1)}
@media(max-width:1000px){.solution-hero-grid,.contact-grid{grid-template-columns:1fr}.solution-hero-proof{max-width:820px}.path-cta>.wrap{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.solution-hero{padding:54px 0}.solution-hero h1{font-size:34px}.solution-hero p{font-size:16px}.contact-grid>.panel{padding:24px 20px}.shell .lang{display:none}.shell .cta{display:none}}

/* customer stories */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gray-80);border:1px solid var(--gray-80)}.case-card{min-height:390px;background:var(--gray-100);display:flex;flex-direction:column;transition:.14s}.case-card-logo{height:132px;padding:32px;display:flex;align-items:center;justify-content:center;background:var(--gray-90);border-bottom:1px solid var(--gray-80)}.case-card-logo img{display:block;max-width:170px;max-height:58px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.82}.case-card-body{padding:25px 24px 28px;display:flex;flex:1;flex-direction:column}.case-card h3{font-size:19px;line-height:1.3;margin-bottom:11px}.case-card p{font-size:14px;line-height:1.55;color:var(--gray-30);margin-bottom:22px}.case-card .nmore{margin-top:auto}.case-card-featured{border-top:3px solid var(--blue-50)}.case-card:hover{background:var(--blue-60);color:#fff}.case-card:hover .case-card-logo{background:#fff}.case-card:hover p,.case-card:hover .ndate,.case-card:hover .nmore{color:#fff}
.case-hero{padding:clamp(64px,7vw,104px) 0;border-bottom:1px solid var(--gray-80)}.case-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:60px;align-items:center}.case-hero h1{max-width:850px;font-size:clamp(38px,4.4vw,62px);font-weight:300;line-height:1.04;margin:20px 0 24px}.case-hero p{max-width:720px;color:var(--gray-30);font-size:18px;line-height:1.55}.case-logo{min-height:260px;padding:44px;display:flex;align-items:center;justify-content:center;background:var(--gray-90);border:1px solid var(--gray-80)}.case-logo img{max-width:250px;max-height:100px;filter:grayscale(1);object-fit:contain}.case-cover{margin-bottom:52px}.case-prose{margin-top:0}.draft-note{display:flex;flex-direction:column;gap:7px;margin:0 0 42px;padding:20px 22px;border-left:3px solid #f1c21b;background:var(--gray-90)}.draft-note b{font:500 11px/1.3 'IBM Plex Mono',monospace;letter-spacing:.07em;text-transform:uppercase}.draft-note span{color:var(--gray-30);font-size:13px;line-height:1.55}.case-steps{list-style:none;counter-reset:none;margin:0 0 32px}.case-steps li{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:16px 0;border-top:1px solid var(--gray-80)}.case-steps li>span{color:var(--blue-50);font:500 11px/1.6 'IBM Plex Mono',monospace}.case-steps li>p{margin:0;font-size:16px}.case-quote{margin:42px 0;padding:30px 32px;background:var(--gray-90);border-top:3px solid var(--blue-50)}.case-quote>span{color:var(--blue-50);font:500 10px/1.3 'IBM Plex Mono',monospace;letter-spacing:.08em}.case-quote blockquote{font-size:24px;line-height:1.35;font-weight:300;margin:20px 0}.case-quote cite{font-size:13px;color:var(--gray-40);font-style:normal}
@media(max-width:1050px){.case-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.case-grid,.case-hero-grid{grid-template-columns:1fr}.case-card{min-height:350px}.case-logo{min-height:190px}.case-hero-grid{gap:30px}.case-quote{padding:24px 20px}.case-quote blockquote{font-size:20px}}
.approval-check{margin:0 0 34px;border:1px solid var(--gray-70);background:var(--gray-90)}.approval-check summary{cursor:pointer;padding:17px 20px;color:var(--gray-20);font:600 13px/1.4 'IBM Plex Sans',sans-serif}.approval-check[open] summary{border-bottom:1px solid var(--gray-70)}.approval-check>p,.approval-check>ul{margin-left:20px;margin-right:20px}.approval-check>p{font-size:14px;margin-top:18px;margin-bottom:12px}.approval-check>ul{margin-bottom:18px}.approval-check .approval-source{padding-top:14px;border-top:1px solid var(--gray-70);color:var(--gray-40);font-size:12px}
.faq-band{border-top:1px solid var(--gray-80)}.faq-list{max-width:980px;border-top:1px solid var(--gray-70)}.faq-item{border-bottom:1px solid var(--gray-70)}.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 4px;color:var(--gray-10);font-size:18px;font-weight:600}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{color:var(--blue-50);font:300 26px/1 system-ui;transition:transform .15s}.faq-item[open] summary span{transform:rotate(45deg)}.faq-item>div{max-width:760px;padding:0 4px 26px}.faq-item p{color:var(--gray-30);font-size:16px;line-height:1.65}.faq-item a{display:inline-block;margin-top:13px;color:var(--blue-50);font-size:14px;font-weight:600}
.split .panel .engine-title{font-size:clamp(36px,4vw,54px);font-weight:300;line-height:1.05;margin-bottom:22px}.split .panel .engine-title b{font-weight:600}
.footer-link{appearance:none;border:0;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer;text-align:left}.footer-link:hover{color:#fff}.consent-banner{position:fixed;z-index:999;left:20px;right:20px;bottom:20px;max-width:1180px;margin:0 auto;padding:24px 26px;background:var(--gray-90);border:1px solid var(--gray-60);box-shadow:0 24px 70px rgba(0,0,0,.42);display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.consent-banner[hidden]{display:none}.consent-banner>div:first-child{max-width:720px}.consent-banner h2{font-size:23px;font-weight:600;margin:7px 0 9px}.consent-banner p{color:var(--gray-30);font-size:14px;line-height:1.55}.consent-banner a{display:inline-block;margin-top:9px;color:var(--blue-50);font-size:13px}.consent-actions{display:flex;gap:1px;flex:none}.privacy-prose h2:first-child{margin-top:0}
@media(max-width:760px){.consent-banner{left:10px;right:10px;bottom:10px;padding:20px;display:block}.consent-actions{margin-top:20px;display:grid;grid-template-columns:1fr}.consent-actions .btn{width:100%}}

/* ===== Home 2026: product-led industrial editorial ===== */
.home-hero{padding:clamp(54px,7vw,104px) 0 34px;border-bottom:1px solid var(--gray-80);overflow:hidden}
.home-hero-grid{display:grid;grid-template-columns:minmax(360px,.72fr) minmax(620px,1.28fr);gap:clamp(42px,5vw,82px);align-items:center}
.home-hero-copy{position:relative;z-index:1}
.home-hero-copy h1{font-size:clamp(54px,5.2vw,76px);font-weight:300;letter-spacing:-.035em;line-height:.98;margin:0 0 30px}
.home-hero-copy h1 b{font-weight:600}
.home-hero-copy>p{max-width:560px;color:var(--gray-30);font-size:19px;font-weight:300;line-height:1.55}
.home-actions{display:flex;flex-wrap:wrap;gap:1px;margin-top:34px}
.home-hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:64px;padding-top:18px;border-top:1px solid var(--gray-70)}
.home-hero-facts div{min-width:0}
.home-hero-facts dt,.home-scale-facts dt{margin-bottom:9px;color:var(--blue-50);font:500 10px/1.2 'IBM Plex Mono',monospace;letter-spacing:.08em}
.home-hero-facts dd{color:var(--gray-40);font-size:12px;line-height:1.4}
.home-hero-product,.product-frame,.home-scale-stage{position:relative;margin:0;background:#090c10;border:1px solid var(--gray-70);overflow:hidden;box-shadow:0 34px 90px rgba(0,0,0,.28)}
.home-hero-product{aspect-ratio:16/10}
.home-hero-product video,.product-frame img,.home-scale-stage video{width:100%;height:100%;display:block;object-fit:cover}
.home-hero-product video{position:absolute;inset:0}
.home-hero-product figcaption,.product-frame figcaption,.home-scale-stage figcaption{position:absolute;left:16px;right:16px;bottom:14px;display:flex;justify-content:space-between;gap:20px;pointer-events:none;color:rgba(255,255,255,.78);font:500 10px/1.2 'IBM Plex Mono',monospace;letter-spacing:.08em}
.home-hero-product figcaption span,.product-frame figcaption span,.home-scale-stage figcaption span{padding:6px 8px;background:rgba(6,9,12,.78);border:1px solid rgba(255,255,255,.14)}

.home-trust{padding:30px 0;border-bottom:1px solid var(--gray-80)}
.home-trust-grid{display:grid;grid-template-columns:minmax(220px,.45fr) minmax(0,1.55fr);gap:48px;align-items:center}
.home-trust p{max-width:300px;color:var(--gray-40);font-size:13px;line-height:1.5}
.home-logo-row{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:24px 30px;min-height:42px}
.home-logo-row img{display:block;width:auto;max-width:92px;max-height:28px;object-fit:contain;flex:0 0 auto;opacity:.62;filter:brightness(0) invert(.72)}

.home-story{padding:clamp(84px,9vw,136px) 0}
.home-section-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.6fr);gap:clamp(40px,7vw,100px);align-items:end;margin-bottom:clamp(56px,7vw,92px)}
.home-section-heading h2{max-width:820px;font-size:clamp(40px,4.4vw,62px);font-weight:300;letter-spacing:-.025em;line-height:1.04}
.home-section-heading>p{max-width:510px;color:var(--gray-30);font-size:16px;line-height:1.65}
.home-story-row{display:grid;grid-template-columns:minmax(280px,.48fr) minmax(0,1.52fr);gap:clamp(42px,6vw,92px);align-items:center;padding:clamp(58px,7vw,92px) 0;border-top:1px solid var(--gray-70)}
.home-story-row:last-child{padding-bottom:0}
.home-story-row-reverse{grid-template-columns:minmax(0,1.52fr) minmax(280px,.48fr)}
.home-story-row-reverse .home-story-copy{order:2}
.home-story-copy{max-width:420px}
.home-story-index{display:block;margin-bottom:44px;color:var(--blue-50);font:500 11px/1.2 'IBM Plex Mono',monospace;letter-spacing:.1em}
.home-story-index-engineering{color:#f1c21b}
.home-story-index-live{color:#42be65}
.home-story-copy h3{font-size:clamp(30px,3.2vw,46px);font-weight:300;letter-spacing:-.02em;line-height:1.08;margin-bottom:22px}
.home-story-copy p{color:var(--gray-30);font-size:16px;line-height:1.65}
.home-story-copy>a{display:inline-flex;align-items:center;gap:24px;margin-top:30px;color:var(--gray-10);font-size:14px;font-weight:600}
.home-story-copy>a span{color:var(--blue-50);font-size:19px;transition:transform .16s ease}
.home-story-copy>a:hover span{transform:translateX(5px)}
.home-story-media{position:relative;min-width:0;margin:0}
.product-frame{aspect-ratio:16/9}
.product-frame-engineering{border-top:2px solid #f1c21b}
.product-frame-live{border-top:2px solid #42be65}
.home-compare{position:relative;inset:auto;aspect-ratio:16/9;border:1px solid var(--gray-70);box-shadow:0 34px 90px rgba(0,0,0,.24)}
.home-media-note{margin-top:12px;color:var(--gray-50);font:400 11px/1.4 'IBM Plex Mono',monospace}

.home-scale{padding:clamp(84px,9vw,136px) 0;background:var(--gray-90);border-top:1px solid var(--gray-80);border-bottom:1px solid var(--gray-80)}
.home-scale-heading{margin-bottom:48px}
.home-scale-stage{aspect-ratio:16/7;min-height:430px}
.home-scale-facts{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--gray-70);border-top:0}
.home-scale-facts div{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:22px 24px;border-right:1px solid var(--gray-70)}
.home-scale-facts div:last-child{border-right:0}
.home-scale-facts dt{margin:3px 0 0}
.home-scale-facts dd{color:var(--gray-30);font-size:14px}

.home-audiences{padding:clamp(84px,9vw,136px) 0}
.home-audience-heading{grid-template-columns:1fr;margin-bottom:48px}
.home-audience-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--gray-70);border-bottom:1px solid var(--gray-70)}
.home-audience-grid>a{position:relative;min-height:420px;padding:34px 38px 40px;display:flex;flex-direction:column;border-right:1px solid var(--gray-70);transition:background .16s ease,color .16s ease}
.home-audience-grid>a:last-child{border-right:0}
.home-audience-grid>a::before{content:"";position:absolute;left:0;right:0;top:-1px;height:3px;background:var(--blue-50)}
.home-audience-grid>a.home-audience-engineering::before{background:#f1c21b}.home-audience-grid>a.home-audience-operations::before{background:#42be65}
.home-audience-label{color:var(--gray-50);font:500 11px/1.3 'IBM Plex Mono',monospace;letter-spacing:.08em}
.home-audience-grid strong{max-width:540px;margin-top:70px;font-size:clamp(25px,2.35vw,36px);font-weight:300;line-height:1.1}
.home-audience-grid p{max-width:450px;margin-top:20px;color:var(--gray-30);font-size:15px;line-height:1.6}
.home-audience-link{margin-top:auto;padding-top:34px;color:var(--blue-50);font-size:14px;font-weight:600}
.home-audience-grid>a.home-audience-engineering .home-audience-link{color:#f1c21b}.home-audience-grid>a.home-audience-operations .home-audience-link{color:#42be65}
.home-audience-grid>a:hover{background:var(--gray-90)}

.home-final-cta{padding:clamp(76px,8vw,120px) 0;background:var(--blue-60);color:#fff}
.home-final-cta .eyebrow{color:#d0e2ff}
.home-final-cta-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.6fr);gap:clamp(48px,9vw,130px);align-items:end}
.home-final-cta h2{font-size:clamp(42px,4.8vw,68px);font-weight:300;letter-spacing:-.03em;line-height:1.02}
.home-final-cta p{margin-bottom:28px;color:#eaf2ff;font-size:16px;line-height:1.65}
.home-final-cta .btn-primary{background:#fff;color:#0f3d99}
.home-final-cta .btn-primary:hover{background:#eaf2ff}

html[data-theme="light"] .home-logo-row img{filter:grayscale(1) brightness(.35)}
html[data-theme="light"] .home-hero-product,html[data-theme="light"] .product-frame,html[data-theme="light"] .home-scale-stage,html[data-theme="light"] .home-compare{box-shadow:0 28px 70px rgba(0,0,0,.12)}

@media(max-width:1120px){
  .home-hero-grid{grid-template-columns:1fr;gap:46px}.home-hero-copy{max-width:780px}.home-hero-product{width:100%}
  .home-trust-grid{grid-template-columns:1fr;gap:22px}.home-logo-row{justify-content:flex-start;flex-wrap:wrap;overflow:visible}
  .home-story-row,.home-story-row-reverse{grid-template-columns:1fr;gap:38px}.home-story-row-reverse .home-story-copy{order:0}.home-story-copy{max-width:680px}.home-story-index{margin-bottom:26px}
}
@media(max-width:820px){
  .home-section-heading,.home-final-cta-grid{grid-template-columns:1fr;gap:24px}.home-audience-grid{grid-template-columns:1fr}.home-audience-grid>a{min-height:330px;border-right:0;border-bottom:1px solid var(--gray-70)}.home-audience-grid>a:last-child{border-bottom:0}.home-audience-grid strong{margin-top:48px}
  .home-scale-stage{aspect-ratio:16/10;min-height:0}.home-scale-facts{grid-template-columns:1fr}.home-scale-facts div{border-right:0;border-bottom:1px solid var(--gray-70)}.home-scale-facts div:last-child{border-bottom:0}
}
@media(max-width:640px){
  .home-hero{padding-top:50px}.home-hero-copy h1{font-size:clamp(42px,13vw,58px)}.home-hero-copy>p{font-size:17px}.home-actions{display:grid;grid-template-columns:1fr}.home-actions .btn{width:100%}
  .home-hero-facts{margin-top:44px;grid-template-columns:1fr;gap:14px}.home-hero-facts div{display:grid;grid-template-columns:32px 1fr;gap:12px}.home-hero-facts dt{margin:2px 0 0}
  .home-hero-product{aspect-ratio:4/3}.home-hero-product figcaption span:last-child,.product-frame figcaption span:last-child{display:none}
  .home-logo-row{gap:20px 24px}.home-logo-row img{max-width:78px;max-height:24px}
  .home-story,.home-scale,.home-audiences{padding:72px 0}.home-section-heading{margin-bottom:48px}.home-section-heading h2{font-size:36px}.home-story-row{padding:54px 0}.home-story-copy h3{font-size:32px}.product-frame,.home-compare{aspect-ratio:4/3}
  .home-audience-grid>a{padding:28px 24px 32px}.home-audience-grid strong{font-size:30px}.home-final-cta h2{font-size:42px}
}

/* ===== Universal landing: cinematic platform entry ===== */
html{background:#080b0f;color-scheme:dark}
body{background:#080b0f;color:#f4f4f4}
header.shell{background:rgba(11,15,20,.94);border-bottom-color:rgba(255,255,255,.12);backdrop-filter:blur(14px)}
.shell nav a{color:#a8a8a8}.shell nav a:hover{background:rgba(255,255,255,.08)}.shell nav a.active{color:#fff}.shell .lang a.on{color:#fff}.shell .lang a:hover{background:rgba(255,255,255,.08);color:#fff}
.universal-kicker{display:block;color:#78a9ff;font:500 11px/1.35 'IBM Plex Mono',monospace;letter-spacing:.12em}
.universal-hero{position:relative;min-height:calc(100svh - var(--header-h));display:flex;align-items:flex-end;overflow:hidden;background:#080b0f}
.universal-hero-media,.universal-hero-shade{position:absolute;inset:0}.universal-hero-media video,.universal-hero-media>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(.78) brightness(.68)}
.universal-hero-shade{background:linear-gradient(90deg,rgba(5,8,12,.96) 0%,rgba(5,8,12,.88) 28%,rgba(5,8,12,.28) 64%,rgba(5,8,12,.2) 100%),linear-gradient(0deg,rgba(5,8,12,.9) 0%,transparent 38%,rgba(5,8,12,.3) 100%)}
.universal-hero-content{position:relative;z-index:1;width:100%;padding-top:clamp(100px,14vh,180px);padding-bottom:34px}
.universal-hero-copy{max-width:820px;padding-bottom:clamp(72px,11vh,130px)}
.universal-hero-copy h1{max-width:840px;margin:22px 0 28px;font-size:clamp(52px,6.5vw,94px);font-weight:300;letter-spacing:-.045em;line-height:.98}.universal-hero-copy h1 b{font-weight:600}
.universal-hero-copy p{max-width:650px;color:#d0d0d0;font-size:clamp(17px,1.45vw,21px);font-weight:300;line-height:1.55}
.story-link{display:inline-flex;align-items:center;gap:28px;margin-top:36px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.42);font-size:14px;font-weight:600}.story-link span{color:#78a9ff;font-size:18px;transition:transform .18s}.story-link:hover span{transform:translateY(4px)}
.universal-hero-actions{display:flex;gap:28px;flex-wrap:wrap}.story-link-secondary{color:#b8c3d1;font-weight:400}.story-link-secondary:hover span{transform:translate(2px,-2px)}
.universal-signal{display:flex;align-items:center;gap:14px;padding-top:24px;border-top:1px solid rgba(255,255,255,.2);color:#c6c6c6;font:500 10px/1 'IBM Plex Mono',monospace;letter-spacing:.09em}.universal-signal i{width:32px;height:1px;background:#525252}.universal-signal i::after{content:"";display:block;float:right;width:3px;height:3px;margin-top:-1px;border-radius:50%;background:#78a9ff}

.path-gateway{padding:clamp(96px,10vw,150px) 0;background:#0b0f14;border-top:1px solid rgba(255,255,255,.1)}
.gateway-heading{display:grid;grid-template-columns:minmax(160px,.42fr) minmax(0,1.15fr);gap:clamp(40px,8vw,120px);align-items:start;margin-bottom:64px}.gateway-heading h2{font-size:clamp(40px,4.7vw,68px);font-weight:300;letter-spacing:-.035em;line-height:1.04}.gateway-heading h2 b{font-weight:600}
.gateway-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#393939;border:1px solid #393939}
.gateway-card{position:relative;min-height:590px;overflow:hidden;background:#111820;isolation:isolate}.gateway-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.74) brightness(.7);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.industry-spectrum{display:grid;grid-template-columns:minmax(250px,1.5fr) repeat(5,1fr);align-items:center;margin-top:1px;border-top:1px solid #263240;border-bottom:1px solid #263240;color:#8f9bad;font:500 10px/1.3 'IBM Plex Mono',monospace;letter-spacing:.08em}.industry-spectrum>*{min-height:64px;display:flex;align-items:center;padding:0 18px;border-right:1px solid #263240}.industry-spectrum small{color:#6f8fca}.industry-spectrum span:last-child{border-right:0}
.gateway-card .gateway-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,8,12,.18) 0%,rgba(5,8,12,.35) 48%,rgba(5,8,12,.96) 100%)}
.gateway-index{position:absolute;z-index:2;top:24px;left:24px;color:rgba(255,255,255,.7);font:500 10px/1 'IBM Plex Mono',monospace}.gateway-copy{position:absolute;z-index:2;left:28px;right:28px;bottom:30px}.gateway-copy small{display:block;margin-bottom:16px;color:#b9cfff;font:500 10px/1.35 'IBM Plex Mono',monospace;letter-spacing:.1em}.gateway-copy strong{display:block;font-size:clamp(28px,2.7vw,40px);font-weight:300;line-height:1.08}.gateway-copy em{display:block;max-width:300px;margin-top:14px;color:#c6c6c6;font-size:14px;font-style:normal;line-height:1.5}
.gateway-sales{--gateway-accent:#f05a5a}.gateway-engineering{--gateway-accent:#3978ff}.gateway-operations{--gateway-accent:#27a875}.gateway-card .gateway-copy small{color:color-mix(in srgb,var(--gateway-accent) 62%,white)}.gateway-arrow{position:absolute;z-index:2;top:20px;right:22px;color:#fff;font-size:22px;transition:transform .2s}.gateway-card::after{content:"";position:absolute;z-index:3;left:0;right:0;bottom:0;height:3px;background:var(--gateway-accent)}
.gateway-card:hover img{transform:scale(1.045);filter:saturate(.92) brightness(.78)}.gateway-card:hover .gateway-arrow{transform:translate(4px,-4px)}

.model-story{padding:clamp(100px,11vw,168px) 0;background:#161616}
.model-story-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.55fr);gap:clamp(50px,9vw,130px);align-items:end;margin-bottom:clamp(72px,8vw,118px)}.model-story-heading .universal-kicker{grid-column:1/-1}.model-story-heading h2{font-size:clamp(44px,5.5vw,78px);font-weight:300;letter-spacing:-.04em;line-height:1}.model-story-heading p{color:#a8a8a8;font-size:17px;line-height:1.65}
.model-chapter{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(44px,7vw,104px);align-items:center;padding:clamp(68px,8vw,112px) 0;border-top:1px solid #393939}.model-chapter-reverse{grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr)}.model-chapter-reverse .chapter-media{order:2}.model-chapter-reverse .chapter-copy{order:1}
.chapter-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:#080b0f;border:1px solid #393939}.chapter-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s ease}.model-chapter:hover .chapter-media img{transform:scale(1.018)}.chapter-media>span{position:absolute;left:14px;bottom:14px;padding:7px 9px;background:rgba(5,8,12,.82);border:1px solid rgba(255,255,255,.16);font:500 9px/1 'IBM Plex Mono',monospace;letter-spacing:.1em}
.chapter-copy>span{display:block;margin-bottom:42px;color:#78a9ff;font:500 11px/1 'IBM Plex Mono',monospace}.chapter-copy h3{font-size:clamp(32px,3.35vw,48px);font-weight:300;letter-spacing:-.025em;line-height:1.08}.chapter-copy p{margin-top:22px;color:#a8a8a8;font-size:16px;line-height:1.65}.chapter-copy a{display:inline-block;margin-top:28px;padding-bottom:6px;border-bottom:1px solid #525252;color:#fff;font-size:14px;font-weight:600}

.universal-proof{padding:clamp(88px,9vw,132px) 0;background:#0b0f14;border-top:1px solid #262626;border-bottom:1px solid #262626}.universal-proof-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(60px,9vw,130px);align-items:end}.universal-proof h2{max-width:540px;margin-top:20px;font-size:clamp(30px,3.2vw,46px);font-weight:300;line-height:1.12}.universal-logo-row{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:30px 38px}.universal-logo-row img{width:auto;max-width:112px;max-height:34px;object-fit:contain;filter:grayscale(1) brightness(0) invert(.78);opacity:.78}
.universal-cta{padding:clamp(92px,10vw,150px) 0;background:#0f62fe}.universal-cta .universal-kicker{color:#d0e2ff}.universal-cta-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.55fr);gap:clamp(54px,9vw,130px);align-items:end}.universal-cta h2{margin-top:18px;font-size:clamp(46px,5.5vw,78px);font-weight:300;letter-spacing:-.04em;line-height:1}.universal-cta p{margin-bottom:28px;color:#eaf2ff;font-size:16px;line-height:1.65}.universal-cta .btn-primary{background:#fff;color:#0f3d99}.universal-cta .btn-primary:hover{background:#eaf2ff}

[data-reveal]{opacity:1;transform:none}.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .42s ease,transform .46s cubic-bezier(.2,.7,.2,1)}.js [data-reveal].is-visible{opacity:1;transform:none}.gateway-card:nth-child(2){transition-delay:.05s}.gateway-card:nth-child(3){transition-delay:.1s}
@media(max-width:1050px){.gateway-grid{grid-template-columns:1fr}.gateway-card{min-height:440px}.gateway-copy strong{font-size:38px}.gateway-heading,.model-story-heading,.universal-proof-grid,.universal-cta-grid{grid-template-columns:1fr;gap:32px}.model-story-heading .universal-kicker{grid-column:auto}.universal-logo-row{justify-content:flex-start}.universal-proof-grid{align-items:start}}
@media(max-width:820px){.universal-hero{min-height:760px}.universal-hero-shade{background:linear-gradient(0deg,rgba(5,8,12,.96) 0%,rgba(5,8,12,.78) 55%,rgba(5,8,12,.4) 100%)}.universal-hero-copy{padding-bottom:80px}.universal-signal{gap:8px;flex-wrap:wrap}.universal-signal i{width:14px}.gateway-heading{display:block}.gateway-heading .universal-kicker{margin-bottom:22px}.model-chapter,.model-chapter-reverse{grid-template-columns:1fr;gap:36px}.model-chapter-reverse .chapter-media,.model-chapter-reverse .chapter-copy{order:initial}.chapter-copy>span{margin-bottom:24px}}
@media(max-width:640px){.universal-hero-content{padding-bottom:26px}.universal-hero-copy h1{font-size:clamp(48px,15vw,66px)}.universal-hero-copy p{font-size:16px}.universal-signal span{font-size:8px}.gateway-card{min-height:420px}.gateway-copy{left:22px;right:22px;bottom:26px}.gateway-copy strong{font-size:32px}.gateway-copy em{font-size:13px}.model-story-heading h2{font-size:44px}.model-chapter{padding:64px 0}.chapter-media{aspect-ratio:4/3}.universal-logo-row{gap:22px 25px}.universal-logo-row img{max-width:82px;max-height:26px}.universal-cta h2{font-size:48px}}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}.gateway-card img,.chapter-media img,.story-link span,.gateway-arrow{transition:none}}
@media(max-width:980px){.industry-spectrum{grid-template-columns:repeat(2,1fr)}.industry-spectrum small{grid-column:1/-1}.industry-spectrum>*{border-bottom:1px solid #263240}.industry-spectrum span:last-child{grid-column:1/-1}}
@media(max-width:620px){.industry-spectrum{grid-template-columns:1fr}.industry-spectrum small,.industry-spectrum span:last-child{grid-column:auto}.industry-spectrum>*{min-height:52px;border-right:0}}

/* ===== Final UX layer: progress, customers and contact ===== */
.scroll-progress{position:fixed;z-index:180;left:0;right:0;top:0;height:2px;pointer-events:none}.scroll-progress span{display:block;width:100%;height:100%;background:var(--product-accent,#3978ff);transform:scaleX(0);transform-origin:left center;will-change:transform}
.shell .login-link{display:flex;align-items:center;gap:7px;padding:0 14px;color:#c6c6c6;font-size:13px;border-left:1px solid #393939}.shell .login-link span{color:var(--product-accent,#3978ff)}.shell .login-link:hover{background:#262626;color:#fff}
.proof-link{display:inline-block;margin-top:24px;padding-bottom:5px;border-bottom:1px solid #525252;color:#fff;font-size:14px;font-weight:600}.proof-link:hover{border-bottom-color:#78a9ff;color:#d0e2ff}

.customers-hero{padding:clamp(92px,10vw,148px) 0;background:#080b0f;border-bottom:1px solid #262626}.customers-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.58fr);gap:clamp(54px,10vw,150px);align-items:end}.customers-hero h1{margin-top:22px;font-size:clamp(50px,6vw,86px);font-weight:300;line-height:.98;letter-spacing:-.045em}.customers-hero h1 b{font-weight:600}.customers-hero p{max-width:520px;color:#a8a8a8;font-size:18px;line-height:1.65}
.customer-logo-section{padding:clamp(84px,9vw,132px) 0;background:#eef0f2;color:#161616;border-bottom:1px solid #c6c6c6}.customer-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.52fr);gap:clamp(46px,8vw,120px);align-items:end;margin-bottom:56px}.customer-section-head h2{max-width:740px;margin-top:18px;font-size:clamp(36px,4.2vw,60px);font-weight:300;line-height:1.04;letter-spacing:-.035em}.customer-section-head p{color:#525252;font-size:16px;line-height:1.65}.customer-logo-section .universal-kicker,.customer-stories .universal-kicker{color:#0f62fe}
.customer-logo-groups{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(270px,.8fr);gap:1px;background:#c6c6c6;border:1px solid #c6c6c6}.customer-logo-group{background:#e0e3e5;padding:22px}.customer-logo-group>span{display:block;margin:0 0 18px;color:#525252;font:500 10px/1.3 'IBM Plex Mono',monospace;letter-spacing:.09em;text-transform:uppercase}.customer-logo-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d8d8d8}.customer-logo-cell{min-height:112px;padding:24px;display:flex;align-items:center;justify-content:center;background:#fff}.customer-logo-cell img{display:block;max-width:130px;max-height:46px;width:auto;height:auto;object-fit:contain;filter:grayscale(1) brightness(.32);opacity:.76;transition:opacity .18s,filter .18s}.customer-logo-cell:hover img{opacity:1;filter:grayscale(0) brightness(.55)}.customer-logo-wall--operators{grid-template-columns:1fr}.customer-logo-wall--operators .customer-logo-cell{min-height:168px}.customer-logo-wall--operators img{max-width:170px;max-height:56px}
@media(min-width:761px){.customer-logo-group:not(.customer-logo-group--operators) .customer-logo-wall{grid-template-columns:repeat(6,1fr)}.customer-logo-group:not(.customer-logo-group--operators) .customer-logo-cell{grid-column:span 2}.customer-logo-group:not(.customer-logo-group--operators) .customer-logo-cell:nth-last-child(-n+2){grid-column:span 3}}
.customer-stories{padding:clamp(96px,10vw,152px) 0;background:#f7f7f5;color:#161616}.customer-story-list{border-top:1px solid #c6c6c6}.customer-story{--story-accent:#3978ff;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:clamp(42px,7vw,104px);align-items:center;padding:clamp(70px,8vw,112px) 0;border-bottom:1px solid #c6c6c6}.customer-story--sales{--story-accent:#f05a5a}.customer-story--operations{--story-accent:#27a875}.customer-story:nth-child(even){grid-template-columns:minmax(360px,.85fr) minmax(0,1.15fr)}.customer-story:nth-child(even) .customer-story-media{order:2}.customer-story:nth-child(even) .customer-story-copy{order:1}.customer-story-media{position:relative;margin:0;background:#080b0f;border:1px solid #262626;overflow:hidden;box-shadow:0 22px 50px rgba(8,11,15,.14)}.customer-story-media::after{content:"";position:absolute;inset:0 0 34px;background:linear-gradient(180deg,transparent 52%,rgba(8,11,15,.72));pointer-events:none}.customer-story-media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.customer-story:hover .customer-story-media img{transform:scale(1.018)}.customer-story-video{position:absolute;z-index:2;left:18px;right:18px;bottom:52px;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;color:#fff}.customer-story-play{display:grid;place-items:center;width:42px;height:42px;padding-left:2px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(8,11,15,.52);font-size:12px;backdrop-filter:blur(8px)}.customer-story-video>span:nth-child(2){display:flex;flex-direction:column;gap:4px;font-size:12px}.customer-story-video b{color:var(--story-accent);font:500 9px/1.2 'IBM Plex Mono',monospace;letter-spacing:.1em}.customer-story-duration{padding:6px 8px;border:1px solid rgba(255,255,255,.35);background:rgba(8,11,15,.52);font:500 9px/1 'IBM Plex Mono',monospace;letter-spacing:.06em}.customer-story-media figcaption{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;border-top:1px solid #393939;color:var(--story-accent);background:#080b0f;font:500 9px/1.2 'IBM Plex Mono',monospace;letter-spacing:.09em}.customer-story-copy{position:relative}.customer-story-copy::before{content:"";position:absolute;left:-22px;top:0;width:3px;height:64px;background:var(--story-accent)}.customer-story-eyebrow{color:var(--story-accent);font:500 10px/1.3 'IBM Plex Mono',monospace;letter-spacing:.1em}.customer-story h3{margin:18px 0 22px;font-size:clamp(30px,3.1vw,46px);font-weight:300;line-height:1.08;letter-spacing:-.025em}.customer-story-copy>p{color:#525252;font-size:16px;line-height:1.65}.customer-story ol{list-style:none;margin-top:28px;border-top:1px solid #c6c6c6}.customer-story li{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid #d8d8d8;color:#262626;font-size:14px}.customer-story li span{color:var(--story-accent);font:500 10px/1.5 'IBM Plex Mono',monospace}.customer-story-outcome{margin-top:26px;padding:18px 20px;border-left:3px solid var(--story-accent);background:#e9eaeb}.customer-story-outcome>span{color:var(--story-accent);font:500 9px/1.3 'IBM Plex Mono',monospace;letter-spacing:.1em}.customer-story-outcome p{margin-top:8px;color:#393939;font-size:14px;line-height:1.55}.customer-story-copy>a{display:inline-flex;gap:28px;margin-top:26px;padding-bottom:6px;border-bottom:1px solid #8d8d8d;color:#161616;font-size:14px;font-weight:600}.customer-story-copy>a:hover{border-bottom-color:var(--story-accent)}.customer-story-copy>a span{color:var(--story-accent)}
.customer-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#c6c6c6;border:1px solid #c6c6c6}.customer-story-card{--story-accent:#3978ff;min-width:0;background:#fff}.customer-card-media{position:relative;margin:0;background:#080b0f;overflow:hidden}.customer-card-media::after{content:"";position:absolute;inset:0 0 34px;background:linear-gradient(180deg,transparent 48%,rgba(8,11,15,.78));pointer-events:none}.customer-card-media figcaption{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;border-top:1px solid #393939;color:var(--story-accent);background:#080b0f;font:500 9px/1.2 'IBM Plex Mono',monospace;letter-spacing:.09em}.customer-card-copy{display:flex;min-height:390px;flex-direction:column;padding:28px}.customer-card-company{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid #d8d8d8}.customer-card-company img{width:auto;height:28px;max-width:92px;object-fit:contain;filter:grayscale(1) brightness(.35)}.customer-card-company b{margin-left:auto;color:#525252;font:500 9px/1.2 'IBM Plex Mono',monospace;letter-spacing:.07em}.customer-card-copy h3{margin:14px 0 16px;font-size:clamp(27px,2.4vw,36px);font-weight:300;line-height:1.08;letter-spacing:-.025em}.customer-card-copy>p{color:#525252;font-size:15px;line-height:1.55}.customer-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}.customer-card-tags span{padding:7px 8px;background:#eef0f2;color:#525252;font:500 8px/1 'IBM Plex Mono',monospace;letter-spacing:.07em}.customer-card-copy>a{display:flex;justify-content:space-between;gap:18px;margin-top:auto;padding-top:28px;color:#161616;font-size:13px;font-weight:600}.customer-card-copy>a span{color:var(--story-accent)}
.customer-cta{padding:clamp(88px,9vw,136px) 0;background:#080b0f;border-top:1px solid #262626}.customer-cta .universal-kicker{color:#78a9ff}.customer-cta-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.55fr);gap:clamp(54px,9vw,130px);align-items:end}.customer-cta h2{margin-top:18px;font-size:clamp(44px,5vw,72px);font-weight:300;line-height:1;letter-spacing:-.04em}.customer-cta p{margin-bottom:28px;color:#c6c6c6;font-size:16px;line-height:1.65}.customer-cta .btn-primary{background:#0f62fe;color:#fff}.customer-cta .btn-primary:hover{background:#3978ff}

.contact-intro{padding:clamp(84px,9vw,132px) 0;background:#080b0f;border-bottom:1px solid #262626}.contact-intro-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.55fr);gap:clamp(52px,9vw,136px);align-items:end}.contact-intro h1{margin-top:20px;font-size:clamp(46px,5.4vw,76px);font-weight:300;line-height:1;letter-spacing:-.04em}.contact-intro h1 b{font-weight:600}.contact-intro-copy>p{color:#a8a8a8;font-size:17px;line-height:1.65}.contact-direct{display:grid;grid-template-columns:1fr;margin-top:32px;padding-top:20px;border-top:1px solid #393939}.contact-direct>span{margin-bottom:12px;color:#78a9ff;font:500 10px/1 'IBM Plex Mono',monospace;letter-spacing:.1em}.contact-direct a{width:max-content;margin-top:6px;color:#e0e0e0;font-size:14px}.contact-direct a:hover{color:#78a9ff}
.contact-before{display:grid;gap:9px;margin-top:32px;padding-top:24px;border-top:1px solid #39414a}.contact-before>span{margin-bottom:4px;color:#78a9ff;font:500 9px/1.4 'IBM Plex Mono',monospace;letter-spacing:.09em}.contact-before a{width:max-content;color:#c6d6ee;font-size:13px}.contact-before a:hover{color:#fff}
.contact-workspace{padding:clamp(72px,8vw,112px) 0;background:#11161d;border-bottom:1px solid #262626}.contact-grid{border-color:#39414a;background:#39414a}.contact-grid>.panel{background:#0b0f14}.contact-grid>.panel.rev{background:#161c23}.contact-form .field{background:#151b22;border-bottom-color:#525c68}.contact-form .field:focus-within{background:#1b232c;border-bottom-color:#78a9ff}.contact-form .field input::placeholder,.contact-form .field textarea::placeholder{color:#6f7883}.contact-form .field select option{background:#161c23;color:#f4f4f4}.contact-consent{display:flex;align-items:flex-start;gap:12px;margin-top:20px;color:#a8a8a8;font-size:12px;line-height:1.5}.contact-consent input{width:17px;height:17px;margin-top:1px;accent-color:#3978ff}.contact-consent a{color:#78a9ff;text-decoration:underline;text-underline-offset:3px}.contact-aside h2{margin-top:18px;font-size:clamp(30px,3vw,44px);font-weight:300;line-height:1.08}.contact-facts{display:grid;grid-template-columns:1fr;margin-top:32px;border-top:1px solid #39414a}.contact-facts div{display:grid;grid-template-columns:92px 1fr;gap:18px;padding:15px 0;border-bottom:1px solid #39414a}.contact-facts span,.contact-office>span{color:#78a9ff;font:500 9px/1.5 'IBM Plex Mono',monospace;letter-spacing:.09em}.contact-facts b{font-size:13px;font-weight:400}.contact-office{margin-top:34px;padding-top:24px;border-top:1px solid #39414a}.contact-office p{margin-top:11px;color:#a8a8a8;font-size:13px;line-height:1.55}.contact-office a{display:inline-block;margin-top:14px;color:#78a9ff;font-size:13px}

@media(max-width:1000px){.customers-hero-grid,.customer-section-head,.customer-logo-groups,.customer-cta-grid,.contact-intro-grid{grid-template-columns:1fr}.customer-logo-groups{gap:1px}.customer-section-head{gap:24px}.customer-story-grid{grid-template-columns:1fr}.customer-card-media>.image-zoom-trigger>img{aspect-ratio:16/8}.customer-card-copy{min-height:0}.customer-story,.customer-story:nth-child(even){grid-template-columns:1fr;gap:38px}.customer-story:nth-child(even) .customer-story-media,.customer-story:nth-child(even) .customer-story-copy{order:initial}.contact-intro-copy{max-width:660px}}
@media(max-width:760px){.customer-logo-wall{grid-template-columns:repeat(2,1fr)}.customer-logo-cell{min-height:100px;padding:20px}.customer-logo-wall--operators{grid-template-columns:1fr 1fr}.customer-logo-wall--operators .customer-logo-cell{min-height:120px}.customer-story-copy::before{left:0;top:-18px;width:64px;height:3px}.customer-story h3{font-size:34px}.customers-hero h1,.contact-intro h1{font-size:46px}.shell .login-link{display:none}}
@media(max-width:480px){.customer-logo-wall,.customer-logo-wall--operators{grid-template-columns:1fr}.customer-logo-cell{min-height:92px}.customer-card-media>.image-zoom-trigger>img,.customer-story-media img{aspect-ratio:4/3}.customer-card-copy{padding:24px}.customer-story-video{left:14px;right:14px}.customer-story-duration{display:none}}
@media(prefers-reduced-motion:reduce){.scroll-progress{display:none}.customer-story-media img{transition:none}}
.customer-story-card.customer-story--sales{--story-accent:#f05a5a}.customer-story-card.customer-story--operations{--story-accent:#27a875}
.image-zoom-trigger{position:relative;display:block;width:100%;padding:0;border:0;background:#080b0f;color:#fff;cursor:zoom-in;text-align:left}.image-zoom-trigger:focus-visible{z-index:4;outline:2px solid var(--story-accent,#3978ff);outline-offset:-2px}.image-zoom-icon{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.55);background:rgba(8,11,15,.72);font-size:13px;opacity:0;transform:translateY(4px);transition:opacity .18s,transform .18s;pointer-events:none}.image-zoom-trigger:hover .image-zoom-icon,.image-zoom-trigger:focus-visible .image-zoom-icon{opacity:1;transform:none}.customer-card-media>.image-zoom-trigger>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.customer-story-card:hover .customer-card-media>.image-zoom-trigger>img{transform:scale(1.025)}.customer-card-scenes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#c6c6c6;border-top:1px solid #c6c6c6;border-bottom:1px solid #c6c6c6}.customer-card-scenes figure{min-width:0;margin:0;background:#fff}.customer-card-scenes img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;filter:saturate(.72);opacity:.8;transition:filter .2s,opacity .2s}.customer-card-scenes figure:nth-child(2) img,.customer-card-scenes figure:hover img{filter:saturate(.95);opacity:1}.customer-card-scenes figure:nth-child(2){box-shadow:inset 0 2px 0 var(--story-accent)}.customer-card-scenes figcaption{display:flex;gap:6px;min-height:38px;padding:8px;color:#525252;font:500 7px/1.35 'IBM Plex Mono',monospace;letter-spacing:.03em}.customer-card-scenes figcaption span{flex:0 0 auto;color:var(--story-accent)}
@media(max-width:1000px){.customer-card-media>.image-zoom-trigger>img{aspect-ratio:16/9}.customer-card-scenes figcaption{font-size:8px}}
@media(max-width:480px){.customer-card-media>.image-zoom-trigger>img{aspect-ratio:16/10}.customer-card-scenes{grid-template-columns:1fr}.customer-card-scenes figure{display:grid;grid-template-columns:120px 1fr;align-items:center}.customer-card-scenes img{aspect-ratio:16/10}.customer-card-scenes figcaption{min-height:0;padding:12px}}

.lightbox-open{overflow:hidden}.image-lightbox{width:min(94vw,1500px);max-width:none;height:auto;max-height:94vh;margin:auto;padding:0;border:1px solid #3a434d;background:#080b0f;color:#fff;overflow:visible}.image-lightbox::backdrop{background:rgba(2,5,8,.9);backdrop-filter:blur(8px)}.image-lightbox figure{margin:0}.image-lightbox img{display:block;width:auto;max-width:94vw;height:auto;max-height:calc(94vh - 48px);margin:auto;object-fit:contain}.image-lightbox figcaption{min-height:48px;padding:14px 54px 14px 16px;color:#c6c6c6;background:#080b0f;font:500 10px/1.5 'IBM Plex Mono',monospace;letter-spacing:.04em}.image-lightbox-close{position:absolute;z-index:2;right:8px;top:8px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid rgba(255,255,255,.5);background:rgba(8,11,15,.82);color:#fff;font-size:25px;font-weight:300;line-height:1;cursor:pointer}.image-lightbox-close:hover,.image-lightbox-close:focus-visible{background:#fff;color:#080b0f}.image-lightbox:not([open]){display:none}@media(max-width:600px){.image-zoom-icon{opacity:1;transform:none}.image-lightbox{width:100vw;max-height:100dvh;border-inline:0}.image-lightbox img{max-width:100vw;max-height:calc(100dvh - 58px)}.image-lightbox figcaption{min-height:58px;padding:14px 60px 14px 16px}}

/* Keep all three customer-story narratives on the same visual baseline. */
@media(min-width:1001px){
  .customer-card-copy{display:grid;grid-template-rows:auto auto minmax(116px,auto) minmax(70px,auto) auto 1fr;min-height:430px;align-content:start}
  .customer-card-company{margin-bottom:24px}
  .customer-card-copy h3{align-self:start}
  .customer-card-copy>a{align-self:end;margin-top:0}
}

/* ===== Platform flow: a visual explanation of how Plantica works ===== */
.platform-how{padding:clamp(96px,10vw,148px) 0;background:#0b0f14;border-top:1px solid #30363d;border-bottom:1px solid #30363d}
.platform-how-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(310px,.55fr);gap:clamp(48px,9vw,132px);align-items:end;margin-bottom:64px}
.platform-how-heading h2{margin-top:20px;font-size:clamp(42px,5vw,72px);font-weight:300;line-height:1;letter-spacing:-.04em}.platform-how-heading h2 b{font-weight:600}.platform-how-heading>p{color:#9ba8b8;font-size:16px;line-height:1.68}
.platform-how-label{color:#78a0ff;font:500 10px/1.25 'IBM Plex Mono',monospace;letter-spacing:.11em}
.platform-how-board{display:grid;grid-template-columns:minmax(220px,.58fr) minmax(440px,1.42fr) minmax(240px,.66fr);border-top:1px solid #3b434d;border-bottom:1px solid #3b434d}
.platform-how-inputs,.platform-how-routes{min-width:0;padding:30px 28px}
.platform-how-inputs{border-right:1px solid #3b434d}.platform-how-routes{border-left:1px solid #3b434d}
.platform-how-inputs h3,.platform-how-routes h3{margin:38px 0 28px;font-size:clamp(21px,1.8vw,27px);font-weight:400;line-height:1.18;letter-spacing:-.015em}
.platform-how-inputs ul{list-style:none;border-top:1px solid #303b49}.platform-how-inputs li{padding:15px 0;border-bottom:1px solid #303b49;color:#aeb9c7;font:500 9px/1.2 'IBM Plex Mono',monospace;letter-spacing:.08em}.platform-how-inputs li::before{content:"·";margin-right:11px;color:#6f7b89}
.platform-how-core{min-width:0;margin:0;padding:0 24px 22px}
.platform-how-window{overflow:hidden;border:1px solid #46505b;background:#070b11}
.platform-how-window>img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.platform-how-core figcaption{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start;padding:20px 2px 0}.platform-how-core figcaption b{color:#c8d0da;font-size:14px;font-weight:400;line-height:1.5}
.platform-how-routes{display:flex;flex-direction:column}.platform-route{--route:#3978ff;display:grid;grid-template-columns:1fr auto;gap:7px;padding:15px 0;border-top:1px solid #303b49;transition:color .15s ease}.platform-route:last-child{border-bottom:1px solid #303b49}.platform-route small{grid-column:1;color:var(--route);font:500 8px/1 'IBM Plex Mono',monospace;letter-spacing:.1em}.platform-route b{grid-column:1;color:#cdd5df;font-size:12px;font-weight:400;line-height:1.35}.platform-route>span{grid-column:2;grid-row:1/3;align-self:center;color:#8b96a4}.platform-route:hover b,.platform-route:hover>span{color:#fff}.platform-route-sales{--route:#f05a5a}.platform-route-engineering{--route:#3978ff}.platform-route-operations{--route:#27a875}
@media(max-width:1050px){.platform-how-board{grid-template-columns:1fr}.platform-how-inputs{border-right:0;border-bottom:1px solid #3b434d}.platform-how-routes{border-top:1px solid #3b434d;border-left:0}.platform-how-inputs ul{display:grid;grid-template-columns:repeat(2,1fr);gap:0 24px}.platform-how-inputs h3,.platform-how-routes h3{margin-top:28px}.platform-how-routes{display:grid;grid-template-columns:repeat(3,1fr);gap:0 18px}.platform-how-routes>.platform-how-label,.platform-how-routes>h3{grid-column:1/-1}}
@media(max-width:760px){.platform-how{padding:82px 0}.platform-how-heading{grid-template-columns:1fr;gap:24px;margin-bottom:46px}.platform-how-heading h2{font-size:42px}.platform-how-inputs,.platform-how-routes{padding:25px 22px}.platform-how-core{padding:20px 0}.platform-how-core figcaption{grid-template-columns:1fr;gap:10px;padding:18px 0 0}.platform-how-routes{grid-template-columns:1fr}.platform-how-inputs ul{grid-template-columns:1fr}.platform-how-window>img{aspect-ratio:4/3}}

/* Customer story images are storyboards, not simulated video players. */
.customer-card-media::after{display:none}

/* Language switch and minimum readable storyboard labels. */
.shell .lang-switch{display:grid;place-items:center;min-width:44px;height:100%;border-left:1px solid #393939;color:#a8a8a8;font:500 11px/1 'IBM Plex Mono',monospace;letter-spacing:.08em}
.shell .lang-switch:hover{background:#262626;color:#fff}
.customer-card-scenes figcaption{font-size:10px;line-height:1.4}
@media(max-width:760px){.shell .lang-switch{position:absolute;right:48px;top:0;height:48px;border-left:1px solid #393939}.customer-card-scenes figcaption{font-size:10px}}
@media(max-width:640px){.universal-signal{font-size:9px}}
@media(max-width:640px){.universal-hero-actions{display:grid;gap:0}.story-link{width:max-content}}
/* Keep the contact anti-spam field out of visual and keyboard flow. */
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.form-row-single{grid-template-columns:1fr}

/* Mobile actions meet a comfortable 44 px touch target without inflating inline body links. */
@media(max-width:760px){
  .shell a,.shell button,.story-link,.customer-card-copy>a,.ps-text-link,.eng-next,.ops-text-link,.contact-direct>a,.contact-before>a,footer a,footer button{min-height:44px;display:inline-flex;align-items:center}
  footer a,footer button{padding-block:10px}
  .contact-consent{min-height:44px;align-items:center}.contact-consent input{width:20px;height:20px;flex:0 0 20px}.contact-consent a{display:inline;min-height:0;padding:0}
}

/* One content grid for the shell and every page family. */
.wrap,.shell .inner{width:min(calc(100% - (2 * var(--page-gutter))),var(--content-max));max-width:none;margin-inline:auto;padding-inline:0}
@media(max-width:680px){:root{--page-gutter:20px}}
