
/* ROBOSURF - DIRECTION B "NIGHT SHIFT"
   Layout concept: dark-only, photograph-led. The robot is shown at work on site; type sits on the photo like
   machine signage; figures run in a telemetry rail. Full-bleed image bands alternate with tight data rows.
   SINGLE THEME (dark by design). Every colour set explicitly.
   PALETTE
     --ground  #0A0D14  page field (blue-black, hue 225) ...... ~60%
     --panel   #141924  raised bands, cards ................... ~20%
     --steel   #1F2635  inputs, rails
     --rule    #2A3244  hairlines
     --ink     #ECEFF5  primary text (16.9:1 on ground)
     --soft    #98A1B5  secondary text (7.5:1 on ground)
     --signal  #8197FF  logo blue #5270FF lifted for dark: links, button fill, data highlights (7.2:1) ... max 5%
     --mark-1..4  #5270FF #667ED8 #83A1EA #AAB9E8  logo only + the three product bars
   TYPE
     Display: Barlow Condensed 600/700 uppercase  96/64/40/28 (tracking -0.01em)
     Labels:  Barlow Semi Condensed 600 uppercase 13px +0.12em
     Text:    Barlow 400/500  18 lead / 16 body / 14 meta
     Logo: official vector mark + wordmark (RS Corporate Design, 14 Oct 2026)
*/
/* Self-hosted fonts (@fontsource, latin subset): no request to Google from the visitor's browser. */
@font-face{font-family:"Barlow";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/barlow-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-condensed-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-semi-condensed-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-semi-condensed-latin-600-normal.woff2) format("woff2")}
:root{
  color-scheme:dark;
  --ground:#0A0D14; --panel:#141924; --steel:#1F2635; --rule:#2A3244;
  --ink:#ECEFF5; --soft:#98A1B5; --signal:#8197FF; --on-signal:#0A0D14;
  --mark-1:#5270FF; --mark-2:#667ED8; --mark-3:#83A1EA; --mark-4:#AAB9E8;
  --scrim:rgba(6,8,12,.86);
  --f-display:"Barlow Condensed", "Arial Narrow", "Roboto Condensed", sans-serif;
  --f-label:"Barlow Semi Condensed", "Arial Narrow", sans-serif;
  --f-text:"Barlow", "Helvetica Neue", Arial, sans-serif;
  --gut:clamp(16px, 4vw, 56px); --max:1360px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--ground)}
