@font-face{font-family:'Space Grotesk';font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/space-grotesk-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/space-grotesk-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/space-grotesk-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-display:swap;font-weight:700;src:url(../fonts/space-grotesk-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Work Sans';font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/work-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Work Sans';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/work-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Work Sans';font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/work-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/jetbrains-mono-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/jetbrains-mono-latin-500-normal.woff2) format('woff2')}

/* Layout: site header → one routed view at a time (landing / system page / compare / selector), 1180px column, dark-only per agreed Neotec direction */
:root{
  --bg:#0a1318; --surface:#0f1c23; --surface2:#142630; --line:#1f3743;
  --fg:#e7f0f4; --muted:#93a9b4; --accent:#139acc; --accent2:#2a93be; --accentSoft:rgba(19,154,204,.14);
  --pro:#5cc596; --con:#d9645a; --flag:#5fc3ea;
  --cta:#f2a93b; --ctaHover:#f6bb5c; --ctaInk:#0a1318;
  --display:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;
  --body:"Work Sans",ui-sans-serif,system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font:16px/1.6 var(--body);margin:0}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding-inline:24px}
@media (max-width:600px){.wrap{padding-inline:16px}}
h1,h2,h3,h4{font-family:var(--display);line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,5vw,3.6rem);font-weight:600}
h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:600}
h3{font-size:1.2rem;font-weight:600}
p{margin:0}
.eyebrow{font:500 .74rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.muted{color:var(--muted)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}

/* Header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(10,19,24,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hbar{display:flex;align-items:center;gap:24px;min-height:68px;flex-wrap:wrap;padding-block:10px}
.brand{font:700 1.35rem/1 var(--display);letter-spacing:.02em;text-decoration:none;display:flex;align-items:center;gap:10px}
.brand i{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#6fd0f3,var(--accent) 55%,#0b5f80);display:inline-block}
nav.main{display:flex;gap:4px;flex-wrap:wrap;flex:1}
nav.main a{text-decoration:none;color:var(--muted);font:500 .92rem var(--display);padding:8px 12px;border-radius:6px}
nav.main a:hover{color:var(--fg)}
nav.main a.on{color:var(--fg);background:var(--surface2)}
.hcta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.tel{font:500 .9rem var(--mono);color:var(--fg);text-decoration:none;white-space:nowrap}
.btn{display:inline-flex;align-items:center;gap:8px;font:600 .95rem var(--display);padding:12px 20px;border-radius:8px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,transform .15s}
.btn.primary{background:var(--cta);color:var(--ctaInk)}
.btn.primary:hover{background:var(--ctaHover)}
.btn.ghost{border-color:var(--line);color:var(--fg);background:transparent}
.btn.ghost:hover{border-color:var(--accent)}
.btn.sm{padding:9px 14px;font-size:.85rem}
@media (max-width:860px){nav.main{order:3;flex-basis:100%;overflow-x:auto;flex-wrap:nowrap}}

/* Breadcrumb / subnav */
.subnav{border-bottom:1px solid var(--line);background:var(--surface)}
.subnav .wrap{display:flex;gap:6px;overflow-x:auto;padding-block:10px}
.subnav a{flex:none;text-decoration:none;font:500 .85rem var(--display);color:var(--muted);padding:7px 12px;border-radius:999px;border:1px solid transparent}
.subnav a.on{color:var(--fg);border-color:var(--accent);background:var(--accentSoft)}
.subnav a:hover{color:var(--fg)}

section.view{padding-block:56px 80px}
.stack{display:grid;gap:56px}

/* Landing hero */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero > *{min-width:0}
.hero p.lead{font-size:1.15rem;color:var(--muted);max-width:56ch;margin-top:18px}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-art{aspect-ratio:1.1/1;max-width:100%;border:1px solid var(--line);border-radius:14px;background:radial-gradient(120% 90% at 20% 10%,#12303d 0,var(--surface) 60%);position:relative;overflow:hidden}
.hero-art svg{width:100%;height:100%;display:block}
@media (max-width:860px){.hero{grid-template-columns:1fr}.hero-art{aspect-ratio:1.6/1}}

/* Choice strip */
.split{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.split > div{background:var(--surface);padding:24px 26px;display:grid;gap:8px;min-width:0}
.split h3{display:flex;align-items:center;gap:10px}
.tag{font:500 .7rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:5px 8px;border-radius:4px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.tag.wired{color:#9ad7ef;border-color:#245064}
.tag.wireless{color:#b9e6cf;border-color:#2c5a46}
@media (max-width:700px){.split{grid-template-columns:1fr}}

/* System cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cards .card{padding:18px}
@media (max-width:1100px){.cards{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.cards{grid-template-columns:1fr}}
.card{display:grid;grid-template-rows:auto auto 1fr auto;gap:18px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:14px;text-decoration:none;transition:border-color .2s,transform .2s;min-width:0}
.card:hover{border-color:var(--accent);transform:translateY(-3px)}
.logo-slot{height:92px;border:1.5px dashed #2f5263;border-radius:10px;display:grid;place-items:center;text-align:center;background:repeating-linear-gradient(135deg,transparent 0 10px,rgba(255,255,255,.015) 10px 20px);padding:8px}
.logo-slot b{font:600 1.15rem var(--display);display:block}
.logo-slot small{font:400 .68rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.card .top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.card ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;color:var(--muted);font-size:.95rem}
.card li{display:flex;gap:10px}
.card li::before{content:"";flex:none;width:6px;height:6px;margin-top:.62em;border-radius:50%;background:var(--accent)}
.card .go{font:600 .92rem var(--display);color:var(--accent);display:flex;align-items:center;gap:8px}
.card:hover .go span{transform:translateX(4px)}
.card .go span{transition:transform .2s}

/* Tool promo row */
.promo{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:760px){.promo{grid-template-columns:1fr}}
.promo a{display:grid;gap:10px;padding:26px;border-radius:14px;background:linear-gradient(160deg,var(--surface2),var(--surface));border:1px solid var(--line);text-decoration:none}
.promo a:hover{border-color:var(--accent)}

/* System page */
.sys-hero{display:grid;grid-template-columns:260px 1fr;gap:36px;align-items:start}
.sys-hero > *{min-width:0}
.sys-hero .logo-slot{height:150px}
.sys-hero p.lead{font-size:1.1rem;color:var(--muted);max-width:64ch;margin-top:14px}
.meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
@media (max-width:760px){.sys-hero{grid-template-columns:1fr}.sys-hero .logo-slot{height:110px}}
.facts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.facts div{padding:18px 20px;border-right:1px solid var(--line);min-width:0}
.facts div:last-child{border-right:0}
.facts dt{font:500 .7rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:6px 0 0;font:600 1.05rem/1.3 var(--display)}
@media (max-width:760px){.facts{grid-template-columns:1fr 1fr}.facts div:nth-child(2){border-right:0}.facts div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.two > *{min-width:0}
@media (max-width:760px){.two{grid-template-columns:1fr}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px}
.panel h3{margin-bottom:14px;display:flex;align-items:center;gap:10px}
.list{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.list li{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start}
.list li .mk{font:700 .95rem/1.55 var(--mono)}
.pros .mk{color:var(--pro)} .cons .mk{color:var(--con)}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.caps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.caps > div{background:var(--surface);padding:20px;display:grid;gap:6px;align-content:start}
.caps h4{font-size:1rem}
.caps p{font-size:.93rem;color:var(--muted)}
@media (max-width:860px){.caps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.caps{grid-template-columns:1fr}}
.variants{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:760px){.variants{grid-template-columns:1fr}}
.variant{border:1px solid var(--line);border-radius:12px;padding:24px;display:grid;gap:12px;align-content:start;background:var(--surface)}
.variant .code{font:500 .78rem var(--mono);color:var(--accent)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{font:500 .82rem var(--display);padding:6px 12px;border-radius:999px;background:var(--surface2);border:1px solid var(--line)}
.neo{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.neo > div{padding:20px 20px 0 0;display:grid;gap:6px;align-content:start}
.neo .n{font:500 .75rem var(--mono);color:var(--accent)}
.neo p{font-size:.93rem;color:var(--muted)}
@media (max-width:760px){.neo{grid-template-columns:1fr 1fr}}
.flag{display:flex;gap:12px;padding:14px 16px;border:1px solid #245064;background:rgba(19,154,204,.07);border-radius:10px;font-size:.9rem;color:#d6ecf5}
.flag b{color:var(--flag);font-family:var(--display)}
.sources{font-size:.85rem;color:var(--muted)}
.sources a{color:var(--accent2)}
.cta-band{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:28px;border-radius:14px;background:linear-gradient(110deg,#0f3446,#0f1c23 70%);border:1px solid #1e4a5d}
.cta-band .btns{display:flex;gap:12px;flex-wrap:wrap}

/* Compare */
.tscroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
table.cmp{border-collapse:collapse;width:100%;min-width:1080px;font-size:.84rem;line-height:1.45}
table.cmp th,table.cmp td{padding:12px 11px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
table.cmp thead th{font:600 .95rem var(--display);background:var(--surface2);position:sticky;top:0}
table.cmp thead th small{display:block;font:400 .72rem var(--mono);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:4px}
table.cmp tbody th{font:500 .78rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);width:118px;background:var(--surface);position:sticky;left:0;z-index:1}
table.cmp tbody tr:last-child > *{border-bottom:0}
.fit{display:inline-flex;gap:3px;vertical-align:middle}
.fit i{width:14px;height:6px;border-radius:2px;background:var(--line)}
.fit i.on{background:var(--accent)}

/* Selector */
.sel{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start}
.sel > *{min-width:0}
@media (max-width:900px){.sel{grid-template-columns:1fr}}
fieldset{border:0;margin:0;padding:0 0 22px;display:grid;gap:10px}
legend{font:600 1rem var(--display);margin-bottom:10px;padding:0}
legend span{font:500 .72rem var(--mono);color:var(--accent);margin-right:10px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt span{display:inline-block;padding:9px 14px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font:500 .9rem var(--display);cursor:pointer;transition:border-color .15s,background .15s}
.opt input:checked + span{border-color:var(--accent);background:var(--accentSoft)}
.opt input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.opt span:hover{border-color:#2f5263}
.result{position:sticky;top:calc(env(safe-area-inset-top,0px) + 90px);display:grid;gap:18px}
.rank{display:grid;gap:10px}
.rank .row{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.rank .row.best{border-color:var(--accent);background:linear-gradient(160deg,#0f3446,var(--surface))}
.rank .bar{grid-column:1/-1;height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.rank .bar i{display:block;height:100%;background:var(--accent);transition:width .35s}
.rank .pct{font:500 .85rem var(--mono);color:var(--muted);font-variant-numeric:tabular-nums}
.why{margin:0;padding-left:18px;color:var(--muted);font-size:.93rem;display:grid;gap:6px}
@media (max-width:900px){.result{position:static}}

footer.site{border-top:1px solid var(--line);padding-block:28px;color:var(--muted);font-size:.85rem}
footer.site .wrap{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@keyframes pulse{0%,100%{opacity:.35}50%{opacity:1}}
.pulse{animation:pulse 2.6s ease-in-out 3}

/* ---- Full-site additions ---- */
.brand{gap:0}
.brand img{height:34px;width:auto;display:block}
.brand .wm{display:flex;align-items:center;gap:10px}
.brand .wm small{font:500 .6rem/1 var(--mono);letter-spacing:.12em;color:var(--flag);border:1px dashed #245064;padding:3px 5px;border-radius:3px}

/* Photo slot: stands in for real project photography */
.photo{position:relative;overflow:hidden;border-radius:12px;background:
  radial-gradient(60% 50% at 70% 30%,rgba(111,208,243,.35),transparent 70%),
  radial-gradient(40% 35% at 25% 70%,rgba(42,147,190,.25),transparent 70%),
  linear-gradient(160deg,#16303c,#0b1a21 70%);
  border:1px solid var(--line);max-width:100%}
.photo::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 62px,rgba(255,255,255,.035) 62px 64px);mask:linear-gradient(to bottom,transparent,#000 40%)}
.photo .ph{position:absolute;left:14px;bottom:12px;font:500 .66rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#cfe6ef;background:rgba(6,14,18,.6);padding:6px 8px;border-radius:4px;border:1px solid rgba(255,255,255,.12)}
.photo.lamp::after{content:"";position:absolute;left:50%;top:0;width:2px;height:34%;background:#3c5a66;transform:translateX(-50%)}
.photo .glow{position:absolute;left:50%;top:34%;width:46%;height:12px;transform:translateX(-50%);border-radius:6px;background:#dff4fb;box-shadow:0 0 40px 12px rgba(111,208,243,.45),0 40px 120px 40px rgba(111,208,243,.18)}

/* Home */
.home-hero{position:relative;border-radius:18px;overflow:hidden;min-height:520px;display:grid;align-items:end}
.home-hero .photo{position:absolute;inset:0;border-radius:0;border:0}
.home-hero .fade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,19,24,.94) 0,rgba(10,19,24,.75) 45%,rgba(10,19,24,.1) 100%)}
.home-hero .inner{position:relative;padding:56px 48px;max-width:720px;display:grid;gap:20px}
.home-hero h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:700;letter-spacing:-.025em;line-height:1.02}
.home-hero h1 em{font-style:normal;color:var(--accent)}
.home-hero p{font-size:1.12rem;color:#c3d4dc;max-width:58ch}
@media (max-width:700px){.home-hero{min-height:560px}.home-hero .inner{padding:32px 22px}.home-hero .fade{background:linear-gradient(0deg,rgba(10,19,24,.96) 0,rgba(10,19,24,.7) 60%,rgba(10,19,24,.2) 100%)}}
.chiprow{display:flex;gap:8px;flex-wrap:wrap}
.chiprow a{text-decoration:none}
.chip.link:hover{border-color:var(--accent)}
.sechead{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.sechead a{font:600 .92rem var(--display);color:var(--accent);text-decoration:none}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.stats > div{padding:22px;border-right:1px solid var(--line);display:grid;gap:6px;align-content:start}
.stats > div:last-child{border-right:0}
.stats b{font:600 1.15rem var(--display)}
.stats p{color:var(--muted);font-size:.92rem}
@media (max-width:860px){.stats{grid-template-columns:1fr 1fr}.stats > div:nth-child(2){border-right:0}.stats > div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:480px){.stats{grid-template-columns:1fr}.stats > div{border-right:0;border-bottom:1px solid var(--line)}.stats > div:last-child{border-bottom:0}}

/* Product grid */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:900px){.pgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pgrid{grid-template-columns:1fr}}
.pcard{display:grid;gap:14px;text-decoration:none;padding:14px 14px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);transition:border-color .2s,transform .2s;align-content:start}
.pcard:hover{border-color:var(--accent);transform:translateY(-3px)}
.pcard .photo{aspect-ratio:4/3}
.pcard .body{display:grid;gap:6px;padding-inline:6px}
.pcard p{color:var(--muted);font-size:.93rem}
.pcard .go{font:600 .88rem var(--display);color:var(--accent)}
.pcard.feature{border-color:#1e4a5d;background:linear-gradient(160deg,#0f3446,var(--surface) 60%)}
.filter{display:flex;gap:8px;flex-wrap:wrap}
.filter button{font:500 .85rem var(--display);padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer}
.filter button[aria-pressed="true"]{color:var(--fg);border-color:var(--accent);background:var(--accentSoft)}
.catlist{display:flex;flex-wrap:wrap;gap:8px}

/* Sectors */
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:240px;gap:16px}
.sgrid .tile{position:relative;border-radius:14px;overflow:hidden;text-decoration:none;display:block}
.sgrid .tile .photo{position:absolute;inset:0;border-radius:0}
.sgrid .tile .cap{position:absolute;inset:auto 0 0 0;padding:18px 20px;background:linear-gradient(0deg,rgba(6,14,18,.95),rgba(6,14,18,0));display:grid;gap:4px}
.sgrid .tile .cap p{color:#c3d4dc;font-size:.9rem}
.sgrid .tile.big{grid-row:span 2;grid-column:span 1}
.sgrid .tile:hover .photo{filter:brightness(1.15)}
.sgrid .tile .ph{top:14px;bottom:auto}
@media (max-width:860px){.sgrid{grid-template-columns:1fr 1fr}.sgrid .tile.big{grid-column:span 2;grid-row:span 1}}
@media (max-width:520px){.sgrid{grid-template-columns:1fr}.sgrid .tile.big{grid-column:span 1}}

/* Projects */
.prgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:900px){.prgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.prgrid{grid-template-columns:1fr}}
.prcard{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface);display:grid;align-content:start}
.prcard .photo{aspect-ratio:16/10;border-radius:0;border:0;border-bottom:1px solid var(--line)}
.prcard .body{padding:18px 20px 20px;display:grid;gap:10px}
.prcard dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:.88rem}
.prcard dt{font:500 .68rem/1.9 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.prcard dd{margin:0;color:#c3d4dc}
.template{font:500 .66rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--flag)}

/* About */
.about-hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.about-hero > *{min-width:0}
.about-hero .photo{aspect-ratio:5/4}
@media (max-width:860px){.about-hero{grid-template-columns:1fr}}
.svc{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.svc > div{background:var(--surface);padding:22px;display:grid;gap:8px;align-content:start}
.svc p{color:var(--muted);font-size:.93rem}
@media (max-width:900px){.svc{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.svc{grid-template-columns:1fr}}
.partners{display:flex;gap:10px;flex-wrap:wrap}
.partners span{font:600 .95rem var(--display);padding:12px 18px;border:1px dashed #2f5263;border-radius:10px;color:var(--muted)}
blockquote.big{margin:0;font:500 clamp(1.4rem,3vw,2rem)/1.25 var(--display);max-width:30ch;text-wrap:balance}
blockquote.big span{color:var(--accent)}

/* About: six services + leasing */
.svc.s3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.svc.s3{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.svc.s3{grid-template-columns:1fr}}
@media (max-width:860px){.neo.lease4{grid-template-columns:1fr 1fr!important}}
@media (max-width:480px){.neo.lease4{grid-template-columns:1fr!important}}
.lfaq{margin:0;display:grid;grid-template-columns:minmax(0,.4fr) minmax(0,1fr);gap:14px 28px}
.lfaq dt{font:600 1rem/1.4 var(--display);color:var(--fg)}
.lfaq dd{margin:0;color:var(--muted)}
@media (max-width:700px){.lfaq{grid-template-columns:1fr;gap:4px}.lfaq dd{margin-bottom:12px}}
.lex{display:grid;gap:22px;padding:28px;border-radius:16px;border:1px solid #1e4a5d;background:linear-gradient(160deg,#0f3446,var(--surface) 65%)}
.lex-head{display:flex;justify-content:space-between;align-items:start;gap:14px;flex-wrap:wrap}
.lex-grid{margin:0;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--line);gap:1px}
.lex-grid > div{background:var(--bg);padding:18px 20px;display:grid;gap:6px;align-content:start;min-width:0}
.lex-grid dt{font:500 .68rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.lex-grid dd{margin:0;font:700 clamp(1.3rem,2.4vw,1.75rem)/1.1 var(--display);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.lex-grid dd.hi{color:var(--accent)}
.lex-grid dd small{display:block;font:400 .82rem/1.4 var(--body);color:var(--muted);letter-spacing:0;margin-top:6px}
.lex-bars{display:grid;gap:10px}
.lb{display:grid;grid-template-columns:150px 1fr 92px;gap:14px;align-items:center;font-size:.9rem;color:#c3d4dc}
.lb i{display:block;height:14px;border-radius:4px;background:var(--accent)}
.lb i.pay{background:#5b7380}
.lb i.net{background:var(--pro)}
.lb b{font:600 .95rem var(--mono);text-align:right;font-variant-numeric:tabular-nums}
.lex-note{font-size:.88rem;color:var(--muted)}
@media (max-width:600px){.lex-grid dd small{font-size:14px!important}.lex-grid dt{font-size:12px!important}}
@media (max-width:860px){.lex-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.lex{padding:20px 16px}.lex-grid{grid-template-columns:1fr}.lb{grid-template-columns:1fr auto;gap:4px 10px}.lb i{grid-column:1/-1;grid-row:2}}
.lex-phase{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.lex-phase > div{padding:14px 18px;display:grid;gap:4px;background:rgba(92,197,150,.07)}
.lex-phase > div.after{background:rgba(92,197,150,.16);border-left:1px solid var(--line)}
.lex-phase span{font:500 .7rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.lex-phase b{font:600 1.15rem var(--display);color:var(--pro)}
.lex-scope h4{font-size:1rem;margin-bottom:8px}
.lex-scope ul{margin:0;padding-left:18px;display:grid;gap:6px;color:#c3d4dc;font-size:.93rem}
.lex-scope a{color:var(--accent)}
@media (max-width:520px){.lex-phase{grid-template-columns:1fr}.lex-phase > div.after{border-left:0;border-top:1px solid var(--line)}}
.lb{grid-template-columns:190px 1fr 92px}
.lex-cmp h4,.lex-scope h4{font-size:1rem;margin-bottom:10px}
.lex-cmp table.spec{min-width:480px}
.lex-cmp tbody th{font:500 .9rem var(--body);color:var(--muted);text-align:left}
.pick{font:500 .6rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#04141c;background:var(--accent);padding:3px 6px;border-radius:4px;margin-left:6px;vertical-align:2px}
/* Home: leasing teaser */
.hlease{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;padding:32px;border-radius:18px;border:1px solid #1e4a5d;background:radial-gradient(70% 120% at 100% 0,rgba(19,154,204,.22),transparent 60%),linear-gradient(150deg,#0f3446,var(--surface) 60%);text-decoration:none;transition:border-color .2s}
.hlease:hover{border-color:var(--accent)}
.hlease > *{min-width:0}
.hl-copy{display:grid;gap:12px;justify-items:start}
.hl-copy h2{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:700;letter-spacing:-.02em}
.hl-copy h2 span{color:var(--accent)}
.hl-copy p{color:#c3d4dc;max-width:52ch}
.hl-copy .go{font:600 .95rem var(--display);color:var(--accent)}
.hlease:hover .go{text-decoration:underline;text-underline-offset:4px}
.hl-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.hl-stats > div{background:var(--bg);padding:16px;display:grid;gap:6px;align-content:start}
.hl-stats b{font:700 clamp(1.2rem,2.1vw,1.55rem)/1 var(--display);color:var(--pro);font-variant-numeric:tabular-nums;white-space:nowrap}
.hl-stats b small{font-size:.55em;font-weight:600;margin-left:2px}
.hl-stats span{font-size:.82rem;color:var(--muted);line-height:1.35}
.hl-stats em{grid-column:1/-1;background:var(--bg);padding:10px 16px;font:500 .68rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-style:normal}
@media (max-width:900px){.hlease{grid-template-columns:1fr;padding:24px}}
@media (max-width:520px){.hl-stats{grid-template-columns:1fr}.hl-stats b small{font-size:.55em!important}.hl-stats em{font-size:12px!important}}
@media (max-width:600px){.hlease{display:grid!important}}
/* Contact */
.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:start}
.contact > *{min-width:0}
@media (max-width:860px){.contact{grid-template-columns:1fr}}
.cinfo{display:grid;gap:18px}
.cinfo .row{display:grid;gap:4px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.cinfo .row:last-child{border-bottom:0}
.cinfo .k{font:500 .7rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cinfo .v{font:500 1.05rem/1.5 var(--display)}
.copy{font:500 .75rem var(--mono);background:none;border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:4px 8px;cursor:pointer;justify-self:start}
.copy:hover{border-color:var(--accent);color:var(--fg)}
.tabs{display:flex;gap:4px;padding:4px;background:var(--surface2);border-radius:10px;border:1px solid var(--line);width:max-content;max-width:100%;flex-wrap:wrap}
.tabs button{font:600 .9rem var(--display);padding:10px 16px;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--accent);color:#04141c}
/* contact form enquiry tabs: amber, matching the Datasheet (PDF) button */
.tabs[aria-label="Enquiry type"] button[aria-selected="true"]{background:var(--cta);color:var(--ctaInk)}
.tabs[aria-label="Enquiry type"] button[aria-selected="true"]:hover{background:var(--ctaHover)}
.tabs[aria-label="Enquiry type"] button[aria-selected="false"]:hover{color:var(--fg)}
form.cf{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
form.cf .full{grid-column:1/-1}
form.cf label{display:grid;gap:6px;font:500 .82rem var(--display);color:var(--muted)}
form.cf input,form.cf select,form.cf textarea{font:400 .95rem var(--body);color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:11px 12px;width:100%}
form.cf input:focus,form.cf select:focus,form.cf textarea:focus{outline:none;border-color:var(--accent)}
form.cf textarea{min-height:110px;resize:vertical}
@media (max-width:560px){form.cf{grid-template-columns:1fr}}
.prefill{grid-column:1/-1;display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 14px;border-radius:10px;border:1px solid #1e4a5d;background:var(--accentSoft);font-size:.9rem}
.toast{padding:12px 14px;border-radius:10px;border:1px solid #2c5a46;background:rgba(92,197,150,.08);color:#cdeede;font-size:.92rem}

/* Showcase bar */
.tour{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30;display:flex;align-items:center;gap:6px;padding:6px;border-radius:999px;background:rgba(15,28,35,.94);border:1px solid var(--line);backdrop-filter:blur(8px);box-shadow:0 10px 30px rgba(0,0,0,.4);max-width:calc(100% - 32px)}
.tour button{font:600 .82rem var(--display);border:0;background:var(--surface2);color:var(--fg);padding:9px 14px;border-radius:999px;cursor:pointer;white-space:nowrap}
.tour button:hover{background:var(--accent);color:#04141c}
.tour .pos{font:500 .75rem var(--mono);color:var(--muted);padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.tour .x{background:transparent;color:var(--muted);padding:9px 10px}
.tour-open{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30}
footer.site{padding-bottom:90px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;padding-block:20px 10px}
.fgrid > div{display:grid;gap:8px;align-content:start}
.fgrid a{text-decoration:none;color:var(--muted)}
.fgrid a:hover{color:var(--fg)}
.fgrid h4{font-size:.8rem;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg);font-weight:500}
@media (max-width:760px){.fgrid{grid-template-columns:1fr 1fr}}
[hidden]{display:none!important}
/* Real imagery from neotechnologies.co.uk */
.photo.has-img{background:#0b1a21}
.photo.has-img::before{display:none}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.photo.drawing{background:radial-gradient(75% 65% at 50% 45%,#17405a,#0b1a21 78%)}
.photo.drawing img{object-fit:contain;padding:11%;transition:transform .3s}
.pcard:hover .photo.drawing img{transform:scale(1.04)}
.sgrid .tile .photo.has-img img{filter:brightness(.82) saturate(.95);transition:transform .4s}
.sgrid .tile:hover .photo.has-img img{transform:scale(1.03)}
.prcard .photo.has-img img{filter:brightness(.9)}
.home-hero .photo.has-img img{object-position:62% 50%}
.sgrid .tile .cap{background:linear-gradient(0deg,rgba(6,14,18,.97) 15%,rgba(6,14,18,.7) 60%,rgba(6,14,18,0));padding-top:48px}
.sgrid .tile .cap h3,.sgrid .tile .cap p{text-shadow:0 1px 8px rgba(0,0,0,.6)}
.need{position:absolute;right:12px;top:12px;font:500 .62rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--flag);border:1px dashed #245064;background:rgba(6,14,18,.7);padding:5px 7px;border-radius:4px}
.home-hero .photo.lamp::after{left:74%}
.home-hero .glow{left:74%;width:34%}
@media (max-width:700px){.home-hero .glow,.home-hero .photo.lamp::after{display:none}}

.gl2{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0}.gl2>div{background:var(--bg);padding:16px 18px;min-width:0}.gl2 dt{font:500 .68rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.gl2 dd{margin:6px 0 0;font:600 1rem/1.35 var(--display)}
/* Case study page */
.cs-hero{position:relative;border-radius:18px;overflow:hidden;min-height:460px;display:grid;align-items:end}
.cs-hero .photo{position:absolute;inset:0;border-radius:0;border:0}
.cs-hero .fade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,19,24,.96) 0,rgba(10,19,24,.72) 45%,rgba(10,19,24,.15) 100%)}
.cs-hero .inner{position:relative;padding:44px 44px 40px;max-width:820px;display:grid;gap:16px}
.cs-hero h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:700;letter-spacing:-.02em}
.cs-hero p{color:#c3d4dc;font-size:1.08rem;max-width:60ch}
@media (max-width:700px){.cs-hero{min-height:420px}.cs-hero .inner{padding:26px 20px}}
.crumb{font:500 .8rem var(--mono);color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}
.crumb a{color:var(--accent2);text-decoration:none}
.glance{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0}
.glance > div{padding:16px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.glance > div:nth-child(4n){border-right:0}
.glance > div:nth-last-child(-n+4){border-bottom:0}
.glance dt{font:500 .68rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.glance dd{margin:6px 0 0;font:600 1rem/1.35 var(--display)}
@media (max-width:760px){.glance{grid-template-columns:1fr 1fr}.glance > div{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}.glance > div:nth-child(2n){border-right:0!important}}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.kpi{padding:22px;border-radius:12px;border:1px solid #1e4a5d;background:linear-gradient(160deg,#0f3446,var(--surface) 70%);display:grid;gap:6px;align-content:start}
.kpi b{font:700 clamp(1.8rem,3.6vw,2.6rem)/1 var(--display);color:var(--fg);letter-spacing:-.02em}
.kpi b small{font-size:.5em;font-weight:600;color:var(--accent);margin-left:4px}
.kpi span{color:#c3d4dc;font-size:.93rem}
.kpi em{font:500 .66rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-style:normal}
@media (max-width:860px){.kpis{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.kpis{grid-template-columns:1fr}}
.story{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.story > *{min-width:0}
.story .panel p{color:#c3d4dc;margin-top:10px}
.story .panel p.ph{color:var(--muted);font-style:italic}
@media (max-width:760px){.story{grid-template-columns:1fr}}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ba figure{margin:0;display:grid;gap:8px}
.ba figure .photo{aspect-ratio:4/3}
.ba figcaption{font:500 .72rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gal .photo{aspect-ratio:4/3}
@media (max-width:640px){.ba,.gal{grid-template-columns:1fr}}
.cs-quote{padding:34px 36px;border-radius:14px;border:1px solid var(--line);background:var(--surface);display:grid;gap:16px}
.cs-quote cite{font-style:normal;color:var(--muted);font-size:.92rem}
.tnote{display:block;font:500 .74rem/1.5 var(--mono);color:#d6ecf5;background:rgba(19,154,204,.07);border:1px dashed #245064;border-radius:8px;padding:8px 10px;margin-top:10px}
.tnote::before{content:"Template · ";color:var(--flag)}
body.clean .tnote{display:none}
.prcard{text-decoration:none;transition:border-color .2s,transform .2s}
a.prcard:hover{border-color:var(--accent);transform:translateY(-3px)}
.prcard .go{font:600 .88rem var(--display);color:var(--accent)}

/* ---- v7: product catalogue + product specification pages ---- */
.studio{position:relative;border-radius:12px;background:radial-gradient(ellipse 85% 95% at 50% 60%,#d9d9d9 0%,#bdbdbd 60%,#a3a3a3 100%);aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line)}
.studio img{position:absolute;inset:9% 8% 13%;width:84%;height:78%;object-fit:contain;object-position:center;display:block;transition:transform .3s;filter:drop-shadow(0 12px 14px rgba(0,0,0,.22))}
.studio img[src^="data:"],.stage img[src^="data:"],.studio img[src*="/assets/img/"],.stage img[src*="/assets/img/"]{mix-blend-mode:multiply;filter:none}
.studio .ph{position:absolute;left:12px;bottom:10px;font:500 .62rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#30505e;background:rgba(255,255,255,.7);padding:5px 7px;border-radius:4px}
.studio.noimg::before{content:"";width:46%;height:10px;border-radius:5px;background:#9fb6c1;box-shadow:0 18px 40px 6px rgba(19,154,204,.18)}
.pcard:hover .studio img{transform:scale(1.04)}
.cat-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.search{position:relative;flex:1 1 260px;max-width:420px}
.search input{width:100%;font:400 .95rem var(--body);color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:11px 14px 11px 38px}
.search input:focus{outline:none;border-color:var(--accent)}
.search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);opacity:.6}
.count{font:500 .8rem var(--mono);color:var(--muted)}
.catf{display:flex;gap:8px;flex-wrap:wrap}
.catf button{font:500 .84rem var(--display);padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer}
.catf button small{font:500 .7rem var(--mono);margin-left:6px;opacity:.75}
.catf button[aria-pressed="true"]{color:var(--fg);border-color:var(--accent);background:var(--accentSoft)}
.catf button:hover{color:var(--fg)}
.pgrid.cat{grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){.pgrid.cat{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.pgrid.cat{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.pgrid.cat{grid-template-columns:1fr}}
.pgrid.cat .pcard p{font-size:.88rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.badges{display:flex;gap:6px;flex-wrap:wrap}
.badge{font:500 .64rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 7px;border-radius:4px;border:1px solid var(--line);color:var(--muted)}
.badge.cas{color:#b9e6cf;border-color:#2c5a46}
.badge.dl{color:#9ad7ef;border-color:#245064}
.badge.warn{color:var(--flag);border-color:#245064}
.pd-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}
.pd-hero > *{min-width:0}
@media (max-width:900px){.pd-hero{grid-template-columns:1fr}}
.stage{position:relative;background:radial-gradient(ellipse 85% 95% at 50% 60%,#d9d9d9 0%,#bdbdbd 60%,#a3a3a3 100%);border-radius:16px;border:1px solid var(--line);aspect-ratio:16/11;display:grid;place-items:center;overflow:hidden}
.stage img{position:absolute;inset:10% 6% 8%;width:88%;height:82%;object-fit:contain;object-position:center;display:block;filter:drop-shadow(0 16px 18px rgba(0,0,0,.22))}
.stage svg{width:92%;height:auto}
.stage .lbl{position:absolute;left:14px;top:14px;font:500 .64rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#0b3a4f;background:#e3f3fa;border:1px solid #b9dfef;padding:6px 8px;border-radius:4px}
.stage.noimg::after{content:"Image loads from the live site";font:500 .7rem var(--mono);color:#56707c;position:absolute;bottom:14px}
.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.thumbs button{background:radial-gradient(ellipse 85% 95% at 50% 60%,#d9d9d9 0%,#bdbdbd 60%,#a3a3a3 100%);border:2px solid transparent;border-radius:10px;aspect-ratio:16/10;padding:6px;cursor:pointer;display:grid;place-items:center;overflow:hidden}
.thumbs button[aria-pressed="true"]{border-color:var(--accent)}
.thumbs img,.thumbs svg{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;display:block}
.thumbs img[src^="data:"],.thumbs img[src*="/assets/img/"],.thumbs svg{mix-blend-mode:multiply}
.pd-info{display:grid;gap:18px;align-content:start}
.pd-info h1{font-size:clamp(2.4rem,5vw,3.6rem);font-weight:700;letter-spacing:-.02em;line-height:1}
.pd-info .lead{color:#c3d4dc;font-size:1.04rem}
.kv{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0}
.kv > div{padding:13px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.kv > div:nth-child(2n){border-right:0}
.kv > div:nth-last-child(-n+2):nth-child(odd),.kv > div:last-child{border-bottom:0}
.kv dt{font:500 .64rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.kv dd{margin:5px 0 0;font:600 .98rem/1.3 var(--display)}
.kv-src{font:500 .66rem var(--mono);color:var(--muted);letter-spacing:.06em;margin-top:-10px}
.pd-ctas{display:flex;gap:10px;flex-wrap:wrap}
.ticks{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.ticks li{display:grid;grid-template-columns:18px 1fr;gap:10px;color:#c3d4dc}
.ticks li::before{content:"";width:8px;height:8px;margin-top:.55em;border-radius:2px;background:var(--accent)}
table.spec{border-collapse:collapse;width:100%;font-size:.92rem;font-variant-numeric:tabular-nums;min-width:520px}
table.spec th,table.spec td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line)}
table.spec thead th{font:500 .7rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--surface2)}
table.spec td.code{font-family:var(--mono);color:var(--accent)}
table.spec tbody tr:last-child > *{border-bottom:0}
.dimcard{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px}
.dimcard svg{width:100%;height:auto;display:block}
.whitecard{background:#fff;border-radius:12px;padding:16px;display:grid;place-items:center}
.whitecard img{max-width:100%;height:auto}
.builder{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start}
.builder > *{min-width:0}
@media (max-width:900px){.builder{grid-template-columns:1fr}}
.builder fieldset{padding-bottom:18px}
.bout{position:sticky;top:100px;display:grid;gap:16px;padding:24px;border-radius:14px;border:1px solid #1e4a5d;background:linear-gradient(160deg,#0f3446,var(--surface) 70%)}
.codebox{font:600 clamp(1.3rem,3vw,1.9rem)/1.2 var(--mono);letter-spacing:.02em;word-break:break-all}
.codebox span{color:var(--accent)}
.bout dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.9rem}
.bout dt{font:500 .68rem/1.9 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.bout dd{margin:0;color:#c3d4dc}
@media (max-width:900px){.bout{position:static}}
.dlg{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:820px){.dlg{grid-template-columns:1fr}}
.dlg > *{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;padding:18px;border-radius:12px;border:1px solid var(--line);background:var(--surface);text-decoration:none;transition:border-color .2s,transform .2s}
.dlg a:hover{border-color:var(--accent);transform:translateY(-2px)}
.dlg .ic{width:48px;height:56px;border-radius:6px;background:var(--surface2);border:1px solid var(--line);display:grid;place-items:center;font:600 .66rem var(--mono);color:var(--accent)}
.dlg b{font:600 1rem var(--display);display:block}
.dlg small{font:400 .76rem var(--mono);color:var(--muted);word-break:break-all}
.dlg .missing{border-style:dashed;opacity:.8}
.dlg .missing .ic{color:var(--flag)}
.ctl3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:860px){.ctl3{grid-template-columns:1fr}}
.ctl3 > *{padding:20px;border-radius:12px;border:1px solid var(--line);background:var(--surface);display:grid;gap:8px;align-content:start;text-decoration:none}
.ctl3 a:hover{border-color:var(--accent)}
.ctl3 .code{font:500 .72rem var(--mono);color:var(--accent);letter-spacing:.06em;text-transform:uppercase}
.ctl3 p{color:var(--muted);font-size:.92rem}
.ctl3 .go{font:600 .9rem var(--display);color:var(--accent)}
.rnote{display:block;font:500 .74rem/1.5 var(--mono);color:#d6ecf5;background:rgba(19,154,204,.07);border:1px dashed #245064;border-radius:8px;padding:8px 10px}
.rnote::before{content:"Review · ";color:var(--flag)}
body.clean .rnote,body.clean .rflag{display:none}
.rflag ul{margin:6px 0 0;padding-left:18px;display:grid;gap:4px}
.mini{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
@media (max-width:1000px){.mini{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.mini{grid-template-columns:1fr 1fr}}
.mini a{display:grid;gap:8px;text-decoration:none;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);transition:border-color .2s}
.mini a:hover{border-color:var(--accent)}
.mini .studio{aspect-ratio:1/1}
.mini b{font:600 .95rem var(--display)}
.mini small{font-size:.8rem;color:var(--muted);line-height:1.35}

/* ---- v9: home refocused on controls + bespoke lighting ---- */
.hstats > a{padding:22px;border-right:1px solid var(--line);display:grid;gap:6px;align-content:start;text-decoration:none;transition:background .2s}
.hstats > a:last-child{border-right:0}
.hstats > a:hover{background:var(--surface)}
.hstats .n,.neo .n{font:500 .72rem var(--mono);color:var(--accent);letter-spacing:.08em}
@media (max-width:860px){.hstats > a:nth-child(2){border-right:0}.hstats > a:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:480px){.hstats > a{border-right:0;border-bottom:1px solid var(--line)}.hstats > a:last-child{border-bottom:0}}
.hsys b{font:600 1.1rem var(--display)}
.render{margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:radial-gradient(70% 90% at 55% 45%,#10232c,#000 75%)}
.render img{display:block;width:100%;height:auto;mix-blend-mode:lighten}
.render figcaption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 16px;border-top:1px solid var(--line);font:500 .68rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--surface)}
.hsteps h4{font-size:1.02rem}
.neo.hsteps{grid-template-columns:repeat(5,1fr)}
@media (max-width:1000px){.neo.hsteps{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.neo.hsteps{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.neo.hsteps{grid-template-columns:1fr}}
.circ{display:grid;gap:22px;padding:32px;border-radius:18px;border:1px solid #2c5a46;background:linear-gradient(150deg,rgba(92,197,150,.10),var(--surface) 55%)}
@media (max-width:600px){.circ{padding:22px 18px}}
.circ .eyebrow{color:var(--pro)}
.rrr .rn{font:600 .72rem var(--mono);color:var(--pro);letter-spacing:.1em}
.rrr h4{font-size:1.25rem}
.rrr{grid-template-columns:repeat(3,1fr)}
@media (max-width:760px){.rrr{grid-template-columns:1fr}}
.prodlink{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 24px;border:1px solid var(--line);border-radius:12px;text-decoration:none;background:var(--surface)}
.prodlink > span:first-child{display:grid;gap:8px}
.prodlink b{font:500 1.02rem var(--display)}
.prodlink .go{font:600 .92rem var(--display);color:var(--accent);white-space:nowrap}
.prodlink:hover{border-color:var(--accent)}
#h-controls,#h-bespoke,#h-circular{scroll-margin-top:100px}
#tnToggle,#rnToggle{display:none}

/* ---- WEEE compliance (About + home circular economy) ---- */
.weee{display:grid;gap:28px;scroll-margin-top:12px}
.weee-banner{position:relative;overflow:hidden;border-radius:18px;border:1px solid #1e4a5d;padding:44px 40px;background:linear-gradient(120deg,rgba(19,154,204,.20),rgba(19,154,204,.06) 45%,var(--surface) 80%);display:grid;gap:12px}
.weee-banner::after{content:"";position:absolute;right:-60px;top:-60px;width:340px;height:340px;border-radius:50%;border:34px solid rgba(19,154,204,.10);box-shadow:0 0 0 46px rgba(19,154,204,.05)}
.weee-banner > *{position:relative;z-index:1}
.weee-banner .eyebrow{color:var(--accent)}
.weee-banner h2{font-size:clamp(2.2rem,5.6vw,4rem);font-weight:700;letter-spacing:-.02em;text-transform:uppercase;line-height:1}
.weee-banner p{color:#c3d4dc;max-width:60ch;font-size:1.08rem}
@media (max-width:600px){.weee-banner{padding:28px 20px}.weee-banner::after{width:200px;height:200px;right:-70px;top:-70px}}
.weee-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:36px;align-items:start}
@media (max-width:900px){.weee-body{grid-template-columns:1fr}}
.weee-copy{display:grid;gap:26px}
.weee-copy section{display:grid;gap:10px}
.weee-copy h3{font-size:clamp(1.15rem,2.2vw,1.45rem);line-height:1.25}
.weee-copy p{color:#c3d4dc}
.weee-copy a{color:var(--accent)}
.weee-cert{position:sticky;top:100px;display:grid;gap:16px;justify-items:center;text-align:center;padding:30px 24px;border-radius:16px;border:1px solid var(--line);background:repeating-conic-gradient(from 0deg at 50% 34%,rgba(19,154,204,.07) 0 7.5deg,transparent 7.5deg 15deg),var(--surface)}
@media (max-width:900px){.weee-cert{position:static}}
.badge-slot{width:min(220px,70%);aspect-ratio:1;border-radius:50%;border:2px dashed #2a93be;background:radial-gradient(circle,rgba(19,154,204,.16),rgba(10,19,24,.85) 70%);display:grid;place-items:center;align-content:center;gap:6px;padding:18px}
.badge-slot b{font:700 1.05rem/1.2 var(--display);color:#e3f3fa}
.badge-slot small{font:500 .62rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.badge-slot img{width:100%;height:100%;object-fit:contain}
.badge-slot.has-img{border:0;border-radius:14px;aspect-ratio:auto;width:min(280px,100%);padding:18px 20px;background:radial-gradient(circle,#ffffff,#e4ecef 75%);box-shadow:0 8px 30px rgba(0,0,0,.35)}
.weee-cert .cl{font:500 .68rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.weee-cert .co{font:600 1.15rem/1.3 var(--display)}
.weee-cert .reg{font:600 1.3rem/1.2 var(--mono);color:var(--accent);letter-spacing:.04em;padding:10px 14px;border-radius:8px;border:1px solid #1e4a5d;background:rgba(19,154,204,.08)}
.weee-cert .copy{justify-self:center}
.weee-marks{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.binmark{width:30px;height:36px;color:#c3d4dc;flex:none}
.weee-strip{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 20px;border-radius:12px;border:1px solid #1e4a5d;background:rgba(10,19,24,.55);text-decoration:none;transition:border-color .2s}
.weee-strip:hover{border-color:var(--accent)}
.weee-strip .binmark{color:var(--accent)}
.weee-strip > span:nth-child(2){display:grid;gap:2px;flex:1 1 280px;min-width:0}
.weee-strip b{font:600 1rem var(--display)}
.weee-strip small{font:500 .78rem/1.4 var(--mono);color:var(--muted);letter-spacing:.04em}
.weee-strip .go{font:600 .9rem var(--display);color:var(--accent);white-space:nowrap}
.weee-strip:hover .go{text-decoration:underline;text-underline-offset:4px}


/* ---- v38: engineer-checked specs + missing-download requests ---- */
button.missing.dlreq{font:inherit;color:inherit;text-align:left;cursor:pointer;width:100%;opacity:1;border-style:dashed}
button.missing.dlreq:hover{border-color:var(--accent);border-style:solid}
button.missing.dlreq .ic{color:var(--cta)}
.dlmsg{margin:16px 0 0;padding:14px 16px;border-radius:10px;border:1px solid #1e4a5d;background:var(--accentSoft);color:#d6ecf5;font-size:.95rem}
.dlmsg a{color:var(--accent);font-weight:600}
.spec-tbl th{width:38%;font:500 .78rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.spec-tbl td{color:#c3d4dc}
.kv-ok{font:500 .66rem var(--mono);color:var(--pro);letter-spacing:.06em;margin-top:-10px}
/* ---- v37: bespoke items in the spec pack ---- */
.sp-bsp{display:inline-block;font:500 .66rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#ffd79a;border:1px solid #6b4e1f;background:rgba(242,169,59,.1);padding:4px 6px;border-radius:4px;margin:0 8px 4px 0;vertical-align:2px}
.sp-acts{display:flex;gap:6px;flex:none}
.sp-item .bsp-d{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sp-addb{justify-self:start}
.sp-form textarea{font:400 .95rem/1.5 var(--body);color:var(--fg);background:var(--bg);border:1px solid #628595;border-radius:8px;padding:9px 10px;width:100%;min-width:0;resize:vertical;min-height:96px}
.sp-form textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.bsp-intro{color:var(--muted);font-size:.9rem;line-height:1.5}
.sp-var{background:none;border:0;padding:4px 0;margin-top:2px;color:var(--accent);font:500 .86rem var(--display);text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}
.sp-var:hover{color:var(--fg)}
@media (max-width:600px){.sp-form textarea{font-size:16px}}
.pk-bsp .pk-ph p.bd{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.pk-bimg{margin:13px 0 0;border-radius:11px;overflow:hidden;background:#000}
.pk-bimg img{display:block;width:100%;height:96px;object-fit:cover;mix-blend-mode:lighten}
.pk-bimg figcaption{display:flex;justify-content:space-between;gap:10px;padding:6px 12px;font:500 8.3px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#93a9b4;background:#0a1318}
.pk-bsteps{list-style:none;margin:9px 0 0;padding:0;display:grid;gap:7px}
.pk-bsteps li{display:grid;grid-template-columns:24px 1fr;gap:6px;font-size:10px;line-height:1.42;color:#3c5260}
.pk-bsteps .n{font:500 9.3px/1.5 var(--mono);color:#139acc}
.pk-bsteps b{display:block;font:600 11.5px/1.25 var(--display);color:#0a1318}

@media (min-width:861px){.hflow > a{position:relative}.hflow > a:not(:last-child)::after{content:"";position:absolute;right:-6px;top:50%;width:11px;height:12px;margin-top:-6px;background:var(--accent);clip-path:polygon(0 0,100% 50%,0 100%);z-index:2}}
/* ---- Accessibility fixes (WCAG 2.0 AA / 2.2 AA) ---- */
html{scroll-padding-top:100px;scroll-padding-bottom:90px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--accent);color:#04141c;font:600 .95rem var(--display);padding:10px 16px;border-radius:8px;text-decoration:none}
.skip:focus{top:12px}
main:focus,main h1:focus{outline:none}
form.cf input,form.cf select,form.cf textarea,.search input{border-color:#628595}
form.cf input:focus,form.cf select:focus,form.cf textarea:focus,.search input:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}

/* ===== Phone layout (v23) ===== */
.menu-btn{display:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tel-ic{display:none}
.stack{grid-template-columns:minmax(0,1fr)}
.stack > *{min-width:0}
img,svg,video{max-width:100%}
@media (max-width:860px){
  .hbar{flex-wrap:nowrap;gap:8px;min-height:60px;padding-block:8px}
  .brand{margin-right:auto}
  .brand img{max-height:40px;width:auto}
  .hcta{gap:8px;flex-wrap:nowrap}
  .tel{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:8px;color:var(--accent)}
  .tel .tel-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .tel-ic{display:block}
  .hcta .btn.sm{min-height:44px;padding:10px 12px;white-space:nowrap}
  .cinfo .copy{min-height:36px;padding-inline:12px}
  .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .menu-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface2);color:var(--fg);font:600 .85rem var(--display);cursor:pointer}
  .menu-btn .bars{display:grid;gap:4px}
  .menu-btn .bars i{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s,opacity .2s}
  .menu-btn[aria-expanded="true"] .bars i:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .menu-btn[aria-expanded="true"] .bars i:nth-child(2){opacity:0}
  .menu-btn[aria-expanded="true"] .bars i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;overflow:visible;padding:8px 16px 16px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(0,0,0,.45);max-height:calc(100vh - 70px);overflow-y:auto}
  nav.main.open{display:flex}
  nav.main a{font-size:1.05rem;padding:14px 12px;min-height:48px;border-bottom:1px solid var(--line);border-radius:0}
  nav.main a:last-child{border-bottom:0}
  nav.main a.on{border-left:3px solid var(--accent);background:var(--surface)}
  .subnav .wrap{scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:40px}
  .subnav a{scroll-snap-align:start;min-height:40px;display:inline-flex;align-items:center}
  section.view{padding-block:32px 96px}
  .stack{gap:40px}
}
@media (max-width:600px){
  .eyebrow{font-size:.78rem}
  /* 16px inputs stop iPhone zooming the page on focus */
  input,select,textarea,form.cf input,form.cf select,form.cf textarea,.search input{font-size:16px}
  /* comfortable tap targets for text links */
  main a:not(.btn):not(.tile):not([class*="card"]),footer a{padding-block:6px;display:inline-block}
  p a,li a,td a,dd a{display:inline;padding-block:0}
  .btn{min-height:44px;justify-content:center}
  .pd-ctas,.cta-band .btns{display:grid;grid-template-columns:1fr;gap:10px}
  .pd-ctas .btn{width:100%}
  table.cmp th:first-child,table.cmp td:first-child{position:sticky;left:0;z-index:1;background:var(--surface)}
  .tour{left:8px;right:8px;transform:none;bottom:calc(8px + env(safe-area-inset-bottom,0px));justify-content:space-between}
  .tour .pos{display:none}
  .tour button{padding:10px 12px}
  /* small mono labels and badges: at least 12px on phones */
  .tag,.badge,.code,.rnote,.rn,.n,.lbl,.ph,.need,.ic,.k,.template,small,dt,th,.stage .lbl{font-size:max(12px,1em)!important}
  .badge,.tag,.stage .lbl,.need,.ph{font-size:12px!important}
}
@media (max-width:360px){
  .hcta .btn.sm{padding:10px 9px;font-size:.8rem}
  .menu-btn .menu-lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}

/* ===== v25: amber primary CTAs; phone fix for link cards ===== */
@media (max-width:600px){.ctl3 > a,.mini a,.promo a,.hstats > a,.dlg > a{display:grid!important}.prodlink{display:flex!important}}

/* ===== v27: left edges line up with the logo; sub-navigation fits without sideways scrolling ===== */
html,body{overflow-x:clip}
:root{--edge:max(24px,calc((var(--vw,100vw) - 1180px)/2 + 24px))}
@media (max-width:600px){:root{--edge:16px}}
.home-hero,.cs-hero{margin-inline:calc((100% - var(--vw,100vw))/2);border-radius:0;border-inline:0}
.home-hero .inner,.cs-hero .inner{padding-left:var(--edge);padding-right:24px}
.home-hero .inner{max-width:calc(var(--edge) + 744px)}
.cs-hero .inner{max-width:calc(var(--edge) + 844px)}
@media (max-width:600px){.home-hero .inner,.cs-hero .inner{padding-right:16px}}
.subnav .wrap{flex-wrap:wrap;overflow:visible;gap:4px;-webkit-mask-image:none;mask-image:none;padding-right:24px}
.subnav a{padding:7px 9px}
.subnav .wrap > a:first-child{margin-left:-10px}
@media (max-width:860px){.subnav .wrap{padding-right:16px}}
@media (max-width:600px){.subnav .wrap{padding-right:16px}.subnav a{padding:6px 9px}}

/* comparison and spec tables fit the page (no sideways scrolling) */
@media (min-width:901px){table.cmp{min-width:0;font-size:.8rem}table.cmp th,table.cmp td{padding:10px 8px}table.cmp tbody th{width:96px}}
@media (max-width:900px){
  .tscroll{overflow:visible;border:0;border-radius:0}
  table.cmp{min-width:0;display:block}
  table.cmp thead{display:none}
  table.cmp tbody,table.cmp tr{display:block}
  table.cmp tbody tr{border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden;background:var(--surface)}
  table.cmp tbody tr:last-child > *{border-bottom:1px solid var(--line)}
  table.cmp tbody th,table.cmp th:first-child,table.cmp td:first-child{position:static!important;display:block;width:auto;background:var(--surface2)!important;padding:10px 14px}
  table.cmp td{display:grid;grid-template-columns:minmax(96px,34%) 1fr;gap:10px;padding:10px 14px;background:var(--surface)}
  table.cmp td::before{content:attr(data-label);font:600 .85rem/1.35 var(--display);color:var(--fg)}
  table.spec{min-width:0}
}

/* ===== v28: control systems in a drop-down menu ===== */
.subnav .wrap{flex-wrap:nowrap;align-items:center;position:relative}
.dd{position:relative;flex:none}
.dd-btn{display:inline-flex;align-items:center;gap:8px;font:500 .85rem var(--display);color:var(--muted);background:transparent;border:1px solid transparent;border-radius:999px;padding:7px 12px;cursor:pointer;min-height:36px}
.dd-btn:hover,.dd-btn[aria-expanded="true"]{color:var(--fg)}
.dd-btn.on{color:var(--fg);border-color:var(--accent);background:var(--accentSoft)}
.dd-cur{color:var(--accent);font-weight:600}
.dd-cur:not(:empty)::before{content:"\00b7  ";color:var(--muted);font-weight:400}
.dd-btn .chev{transition:transform .2s}
.dd-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.dd-menu{position:absolute;left:0;top:calc(100% + 8px);z-index:25;display:grid;grid-template-columns:auto auto;gap:4px 18px;min-width:420px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.dd-col{display:grid;gap:2px;align-content:start}
.dd-h{font:500 .68rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);padding:6px 10px 8px}
.subnav .dd-menu a{display:block;border:0;border-radius:8px;padding:9px 10px;color:var(--fg);font:500 .92rem var(--display);white-space:nowrap}
.subnav .dd-menu a:hover{background:var(--surface2)}
.subnav .dd-menu a.on{background:var(--accentSoft);color:var(--fg);box-shadow:inset 3px 0 0 var(--accent)}
@media (max-width:600px){
  .subnav .full{display:none}
  .subnav .cap1{text-transform:capitalize}
  .subnav .wrap{gap:2px;justify-content:space-between}
  .subnav a,.dd-btn{padding:7px 8px;font-size:.84rem}
  .dd-cur{display:none}
  .dd{position:static}
  .dd-menu{left:16px;right:16px;min-width:0;grid-template-columns:1fr}
  .subnav .wrap > a:first-child{margin-left:-8px}
}

/* ===== v29: specification pack — add buttons, pack tray, generate + preview ===== */
.sp-add{display:inline-flex;align-items:center;gap:8px}
.sp-add svg{flex:none}
.sp-add.added{background:rgba(92,197,150,.12);border-color:#2c5a46;color:#cdeede}
.sp-fab{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:31;display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;border:1px solid #1e4a5d;background:linear-gradient(160deg,#0f3446,#0f1c23);color:var(--fg);font:600 .92rem var(--display);cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.45)}
.sp-fab:hover{border-color:var(--accent)}
.sp-fab .cnt{min-width:24px;height:24px;border-radius:999px;background:var(--cta);color:var(--ctaInk);display:inline-grid;place-items:center;font:700 .78rem var(--mono);padding:0 6px}
.sp-fab.bump{animation:spbump .5s ease}
@keyframes spbump{0%{transform:scale(1)}40%{transform:scale(1.08)}100%{transform:scale(1)}}
.sp-scrim{position:fixed;inset:0;z-index:40;background:rgba(3,8,11,.6);backdrop-filter:blur(2px)}
.sp-drawer{position:fixed;top:0;right:0;bottom:0;z-index:41;width:min(460px,100%);background:var(--bg);border-left:1px solid var(--line);display:grid;grid-template-rows:auto 1fr auto;box-shadow:-20px 0 50px rgba(0,0,0,.5)}
.sp-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}
.sp-head h2{font-size:1.25rem}
.sp-x{background:transparent;border:1px solid var(--line);color:var(--fg);border-radius:8px;min-width:40px;min-height:40px;cursor:pointer;font-size:1.1rem}
.sp-x:hover{border-color:var(--accent)}
.sp-body{overflow-y:auto;padding:18px 20px 28px;display:grid;gap:22px;align-content:start}
.sp-sec{display:grid;gap:10px}
.sp-sec > .eyebrow{display:flex;justify-content:space-between;align-items:center}
.sp-item{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:14px;display:grid;gap:10px}
.sp-item .top{display:flex;justify-content:space-between;gap:10px;align-items:start}
.sp-item b{font:600 1rem var(--display)}
.sp-item .code{font:500 .86rem var(--mono);color:var(--accent);word-break:break-all}
.sp-item .cfg{font-size:.82rem;color:var(--muted);line-height:1.45}
.sp-item .row3{display:grid;grid-template-columns:70px 82px 1fr;gap:8px}
.sp-item label{display:grid;gap:4px;font:500 .72rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.sp-in,.sp-form input,.sp-form select{font:400 .95rem var(--body);color:var(--fg);background:var(--bg);border:1px solid #628595;border-radius:8px;padding:9px 10px;width:100%;min-width:0}
.sp-in:focus,.sp-form input:focus,.sp-form select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.sp-rm{background:transparent;border:0;color:var(--muted);cursor:pointer;font:500 .8rem var(--display);padding:4px 6px;border-radius:6px}
.sp-rm:hover{color:var(--con)}
.sp-empty{border:1px dashed #2f5263;border-radius:12px;padding:14px;color:var(--muted);font-size:.9rem;display:block;line-height:1.5}
.sp-empty a{display:block;margin-top:8px;color:var(--accent);font-weight:600;text-decoration:none}
.sp-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sp-form .full{grid-column:1/-1}
.sp-form label{display:grid;gap:6px;font:500 .82rem var(--display);color:var(--muted)}
.sp-form label .req{color:var(--cta)}
.sp-check{display:grid!important;grid-template-columns:20px 1fr;gap:10px!important;align-items:start;font:400 .86rem/1.45 var(--body)!important;color:#c3d4dc!important}
.sp-check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--accent)}
.sp-err{color:#ffb4ab;font-size:.84rem}
.sp-form [aria-invalid="true"]{border-color:#d9645a}
.sp-foot{padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);display:grid;gap:8px;background:var(--surface)}
.sp-foot .btn{justify-content:center;width:100%}
.sp-foot small{color:var(--muted);font-size:.78rem;text-align:center}
@media (max-width:560px){.sp-form{grid-template-columns:1fr}.sp-fab{bottom:calc(76px + env(safe-area-inset-bottom,0px));right:10px;padding:11px 14px}}
.sp-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(140px + env(safe-area-inset-bottom,0px));z-index:45;background:var(--surface2);border:1px solid #2c5a46;color:#cdeede;padding:10px 16px;border-radius:999px;font:500 .9rem var(--display);box-shadow:0 10px 30px rgba(0,0,0,.4)}
.sp-toast button{background:none;border:0;color:var(--accent);font:600 .9rem var(--display);margin-left:10px;cursor:pointer}

/* pack preview */
.pk-view{position:fixed;inset:0;z-index:50;background:#2a3439;overflow-y:auto}
.pk-bar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 20px;background:rgba(10,19,24,.96);border-bottom:1px solid var(--line)}
.pk-bar .l{display:grid;gap:2px}
.pk-bar .l b{font:600 1rem var(--display)}
.pk-bar .l span{font:500 .78rem var(--mono);color:var(--muted)}
.pk-bar .r{display:flex;gap:8px;flex-wrap:wrap}
.pk-done{max-width:860px;margin:18px auto 0;padding:14px 18px;border-radius:12px;border:1px solid #2c5a46;background:rgba(92,197,150,.08);color:#cdeede;font-size:.92rem;display:grid;gap:6px}
.pk-done details{margin-top:4px}
.pk-done summary{cursor:pointer;color:var(--fg);font-weight:600}
.pk-done pre{white-space:pre-wrap;font:400 .8rem/1.5 var(--mono);color:#c3d4dc;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px;margin:8px 0 0}
.pk-pages{display:grid;justify-items:center;gap:22px;padding:22px 12px 120px}
.pk-scale{position:relative;box-shadow:0 14px 40px rgba(0,0,0,.45)}
.pk-page{position:absolute;left:0;top:0;width:794px;height:1123px;transform-origin:0 0;background:#fff;color:#0a1318;overflow:hidden;font:12.2px/1.5 var(--body);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pk-page h1,.pk-page h2,.pk-page h3,.pk-page h4{font-family:var(--display);letter-spacing:-.01em;line-height:1.1;color:inherit}
.pk-page .eb{font:500 9.3px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#139acc}
.pk-cover{background:#0a1318;color:#e7f0f4}
.pk-cover .hero{position:absolute;left:0;right:0;top:0;height:567px;background-size:cover;background-position:center 38%}
.pk-cover .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,19,24,.55) 0%,rgba(10,19,24,0) 28%,rgba(10,19,24,0) 55%,#0a1318 100%)}
.pk-cover .logo{position:absolute;top:45px;left:60px;height:68px;z-index:2}
.pk-cover .ttl{position:absolute;top:446px;left:60px;right:60px;z-index:2}
.pk-cover .ttl h1{font-size:43px;font-weight:600;margin:15px 0 11px}
.pk-cover .ttl h1 span{color:#139acc}
.pk-cover .ttl p{font-size:14.5px;color:#93a9b4;max-width:560px}
.pk-cover .cli{position:absolute;top:650px;left:60px;right:60px;display:grid;grid-template-columns:1fr 1fr;gap:0 38px}
.pk-cover .cli h3{grid-column:1/-1;font:500 9.3px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#139acc;margin-bottom:11px}
.pk-cover dl{display:grid;grid-template-columns:112px 1fr;border-top:1px solid #1f3743;margin:0}
.pk-cover dt,.pk-cover dd{padding:8.5px 0;border-bottom:1px solid #1f3743;margin:0}
.pk-cover dt{font:500 9.3px/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#93a9b4}
.pk-cover dd{font:500 12.5px/1.4 var(--display);color:#e7f0f4;word-break:break-word}
.pk-cover .ref{position:absolute;left:60px;right:60px;bottom:106px;display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.pk-cover .ref div{background:#0f1c23;border:1px solid #1f3743;border-radius:11px;padding:13px 15px}
.pk-cover .ref span{display:block;font:500 8.6px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#93a9b4;margin-bottom:7px}
.pk-cover .ref b{font:600 14px/1.2 var(--display);color:#e7f0f4}
.pk-cover .ref b.c{font-family:var(--mono);font-weight:500;color:#139acc;font-size:12.5px}
.pk-cover .ft{position:absolute;left:60px;right:60px;bottom:45px;display:flex;justify-content:space-between;font:400 10px/1.4 var(--mono);color:#93a9b4}
.pk-cover .ft b{color:#e7f0f4;font-weight:500}
.pk-in{padding:42px 60px 70px}
.pk-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:2px solid #139acc;margin-bottom:19px}
.pk-top img{height:42px}
.pk-top .m{text-align:right;font:400 9.3px/1.5 var(--mono);color:#3c5260}
.pk-top .m b{color:#0a1318;font-weight:500}
.pk-ft{position:absolute;left:60px;right:60px;bottom:30px;display:flex;justify-content:space-between;border-top:1px solid #d5e1e7;padding-top:11px;font:400 9px/1.4 var(--mono);color:#3c5260}
.pk-ft b{color:#139acc;font-weight:500}
.pk-h2{font-size:28px;font-weight:600;margin-top:9px}
.pk-lead{font-size:13.3px;line-height:1.45;color:#3c5260;margin-top:9px}
.pk-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:15px}
.pk-tile{border:1px solid #d5e1e7;border-radius:9px;padding:11px}
.pk-tile .n{font:500 9.3px/1 var(--mono);color:#139acc}
.pk-tile h4{font-size:12.5px;margin:6px 0 4px}
.pk-tile p{font-size:10px;line-height:1.42;color:#3c5260}.pk-flow .pk-tile{position:relative}.pk-flow .pk-tile:not(:last-child)::after{content:"";position:absolute;right:-10px;top:50%;width:9px;height:9px;margin-top:-4.5px;background:#139acc;clip-path:polygon(0 0,100% 50%,0 100%);z-index:1}
.pk-sec{margin-top:16px}
.pk-two{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:9px}
.pk-w{border-radius:9px;padding:11px 15px;background:#eef5f8}
.pk-w .k{font:500 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#139acc}
.pk-w h4{font-size:13.3px;margin:6px 0 4px}
.pk-w p{font-size:10.6px;color:#3c5260;line-height:1.45}
.pk-rec{margin-top:15px;background:#0a1318;color:#e7f0f4;border-radius:11px;padding:17px 21px;display:grid;grid-template-columns:1.05fr 1fr;gap:22px}
.pk-rec .eb{color:#5fc3ea}
.pk-rec h3{font-size:21px;margin:7px 0 6px}
.pk-rec p{font-size:10.9px;color:#b9cad2;line-height:1.48}
.pk-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}
.pk-facts div{border:1px solid #1f3743;border-radius:7px;padding:7px 9px;background:#0f1c23}
.pk-facts span{display:block;font:500 8px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#93a9b4;margin-bottom:4px}
.pk-facts b{font:500 10.6px/1.3 var(--display);color:#e7f0f4}
.pk-ans{list-style:none;display:grid;gap:6px;margin:9px 0 0;padding:0}
.pk-ans li{display:grid;grid-template-columns:26px 1fr;gap:7px;font-size:10.3px;line-height:1.4;color:#b9cad2}
.pk-ans li i{font:500 8.6px/1.6 var(--mono);font-style:normal;color:#5fc3ea}
.pk-ans li b{color:#e7f0f4;font-weight:600;display:block}
.pk-flag{margin-top:11px;background:rgba(240,195,106,.1);border-left:3px solid #f0c36a;padding:7px 11px;font-size:9.8px;line-height:1.45;color:#f0d9a8}
.pk-flag b{font:500 8.6px var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-right:7px}
.pk-flag.lt{background:#fff6e6;color:#5c4210;border-left-color:#b7791f}
.pk-how{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:9px}
.pk-how div{border-top:2px solid #139acc;padding-top:7px}
.pk-how b{font:600 12px/1.2 var(--display);display:block;margin-bottom:3px}
.pk-how p{font-size:10px;color:#3c5260;line-height:1.42}
.pk-ph{display:grid;grid-template-columns:1fr 234px;gap:22px;align-items:start}
.pk-ph h2{font-size:29px;font-weight:600;margin:6px 0 5px}
.pk-ph p{font-size:11.2px;color:#3c5260;line-height:1.5}
.pk-q{border:1px solid #d5e1e7;border-radius:9px;padding:11px 13px;background:#eef5f8}
.pk-q dl{display:grid;grid-template-columns:auto 1fr;gap:5px 11px;font-size:10.3px;margin:7px 0 0}
.pk-q dt{font:500 8.6px/1.7 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#3c5260}
.pk-q dd{font-weight:600;text-align:right;margin:0;word-break:break-word}
.pk-code{margin-top:11px;display:flex;align-items:center;gap:15px;background:#0a1318;border-radius:9px;padding:11px 15px}
.pk-code span{font:500 8.6px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#93a9b4;flex:none}
.pk-code b{font:500 17px/1.2 var(--mono);color:#5fc3ea;letter-spacing:.02em;word-break:break-all}
.pk-img{margin-top:13px;background:linear-gradient(180deg,#f6f9fb,#e9f1f5);border-radius:11px;padding:11px 30px;display:flex;align-items:center;justify-content:center;height:150px}
.pk-img img{max-width:100%;max-height:128px;object-fit:contain}
.pk-img .noimg{font:500 10px var(--mono);color:#56707c;letter-spacing:.08em;text-transform:uppercase}
.pk-cols{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;margin-top:15px}
.pk-cols h3{font-size:14.5px}
.pk-cfg{width:100%;border-collapse:collapse;font-size:10.4px;margin-top:9px}
.pk-cfg th,.pk-cfg td{text-align:left;padding:5px 7px;border-bottom:1px solid #d5e1e7;vertical-align:top}
.pk-cfg th{font:500 8.6px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#3c5260;background:#eef5f8}
.pk-ticks{list-style:none;display:grid;gap:4px;margin:7px 0 0;padding:0}
.pk-ticks li{font-size:10.4px;line-height:1.38;padding-left:15px;position:relative;color:#3c5260}
.pk-ticks li::before{content:"";position:absolute;left:0;top:5px;width:7px;height:7px;border-radius:50%;background:#139acc}
.pk-drw{display:grid;grid-template-columns:1.7fr 1fr;gap:15px;margin-top:15px}
.pk-drw.one{grid-template-columns:1fr}
.pk-drw figure{border:1px solid #d5e1e7;border-radius:9px;padding:11px;background:#fff;margin:0;display:grid;gap:7px;align-content:start}
.pk-drw figcaption{font:500 8.6px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#3c5260;display:flex;justify-content:space-between}
.pk-drw svg,.pk-drw img{width:100%;height:auto;max-height:150px;object-fit:contain;display:block}
.pk-drw .na{border:1px dashed #9fb4be;border-radius:9px;padding:13px;font-size:10.3px;color:#3c5260}
.pk-cl{margin-top:15px;border:1px solid #d5e1e7;border-left:3px solid #139acc;border-radius:0 9px 9px 0;padding:11px 17px;background:#fbfdfe}
.pk-cl .hd{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.pk-cl h3{font-size:12.5px}
.pk-cl p{font-size:10.6px;line-height:1.5;margin-top:6px}
.pk-cl .tag{font:500 8.3px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#b7791f;background:#fff6e6;padding:5px 7px;border-radius:5px;flex:none}
.pk-dl{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:11px}
.pk-dl div{display:grid;grid-template-columns:34px 1fr;gap:7px;align-items:center;border:1px solid #d5e1e7;border-radius:7px;padding:7px 9px}
.pk-dl i{font:500 8px/1 var(--mono);font-style:normal;color:#fff;background:#139acc;border-radius:5px;padding:7px 0;text-align:center}
.pk-dl i.no{background:#9fb4be}
.pk-dl b{font-size:10.4px;display:block}
.pk-dl small{font-size:8.8px;color:#3c5260}
.pk-sched{width:100%;border-collapse:collapse;font-size:10.6px;margin-top:11px}
.pk-sched th,.pk-sched td{padding:8px 7px;border-bottom:1px solid #d5e1e7;text-align:left;vertical-align:top}
.pk-sched th{font:500 8.6px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#3c5260;background:#eef5f8}
.pk-sched td.c{font-family:var(--mono);color:#139acc;font-weight:500;word-break:break-all}
.pk-sched .r{text-align:right}
.pk-chk{list-style:none;display:grid;gap:7px;margin:11px 0 0;padding:0}
.pk-chk li{display:grid;grid-template-columns:19px 1fr;font-size:10.6px;line-height:1.42;color:#3c5260}
.pk-chk li::before{content:"";width:11px;height:11px;border:1.2px solid #b7791f;border-radius:3px;margin-top:2px}
.pk-next{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:11px}
.pk-next div{background:#eef5f8;border-radius:9px;padding:13px}
.pk-next .n{font:500 9.3px/1 var(--mono);color:#139acc}
.pk-next b{display:block;font:600 12.5px/1.2 var(--display);margin:6px 0 4px}
.pk-next p{font-size:10px;color:#3c5260;line-height:1.42}
.pk-cta{margin-top:22px;background:#0a1318;color:#e7f0f4;border-radius:11px;padding:22px;display:grid;grid-template-columns:1.3fr 1fr;gap:22px;align-items:center}
.pk-cta h3{font-size:20px}
.pk-cta p{font-size:10.9px;color:#b9cad2;margin-top:6px}
.pk-cta .tel{font:600 22px/1 var(--display);color:#5fc3ea}
.pk-cta .ct{font:400 10.3px/1.7 var(--mono);color:#b9cad2;margin-top:7px}
.pk-legal{margin-top:19px;font-size:9px;line-height:1.5;color:#3c5260}
.pk-dense .pk-img{height:112px;margin-top:10px}.pk-dense .pk-img img{max-height:96px}
.pk-dense .pk-cols{margin-top:11px}.pk-dense .pk-cfg th,.pk-dense .pk-cfg td{padding:3.5px 7px}
.pk-dense .pk-drw{margin-top:11px}.pk-dense .pk-drw svg,.pk-dense .pk-drw img{max-height:112px}
.pk-dense .pk-cl{margin-top:11px}.pk-dense .pk-cl p{font-size:10px}
.pk-cover .ttl p.eb{color:#139acc}

/* v30: spec pack tables — strong, readable ink in every browser mode */
.pk-page table{color:#0a1318;font-size:inherit;border-collapse:collapse}
.pk-sched td{color:#0a1318;font-weight:500}
.pk-sched td b{color:#0a1318;font-weight:700}
.pk-sched td.c,.pk-cfg td.c{color:#0f7fae;font-weight:600}
.pk-sched td.lc{color:#3c5260;font-weight:400}
.pk-cfg td{color:#0a1318}
.pk-cfg td:first-child{color:#3c5260}

/* v31: "no controls" choice */
.sp-choice{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.sp-choice .btn{margin:0}
.sp-empty .sp-choice a.btn{display:inline-flex;margin-top:0;color:var(--fg)}
.sp-noctl{border-color:#2f5263;background:linear-gradient(160deg,var(--surface2),var(--surface))}
.pk-noctl{margin-top:15px;border:1px solid #d5e1e7;border-radius:11px;padding:17px 21px;display:grid;grid-template-columns:1.1fr 1fr;gap:22px;background:#eef5f8}
.pk-noctl h3{font-size:18px;margin:7px 0 6px}
.pk-noctl p{font-size:10.9px;color:#3c5260;line-height:1.48}
.pk-later{border-left:2px solid #139acc;padding-left:15px}
.pk-later b{font:600 12.5px/1.2 var(--display);display:block;margin-bottom:5px}
@media print{
  @page{size:A4;margin:0}
  body.pk-printing > *:not(.pk-view){display:none!important}
  body.pk-printing .pk-view{position:static;overflow:visible;background:#fff}
  body.pk-printing .pk-bar,body.pk-printing .pk-done{display:none!important}
  body.pk-printing .pk-pages{display:block;padding:0}
  body.pk-printing .pk-scale{width:210mm!important;height:297mm!important;box-shadow:none;page-break-after:always;break-after:page;overflow:hidden}
  body.pk-printing .pk-page{transform:scale(1.0)!important;width:210mm;height:297mm}
}
@media (min-width:1100px){.cards,.ctl3.hsys{grid-template-columns:repeat(4,1fr)}}

/* ---- WordPress build: demo-only controls removed ---- */
.logo-slot{border-style:solid;border-color:var(--line);background:var(--surface)}
.logo-slot.has-logo{background:#fff;border-color:transparent}
.logo-slot.has-logo{overflow:hidden}
.logo-slot.has-logo img{display:block;max-width:78%;max-height:58px;width:auto;height:auto;object-fit:contain}
.sys-hero .logo-slot.has-logo img{max-height:84px}
.partners span{border-style:solid;border-color:var(--line)}
.partners .plogo{display:inline-grid;place-items:center;background:#fff;border-radius:8px;padding:10px 16px;height:56px}
.partners .plogo img{max-height:34px;max-width:150px;object-fit:contain}
.tour,.tour-open,[data-dl-demo],#rnToggle,#tnToggle,.kv-src,.gb-src{display:none!important}
body.admin-bar header.site{top:32px}
@media (max-width:782px){body.admin-bar header.site{top:46px}}
.neo-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.cf [aria-invalid="true"]{border-color:var(--con)}
.legal-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px}
.legal-links a{color:var(--muted)}
.wp-content{max-width:76ch}
.wp-content h2{margin:1.6em 0 .5em}.wp-content h3{margin:1.3em 0 .4em}
.wp-content p,.wp-content li{color:var(--fg)}
.wp-content a{color:var(--accent)}
.wp-content img{max-width:100%;height:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
/* Copy code buttons on product pages: always amber, matching the Datasheet (PDF) button */
#gbCopy,#copyCode{background:var(--cta)!important;color:var(--ctaInk)!important;border-color:transparent!important}
#gbCopy:hover,#copyCode:hover{background:var(--ctaHover)!important}

/* v70 sync (30 Oct): manufacturer logos in the compare table, selector result and system pages (white chip; dark for MasterConnect; square logos padded) */
.logo-slot.has-logo{border:0;background:#fff;padding:16px 22px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.logo-slot.has-logo.dark{background:#303034}
.logo-slot.has-logo img{width:100%;height:100%;min-height:0;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.sys-hero .logo-slot.has-logo{padding:26px 30px}
.lg-chip{display:inline-grid;overflow:hidden;place-items:center;background:#fff;border-radius:8px;padding:6px 10px;height:40px;width:118px;margin:0 auto 8px}
.lg-chip.dark{background:#303034}
.lg-chip img{width:100%;height:100%;min-height:0;max-width:100%;max-height:100%;object-fit:contain;display:block}
.partners.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.partners.logos a{display:grid;overflow:hidden;place-items:center;height:84px;padding:14px 18px;background:#fff;border-radius:10px;transition:transform .2s}
.partners.logos a:hover{transform:translateY(-2px)}
.partners.logos a.dark{background:#303034}
.partners.logos img{width:100%;height:100%;min-height:0;max-width:100%;max-height:100%;object-fit:contain;display:block}
.rec-logo{height:46px;max-width:200px;display:inline-grid;place-items:center;background:#fff;border-radius:8px;padding:8px 14px;margin-bottom:10px}
.rec-logo.dark{background:#303034}
.rec-logo img{width:100%;height:100%;min-height:0;max-height:100%;max-width:100%;object-fit:contain;display:block}
.lg-chip{height:56px!important}
.lg-chip.sq,.partners.logos a.sq,.rec-logo.sq{padding:4px}
.logo-slot.has-logo.sq{padding:10px}
.sys-hero .logo-slot.has-logo.sq{padding:14px}
.rec-logo.sq{height:64px}
.partners .plogo.dark{background:#303034}
.partners .plogo.sq{padding:4px}
