
:root{
  --ink:#0C0D0F; --ink-2:#121419; --ink-3:#1A1D23; --panel:#15181E;
  --paper:#F4F5F6; --paper-2:#ECEEF0;
  --steel:#C7CCD2; --steel-soft:#9AA1AA;
  --red:#C21F2A; --red-hot:#E0333F; --maroon:#7A1620;
  --t-on-dark:#ECEEF1; --t-on-dark-mute:#969DA6;
  --t-on-light:#14161A; --t-on-light-mute:#586069;
  --line-dark:rgba(255,255,255,.10); --line-light:#DADDE1;
  /* The SBS "Buy This Site" bar was deliberately removed from the build, so
     no .sbsbar element exists on any page. This variable still offset the
     fixed header by 40px and shortened every hero by 40px, leaving a phantom
     transparent gap at the top of every page and pushing the header down onto
     the hero content. Set to 0. The .sbsbar rules are kept so the bar can be
     restored by setting this back to 40px, with nothing else to change. */
  --sbs-bar-h:0px;
  --page-max:1240px; --page-pad:26px; --page-pad-m:18px;
  --sec-y:clamp(76px,8vw,118px); --sec-y-m:clamp(54px,9vw,72px);
  --r:14px; --r-lg:22px;
  --disp:"Archivo",system-ui,sans-serif; --body:"Inter",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--ink);color:var(--t-on-dark);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--disp);font-weight:800;line-height:1.04;letter-spacing:-.01em}
.container{width:min(100% - calc(var(--page-pad)*2),var(--page-max));margin-inline:auto}
@media(max-width:768px){.container{width:min(100% - calc(var(--page-pad-m)*2),var(--page-max))}}
.eyebrow{font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--red)}
.eyebrow.on-light{color:var(--maroon)}
.sec{padding-block:var(--sec-y)}
@media(max-width:768px){.sec{padding-block:var(--sec-y-m)}}
.sec--dark{background:var(--ink)}
.sec--ink2{background:var(--ink-2)}
.sec--light{background:var(--paper);color:var(--t-on-light)}
.sec--light h1,.sec--light h2,.sec--light h3{color:var(--t-on-light)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:var(--disp);font-weight:700;font-size:.95rem;letter-spacing:.01em;padding:.92em 1.5em;border-radius:11px;border:1px solid transparent;cursor:pointer;transition:transform .18s ease,background .2s ease,box-shadow .2s ease;line-height:1;white-space:nowrap}
.btn svg{width:1.05em;height:1.05em}
.btn--red{background:var(--red);color:#fff;box-shadow:0 10px 30px -12px rgba(194,31,42,.7)}
.btn--red:hover{background:var(--red-hot);transform:translateY(-2px)}
.btn--ghost{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.22);backdrop-filter:blur(6px)}
.btn--ghost:hover{background:rgba(255,255,255,.13);transform:translateY(-2px)}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:#000;transform:translateY(-2px)}
.btn--lg{padding:1.05em 1.8em;font-size:1.02rem}