body{margin:0;background:var(--ground);color:var(--ink);font:400 16px/1.6 var(--f-text);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-underline-offset:4px;text-decoration-color:var(--signal)}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto;font-family:var(--f-display);font-weight:600;text-transform:uppercase;margin:0;line-height:.98;letter-spacing:-0.005em;color:var(--ink)}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.lbl{font:600 13px/1.3 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.lbl.sig{color:var(--signal)}
.num{font-variant-numeric:tabular-nums}

/* header */
.top{position:absolute;top:0;left:0;right:0;z-index:5}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:80px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand svg{width:30px;height:30px;flex:none}
.brand .logo{height:40px;width:auto;display:block}
.brand .logo-stacked{height:110px;width:auto;display:block}
.brand sup{font-size:9px;letter-spacing:0}
.nav{display:flex;align-items:center;gap:32px;font:600 15px/1 var(--f-label);letter-spacing:.1em;text-transform:uppercase}
.nav a{text-decoration:none}
.nav a:hover{color:var(--signal)}
.drop{position:relative}
.drop>summary{list-style:none;cursor:pointer}
.drop>summary::-webkit-details-marker{display:none}
.drop>summary::after{content:" +";color:var(--signal)}
.drop[open]>summary::after{content:" \2212"}
.drop ul{position:absolute;top:calc(100% + 20px);left:-18px;min-width:210px;margin:0;padding:6px 0;list-style:none;background:var(--panel);border-top:2px solid var(--signal)}
.drop li a{display:block;padding:10px 18px}
.btn{display:inline-flex;align-items:center;gap:12px;background:var(--signal);color:var(--on-signal);padding:14px 22px;font:600 15px/1 var(--f-label);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:0;border-radius:0;cursor:pointer}
.btn::after{content:"";width:18px;height:2px;background:currentColor;box-shadow:6px 0 0 0 transparent}
.btn:hover{background:var(--ink);color:var(--ground)}
.btn.line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.btn.line:hover{box-shadow:inset 0 0 0 2px var(--signal)}
.nav .btn{color:var(--on-signal)}
.nav .btn:hover{color:var(--ground)}
.menu-m{display:none}
@media (max-width:900px){
  .nav{display:none}
  .menu-m{display:block}
  .menu-m>summary{list-style:none;cursor:pointer;font:600 15px/1 var(--f-label);letter-spacing:.1em;text-transform:uppercase;padding:10px 0}
  .menu-m>summary::-webkit-details-marker{display:none}
  .menu-m .panel{position:absolute;left:0;right:0;top:80px;background:var(--panel);padding:8px var(--gut) 24px;border-top:2px solid var(--signal)}
  .menu-m .panel a{display:block;padding:12px 0;border-bottom:1px solid var(--rule);text-decoration:none;font:600 16px/1.2 var(--f-label);letter-spacing:.08em;text-transform:uppercase}
}

/* hero */
.hero{position:relative;background:var(--ground)}
.hero-img{position:relative}
.hero-img img{width:100%;aspect-ratio:16/8;object-fit:cover;object-position:50% 40%}
.hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,13,20,.75) 0%,rgba(10,13,20,0) 22%,rgba(10,13,20,0) 45%,var(--ground) 100%)}
.hero-copy{position:relative;margin-top:-22vw;padding-bottom:56px;z-index:2}
.hero-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:end}
.hero h1{grid-column:1 / span 8;font-weight:700;font-size:clamp(48px,10vw,140px);line-height:.86;letter-spacing:-0.01em}
.hero .lead{grid-column:1 / span 6;font-size:19px;line-height:1.5;color:var(--ink);margin:24px 0 28px;max-width:34em}
.hero .actions{grid-column:1 / span 6;display:flex;gap:12px;flex-wrap:wrap}
.rail{grid-column:9 / span 4;grid-row:1 / span 3;align-self:end;border-left:1px solid var(--rule);padding-left:20px}
.rail dl{margin:0}
.rail div{padding:12px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:baseline}
.rail dt{font:600 13px/1.2 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--soft);grid-column:1 / -1}
.rail dd{margin:0;font:600 30px/1 var(--f-display);text-transform:uppercase}
.rail dd small{font:500 14px/1.2 var(--f-text);text-transform:none;color:var(--soft);margin-left:6px}
.cap{font-size:13px;color:var(--soft);margin-top:28px;display:block}
@media (max-width:900px){
  .hero-img img{aspect-ratio:4/3}
  .hero-copy{margin-top:-18vw}
  .hero h1,.hero .lead,.hero .actions,.rail{grid-column:1 / -1}
  .rail{grid-row:auto;border-left:0;padding-left:0;margin-top:32px;border-top:1px solid var(--rule)}
}

/* process strip */
.procs{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--panel)}
.procs ul{list-style:none;margin:0 auto;padding:0 var(--gut);max-width:var(--max);display:flex;flex-wrap:wrap}
.procs li{padding:18px 22px 18px 0;margin-right:22px;border-right:1px solid var(--rule);font:600 15px/1 var(--f-label);letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}
.procs li:last-child{border-right:0}
.procs li b{color:var(--signal);font-weight:600;margin-right:8px}

section{padding:112px 0}
.panel{background:var(--panel)}
.split{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
.split h2{grid-column:1 / span 6;font-size:clamp(44px,6vw,88px)}
.split .body{grid-column:7 / span 6;font-size:18px;color:var(--ink)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);margin-top:64px;border:1px solid var(--rule)}
.duo article{background:var(--ground);padding:32px}
.duo h4,.duo .h4{font-size:32px;margin-bottom:14px}
.duo p{color:var(--soft);margin:0}
@media (max-width:900px){
  section{padding:72px 0}
  .split h2,.split .body{grid-column:1 / -1}
  .duo{grid-template-columns:1fr;margin-top:40px}
  .duo article{padding:24px}
}

