/* =====================================================================
   MIDWEST JETTER REPAIR: "Blueprint Night" design system
   Approved design. Build to match. See BUILD-SPEC.md.

   DESIGN TOKENS (:root)
     --bg      #07152a  page background (deep blueprint navy)
     --bg2     #0b1d37  alternate panel
     --panel   #0e2442  card/panel
     --blue    #00489b  BRAND BLUE (logo). Primary buttons & CTA band
     --blue2   #1463c7  button outline / hover
     --cyan    #7db4ff  labels, accents, links on dark
     --text    #eaf1fa  body text
     --muted   #93a9c4  secondary text
     --line / --line2   blueprint rule lines (16% / 30% alpha)
   TYPE: Archivo (headings/body, 400–900) + IBM Plex Mono (labels, data)
   SIGNATURE ELEMENT: graph-paper grid on <html>/<body class="grid"> via SVG
     pattern (24px minor / 120px major). Do not remove.
   BREAKPOINTS: 1400 (hide header phone), 1240, 1100 (hamburger nav,
     single-column layouts), 720 (mobile, sticky call bar)
   ===================================================================== */
:root{--bg:#07152a;--bg2:#0b1d37;--panel:#0e2442;--line:rgba(120,170,235,.16);--line2:rgba(120,170,235,.3);--blue:#00489b;--blue2:#1463c7;--cyan:#7db4ff;--text:#eaf1fa;--muted:#93a9c4;
--sans:'Archivo',sans-serif;--mono:'IBM Plex Mono',monospace}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.65 var(--sans)}
img{display:block;max-width:100%;height:auto}a{color:inherit}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.grid{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px),linear-gradient(rgba(120,170,235,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(120,170,235,.06) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px}
h1,h2,h3{margin:0;font-family:var(--sans);letter-spacing:-.03em;line-height:1.02}
h2{font-size:52px;font-weight:800}h3{font-size:22px;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 1em}
.mono{font:500 12.5px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.lbl{font:500 13px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);display:flex;gap:10px;align-items:center;margin-bottom:16px}
.lbl::before{content:"";width:22px;height:1px;background:var(--cyan)}
.btn{display:inline-flex;gap:10px;align-items:center;padding:15px 24px;font:600 16px/1 var(--sans);text-decoration:none;border-radius:4px;white-space:nowrap}
.btn svg{width:18px}.btn-blue{background:var(--blue);color:#fff;outline:1px solid var(--blue2);outline-offset:3px}.btn-line{border:1px solid var(--line2);color:#fff}
.top{border-bottom:1px solid var(--line);font:400 12.5px var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.top .wrap{display:flex;gap:28px;height:38px;align-items:center}.top .r{margin-left:auto;display:flex;gap:24px}
header{border-bottom:1px solid var(--line);background:rgba(7,21,42,.92);position:sticky;top:0;z-index:5}
header .wrap{display:flex;align-items:center;height:82px;gap:20px}
header img{height:34px}
nav{display:flex;margin-left:auto;gap:2px}nav a{font:500 14.5px var(--sans);text-decoration:none;color:#c4d3e6;padding:8px 11px;white-space:nowrap;border:1px solid transparent}
nav a.on{border-color:var(--line2);color:#fff;background:rgba(125,180,255,.08)}
.hp{font:600 15px var(--mono);display:flex;gap:8px;align-items:center;padding-left:18px;border-left:1px solid var(--line);white-space:nowrap}.hp svg{width:16px;color:var(--cyan)}
/* hero */
.hero{border-bottom:1px solid var(--line)}
.hero .wrap{display:grid;grid-template-columns:1fr 1fr;min-height:700px}
.hero .l{padding:90px 56px 70px 0;border-right:1px solid var(--line);display:flex;flex-direction:column}
.hero h1{font-size:70px;font-weight:900}
.hero h1 em{font-style:normal;color:var(--cyan)}
.hero .lede{font-size:20px;color:#bccbdd;margin:28px 0 34px;max-width:520px}
.hero .ctas{display:flex;gap:14px}
.hero .tag{margin-top:auto;padding-top:40px;font:500 13px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.sheet{position:relative;padding:90px 0 70px 56px;display:flex;flex-direction:column}
.sheet .draw{flex:1;position:relative;border:1px solid var(--line2);display:grid;place-items:center;padding:40px;background:rgba(7,21,42,.6)}
.sheet .draw img.dw{width:64%;margin:-90px 150px 0 0;filter:invert(1);mix-blend-mode:screen;opacity:.92}
.cl{position:absolute;font:500 11.5px/1.4 var(--mono);text-transform:uppercase;color:#cfe1fb;letter-spacing:.04em}
.cl b{color:var(--cyan);display:block}
.cl::before{content:"";position:absolute;width:9px;height:9px;border:1px solid var(--cyan);border-radius:50%}
.cl1{top:24px;left:28px}.cl1::before{left:-18px;top:5px}
.cl2{right:28px;top:auto;bottom:214px}.cl2::before{left:-18px;top:5px}
.photo-in{position:absolute;right:-1px;bottom:-1px;width:230px;border:1px solid var(--line2);background:var(--bg)}
.photo-in img{width:100%;aspect-ratio:4/3;object-fit:cover}
.photo-in span{display:block;padding:8px 10px;font:500 11px var(--mono);text-transform:uppercase;color:var(--muted)}
.tb{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line2);border-top:0}
.tb div{padding:12px 14px;border-left:1px solid var(--line2)}.tb div:first-child{border-left:0}
.tb small{display:block;font:400 10.5px var(--mono);text-transform:uppercase;color:var(--muted);letter-spacing:.06em}
.tb b{font:600 14px var(--mono);text-transform:uppercase}
/* readout */
.readout{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.readout div{padding:34px 28px;border-left:1px solid var(--line)}.readout div:first-child{border-left:0;padding-left:0}
.readout b{display:block;font:800 46px/1 var(--sans);letter-spacing:-.03em}
.readout b small{font:500 15px var(--mono);color:var(--cyan);margin-left:6px}
.readout span{font:400 12.5px var(--mono);text-transform:uppercase;color:var(--muted);letter-spacing:.05em}
/* brands */
.brands{display:grid;grid-template-columns:200px repeat(5,1fr);border-bottom:1px solid var(--line)}
.brands div{border-left:1px solid var(--line);display:grid;place-items:center;padding:24px 18px;min-height:110px}
.brands div:first-child{border-left:0;place-items:center start;padding-left:0}
.brands img{max-height:40px;width:auto;filter:brightness(0) invert(1);opacity:.85}.brands img.t{max-height:58px}
.brands .x{font:700 17px var(--sans);text-align:center}
/* sections */
section{padding:110px 0}
.head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:50px}.head p{color:var(--muted);margin:0;font-size:18px}
.svcs{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line2);border-left:1px solid var(--line)}
.sv{display:grid;grid-template-columns:170px 1fr;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;background:rgba(7,21,42,.6)}
.sv img{width:170px;height:auto;aspect-ratio:1/1;align-self:start;object-fit:cover;filter:saturate(.7)}
.sv .bd{padding:24px 26px}
.sv .mono{color:var(--cyan)}
.sv h3{margin:6px 0 8px}.sv p{color:var(--muted);font-size:15.5px;margin:0 0 10px}
.sv .stk{font:400 11.5px var(--mono);text-transform:uppercase;color:#9fd8b4}
.diag{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:start}
.diag .dwb{border:1px solid var(--line2);padding:30px;position:relative}
.diag .dwb img{width:100%;filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen}
.diag .dwb .mono{color:var(--muted);margin-top:16px;display:flex;justify-content:space-between}
.sym{border:1px solid var(--line2)}
.sym .h{display:grid;grid-template-columns:1fr auto;padding:12px 20px;background:var(--blue);font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.06em}
.sym .r{display:grid;grid-template-columns:minmax(200px,1fr) auto;gap:14px;padding:15px 20px;border-top:1px solid var(--line);align-items:center}
.sym .r strong{font-weight:600}
.tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.tg{font:500 11px var(--mono);text-transform:uppercase;border:1px solid var(--line2);color:var(--cyan);padding:4px 8px}
.why .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center}
.why .pic{position:relative;border:1px solid var(--line2);padding:10px}
.why .pic img{width:100%;aspect-ratio:4/3;object-fit:cover}
.why .pic .mono{position:absolute;left:10px;bottom:10px;background:var(--bg);padding:10px 14px;border-top:1px solid var(--line2);border-right:1px solid var(--line2)}
.facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line2);margin-top:30px}
.fact{padding:20px 20px 20px 0;border-bottom:1px solid var(--line)}.fact:nth-child(even){padding-left:20px;border-left:1px solid var(--line)}
.fact .mono{color:var(--cyan)}.fact h3{font-size:18px;margin:6px 0 4px}.fact p{font-size:15px;color:var(--muted);margin:0}
.eq{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.eqc{overflow:hidden;border:1px solid var(--line2);display:grid;grid-template-rows:auto auto;text-decoration:none;background:var(--bg2)}
.eqc img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover}
.eqc .bd{padding:28px}
.eqc h3{font-size:32px;font-weight:800;margin:6px 0 10px}.eqc p{color:var(--muted)}
.eqc table{width:100%;border-collapse:collapse;margin:6px 0 22px;font:400 13px var(--mono);text-transform:uppercase}
.eqc td{padding:9px 0;border-top:1px solid var(--line)}.eqc td:last-child{text-align:right;color:#fff}.eqc td:first-child{color:var(--muted)}
.cta{border:1px solid var(--line2);display:grid;grid-template-columns:1.3fr 1fr;background:var(--blue)}
.cta>div{padding:60px}
.cta>div+div{border-left:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.18)}
.cta p{color:#d3e3f8;font-size:19px;margin:16px 0 0}
.cta .ph{font:800 54px/1 var(--sans);letter-spacing:-.03em;display:block;margin:10px 0 22px;text-decoration:none}
.btn-white{background:#fff;color:var(--blue)}
footer{border-top:1px solid var(--line);margin-top:110px;padding:60px 0 26px;color:var(--muted);font-size:15px}
.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}.fg h4{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#fff;margin:0 0 14px}
.fg ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}.fg img{height:32px;margin-bottom:16px}.fg address{font-style:normal;line-height:1.85}
.fb{display:flex;justify-content:space-between;margin-top:46px;padding-top:18px;border-top:1px solid var(--line);font:400 12px var(--mono);text-transform:uppercase}

/* ---------- shared additions ---------- */
html{scroll-behavior:smooth}
header .logo{display:block}header img{width:auto}
.hp{text-decoration:none}
.top a{text-decoration:none}.top a:hover{color:#fff}
nav a:hover{color:#fff;border-color:var(--line)}
.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line2);color:#fff;padding:8px}
.nav-toggle svg{width:22px;display:block}
.svcs a.sv:hover{background:rgba(20,99,199,.12)}
.sv .go{display:inline-flex;gap:6px;align-items:center;font:500 12px var(--mono);text-transform:uppercase;color:var(--cyan);margin-top:6px}
.sv .go svg{width:14px}
.sym .r .tg{text-decoration:none}.sym .r a.tg:hover{background:var(--blue);color:#fff}
.mobile-call{display:none}
/* interior hero */
.phero{border-bottom:1px solid var(--line)}
.phero .wrap{display:grid;grid-template-columns:1.25fr .9fr;min-height:440px}
.phero .l{padding:72px 56px 64px 0;border-right:1px solid var(--line)}
.crumb{font:400 12.5px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:24px}
.crumb a{color:var(--cyan);text-decoration:none}
.phero h1{font-size:68px;font-weight:900}
.phero p.in{font-size:20px;color:#bccbdd;margin:24px 0 0;max-width:620px}
.phero .r{padding:56px 0 56px 48px;display:flex;flex-direction:column;justify-content:flex-end;gap:0}
.phero .fig{border:1px solid var(--line2);position:relative;flex:1;min-height:200px;overflow:hidden}
.phero .fig img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}
.phero .fig img.dw{object-fit:contain;filter:invert(1);mix-blend-mode:screen;padding:24px;opacity:.9}
.phero .fig .cap{position:absolute;left:0;bottom:0;background:var(--bg);border-top:1px solid var(--line2);border-right:1px solid var(--line2);padding:7px 12px;font:500 11px var(--mono);text-transform:uppercase;color:var(--muted)}
.qf{border:1px solid var(--line2);border-top:0}
.qf div{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;border-top:1px solid var(--line)}
.qf div:first-child{border-top:0}
.qf small{font:400 11px var(--mono);text-transform:uppercase;color:var(--muted);letter-spacing:.05em;padding-top:2px}
.qf b{font:600 13px var(--mono);text-transform:uppercase;text-align:right}
/* service sheets */
.sheetx{display:grid;grid-template-columns:420px 1fr;border:1px solid var(--line2);background:rgba(11,29,55,.85);margin-bottom:32px;scroll-margin-top:110px}
.sheetx .media{border-right:1px solid var(--line2);display:grid;grid-template-rows:1fr auto}
.sheetx .media img.p{width:100%;height:100%;min-height:300px;object-fit:cover}
.sheetx .media .dwr{border-top:1px solid var(--line2);padding:14px 18px;display:flex;gap:16px;align-items:center;font:400 11.5px var(--mono);text-transform:uppercase;color:var(--muted)}
.sheetx .media .dwr img{height:64px;width:auto;filter:invert(1);mix-blend-mode:screen}
.sheetx .bd{padding:38px 42px}
.sheetx .tp{display:flex;justify-content:space-between;margin-bottom:10px}
.sheetx h2{font-size:40px;margin-bottom:16px}
.sheetx p{color:#bccbdd}
.spec{width:100%;border-collapse:collapse;margin:22px 0 26px;font-size:15.5px}
.spec th{width:160px;text-align:left;vertical-align:top;font:500 11.5px var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:13px 0;border-top:1px solid var(--line)}
.spec td{padding:11px 0;border-top:1px solid var(--line)}
.spec ul{margin:0;padding-left:18px}
.spec .ok{color:#9fd8b4}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chip{border:1px solid var(--line2);padding:9px 14px;font:500 12.5px var(--mono);text-transform:uppercase;color:#d6e4f6}
.box{border:1px solid var(--line2);background:rgba(11,29,55,.85);padding:36px}
.box h3{font-size:26px;margin-bottom:16px}
/* comparison */
.cmp{width:100%;border-collapse:collapse;border:1px solid var(--line2);background:rgba(11,29,55,.85)}
.cmp th,.cmp td{padding:17px 22px;text-align:left;border-bottom:1px solid var(--line)}
.cmp thead th{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.cmp thead th.us{background:var(--blue);color:#fff}
.cmp td.us{background:rgba(0,72,155,.28);font-weight:600}
.cmp td.us svg{width:16px;color:var(--cyan);vertical-align:-2px;margin-right:8px}
.cmp td:first-child{font:500 12px var(--mono);text-transform:uppercase;color:var(--muted)}
.cmp td:last-child{color:var(--muted)}
.facts6{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line2);border-left:1px solid var(--line)}
.facts6>div{padding:30px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(7,21,42,.6)}
.facts6 .i{width:44px;height:44px;border:1px solid var(--line2);display:grid;place-items:center;color:var(--cyan);margin-bottom:18px}
.facts6 .i svg{width:20px}
.facts6 h3{font-size:20px;margin-bottom:6px}.facts6 p{color:var(--muted);font-size:15.5px;margin:0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.split .pic{border:1px solid var(--line2);padding:10px;position:relative}
.split .pic img{width:100%;aspect-ratio:4/3;object-fit:cover}
.split .pic .mono{position:absolute;left:10px;bottom:10px;background:var(--bg);padding:9px 13px;border-top:1px solid var(--line2);border-right:1px solid var(--line2)}
.split p{color:#bccbdd;font-size:18px}
/* inventory */
.toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.seg{display:inline-flex;border:1px solid var(--line2)}
.seg button{background:none;border:0;border-left:1px solid var(--line2);color:var(--muted);padding:11px 18px;font:500 12.5px var(--mono);text-transform:uppercase;letter-spacing:.05em;cursor:pointer}
.seg button:first-child{border-left:0}
.seg button.active{background:var(--blue);color:#fff}
.inv{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.unit{border:1px solid var(--line2);background:rgba(11,29,55,.9);display:flex;flex-direction:column}
.unit figure{margin:0;position:relative;aspect-ratio:4/3;overflow:hidden;border-bottom:1px solid var(--line2)}
.unit figure img{width:100%;height:100%;object-fit:cover}
.unit .st{position:absolute;left:12px;top:12px;font:500 11px var(--mono);text-transform:uppercase;padding:5px 9px;background:var(--bg);border:1px solid var(--line2)}
.unit .st.ok{background:#0f7b45;border-color:#0f7b45}
.unit .smp{position:absolute;right:12px;top:12px;font:400 10.5px var(--mono);text-transform:uppercase;padding:5px 8px;background:rgba(7,21,42,.8);color:var(--muted)}
.unit .bd{padding:22px;display:flex;flex-direction:column;flex:1}
.unit .mono{color:var(--cyan)}
.unit h3{margin:6px 0 14px}
.unit table{width:100%;border-collapse:collapse;font:400 13px var(--mono);text-transform:uppercase;margin-bottom:20px}
.unit td{padding:8px 0;border-top:1px solid var(--line)}.unit td:first-child{color:var(--muted)}.unit td:last-child{text-align:right}
.unit .ft{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px}
.unit .ft b{font:700 17px var(--sans)}
.unit .btn{padding:11px 16px;font-size:14px}
.note{font:400 11.5px var(--mono);text-transform:uppercase;color:var(--muted);margin-top:20px}
.rates{width:100%;border-collapse:collapse;border:1px solid var(--line2);background:rgba(11,29,55,.85)}
.rates th,.rates td{padding:17px 22px;text-align:left;border-bottom:1px solid var(--line)}
.rates thead th{background:var(--blue);font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.06em}
.rates td{font:400 13px var(--mono);text-transform:uppercase;color:var(--muted)}
.rates td:first-child{font:700 16px var(--sans);text-transform:none;color:#fff}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ticks li{display:flex;gap:12px;color:#d3dfee}
.ticks svg{width:19px;flex:0 0 19px;color:var(--cyan);margin-top:4px}
/* forms */
form.f{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form.f .full{grid-column:1/-1}
form.f label{display:block;font:500 11.5px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:7px}
form.f input,form.f select,form.f textarea{width:100%;background:var(--bg);border:1px solid var(--line2);color:#fff;padding:13px 14px;font:400 16px var(--sans);border-radius:0;color-scheme:dark}
form.f input:focus,form.f select:focus,form.f textarea:focus{outline:1px solid var(--cyan);border-color:var(--cyan)}
form.f textarea{min-height:120px;resize:vertical}
/* faq */
.faqwrap{display:grid;grid-template-columns:260px 1fr;gap:60px;align-items:start}
.faqnav{position:sticky;top:110px;border:1px solid var(--line2)}
.faqnav a{display:block;padding:13px 16px;font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-decoration:none;border-top:1px solid var(--line)}
.faqnav a:first-child{border-top:0;color:#fff;background:var(--blue)}
.qa{border-top:1px solid var(--line2)}
.qa details{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:56px 1fr 24px;gap:12px;padding:22px 0;align-items:center;font:600 19px/1.3 var(--sans);letter-spacing:-.01em}
.qa summary::-webkit-details-marker{display:none}
.qa summary .mono{color:var(--cyan)}
.qa summary svg{width:20px;color:var(--cyan);transition:.2s}
.qa details[open] summary svg{transform:rotate(45deg)}
.qa .a{padding:0 40px 22px 68px;color:#bccbdd}
.faqgroup{margin-bottom:64px;scroll-margin-top:110px}
.faqgroup h2{font-size:36px;margin-bottom:22px}
/* contact */
.cgrid{display:grid;grid-template-columns:1.2fr .9fr;gap:32px;align-items:start}
.clist{border:1px solid var(--line2);background:rgba(11,29,55,.85)}
.clist>div,.clist>a{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:20px 22px;border-top:1px solid var(--line);text-decoration:none}
.clist>*:first-child{border-top:0}
.clist .i{width:44px;height:44px;border:1px solid var(--line2);display:grid;place-items:center;color:var(--cyan)}.clist .i svg{width:20px}
.clist small{display:block;font:400 11px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.clist b{font:700 19px/1.3 var(--sans)}
.map{border:1px solid var(--line2);padding:8px;margin-top:24px;background:rgba(11,29,55,.85)}
.map iframe{display:block;width:100%;height:300px;border:0;filter:invert(.9) hue-rotate(180deg) saturate(.6)}
footer a{text-decoration:none}footer a:hover{color:#fff}
.phero .fig{max-height:360px}
/* graph-paper background (SVG pattern: reliable in all browsers + PDF) */
html,body.grid{background-color:#07152a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cg fill='none'%3E%3Cpath d='M24 0V120M48 0V120M72 0V120M96 0V120M0 24H120M0 48H120M0 72H120M0 96H120' stroke='%2378aaeb' stroke-opacity='.09' stroke-width='1'/%3E%3Cpath d='M0 .5H120M.5 0V120' stroke='%2378aaeb' stroke-opacity='.22' stroke-width='1'/%3E%3C/g%3E%3C/svg%3E");background-size:120px 120px;background-repeat:repeat;background-position:center top;-webkit-print-color-adjust:exact;print-color-adjust:exact}
/* drawings are pre-rendered white-line PNGs with transparency */
.sheet .draw img.dw,.diag .dwb img,.phero .fig img.dw,.sheetx .media .dwr img{filter:none!important;mix-blend-mode:normal!important;opacity:1}
/* let the grid show through header + panels */
header{background:rgba(7,21,42,.82)}

/* services: jump index + compact 2-col grid */
.toc{border:1px solid var(--line2);background:rgba(11,29,55,.85)}
.toc-h{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line2)}
.toc-g{display:grid;grid-template-columns:repeat(4,1fr)}
.toc-g a{display:grid;grid-template-columns:30px 1fr 16px;gap:10px;align-items:center;padding:16px 20px;text-decoration:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.toc-g a:nth-child(4n){border-right:0}.toc-g a:nth-last-child(-n+4){border-bottom:0}
.toc-g a .mono{color:var(--cyan)}.toc-g a b{font-weight:600;font-size:16px}.toc-g a svg{width:15px;color:var(--muted)}
.toc-g a:hover{background:rgba(20,99,199,.18)}.toc-g a:hover svg{color:#fff}
.toc-g a.rest b{color:var(--cyan)}
.svcgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.svc2{display:grid;grid-template-columns:220px 1fr;border:1px solid var(--line2);background:rgba(11,29,55,.88);scroll-margin-top:110px}
.svc2 .media{position:relative;border-right:1px solid var(--line2);aspect-ratio:1/1;align-self:start}
.svc2 .media img.p{width:100%;height:100%;object-fit:cover;filter:saturate(.8)}
.svc2 .media img.mini{position:absolute;left:8px;bottom:8px;width:76px;background:rgba(7,21,42,.85);border:1px solid var(--line2);padding:5px}
.svc2 .bd{padding:20px 22px;display:flex;flex-direction:column}.svc2 .bd2{grid-column:1/-1;padding:0 22px 18px;display:flex;flex-direction:column;border-top:1px solid var(--line2)}.svc2 .bd2 .kv:first-child{border-top:0}.svc2 .bd2 .ft{margin-top:6px}
.svc2 .tp{display:flex;justify-content:space-between;margin-bottom:6px}
.svc2 h2{font-size:25px;letter-spacing:-.02em;margin-bottom:8px}
.svc2 p{font-size:14.5px;line-height:1.5;color:#bccbdd;margin:0 0 12px}
.svc2 .kv{display:grid;grid-template-columns:78px 1fr;gap:10px;padding:8px 0;border-top:1px solid var(--line);align-items:start}
.svc2 .kv small{font:400 10.5px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:4px}
.svc2 .kv .tags{justify-content:flex-start}.svc2 .tg{font-size:10.5px;padding:3px 7px}
.svc2 .sy{font-size:13.5px;line-height:1.5;color:#d6e2f1}
.svc2 .kv .ok{font-size:14px;color:#9fd8b4}
.svc2 .ft{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}
.svc2 .lnk{white-space:nowrap;display:inline-flex;gap:8px;align-items:center;font:600 14px var(--sans);color:#fff;text-decoration:none;background:var(--blue);padding:9px 14px}
.svc2 .lnk svg{width:15px}
.svc2.feature{border-color:var(--cyan);background:linear-gradient(135deg,rgba(0,72,155,.35),rgba(11,29,55,.9))}
.svc2.more{grid-template-columns:1fr}
.svc2.more .chips{margin-top:4px}.svc2.more .chip{font-size:11px;padding:7px 10px}
/* restoration */
.ba{display:grid;grid-template-columns:1fr 200px 1fr;align-items:center;gap:0}
.bafig{position:relative;border:1px solid var(--line2);padding:10px;background:rgba(11,29,55,.85)}
.bafig img{width:100%;aspect-ratio:4/3;object-fit:cover}
.bafig .cap{display:block;font:500 11px var(--mono);text-transform:uppercase;color:var(--muted);padding:10px 2px 2px}
.tagb{position:absolute;left:20px;top:20px;z-index:1;font:600 11.5px var(--mono);text-transform:uppercase;letter-spacing:.08em;padding:6px 10px;background:#7a2a1c;border:1px solid #c0533c}
.tagb.ok{background:#0f7b45;border-color:#3fbf7f}
.bamid{text-align:center;color:var(--cyan);padding:0 16px}
.bamid svg{width:120px;margin:0 auto 10px}
.bamid p{font:400 11px var(--mono);text-transform:uppercase;color:var(--muted);margin:0}
.rsteps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line2);border-left:1px solid var(--line)}
.rs{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(7,21,42,.6);position:relative}
.rs .n{display:inline-grid;place-items:center;width:46px;height:46px;border:1px solid var(--cyan);border-radius:50%;font:600 14px var(--mono);color:var(--cyan);margin-bottom:16px}
.rs h3{font-size:20px;margin-bottom:6px}.rs p{color:var(--muted);font-size:15.5px;margin:0}
.dwbox{border:1px solid var(--line2);padding:26px;margin-top:28px;display:flex;flex-direction:column;align-items:center;gap:12px;background:rgba(11,29,55,.6)}
.dwbox img{width:70%}.dwbox .mono{color:var(--muted)}
.rfaq{grid-template-columns:.8fr 1.2fr}
@media (max-width:1100px){.rfaq{grid-template-columns:1fr}}
.cmp.scope td:first-child{font:600 15px var(--sans);text-transform:none;color:#fff;width:34%}
.cmp.scope td:last-child{color:#c9d7e8}
@media (max-width:1100px){.svcgrid{grid-template-columns:1fr}.toc-g{grid-template-columns:1fr 1fr}.toc-g a:nth-child(4n){border-right:1px solid var(--line)}.toc-g a:nth-child(2n){border-right:0}.toc-g a:nth-last-child(-n+4){border-bottom:1px solid var(--line)}.toc-g a:nth-last-child(-n+2){border-bottom:0}
 .ba{grid-template-columns:1fr}.bamid{padding:20px 0}.bamid svg{transform:rotate(90deg);width:60px}.rsteps{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.svc2{grid-template-columns:1fr}.svc2 .media{border-right:0;border-bottom:1px solid var(--line2);height:auto;width:100%;aspect-ratio:1/1}.toc-g{grid-template-columns:1fr}.toc-g a{border-right:0!important;border-bottom:1px solid var(--line)!important}.rsteps{grid-template-columns:1fr}.svc2 .ft{flex-direction:column;align-items:flex-start}}
/* 8-item nav fit */
nav a{padding:8px 9px;font-size:14px}
@media (max-width:1400px){.hp{display:none}}
/* ---------- responsive ---------- */
@media (max-width:1240px){nav a{padding:8px 7px;font-size:14px}.hp{display:none}}
@media (max-width:1100px){
  .nav-toggle{display:block}
  nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--bg);flex-direction:column;padding:10px 28px 22px;border-bottom:1px solid var(--line2)}
  nav.open{display:flex} nav a{padding:14px 6px;font-size:17px;border:0;border-bottom:1px solid var(--line)}
  .hero .wrap,.phero .wrap{grid-template-columns:1fr}
  .hero .l,.phero .l{border-right:0;padding-right:0}
  .sheet,.phero .r{padding-left:0;padding-top:0}.sheet{padding-bottom:50px}
  .head,.diag,.why .wrap,.split,.cgrid,.faqwrap,.cta{grid-template-columns:1fr}
  .faqnav{display:none}
  .svcs{grid-template-columns:1fr}
  .brands{grid-template-columns:repeat(3,1fr)} .brands div:first-child{grid-column:1/-1;border-bottom:1px solid var(--line);padding:16px 0;min-height:0}
  .brands div:nth-child(2){border-left:0}
  .inv,.facts6{grid-template-columns:1fr 1fr}
  .sheetx{grid-template-columns:1fr} .sheetx .media{border-right:0;border-bottom:1px solid var(--line2)}
  .cta>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.2)}
  .fg{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  body{font-size:16px}
  .top .wrap>span{display:none} .top .r span.hide-sm{display:none}
  header .wrap{height:68px} header img{height:26px} nav{top:68px}
  .wrap{padding:0 20px}
  .hero .l{padding:48px 0 40px} .hero h1{font-size:48px} .phero .l{padding:44px 0 36px} .phero h1{font-size:44px}
  .hero .ctas{flex-direction:column;align-items:flex-start}
  .sheet .draw{min-height:320px} .sheet .draw img.dw{width:80%;margin:0} .photo-in{width:150px} .cl2{display:none}
  .tb{grid-template-columns:1fr 1fr} .tb div:nth-child(3){border-left:0} .tb div:nth-child(n+3){border-top:1px solid var(--line2)}
  h2{font-size:36px}
  section{padding:72px 0}
  .readout{grid-template-columns:1fr 1fr} .readout div{padding:22px 0 !important;border-left:0 !important} .readout b{font-size:36px}
  .brands{grid-template-columns:1fr 1fr} .brands div:nth-child(2n){border-left:0} .brands div:nth-child(n+2){border-top:1px solid var(--line)}
  .sv{grid-template-columns:110px 1fr} .sv img{width:110px} .sv .bd{padding:18px}
  .sym .r{grid-template-columns:1fr} .tags{justify-content:flex-start}
  .facts{grid-template-columns:1fr} .fact:nth-child(even){padding-left:0;border-left:0}
  .eq,.inv,.facts6,.cols2{grid-template-columns:1fr}
  .eqc{grid-template-rows:auto auto}
  .cta>div{padding:34px 24px} .cta .ph{font-size:40px}
  .sheetx .bd{padding:26px 22px} .sheetx h2{font-size:30px} .spec th{width:100px}
  .cmp th,.cmp td,.rates th,.rates td{padding:12px 10px;font-size:13px}
  .qa summary{grid-template-columns:36px 1fr 20px;font-size:17px} .qa .a{padding:0 0 20px 48px}
  form.f{grid-template-columns:1fr}
  .box{padding:26px 22px}
  .fg{grid-template-columns:1fr} .fb{flex-direction:column;gap:6px}
  .mobile-call{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--blue);color:#fff;justify-content:center;align-items:center;gap:10px;padding:16px;font:600 17px var(--sans);text-decoration:none;border-top:1px solid var(--blue2)}
  .mobile-call svg{width:19px}
  footer{padding-bottom:90px}
}

/* =====================================================================
   PRODUCTION ADDITIONS (accessibility, forms, utilities)
   ===================================================================== */
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:#fff;color:var(--blue);padding:10px 16px;font:600 15px var(--sans);text-decoration:none}
.skip-link:focus{top:12px}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
button.btn{border:0;cursor:pointer;font-family:var(--sans)}
.fg img{width:auto}
button.btn:disabled{opacity:.6;cursor:wait}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-status{margin:12px 0 0;font:400 14px var(--sans);color:var(--cyan)}
.form-status:empty{display:none}
[hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---- Utilities (replace former inline styles; !important so they win like inline did) ---- */
.u-align-start{align-items:start!important}
.u-center{text-align:center!important}
.u-cyan{color:var(--cyan)!important}
.u-fs-14{font-size:14px!important}
.u-fs-17{font-size:17px!important}
.u-fs-18{font-size:18px!important}
.u-fs-36{font-size:36px!important}
.u-fs-40{font-size:40px!important}
.u-ice{color:#cfe0f7!important}
.u-justify-center{justify-content:center!important}
.u-lede-gap{margin:18px 0 26px!important}
.u-m-0{margin:0!important}
.u-mb-26{margin-bottom:26px!important}
.u-mt-18{margin-top:18px!important}
.u-mt-20{margin-top:20px!important}
.u-mt-22{margin-top:22px!important}
.u-mt-24{margin-top:24px!important}
.u-mt-28{margin-top:28px!important}
.u-mt-56{margin-top:56px!important}
.u-mt-6{margin-top:6px!important}
.u-muted{color:var(--muted)!important}
.u-mx-auto{margin-left:auto!important;margin-right:auto!important}
.u-p-0{padding:0!important}
.u-pb-0{padding-bottom:0!important}
.u-pt-0{padding-top:0!important}
.u-pt-40{padding-top:40px!important}
.u-pt-64{padding-top:64px!important}
.u-pt-72{padding-top:72px!important}
.u-pt-80{padding-top:80px!important}
.u-scroll-x{overflow-x:auto!important}
.u-soft{color:#bccbdd!important}
.u-w-70{width:70%!important}
.u-white{color:#fff!important}
.readout,.brands,.diag .dwb,.sym,.facts,.why .pic{background:rgba(7,21,42,.6)}
.tb{background:rgba(7,21,42,.6)}
.readout div{border-left:0}
.brands div{border-left:0}
.sym .r{border-top:0}
.facts{border-top:0}.fact,.fact:nth-child(even){border-bottom:0;border-left:0}
.hero .ctas .btn-line{background:#5aa9f5;border-color:#5aa9f5;color:#07152a;box-shadow:none}.hero .ctas .btn-line:hover{background:#7dbbf8;border-color:#7dbbf8;color:#07152a}
/* other pages: same darker boxes and no list dividers as the homepage */
.qf,.faqnav,.split .pic,.dwbox,.bafig{background:rgba(7,21,42,.6)}
.qf div,.faqnav a{border-top:0}
.qa,.qa details{border-top:0;border-bottom:0}
.facts6,.rsteps{border-top:0;border-left:0}
.facts6>div,.rs{border-right:0;border-bottom:0}
.phero .fig{background:rgba(7,21,42,.6)}
.rfaq .qa{background:rgba(7,21,42,.6);border:1px solid var(--line2);padding:6px 24px}
body:has(.faqwrap) .phero{border-bottom:0}body:has(.faqwrap) .phero .l{border-right:0}
.faqgroup .qa{background:rgba(7,21,42,.6);border:1px solid var(--line2);padding:6px 24px}
footer{border-top:0}footer .fb{border-top:0}
.hero{border-bottom:0}.hero .l{border-right:0}
.phero{border-bottom:0}.phero .l{border-right:0}
footer{background:rgba(7,21,42,.6)}

/* ---------- mobile polish (phones only; desktop unchanged) ---------- */
@media (max-width:720px){
  section{padding:56px 0}
  footer{margin-top:64px}
  .head{gap:14px;margin-bottom:32px}
  /* home hero: drawing box laid out top-to-bottom instead of overlapping */
  .sheet .draw{display:flex;flex-direction:column;align-items:stretch;gap:14px;min-height:0;padding:62px 16px 0}
  .sheet .draw img.dw{width:100%!important;max-width:100%!important;margin:0!important;align-self:center}
  .cl1{top:20px;left:36px}
  .photo-in{position:static;width:60%;align-self:flex-end;margin:0 -17px -1px 0}
  /* hero buttons: same width */
  .hero .ctas{align-items:stretch}
  .hero .ctas .btn{width:100%;justify-content:center}
  /* stats row */
  .readout div{padding:20px 14px 20px 0!important}
  .readout span{display:block;margin-top:8px;line-height:1.5}
  /* brands: last logo centred on its own row */
  .brands div:last-child{grid-column:1/-1}
  /* services: shorter photos */
  .svc2 .media{aspect-ratio:3/2}
  /* lists: align with headings */
  .facts6>div,.rs{padding-left:0;padding-right:0}
  /* before/after arrow */
  .bamid{padding:30px 0}
  .bamid svg{margin:16px auto 24px}
  /* top-of-page photo not so tall */
  .phero .fig:not(.map-embed){max-height:280px}
  .phero .fig.map-embed{max-height:none;overflow:visible}
  .phero .fig.map-embed p{margin-top:12px!important}
  /* footer links easier to tap */
  .fg ul{gap:0}
  .fg li a{display:block;padding:7px 0}
  /* form buttons full width */
  form.f .full>.btn{width:100%;justify-content:center}
}

@media (max-width:720px){.phero .fig.map-embed{margin-bottom:18px;border:0;background:none}.phero .fig.map-embed p{font-size:14px!important}}
