/* Complete Fire Services: public website (v2 design). Self-hosted fonts, no external requests. */

@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:optional;src:url(../fonts/archivo-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:800;font-display:optional;src:url(../fonts/archivo-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:optional;src:url(../fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:optional;src:url(../fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:optional;src:url(../fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2')}
/* The web fonts use font-display:optional, so text never jumps once the page has appeared: if a font
   isn't ready in time (a first visit on a slow connection), the page uses the fallback below and the
   font is ready for the next page. The fallbacks are Arial resized to the web fonts' measurements
   (worked out from the font files, see docs/TEST-REPORT.md), so the page looks almost the same. */
@font-face{font-family:'Archivo Fallback';font-weight:700;src:local('Arial Bold'),local('Arial-BoldMT');size-adjust:98.06%;ascent-override:89.53%;descent-override:21.41%;line-gap-override:0%}
@font-face{font-family:'Archivo Fallback';font-weight:800;src:local('Arial Bold'),local('Arial-BoldMT');size-adjust:103.17%;ascent-override:85.1%;descent-override:20.35%;line-gap-override:0%}
@font-face{font-family:'IBM Plex Sans Fallback';font-weight:400;src:local('Arial'),local('ArialMT');size-adjust:101.56%;ascent-override:100.92%;descent-override:27.08%;line-gap-override:0%}
@font-face{font-family:'IBM Plex Sans Fallback';font-weight:500;src:local('Arial'),local('ArialMT');size-adjust:103.76%;ascent-override:98.79%;descent-override:26.5%;line-gap-override:0%}
@font-face{font-family:'IBM Plex Sans Fallback';font-weight:600;src:local('Arial Bold'),local('Arial-BoldMT');size-adjust:97.13%;ascent-override:105.53%;descent-override:28.31%;line-gap-override:0%}

/* =========================================================
   Tokens
   ========================================================= */
:root{
  color-scheme:light;
  --ink:#15181C;
  --ink-raised:#1E232A;
  --signal:#C8102E;          /* BS fire-equipment red: actions and seals only */
  --signal-deep:#96061F;
  --signal-on-dark:#F25C73;  /* 5.56:1 on --ink; used for small text on dark */
  --escape:#00843D;          /* escape-sign green: confirmations only */
  --escape-on-dark:#43C77A;
  --paper:#F2F3F5;
  --white:#FFFFFF;
  --steel:#5C636B;
  --steel-light:#A3AAB2;
  --hairline:#D8DBDF;
  --hairline-dark:#31363E;
  --display:'Archivo','Archivo Fallback',Arial,sans-serif;
  --body:'IBM Plex Sans','IBM Plex Sans Fallback',Arial,sans-serif;
  --wrap:1200px;
  --gut:24px;
  --header-h:76px;
}

/* =========================================================
   Base
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img,svg{display:block;max-width:100%}
a{color:inherit;-webkit-tap-highlight-color:rgba(200,16,46,.15)}
a,button,summary,label{touch-action:manipulation}
button{font:inherit;cursor:pointer}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.08;margin:0;text-wrap:balance}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
ul,ol{margin:0;padding:0}
:focus-visible{outline:3px solid var(--signal);outline-offset:3px}
.on-dark :focus-visible{outline-color:var(--white)}
[hidden]{display:none!important}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:8px;z-index:300;background:var(--signal);color:var(--white);padding:12px 20px;font-weight:600}
.skip:focus{left:8px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ico{width:32px;height:32px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:square}
.tick{width:18px;height:18px;flex:none;margin-top:4px;fill:none;stroke:var(--escape);stroke-width:2.6;stroke-linecap:square}
.on-dark .tick{stroke:var(--escape-on-dark)}

/* =========================================================
   Layout
   ========================================================= */
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:max(var(--gut),env(safe-area-inset-left))}
.section{padding-block:96px}
.section--paper{background:var(--paper)}
.section--dark{background:var(--ink);color:var(--white)}
.head{border-top:3px solid var(--signal);padding-top:20px;margin-bottom:44px;max-width:780px}
.head h2{font-size:clamp(1.85rem,4.2vw,2.6rem)}
.head p{margin-top:14px;color:var(--steel);max-width:64ch}
.section--dark .head p{color:var(--steel-light)}

/* =========================================================
   Buttons
   ========================================================= */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 26px;font-family:var(--display);font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none;border:2px solid transparent;background:var(--signal);color:var(--white);transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.btn:hover{background:var(--signal-deep)}
.btn[disabled]{opacity:.7;cursor:progress}
.btn--ghost,.btn--secondary{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn--ghost:hover,.btn--secondary:hover{background:var(--ink);color:var(--white)}
.on-dark .btn--ghost{border-color:rgba(255,255,255,.55);color:var(--white)}
.on-dark .btn--ghost:hover{background:var(--white);color:var(--ink)}
.btn--sm{min-height:44px;padding:10px 18px;font-size:.93rem}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.textlink{font-family:var(--display);font-weight:700;color:var(--signal);text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:1px}
.textlink:hover{color:var(--signal-deep)}
.on-dark .textlink{color:var(--signal-on-dark)}
.on-dark .textlink:hover{color:var(--white)}

/* =========================================================
   Utility bar and header
   ========================================================= */
.util{background:var(--ink);color:var(--steel-light);font-size:.84rem}
.util .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px;min-height:40px;padding-block:6px}
.util a{color:var(--white);text-decoration:none;font-weight:500}
.util a:hover{color:var(--signal-on-dark)}
.util-end{margin-left:auto;display:flex;flex-wrap:wrap;gap:4px 24px}
.hdr{position:sticky;top:0;z-index:100;background:var(--white);border-bottom:1px solid var(--hairline)}
.hdr .wrap{position:relative;display:flex;align-items:center;gap:20px;min-height:var(--header-h)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-logo{display:block;height:56px;width:auto;flex:none}
@media (max-width:480px){.brand-logo{height:46px}.brand-name small{max-width:9.5em}}
.brand-mark{position:relative;width:34px;height:34px;flex:none;background:var(--signal)}
.brand-mark::before{content:"";position:absolute;top:0;bottom:0;left:20px;width:2px;background:var(--white)}
.brand-mark::after{content:"";position:absolute;left:0;right:0;top:13px;height:2px;background:var(--white)}
.brand-name{font-family:var(--display);font-weight:800;font-size:1.02rem;line-height:1.1;letter-spacing:-.02em}
.brand-name small{display:block;font-family:var(--body);font-weight:500;font-size:.72rem;line-height:1.3;letter-spacing:0;color:var(--steel);max-width:12em;padding-left:12px;border-left:1px solid var(--hairline)}
.nav{margin-left:auto;display:flex;align-items:center;gap:26px}
.nav a{text-decoration:none;font-size:.95rem;font-weight:500;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{border-bottom-color:var(--signal)}
.nav .btn{padding-inline:18px;border-bottom:2px solid transparent}
.nav .btn:hover{border-bottom-color:transparent}
.nav-toggle{display:none;margin-left:auto;min-height:44px;padding:8px 16px;background:var(--white);border:1px solid var(--hairline);font-weight:600;font-size:.92rem;color:var(--ink)}

/* =========================================================
   Hero
   ========================================================= */
.hero{background:var(--ink);color:var(--white);padding-top:72px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(2.45rem,5.6vw,4rem);font-weight:800;max-width:13ch}
.hero-lede{font-size:1.2rem;color:#C8CDD3;max-width:50ch;margin:24px 0 8px}
.hero-sub{color:var(--steel-light);max-width:50ch;margin-bottom:30px}
.hero-call{display:inline-flex;align-items:center;min-height:52px;padding:0 6px;color:var(--white);font-family:var(--display);font-weight:700;text-decoration:none;border-bottom:2px solid rgba(255,255,255,.35)}
.hero-call:hover{border-bottom-color:var(--white)}
.hero-note{display:flex;gap:10px;margin-top:26px;font-size:.93rem;color:var(--steel-light)}
/* Service map: the building's compartments */
.map{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--hairline-dark);border:6px solid var(--hairline-dark)}
.map-tile{display:flex;flex-direction:column;gap:10px;min-height:150px;padding:22px 20px;background:var(--ink-raised);color:var(--white);text-decoration:none;transition:background-color .15s ease}
.map-tile:hover{background:#262C34}
.map-tile .ico{color:var(--signal-on-dark)}
/* An odd number of service tiles: the last one spans the row */
.map-tile:not(.map-tile--base):nth-child(odd):nth-last-child(2){grid-column:1 / -1;min-height:0}
.map-title{font-family:var(--display);font-weight:700;font-size:1.12rem;letter-spacing:-.01em}
.map-text{font-size:.86rem;line-height:1.45;color:var(--steel-light)}
.map-text--base{color:#E3C3C9}
.map-tile--base{grid-column:1 / -1;min-height:0;flex-direction:row;align-items:center;gap:16px;background:#2A1216}
.map-tile--base:hover{background:#34161B}
.map-tile--base .ico{color:var(--white)}
.creds-wrap{margin-top:72px;border-top:1px solid var(--hairline-dark)}
.creds-gap{height:72px}
.creds{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.cred{padding:22px 20px 22px;border-left:1px solid var(--hairline-dark);margin-left:-1px}
.cred:first-child{padding-left:0;border-left:0;margin-left:0}
.cred b{display:block;font-family:var(--display);font-size:1.05rem}
.cred span{display:block;font-size:.8rem;line-height:1.4;color:var(--steel-light)}

/* =========================================================
   Start here
   ========================================================= */
.start{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:28px}
.start-card{display:flex;flex-direction:column;border:1px solid var(--hairline);background:var(--white)}
.start-img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.start-body{display:flex;flex-direction:column;flex:1;padding:30px 30px 32px}
.start-card .start-kicker{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:var(--signal)}
.start-card h3{font-size:1.6rem;margin-bottom:12px}
.start-card p{color:var(--steel)}
.incl{list-style:none;margin:18px 0 26px;border-top:1px solid var(--hairline)}
.incl li{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--hairline);font-size:.95rem}
.start-actions{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:16px}

/* =========================================================
   Services by pillar
   ========================================================= */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline)}
.pillars--3{grid-template-columns:repeat(3,1fr)}
.pillars--2{grid-template-columns:repeat(2,1fr)}
.pillar{background:var(--white);padding:28px 24px 30px}
.pillar-head{display:flex;align-items:center;gap:12px;padding-bottom:16px;margin-bottom:6px;border-bottom:3px solid var(--ink)}
.pillar-head .ico{color:var(--signal)}
.pillar h3{font-size:1.2rem}
.svc-list{list-style:none}
.svc-list li{border-bottom:1px solid var(--hairline)}
.svc-list li:last-child{border-bottom:0}
.svc-list a{display:block;padding:12px 0;text-decoration:none}
.svc-list a:hover .svc-name{color:var(--signal)}
.svc-name{display:block;font-weight:600;font-size:.98rem;line-height:1.35}
.svc-desc{display:block;font-size:.85rem;line-height:1.45;color:var(--steel);margin-top:3px}
.svc-shop{display:block;font-size:.85rem;padding:0 0 12px;color:var(--steel)}
.svc-shop a{display:inline;padding:0;color:var(--ink);text-decoration:underline;text-underline-offset:2px}

/* =========================================================
   One provider + schedule
   ========================================================= */
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 40px;margin-bottom:64px}
.benefit{display:flex;gap:16px}
.benefit .ico{color:var(--signal);margin-top:2px}
.benefit h3{font-size:1.1rem;margin-bottom:6px}
.benefit p{font-size:.95rem;color:var(--steel)}
.sched{margin:0;border:1px solid var(--hairline);background:var(--white)}
.sched-cap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;padding:20px 24px;border-bottom:1px solid var(--hairline);background:var(--paper)}
.sched-title{font-family:var(--display);font-weight:700;font-size:1.15rem}
.sched-caveat{font-size:.85rem;color:var(--steel);max-width:62ch}
.sched-scroll{overflow-x:auto}
.sched table{width:100%;border-collapse:collapse;font-size:.85rem;font-variant-numeric:tabular-nums}
.sched th,.sched td{border-bottom:1px solid var(--hairline);text-align:center;padding:0}
.sched thead th{height:40px;font-weight:600;color:var(--steel);font-size:.8rem}
.sched tbody th{text-align:left;padding:14px 16px 14px 24px;width:31%;font-weight:600;line-height:1.35}
.sched-sub{display:block;font-weight:400;font-size:.8rem;color:var(--steel);margin-top:2px}
.sched td{height:64px;position:relative}
.sched .is-combined{background:rgba(200,16,46,.06);box-shadow:inset 1px 0 0 var(--signal),inset -1px 0 0 var(--signal)}
.sched thead .is-combined{color:var(--signal);box-shadow:inset 1px 0 0 var(--signal),inset -1px 0 0 var(--signal),inset 0 3px 0 var(--signal)}
.mk{display:inline-block;width:14px;height:14px;vertical-align:middle}
.mk--over{position:relative}
.mk-us{background:var(--ink)}
.mk-site{border:2px solid var(--ink)}
.mk-line{position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1px;background:var(--steel-light)}
.m-short{display:none}
.sched-legend{display:flex;flex-wrap:wrap;gap:10px 26px;padding:16px 24px;font-size:.85rem;color:var(--steel);list-style:none}
.sched-legend li{display:flex;align-items:center;gap:8px}
.lg-line{display:inline-block;width:22px;height:3px;background:var(--steel-light)}
.lg-comb{display:inline-block;width:16px;height:16px;background:rgba(200,16,46,.06);border:1px solid var(--signal)}

/* =========================================================
   Portfolios
   ========================================================= */
.port{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.feat{list-style:none;border-top:1px solid var(--hairline-dark)}
.feat li{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--hairline-dark)}
.feat .ico{color:var(--signal-on-dark);width:28px;height:28px}
.feat h3{font-size:1.05rem;margin-bottom:4px}
.feat p{font-size:.93rem;color:var(--steel-light)}
.port-panel{background:var(--ink-raised);border:1px solid var(--hairline-dark)}
.port-panel table{width:100%;border-collapse:collapse;font-size:.9rem}
.port-panel caption{text-align:left;padding:18px 20px;border-bottom:1px solid var(--hairline-dark);font-family:var(--display);font-weight:700;font-size:1.05rem;color:var(--white)}
.port-panel caption span{display:block;margin-top:2px;font-family:var(--body);font-weight:400;font-size:.8rem;color:var(--steel-light)}
.port-panel th,.port-panel td{text-align:left;padding:13px 20px;border-bottom:1px solid var(--hairline-dark);vertical-align:top}
.port-panel thead th{font-size:.78rem;font-weight:600;color:var(--steel-light)}
.port-panel td{color:#DDE1E5}
.port-panel .due{white-space:nowrap;font-weight:600;color:var(--white)}
.port-foot{padding:16px 20px 20px;font-size:.88rem;color:var(--steel-light)}
.port-foot .textlink{display:inline-block;margin-top:6px}
.port-cta{margin-top:28px}

/* =========================================================
   Lifecycle (a genuine sequence)
   ========================================================= */
.cycle{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);border-top:3px solid var(--signal);counter-reset:step}
.cycle li{position:relative;padding:28px 26px 30px 0;border-bottom:1px solid var(--hairline)}
.cycle li:nth-child(3n+2),.cycle li:nth-child(3n){padding-left:26px;border-left:1px solid var(--hairline)}
.cycle-n{display:block;font-family:var(--display);font-weight:800;font-size:1.7rem;line-height:1;color:var(--signal);margin-bottom:12px}
.cycle h3{font-size:1.12rem;margin-bottom:8px}
.cycle p{font-size:.95rem;color:var(--steel)}
.cycle-note{display:flex;gap:10px;margin-top:24px;font-size:.95rem;color:var(--steel)}

/* =========================================================
   Industries
   ========================================================= */
.inds{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline)}
.ind{display:block;padding:24px 24px 26px;background:var(--white);text-decoration:none;transition:background-color .15s ease}
.ind:hover{background:#FBFBFC}
.ind h3{font-size:1.08rem;margin-bottom:6px}
.ind:hover h3{color:var(--signal)}
.ind p{font-size:.9rem;color:var(--steel)}

/* =========================================================
   Coverage
   ========================================================= */
.cover{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:start}
.pc{border:1px solid var(--hairline);background:var(--white)}
.pc[open]{border-color:var(--ink)}
.pc summary{display:flex;align-items:baseline;gap:14px;min-height:96px;padding:22px 20px 18px;cursor:pointer;list-style:none}
.pc summary::-webkit-details-marker{display:none}
.pc-code{font-family:var(--display);font-weight:800;font-size:2rem;line-height:1;color:var(--signal)}
.pc-area{font-family:var(--display);font-weight:700}
.pc-area small{display:block;font-family:var(--body);font-weight:400;font-size:.82rem;color:var(--steel)}
.pc-sign{margin-left:auto;font-family:var(--display);font-weight:700;font-size:1.3rem;color:var(--steel)}
.pc[open] .pc-sign{transform:rotate(45deg)}
.pc ul{list-style:none;margin:0 20px 20px;padding-top:12px;border-top:1px solid var(--hairline)}
.pc li{padding:4px 0;font-size:.93rem;color:var(--steel)}
.pc li a{color:var(--ink);font-weight:500}
.cover-note{margin-top:26px;color:var(--steel);max-width:72ch}

/* =========================================================
   Quote form
   ========================================================= */
.quote{background:var(--ink);color:var(--white);padding-block:96px}
.quote--page{padding-block:64px 96px}
.qshell{display:grid;grid-template-columns:.8fr 1.2fr;border:1px solid var(--hairline-dark)}
.qside{padding:48px 40px;border-right:1px solid var(--hairline-dark)}
.qside h1,.qside h2{font-size:clamp(1.8rem,3.4vw,2.3rem);margin-bottom:16px}
.qside p{color:var(--steel-light)}
.qside ul{list-style:none;margin-top:26px}
.qside li{display:flex;gap:12px;padding:8px 0;font-size:.95rem;color:#C8CDD3}
.qside a{color:var(--white)}
.qmain{padding:44px 40px 40px;background:var(--ink-raised)}
.qf-progress{display:flex;gap:5px;margin-bottom:10px}
.qf-progress span{flex:1;height:4px;background:var(--hairline-dark)}
.qf-progress span.done{background:var(--signal)}
.qf-count{font-size:.84rem;color:var(--steel-light);margin-bottom:22px}
.qf-step{border:0;margin:0;padding:0;min-width:0}
.qf-step + .qf-step{margin-top:36px}
.js .qf-step + .qf-step{margin-top:0}
/* Until the script has started, show the first question only, exactly as the script will, so the
   page doesn't jump when it takes over */
.js #quote-form:not([data-ready]):not([data-has-errors]) .qf-step + .qf-step,
.js #quote-form:not([data-ready]):not([data-has-errors]) #qf-submit,
.js #quote-form:not([data-ready]):not([data-has-errors]) #qf-back{display:none}
.qf-q{display:block;padding:0;font-family:var(--display);font-weight:700;font-size:1.45rem;line-height:1.2;letter-spacing:-.015em;color:var(--white);margin-bottom:6px}
.qf-q:focus{outline:none}
.qf-q:focus-visible{outline:3px solid var(--white);outline-offset:4px}
.qf-hint{font-size:.9rem;color:var(--steel-light);margin-bottom:18px}
.qf-intent{font-size:.9rem;color:var(--escape-on-dark);margin-bottom:14px}
.opts{display:grid;gap:8px}
.opts--2{grid-template-columns:1fr 1fr}
.opt{position:relative;display:block;cursor:pointer}
.opt input{position:absolute;opacity:0;width:1px;height:1px}
.opt span{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 16px;border:1px solid #3A414A;background:#232830;color:var(--white);font-size:.97rem;line-height:1.35;transition:border-color .12s ease,background-color .12s ease}
.opt span::before{content:"";flex:none;width:18px;height:18px;border:2px solid #7C848D;border-radius:50%}
.opt input[type="checkbox"] + span::before{border-radius:0}
.opt:hover span{border-color:var(--signal-on-dark)}
.opt input:checked + span{border-color:var(--signal-on-dark);background:#2E151A}
.opt input:checked + span::before{border-color:var(--signal-on-dark);background:radial-gradient(circle,var(--signal-on-dark) 0 45%,transparent 50%)}
.opt input[type="checkbox"]:checked + span::before{background:var(--signal-on-dark);box-shadow:inset 0 0 0 3px #2E151A}
.opt input:focus-visible + span{outline:3px solid var(--white);outline-offset:2px}
.opt input[aria-invalid="true"] + span{border-color:var(--signal-on-dark)}
.fields{display:grid;gap:16px}
.fields--2{grid-template-columns:1fr 1fr}
.fields--gap{margin-top:16px}
.fld label{display:block;font-size:.9rem;font-weight:500;color:#DDE1E5;margin-bottom:6px}
.fld .opt-tag{font-weight:400;color:var(--steel-light)}
.fld input[type="text"],.fld input[type="email"],.fld input[type="tel"]{width:100%;min-height:52px;padding:12px 14px;background:#232830;border:1px solid #58606A;color:var(--white);font:inherit;font-size:1rem}
.fld input::placeholder{color:#8A929B}
.fld input:focus{border-color:var(--white);outline:2px solid var(--white);outline-offset:0}
.fld input[aria-invalid="true"]{border-color:var(--signal-on-dark);box-shadow:inset 3px 0 0 var(--signal-on-dark)}
.fld input[type="file"]{width:100%;padding:12px;background:#232830;border:1px dashed #58606A;color:#C8CDD3;font:inherit;font-size:.9rem}
.fld-hint{display:block;font-size:.82rem;color:var(--steel-light);margin-top:6px}
.qf-err{margin:8px 0 0;font-size:.9rem;font-weight:600;color:var(--signal-on-dark)}
.qf-err:empty{display:none}
.qf-err::before{content:"Error: "}
.loc-hint{margin-top:8px;min-height:1.6em;font-size:.9rem;color:var(--escape-on-dark)}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.qf-nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:28px}
.qf-back{background:none;border:0;min-height:44px;padding:8px 4px;color:var(--steel-light);text-decoration:underline;text-underline-offset:3px}
.qf-back:hover{color:var(--white)}
html:not(.js) .no-js-hide{display:none}
.qf-legal{margin-top:18px;font-size:.8rem;line-height:1.55;color:var(--steel-light)}
.qf-legal a{color:#DDE1E5}
.qf-status,.qf-summary{margin-top:20px;padding:16px 18px;border-left:4px solid var(--signal-on-dark);background:#2A1216;color:var(--white);font-size:.95rem}
.qf-summary{margin:0 0 26px}
.qf-summary-title{font-family:var(--display);font-weight:700;font-size:1.1rem;margin-bottom:8px}
.qf-summary ul{margin:0 0 10px 18px}
.qf-summary li{margin:4px 0}
.qf-status:focus,.qf-summary:focus{outline:3px solid var(--white);outline-offset:2px}
.qf-status a,.qf-summary a{color:var(--white);font-weight:600}

/* =========================================================
   FAQ
   ========================================================= */
.faq{max-width:840px;border-top:1px solid var(--hairline)}
.faq details{border-bottom:1px solid var(--hairline)}
.faq summary{position:relative;display:block;min-height:44px;padding:22px 44px 22px 0;cursor:pointer;list-style:none;font-family:var(--display);font-weight:700;font-size:1.1rem;letter-spacing:-.015em;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--signal)}
.faq details[open] summary::after{content:"\2212"}
.faq-a{padding:0 0 24px;color:#3A4047;max-width:70ch}
.faq-a p{margin-bottom:.8em}

/* =========================================================
   Final CTA
   ========================================================= */
.final{background:var(--signal);color:var(--white);padding-block:72px}
.final-grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:30px 40px}
.final h2{font-size:clamp(1.9rem,4.4vw,2.7rem);max-width:17ch}
.final p{margin-top:12px;font-size:1.08rem;max-width:44ch}
.final .btn{background:var(--white);color:var(--signal)}
.final .btn:hover{background:var(--ink);color:var(--white)}
.final .btn--ghost{background:transparent;border-color:rgba(255,255,255,.75);color:var(--white)}
.final .btn--ghost:hover{background:var(--white);color:var(--signal)}
.final :focus-visible{outline-color:var(--white)}

/* =========================================================
   Inner pages: breadcrumbs, page hero, body copy, aside
   ========================================================= */
.crumbs{background:var(--paper);border-bottom:1px solid var(--hairline);font-size:.86rem;color:var(--steel)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 0;padding-block:12px}
.crumbs li{display:flex;align-items:center}
.crumbs li + li::before{content:"/";margin:0 10px;color:#9AA1A9}
.crumbs a{color:var(--steel);text-decoration:underline;text-underline-offset:2px}
.crumbs a:hover{color:var(--signal)}
.crumbs [aria-current="page"]{color:var(--ink);font-weight:600}
.lhero{background:var(--ink);color:var(--white);padding-block:64px}
.lhero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:52px;align-items:start}
.lhero-grid--single{grid-template-columns:minmax(0,1fr)}
.lhero h1{font-size:clamp(2.1rem,5vw,3.3rem);font-weight:800;max-width:21ch}
.lhero-kicker{font-family:var(--display);font-weight:700;font-size:.9rem;color:var(--signal-on-dark);margin-bottom:12px}
.lhero-lede{font-size:1.15rem;color:#C8CDD3;max-width:58ch;margin:22px 0 28px}
.lhero-lede:last-child{margin-bottom:0}
.lhero-call{display:inline-flex;align-items:center;min-height:52px;padding:0 6px;color:var(--white);font-family:var(--display);font-weight:700;text-decoration:none;border-bottom:2px solid rgba(255,255,255,.35)}
.lhero-call:hover{border-bottom-color:var(--white)}
.lhero-photo{margin:0;border:1px solid var(--hairline-dark)}
.lhero-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.panel{background:var(--ink-raised);border:1px solid var(--hairline-dark);border-top:4px solid var(--signal);padding:26px 24px}
.panel h2{font-size:1.1rem;margin-bottom:14px}
.panel dl{margin:0;font-size:.93rem}
.panel dt{margin-top:14px;font-size:.8rem;color:var(--steel-light)}
.panel dt:first-child{margin-top:0}
.panel dd{margin:2px 0 0;color:var(--white)}
.panel dd a{color:var(--white);font-weight:600}
.copy{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;align-items:start}
.copy--full{grid-template-columns:minmax(0,1fr)}
.copy h2{font-size:1.8rem;border-top:3px solid var(--signal);padding-top:18px;margin:52px 0 18px}
.copy > div > h2:first-child,.copy > div > section:first-child > h2:first-child{margin-top:0}
.copy h3{font-size:1.2rem;margin:30px 0 10px}
.copy p,.copy li{color:#2C3138;max-width:70ch}
.copy p a,.copy li a,.copy td a{color:var(--signal);font-weight:500}
.copy ul.bullets,.copy ol.steps{margin:0 0 1em 1.25em;padding:0}
.copy ul.bullets li,.copy ol.steps li{margin:6px 0;padding-left:4px}
.copy section{scroll-margin-top:calc(var(--header-h) + 16px)}
.areas{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:24px 0;background:var(--hairline);border:1px solid var(--hairline)}
.areas li{background:var(--white);padding:16px 18px;font-weight:600;font-size:.95rem}
.areas a{color:var(--ink)}
.copy .incl{margin:18px 0}
.copy .incl li{padding:10px 0;font-size:1rem;max-width:none}
.aside{position:sticky;top:calc(var(--header-h) + 24px);border:1px solid var(--hairline);background:var(--paper);padding:26px 24px}
.aside h2{font-size:1.2rem;border:0;padding:0;margin:0 0 10px}
.aside p{font-size:.93rem;color:var(--steel)}
.aside .btn{width:100%;margin-top:10px}
.aside-tel{display:block;margin-top:12px;text-align:center;font-family:var(--display);font-weight:700;font-size:1.15rem;color:var(--ink);text-decoration:none}
.aside-tel:hover{color:var(--signal)}
.aside-links{list-style:none;margin-top:18px;border-top:1px solid var(--hairline)}
.aside-links li{border-bottom:1px solid var(--hairline)}
.aside-links a{display:block;padding:10px 0;font-size:.93rem;font-weight:600;color:var(--ink);text-decoration:none}
.aside-links a:hover{color:var(--signal)}
.panel .aside-links{margin-top:0;border-top-color:var(--hairline-dark)}
.panel .aside-links li{border-bottom-color:var(--hairline-dark)}
.panel .aside-links a{color:var(--white)}
.panel .aside-links a:hover{color:var(--signal-on-dark)}
.note{margin:24px 0;padding:18px 20px;border-left:4px solid var(--ink);background:var(--paper);font-size:.97rem}
.note p:last-child{margin-bottom:0}
.coord{margin-top:52px;padding:26px 26px 22px;border:1px solid var(--hairline);background:var(--paper)}
.coord h2{font-size:1.25rem;border:0;padding:0;margin:0 0 8px}
.coord p{font-size:.95rem;color:var(--steel)}
.coord ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;margin-top:14px}
.coord li{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:.95rem}
.coord li .ico{width:22px;height:22px;color:var(--signal)}
.coord a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.coord a:hover{color:var(--signal)}
.near-h{font-size:1.5rem;border-top:3px solid var(--signal);padding-top:18px;max-width:780px}
.near{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.near a{display:inline-flex;align-items:center;min-height:44px;padding:8px 18px;border:1px solid #4A515A;color:var(--white);text-decoration:none;font-weight:500;font-size:.93rem;transition:border-color .15s ease,background-color .15s ease}
.near a:hover{border-color:var(--signal);background:var(--signal)}
.faq-h{font-size:1.8rem;border-top:3px solid var(--signal);padding-top:18px;margin-bottom:12px;max-width:780px}
.faq-intro{color:var(--steel);margin-bottom:24px;max-width:64ch}

/* Cards: services, industries, areas, articles, case studies */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cards--2{grid-template-columns:repeat(2,1fr)}
.card-link{display:flex;flex-direction:column;border:1px solid var(--hairline);background:var(--white);text-decoration:none;color:var(--ink);transition:border-color .15s ease}
.card-link:hover{border-color:var(--ink)}
.card-link:hover h3{color:var(--signal)}
.card-img{aspect-ratio:16/10;background:var(--paper);overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover}
.card-icon{display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;background:var(--ink);color:var(--signal-on-dark)}
.card-icon .ico{width:56px;height:56px}
.card-body{display:flex;flex-direction:column;gap:8px;flex:1;padding:22px 22px 24px}
.card-kicker{font-family:var(--display);font-weight:700;font-size:.8rem;color:var(--signal)}
.card-body h3{font-size:1.15rem}
.card-body p{font-size:.93rem;color:var(--steel)}
.card-meta{margin-top:auto;padding-top:8px;font-size:.82rem;color:var(--steel)}
.section--dark .card-link{background:var(--ink-raised);border-color:var(--hairline-dark);color:var(--white)}
.section--dark .card-link:hover{border-color:var(--signal-on-dark)}
.section--dark .card-link:hover h3{color:var(--signal-on-dark)}
.section--dark .card-body p,.section--dark .card-meta{color:var(--steel-light)}
.section--dark .card-kicker{color:var(--signal-on-dark)}
.svc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline)}
.svc-card{display:flex;gap:16px;padding:24px;background:var(--white);text-decoration:none;color:var(--ink)}
.svc-card:hover{background:#FBFBFC}
.svc-card:hover h3{color:var(--signal)}
.svc-card .ico{color:var(--signal)}
.svc-card h3{font-size:1.1rem;margin-bottom:6px}
.svc-card p{font-size:.92rem;color:var(--steel)}
.group-h{font-size:1.4rem;margin:44px 0 16px;display:flex;align-items:center;gap:12px}
.group-h:first-child{margin-top:0}
.group-h .ico{color:var(--signal)}

/* Long-form text: articles, case studies, legal pages */
.prose{max-width:740px}
.prose h2{font-size:1.6rem;margin:44px 0 14px;scroll-margin-top:calc(var(--header-h) + 16px)}
.prose h3{font-size:1.2rem;margin:30px 0 10px}
.prose p,.prose li{color:#2C3138}
.prose ul,.prose ol{margin:0 0 1.1em 1.3em}
.prose li{margin:6px 0;padding-left:4px}
.prose a{color:var(--signal);font-weight:500}
.prose blockquote{margin:24px 0;padding:16px 20px;border-left:4px solid var(--signal);background:var(--paper)}
.prose blockquote p{margin:0}
.prose strong{font-weight:600}
.prose .table-scroll{overflow-x:auto;margin:20px 0}
.prose table{width:100%;border-collapse:collapse;font-size:.93rem}
.prose th,.prose td{border:1px solid var(--hairline);padding:10px 12px;text-align:left;vertical-align:top}
.prose th{background:var(--paper);font-weight:600}
.prose-figure{margin:28px 0}
.prose-figure img{width:100%;height:auto}
.prose-figure figcaption{margin-top:8px;font-size:.88rem;color:var(--steel)}
.post-head{max-width:740px}
.post-meta{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:18px;font-size:.88rem;color:var(--steel-light)}
.post-hero{margin:0 0 36px}
.post-hero img{width:100%;height:auto;max-height:520px;object-fit:cover}
.toc{margin:0 0 32px;padding:18px 20px;border:1px solid var(--hairline);background:var(--paper);max-width:740px}
.toc h2{font-size:1rem;margin:0 0 8px;border:0;padding:0}
.toc ol{margin:0 0 0 1.2em}
.toc li{margin:4px 0;font-size:.95rem}
.toc a{color:var(--ink)}
.facts{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--hairline);border:1px solid var(--hairline);margin-bottom:36px}
.facts div{background:var(--white);padding:14px 16px}
.facts dt{font-size:.8rem;color:var(--steel)}
.facts dd{margin:2px 0 0;font-weight:600}
.gallery{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:24px}
.gallery figure{margin:0}
.gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{margin-top:6px;font-size:.85rem;color:var(--steel)}
.related{margin-top:48px;padding:24px;border:1px solid var(--hairline);background:var(--paper);max-width:740px}
.related h2{font-size:1.2rem;margin:0 0 8px;border:0;padding:0}
.related p{color:var(--steel)}
.related .btn-row{margin-top:14px}
.legal h2{font-size:1.4rem}
.legal .updated{color:var(--steel);font-size:.9rem}

.preview-bar{position:sticky;top:0;z-index:150;padding:10px var(--gut);background:#FFF4D6;color:var(--ink);font-weight:600;text-align:center;border-bottom:2px solid #E8C46A}
.btn-reset{background:none;border:0;padding:0 0 1px;font:inherit;cursor:pointer}
.ind .ind-h{font-size:1.08rem;margin-bottom:6px}
.ind:hover .ind-h{color:var(--signal)}
.svc-cards--2{grid-template-columns:repeat(2,1fr)}
.pc--static{padding-bottom:4px}
.pc-head{display:flex;align-items:baseline;gap:14px;padding:22px 20px 14px;font-size:inherit;letter-spacing:0}
.cover--open .pc ul{margin-top:0}

/* Contact page */
.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start}
.contact-list{list-style:none;border-top:1px solid var(--hairline)}
.contact-list li{padding:16px 0;border-bottom:1px solid var(--hairline)}
.contact-list b{display:block;font-size:.85rem;color:var(--steel);font-weight:500}
.contact-list a{color:var(--ink);font-family:var(--display);font-weight:700;font-size:1.15rem;text-decoration:none}
.contact-list a:hover{color:var(--signal)}
.contact-list address{font-style:normal;font-weight:600}
.cform{background:var(--ink-raised);color:var(--white);padding:36px 32px;border:1px solid var(--hairline-dark)}
.cform h2{font-size:1.5rem;margin-bottom:8px}
.cform > p{color:var(--steel-light)}
.fld textarea{width:100%;min-height:150px;padding:12px 14px;background:#232830;border:1px solid #58606A;color:var(--white);font:inherit;font-size:1rem;resize:vertical}
.fld textarea:focus{border-color:var(--white);outline:2px solid var(--white);outline-offset:0}
.fld textarea[aria-invalid="true"]{border-color:var(--signal-on-dark);box-shadow:inset 3px 0 0 var(--signal-on-dark)}
.cform .qf-summary{margin-bottom:22px}

/* =========================================================
   Simple pages: thank you, errors
   ========================================================= */
.notice-page{min-height:50vh}
.notice{max-width:720px;border-top:3px solid var(--signal);padding-top:24px}
.notice h1,.error-page h1{font-size:clamp(2rem,4.6vw,2.8rem);font-weight:800;margin-bottom:18px}
.notice-kicker{display:flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;color:var(--escape)}
.notice-kicker .tick{margin-top:0}
.notice-lede{font-size:1.15rem}
.notice .btn-row{margin-top:28px}
.notice a:not(.btn){color:var(--signal);font-weight:600}
.error-page{max-width:var(--wrap);margin-inline:auto;padding:96px max(var(--gut),env(safe-area-inset-left));min-height:50vh}
.error-page > *{max-width:720px}
.error-page__code{font-family:var(--display);font-weight:700;color:var(--signal);margin-bottom:12px}
.error-page .muted{color:var(--steel)}
.error-page .btn-row{margin-top:28px}

/* =========================================================
   Footer
   ========================================================= */
.ftr{background:var(--ink);color:var(--steel-light);padding-top:72px;font-size:.92rem}
.ftr-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px}
.ftr h2{font-size:.98rem;color:var(--white);margin-bottom:16px;letter-spacing:-.01em}
.ftr .ftr-h-gap{margin-top:26px}
.ftr ul{list-style:none}
.ftr li{padding:4px 0}
.ftr a{color:var(--steel-light);text-decoration:none}
.ftr a:hover{color:var(--white);text-decoration:underline}
.ftr address{font-style:normal;line-height:1.75}
.ftr .ftr-tel{display:inline-block;margin:14px 0 4px;font-family:var(--display);font-weight:700;font-size:1.35rem;color:var(--white)}
.ftr-hours{margin-top:10px}
.ftr-bot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;padding-block:22px calc(22px + env(safe-area-inset-bottom));border-top:1px solid var(--hairline-dark);font-size:.84rem}
.ftr-link{background:none;border:0;padding:0;color:var(--steel-light);font-size:inherit;text-decoration:none}
.ftr-link:hover{color:var(--white);text-decoration:underline}
.ftr-legal{flex-basis:100%}

/* =========================================================
   Sticky mobile actions
   ========================================================= */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:120;display:none;background:var(--ink);border-top:3px solid var(--signal);padding-bottom:env(safe-area-inset-bottom)}
.sticky a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;color:var(--white);font-family:var(--display);font-weight:700;text-decoration:none}
.sticky a + a{background:var(--signal)}
.sticky svg{width:18px;height:18px;fill:currentColor}

/* =========================================================
   Analytics consent (shown only when Google Analytics is set up)
   ========================================================= */
.consent{position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--white);border-top:3px solid var(--ink);box-shadow:0 -8px 24px rgba(21,24,28,.15);padding-block:18px calc(18px + env(safe-area-inset-bottom))}
.consent-inner{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.consent p{flex:1 1 420px;margin:0;font-size:.93rem}
.consent a{color:var(--signal);font-weight:600}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1100px){
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .lhero-grid,.copy,.contact-grid{grid-template-columns:1fr;gap:40px}
  .aside{position:static}
  .cards,.svc-cards{grid-template-columns:1fr 1fr}
  .pillars,.pillars--3{grid-template-columns:1fr 1fr}
  .benefits{grid-template-columns:1fr 1fr}
  .port{grid-template-columns:1fr;gap:40px}
  .cover{grid-template-columns:1fr 1fr}
  .qshell{grid-template-columns:1fr}
  .qside{border-right:0;border-bottom:1px solid var(--hairline-dark)}
  .ftr-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:980px){
  .nav-toggle{display:block}
  .js .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:6px var(--gut) 20px;background:var(--white);border-bottom:1px solid var(--hairline);box-shadow:0 12px 24px rgba(21,24,28,.12)}
  .js .nav[data-open="true"]{display:flex}
  .nav a{padding:14px 0;border-bottom:1px solid var(--hairline)}
  .nav .btn{margin-top:14px}
  html:not(.js) .hdr .wrap{flex-wrap:wrap;padding-block:12px}
  html:not(.js) .nav{flex-wrap:wrap;gap:4px 18px;margin-left:0}
  html:not(.js) .nav-toggle{display:none}
  .cycle{grid-template-columns:1fr 1fr}
  .cycle li:nth-child(3n+2),.cycle li:nth-child(3n){padding-left:0;border-left:0}
  .cycle li:nth-child(even){padding-left:26px;border-left:1px solid var(--hairline)}
  .inds{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  :root{--gut:20px;--header-h:68px}
  body{font-size:1rem}
  html{scroll-padding-bottom:80px}
  .section,.quote{padding-block:64px}
  .util-end{margin-left:0}
  .util-where{display:none}
  .hero{padding-top:48px}
  .map-tile{min-height:0;padding:18px 16px}
  .creds{grid-template-columns:1fr 1fr}
  .cred{border-left:0;margin-left:0;padding-left:0;border-bottom:1px solid var(--hairline-dark)}
  .cred:nth-child(even){border-left:1px solid var(--hairline-dark);padding-left:20px}
  .port-panel th,.port-panel td{padding:12px 12px}
  .port-panel caption{padding:16px 12px}
  .pillars,.pillars--3,.pillars--2,.benefits,.inds,.cover,.cards,.cards--2,.svc-cards,.areas,.coord ul{grid-template-columns:1fr}
  .lhero{padding-block:48px}
  .copy h2{font-size:1.55rem}
  .cform{padding:28px 20px}
  .cycle{grid-template-columns:1fr}
  .cycle li:nth-child(even){padding-left:0;border-left:0}
  .start-body{padding:24px 20px 26px}
  .qside,.qmain{padding:32px 20px}
  .opts--2,.fields--2{grid-template-columns:1fr}
  .sched-cap{padding:16px}
  .pc summary{min-height:44px}
  .sched tbody th{width:40%;padding:12px 8px 12px 12px;font-size:.8rem}
  .sched-sub{font-size:.72rem}
  .sched td{height:auto;min-height:44px}
  .mk{width:10px;height:10px}
  .m-long{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .m-short{display:inline}
  .sched thead th{font-size:.72rem}
  .sched-legend{padding:14px 16px}
  .final{padding-block:56px}
  .ftr-grid{grid-template-columns:1fr;gap:30px}
  .ftr-bot{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  .sticky{display:flex}
  .consent{bottom:calc(59px + env(safe-area-inset-bottom))}
  .error-page{padding-block:64px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
@media print{
  .util,.hdr,.sticky,.consent,.quote,.final,.ftr-grid{display:none!important}
  .hero,.section--dark{background:none;color:var(--ink)}
}
/* Reminder requests */
.fld select{width:100%;min-height:52px;padding:12px 14px;background:#232830;border:1px solid #58606A;color:var(--white);font:inherit;font-size:1rem}
.fld select:focus{border-color:var(--white);outline:2px solid var(--white);outline-offset:0}
.fld select[aria-invalid="true"]{border-color:var(--signal-on-dark);box-shadow:inset 3px 0 0 var(--signal-on-dark)}
.fld--group{border:0;padding:0;margin:0;min-width:0}
.fld--group legend{display:block;font-size:.9rem;font-weight:600;color:var(--white);margin-bottom:8px;padding:0}
.remind-strip{background:var(--paper,#F4F5F6);border-top:1px solid var(--hairline,#DADDE1)}
.remind-strip .wrap{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;padding-top:22px;padding-bottom:22px}
.remind-strip p{margin:0;max-width:62ch}
