/* ═══ tokens ═══ */
:root{
  color-scheme: dark;
  --sheet:#0A0D0F; --sheet-lt:#171B1E; --sheet-dk:#050607;
  --paper:#ECEDE6; --paper-dk:#DDDED5;
  --ink:#EEF2F3; --graphite:#8C979C;
  --rule:#272D31; --rule-lt:#1A1F22;
  --olive:#051E24;
  --cyan:#0BC5F4; --cyan-dim:#0A93B7; --cyan-ink:#062A33;
  --blue:#2E4E6B;
  --t:"Archivo",system-ui,-apple-system,Segoe UI,sans-serif;
  --m:"Azeret Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --gut:clamp(18px,4vw,48px); --maxw:1320px;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(78px + env(safe-area-inset-top,0px));-webkit-text-size-adjust:100%}
body{margin:0;background:var(--sheet);color:var(--ink);font-family:var(--t);font-size:16.5px;line-height:1.58;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
svg{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.05;letter-spacing:-.022em}
h1{font-size:clamp(2.3rem,5vw,4.1rem);font-weight:700;letter-spacing:-.033em}
h2{font-size:clamp(1.8rem,3.4vw,2.8rem);font-weight:700;letter-spacing:-.028em}
h3{font-size:clamp(1.12rem,1.8vw,1.38rem)}
h4{font-size:1rem}
p{margin:0}
.lede{color:var(--graphite);font-size:1.03rem;line-height:1.62;max-width:56ch}
.prose{max-width:62ch;display:grid;gap:1rem;color:var(--graphite);font-size:1rem}
.prose strong{color:var(--ink);font-weight:600}
.mono{font-family:var(--m);font-variant-numeric:tabular-nums}
.mi{font-family:var(--m);font-size:.68rem;letter-spacing:.05em;color:var(--graphite)}

/* ═══ header ═══ */
.top{position:sticky;top:0;z-index:80;background:rgba(10,13,15,.88);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--rule);padding-top:env(safe-area-inset-top,0px)}
.top-in{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut);height:78px;display:flex;align-items:center;gap:1.4rem}
.brand{display:flex;align-items:center;gap:.7rem;flex:0 0 auto}
.brand svg{width:34px;height:34px;display:block}
.brand img{height:30px;width:auto;display:block}
.bn{font-weight:700;font-size:1rem;letter-spacing:.005em;line-height:1.1;display:block}
.bn .x{color:var(--cyan)}
.bs{display:block;font-family:var(--m);font-size:.545rem;letter-spacing:.075em;color:var(--graphite);margin-top:1px}
.nav{display:flex;align-items:center;gap:.05rem;margin-left:auto;list-style:none;padding:0;margin-block:0}
.nav a,.nav button{display:flex;align-items:center;gap:.4rem;padding:.55rem .72rem;font-size:.92rem;font-weight:500;color:var(--graphite);border-radius:2px;transition:color .15s,background .15s}
.nav a:hover,.nav button:hover,.nav button[aria-expanded="true"],.nav a[aria-current="page"]{color:var(--ink);background:var(--sheet-lt)}
.cv{width:8px;height:8px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s}
[aria-expanded="true"] .cv{transform:rotate(-135deg) translate(-2px,-2px)}
.dd{position:relative}
.pane{position:absolute;top:calc(100% + 9px);right:-8px;min-width:340px;background:var(--sheet-lt);border:1px solid var(--rule);padding:.35rem;opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity .16s,transform .16s,visibility .16s;box-shadow:0 18px 40px rgba(0,0,0,.45);z-index:60}
.pane.open{opacity:1;visibility:visible;transform:none}
.pane a{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:baseline;padding:.58rem .7rem;border-radius:2px}
.pane .c{font-family:var(--m);font-size:.65rem;color:var(--cyan)}
.pane b{font-weight:600;font-size:.92rem;color:var(--ink);display:block}
.pane em{font-style:normal;font-size:.77rem;color:var(--graphite);display:block;margin-top:1px}
.pane a:hover,.pane a[aria-current="page"]{background:var(--rule-lt)}
.pane .div{border-top:1px solid var(--rule);margin:.35rem .3rem}

.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.62rem 1.1rem;font-weight:600;font-size:.93rem;border-radius:2px;transition:background .17s,color .17s,border-color .17s}
.btn-r{background:var(--cyan);color:#05181D}
.btn-r:hover{background:#3AD2FA}
.btn-o{border:1px solid var(--ink);color:var(--ink)}
.btn-o:hover{background:var(--ink);color:var(--sheet)}
.btn-lt{border:1px solid rgba(238,242,243,.35);color:var(--ink)}
.btn-lt:hover{background:var(--ink);color:var(--olive);border-color:var(--ink)}
.btn[disabled]{opacity:.6;cursor:default}
.top .btn{margin-left:.5rem;flex:0 0 auto}
.hb{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--rule);align-items:center;justify-content:center;border-radius:2px}
.hb i{width:18px;height:1.5px;background:var(--ink);display:block;position:relative}
.hb i::before,.hb i::after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:var(--ink)}
.hb i::before{top:-5px}.hb i::after{top:5px}

/* ═══ drawer ═══ */
.dw{position:fixed;inset:0;z-index:95;background:var(--sheet);transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);overflow-y:auto;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.dw.open{transform:none}
.dw-top{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gut);border-bottom:1px solid var(--rule);font-weight:700;letter-spacing:.01em}
.dw nav{padding:.4rem var(--gut) 2.5rem}
.dw nav>a{display:block;padding:1rem 0;border-bottom:1px solid var(--rule-lt);font-size:1.4rem;font-weight:600}
.dw .grp{border-bottom:1px solid var(--rule-lt);padding-bottom:.9rem}
.dw .grp b{display:block;padding:1rem 0 .5rem;font-size:1.4rem;font-weight:600}
.dw .grp a{display:grid;grid-template-columns:auto 1fr;gap:.8rem;padding:.42rem 0 .42rem 1rem;border-left:1px solid var(--rule);color:var(--graphite);font-size:.94rem}
.dw .grp a .c{font-family:var(--m);font-size:.65rem;color:var(--cyan)}
.dw .btn{margin-top:1.7rem;width:100%;justify-content:center}

/* ═══ sheet shell ═══ */
.sheet-sec{border-top:1px solid var(--rule)}
main>.sheet-sec:first-child{border-top:0}
.sin{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut);display:grid;grid-template-columns:104px minmax(0,1fr)}
.rail{border-right:1px solid var(--rule-lt);padding:clamp(30px,4.5vh,54px) 0}
.rail .inner{position:sticky;top:100px;display:flex;flex-direction:column;align-items:flex-start;gap:1.1rem}
.rail .no{font-family:var(--m);font-size:.72rem;color:var(--cyan);letter-spacing:.04em}
.rail .rl{font-family:var(--m);font-size:.67rem;color:var(--graphite);writing-mode:vertical-rl;letter-spacing:.09em;white-space:nowrap}
.body{padding:clamp(30px,4.5vh,54px) 0 clamp(42px,6.5vh,82px) clamp(20px,3vw,44px);min-width:0}
.inv{background:var(--olive);color:var(--ink);border-top-color:var(--olive)}
.inv .rail{border-right-color:rgba(238,242,243,.14)}
.inv .rail .rl{color:rgba(238,242,243,.5)}
.inv .rail .no{color:var(--cyan)}
.inv .lede,.inv .prose{color:rgba(238,242,243,.72)}
.inv .prose strong{color:var(--ink)}

.hd{max-width:60ch}
.hd h2{margin-bottom:.9rem}
.crumb{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-family:var(--m);font-size:.66rem;color:var(--graphite);margin-bottom:1.3rem}
.crumb a:hover{color:var(--cyan)}
.crumb b{color:var(--ink);font-weight:400}
.crumb .sep{opacity:.5}

/* ═══ drawing plate — kept as a light "blueprint sheet" inset, so the
   ink-stroked technical line art stays legible without repainting it ═══ */
.plate{position:relative;border:1px solid var(--rule);padding:clamp(10px,2vw,20px);
  background:linear-gradient(var(--paper-dk) 1px,transparent 1px) 0 0/100% 28px,
             linear-gradient(90deg,var(--paper-dk) 1px,transparent 1px) 0 0/28px 100%,
             var(--paper)}
.plate>svg{position:relative;z-index:1;width:100%;height:auto}
.plot-wrap{position:relative;overflow:hidden}
.run .plot{clip-path:inset(0 100% 0 0);animation:plot 1.75s cubic-bezier(.36,.04,.24,1) .15s forwards}
.run .pen{position:absolute;top:0;bottom:0;width:1px;background:#A32B1C;left:0;opacity:0;animation:pen 1.75s cubic-bezier(.36,.04,.24,1) .15s forwards;z-index:2;pointer-events:none}
@keyframes plot{to{clip-path:inset(0 0 0 0)}}
@keyframes pen{0%{opacity:.9;left:0}97%{opacity:.9}100%{left:100%;opacity:0}}
.legend{list-style:none;margin:1.05rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.45rem 1.3rem}
.legend li{display:grid;grid-template-columns:auto 1fr;gap:.6rem;font-size:.82rem;color:var(--graphite);align-items:baseline}
.legend .n{font-family:var(--m);font-size:.68rem;color:var(--cyan)}

/* ═══ home hero ═══ */
.hero-top{max-width:62ch}
.hero-top h1{margin-bottom:1.1rem}
.acts{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.9rem}
.hero-fig{margin:clamp(28px,4vw,46px) 0 0}
.hero-media-lg{aspect-ratio:21/9}
@media (max-width:700px){.hero-media-lg{aspect-ratio:4/3}}
.keys{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--rule);margin-top:clamp(24px,3.4vw,40px)}
.keys div{padding:.85rem .9rem;border-right:1px solid var(--rule)}
.keys div:last-child{border-right:0}
.keys dt{font-family:var(--m);font-size:.62rem;color:var(--graphite)}
.keys dd{margin:.3rem 0 0;font-weight:700;font-size:1.2rem;letter-spacing:-.02em}

