@font-face{font-family:Poppins;font-weight:400;font-display:swap;src:url(fonts/Poppins-Regular.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:500;font-display:swap;src:url(fonts/Poppins-Medium.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:600;font-display:swap;src:url(fonts/Poppins-SemiBold.woff2) format("woff2")}
@font-face{font-family:"Plex Mono";font-weight:500;font-display:swap;src:url(fonts/PlexMono-Medium.woff2) format("woff2")}

:root{--red:#f00;--red-d:#c40000;--ink:#0b0b0c;--mist:#f2f2f3;--line:#d8d8dc;--mute:#5a5a60;--dmute:#b4b4ba;--dline:rgba(255,255,255,.17);
  --pad:clamp(20px,3.75vw,110px);--panel-w:clamp(380px,28vw,660px);--photo-w:clamp(300px,25vw,660px);--top:72px;
  --mono:"Plex Mono",ui-monospace,Consolas,monospace}
*{box-sizing:border-box;border-radius:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--top) + 12px);-webkit-text-size-adjust:100%}
body{margin:0;font:400 16px/1.55 Poppins,Arial,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,dl,dd,ol,ul,figure,fieldset,legend{margin:0;padding:0;border:0}
ol,ul{list-style:none}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button{font:inherit;color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}

/* shared pieces */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;background:var(--red);color:#fff;font-weight:600;font-size:16px;line-height:1.2;text-decoration:none;border:0;cursor:pointer;transition:background .15s}
.btn::after{content:"\2192";font-family:var(--mono);transition:transform .15s}
.btn:hover{background:var(--red-d)}.btn:hover::after{transform:translateX(4px)}
.btn[disabled]{background:#8a8a90;cursor:wait}
.btn-s{padding:11px 16px;font-size:14px}
.btn-k{background:var(--ink)}.btn-k:hover{background:#2a2a2d}
.kicker{font:500 12.5px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;display:flex;align-items:center;gap:11px}
.kicker::before{content:"";width:9px;height:9px;background:var(--red);transform:rotate(-24deg);flex:none}
.sec{padding:clamp(72px,8.5vw,150px) var(--pad)}
.dark{background:var(--ink);color:#fff}
.head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:22px clamp(24px,5vw,96px);align-items:end;margin-bottom:clamp(36px,5vw,76px)}
.head .kicker{grid-column:1/-1}
h2{font-weight:600;font-size:clamp(32px,4vw,104px);line-height:1.04;letter-spacing:-.032em}
.lede{font-size:clamp(16px,1.2vw,24px);color:var(--mute);max-width:34em}
.dark .lede{color:var(--dmute)}
.sec img,.recog img{filter:grayscale(1) contrast(1.06);transition:filter .35s}

/* header */
.top{position:fixed;inset:0 0 auto;z-index:20;height:var(--top);display:flex;align-items:center;gap:clamp(16px,2.4vw,40px);padding:0 var(--pad);color:#fff;transition:background .2s,box-shadow .2s}
.top.solid{background:rgba(11,11,12,.94);box-shadow:0 1px 0 var(--dline);backdrop-filter:blur(10px)}
.logo img{height:40px;width:auto}
.top nav{display:flex;gap:clamp(14px,1.8vw,30px);margin-left:auto;font-size:14px;font-weight:500}
.top nav a{text-decoration:none;color:#d6d6da;padding:6px 0;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
.top nav a:hover{color:#fff;border-color:var(--red)}
.top-tel{font:500 15px var(--mono);text-decoration:none;white-space:nowrap}

/* hero */
.hero{position:relative;display:flex;flex-direction:column;min-height:max(100svh,780px);padding-top:var(--top);background:var(--ink);color:#fff;overflow:hidden}
#city{position:absolute;inset:0;width:100%;height:100%}
.hero-photo{position:absolute;top:0;bottom:0;right:calc(var(--pad) + var(--panel-w) - 56px);width:var(--photo-w);height:100%;object-fit:cover;object-position:60% top;filter:grayscale(1) contrast(1.12) brightness(1.08);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 42%,#000 78%,transparent),linear-gradient(#000 62%,transparent 92%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent,#000 42%,#000 78%,transparent),linear-gradient(#000 62%,transparent 92%);mask-composite:intersect}
.hero-in{position:relative;z-index:2;flex:1;display:grid;grid-template-columns:minmax(0,1fr) var(--panel-w);gap:40px;align-items:center;padding:clamp(24px,3vw,48px) var(--pad)}
.pitch{padding-right:calc(var(--photo-w) - 90px)}
.tag{display:flex;align-items:center;gap:11px;font:500 12.5px/1.3 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#e2e2e6;margin-bottom:26px}
.tag i{width:9px;height:9px;background:var(--red);flex:none;animation:blink 2.4s steps(2) infinite}
@keyframes blink{50%{opacity:.25}}
h1{font-weight:600;font-size:clamp(40px,4.35vw,128px);line-height:1.02;letter-spacing:-.038em;max-width:10.6em;text-wrap:balance}
h1 em{font-style:normal;color:var(--red)}
.sub{margin-top:24px;font-size:clamp(16px,1.2vw,25px);line-height:1.5;color:#d9d9dd;max-width:31em}
.promises{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px;margin-top:34px;max-width:620px}
.promises li{border-top:2px solid var(--red);padding-top:12px;font-size:13px;line-height:1.4;color:var(--dmute)}
.promises b{display:block;font-weight:600;font-size:15px;color:#fff;margin-bottom:2px}
.ratings{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:28px;font:500 13px var(--mono);letter-spacing:.04em;color:var(--dmute)}
.ratings span::before{content:"\2605";color:var(--red);margin-right:7px}
.ratings b{color:#fff;font-weight:500}
.proof{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--dline);background:var(--ink);padding:0 var(--pad)}
.proof div{padding:22px 24px 26px 0}
.proof div+div{border-left:1px solid var(--dline);padding-left:24px}
.proof dt{font-weight:600;font-size:clamp(24px,2.3vw,58px);line-height:1.1;letter-spacing:-.03em}
.proof dd{font-size:13.5px;line-height:1.4;margin-top:6px;color:var(--dmute)}

/* quote panel */
.panel{position:relative;background:#fff;color:var(--ink);box-shadow:0 36px 90px rgba(0,0,0,.6)}
.panel-top{display:flex;justify-content:space-between;padding:13px 26px;background:var(--red);color:#fff;font:500 12.5px var(--mono);letter-spacing:.09em;text-transform:uppercase}
.bar{height:4px;background:#e4e4e7}.bar i{display:block;height:100%;width:33.4%;background:var(--ink);transition:width .3s}
#lead,.gate{padding:26px 26px 22px}
legend{font-weight:600;font-size:clamp(23px,1.75vw,40px);line-height:1.15;letter-spacing:-.025em;margin-bottom:18px}
.step.anim{animation:in .28s ease-out}
@keyframes in{from{opacity:0;transform:translateX(14px)}}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tiles label,.chips label{cursor:pointer;position:relative}
.tiles input,.chips input{position:absolute;opacity:0;inset:0}
.tiles span{display:flex;align-items:center;gap:11px;min-height:66px;padding:10px 12px;border:1px solid var(--line);font-size:14px;font-weight:500;line-height:1.22;transition:background .12s,color .12s,border-color .12s}
.tiles svg{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5}
.tiles input:focus-visible+span,.chips input:focus-visible+span{outline:3px solid var(--red);outline-offset:1px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{display:block;padding:11px 14px;border:1px solid var(--line);font-size:14px;font-weight:500;transition:background .12s,color .12s,border-color .12s}
.chips.bad span,.tiles.bad span{border-color:var(--red-d)}
.q{font-weight:600;font-size:17px;margin:22px 0 12px}
.hint,.fine{margin-top:16px;font-size:12.5px;line-height:1.5;color:var(--mute)}
.linkish{background:none;border:0;padding:0;text-decoration:underline;cursor:pointer;color:inherit;font-size:inherit}
.nav{display:grid;grid-template-columns:52px 1fr;gap:8px;margin-top:22px}
.back{background:#fff;border:1px solid var(--line);font-family:var(--mono);font-size:18px;cursor:pointer}
.back:hover{border-color:var(--red)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.f{display:block;margin-bottom:12px}
.f>span{display:block;font-size:12.5px;font-weight:500;color:var(--mute);margin-bottom:5px}
.f input{display:block;width:100%;height:50px;padding:0 12px;font:400 16px Poppins,Arial,sans-serif;color:var(--ink);background:#fff;border:1px solid #b9b9bf;transition:border-color .12s}
.f input:hover{border-color:var(--ink)}
.f input:focus{outline:2px solid var(--ink);outline-offset:-2px}
.f input:-webkit-autofill{-webkit-box-shadow:inset 0 0 0 60px #fff;-webkit-text-fill-color:var(--ink)}
.f.bad input{border:2px solid var(--red-d)}
.f .msg{display:block;font-weight:500;font-size:12px;color:var(--red-d);margin-top:4px}
.step .nav{margin-top:10px}.step[data-step="2"] .nav{margin-top:24px}
.hp{position:absolute;left:-9999px}
.err{margin-top:12px;font-size:14px;font-weight:500;color:var(--red-d)}
.gate h2{font-size:25px;line-height:1.15;letter-spacing:-.025em;margin-bottom:12px}
.gate p{color:var(--mute);margin-bottom:22px}
.gate .btn{width:100%}.gate .linkish{display:block;margin-top:16px;font-size:14px}

/* form choices are real buttons: solid, raised, with an arrow; they press down and turn red when chosen */
.panel{box-shadow:0 0 0 1px rgba(255,255,255,.14),0 40px 100px rgba(0,0,0,.75)}
.panel::before{content:"";position:absolute;inset:-9px;border:2px solid var(--red);pointer-events:none;opacity:0;animation:ping 1.8s ease-out 1s 3}
@keyframes ping{0%{opacity:1;transform:scale(.985)}100%{opacity:0;transform:scale(1.05)}}
.panel-top{padding:17px 26px;font-size:14px}
.start{display:flex;align-items:center;gap:9px;margin:-6px 0 16px;font:500 12.5px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--red-d)}
.start::after{content:"\2193";animation:nudge 1.2s ease-in-out infinite}
@keyframes nudge{50%{transform:translateY(4px)}}
.tiles{gap:12px 10px;padding-bottom:5px}
.tiles span{position:relative;min-height:74px;padding:12px 36px 12px 14px;background:#fff;color:var(--ink);border:1px solid #cdcdd4;font-size:15px;font-weight:600;box-shadow:0 4px 0 var(--red),0 14px 22px -10px rgba(11,11,12,.4);transition:transform .09s,box-shadow .09s,background .12s,color .12s}
.tiles span::after{content:"\2192";position:absolute;right:13px;top:50%;margin-top:-.6em;font:500 16px/1.2 var(--mono);color:var(--red);transition:transform .12s,color .12s}
.tiles svg{stroke:var(--red)}
.tiles label:hover span,.tiles input:checked+span{background:var(--red);color:#fff;border-color:var(--red);box-shadow:0 4px 0 #a30000,0 14px 22px -10px rgba(11,11,12,.4)}
.tiles label:hover span::after,.tiles input:checked+span::after{color:#fff;transform:translateX(4px)}
.tiles label:hover svg,.tiles input:checked+span svg{stroke:#fff}
.tiles label:active span{transform:translateY(4px);box-shadow:0 0 0 #a30000}
.chips{gap:11px 9px;padding-bottom:4px}
.chips span{padding:12px 16px;background:#fff;border:1px solid #cdcdd4;font-size:14.5px;font-weight:600;box-shadow:0 3px 0 #c2c2ca,0 10px 16px -10px rgba(11,11,12,.32);transition:transform .09s,box-shadow .09s,background .12s,color .12s}
.chips label:hover span{border-color:var(--red);box-shadow:0 3px 0 var(--red),0 10px 16px -10px rgba(11,11,12,.32)}
.chips input:checked+span{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 3px 0 #a30000}
.chips label:active span{transform:translateY(3px);box-shadow:0 0 0 #a30000}
.back{border:1px solid #cdcdd4;box-shadow:0 3px 0 #c2c2ca}
.nav .btn{box-shadow:0 5px 0 #a30000}.nav{padding-bottom:5px}
.nav .btn:active{transform:translateY(5px);box-shadow:none}

.jobs{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;margin-top:20px;padding:14px 16px;background:#fff3f3;border:2px solid var(--red);font-size:14.5px;line-height:1.35}
.jobs b{font-weight:600;font-size:15.5px}
.jobs button{background:none;border:0;padding:0;font-weight:500;text-align:left;cursor:pointer;color:var(--ink)}
.jobs u{font-weight:600;color:var(--red-d);text-decoration-thickness:2px;text-underline-offset:3px;white-space:nowrap}
.jobs button:hover u{color:var(--ink)}

/* services */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(36px,4vw,64px) clamp(16px,2vw,32px)}
.cards img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 22%}
.cards article:hover img,.ind-photos figure:hover img{filter:none}
.cards div{padding-top:20px;border-top:3px solid var(--ink);margin-top:14px}
.cards h3{font-weight:600;font-size:clamp(20px,1.6vw,34px);line-height:1.2;letter-spacing:-.02em}
.cards p{margin:8px 0 14px;font-size:15px;color:var(--mute)}
.cards a{font:500 12.5px var(--mono);letter-spacing:.07em;text-transform:uppercase;text-decoration:none;border-bottom:2px solid var(--red);padding-bottom:3px}
.cards a::after{content:" \2192"}
.cards a:hover{color:var(--red-d)}

/* terms */
.ledger{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(24px,5vw,96px)}
.ledger li{display:grid;grid-template-columns:54px 1fr;align-content:start;gap:8px 0;padding:26px 0 30px;border-top:1px solid var(--dline)}
.ledger span{font:500 13px/2.1 var(--mono);color:var(--red);grid-row:span 2}
.ledger h3{font-weight:600;font-size:clamp(21px,1.9vw,42px);line-height:1.15;letter-spacing:-.022em}
.ledger p{font-size:15px;color:var(--dmute);max-width:32em}

/* values */
.values{background:var(--mist)}
.values .head{grid-template-columns:1fr}
.values-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,96px);align-items:stretch}
.vlist li{position:relative;border-top:1px solid #c9c9ce}
.vlist li:last-child{border-bottom:1px solid #c9c9ce}
.vlist button{display:block;width:100%;padding:22px 0;background:none;border:0;text-align:left;color:#9a9aa0;cursor:pointer;transition:color .25s}
.vlist b{display:block;font-weight:600;font-size:clamp(28px,2.8vw,66px);line-height:1.1;letter-spacing:-.028em}
.vlist span{display:block;max-height:0;overflow:hidden;font-size:16px;color:var(--ink);transition:max-height .25s,margin .25s}
.vlist .on button{color:var(--ink)}
.vlist .on span{max-height:6em;margin-top:8px}
.vlist i{position:absolute;left:0;bottom:-1px;height:3px;width:0;background:var(--red)}
.vlist .on i{animation:fill 3.6s linear forwards}
.vlist.hold .on i{animation:none;width:100%}
@keyframes fill{to{width:100%}}
#vcanvas{width:100%;height:100%;min-height:440px;background:var(--ink);display:block}

/* officers */
.officers-top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,96px);align-items:end;margin-bottom:clamp(40px,5vw,80px)}
.officers-top img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:center 30%}
.officers-top h2{margin:22px 0}
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,56px)}
.cols3 h3{font:500 12.5px/1.4 var(--mono);letter-spacing:.09em;text-transform:uppercase;border-top:3px solid var(--ink);padding:14px 0 10px}
.cols3 li{padding:10px 0;border-top:1px solid var(--line);font-size:15px}

/* industries */
.industries{background:var(--mist)}
.ind-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,32px);margin-bottom:clamp(36px,4vw,64px)}
.ind-photos img{width:100%;aspect-ratio:16/10;object-fit:cover}
.ind-photos figcaption{padding-top:14px;font-size:14px;color:var(--mute)}
.ind-photos b{display:block;font-weight:600;font-size:19px;color:var(--ink)}
.index{columns:4;column-gap:clamp(20px,3vw,56px);font:500 13px var(--mono)}
.index li{padding:9px 0;border-top:1px solid #c9c9ce;break-inside:avoid}

/* coverage */
.coverage{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(24px,5vw,96px);align-items:center}
#map{width:100%;height:min(640px,72vh);display:block}
.coverage h2{margin:22px 0}
.areas{margin-top:26px;padding-top:18px;border-top:1px solid var(--dline);color:var(--dmute);font-size:15px}
.areas b{display:block;font:500 12.5px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#fff;margin-bottom:6px}
.regions{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:30px}
.regions a{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--dline);text-decoration:none;font-size:15px;font-weight:500;transition:color .15s,padding .15s}
.regions a::after{content:"\2192";font-family:var(--mono);color:var(--red)}
.regions a:hover{padding-left:8px}
.regions a[aria-current]{color:var(--red)}

/* process */
.process .head{grid-template-columns:1fr}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,44px)}
.steps li{border-top:3px solid var(--ink);padding-top:18px}
.steps span{display:block;font-weight:600;font-size:clamp(48px,5vw,120px);line-height:1;letter-spacing:-.04em;color:var(--red)}
.steps h3{font-weight:600;font-size:20px;line-height:1.25;margin:14px 0 8px}
.steps p{font-size:15px;color:var(--mute)}

/* recognition */
.recog{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.recog>img{width:100%;height:100%;object-fit:cover}
.recog-copy{padding:clamp(48px,6vw,100px) var(--pad) clamp(48px,6vw,100px) clamp(28px,4vw,72px);align-self:center}
.recog h2{font-size:clamp(28px,3vw,72px);margin:22px 0 26px}
.facts li{display:grid;grid-template-columns:104px 1fr;align-items:baseline;padding:13px 0;border-top:1px solid var(--dline);font-size:14.5px;color:var(--dmute)}
.facts b{font-weight:600;font-size:22px;color:#fff;letter-spacing:-.02em}
.badges{display:flex;gap:6px;margin-top:26px;padding:12px;background:#fff;width:fit-content}
.badges img{width:74px;filter:none}
.small{margin-top:12px;font-size:12.5px;color:#8f8f95}

/* faq */
.faq{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,5vw,96px)}
.faq .head{display:block;margin:0}.faq h2{margin-top:22px;font-size:clamp(30px,3.2vw,78px)}
.qa details{border-top:1px solid var(--line)}
.qa details:last-child{border-bottom:1px solid var(--line)}
.qa summary{display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-weight:600;font-size:clamp(17px,1.4vw,28px);line-height:1.3;cursor:pointer;list-style:none}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";font:500 22px/1 var(--mono);color:var(--red)}
.qa details[open] summary::after{content:"\2013"}
.qa p{padding:0 40px 24px 0;color:var(--mute);max-width:46em}

/* close + footer */
.close{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;padding:clamp(56px,6.5vw,110px) var(--pad);background:var(--red);color:#fff}
.close h2{font-size:clamp(32px,4.4vw,112px);max-width:15em}
.close>div{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.close-tel{font:500 18px var(--mono);white-space:nowrap}
footer{display:flex;align-items:center;gap:12px 36px;flex-wrap:wrap;padding:26px var(--pad);background:var(--ink);color:var(--dmute);font-size:13px}
footer img{height:30px;width:auto;margin-right:auto}
.mbar{display:none}

/* large and ultrawide desktops: scale the whole system up instead of leaving it small in the middle */
@media (min-width:1800px){
  :root{--top:88px}
  body{font-size:18px}
  .logo img{height:52px}.top nav{font-size:16.5px}.top-tel{font-size:17px}.btn-s{font-size:16px;padding:14px 22px}
  .tag,.kicker{font-size:14.5px}.kicker::before,.tag i{width:11px;height:11px}
  .promises{max-width:820px;gap:0 28px;margin-top:44px}.promises li{font-size:15.5px;padding-top:16px}.promises b{font-size:19px}
  .ratings{font-size:15.5px;margin-top:36px}
  .proof div{padding:30px 32px 34px 0}.proof div+div{padding-left:32px}.proof dd{font-size:16.5px}
  .jobs{font-size:17px;padding:18px 20px;margin-top:26px}.jobs b{font-size:18.5px}.panel-top{font-size:16px;padding:21px 36px}.start{font-size:14px;margin-bottom:20px}.bar{height:5px}
  #lead,.gate{padding:36px 36px 32px}
  legend{margin-bottom:24px}
  .tiles{gap:14px 12px}.tiles span{min-height:92px;font-size:18px;padding:12px 44px 12px 18px;gap:15px}.tiles span::after{right:17px;font-size:19px}.tiles svg{width:30px;height:30px}
  .chips{gap:13px 11px}.chips span{font-size:17.5px;padding:15px 20px}
  .q{font-size:21px;margin:28px 0 14px}
  .f{margin-bottom:16px}.f>span{font-size:14.5px}.f input{height:62px;font-size:18.5px;padding:0 16px}
  .btn{font-size:18.5px;padding:21px 30px}
  .nav{grid-template-columns:64px 1fr;gap:10px}
  .hint,.fine{font-size:14.5px}
  .gate h2{font-size:32px}
  .cards p,.ledger p,.steps p,.cols3 li,.regions a,.areas,.vlist span{font-size:17.5px}
  .cards a,.cols3 h3,.index,.areas b{font-size:14.5px}
  .ledger li{grid-template-columns:72px 1fr;padding:34px 0 38px}.ledger span{font-size:15px}
  .steps h3{font-size:25px}.ind-photos b{font-size:24px}.ind-photos figcaption{font-size:16.5px}
  .facts li{font-size:17px;grid-template-columns:140px 1fr;padding:17px 0}.facts b{font-size:30px}.badges img{width:100px}
  .small{font-size:14px}.close-tel{font-size:22px}
  footer{font-size:15px}footer img{height:38px}
  #map{height:min(860px,74vh)}
}
@media (max-width:1179px){
  .hero-photo{display:none}.pitch{padding-right:0}
  .top nav{display:none}.top-tel{margin-left:auto}
  .index{columns:3}
}
@media (max-width:900px){
  :root{--top:60px}
  .logo img{height:32px}.top .btn-s{display:none}
  .hero{min-height:0}
  .hero-in{display:block;padding:18px var(--pad) 0}
  h1{font-size:clamp(34px,9.6vw,60px)}
  .tag{margin-bottom:16px;font-size:11px}
  .sub,.promises{display:none}
  .ratings{margin:16px 0 22px;gap:6px 18px;font-size:12px}
  .panel{margin:0 calc(var(--pad) * -1);box-shadow:none}
  #lead,.gate{padding:22px var(--pad)}.panel-top{padding:13px var(--pad)}
  .proof{grid-template-columns:1fr 1fr}
  .proof div:nth-child(3){border-left:0;padding-left:0}
  .proof div:nth-child(n+3){border-top:1px solid var(--dline)}
  .head,.values-grid,.officers-top,.coverage,.recog,.faq{grid-template-columns:1fr}
  .cards,.ind-photos{grid-template-columns:1fr 1fr}
  .ledger,.cols3{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .index{columns:2}
  #vcanvas{height:300px;min-height:0;order:-1}
  #map{height:400px}
  .faq .head{margin-bottom:28px}
  .recog-copy{padding:44px var(--pad)}
  .sec img,.recog img{filter:none}
  footer{padding-bottom:86px}
  .mbar{display:grid;grid-template-columns:1fr 2fr;position:fixed;left:0;right:0;bottom:0;z-index:19;font-weight:600;text-align:center;transform:translateY(100%);transition:transform .2s}
  .mbar.show{transform:none}
  .mbar a{padding:16px;background:var(--ink);color:#fff;text-decoration:none}
  .mbar .q{background:var(--red)}
}
@media (max-width:560px){
  .cards,.ind-photos,.steps,.regions{grid-template-columns:1fr}
  .row2{gap:8px}
  .jobs{display:block}.jobs b{display:block;margin-bottom:3px;font-size:16.5px}.jobs{font-size:15px}
  .tiles span{min-height:62px;padding:8px 28px 8px 10px;font-size:13.5px;gap:8px}.tiles span::after{right:9px;font-size:14px}.tiles svg{width:21px;height:21px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}.vlist .on i{width:100%}}

/* terms: the intro sits over the right-hand column of the list, on the same text edge */
@media (min-width:901px){.terms .head{grid-template-columns:1fr 1fr}.terms .lede{padding-left:54px;padding-bottom:.55em}}
@media (min-width:1800px){.terms .lede{padding-left:72px}}