/* gamechanging */
.gc-top{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:end;margin-bottom:56px}
.gc-top h3,.gc-top .h3{grid-column:1 / span 7;font-size:clamp(44px,6vw,88px)}
.gc-top .who{grid-column:9 / span 4;display:flex;gap:16px;align-items:center}
.gc-top .who img{width:84px;height:96px;object-fit:cover;object-position:50% 15%}
.gc-top .who p{margin:0;font-size:14px;color:var(--soft)}
.gc-top .who b{display:block;color:var(--ink);font:600 20px/1.1 var(--f-display);text-transform:uppercase}
.gc-body{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
.gc-body .intro{grid-column:1 / span 5}
.gc-body .intro strong{font:600 28px/1.1 var(--f-display);text-transform:uppercase;display:block;margin-bottom:16px;color:var(--signal)}
.gc-body .intro p{font-size:18px}
.gc-shots{grid-column:7 / span 6;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gc-shots img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4}
.gc-shots img.wide{grid-column:1 / -1;aspect-ratio:16/9}
.specs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);margin-top:64px}
.specs article{padding:28px 28px 0 0;border-right:1px solid var(--rule);margin-right:28px}
.specs article:last-child{border-right:0;margin-right:0}
.specs h6,.specs .h6{font:600 22px/1.1 var(--f-display);margin-bottom:12px}
.specs p{color:var(--soft);font-size:15px}
@media (max-width:900px){
  .gc-top h3,.gc-top .h3,.gc-top .who,.gc-body .intro,.gc-shots{grid-column:1 / -1}
  .gc-top{margin-bottom:32px}
  .specs{grid-template-columns:1fr;margin-top:40px}
  .specs article{border-right:0;margin-right:0;border-bottom:1px solid var(--rule);padding:24px 0 8px}
}

/* applications - full bleed rows */
.app{position:relative;border-top:1px solid var(--rule)}
.app img{width:100%;aspect-ratio:21/8;object-fit:cover}
.app .tag{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,var(--scrim),rgba(6,8,12,0));padding:96px 0 28px}
.app .tag .wrap{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.app h3,.app .h3{font-size:clamp(40px,6vw,96px);font-weight:700}
.app a{text-decoration:none}
.app a:hover h3,.app a:hover .h3{color:var(--signal)}
.app p{margin:0;max-width:30em;color:var(--ink);font-size:14px}
@media (max-width:900px){.app img{aspect-ratio:4/3}.app .tag{padding-top:64px}}

/* fleet table */
.fleet{border-collapse:collapse;width:100%;margin-top:40px}
.fleet th,.fleet td{text-align:left;padding:18px 16px 18px 0;border-bottom:1px solid var(--rule);vertical-align:baseline}
.fleet thead th{font:600 13px/1.2 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.fleet tbody th{font:600 34px/1 var(--f-display);text-transform:uppercase}
.fleet tbody th i{display:inline-block;width:10px;height:28px;margin-right:14px;vertical-align:-3px}
.fleet td{font:500 18px/1.3 var(--f-text)}
.fleet .range{width:38%}
.track{position:relative;height:10px;background:var(--steel)}
.track b{position:absolute;top:0;bottom:0;left:calc(var(--from) / 17 * 100%);width:calc((var(--to) - var(--from)) / 17 * 100%);background:var(--c)}
.track-scale{display:flex;justify-content:space-between;font:500 12px/1 var(--f-label);color:var(--soft);margin-top:8px;letter-spacing:.06em}
@media (max-width:900px){
  .fleet thead{display:none}
  .fleet,.fleet tbody,.fleet tr,.fleet th,.fleet td{display:block;width:100%}
  .fleet tr{padding:20px 0;border-bottom:1px solid var(--rule)}
  .fleet th,.fleet td{border:0;padding:4px 0}
  .fleet .range{width:100%;padding-top:12px}
}

/* testimonials */
.q-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
.q-grid h3,.q-grid .h3{grid-column:1 / span 4;font-size:clamp(36px,4vw,56px)}
.q-list{grid-column:5 / span 8}
.q-list blockquote{margin:0;padding:28px 0;border-top:1px solid var(--rule);display:grid;grid-template-columns:1fr 180px;gap:24px}
.q-list blockquote:last-child{border-bottom:1px solid var(--rule)}
.q-list p{font:500 26px/1.25 var(--f-display);text-transform:none;margin:0}
.q-list footer{font-size:14px;color:var(--soft)}
.q-list footer b{display:block;color:var(--ink);font:600 18px/1.2 var(--f-label);letter-spacing:.06em;text-transform:uppercase}
@media (max-width:900px){.q-grid h3,.q-grid .h3,.q-list{grid-column:1 / -1}.q-list blockquote{grid-template-columns:1fr;gap:12px}.q-list p{font-size:22px}}

/* cta */
.cta{background:var(--signal);color:var(--on-signal);padding:72px 0}
.cta .wrap{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:end}
.cta h3,.cta .h3{grid-column:1 / span 9;color:var(--on-signal);font-size:clamp(30px,3.6vw,52px);line-height:1.02}
.cta .go{grid-column:10 / span 3;justify-self:end}
.cta .btn{background:var(--ground);color:var(--ink)}
.cta .btn:hover{background:var(--ink);color:var(--ground)}
.cta :focus-visible{outline-color:var(--ground)}
@media (max-width:900px){.cta h3,.cta .h3,.cta .go{grid-column:1 / -1;justify-self:start}}

/* faq */
.faq-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
.faq-grid h3,.faq-grid .h3{grid-column:1 / span 4;font-size:clamp(36px,4vw,56px)}
.faq{grid-column:5 / span 8}
.faq details{border-top:1px solid var(--rule)}
.faq details:last-child{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px;padding:22px 0;font:600 24px/1.15 var(--f-display);text-transform:uppercase}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--signal);font-size:28px;line-height:.8}
.faq details[open] summary::after{content:"\2212"}
.faq .a{color:var(--soft);padding-bottom:24px;max-width:46em}
@media (max-width:900px){.faq-grid h3,.faq-grid .h3,.faq{grid-column:1 / -1}.faq summary{font-size:20px}}