/* ═══ catalogue ═══ */
.cat{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:clamp(24px,3.2vw,40px)}
.card{background:var(--sheet);padding:clamp(18px,2vw,26px);display:flex;flex-direction:column;gap:.95rem;transition:background .18s}
.card:hover{background:var(--sheet-lt)}
.card:hover h3{color:var(--cyan)}
.card.w3{grid-column:span 3}.card.w2{grid-column:span 2}
.card .art{background:var(--paper);border:1px solid var(--rule-lt);padding:10px}
.card .code{font-family:var(--m);font-size:.7rem;color:var(--cyan);letter-spacing:.04em}
.card h3{margin:.42rem 0 .38rem;transition:color .15s}
.card p{font-size:.89rem;color:var(--graphite);line-height:1.55}
.spec{margin:auto 0 0;border-top:1px solid var(--rule-lt);padding-top:.68rem;display:grid;gap:.26rem}
.spec div{display:flex;justify-content:space-between;gap:1rem;font-size:.79rem}
.spec dt{color:var(--graphite)}
.spec dd{margin:0;font-family:var(--m);font-weight:500}
.card .more{font-family:var(--m);font-size:.66rem;color:var(--cyan)}

/* ═══ platform detail ═══ */
.pd-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,4vw,52px);align-items:start}
.pd-code{font-family:var(--m);font-size:.74rem;color:var(--cyan);letter-spacing:.05em}
.pd-top h1{margin:.5rem 0 .35rem;font-size:clamp(2.2rem,4.4vw,3.5rem)}
.pd-role{font-size:1.12rem;font-weight:500;color:var(--graphite);margin-bottom:1.2rem}
.specs{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2.5vw,34px);margin-top:clamp(26px,3.4vw,42px)}
.sgrp h4{font-family:var(--m);font-size:.65rem;font-weight:500;color:var(--graphite);letter-spacing:.06em;padding-bottom:.5rem;border-bottom:1px solid var(--ink)}
.sgrp dl{margin:0}
.sgrp dl>div{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--rule-lt);align-items:baseline}
.sgrp dt{font-size:.87rem;color:var(--graphite)}
.sgrp dd{margin:0;font-family:var(--m);font-size:.84rem;font-weight:500;text-align:right}
.vars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:clamp(24px,3vw,38px)}
.vars>div{background:var(--sheet);padding:clamp(16px,1.9vw,24px)}
.vars .c{font-family:var(--m);font-size:.68rem;color:var(--cyan)}
.vars h4{margin:.4rem 0 .4rem;font-size:1.05rem;font-weight:600}
.vars p{font-size:.86rem;color:var(--graphite)}
.kit{list-style:none;margin:1rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem 1.6rem}
.kit li{display:grid;grid-template-columns:auto 1fr;gap:.7rem;font-size:.88rem;color:var(--graphite);align-items:baseline}
.kit li::before{content:"—";color:var(--cyan);font-family:var(--m);font-size:.78rem}

/* ═══ tables ═══ */
.tw{overflow-x:auto;margin-top:clamp(24px,3vw,38px);border:1px solid var(--rule)}
table{border-collapse:collapse;width:100%;min-width:680px;background:var(--sheet)}
th,td{text-align:left;padding:.75rem .9rem;border-bottom:1px solid var(--rule-lt);font-size:.88rem}
thead th{font-family:var(--m);font-size:.64rem;font-weight:500;color:var(--graphite);letter-spacing:.05em;border-bottom:1px solid var(--ink);background:var(--sheet-lt)}
tbody th{font-weight:600}
td.n{font-family:var(--m);font-variant-numeric:tabular-nums}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--sheet-lt)}

/* ═══ record ═══ */
.rec{border-top:1px solid rgba(238,242,243,.2);margin-top:clamp(24px,3.2vw,38px)}
.rec-row{display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;align-items:baseline;padding:.95rem 0;border-bottom:1px solid rgba(238,242,243,.12)}
.rec-row .fig{font-weight:700;font-size:clamp(1.65rem,3vw,2.4rem);letter-spacing:-.03em;min-width:4.6ch;font-variant-numeric:tabular-nums;color:var(--cyan)}
.rec-row .lbl{font-size:1rem;font-weight:500}
.rec-row .note{font-family:var(--m);font-size:.67rem;color:rgba(238,242,243,.5);text-align:right}
.rec-foot{display:flex;flex-wrap:wrap;gap:1.3rem;align-items:center;margin-top:1.7rem}

/* ═══ generic blocks ═══ */
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:clamp(24px,3.2vw,40px)}
.three>div{background:var(--sheet);padding:clamp(18px,2.2vw,28px)}
.three h3{margin-bottom:.5rem}
.three p{font-size:.91rem;color:var(--graphite)}
.steps{list-style:none;margin:1.05rem 0 0;padding:0;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:auto 1fr;gap:.75rem;padding:.4rem 0;font-size:.86rem;color:var(--graphite);align-items:baseline}
.steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--m);font-size:.65rem;color:var(--cyan)}
.tick{list-style:none;margin:1.05rem 0 0;padding:0;display:grid;gap:.4rem}
.tick li{display:grid;grid-template-columns:auto 1fr;gap:.7rem;font-size:.86rem;color:var(--graphite);align-items:baseline}
.tick li::before{content:"—";color:var(--cyan);font-family:var(--m);font-size:.78rem}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.5vw,34px);margin-top:clamp(24px,3.2vw,40px)}
.cols article{border-top:2px solid var(--ink);padding-top:1rem}
.cols h3{margin-bottom:.5rem}
.cols p{font-size:.9rem;color:var(--graphite)}
.cols .px{font-family:var(--m);font-size:.71rem;color:var(--cyan);margin-top:.8rem}
.split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(22px,3.5vw,46px);align-items:start;margin-top:clamp(22px,3vw,36px)}
.flist{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.flist li{display:grid;grid-template-columns:auto 1fr;gap:.9rem;padding:.8rem 0;border-bottom:1px solid var(--rule-lt)}
.flist .n{font-family:var(--m);font-size:.67rem;color:var(--cyan)}
.flist b{font-weight:600;display:block;font-size:.97rem}
.flist span{font-size:.84rem;color:var(--graphite)}
.stamps{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:clamp(14px,2vw,26px);margin-top:clamp(22px,3vw,36px)}
.stamp{border:1.5px dashed var(--rule);padding:1.15rem .8rem;text-align:center;transform:rotate(-1.2deg)}
.stamp:nth-child(even){transform:rotate(.9deg)}
.stamp b{display:block;font-weight:700;font-size:.97rem;letter-spacing:-.01em}
.stamp span{display:block;font-family:var(--m);font-size:.59rem;color:var(--graphite);margin-top:.35rem}
.tl{list-style:none;margin:clamp(22px,3vw,36px) 0 0;padding:0;border-left:1px solid var(--rule)}
.tl li{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;padding:.7rem 0 .7rem 1.2rem;position:relative}
.tl li::before{content:"";position:absolute;left:-4px;top:1.25rem;width:7px;height:7px;background:var(--cyan)}
.tl .y{font-family:var(--m);font-size:.72rem;color:var(--cyan);min-width:3.4ch}
.tl b{font-weight:600;display:block}
.tl span{font-size:.87rem;color:var(--graphite)}
.callout{border-left:2px solid var(--cyan);padding:.9rem 0 .9rem 1.1rem;margin-top:clamp(22px,3vw,34px);max-width:60ch}
.callout p{font-size:.94rem;color:var(--graphite)}
.cta-bar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:clamp(24px,3vw,38px)}

/* ═══ news bulletin ═══ */
.bulletin{list-style:none;margin:clamp(22px,3vw,36px) 0 0;padding:0}
.bulletin li{padding:1.3rem 0;border-bottom:1px solid var(--rule-lt);display:grid;grid-template-columns:110px 1fr;gap:1.3rem}
.bulletin li:first-child{padding-top:0}
.bulletin .dt{font-family:var(--m);font-size:.72rem;color:var(--cyan);padding-top:.2rem}
.bulletin h3{margin-bottom:.4rem}
.bulletin p{font-size:.92rem;color:var(--graphite)}
.bulletin .tag{display:inline-block;font-family:var(--m);font-size:.6rem;letter-spacing:.05em;color:var(--graphite);border:1px solid var(--rule);padding:.15rem .45rem;border-radius:2px;margin-bottom:.5rem}

