/* Ventquorix stylesheet. Hand written for this site. */
@font-face{font-family:"Vq Sans";src:url(/assets/fonts/vq-sans-400.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Vq Sans";src:url(/assets/fonts/vq-sans-400i.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Vq Sans";src:url(/assets/fonts/vq-sans-700.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Vq Serif";src:url(/assets/fonts/vq-serif-400.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Vq Serif";src:url(/assets/fonts/vq-serif-400i.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}

:root{
  --frost:#f5f9fb;
  --snow:#ffffff;
  --ice-50:#ecf5f9;
  --ice-100:#d9ebf3;
  --ice-200:#bcdbe9;
  --ice-400:#7fb9d1;
  --teal:#0b7a80;
  --teal-deep:#085b60;
  --teal-glow:#34b6b2;
  --ink:#0b1e2a;
  --ink-soft:#33505f;
  --ink-mute:#5a7381;
  --line:#cfe1ea;
  --ember:#b9472a;
  --radius:18px;
  --radius-sm:10px;
  --shadow:0 1px 2px rgba(11,30,42,.06),0 12px 32px -12px rgba(11,58,80,.22);
  --wrap:1180px;
  --sans:"Vq Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --serif:"Vq Serif",Georgia,"Times New Roman",serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;background:var(--frost);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.68;text-rendering:optimizeLegibility}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--teal-deep);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--teal)}
:focus-visible{outline:3px solid var(--teal-glow);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;z-index:50;text-decoration:none}
.skip:focus{top:12px}
.wrap{width:min(100% - 40px,var(--wrap));margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* header */
.topline{background:var(--ink);color:#d9ebf3;font-size:.86rem}
.topline .wrap{display:flex;gap:18px;justify-content:space-between;align-items:center;min-height:38px;flex-wrap:wrap}
.topline a{color:#fff}
.site-head{position:sticky;top:0;z-index:30;background:rgba(245,249,251,.92);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;min-height:74px;gap:20px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.brand svg{width:38px;height:38px}
.brand b{font-family:var(--serif);font-weight:400;font-size:1.72rem;letter-spacing:.2px;line-height:1}
.brand small{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin-top:3px}
.nav-main{display:flex;align-items:center;gap:4px}
.nav-main a{color:var(--ink);text-decoration:none;padding:9px 10px;border-radius:999px;font-size:.96rem}
.nav-main a:hover,.nav-main a[aria-current="page"]{background:var(--ice-100)}
.nav-main a.cta{background:var(--teal-deep);color:#fff;margin-left:8px;padding:10px 18px}
.nav-main a.cta:hover{background:var(--teal)}
.nav-mobile{display:none}
.nav-mobile summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:9px 16px;background:var(--snow);font-weight:700;min-height:44px}
.nav-mobile summary::-webkit-details-marker{display:none}
.nav-mobile summary span.bars{width:18px;height:12px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);position:relative}
.nav-mobile summary span.bars::after{content:"";position:absolute;left:0;right:0;top:3px;border-top:2px solid var(--ink)}
.nav-mobile[open] .panel{position:absolute;left:0;right:0;top:100%;background:var(--snow);border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:10px 20px 22px}
.nav-mobile .panel a{display:block;padding:13px 4px;border-bottom:1px solid var(--ice-100);color:var(--ink);text-decoration:none;font-size:1.05rem}
.nav-mobile .panel a.cta{margin-top:14px;text-align:center;background:var(--teal-deep);color:#fff;border-radius:999px;border:0}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;justify-content:center;min-height:48px;padding:12px 22px;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid var(--teal-deep);background:var(--teal-deep);color:#fff;font-size:1rem;cursor:pointer;font-family:var(--sans)}
.btn:hover{background:var(--teal);border-color:var(--teal);color:#fff}
.btn.ghost{background:transparent;color:var(--teal-deep)}
.btn.ghost:hover{background:var(--ice-100);color:var(--teal-deep)}
.btn .arr{transition:transform .2s}
.btn:hover .arr{transform:translateX(3px)}

/* hero */
.hero{position:relative;overflow:hidden;padding:72px 0 64px;background:
  radial-gradient(900px 420px at 85% 10%,rgba(127,185,209,.28),transparent 70%),
  linear-gradient(180deg,var(--frost),var(--ice-50))}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--ice-100) 1px,transparent 1px),linear-gradient(90deg,var(--ice-100) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 75%);pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep);margin:0 0 16px}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--teal-glow)}
h1,h2,h3{font-weight:400;line-height:1.12;margin:0 0 .5em;color:var(--ink)}
h1{font-family:var(--serif);font-size:clamp(2.45rem,5vw,4.15rem);letter-spacing:-.4px}
h1 em,h2 em{font-style:italic;color:var(--teal-deep)}
h2{font-family:var(--serif);font-size:clamp(1.9rem,3.3vw,2.7rem);letter-spacing:-.2px}
h3{font-family:var(--sans);font-weight:700;font-size:1.22rem;line-height:1.3}
.lede{font-size:1.2rem;color:var(--ink-soft);max-width:60ch;margin:0 0 28px}
.hero .actions{display:flex;gap:12px;flex-wrap:wrap}
.hero .assure{margin-top:26px;display:flex;gap:18px;flex-wrap:wrap;color:var(--ink-mute);font-size:.92rem;padding:0;list-style:none}
.hero .assure li{display:flex;gap:8px;align-items:center}
.hero .assure li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--teal-glow)}

/* code drawn devices */
.devices{position:relative;min-height:420px}
.laptop{position:relative;width:100%;max-width:560px;margin-left:auto}
.laptop .lid{background:#16303e;border-radius:16px 16px 6px 6px;padding:12px 12px 16px;box-shadow:var(--shadow)}
.laptop .base{height:16px;background:linear-gradient(#cfdde4,#a9bcc6);border-radius:0 0 18px 18px;width:112%;margin-left:-6%;position:relative}
.laptop .base::after{content:"";position:absolute;left:42%;right:42%;top:0;height:6px;background:#93a7b2;border-radius:0 0 8px 8px}
.screen{background:var(--snow);border-radius:8px;overflow:hidden;aspect-ratio:16/10;display:flex;flex-direction:column;font-size:11px;line-height:1.35}
.screen .bar{display:flex;gap:5px;align-items:center;padding:7px 9px;background:#eef4f7;border-bottom:1px solid #dde9ef}
.screen .bar i{width:7px;height:7px;border-radius:50%;background:#c6d6de}
.screen .bar span{margin-left:10px;background:#fff;border:1px solid #dde9ef;border-radius:20px;padding:1px 10px;color:#6d8592;font-size:9px}
.mock-nav{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;border-bottom:1px solid #edf3f6}
.mock-nav b{font-size:12px;color:#0b1e2a}
.mock-nav em{font-style:normal;background:var(--ember);color:#fff;border-radius:20px;padding:3px 9px;font-weight:700;font-size:9.5px}
.mock-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;padding:14px;flex:1;background:linear-gradient(135deg,#f2f9fc,#e2f0f6)}
.mock-hero h4{margin:0 0 6px;font-family:var(--serif);font-weight:400;font-size:19px;line-height:1.05;color:#0b1e2a}
.mock-hero p{margin:0 0 8px;color:#4b6574;font-size:9.5px}
.mock-hero .chip{display:inline-block;background:var(--teal-deep);color:#fff;border-radius:20px;padding:4px 10px;font-weight:700;font-size:9.5px;margin-right:4px}
.mock-hero .chip.alt{background:#fff;color:var(--teal-deep);border:1px solid var(--ice-200)}
.mock-card{background:#fff;border:1px solid #dbe9f0;border-radius:8px;padding:8px;font-size:9px;color:#33505f}
.mock-card strong{display:block;color:#0b1e2a;font-size:10px;margin-bottom:4px}
.mock-slot{display:flex;justify-content:space-between;border:1px solid #e3eef3;border-radius:5px;padding:4px 6px;margin-top:4px}
.mock-slot.on{border-color:var(--teal-glow);background:#e9f7f6}
.mock-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 14px 14px}
.mock-strip div{background:#f4f9fb;border:1px solid #e3eef3;border-radius:6px;padding:7px;color:#33505f;font-size:9px}
.mock-strip b{display:block;color:#0b1e2a;font-size:10px}
.phone{position:absolute;left:-18px;bottom:-34px;z-index:2;width:168px;background:#16303e;border-radius:26px;padding:9px;box-shadow:var(--shadow)}
.phone .pscreen{background:#fff;border-radius:19px;overflow:hidden;font-size:9.5px;line-height:1.35}
.phone .notch{width:54px;height:12px;background:#16303e;border-radius:0 0 10px 10px;margin:0 auto}
.phone .pbody{padding:9px 10px 12px}
.phone .pbody h5{margin:4px 0 6px;font-family:var(--serif);font-weight:400;font-size:15px;line-height:1.05;color:#0b1e2a}
.phone .pcall{display:block;text-align:center;background:var(--ember);color:#fff;border-radius:20px;padding:6px;font-weight:700;margin:6px 0}
.phone .pbook{display:block;text-align:center;background:var(--teal-deep);color:#fff;border-radius:20px;padding:6px;font-weight:700}
.phone .pmeta{display:flex;justify-content:space-between;color:#5a7381;margin-top:8px;font-size:8.5px}
.concept-tag{position:absolute;right:0;top:-40px;z-index:3;background:var(--snow);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:.76rem;color:var(--ink-mute);box-shadow:0 2px 8px rgba(11,30,42,.06)}
.airflow{position:absolute;inset:auto -40px -30px auto;width:320px;opacity:.55;pointer-events:none}

/* sections */
.band{padding:84px 0}
.band.alt{background:var(--snow);border-block:1px solid var(--line)}
.band.deep{background:var(--ink);color:#d9ebf3}
.band.deep h2,.band.deep h3{color:#fff}
.band.deep a{color:#9fe3df}
.band.deep .eyebrow{color:#7fd6d1}
.band.deep .steps li{background:#12303f;border-color:#21485a}
.band.deep .steps li::before{color:#7fd6d1}
.band.deep .steps li p{color:#b7d3df}
.sec-head{max-width:760px;margin-bottom:40px}
.sec-head p{color:var(--ink-soft);font-size:1.1rem;margin:0}
.band.deep .sec-head p{color:#b7d3df}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tiles.two{grid-template-columns:repeat(2,1fr)}
.tiles.four{grid-template-columns:repeat(4,1fr)}
.tile{background:var(--snow);border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:relative;transition:transform .2s,box-shadow .2s}
.tile:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.tile h3 a{color:var(--ink);text-decoration:none}
.tile h3 a::after{content:"";position:absolute;inset:0;border-radius:var(--radius)}
.tile p{margin:0;color:var(--ink-soft);font-size:.98rem}
.tile .ico{width:44px;height:44px;border-radius:12px;background:var(--ice-100);display:grid;place-items:center;margin-bottom:16px;color:var(--teal-deep)}
.tile .ico svg{width:24px;height:24px}
.tile .more{display:inline-block;margin-top:14px;font-weight:700;font-size:.93rem;color:var(--teal-deep)}
.band.deep .tile{background:#12303f;border-color:#21485a}
.band.deep .tile p{color:#b7d3df}
.band.deep .tile h3 a{color:#fff}

.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.facts{background:var(--snow);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.facts dl{margin:0;display:grid;gap:14px}
.facts dt{font-weight:700;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-deep)}
.facts dd{margin:2px 0 0;color:var(--ink-soft)}

.steps{counter-reset:s;display:grid;gap:16px;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;display:grid;grid-template-columns:52px 1fr;gap:16px;background:var(--snow);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--serif);font-size:1.7rem;color:var(--teal-deep);line-height:1}
.steps li h3{margin:0 0 4px}
.steps li p{margin:0;color:var(--ink-soft)}

.dial{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.dial div{background:linear-gradient(180deg,var(--snow),var(--ice-50));border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.dial b{display:block;font-family:var(--serif);font-weight:400;font-size:1.5rem;color:var(--teal-deep)}
.dial span{font-size:.94rem;color:var(--ink-soft)}

.cta-band{background:linear-gradient(120deg,var(--teal-deep),#0d5560 60%,#0b3f4a);color:#e6f6f8;border-radius:28px;padding:48px;display:grid;grid-template-columns:1.3fr auto;gap:28px;align-items:center;position:relative;overflow:hidden}
.cta-band h2{color:#fff;margin-bottom:10px}
.cta-band p{margin:0;color:#cbe9ee}
.cta-band .btn{background:#fff;color:var(--teal-deep);border-color:#fff}
.cta-band .btn:hover{background:var(--ice-100)}

/* page heads + article */
.page-head{padding:54px 0 34px;background:linear-gradient(180deg,var(--ice-50),var(--frost));border-bottom:1px solid var(--line)}
.crumbs{font-size:.88rem;color:var(--ink-mute);margin:0 0 18px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--ice-400)}
.crumbs a{color:var(--ink-mute)}
.page-head h1{max-width:21ch}
.page-head .lede{margin-bottom:18px}
.byline{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.92rem;color:var(--ink-mute);margin:0}
.byline a{color:var(--ink-soft)}
.article{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:56px;padding:48px 0 72px}
.article.solo{grid-template-columns:minmax(0,820px);justify-content:center}
.prose{min-width:0;overflow-wrap:break-word}
.prose>*:first-child{margin-top:0}
.prose h2{font-size:clamp(1.7rem,2.6vw,2.15rem);margin:1.9em 0 .55em}
.prose h3{margin:1.6em 0 .5em}
.prose p,.prose li{max-width:72ch}
.prose ul,.prose ol{padding-left:1.25em}
.prose li{margin:.35em 0}
.prose li::marker{color:var(--teal)}
.prose strong{color:var(--ink)}
.prose .answer{font-size:1.16rem;background:var(--snow);border:1px solid var(--line);border-left:4px solid var(--teal-glow);border-radius:var(--radius-sm);padding:18px 22px;color:var(--ink)}
.prose blockquote,.callout{margin:1.6em 0;background:var(--ice-50);border:1px solid var(--ice-200);border-radius:var(--radius-sm);padding:18px 22px;color:var(--ink-soft)}
.callout b:first-child{display:block;color:var(--teal-deep);margin-bottom:4px;font-size:.84rem;letter-spacing:.08em;text-transform:uppercase}
.callout.warn{background:#fbf2ee;border-color:#efd2c6}
.callout.warn b:first-child{color:var(--ember)}
.tablewrap{overflow-x:auto;margin:1.4em 0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--snow)}
table{border-collapse:collapse;width:100%;font-size:.96rem}
.tablewrap table{min-width:560px}
.tablewrap:focus-visible{outline:3px solid var(--teal-glow);outline-offset:2px}
.show-sm{display:none}
.checks label.consent{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start}
.checks label.consent>span{flex:1}
.tablewrap td,.tablewrap th{overflow-wrap:normal}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--ice-100);vertical-align:top}
th{background:var(--ice-50);font-weight:700;color:var(--ink)}
tr:last-child td{border-bottom:0}
.side{position:relative}
.side .stick{position:sticky;top:100px;display:grid;gap:18px}
.toc,.sidecard{background:var(--snow);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.toc p,.sidecard p.h{margin:0 0 10px;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}
.toc ol{margin:0;padding:0;list-style:none;display:grid;gap:2px}
.toc a{display:block;padding:6px 8px;border-radius:8px;text-decoration:none;color:var(--ink-soft);font-size:.93rem;line-height:1.35}
.toc a:hover{background:var(--ice-50);color:var(--ink)}
.sidecard p{margin:0 0 12px;font-size:.95rem;color:var(--ink-soft)}
.sidecard .btn{width:100%}
.faq{display:grid;gap:10px;margin:1.2em 0}
.faq details{background:var(--snow);border:1px solid var(--line);border-radius:var(--radius-sm)}
.faq summary{cursor:pointer;padding:16px 50px 16px 18px;font-weight:700;position:relative;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:18px;top:12px;font-size:1.4rem;color:var(--teal-deep);font-weight:400}
.faq details[open] summary::after{content:"\2212"}
.faq details>div{padding:0 18px 16px;color:var(--ink-soft)}
.faq details>div p{margin:.4em 0}
.sources{margin-top:2.4em;padding-top:1.4em;border-top:1px solid var(--line);font-size:.93rem}
.sources h2{font-size:1.4rem}
.sources ol{padding-left:1.2em}
.sources li{margin:.45em 0;color:var(--ink-soft);overflow-wrap:anywhere}
.related{margin-top:2.6em}
.related ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.related a{display:block;background:var(--snow);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;text-decoration:none;color:var(--ink);font-weight:700}
.related a span{display:block;font-weight:400;color:var(--ink-mute);font-size:.9rem}
.related a:hover{border-color:var(--ice-400)}
.disclose{font-size:.9rem;color:var(--ink-mute);background:var(--ice-50);border-radius:var(--radius-sm);padding:12px 16px;margin-top:2em}

/* concept gallery */
.concepts{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:1.6em 0}
.concept{background:var(--snow);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.concept .shot{aspect-ratio:16/9;padding:14px;background:linear-gradient(135deg,var(--ice-50),var(--ice-100));display:grid;grid-template-rows:auto 1fr auto;gap:8px}
.concept .shot .ln{height:9px;border-radius:5px;background:#fff}
.concept .shot .ln.s{width:40%}
.concept .shot .blk{border-radius:8px;background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:1.4fr 1fr;gap:8px;padding:10px}
.concept .shot .blk i{display:block;border-radius:6px;background:repeating-linear-gradient(180deg,var(--ice-100) 0 7px,transparent 7px 17px) 12px 14px/70% 58% no-repeat,var(--ice-50);position:relative}
.concept .shot .blk i.t::after,.concept .shot .blk i.e::after{content:"";position:absolute;left:12px;bottom:12px;width:42%;height:14px;border-radius:9px;background:#fff;opacity:.9}
.concept .shot .blk i.t::before,.concept .shot .blk i.e::before{content:"";position:absolute;left:12px;top:14px;width:62%;height:10px;border-radius:5px;background:rgba(255,255,255,.55);box-shadow:0 16px 0 rgba(255,255,255,.4)}
.concept .shot .blk i.t{background:var(--teal-deep);opacity:.85}
.concept .shot .blk i.e{background:var(--ember);opacity:.85}
.concept .shot .row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.concept .shot .row i{height:22px;border-radius:6px;background:#fff;border:1px solid var(--line)}
.concept .body{padding:20px 22px}
.concept .body h3{margin:0 0 6px}
.concept .body p{margin:0 0 8px;color:var(--ink-soft);font-size:.97rem}
.concept .tag{display:inline-block;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);border:1px solid var(--line);border-radius:999px;padding:3px 10px;margin-bottom:10px}

/* forms */
.form{display:grid;gap:16px;background:var(--snow);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:block;font-weight:700;font-size:.95rem}
.form label>input,.form label>select,.form label>textarea{display:block;margin-top:6px}
.form label span.opt{font-weight:400;color:var(--ink-mute)}
.form input,.form select,.form textarea{font:inherit;font-weight:400;padding:12px 14px;border:1px solid var(--ice-200);border-radius:10px;background:var(--frost);color:var(--ink);min-height:48px;width:100%}
.form textarea{min-height:150px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid rgba(52,182,178,.35);border-color:var(--teal)}
.form fieldset{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:0}
.form legend{font-weight:700;padding:0 6px}
.form .checks{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 16px}
.form .checks label{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.form .checks input{width:20px;min-height:20px;height:20px;margin-top:4px;accent-color:var(--teal-deep)}
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .note{font-size:.88rem;color:var(--ink-mute);margin:0}
.flash{border-radius:12px;padding:14px 18px;margin-bottom:18px;font-weight:700}
.flash.ok{background:#e7f6f3;border:1px solid #a9dccf;color:#0a5a4b}
.flash.err{background:#fbefeb;border:1px solid #ecc7ba;color:#8a2f17}
.soon{background:var(--ice-50);border:1px dashed var(--ice-400);border-radius:var(--radius);padding:24px}
.brief-out{white-space:pre-wrap;background:var(--ink);color:#d9ebf3;border-radius:var(--radius-sm);padding:18px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem;max-height:420px;overflow:auto}
.hidden{display:none}

/* footer */
.site-foot{background:var(--ink);color:#b7d3df;padding:64px 0 28px;margin-top:0}
.site-foot a{color:#e3f2f7;text-decoration:none}
.site-foot a:hover{text-decoration:underline}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.foot-grid h2{font-family:var(--sans);font-weight:700;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:#7fb9d1;margin:0 0 14px}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.95rem}
.foot-brand b{font-family:var(--serif);font-weight:400;color:#fff;font-size:1.7rem}
.foot-brand p{font-size:.94rem;max-width:40ch}
.foot-legal{border-top:1px solid #21485a;margin-top:42px;padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.86rem}

/* 404 */
.lost{padding:110px 0;text-align:center}
.lost h1{max-width:none}
.lost p{color:var(--ink-soft);margin:0 auto 26px;max-width:52ch}

@media (max-width:1060px){
  .nav-main{display:none}
  .nav-mobile{display:block}
  .site-head .wrap{position:relative}
  .hero .wrap{grid-template-columns:1fr;gap:44px}
  .devices{min-height:0;padding-left:60px}
  .tiles,.tiles.four{grid-template-columns:repeat(2,1fr)}
  .article{grid-template-columns:minmax(0,1fr);gap:28px}
  .side .stick{position:static}
  .foot-grid{grid-template-columns:1fr 1fr}
  .dial{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  body{font-size:1rem}
  .topline .wrap{justify-content:center;text-align:center}
  .topline .hide-sm{display:none}
  .topline .show-sm{display:inline}
  .tablewrap{border:0;background:transparent;overflow:visible}
  .tablewrap table{min-width:0}
  .tablewrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tablewrap tr{display:block;background:var(--snow);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:12px;padding:6px 0}
  .tablewrap td{display:block;border:0;padding:6px 14px}
  .tablewrap td::before{content:attr(data-label);display:block;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:2px}
  .hero{padding:44px 0 46px}
  .devices{padding-left:0}
  .phone{position:relative;left:auto;bottom:auto;width:62%;max-width:230px;margin:-70px 0 0 8px}
  .mock-hero{grid-template-columns:1fr}
  .mock-hero .mock-card{display:none}
  .band{padding:58px 0}
  .tiles,.tiles.two,.tiles.four,.split,.concepts,.related ul,.form .row2,.form .checks{grid-template-columns:1fr}
  .split{gap:28px}
  .cta-band{grid-template-columns:1fr;padding:32px 24px}
  .foot-grid{grid-template-columns:1fr}
  .dial{grid-template-columns:1fr 1fr}
  .steps li{grid-template-columns:40px 1fr;padding:16px}
  .brand b{font-size:1.45rem}
  .brand small{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.site-head,.topline,.site-foot,.side,.cta-band{display:none}body{background:#fff}}