/* SBS top bar */
.sbsbar{height:var(--sbs-bar-h);background:#08090B;border-bottom:1px solid var(--line-dark);position:relative;z-index:60}
.sbsbar .container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:14px}
.sbsbar img{height:24px;width:auto}
.sbsbar__cta{display:flex;gap:8px;align-items:center}
.sbsbar__cta a{font-family:var(--disp);font-weight:700;font-size:.72rem;letter-spacing:.02em;padding:.5em .9em;border-radius:7px}
.sbsbar__cta a.buy{background:var(--red);color:#fff}
.sbsbar__cta a.buy:hover{background:var(--red-hot)}
.sbsbar__cta a.drive{color:#cfd3d8;border:1px solid rgba(255,255,255,.2)}
.sbsbar__cta a.drive:hover{background:rgba(255,255,255,.08)}
@media(max-width:560px){.sbsbar__cta a.drive{display:none}}

/* prospect header (transparent over hero) */
.hdr{position:fixed;top:var(--sbs-bar-h);left:0;right:0;z-index:55;transition:top .3s ease,background .3s ease,border-color .3s ease,padding .3s ease;border-bottom:1px solid transparent}
.hdr .container{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-block:16px;transition:padding .3s ease}
.hdr__logo img{height:56px;width:auto;filter:drop-shadow(0 2px 10px rgba(0,0,0,.5))}
.hdr__nav{display:flex;align-items:center;gap:30px;margin-left:auto}
.hdr__nav a.link{font-family:var(--disp);font-weight:600;font-size:.93rem;color:#E7E9EC;opacity:.92;transition:color .2s}
.hdr__nav a.link:hover{color:#fff}
.hdr__actions{display:flex;align-items:center;gap:14px}
.hdr__phone{display:inline-flex;align-items:center;gap:.5em;font-family:var(--disp);font-weight:700;color:#fff;font-size:.95rem}
.hdr__phone .dot{width:8px;height:8px;border-radius:50%;background:#34D058;box-shadow:0 0 0 0 rgba(52,208,88,.6);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(52,208,88,.55)}70%{box-shadow:0 0 0 9px rgba(52,208,88,0)}100%{box-shadow:0 0 0 0 rgba(52,208,88,0)}}
.hdr.scrolled{top:0;background:rgba(8,9,11,.92);backdrop-filter:blur(12px);border-bottom-color:var(--line-dark)}
.hdr.scrolled .container{padding-block:11px}
.hdr.scrolled .hdr__logo img{height:46px}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:26px;height:2px;background:#fff;border-radius:2px;transition:.25s}
@media(max-width:1000px){
  .hdr__nav a.link{display:none}
  .burger{display:flex}
}
/* The phone number used to be hidden from 1000px down, which left a bare 8px
   green dot as the only remaining content of a tel: link: no label, and a tap
   target far below the 44px minimum. Between 700 and 1000px there is ample
   room now the nav links are gone, so the number stays. */
@media(max-width:700px){
  .hdr__phone span.num{display:none}
  .hdr__phone{min-width:44px;min-height:44px;justify-content:center}
}
@media(max-width:560px){.hdr__actions .btn{display:none}}

/* mobile menu */
.mmenu{position:fixed;inset:0;z-index:70;background:rgba(8,9,11,.98);backdrop-filter:blur(10px);transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;padding:26px}
.mmenu.open{transform:translateX(0)}
.mmenu__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}
.mmenu__top img{height:46px}
.mmenu__close{background:none;border:0;color:#fff;font-size:2rem;cursor:pointer;line-height:1}
.mmenu a.mlink{font-family:var(--disp);font-weight:800;font-size:2rem;color:#fff;padding:14px 0;border-bottom:1px solid var(--line-dark);letter-spacing:-.01em}
.mmenu a.mlink:hover{color:var(--red)}
.mmenu__foot{margin-top:auto;display:flex;flex-direction:column;gap:12px;padding-top:24px}

/* HERO */
/* Long headline fit: the home hero H1 can wrap to several lines, so the hero
   uses min-height (not a fixed height) to grow instead of clipping, and reserves
   top padding to clear the fixed .hdr (logo 56px + 32px padding ~= 88px) with
   comfortable spacing. align-items:center keeps the copy vertically balanced in
   the space below the header. padding-bottom keeps the CTA off the bottom edge. */
.hero{position:relative;min-height:calc(100svh - var(--sbs-bar-h));overflow:hidden;display:flex;align-items:center;padding-top:calc(var(--sbs-bar-h) + 118px);padding-bottom:56px}
@media(max-width:768px){.hero{padding-top:calc(var(--sbs-bar-h) + 104px);padding-bottom:44px}}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media video,.hero__media img{width:100%;height:100%;object-fit:cover}
.hero__scrim{position:absolute;inset:0;z-index:1;background:
  linear-gradient(90deg,rgba(8,9,11,.86) 0%,rgba(8,9,11,.55) 42%,rgba(8,9,11,.15) 75%,rgba(8,9,11,.4) 100%),
  linear-gradient(0deg,rgba(8,9,11,.7) 0%,rgba(8,9,11,0) 38%)}
.hero__inner{position:relative;z-index:2;width:min(100% - calc(var(--page-pad)*2),var(--page-max));margin-inline:auto;max-width:var(--page-max);transition:opacity .5s ease,transform .5s ease}
.hero__copy{max-width:680px}
.hero h1{font-size:clamp(1.95rem,4.7vw,3.4rem);line-height:1.07;font-weight:900;color:#fff;margin:0 0 .5em;text-shadow:0 2px 30px rgba(0,0,0,.4)}
.hero h1 .accent{color:#fff;position:relative;white-space:nowrap}
.hero h1 em{font-style:normal;color:var(--red);text-shadow:0 0 30px rgba(224,51,63,.45)}
.hero__sub{font-size:clamp(1.04rem,1.7vw,1.22rem);color:#D6D9DD;max-width:560px;margin-bottom:1.9em;line-height:1.55}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero.text-hidden .hero__inner{opacity:0;transform:translateY(8px);pointer-events:none}
/* Cinema toggle (hero text show/hide).
   WAS: top:18px, which put it directly beneath the fixed .hdr (z-index 55).
   The button sits inside .hero at z-index 6, so the header painted over it and
   it collided with the "Get a Quote" button: clipped and unclickable.
   Moved to the bottom-right of the hero, which is empty at every width
   (.hero__cta is bottom-LEFT, .fcall only appears after 240px of scroll).
   Kept inside the hero so it still scrolls away with it. */
.cinema{position:absolute;z-index:6;bottom:calc(18px + 4px);right:max(var(--page-pad),calc((100vw - var(--page-max))/2));display:inline-flex;align-items:center;gap:.5em;font-family:var(--mono);font-size:.74rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:rgba(8,9,11,.42);border:1px solid rgba(255,255,255,.22);padding:.6em 1em;border-radius:999px;cursor:pointer;backdrop-filter:blur(8px);transition:background .2s}
.cinema:hover{background:rgba(8,9,11,.7)}
.cinema:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:768px){.cinema{bottom:18px;right:14px}}
/* Below 560px the hero CTA stack reaches the bottom of the hero and the
   control has nowhere to sit without overlapping. It is a viewing nicety on a
   decorative video, so it is hidden rather than allowed to collide. */
@media(max-width:560px){.cinema{display:none}}
.hero__edge{position:absolute;left:0;bottom:0;z-index:3;width:100%;height:4px;background:linear-gradient(90deg,var(--maroon),var(--red) 50%,var(--maroon))}

/* trust strip */
.trust{background:#08090B;border-block:1px solid var(--line-dark)}
.trust .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px 30px;padding-block:22px}
.trust__item{display:flex;align-items:center;gap:.6em;font-family:var(--mono);font-size:.82rem;letter-spacing:.04em;color:#C2C7CD}
.trust__item b{color:#fff;font-weight:600}
.trust__item svg{width:18px;height:18px;color:var(--red);flex:none}

/* section intro */
.lead{max-width:760px;margin-bottom:clamp(40px,4.5vw,64px)}
.lead h2{font-size:clamp(2rem,4vw,3.1rem);margin:.34em 0 .4em}
.lead p{font-size:1.1rem;color:var(--t-on-dark-mute)}
.sec--light .lead p{color:var(--t-on-light-mute)}
.lead.center{margin-inline:auto;text-align:center}

/* divisions */
.divisions{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.dcard{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:440px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;border:1px solid var(--line-dark)}
.dcard__media{position:absolute;inset:0;z-index:-2}
.dcard__media video,.dcard__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.6,.2,1)}
.dcard:hover .dcard__media video,.dcard:hover .dcard__media img{transform:scale(1.06)}
.dcard__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(8,9,11,.95) 6%,rgba(8,9,11,.55) 40%,rgba(8,9,11,.12) 100%)}
.dcard__body{padding:28px}
.dcard__num{font-family:var(--mono);font-size:.74rem;letter-spacing:.2em;color:var(--red);margin-bottom:10px}
.dcard h3{font-size:1.5rem;color:#fff;margin-bottom:.5em}
.dcard p{color:#C4C8CD;font-size:.98rem;margin-bottom:1.3em;max-width:34ch}
.dcard__link{display:inline-flex;align-items:center;gap:.5em;font-family:var(--disp);font-weight:700;color:#fff;font-size:.92rem}
.dcard__link svg{width:1em;height:1em;transition:transform .2s}
.dcard:hover .dcard__link svg{transform:translateX(4px)}
.dcard__link .ar{color:var(--red)}
@media(max-width:920px){.divisions{grid-template-columns:1fr;gap:18px}.dcard{min-height:380px}}

/* dispatch builder */
.builder{background:var(--ink-2);border-top:1px solid var(--line-dark)}
.builder__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:46px;align-items:stretch}
.builder__intro .eyebrow{margin-bottom:1.2em}
.builder__intro h2{font-size:clamp(1.9rem,3.4vw,2.7rem);margin-bottom:.5em}
.builder__intro p{color:var(--t-on-dark-mute);max-width:42ch;margin-bottom:1.6em}
.builder__steps{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.bstep{display:flex;gap:14px;align-items:flex-start;opacity:.4;transition:opacity .3s}
.bstep.active{opacity:1}
.bstep__n{font-family:var(--mono);font-size:.8rem;color:var(--red);border:1px solid var(--line-dark);border-radius:8px;width:30px;height:30px;display:grid;place-items:center;flex:none}
.bstep b{font-family:var(--disp);font-size:.98rem;display:block}
.bstep span{font-size:.86rem;color:var(--t-on-dark-mute)}
.console{background:#0A0B0D;border:1px solid var(--line-dark);border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;min-height:430px;position:relative;overflow:hidden}
.console__bar{display:flex;align-items:center;gap:.6em;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel-soft);padding-bottom:16px;border-bottom:1px solid var(--line-dark);margin-bottom:22px}
.console__bar .led{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red)}
.console__q{font-family:var(--disp);font-weight:700;font-size:1.18rem;margin-bottom:18px;color:#fff}
.opts{display:flex;flex-direction:column;gap:10px}
.opt{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:var(--ink-3);border:1px solid var(--line-dark);color:#E7E9EC;font-family:var(--body);font-size:1rem;font-weight:500;padding:15px 18px;border-radius:11px;cursor:pointer;transition:border-color .2s,background .2s,transform .15s}
.opt:hover{border-color:var(--red);background:#202329;transform:translateX(3px)}
.opt .tag{font-family:var(--mono);font-size:.72rem;color:var(--steel-soft)}
.opt:hover .tag{color:var(--red)}
.console__back{margin-top:16px;background:none;border:0;color:var(--steel-soft);font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;cursor:pointer;text-transform:uppercase}
.console__back:hover{color:#fff}
.console__progress{display:flex;gap:6px;margin-bottom:22px}
.console__progress i{height:3px;flex:1;background:var(--line-dark);border-radius:2px;transition:background .3s}
.console__progress i.on{background:var(--red)}
/* result ticket */
.ticket{animation:fadein .45s ease}
@keyframes fadein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ticket__head{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel-soft);margin-bottom:6px}
.ticket__div{font-family:var(--disp);font-weight:900;font-size:1.6rem;color:#fff;margin-bottom:18px;line-height:1.1}
.ticket__row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px dashed var(--line-dark);font-size:.92rem}
.ticket__row .k{font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;color:var(--steel-soft);text-transform:uppercase}
.ticket__row .v{color:#E7E9EC;text-align:right;font-weight:500;max-width:62%}
.ticket__note{font-size:.86rem;color:var(--t-on-dark-mute);margin:16px 0 20px;line-height:1.5}
.ticket__cta{display:flex;gap:11px;flex-wrap:wrap;margin-top:auto}
.ticket__stamp{position:absolute;right:18px;top:62px;font-family:var(--mono);font-weight:600;font-size:.7rem;letter-spacing:.12em;color:var(--red);border:1.5px solid var(--red);border-radius:7px;padding:5px 9px;transform:rotate(7deg);opacity:.85}
@media(max-width:880px){.builder__grid{grid-template-columns:1fr;gap:30px}.builder__intro{order:-1}}

/* feature band (video left/right) */
.band{position:relative;overflow:hidden}
.band__grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;min-height:520px}
.band__media{position:relative;overflow:hidden;min-height:360px}
.band__media video,.band__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,5vw,76px)}
.band__copy h2{font-size:clamp(1.9rem,3.5vw,2.8rem);margin:.4em 0 .55em}
.band__copy p{color:var(--t-on-dark-mute);font-size:1.06rem;margin-bottom:1.5em;max-width:46ch}
.band--light .band__copy{background:var(--paper);color:var(--t-on-light)}
.band--light .band__copy h2{color:var(--t-on-light)}
.band--light .band__copy p{color:var(--t-on-light-mute)}
.band--dark .band__copy{background:var(--ink-2)}
.eqlist{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:1.8em}
.eqlist li{display:flex;align-items:flex-start;gap:.7em;font-size:1rem}
.eqlist li svg{width:19px;height:19px;color:var(--red);flex:none;margin-top:2px}
@media(max-width:880px){.band__grid{grid-template-columns:1fr}.band__media{min-height:320px;order:-1}.band--rev .band__media{order:-1}}

/* emergency band */
.emg{position:relative;overflow:hidden;isolation:isolate}
.emg__media{position:absolute;inset:0;z-index:-2}
.emg__media video,.emg__media img{width:100%;height:100%;object-fit:cover}
.emg__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,9,11,.92),rgba(8,9,11,.55) 60%,rgba(122,22,32,.45))}
.emg .container{padding-block:clamp(80px,9vw,140px)}
.emg__inner{max-width:560px}
.emg h2{font-size:clamp(2rem,4.4vw,3.3rem);color:#fff;margin:.34em 0 .45em}
.emg p{color:#D6D9DD;font-size:1.1rem;margin-bottom:1.7em}
.emg__line{display:inline-flex;align-items:center;gap:.6em;font-family:var(--mono);font-size:.9rem;color:#fff;background:rgba(194,31,42,.18);border:1px solid rgba(224,51,63,.5);padding:.7em 1.1em;border-radius:999px;margin-bottom:1.6em}
.emg__line .pip{width:9px;height:9px;border-radius:50%;background:var(--red-hot);animation:pulse2 1.6s infinite}
@keyframes pulse2{0%,100%{opacity:1}50%{opacity:.3}}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pstep{padding:26px;background:var(--paper);border:1px solid var(--line-light);border-radius:var(--r);position:relative}
.pstep__n{font-family:var(--mono);font-weight:600;font-size:.86rem;color:var(--red);letter-spacing:.1em}
.pstep h3{font-size:1.18rem;margin:.7em 0 .45em;color:var(--t-on-light)}
.pstep p{font-size:.93rem;color:var(--t-on-light-mute)}
.pstep__bar{height:3px;background:var(--red);width:34px;border-radius:2px;margin-top:18px}
@media(max-width:880px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}

/* coverage + map */
.cov__grid{display:grid;grid-template-columns:minmax(300px,.4fr) minmax(0,.6fr);gap:38px;align-items:start}
.cov__list{list-style:none;display:flex;flex-direction:column;gap:2px;margin:22px 0}
.cov__list li{display:flex;align-items:center;gap:.8em;padding:13px 0;border-bottom:1px solid var(--line-dark);font-size:1.02rem}
.cov__list li b{font-family:var(--disp);font-weight:700}
.cov__list li span{color:var(--t-on-dark-mute);font-size:.88rem;margin-left:auto;font-family:var(--mono)}
.cov__list li svg{width:18px;height:18px;color:var(--red)}
.mapwrap{position:relative;border-radius:var(--r-lg);overflow:hidden;isolation:isolate;border:1px solid var(--line-dark)}
#map{height:clamp(380px,46vh,500px);width:100%;background:#0A0B0D;z-index:1}
.leaflet-container{background:#0A0B0D!important}
.leaflet-control-attribution{font-size:9px!important;opacity:.5}
@media(max-width:880px){.cov__grid{grid-template-columns:1fr;gap:24px}}

/* proof */
.proof__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:46px;align-items:center}
.proof__photos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.proof__photos figure{border-radius:var(--r);overflow:hidden;position:relative;aspect-ratio:4/3}
.proof__photos figure:first-child{grid-column:1 / -1;aspect-ratio:16/9}
.proof__photos img{width:100%;height:100%;object-fit:cover}
.proof__photos figcaption{position:absolute;left:0;bottom:0;right:0;font-size:.74rem;font-family:var(--mono);color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent);padding:18px 12px 9px}
.values{list-style:none;display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.values li{font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;color:#D6D9DD;border:1px solid var(--line-dark);border-radius:999px;padding:.5em .95em}
@media(max-width:880px){.proof__grid{grid-template-columns:1fr;gap:30px}}

/* careers */
.careers{position:relative;overflow:hidden;isolation:isolate}
.careers__media{position:absolute;inset:0;z-index:-2}
.careers__media video,.careers__media img{width:100%;height:100%;object-fit:cover}
.careers__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,9,11,.94),rgba(8,9,11,.7) 55%,rgba(8,9,11,.4))}
.careers .container{padding-block:clamp(70px,8vw,110px)}
.careers__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.careers h2{font-size:clamp(1.9rem,3.6vw,2.7rem);color:#fff;margin:.34em 0 .5em}
.careers p{color:#D6D9DD;margin-bottom:1.6em;max-width:44ch}
.bens{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ben{background:rgba(255,255,255,.05);border:1px solid var(--line-dark);border-radius:var(--r);padding:18px}
.ben b{font-family:var(--disp);font-size:1.3rem;color:#fff;display:block}
.ben span{font-size:.86rem;color:var(--t-on-dark-mute)}
@media(max-width:880px){.careers__grid{grid-template-columns:1fr;gap:28px}}

/* FAQ */
.faq__grid{max-width:840px;margin-inline:auto}
.fitem{border-bottom:1px solid var(--line-light)}
.fq{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;background:none;border:0;cursor:pointer;text-align:left;padding:24px 4px;font-family:var(--disp);font-weight:700;font-size:1.12rem;color:var(--t-on-light)}
.fq .ico{flex:none;width:26px;height:26px;position:relative}
.fq .ico::before,.fq .ico::after{content:"";position:absolute;background:var(--red);border-radius:2px;transition:transform .3s}
.fq .ico::before{width:14px;height:2px;top:12px;left:6px}
.fq .ico::after{width:2px;height:14px;top:6px;left:12px}
.fitem.open .fq .ico::after{transform:scaleY(0)}
.fa{max-height:0;overflow:hidden;transition:max-height .35s ease}
.fa p{padding:0 4px 24px;color:var(--t-on-light-mute);font-size:1rem;max-width:70ch}

/* final cta */
.final{position:relative;overflow:hidden;isolation:isolate;text-align:center}
.final__media{position:absolute;inset:0;z-index:-2}
.final__media video,.final__media img{width:100%;height:100%;object-fit:cover}
.final__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(8,9,11,.92),rgba(8,9,11,.7) 50%,rgba(8,9,11,.85))}
.final .container{padding-block:clamp(90px,11vw,160px)}
.final h2{font-size:clamp(2.2rem,5.2vw,4rem);color:#fff;margin-bottom:.4em}
.final p{color:#D6D9DD;font-size:1.16rem;max-width:48ch;margin:0 auto 2em}
.final__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* footer */
.foot{background:#08090B;border-top:1px solid var(--line-dark)}
.foot__main{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-block:clamp(54px,6vw,76px)}
.foot__brand img{height:52px;width:auto;margin-bottom:18px}
.foot__brand p{color:var(--t-on-dark-mute);font-size:.94rem;max-width:38ch}
.foot__col h4{font-family:var(--mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--steel-soft);margin-bottom:16px}
.foot__col a,.foot__col span{display:block;color:#C4C8CD;font-size:.96rem;padding:6px 0;transition:color .2s}
.foot__col a:hover{color:#fff}
.foot__col .em{display:inline-flex;align-items:center;gap:.5em}
@media(max-width:820px){.foot__main{grid-template-columns:1fr 1fr}.foot__brand{grid-column:1/-1}}
@media(max-width:520px){.foot__main{grid-template-columns:1fr}}
/* SBS lockup band */
.sbslock{border-top:1px solid var(--line-dark);background:#060708}
.sbslock .container{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:22px;flex-wrap:wrap}
.sbslock__l{display:flex;align-items:center;gap:16px}
.sbslock__l img{height:48px;width:auto}
.sbslock__l span{font-family:var(--mono);font-size:.76rem;color:var(--steel-soft);max-width:30ch;line-height:1.4}
.sbslock__cta{display:flex;gap:11px;flex-wrap:wrap}
.legal{border-top:1px solid var(--line-dark);padding-block:18px;text-align:center;font-size:.8rem;color:#6A7079;font-family:var(--mono);letter-spacing:.02em}

/* floating call */
/* Field video grid (/recent-work/).
   `.vidgrid` and `.vidcard` were referenced in the markup but NEVER DEFINED,
   so the clips rendered as unstyled full-bleed block elements. These clips are
   portrait 9:16 phone footage, so the card is aspect-locked to 9/16 and capped
   in height so a portrait video cannot run away down the page on desktop. */
.vidgrid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.vidcard{margin:0;border-radius:var(--r-lg,14px);overflow:hidden;background:#0A0B0D;
  border:1px solid rgba(8,9,11,.14);box-shadow:0 18px 44px -26px rgba(8,9,11,.5)}
.vidcard video{display:block;width:100%;aspect-ratio:9/16;max-height:min(72vh,680px);
  object-fit:cover;object-position:center top;background:#0A0B0D}
.vidcard figcaption{padding:14px 16px 16px;font:500 .92rem/1.5 var(--body,Inter,system-ui,sans-serif);
  color:#E7E9EC;background:#0A0B0D}
.vidcard figcaption b{display:block;font-family:var(--disp);font-weight:800;font-size:1rem;
  margin-bottom:4px;color:#fff}
/* Full width on mobile, and let the clip use its natural height there. */
@media(max-width:640px){
  .vidgrid{grid-template-columns:1fr;gap:18px}
  .vidcard video{max-height:none}
}
.fcall{position:fixed;right:20px;bottom:20px;z-index:50;display:inline-flex;align-items:center;gap:.55em;background:var(--red);color:#fff;font-family:var(--disp);font-weight:800;font-size:.95rem;padding:.95em 1.35em;border-radius:999px;box-shadow:0 16px 40px -10px rgba(194,31,42,.8);transform:translateY(140%);transition:transform .35s cubic-bezier(.2,.7,.3,1),background .2s}
.fcall.show{transform:none}
.fcall:hover{background:var(--red-hot)}
.fcall svg{width:1.05em;height:1.05em}
@media(max-width:560px){.fcall{right:14px;bottom:14px}}

/* reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
}

/* ===== interior pages ===== */
.foot__main--wide{grid-template-columns:1.5fr 1fr 1fr 1fr 1fr}
@media(max-width:1000px){.foot__main--wide{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:640px){.foot__main--wide{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.foot__main--wide{grid-template-columns:1fr}}
.foot__addr{margin-top:14px;font-family:var(--mono);font-size:.82rem;color:var(--steel-soft);line-height:1.6}
.hdr{background:rgba(8,9,11,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-dark);top:0}
.hdr.scrolled{top:0}
.phero{position:relative;overflow:hidden;padding-top:calc(56px + var(--sec-y-m));padding-bottom:var(--sec-y-m);min-height:64svh;display:flex;align-items:flex-end;background:#0c0d0f}
@media(min-width:769px){.phero{min-height:100svh}}
.phero__media{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--phero-img) center top/cover no-repeat}
.phero__media video{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.ft-sbs{border-top:1px solid var(--line-dark);background:#060708;display:flex;justify-content:center;padding:20px 24px}
.ft-sbs-mark img{height:30px;width:auto;display:block}
.sbs-mark img,.sbs-lockup img,.sbs-footer-mark img,.built-by-sbs img,.ft-sbs-mark img,[class*="sbs"] img{filter:none!important;opacity:1!important;mix-blend-mode:normal!important}
.phero__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,9,11,.82),rgba(8,9,11,.42) 52%,rgba(8,9,11,.12)),linear-gradient(0deg,rgba(8,9,11,.78),rgba(8,9,11,0) 46%)}
.phero__inner{width:min(100% - calc(var(--page-pad)*2),var(--page-max));position:relative;z-index:2}
@media(min-width:769px){.phero__inner{min-height:500px}}
.phero h1{font-size:clamp(2.1rem,4.6vw,3.5rem);color:#fff;margin:.3em 0 .35em;max-width:20ch}
.phero__sub{color:#D6D9DD;font-size:clamp(1.02rem,1.5vw,1.18rem);max-width:60ch;line-height:1.55;margin-bottom:1.5em}
.phero__cta{display:flex;gap:12px;flex-wrap:wrap}
.crumb{display:flex;gap:.6em;align-items:center;font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--steel-soft);margin-bottom:1em}
.crumb a{color:var(--steel-soft)}.crumb a:hover{color:#fff}.crumb span{color:var(--steel-soft)}
.prose{max-width:74ch}
.prose h2.p-h2{font-size:clamp(1.4rem,2.4vw,1.9rem);color:var(--t-on-light);margin:1.5em 0 .5em;letter-spacing:-.01em}
.prose h2.p-h2:first-child{margin-top:0}
.prose p{font-size:1.06rem;line-height:1.7;color:var(--t-on-light);margin-bottom:1.05em}
.prose .alist{list-style:none;margin:0 0 1.3em;display:flex;flex-direction:column;gap:10px}
.prose .alist li{position:relative;padding-left:1.7em;font-size:1.05rem;line-height:1.6;color:var(--t-on-light)}
.prose .alist li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:12px;border-radius:3px;background:var(--red)}
.final--compact .container{padding-block:clamp(64px,7vw,96px)}
.final--compact{text-align:center}
.final--compact h2{font-size:clamp(1.9rem,4vw,3rem)}
/* contact / quote layout */
.cgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start}
@media(max-width:880px){.cgrid{grid-template-columns:1fr;gap:32px}}
.cform{background:var(--ink-2);border:1px solid var(--line-dark);border-radius:var(--r-lg);padding:clamp(24px,3vw,36px)}
.cform h3{color:#fff;font-size:1.4rem;margin-bottom:.3em}
.cform p.lead-sm{color:var(--t-on-dark-mute);margin-bottom:1.4em;font-size:.98rem}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field label{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel-soft)}
.field input,.field select,.field textarea{background:var(--ink-3);border:1px solid var(--line-dark);border-radius:10px;padding:13px 14px;color:#fff;font-family:var(--body);font-size:1rem}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--red)}
.field textarea{min-height:120px;resize:vertical}
.cinfo{display:flex;flex-direction:column;gap:22px}
.cinfo .card{background:var(--paper);border:1px solid var(--line-light);border-radius:var(--r);padding:22px}
.cinfo .card h4{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--maroon);margin-bottom:10px}
.cinfo .card p,.cinfo .card a{color:var(--t-on-light);font-size:1.05rem;display:block;line-height:1.55}
.cinfo .card a.big{font-family:var(--disp);font-weight:800;font-size:1.5rem;color:var(--t-on-light)}
.cinfo .card a:hover{color:var(--red)}
.locgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:8px}
@media(max-width:820px){.locgrid{grid-template-columns:1fr 1fr}}
.loccard{display:block;text-decoration:none;background:var(--paper);border:1px solid var(--line-light);border-radius:var(--r);padding:20px;transition:border-color .2s,transform .15s}
a.loccard:hover{border-color:var(--red);transform:translateY(-2px)}
a.loccard:hover b{color:var(--red)}
.loccard b{font-family:var(--disp);font-size:1.1rem;color:var(--t-on-light);display:block;margin-bottom:4px}
.loccard span{color:var(--t-on-light-mute);font-size:.92rem}
/* blog */
.bloglist{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:900px){.bloglist{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.bloglist{grid-template-columns:1fr}}
.bcard{background:var(--paper);border:1px solid var(--line-light);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.bcard:hover{transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(0,0,0,.4)}
.bcard__body{padding:24px;display:flex;flex-direction:column;flex:1}
.bcard__cat{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.bcard h3{font-size:1.16rem;color:var(--t-on-light);line-height:1.25;margin-bottom:.5em}
.bcard p{color:var(--t-on-light-mute);font-size:.95rem;line-height:1.55;flex:1}
.bcard__meta{font-family:var(--mono);font-size:.74rem;color:var(--t-on-light-mute);margin-top:16px}
.article{max-width:74ch;margin-inline:auto}
.article .ameta{font-family:var(--mono);font-size:.8rem;letter-spacing:.04em;color:var(--red);margin-bottom:2em;text-transform:uppercase}
.backlink{display:inline-flex;align-items:center;gap:.5em;font-family:var(--disp);font-weight:700;color:var(--red);margin-top:2em}