/* ═══ careers ═══ */
.role-meta{font-family:var(--m);font-size:.68rem;color:var(--graphite);margin:.1rem 0 .8rem}
.role-meta span+span::before{content:" · "}

/* ═══ form ═══ */
.enq{background:var(--sheet-lt)}
.enq-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr);gap:clamp(24px,4vw,56px);align-items:start}
.form{border:1px solid var(--rule);background:var(--sheet)}
.form .fh{display:flex;justify-content:space-between;gap:1rem;padding:.7rem .95rem;border-bottom:1px solid var(--rule);font-family:var(--m);font-size:.65rem;color:var(--graphite)}
.form .fb{padding:1.1rem .95rem;display:grid;gap:.85rem}
.field label{display:block;font-family:var(--m);font-size:.63rem;color:var(--graphite);margin-bottom:.3rem}
.field input,.field select,.field textarea{width:100%;padding:.6rem .7rem;border:1px solid var(--rule);background:var(--sheet-lt);font:inherit;font-size:.92rem;border-radius:2px;color:var(--ink)}
.field textarea{resize:vertical;min-height:80px}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--cyan);outline-offset:-1px;border-color:var(--cyan)}
.form .btn{width:100%;justify-content:center}
.contacts{display:grid;gap:1.05rem;margin-top:1.9rem}
.contacts>div{border-top:1px solid var(--rule);padding-top:.68rem}
.contacts dt{font-family:var(--m);font-size:.63rem;color:var(--graphite)}
.contacts dd{margin:.25rem 0 0;font-weight:500}
.contacts dd a:hover{color:var(--cyan)}

/* ═══ footer ═══ */
.tb{border-top:1px solid var(--rule);background:var(--sheet-dk)}
.tb-in{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.tb-grid{display:grid;grid-template-columns:repeat(12,1fr);border-left:1px solid var(--rule);border-right:1px solid var(--rule)}
.tb-cell{border-bottom:1px solid var(--rule);border-right:1px solid var(--rule);padding:1rem;min-height:92px}
.tb-cell:last-child{border-right:0}
.tb-cell .k{font-family:var(--m);font-size:.59rem;color:var(--graphite);display:block;margin-bottom:.55rem}
.tb-cell ul{list-style:none;margin:0;padding:0;display:grid;gap:.34rem}
.tb-cell ul a{font-size:.86rem;color:var(--graphite)}
.tb-cell ul a:hover{color:var(--cyan)}
.c2{grid-column:span 2}.c3{grid-column:span 3}.c4{grid-column:span 4}
.tb-brand{display:flex;gap:.8rem;align-items:flex-start}
.tb-brand svg{width:34px;height:34px;flex:0 0 auto;display:block}
.tb-brand img{height:30px;width:auto;flex:0 0 auto;display:block}
.tb-foot{display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;justify-content:space-between;padding:1rem 0 1.6rem;font-family:var(--m);font-size:.63rem;color:var(--graphite)}
.tb-foot a:hover{color:var(--ink);text-decoration:underline}
.soc{display:flex;gap:.45rem;margin-top:.8rem}
.soc a{width:34px;height:34px;border:1px solid var(--rule);display:grid;place-items:center;color:var(--graphite);border-radius:2px}
.soc a:hover{border-color:var(--cyan);color:var(--cyan)}
.soc svg{width:15px;height:15px}

/* ═══ responsive ═══ */
@media (max-width:1140px){
  .nav,.top .btn{display:none}
  .hb{display:flex}
  .pd-top{grid-template-columns:1fr;gap:28px}
  .cat{grid-template-columns:repeat(4,1fr)}
  .card.w3,.card.w2{grid-column:span 2}
  .split,.enq-g{grid-template-columns:1fr}
  .three,.cols,.vars{grid-template-columns:1fr}
}
@media (max-width:860px){
  .sin{grid-template-columns:1fr}
  .rail{border-right:0;border-bottom:1px solid var(--rule-lt);padding:1rem 0 .85rem}
  .inv .rail{border-bottom-color:rgba(238,242,243,.14)}
  .rail .inner{position:static;flex-direction:row;align-items:center;gap:.8rem}
  .rail .rl{writing-mode:horizontal-tb}
  .body{padding-left:0;padding-top:clamp(24px,4vh,38px)}
  .cat{grid-template-columns:1fr}
  .card.w3,.card.w2{grid-column:span 1}
  .keys{grid-template-columns:1fr}
  .keys div{border-right:0;border-bottom:1px solid var(--rule)}
  .keys div:last-child{border-bottom:0}
  .specs,.kit{grid-template-columns:1fr}
  .tb-cell{grid-column:span 12 !important;border-right:0}
  .rec-row{grid-template-columns:auto 1fr}
  .rec-row .note{grid-column:2;text-align:left;margin-top:.15rem}
  .bulletin li{grid-template-columns:1fr;gap:.35rem}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  html{scroll-behavior:auto}
  .run .plot{clip-path:none}
  .run .pen{display:none}
}

/* ═════════════════════════ HERO MEDIA (video / motion fallback) — BIG landing banner ═════════════════════════ */
.hero-media{position:relative;width:100%;aspect-ratio:16/9;border-radius:4px;overflow:hidden;
  background:var(--sheet-dk);border:1px solid var(--rule);box-shadow:0 30px 80px -30px rgba(11,197,244,.18)}
.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
.hero-media.has-video video{display:block}
.hero-media.has-video .hero-motion{display:none}
.hero-motion{position:absolute;inset:0}
.hero-motion img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  animation:heroCrossfade 22s infinite;filter:saturate(1.05) contrast(1.02)}
.hero-motion img:nth-child(1){animation-delay:0s}
.hero-motion img:nth-child(2){animation-delay:5.5s}
.hero-motion img:nth-child(3){animation-delay:11s}
.hero-motion img:nth-child(4){animation-delay:16.5s}
@keyframes heroCrossfade{
  0%{opacity:0;transform:scale(1.06)}
  3%{opacity:1}
  20%{opacity:1;transform:scale(1.13)}
  25%{opacity:0;transform:scale(1.14)}
  100%{opacity:0}
}
.hero-media::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(0deg,rgba(5,7,8,.62) 0%,rgba(5,7,8,0) 32%,rgba(5,7,8,0) 78%,rgba(5,7,8,.35) 100%)}
.hero-media .hm-badge{position:absolute;left:1rem;bottom:1rem;background:rgba(5,7,8,.6);backdrop-filter:blur(6px);
  color:var(--ink);font-family:var(--m);font-size:.66rem;letter-spacing:.05em;
  padding:.4rem .7rem;border-radius:2px;border:1px solid rgba(238,242,243,.18);z-index:2}
.hero-media .hm-live{position:absolute;right:1rem;top:1rem;display:flex;align-items:center;gap:.4rem;
  background:rgba(5,7,8,.6);backdrop-filter:blur(6px);color:var(--cyan);font-family:var(--m);font-size:.62rem;
  letter-spacing:.08em;padding:.35rem .6rem;border-radius:2px;border:1px solid rgba(11,197,244,.35);z-index:2}
.hero-media .hm-live i{width:6px;height:6px;border-radius:50%;background:var(--cyan);display:block;animation:hmPulse 1.8s ease-in-out infinite}
@keyframes hmPulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){
  .hero-motion img{animation:none;opacity:0}
  .hero-motion img:first-child{opacity:1}
  .hero-media .hm-live i{animation:none}
}

/* ═════════════════════════ PRODUCT GALLERY + LIGHTBOX (photo + video) ═════════════════════════ */
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.6rem;margin-top:1rem}
.gal-item{position:relative;aspect-ratio:4/3;border-radius:3px;overflow:hidden;cursor:zoom-in;
  border:1px solid var(--rule);background:var(--sheet-lt)}
.gal-item img,.gal-item video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.gal-item:hover img,.gal-item:hover video{transform:scale(1.05)}
.gal-item .gc{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(5,7,8,.85));
  color:var(--ink);font-size:.68rem;padding:1.1rem .5rem .4rem;line-height:1.3}
.gal-item .gv-badge{position:absolute;top:.5rem;right:.5rem;width:30px;height:30px;border-radius:50%;
  background:rgba(5,7,8,.65);border:1px solid rgba(238,242,243,.3);display:flex;align-items:center;justify-content:center;
  color:var(--ink);font-size:.7rem;z-index:2}
.gal-empty{color:var(--graphite);font-size:.85rem;border:1px dashed var(--rule);border-radius:4px;
  padding:1.4rem;text-align:center}

.lb{position:fixed;inset:0;background:rgba(3,4,5,.96);z-index:200;display:none;
  align-items:center;justify-content:center;padding:3rem 1rem}
.lb.on{display:flex}
.lb-img-wrap{max-width:min(1100px,92vw);max-height:80vh}
.lb img,.lb video{max-width:100%;max-height:80vh;display:block;margin:0 auto;border-radius:2px;background:#000}
.lb-cap{color:var(--ink);text-align:center;font-size:.82rem;margin-top:.7rem;opacity:.85}
.lb-close,.lb-prev,.lb-next{position:absolute;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.2);
  color:var(--ink);width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;cursor:pointer}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{background:rgba(11,197,244,.16);border-color:var(--cyan);color:var(--cyan)}