/* news */
.news-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.news-head h2{font-size:clamp(36px,4vw,56px)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
.card{background:var(--ground);text-decoration:none;display:flex;flex-direction:column}
.card img{aspect-ratio:16/10;object-fit:cover;width:100%}
.card .t{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.card h4,.card .h4{font:600 22px/1.1 var(--f-display);text-transform:uppercase}
.card .more{margin-top:auto;font:600 13px/1 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--signal)}
.card:hover h4,.card:hover .h4{color:var(--signal)}
.card.noimg .t{padding-top:28px;border-top:6px solid var(--steel)}
@media (max-width:1000px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cards{grid-template-columns:1fr}}

/* newsletter */
.signup{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:end}
.signup h3,.signup .h3{grid-column:1 / span 5;font-size:30px;line-height:1.05}
.signup form{grid-column:7 / span 6;display:grid;grid-template-columns:1fr 1fr auto;gap:0}
.signup label{display:flex;flex-direction:column;gap:6px;font:600 12px/1 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.signup input{font:400 16px/1 var(--f-text);padding:14px;border:1px solid var(--rule);background:var(--steel);color:var(--ink);border-radius:0;min-width:0}
.signup input::placeholder{color:var(--soft)}
.signup input:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}
.signup .btn{height:46px;align-self:end}
.signup .ok{grid-column:1 / -1;font-size:14px;margin:12px 0 0;min-height:1.4em;color:var(--soft)}
@media (max-width:900px){.signup h3,.signup .h3,.signup form{grid-column:1 / -1}.signup form{grid-template-columns:1fr;gap:12px}}

/* footer */
.foot{background:#06080D;padding:72px 0 32px;font-size:14px;color:var(--soft);border-top:1px solid var(--rule)}
.foot-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
.foot-brand{grid-column:1 / span 4}
.foot-brand p{margin-top:20px;max-width:22em}
.foot-col{grid-column:span 2}
.foot h5,.foot .h5{font:600 13px/1.2 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-bottom:14px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{padding:4px 0}
.foot a{color:var(--soft);text-decoration:none}
.foot a:hover{color:var(--ink)}
.legal{margin-top:56px;padding-top:20px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
.legal ul{display:flex;flex-wrap:wrap;gap:6px 22px}
@media (max-width:900px){.foot-brand{grid-column:1 / -1}.foot-col{grid-column:span 6}}

@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}

/* ===== Site additions (Zephyr, 14 Oct 2026) - derived from the v3 tokens, type and components above ===== */
.skip{position:absolute;left:-9999px;top:0;z-index:20;background:var(--signal);color:var(--on-signal);padding:10px 14px;font:600 14px/1 var(--f-label)}
.skip:focus{left:8px;top:8px}
.top.solid{position:relative;background:var(--ground);border-bottom:1px solid var(--rule)}
.nav .lang,.menu-m .lang{color:var(--soft)}
.nav .cur{color:var(--signal)}
.hero .lead{text-wrap:pretty}
.hero .cap{margin-top:20px}
/* page hero (inner templates) */
.phero{position:relative;background:var(--ground);border-bottom:1px solid var(--rule)}
.phero .media img{width:100%;aspect-ratio:21/8;object-fit:cover}
.phero .media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,13,20,.7) 0%,rgba(10,13,20,0) 30%,rgba(10,13,20,.15) 55%,var(--ground) 100%)}
.phero .media{position:relative}
.phero .copy{position:relative;z-index:2;padding-top:56px;padding-bottom:48px}
.phero.has-media .copy{margin-top:-12vw}
.phero h1{font-weight:700;font-size:clamp(44px,7.4vw,112px);line-height:.88;max-width:14em;overflow-wrap:anywhere}
.phero .kicker{margin-bottom:18px}
.phero .meta{margin-top:20px;color:var(--soft);font-size:14px;display:flex;flex-wrap:wrap;gap:6px 18px}
.phero .meta a{color:var(--soft)}
@media (max-width:900px){.phero .media img{aspect-ratio:4/3}.phero.has-media .copy{margin-top:-18vw}.phero .copy{padding-top:40px;padding-bottom:32px}}
/* prose */
.prose-wrap{padding-top:72px;padding-bottom:96px}
.prose{max-width:760px}
.prose>*{margin:0 0 1.1em}
.prose h1,.prose h2{font-size:clamp(34px,4.4vw,60px);margin:1.4em 0 .5em;font-weight:700}
.prose h3{font-size:clamp(28px,3vw,42px);margin:1.3em 0 .5em}
.prose h4{font-size:26px;margin:1.2em 0 .45em}
.prose h5,.prose h6{font-size:20px;margin:1.1em 0 .4em;color:var(--signal)}
.prose>:first-child{margin-top:0}
.prose p,.prose li{font-size:18px;line-height:1.65;overflow-wrap:break-word}
.prose a{color:var(--ink);text-decoration-color:var(--signal);text-decoration-thickness:2px}
.prose a:hover{color:var(--signal)}
.prose strong{font-weight:600}
.prose ul,.prose ol{padding-left:1.2em}
.prose li{margin:.3em 0}
.prose li::marker{color:var(--signal)}
.prose blockquote{margin:1.6em 0;padding:4px 0 4px 24px;border-left:3px solid var(--signal)}
.prose blockquote p{font:500 24px/1.3 var(--f-display)}
.prose figure{margin:2em 0}
.prose figure img{width:100%;height:auto;background:var(--panel)}
.prose .gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:2em 0;max-width:none;align-items:start}
.prose .gallery figure{margin:0}
.prose .gallery img{height:auto}
.prose .gallery:has(figure:nth-child(3)) img{aspect-ratio:4/3;object-fit:cover}
.prose .stat{display:inline-block;margin:0 8px 8px 0;padding:14px 18px;background:var(--panel);border-left:3px solid var(--signal);font:600 18px/1.2 var(--f-label);letter-spacing:.06em;text-transform:uppercase}
.prose .tab{border-top:1px solid var(--rule);padding-top:28px;margin-top:28px}
.prose .tab h3{margin-top:.2em}
.prose .cta-link{margin:1.6em 0}
.prose .cta-link .btn{color:var(--on-signal);text-decoration:none}
.prose .cta-link .btn:hover{color:var(--ground)}
.prose .embed-link a{font-weight:600}
.prose details{border-top:1px solid var(--rule);margin:0}
.prose details:last-of-type{border-bottom:1px solid var(--rule)}
.prose summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px;padding:20px 0;font:600 22px/1.15 var(--f-display);text-transform:uppercase}
.prose summary::-webkit-details-marker{display:none}
.prose summary::after{content:"+";color:var(--signal);font-size:26px;line-height:.8}
.prose details[open] summary::after{content:"\2212"}
.prose details .a{color:var(--soft);padding-bottom:20px}
.prose details .a p{font-size:17px}
.prose [lang="en"]{}
.note{border-left:3px solid var(--signal);background:var(--panel);padding:14px 18px;color:var(--soft);font-size:15px;margin:0 0 32px;max-width:760px}
/* video */
.vid{margin:2em 0}
.vid video{width:100%;height:auto;background:#000;display:block}
.vid a.yt{position:relative;display:block;text-decoration:none}
.vid a.yt img{width:100%;aspect-ratio:16/9;object-fit:cover;opacity:.85}
.vid a.yt span{position:absolute;left:0;bottom:0;background:var(--signal);color:var(--on-signal);padding:14px 20px;font:600 15px/1 var(--f-label);letter-spacing:.1em;text-transform:uppercase}
.vid a.yt:hover img{opacity:1}
.vid .vt{display:block;font-size:13px;color:var(--soft);margin-top:8px}
/* forms */
.form{display:grid;gap:16px;max-width:640px}
.form label{display:flex;flex-direction:column;gap:6px;font:600 12px/1 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.form input,.form textarea{font:400 16px/1.4 var(--f-text);padding:14px;border:1px solid var(--rule);background:var(--steel);color:var(--ink);border-radius:0;width:100%}
.form textarea{min-height:160px;resize:vertical}
.form input:focus-visible,.form textarea:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .ok{min-height:1.4em;color:var(--soft);font-size:14px;margin:0}
@media (max-width:600px){.form .row2{grid-template-columns:1fr}}
.contact-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
.contact-grid .form{grid-column:1 / span 7}
.contact-grid aside{grid-column:9 / span 4;color:var(--soft)}
.contact-grid aside a{color:var(--ink)}
@media (max-width:900px){.contact-grid .form,.contact-grid aside{grid-column:1 / -1}}
/* ROI */
.roi{background:var(--panel);border:1px solid var(--rule);padding:28px;margin:2em 0;display:grid;gap:18px;max-width:760px}
.roi label{display:flex;flex-direction:column;gap:8px;font-size:16px;color:var(--ink)}
.roi label small{color:var(--soft);font-size:13px}
.roi input{font:500 20px/1.2 var(--f-text);padding:12px 14px;border:1px solid var(--rule);background:var(--steel);color:var(--ink);border-radius:0;max-width:280px}
.roi output{font:600 34px/1 var(--f-display);color:var(--signal)}
.roi .sec{font:600 20px/1.1 var(--f-display);text-transform:uppercase;border-top:1px solid var(--rule);padding-top:18px}
.roi .res{display:flex;flex-direction:column;gap:8px}
/* cards / lists */
.cards.grid3{grid-template-columns:repeat(3,1fr)}
@media (max-width:1000px){.cards.grid3{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cards.grid3{grid-template-columns:1fr}}
.card .cat{font:600 12px/1.2 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.pager{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid var(--rule);padding-top:28px;margin-top:56px;max-width:760px}
.pager a{text-decoration:none;max-width:48%}
.pager a b{display:block;font:600 13px/1.2 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--signal);margin-bottom:6px}
.pager a span{font:600 20px/1.15 var(--f-display);text-transform:uppercase}
@media (max-width:600px){.pager a{max-width:100%}}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(36px,4vw,56px)}
.e404{padding:80px 0 120px}
.e404 .big{font:700 clamp(96px,20vw,240px)/.85 var(--f-display);color:var(--signal)}


.card h3{margin:0}
.signup h2{margin:0}

/* legal review 14 Oct: prototype label + caption (Detlev A5), privacy notes under forms (Tamsin) */
.rail .proto{display:inline-block;margin-left:8px;padding:2px 6px;border:1px solid var(--rule);color:var(--soft);font-size:11px;letter-spacing:.1em}
.caption{font-size:14px;color:var(--soft);margin:16px 0 0;max-width:46em}
.form-note{font-size:13px;line-height:1.5;color:var(--soft);margin:8px 0 0}
.form-note a{color:var(--ink)}
.signup .form-note{grid-column:1 / -1}
