/* Shared public website theme. Operational dashboards keep their own styles. */
:root { color-scheme:light; --paper:#ddd5c5; --sheet:#e9e3d5; --ink:#2e2924; --ink-soft:#6f665a; --line:rgba(46,41,36,.35); --line-soft:rgba(46,41,36,.16); --wire-blue:#a83c32; --wire-red:#a83c32; --sans:"Segoe UI Variable","Segoe UI",system-ui,sans-serif; --mono:var(--sans); --content:1040px; }
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { background:var(--paper); color:var(--ink); font:17px/1.65 var(--sans); -webkit-font-smoothing:antialiased; overflow-x:clip; }
body::before,body::after { display:none; }
img { display:block; max-width:100%; height:auto; } a { color:inherit; } button,input { font:inherit; }
h1,h2,h3 { color:var(--ink); font-weight:450; line-height:1.13; letter-spacing:-.035em; text-wrap:balance; }
h1 { font-size:clamp(42px,5.2vw,68px); max-width:15ch; } h2 { font-size:clamp(30px,3.6vw,46px); } h3 { font-size:24px; } p { text-wrap:pretty; }
::selection { background:#a83c32; color:#fffaf2; } :focus-visible { outline:2px solid var(--wire-blue); outline-offset:5px; }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:12px; left:12px; z-index:200; padding:12px 20px; background:var(--wire-blue); color:var(--paper); transform:translateY(-160%); } .skip-link:focus { transform:none; }
.site-header { position:fixed; top:0; inset-inline:0; z-index:40; min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px max(28px,calc((100vw - 1120px)/2)); background:var(--paper); border-bottom:1px solid transparent; transition:border-color .2s; }
.site-header.is-scrolled { border-color:var(--line-soft); } .brand img { width:115px; height:auto; filter:none; }
.site-nav { display:flex; align-items:center; gap:23px; } .site-nav a { color:var(--ink-soft); text-decoration:none; font-size:13px; white-space:nowrap; }
.site-nav a:hover,.site-nav a[aria-current="page"] { color:var(--wire-blue); } .site-nav .nav-contact { border:0; padding:0; } .nav-toggle { display:none; }
.eyebrow { color:var(--wire-blue); font-size:11px; line-height:1.6; font-weight:600; letter-spacing:.15em; text-transform:uppercase; margin-bottom:20px; }
.text-link { color:var(--wire-blue); font-size:15px; display:inline-block; text-decoration:none; border-bottom:1px solid var(--line); padding-bottom:4px; } .text-link:hover { border-color:var(--wire-blue); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:20px; padding:13px 22px; border:1px solid transparent; border-radius:4px; text-decoration:none; font-size:14px; font-weight:600; line-height:1.5; }
.button svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; } .button-primary { background:var(--wire-blue); color:var(--paper); } .button-primary:hover { background:#8f332b; }
.button-secondary { border-color:var(--line); color:var(--ink); background:transparent; } .button-secondary:hover { border-color:var(--wire-blue); }
.hero-actions,.page-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.reveal { opacity:1; transform:none; transition:opacity .55s ease,transform .55s ease; } .motion-ready .reveal { opacity:0; transform:translateY(18px); } .motion-ready .reveal.is-visible { opacity:1; transform:none; }
.page-content-sub { padding:78px 28px 0; } .section-band { width:100%; max-width:var(--content); margin:0 auto; padding:90px 0; border-bottom:1px solid var(--line-soft); }
.page-hero { padding:80px 0 65px; } .page-hero-lede { font-size:20px; color:var(--ink-soft); max-width:51ch; margin-top:26px; }
.page-guide { display:flex; flex-wrap:wrap; gap:28px; margin-top:38px; } .page-guide a { display:flex; gap:10px; color:var(--ink-soft); font-size:13px; text-decoration:none; } .page-guide span { color:var(--wire-blue); }
.section-heading { max-width:650px; margin-bottom:40px; } .section-intro { color:var(--ink-soft); margin-top:24px; }
.product { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.product-copy p:not(.eyebrow),.architecture-copy>p:not(.eyebrow),.diagnostics-copy>p:not(.eyebrow) { color:var(--ink-soft); margin-top:22px; max-width:54ch; }
.product-media img { width:100%; aspect-ratio:1.08; object-fit:cover; border-radius:4px; }
.connection-list { display:grid; grid-template-columns:1fr 1fr; gap:0 56px; counter-reset:connection; } .connection-example { position:relative; padding:32px 0; border-top:1px solid var(--line-soft); counter-increment:connection; }
.connection-example::before { content:"0" counter(connection); display:block; color:var(--wire-blue); font-size:12px; margin-bottom:14px; } .connection-kicker { color:var(--ink-soft); font-size:12px; margin-bottom:10px; }
.connection-copy h3 { font-size:25px; max-width:22ch; margin-bottom:16px; } .connection-copy>p:not(.connection-kicker) { color:var(--ink-soft); } .connection-symbol,.connection-result { display:none; }
.grid-visual { margin-top:32px; } .grid-visual img,.architecture-stage img { width:100%; background:transparent; border-radius:4px; }
figcaption { color:var(--ink-soft); font-size:12px; margin-top:16px; line-height:1.6; } .brochure-note,.specs-footnote { color:var(--ink-soft); margin-top:28px; font-size:14px; }
.architecture { display:block; } .architecture-copy { max-width:680px; } .architecture-steps { display:flex; list-style:none; gap:24px; margin:30px 0 36px; } .architecture-steps li { display:flex; gap:12px; flex:1; }
.architecture-steps li>span { color:var(--wire-blue); font-size:12px; padding-top:4px; } .architecture-steps strong { font-size:16px; font-weight:500; } .architecture-steps small { display:block; color:var(--ink-soft); font-size:13px; margin-top:8px; }
.architecture-stage { margin-top:40px; } .architecture-stage img { max-height:510px; object-fit:contain; }
.diagnostics { display:grid; grid-template-columns:1fr 1.1fr; align-items:center; gap:56px; } .interface-frame { border:1px solid var(--line); border-radius:5px; overflow:hidden; } .interface-frame img { width:100%; } .scan-line,.status-list { display:none; }
.spec-index { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:32px; } .spec-index a { padding:9px 14px; border:1px solid var(--line); border-radius:3px; font-size:13px; text-decoration:none; } .spec-index a:hover { border-color:var(--wire-blue); } .spec-index span { color:var(--wire-blue); margin-right:10px; }
.spec-group { padding:32px 0; scroll-margin-top:95px; } .spec-group h3 { font-size:25px; margin-bottom:20px; } .spec-group dl>div { display:grid; grid-template-columns:28% 1fr; gap:30px; border-top:1px solid var(--line-soft); padding:14px 0; font-size:15px; } .spec-group dt { color:var(--ink-soft); } .spec-group dd { margin:0; }
.about-copy { max-width:740px; } .about-copy>p:last-child { color:var(--ink-soft); font-size:20px; margin-top:24px; max-width:55ch; } .team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:50px; } .team-card { min-width:0; }
.team-face { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 25%; border-radius:3px; } .team-info { padding:24px 0 0; } .team-info>span { display:block; color:var(--wire-blue); font-size:11px; text-transform:uppercase; letter-spacing:.13em; margin-bottom:12px; }
.team-info h3 { font-size:24px; white-space:nowrap; } .team-role { color:var(--ink); font-size:14px; min-height:48px; margin-top:14px; } .team-meta { color:var(--ink-soft); font-size:14px; padding-top:16px; border-top:1px solid var(--line-soft); }
.company-note>p:last-child { color:var(--ink-soft); max-width:69ch; margin-top:26px; } .contact-panel { background:var(--sheet); border:1px solid var(--line-soft); border-radius:5px; padding:50px; }
.contact-panel>p:not(.eyebrow) { color:var(--ink-soft); max-width:46ch; margin-top:24px; } .contact-actions { display:flex; align-items:center; flex-wrap:wrap; gap:40px; margin-top:30px; }
.contact-meta { display:flex; flex-direction:column; gap:4px; color:var(--ink-soft); font-size:14px; } .contact-meta a { color:var(--ink); text-decoration:none; }
.route-trust { max-width:var(--content); margin:auto; padding:34px 0; color:var(--ink-soft); font-size:12px; }
.site-footer { max-width:1120px; margin:auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; padding:34px 0; color:var(--ink-soft); border-top:1px solid var(--line-soft); font-size:11px; } .footer-brand img { width:85px; filter:none; }
.team-portrait { aspect-ratio:1; overflow:hidden; border-radius:3px; }
.team-portrait .team-face { width:100%; height:100%; object-fit:cover; object-position:center top; border-radius:0; }
.team-card:nth-child(2) .team-face { transform:scale(1.2); transform-origin:50% 0; }
@media(max-width:1100px) { .site-header { padding-inline:28px; } .site-nav { gap:16px; } .site-footer,.route-trust { margin-inline:28px; } }
@media(max-width:900px) {
 .nav-toggle { display:flex; width:42px; height:42px; flex-direction:column; justify-content:center; gap:7px; background:none; border:1px solid var(--line); border-radius:3px; padding:10px; } .nav-toggle span { display:block; height:1px; background:var(--ink); width:100%; }
 .site-nav { position:absolute; top:77px; left:0; right:0; display:flex; flex-direction:column; align-items:flex-start; gap:0; padding:20px 28px; background:var(--sheet); border-bottom:1px solid var(--line); visibility:hidden; opacity:0; pointer-events:none; } .nav-open .site-nav { visibility:visible; opacity:1; pointer-events:auto; }
 .site-nav a,.site-nav .nav-contact { padding:12px 0; font-size:17px; width:100%; } .team-grid { gap:20px; } .team-info h3 { font-size:20px; } .product,.diagnostics { gap:32px; }
}
@media(max-width:700px) {
 body { font-size:16px; } .site-header { padding:14px 24px; min-height:72px; } .site-nav { top:71px; } .page-content-sub { padding:72px 24px 0; } .section-band { padding:58px 0; } .page-hero { padding-top:50px; }
 .page-guide { display:grid; grid-template-columns:1fr 1fr; gap:18px; } .page-hero-lede { font-size:18px; } .product,.diagnostics { grid-template-columns:1fr; gap:32px; } .product-media { order:1; } .product-media img { max-height:380px; }
 .connection-list { grid-template-columns:1fr; } .connection-example { padding:28px 0; } .architecture-steps { flex-direction:column; gap:22px; } .architecture-steps small { margin-top:4px; }
 .spec-group dl>div { grid-template-columns:1fr; gap:5px; } .spec-index { gap:8px; } .spec-index a { font-size:12px; } .team-grid { grid-template-columns:1fr; gap:48px; max-width:420px; } .team-info h3 { font-size:26px; } .team-face { aspect-ratio:1; } .team-role { min-height:0; margin-bottom:18px; }
 .contact-panel { padding:28px 24px; } .contact-actions { gap:24px; } .site-footer { justify-content:flex-start; gap:16px 25px; } .route-trust { line-height:1.8; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } .motion-ready .reveal { opacity:1; transform:none; } }