.lb-close{top:1.1rem;right:1.1rem}
.lb-prev{left:1.1rem;top:50%;transform:translateY(-50%)}
.lb-next{right:1.1rem;top:50%;transform:translateY(-50%)}
@media (max-width:640px){
  .lb-prev,.lb-next{width:36px;height:36px}
  .gal{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
}

/* ═════════════════════════ HOME v3 — full-bleed hero, quick nav, telemetry,
   flagship spotlights, field programmes, facility, closing band ═════════════════════════ */

/* hero — full-bleed media with viewfinder crop marks */
.hx{position:relative;min-height:min(92vh,880px);display:flex;flex-direction:column;justify-content:flex-end;
  overflow:hidden;background:var(--sheet-dk);border-bottom:1px solid var(--rule)}
.hx-media{position:absolute;inset:0}
.hx-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
.hx-media.has-video video{display:block}
.hx-media.has-video .hero-motion{display:none}
.hx::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(5,7,8,.9) 0%,rgba(5,7,8,.62) 38%,rgba(5,7,8,.12) 72%),
             linear-gradient(0deg,rgba(5,7,8,.96) 0%,rgba(5,7,8,0) 48%)}
.hx-frame{position:absolute;inset:clamp(14px,2.2vw,28px);z-index:2;pointer-events:none}
.hx-frame i{position:absolute;width:26px;height:26px;border:0 solid rgba(11,197,244,.75)}
.hx-frame i:nth-child(1){top:0;left:0;border-top-width:1.5px;border-left-width:1.5px}
.hx-frame i:nth-child(2){top:0;right:0;border-top-width:1.5px;border-right-width:1.5px}
.hx-frame i:nth-child(3){bottom:0;left:0;border-bottom-width:1.5px;border-left-width:1.5px}
.hx-frame i:nth-child(4){bottom:0;right:0;border-bottom-width:1.5px;border-right-width:1.5px}
.hx-tag{position:absolute;z-index:3;top:clamp(26px,3.4vw,46px);right:clamp(26px,3.4vw,46px);
  font-family:var(--m);font-size:.62rem;letter-spacing:.14em;color:rgba(238,242,243,.72);
  display:flex;align-items:center;gap:.5rem;background:rgba(5,7,8,.62);padding:.38rem .65rem;border:1px solid rgba(238,242,243,.14);border-radius:2px}
.hx-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cyan);animation:hmPulse 1.8s ease-in-out infinite}
.hx-in{position:relative;z-index:3;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gut) clamp(30px,4.4vw,56px)}
.hx-eyebrow{font-family:var(--m);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan)}
.hx h1{max-width:15ch;margin:.9rem 0 1.1rem;font-size:clamp(2.6rem,5.8vw,5rem);line-height:1}
.hx .lede{color:rgba(238,242,243,.8);max-width:54ch}
.hx .acts{margin-top:1.7rem}

.qt{position:relative;z-index:3;border-top:1px solid rgba(238,242,243,.14);background:rgba(5,7,8,.62);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.qt-in{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut);display:grid;grid-template-columns:repeat(4,1fr)}
.qt a{display:grid;grid-template-columns:auto 1fr auto;gap:.15rem .85rem;align-items:center;padding:1.05rem 1.1rem;
  border-right:1px solid rgba(238,242,243,.1);transition:background .18s}
.qt a:first-child{border-left:1px solid rgba(238,242,243,.1)}
.qt a:hover{background:rgba(11,197,244,.09)}
.qt .n{grid-row:span 2;font-family:var(--m);font-size:.68rem;color:var(--cyan)}
.qt b{font-weight:600;font-size:.95rem}
.qt .sub{grid-column:2;font-size:.76rem;color:var(--graphite)}
.qt em{grid-row:1/span 2;grid-column:3;font-style:normal;color:var(--graphite);transition:transform .18s,color .18s}
.qt a:hover em{transform:translateX(3px);color:var(--cyan)}

/* telemetry counters */
.tm{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border:1px solid var(--rule);margin-top:clamp(24px,3.2vw,40px)}
.tm>div{position:relative;padding:1.4rem 1.15rem 1.2rem;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:0 -1px -1px 0}
.tm>div::before{content:"";position:absolute;left:1.15rem;top:0;width:28px;height:2px;background:var(--cyan)}
.tm .v{display:block;font-weight:700;font-size:clamp(2rem,3.4vw,2.9rem);letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.tm .l{display:block;font-size:.92rem;font-weight:500;margin-top:.55rem}
.tm .s{display:block;font-family:var(--m);font-size:.63rem;color:var(--graphite);margin-top:.35rem;line-height:1.45}

/* flagship spotlights */
.sp{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(24px,4vw,60px);align-items:center;
  padding:clamp(26px,3.4vw,44px) 0;border-top:1px solid var(--rule-lt)}
.sp:first-child{border-top:0;padding-top:clamp(18px,2.4vw,28px)}
.sp.rev .sp-art{order:2}
.sp-art{position:relative;aspect-ratio:4/3;border:1px solid var(--rule);overflow:hidden;display:grid;place-items:center;
  background:radial-gradient(ellipse at 50% 58%,rgba(11,197,244,.16),transparent 62%),
             linear-gradient(rgba(238,242,243,.045) 1px,transparent 1px) 0 0/100% 32px,
             linear-gradient(90deg,rgba(238,242,243,.045) 1px,transparent 1px) 0 0/32px 100%,var(--sheet-lt)}
.sp-art img{max-width:86%;max-height:74%;object-fit:contain;filter:drop-shadow(0 26px 30px rgba(0,0,0,.6));transition:transform .5s ease}
.sp-art.photo img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;filter:none}
.sp:hover .sp-art img{transform:scale(1.03)}
.sp-dim{position:absolute;left:8%;right:8%;bottom:9%;height:1px;background:rgba(11,197,244,.7)}
.sp-dim::before,.sp-dim::after{content:"";position:absolute;top:-5px;width:1px;height:11px;background:rgba(11,197,244,.7)}
.sp-dim::before{left:0}.sp-dim::after{right:0}
.sp-dim span{position:absolute;left:50%;top:-1.35rem;transform:translateX(-50%);font-family:var(--m);font-size:.62rem;letter-spacing:.1em;color:var(--cyan);white-space:nowrap}
.sp-no{position:absolute;top:.8rem;left:.9rem;font-family:var(--m);font-size:.62rem;color:var(--graphite);letter-spacing:.08em}
.sp-code{font-family:var(--m);font-size:.72rem;color:var(--cyan);letter-spacing:.06em}
.sp h3{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:700;letter-spacing:-.03em;margin:.45rem 0 .5rem}
.sp .role{font-weight:500;color:var(--ink);margin-bottom:.8rem}
.sp p.lead{color:var(--graphite);font-size:.97rem;max-width:52ch}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.3rem 0 0;padding:0}
.chips div{border:1px solid var(--rule);padding:.55rem .75rem;min-width:118px}
.chips dt{font-family:var(--m);font-size:.6rem;color:var(--graphite);letter-spacing:.05em}
.chips dd{margin:.2rem 0 0;font-weight:600;font-size:.92rem}
.sp .acts{margin-top:1.4rem}

/* field programmes */
.df{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,4vw,56px);align-items:start;margin-top:clamp(20px,2.6vw,32px)}
.df-points{list-style:none;padding:0;margin:0;border-top:1px solid rgba(238,242,243,.16)}
.df-points li{display:grid;grid-template-columns:auto 1fr;gap:.9rem;padding:.9rem 0;border-bottom:1px solid rgba(238,242,243,.1)}
.df-points .n{font-family:var(--m);font-size:.66rem;color:var(--cyan);padding-top:.2rem}
.df-points b{display:block;font-weight:600}
.df-points span{display:block;font-size:.86rem;color:rgba(238,242,243,.66);margin-top:.15rem}
.mosaic{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:clamp(120px,13vw,186px);gap:.5rem}
.mosaic figure{margin:0;position:relative;overflow:hidden;border:1px solid rgba(238,242,243,.12);background:var(--sheet-dk)}
.mosaic figure:first-child{grid-row:span 2}
.mosaic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.mosaic figure:hover img{transform:scale(1.04)}
.mosaic figcaption{position:absolute;left:0;right:0;bottom:0;padding:1rem .65rem .45rem;font-size:.68rem;line-height:1.35;
  color:var(--ink);background:linear-gradient(transparent,rgba(5,7,8,.88))}

/* facility */
.fc{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(24px,4vw,56px);align-items:start;margin-top:clamp(20px,2.6vw,32px)}
.fc-media .plate svg{width:100%;height:auto}
.fc-media .cap{margin-top:.55rem}
.fc-photos{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.fc-photos figure{margin:0;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--rule)}
.fc-photos figure:first-child{grid-column:span 2;aspect-ratio:16/9}
.fc-photos img{width:100%;height:100%;object-fit:cover;display:block}
.zones{list-style:none;margin:0;padding:0;counter-reset:z}
.zones li{counter-increment:z;display:grid;grid-template-columns:auto 1fr;gap:.9rem;padding:.95rem 0;border-bottom:1px solid var(--rule-lt)}
.zones li:first-child{border-top:1px solid var(--rule)}
.zones li::before{content:counter(z,decimal-leading-zero);font-family:var(--m);font-size:.66rem;color:var(--cyan);padding-top:.25rem}
.zones b{display:block;font-weight:600}
.zones span{display:block;font-size:.86rem;color:var(--graphite);margin-top:.15rem}

/* closing band */
.cx{position:relative;overflow:hidden;border-top:1px solid var(--rule);
  background:linear-gradient(118deg,#06242C 0%,var(--sheet) 58%)}
.cx::after{content:"";position:absolute;right:-4%;top:50%;width:min(46vw,620px);aspect-ratio:404/150;transform:translateY(-50%);
  background:url(../img/brand/mark.png) center/contain no-repeat;opacity:.07;pointer-events:none}
.cx-in{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:clamp(52px,7vw,100px) var(--gut);
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,4vw,56px);align-items:end}
.cx h2{font-size:clamp(2rem,4.2vw,3.4rem);max-width:17ch}
.cx .lede{margin-top:1rem}
.cx-lines{display:grid;gap:.9rem}
.cx-lines div{border-top:1px solid rgba(238,242,243,.16);padding-top:.6rem}
.cx-lines dt{font-family:var(--m);font-size:.62rem;color:var(--graphite)}
.cx-lines dd{margin:.25rem 0 0;font-weight:600}
.cx-lines a:hover{color:var(--cyan)}

@media (max-width:1140px){
  .qt-in{grid-template-columns:repeat(2,1fr)}
  .qt a:nth-child(3){border-left:1px solid rgba(238,242,243,.1)}
  .qt a:nth-child(-n+2){border-bottom:1px solid rgba(238,242,243,.1)}
  .sp,.df,.fc,.cx-in{grid-template-columns:1fr}
  .sp.rev .sp-art{order:0}
}
@media (max-width:600px){
  .hx{min-height:88vh}
  .hx-tag{display:none}
  .qt-in{grid-template-columns:1fr;padding:0}
  .qt a{border-left:0 !important;border-right:0;border-bottom:1px solid rgba(238,242,243,.1)}
  .mosaic{grid-template-columns:1fr;grid-auto-rows:200px}
  .mosaic figure:first-child{grid-row:auto}
}
@media (prefers-reduced-motion:reduce){ .hx-tag::before{animation:none} }

.card.w6{grid-column:span 6}
.lede a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
@media (max-width:1140px){.card.w6{grid-column:span 4}}
@media (max-width:860px){.card.w6{grid-column:span 1}}

/* hero YouTube background */
.hx-media{container-type:size}
.hx-yt{position:absolute;inset:0;overflow:hidden;opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.hx-media.yt-on .hx-yt{opacity:1}
.hx-media.yt-on .hero-motion img{animation-play-state:paused}
.hx-yt iframe{position:absolute;top:50%;left:50%;border:0;pointer-events:none;
  width:max(100cqw,177.78cqh);height:max(100cqh,56.25cqw);transform:translate(-50%,-50%) scale(1.14)}
@supports not (width:1cqw){.hx-yt iframe{width:max(100vw,177.78vh);height:max(100vh,56.25vw)}}


/* ═════════════════════════ v4 — clean, cinematic, full-width ═════════════════════════ */

/* retire the drawing-sheet rails (A-01, B-09 …) on every page */
.rail{display:none !important}
.sin{display:block}
.body{padding:clamp(48px,7vw,100px) 0}
h2{font-size:clamp(2rem,4vw,3.2rem)}

/* full-width bands */
.band{padding:clamp(64px,9vw,120px) 0;border-top:1px solid var(--rule-lt)}
.band.alt{background:var(--sheet-lt)}
.band.teal{background:var(--olive);border-top-color:transparent}
.band.teal .lede{color:rgba(238,242,243,.74)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.eyb{font-family:var(--m);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);margin-bottom:.9rem}
.sh{max-width:64ch;margin-bottom:clamp(28px,3.6vw,44px)}
.sh h2{margin-bottom:.9rem}
.sh-row{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap}
.tm{margin-top:0}
.sp:first-of-type{padding-top:0}

/* header: calls to action */
.top-in{position:relative}
.nav{margin-left:auto}
.hdr-cta{display:flex;align-items:center;gap:.5rem;margin-left:.6rem}
.top .hdr-cta .btn{margin-left:0}
.btn-call svg,.dw-cta svg{width:16px;height:16px;flex:none}
.nav a[aria-current="page"],.nav button[aria-current="page"]{color:var(--ink)}

/* product mega-menu */
.dd.mega{position:static}
.pane.mega-pane{left:var(--gut);right:var(--gut);top:100%;min-width:0;padding:0;background:rgba(14,17,19,.985)}
.mega-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.mega-col{padding:1.3rem 1.1rem 1.1rem;border-right:1px solid var(--rule)}
.mega-col:last-child{border-right:0}
.mega-h{font-family:var(--m);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
.mega-s{font-size:.78rem;color:var(--graphite);margin:.35rem 0 .7rem;line-height:1.45}
.pane .mega-item{grid-template-columns:64px 1fr;align-items:center;gap:.8rem;padding:.5rem .45rem;margin:0 -.45rem}
.th{width:64px;height:46px;border-radius:3px;border:1px solid var(--rule);overflow:hidden;display:grid;place-items:center;
  background:radial-gradient(ellipse at 50% 60%,rgba(11,197,244,.18),transparent 70%),#15191c}
.th img{max-width:88%;max-height:86%;object-fit:contain}
.th.photo img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
.mega-foot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem 1.1rem;border-top:1px solid var(--rule);font-size:.84rem;color:var(--graphite)}
.pane .mega-foot a{display:inline;padding:0;color:var(--cyan);background:none}
.pane.simple{min-width:300px}
.pane.simple a{display:block;padding:.62rem .8rem}

/* mobile drawer */
.dw-top .brand img{height:26px;width:auto}
.dw-x{font-size:1.4rem;padding:.3rem .5rem;line-height:1}
.dw-cta{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:1rem var(--gut) .2rem}
.dw .dw-cta .btn{margin-top:0;width:100%;justify-content:center}
.dwg{border-bottom:1px solid var(--rule-lt)}
.dwg summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:1rem 0;font-size:1.3rem;font-weight:600}
.dwg summary::-webkit-details-marker{display:none}
.dwg summary::after{content:"+";font-weight:400;color:var(--graphite)}
.dwg[open] summary::after{content:"\2212"}
.dwg>a{display:block;padding:.55rem 0 .55rem .2rem;color:var(--graphite)}
.dw-cat{font-family:var(--m);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin:.7rem 0 .3rem}
.dwg .dw-item{display:grid;grid-template-columns:56px 1fr;gap:.75rem;align-items:center;padding:.45rem 0}
.dw-item .th{width:56px;height:42px}
.dw-item b{display:block;font-weight:600;font-size:.95rem;color:var(--ink)}
.dw-item em{display:block;font-style:normal;font-size:.76rem;color:var(--graphite)}
.dwg .dw-all{color:var(--cyan);padding:.8rem 0 1rem}

@media (max-width:1140px){
  .top .hdr-cta{margin-left:auto}
  .top .hdr-cta .btn-r{display:none}
  .top .hdr-cta .btn-call{display:inline-flex;padding:.55rem .65rem}
  .top .hdr-cta .btn-call span{display:none}
  .hb{margin-left:.5rem}
}

/* hero quick links without numbers */
.qt a{grid-template-columns:1fr auto}
.qt .sub{grid-column:1}
.qt em{grid-column:2;grid-row:1/span 2}

/* category tiles */
.cts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
.ct{display:flex;flex-direction:column;border:1px solid var(--rule);background:var(--sheet);overflow:hidden;transition:border-color .2s,transform .25s}
.ct:hover{border-color:rgba(11,197,244,.55);transform:translateY(-3px)}
.ct-media{aspect-ratio:16/10;display:grid;place-items:center;overflow:hidden;
  background:radial-gradient(ellipse at 50% 62%,rgba(11,197,244,.2),transparent 62%),#101417}
.ct-media img{max-width:82%;max-height:78%;object-fit:contain;filter:drop-shadow(0 22px 26px rgba(0,0,0,.6));transition:transform .5s ease}
.ct-media.photo img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;filter:none}
.ct:hover .ct-media img{transform:scale(1.05)}
.ct-body{padding:1.3rem 1.3rem 1.4rem}
.ct-n{font-family:var(--m);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}
.ct h3{font-size:1.45rem;margin:.45rem 0 .5rem}
.ct p{color:var(--graphite);font-size:.9rem}
.ct-more{display:inline-block;margin-top:1rem;font-size:.85rem;color:var(--cyan)}

/* product cards */
.pcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1rem}
.pc{display:flex;flex-direction:column;border:1px solid var(--rule);background:var(--sheet);overflow:hidden;transition:border-color .2s,transform .25s}
.pc:hover{border-color:rgba(11,197,244,.55);transform:translateY(-3px)}
.pc-media{aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;
  background:radial-gradient(ellipse at 50% 60%,rgba(11,197,244,.16),transparent 62%),#101417}
.pc-media img{max-width:84%;max-height:76%;object-fit:contain;filter:drop-shadow(0 20px 24px rgba(0,0,0,.6))}
.pc-media.photo img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;filter:none}
.pc-body{padding:1.15rem 1.2rem 1.3rem;display:flex;flex-direction:column;flex:1}
.pc-code{font-family:var(--m);font-size:.66rem;color:var(--cyan);letter-spacing:.05em}
.pc h3{font-size:1.2rem;margin:.35rem 0 .3rem}
.pc-role{color:var(--graphite);font-size:.86rem}
.pc-spec{margin:1rem 0 0;padding-top:.7rem;border-top:1px solid var(--rule-lt);display:grid;gap:.3rem}
.pc-spec div{display:flex;justify-content:space-between;gap:1rem;font-size:.8rem}
.pc-spec dt{color:var(--graphite)}
.pc-spec dd{margin:0;font-weight:600;text-align:right}
.pc-more{margin-top:auto;padding-top:1rem;font-size:.84rem;color:var(--cyan)}

/* partner / certification logos */
.pt-row{display:flex;flex-wrap:wrap;gap:1rem}
.pt-logo{margin:0;flex:0 1 180px;min-height:110px;background:#ECEDE6;border-radius:4px;padding:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}
.pt-logo img{max-width:100%;max-height:64px;object-fit:contain}
.pt-logo figcaption{font-size:.72rem;color:#3b4346;text-align:center}

/* platforms page */
.pg-head{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(40px,5vw,64px);border-top:0}
.pg-head h1{margin:.4rem 0 1rem}
.jump{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.6rem}
.jump a{border:1px solid var(--rule);padding:.5rem .9rem;border-radius:999px;font-size:.86rem}
.jump a:hover{border-color:var(--cyan);color:var(--cyan)}
.band[id]{scroll-margin-top:78px}
.tcode{display:block;font-family:var(--m);font-size:.62rem;color:var(--graphite);font-weight:400;margin-top:.2rem}
th sup{color:var(--cyan)}

/* product page hero: the real photo, not a line drawing */
.pd-media{margin:0;position:relative;aspect-ratio:4/3;display:grid;place-items:center;border:1px solid var(--rule);overflow:hidden;
  background:radial-gradient(ellipse at 50% 60%,rgba(11,197,244,.18),transparent 62%),
             linear-gradient(rgba(238,242,243,.04) 1px,transparent 1px) 0 0/100% 32px,
             linear-gradient(90deg,rgba(238,242,243,.04) 1px,transparent 1px) 0 0/32px 100%,#101417}
.pd-media img{max-width:86%;max-height:80%;object-fit:contain;filter:drop-shadow(0 26px 30px rgba(0,0,0,.6))}
.pd-media.photo img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;filter:none}
.pd-top .chips{margin-top:1.4rem}
@media (max-width:1140px){.pd-media{order:-1}}

/* footer */
.ft{background:var(--sheet-dk);border-top:1px solid var(--rule)}
.ft-in{max-width:var(--maxw);margin:0 auto;padding:clamp(48px,6vw,80px) var(--gut) 2rem;display:grid;
  grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px)}
.ft-tag{color:var(--graphite);font-size:.9rem;margin:.9rem 0 1.2rem;max-width:34ch}
.ft-contact{display:grid;gap:.7rem;margin:0}
.ft-contact dt{font-family:var(--m);font-size:.6rem;color:var(--graphite);letter-spacing:.08em;text-transform:uppercase}
.ft-contact dd{margin:.15rem 0 0;font-size:.9rem}
.ft-contact a:hover{color:var(--cyan)}
.ft-col h4{font-family:var(--m);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem;font-weight:500}
.ft-col ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.ft-col a{font-size:.9rem;color:var(--graphite)}
.ft-col a:hover{color:var(--cyan)}
.ft .soc{margin-top:1.3rem}
.ft-bar{max-width:var(--maxw);margin:0 auto;padding:1.2rem var(--gut) 1.8rem;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;
  gap:.6rem 1.6rem;justify-content:space-between;font-size:.78rem;color:var(--graphite)}
.ft-bar a:hover{color:var(--ink)}
@media (max-width:900px){.ft-in{grid-template-columns:1fr 1fr}.ft-brand{grid-column:1/-1}}
@media (max-width:520px){.ft-in{grid-template-columns:1fr}}

/* invisible bridge across the gap between a menu button and its dropdown,
   so moving the pointer down to the menu doesn't count as leaving it */
.dd .pane::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}

/* mega-menu: fully opaque, whatever sits underneath */
.nav .dd.mega .pane.mega-pane{background:#101418;-webkit-backdrop-filter:none;backdrop-filter:none}

/* partner / registration logo strip (only rendered when logos exist) */
.cred{border-top:1px solid var(--rule);background:var(--sheet-dk)}
.cred-in{max-width:var(--maxw);margin:0 auto;padding:clamp(40px,5vw,64px) var(--gut);text-align:center}
.cred-h{font-family:var(--m);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--graphite);margin-bottom:1.6rem}
.cred-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(18px,3vw,40px)}
.cred-list li{display:flex;flex-direction:column;align-items:center;gap:.6rem;width:140px}
.cred-list img{height:64px;width:auto;max-width:140px;object-fit:contain;background:#fff;border-radius:6px;padding:8px;filter:grayscale(1);opacity:.85;transition:filter .2s,opacity .2s}
.cred-list li:hover img{filter:none;opacity:1}
.cred-list span{font-size:.78rem;color:var(--graphite)}

/* CMS pages: the page header flows straight into its first section */
.sheet-sec.pg-first .body{padding-bottom:clamp(10px,1.6vw,18px)}
.sheet-sec.pg-first + .sheet-sec:not(.inv){border-top:0}
.sheet-sec.pg-first + .sheet-sec:not(.inv) .body{padding-top:clamp(10px,1.6vw,18px)}
.blk-img{margin:0;border:1px solid var(--rule);border-radius:3px;overflow:hidden}
.blk-img img{display:block;width:100%;height:auto}
.blk-img figcaption{font-size:.78rem;color:var(--graphite);padding:.55rem .7rem}
/* a Site-text field emptied in the CMS hides its element */
h2:empty,p.lede:empty,p.eyb:empty,p.ft-tag:empty,#brochureNote:empty{display:none}

/* tables beside text: fit the column instead of scrolling a column out of view */
.split .tw table{min-width:0}
.split .tw th,.split .tw td{white-space:normal}

/* ═════════ homepage: reach section (light band, cards around a map) ═════════ */
.rx{background:linear-gradient(rgba(16,20,24,.045) 1px,transparent 1px) 0 0/40px 40px,
  linear-gradient(90deg,rgba(16,20,24,.045) 1px,transparent 1px) 0 0/40px 40px,#F4F6F8;color:#101418}
.rx-in{max-width:var(--maxw);margin:0 auto;padding:clamp(56px,7vw,100px) var(--gut)}
.rx-hd{text-align:center;max-width:760px;margin:0 auto clamp(28px,4vw,52px)}
.eyb2{display:inline-flex;align-items:center;gap:.55rem;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#0A6CF1;margin:0 0 .9rem}
.eyb2::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.rx h2,.tl h2{font-stretch:70%;font-weight:800;text-transform:uppercase;letter-spacing:-.005em;line-height:1;font-size:clamp(2.2rem,4.8vw,3.9rem);color:#101418;margin:0}
.rx h2 .acc{background:linear-gradient(90deg,#0A6CF1,#0BC5F4);-webkit-background-clip:text;background-clip:text;color:transparent}
.rx .lede,.tl .lede{color:#3E474D;margin:1.1rem auto 0;max-width:58ch;font-size:1.05rem}
.rx-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,1.15fr) minmax(0,1fr);gap:clamp(16px,3vw,44px);align-items:center}
.rx-col{display:flex;flex-direction:column;gap:14px}
.rx-card{background:#fff;border:1px solid #E1E6EA;border-radius:14px;padding:1.15rem 1.35rem;box-shadow:0 14px 34px -22px rgba(16,20,24,.35)}
.rx-left .rx-card{text-align:right}
.rx-card .v{display:block;font-stretch:70%;font-weight:800;font-size:clamp(2rem,3.2vw,2.7rem);line-height:1;color:#101418;font-variant-numeric:tabular-nums}
.rx-card .l{display:block;font-weight:700;font-size:.97rem;margin-top:.55rem;color:#1C252B}
.rx-card .s{display:block;font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:#6B747A;margin-top:.25rem}
.rx-map{text-align:center}
.rx-radar{width:100%;max-width:380px;height:auto;display:block;margin:0 auto}
.rx-sweep{transform-box:view-box;transform-origin:50% 50%;animation:rxspin 7s linear infinite}
.rx-ping{transform-box:fill-box;transform-origin:center;animation:rxping 2.2s ease-out infinite}
@keyframes rxspin{to{transform:rotate(360deg)}}
@keyframes rxping{0%{transform:scale(1);opacity:.9}100%{transform:scale(4.5);opacity:0}}
.rx-hq{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#0A6CF1;margin:.4rem 0 0}
.rx-mapimg{position:relative;display:inline-block;max-width:100%}
.rx-mapimg img{display:block;max-width:100%;height:auto;max-height:560px;filter:drop-shadow(0 18px 30px rgba(16,20,24,.18))}
.rx-pin{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:.4rem}
.rx-pin i{width:14px;height:14px;border-radius:50%;background:#0A6CF1;border:2px solid #fff;box-shadow:0 0 0 0 rgba(10,108,241,.5);animation:rxpin 2s ease-out infinite;flex:none}
.rx-pin em{font-style:normal;font-size:.7rem;font-weight:700;color:#101418;background:rgba(255,255,255,.92);padding:.12rem .4rem;border-radius:4px;white-space:nowrap}
@keyframes rxpin{0%{box-shadow:0 0 0 0 rgba(10,108,241,.5)}100%{box-shadow:0 0 0 14px rgba(10,108,241,0)}}

/* ═════════ homepage: product tiles (light showroom panels) ═════════ */
.tl{background:#E9ECEE;padding:clamp(56px,7vw,100px) 0 clamp(40px,5vw,72px)}
.tl-hd{text-align:center;max-width:760px;margin:0 auto clamp(26px,3.4vw,44px);padding:0 var(--gut)}
.tiles{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut);display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tile{position:relative;overflow:hidden;border-radius:4px;background:linear-gradient(180deg,#FBFBFC 0%,#E2E5E8 100%);
  min-height:clamp(460px,46vw,640px);display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:clamp(30px,3.4vw,48px) 1.2rem 0;color:#0D1B2A}
.tile.wide{grid-column:1/-1}
.tile-eyb{font-size:.84rem;font-weight:500;color:#46515A;margin:0}
.tile-name{font-stretch:66%;font-weight:800;text-transform:uppercase;font-size:clamp(2rem,3.7vw,3.1rem);line-height:1;letter-spacing:-.005em;margin:.45rem 0 .7rem;color:#0D1B2A}
.tile-sub{font-size:1.06rem;color:#1F2A33;margin:0}
.tile-links{display:flex;gap:1.5rem;justify-content:center;margin:1.05rem 0 0;font-size:.93rem;font-weight:500}
.tile-links a{color:#0D1B2A}
.tile-links a:hover{color:#0A6CF1;text-decoration:underline;text-underline-offset:3px}
.tile-img{flex:1;display:flex;align-items:center;justify-content:center;width:100%;padding:1.4rem 0 2rem}
.tile-img img{max-width:88%;max-height:clamp(220px,27vw,380px);object-fit:contain;filter:drop-shadow(0 24px 22px rgba(0,0,0,.26));transition:transform .5s ease}
.tile.wide .tile-img img{max-width:60%}
.tile:hover .tile-img img{transform:scale(1.04)}
.tile-img.photo{padding:1.4rem 1.4rem 1.6rem}
.tile-img.photo img{width:100%;max-width:100%;height:clamp(220px,26vw,360px);max-height:none;object-fit:cover;border-radius:3px;filter:none}
.tile.wide .tile-img.photo img{max-width:760px}

@media (max-width:980px){
  .rx-grid{grid-template-columns:1fr 1fr}
  .rx-map{grid-column:1/-1;order:-1;margin-bottom:.6rem}
  .rx-left .rx-card{text-align:left}
}
@media (max-width:860px){ .tiles{grid-template-columns:1fr} .tile.wide{grid-column:auto} .tile.wide .tile-img img{max-width:88%} }
@media (max-width:520px){ .rx-grid{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce){ .rx-sweep,.rx-ping,.rx-pin i{animation:none} }

/* ═════════ product pages: light layout, slider, overview, missions, payloads, advantages ═════════ */
.pp{background:#fff;color:#101418;border-top:1px solid #E6EAED}
.pp-hero{background:linear-gradient(rgba(16,20,24,.04) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,rgba(16,20,24,.04) 1px,transparent 1px) 0 0/40px 40px,#F4F6F8;border-top:0}
.pp-alt{background:#F4F6F8}
.pp-in{max-width:var(--maxw);margin:0 auto;padding:clamp(48px,6vw,88px) var(--gut)}
.pp-tight .pp-in{padding-top:0}
.pp-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4.5vw,64px);align-items:center}
.pp .crumb{color:#6B747A;margin-bottom:1.1rem}.pp .crumb b{color:#101418}.pp .crumb a:hover{color:#0A6CF1}
.pp-eyb{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#4A545B;margin:0 0 .7rem}
.pp h1{font-stretch:68%;font-weight:800;text-transform:uppercase;font-size:clamp(2.4rem,4.6vw,3.8rem);line-height:1;letter-spacing:-.005em;color:#0D1B2A;margin:0}
.pp-role{font-size:.82rem;font-weight:600;color:#0A6CF1;margin:.7rem 0 0}
.pp-lede{color:#3E474D;font-size:1.02rem;line-height:1.65;margin:1rem 0 0;max-width:52ch}
.pp .acts{margin-top:1.5rem}
.btn-dk{background:#0D1B2A;color:#fff}.btn-dk:hover{background:#0A6CF1}
.btn-ol{border:1px solid #C9D1D7;color:#0D1B2A;background:#fff}.btn-ol:hover{border-color:#0D1B2A}
.pp .mi{color:#6B747A}
.pp-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.8rem 1.2rem;border-top:1px solid #DDE3E7;margin-top:1.6rem;padding-top:1.2rem}
.pp-figs b{display:block;font-size:.98rem;color:#0D1B2A}
.pp-figs span{display:block;font-size:.7rem;color:#6B747A;margin-top:.15rem}
.pp-h2{font-stretch:68%;font-weight:800;text-transform:uppercase;font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.02;color:#0D1B2A;margin:0}
.pp-prose{margin-top:1rem;color:#3E474D;line-height:1.7;display:grid;gap:.8rem}
.pp-prose p{margin:0}
.pp-cards{display:grid;gap:.7rem;margin-top:1.4rem}
.pp-card{border:1px solid #E1E6EA;border-radius:8px;background:#FAFBFC;padding:.85rem 1rem}
.pp-card b{display:block;font-size:.9rem;color:#0D1B2A}
.pp-card span{display:block;font-size:.82rem;color:#4A545B;margin-top:.25rem}
/* slider */
.cr{background:#fff;border:1px solid #E1E6EA;border-radius:12px;padding:14px;box-shadow:0 18px 40px -26px rgba(16,20,24,.35);outline:none}
.cr:focus-visible{outline:2px solid #0A6CF1;outline-offset:3px}
.cr-stage{position:relative;aspect-ratio:3/2;border-radius:6px;overflow:hidden;background:linear-gradient(180deg,#FBFBFC,#E4E7EA)}
.cr-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .35s ease;pointer-events:none}
.cr-slide.on{opacity:1;pointer-events:auto}
.cr-slide img,.cr-slide video{width:100%;height:100%;object-fit:cover;display:block;background:#000}
.cr-slide.cut img{object-fit:contain;padding:6%;box-sizing:border-box;background:transparent;filter:drop-shadow(0 18px 18px rgba(0,0,0,.25))}
.cr-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.2rem .8rem .55rem;font-size:.74rem;color:#fff;background:linear-gradient(transparent,rgba(5,7,8,.7))}
.cr-count{position:absolute;top:10px;right:10px;z-index:2;background:#fff;border:1px solid #DDE3E7;border-radius:5px;font-size:.68rem;padding:.15rem .45rem;color:#101418}
.cr-count b{font-weight:600}
.cr-prev,.cr-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:34px;height:34px;border-radius:7px;border:1px solid #DDE3E7;background:#fff;color:#101418;font-size:1.3rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.cr-prev{left:10px}.cr-next{right:10px}
.cr-prev:hover,.cr-next:hover{border-color:#0A6CF1;color:#0A6CF1}
.cr-thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(72px,1fr);gap:8px;margin-top:10px;overflow-x:auto}
.cr-th{border:2px solid transparent;border-radius:6px;padding:0;background:#EEF1F3;cursor:pointer;aspect-ratio:16/10;overflow:hidden;opacity:.75}
.cr-th.on{border-color:#0D1B2A;opacity:1}
.cr-th img{width:100%;height:100%;object-fit:cover;display:block}
.cr-vid{display:flex;align-items:center;justify-content:center;height:100%;color:#0D1B2A}
/* missions, payloads, advantages */
.pp-rule{display:flex;align-items:center;gap:.9rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#4A545B;margin:0 0 1rem}
.pp-rule::after{content:"";flex:1;height:1px;background:#DDE3E7}
.pp-mp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.pp-mp.one{grid-template-columns:1fr}
.pp-missions{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pp-missions li{background:#fff;border:1px solid #E1E6EA;border-radius:6px;padding:.7rem .9rem .7rem 1.8rem;position:relative;font-size:.9rem;color:#1C252B}
.pp-missions li::before{content:"";position:absolute;left:.85rem;top:50%;width:6px;height:6px;border-radius:50%;background:#0D1B2A;transform:translateY(-50%)}
.pp-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pp-chips li{background:#fff;border:1px solid #DDE3E7;border-radius:999px;padding:.42rem .85rem;font-size:.8rem;font-weight:500;color:#1C252B}
.pp-adv{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pp-adv article{background:#fff;border:1px solid #E1E6EA;border-radius:8px;padding:1.2rem 1.2rem 1.3rem}
.pp-adv .n{font-family:var(--m);font-size:.68rem;color:#6B747A}
.pp-adv h3{font-stretch:68%;font-weight:800;text-transform:uppercase;font-size:1rem;color:#0D1B2A;margin:.5rem 0 .5rem;letter-spacing:.01em}
.pp-adv p{font-size:.88rem;color:#3E474D;line-height:1.6;margin:0}
@media (max-width:980px){ .pp-split,.pp-mp{grid-template-columns:1fr} .pp-adv{grid-template-columns:1fr 1fr} }
@media (max-width:600px){ .pp-adv,.pp-missions{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce){ .cr-slide{transition:none} }

/* product overview: description left, configurations right, top-aligned */
.pp-ov{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,5vw,72px);align-items:start}
.pp-ov.one{grid-template-columns:minmax(0,1fr);max-width:calc(820px + 2 * var(--gut))}
.pp-conf{padding-top:.2rem}
.pp-conf .pp-cards{margin-top:0}
@media (max-width:980px){.pp-ov{grid-template-columns:1fr}}
/* configuration cards stay in view beside long descriptions */
@media (min-width:981px){.pp-conf{position:sticky;top:100px}}

/* overview right column: configurations, then payload configurations */
.pp-conf .pp-pay{margin-top:1.8rem}
.pp-conf .pp-chips li{background:#FAFBFC}
.pp-mis-only .pp-missions{grid-template-columns:repeat(3,1fr)}
@media (max-width:980px){.pp-mis-only .pp-missions{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.pp-mis-only .pp-missions{grid-template-columns:1fr}}
.pp-split>*,.pp-ov>*{min-width:0}.pp-txt,.sgrp dd,.pp-chips li{overflow-wrap:anywhere}
/* news article */
.bulletin h3 a{color:inherit;text-decoration:none}.bulletin h3 a:hover{color:var(--cyan)}
.bulletin .more{color:var(--cyan);white-space:nowrap;font-weight:600}
.news-art{max-width:820px;min-width:0;overflow-wrap:anywhere}
.news-art .art-meta{font-family:var(--m);font-size:.72rem;color:var(--cyan);margin:1rem 0 .4rem}
.news-art h2{margin:2.2rem 0 .8rem}.news-art h3{margin:1.4rem 0 .4rem}
.news-art p,.news-art li{line-height:1.7}.news-art ol,.news-art ul{padding-left:1.3rem;margin:.6rem 0 1rem}.news-art li{margin:.5rem 0}
.news-art a{color:var(--cyan)}
.news-art figure{margin:1.6rem 0}.news-art figure img{width:100%;height:auto;border-radius:4px;border:1px solid var(--rule-lt);background:#0b0f13}
.news-art figcaption{font-size:.8rem;color:var(--graphite);margin-top:.5rem}
.news-art .table-responsive{overflow-x:auto;margin:1rem 0}
.news-art table{border-collapse:collapse;width:100%;min-width:520px;font-size:.88rem}
.news-art caption{text-align:left;font-size:.8rem;color:var(--graphite);padding-bottom:.5rem}
.news-art th,.news-art td{border:1px solid var(--rule);padding:.6rem .7rem;text-align:left;vertical-align:top}
.news-art thead th{color:var(--cyan);font-family:var(--m);font-size:.72rem}
.news-art .faq-item{border-top:1px solid var(--rule-lt);padding-top:.4rem}
.news-art .art-back{margin-top:2.4rem}
.news-art h1{font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.12;margin-bottom:1.2rem}
.news-art .lede{max-width:none;margin-bottom:1.6rem}
.news-art p{margin:0 0 1rem}
.cat-dl{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin:1.3rem 0 0}.cat-dl .mi{font-size:.8rem}
/* home banner: video, then each platform's main picture */
.hx-slides{position:absolute;inset:0;transition:opacity 1s ease}
.hx-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.2s ease}
.hx-slide.on{opacity:1}
.hx-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform 6.5s ease-out}
.hx-slide.on img{transform:scale(1)}
.hx-slide.cut{background:radial-gradient(ellipse 70% 80% at 72% 45%,#1f3240 0%,#0d151c 55%,#070a0d 100%)}
.hx-slide.cut img{inset:auto;right:3%;top:9%;width:58%;height:72%;object-fit:contain;filter:drop-shadow(0 24px 40px rgba(0,0,0,.55))}
.hx-media.vid-file video{display:block}
.hx-media.vid-file .hx-slides,.hx-media.vid-yt .hx-slides{opacity:0}
.hx-media.vid-yt .hx-yt{opacity:1}
.hx-cap{position:absolute;z-index:3;right:var(--gut);top:calc(var(--hdr,72px) + 22px);display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;
  text-decoration:none;color:#EEF2F3;padding:.5rem .8rem;border-right:2px solid #12B5E5;background:rgba(5,7,8,.45);backdrop-filter:blur(4px)}
.hx-cap span{font-family:var(--m);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#12B5E5}
.hx-cap b{font-size:1rem;font-weight:600}
.hx-cap:hover b{color:#12B5E5}
@media (max-width:760px){
  .hx-slide.cut img{right:5%;left:5%;top:12%;width:90%;height:42%}
  .hx-cap{top:auto;bottom:calc(100% - 150px);right:16px}
}
@media (prefers-reduced-motion:reduce){.hx-slide,.hx-slide img{transition:none;transform:none}}
@media (max-width:760px){.hx-cap{display:none !important}}
.hx-slide.screen img{right:4%;top:16%;width:52%;height:62%;object-fit:contain;border-radius:10px;filter:drop-shadow(0 28px 50px rgba(0,0,0,.6))}
@media (max-width:760px){.hx-slide.screen img{left:5%;right:5%;width:90%;top:14%;height:36%}}
.hx-slide.screen img{right:3%;top:27%;width:43%;height:56%}
.hx-slide.screen img{right:2%;width:40%;top:30%;height:52%}
/* compact banner text so the video and product pictures stay visible */
.hx h1{font-size:clamp(1.7rem,2.9vw,2.6rem);line-height:1.05;max-width:20ch;margin:.6rem 0 .7rem}
.hx .lede{font-size:clamp(.84rem,1vw,.95rem);line-height:1.55;max-width:44ch;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hx .acts{margin-top:1.1rem}
.hx-eyebrow{font-size:.66rem}
.hx::before{background:linear-gradient(90deg,rgba(5,7,8,.78) 0%,rgba(5,7,8,.38) 32%,rgba(5,7,8,0) 55%),
                      linear-gradient(0deg,rgba(5,7,8,.9) 0%,rgba(5,7,8,0) 34%)}
.hx-slide.cut img{right:2%;top:8%;width:64%;height:76%}
.hx-slide.screen img{right:2%;top:18%;width:56%;height:64%}
@media (max-width:760px){
  .hx h1{font-size:1.7rem}
  .hx-slide.cut img{left:5%;right:5%;width:90%;top:10%;height:44%}
  .hx-slide.screen img{left:5%;right:5%;width:90%;top:12%;height:38%}
}
@media (max-width:760px){
  .hx{min-height:0;padding-top:calc(64px + 62vw)}
  .hx-slide.cut img,.hx-slide.screen img{left:4%;right:4%;width:92%;top:calc(64px + 4vw);height:54vw}
  .hx::before{background:linear-gradient(0deg,rgba(5,7,8,.95) 0%,rgba(5,7,8,.75) 45%,rgba(5,7,8,0) 62%)}
}
@media (max-width:760px){.hx-slide.photo img{top:64px;height:calc(62vw + 40px);bottom:auto;object-position:center 40%}}
/* banner picture change bar */
.hx-nav{display:flex;align-items:center;gap:.6rem;margin-top:1.3rem;max-width:520px}
.hx-segs{display:flex;gap:6px;flex:1;min-width:0}
.hx-seg{flex:1;min-width:10px;height:22px;padding:0;border:0;background:none;cursor:pointer;position:relative}
.hx-seg::before{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;border-radius:2px;background:rgba(238,242,243,.28)}
.hx-seg i{position:absolute;left:0;top:50%;height:3px;margin-top:-1.5px;width:0;border-radius:2px;background:#12B5E5}
.hx-seg.done i{width:100%;background:rgba(238,242,243,.75)}
.hx-seg.on i{animation:hxFill var(--dur,5000ms) linear forwards}
.hx-seg.vid.on i{width:100%;animation:hxPulse 1.6s ease-in-out infinite}
.hx-seg.vid{flex:0 0 26px}
.hx-seg.vid::after{content:"";position:absolute;left:50%;top:50%;margin:-9px 0 0 -4px;border-left:8px solid rgba(238,242,243,.85);border-top:5px solid transparent;border-bottom:5px solid transparent;transform:translateY(4px)}
.hx-seg.vid::before{display:none}.hx-seg.vid i{display:none}
.hx-seg.vid.on::after{border-left-color:#12B5E5}
.hx-seg:hover::before{background:rgba(238,242,243,.55)}
.hx-seg:focus-visible,.hx-arw:focus-visible{outline:2px solid #12B5E5;outline-offset:2px}
.hx-arw{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid rgba(238,242,243,.35);background:rgba(5,7,8,.45);color:#EEF2F3;font-size:1.1rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0 0 2px}
.hx-arw:hover{border-color:#12B5E5;color:#12B5E5}
@keyframes hxFill{from{width:0}to{width:100%}}
@keyframes hxPulse{0%,100%{opacity:.5}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.hx-seg.on i{animation:none;width:100%}}
.news-art h2{font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.2}.news-art h3{font-size:1.05rem}.news-art .faq-section h2{margin-top:2.6rem}
