/* SuperBoost SEO - generated by assets/build.js. Brand: navy #0a0a44, red #9f090d, blue #1a7efb. */
:root{
  --navy:#0a0a44; --red:#9f090d; --blue:#1a7efb; --link:#1a5fd0; --ink:#1c1c28; --paper:#ffffff;
  --mist:#f4f6fb; --line:#dfe3ee;
  --dd-blue:#007bd8; --dd-orange:#f66527; --dd-blue-ink:#0069b8;
  --hdr-h:80px; --hdr-h-compact:64px; --utility-h:32px;
  --bar-h:56px; --bar-total:calc(var(--bar-h) + env(safe-area-inset-bottom));
}
@media (max-width:820px){:root{--hdr-h:56px;}}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-padding-top:calc(var(--hdr-h) + 8px);scroll-behavior:smooth}
/* scroll-padding-top alone let a #book jump tuck the section heading under the
   fixed header, seen in a real browser at 1495px. Anchor targets carry their own
   margin so the landing position is right whatever the header height is doing. */
section[id],div[id],h2[id]{scroll-margin-top:calc(var(--hdr-h) + 24px)}
body{font-family:Poppins,Arial,sans-serif;font-size:17px;line-height:1.65;color:var(--ink);background:var(--paper)}
@media (max-width:820px){body{padding-bottom:var(--bar-total)}html{scroll-padding-bottom:var(--bar-total)}}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:Montserrat,Arial,sans-serif;color:var(--navy);line-height:1.15}
h1{font-size:clamp(28px,8vw,34px);max-width:22ch}
@media (min-width:821px){h1{font-size:clamp(34px,3.2vw,46px)}}
h2{font-size:clamp(24px,5vw,32px);margin-bottom:16px}
h3{font-size:19px;margin-bottom:8px}
p{margin-bottom:16px}
a{color:var(--link)}
ul,ol{padding-left:22px;margin-bottom:16px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
@media (max-width:400px){.wrap{padding:0 16px}}
section{padding:64px 0}
@media (min-width:821px){section{padding:96px 0}}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:12px 20px;z-index:220}
.skip-link:focus{left:0}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 26px;border-radius:8px;font-family:Montserrat,Arial,sans-serif;font-weight:600;font-size:16px;text-decoration:none;text-align:center}
.btn-primary{background:var(--red);color:#fff}
.btn-primary:hover{background:#7c070a}
.btn-outline{border:2px solid var(--navy);color:var(--navy);background:transparent}
.cta-band .btn-outline{border-color:#fff;color:#fff}
.ghost-link{color:var(--navy);text-decoration:underline;font-weight:600;align-self:center}
/* header */
.site-header{position:fixed;top:0;left:0;right:0;height:var(--hdr-h);background:var(--navy);z-index:50;transition:height .2s}
.site-header.compact{height:var(--hdr-h-compact)}
.header-spacer{height:var(--hdr-h)}
.header-inner{display:flex;align-items:center;gap:20px;height:100%;background:var(--navy)}
.logo-link img{width:200px;height:50px;object-fit:contain}
@media (max-width:820px){.logo-link img{width:160px;height:40px}}
.site-nav{margin-left:auto}
.nav-list{display:flex;gap:6px;list-style:none;padding:0;margin:0;align-items:center}
.nav-list>li>a,.nav-parent{color:#fff;text-decoration:none;font-size:15px;font-weight:600;padding:12px 14px;background:none;border:0;cursor:pointer;font-family:Poppins,Arial,sans-serif;display:inline-block;white-space:nowrap}
.nav-list>li>a:hover,.nav-parent:hover{color:var(--blue)}
.has-mega{position:relative}
.mega{position:absolute;left:50%;transform:translateX(-60%);top:100%;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px rgba(10,10,68,.18);padding:24px;display:none;grid-template-columns:repeat(5,minmax(150px,1fr));gap:20px;width:min(920px,92vw)}
.has-mega:hover .mega,.has-mega:focus-within .mega{display:grid}
.mm-head{font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:13px;color:var(--red);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.mm-col ul{list-style:none;padding:0;margin:0}
.mm-col a{display:block;padding:4px 0;font-size:14px;color:var(--ink);text-decoration:none}
.mm-col a:hover{color:var(--blue)}
/* S2 carries EXACTLY ONE primary CTA and the phone number sits inside its
   label (6.8, R14). A second equal-weight header CTA is forbidden, and the
   free-audit path is carried by S4, the two S20 bands, S17 and the S22 bar. */
.header-actions{display:flex;align-items:center;gap:10px}
.header-cta{min-height:48px;min-width:48px;padding:12px 18px;font-size:15px;white-space:nowrap}
.site-header .btn-outline{border-color:#fff;color:#fff}
.site-header .btn-outline:hover{background:rgba(255,255,255,.12)}
/* call control: the phone lives inside the button label (R14). Dark on light
   sections, light on the navy CTA band. */
.btn-call{background:var(--navy);color:#fff}
.btn-call:hover{background:#151577}
.cta-band .btn-call,.btn-call-light{background:#fff;color:var(--navy);border:2px solid var(--navy)}
.cta-band .btn-call{border-color:#fff}
.btn-call-light:hover{background:var(--mist)}
.band-alt{text-align:center;margin:16px 0 0;font-size:15px}
.cta-band .band-alt a{color:#fff}
.nav-toggle{display:none;background:var(--navy);border:2px solid #fff;color:#fff;border-radius:8px;padding:8px 14px;font-weight:600;cursor:pointer;min-height:48px;min-width:48px}
@media (max-width:1000px){
  .nav-toggle{display:inline-flex;margin-left:auto}
  .site-nav{display:none;position:fixed;top:var(--hdr-h);left:0;right:0;bottom:0;background:var(--navy);overflow:auto;z-index:80;margin:0;padding:20px 24px}
  .site-nav.open{display:block}
  .nav-list{flex-direction:column;align-items:stretch;gap:0}
  .mega{position:static;transform:none;display:none;grid-template-columns:1fr;width:auto;box-shadow:none;border:0;border-radius:0;background:transparent;padding:0 0 12px 12px}
  .mega a,.mm-head{color:#fff}
  .mm-col a{color:#cdd4f0}
  .has-mega.open .mega{display:grid}
  .header-actions{margin-left:0}
}
/* Under 560px the logo, the hamburger and a 178px phone button do not fit on one
   row. The phone stays reachable without opening the hamburger through the S4
   hero call control, which is in the first viewport, and the S22 sticky bar.
   Specificity note: the tap-target rule near the bottom of this sheet lists .btn
   with display:inline-flex and sits AFTER this media block, and a media query
   adds no specificity, so a bare .header-cta{display:none} here would be dead. */
@media (max-width:560px){.site-header .header-cta{display:none}}
/* powered-by co-brand lockup (Digital Domination) */
.powered-by{display:inline-flex;align-items:center;gap:8px;min-height:48px;text-decoration:none;color:#cdd4f0;font-size:12px;letter-spacing:.03em;white-space:nowrap}
.powered-by:hover{color:#fff}
.powered-by img{height:26px;width:auto}
.site-header .powered-by{margin-left:4px;padding-left:20px;border-left:1px solid rgba(255,255,255,.25)}
.site-header .powered-by img{height:24px}
@media (max-width:820px){.site-header .powered-by{display:none}}
.dd-line{margin-top:20px;padding-top:16px;border-top:2px solid var(--dd-orange)}
.dd-line p{font-size:14px;margin:8px 0 0}
.dd-powered .powered-by{color:var(--ink)}
.dd-powered a:not(.powered-by){color:var(--dd-blue-ink)}
.dd-powered img.dd-mark{width:220px;height:auto;margin-bottom:16px}
/* breadcrumbs */
.breadcrumbs{background:var(--mist);padding:10px 0;font-size:13px}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0}
.breadcrumbs li+li::before{content:"/";margin-right:6px;color:#8a90a8}
.breadcrumbs a{color:var(--navy);text-decoration:none}
/* hero */
.hero{background:linear-gradient(160deg,var(--mist),#fff);padding:48px 0 64px}
.hero-grid{display:grid;grid-template-columns:1fr;gap:32px;align-items:center}
@media (min-width:1000px){.hero-grid{grid-template-columns:1.05fr .95fr}}
.hero-sub{font-size:19px;max-width:52ch}
/* credential ribbon (6.8.1): carries the parent company's Google rating with
   the attribution sentence, so the 4.9 is never read as SuperBoost's own. */
.credential-ribbon{display:inline-block;background:var(--navy);color:#fff;border-radius:14px;padding:8px 16px;font-size:14px;font-weight:600;line-height:1.4;margin:0 0 12px;max-width:52ch}
@media (max-width:560px){.credential-ribbon{font-size:13px;padding:8px 14px}}
.hero-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px}
.hero-media img{border-radius:16px;box-shadow:0 20px 50px rgba(10,10,68,.16)}
/* answer box */
.answer{padding:0 0 32px}
.answer-box{background:var(--navy);color:#fff;border-left:6px solid var(--red);border-radius:10px;padding:22px 26px;font-size:16px;margin:0}
/* content sections */
.two-col{display:grid;grid-template-columns:1fr;gap:36px}
@media (min-width:1000px){.two-col{grid-template-columns:1.2fr .8fr}}
.side-media img,.scope-media img,.process-media img,.faq-media img{border-radius:14px;border:1px solid var(--line)}
.side-media{align-self:start;position:sticky;top:calc(var(--hdr-h) + 16px)}
.hub-note,.disqualifier{background:var(--mist);border-radius:10px;padding:14px 18px;font-size:15px}
.scope-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:24px 0}
@media (min-width:760px){.scope-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.scope-grid{grid-template-columns:repeat(3,1fr)}}
.scope-card{background:var(--mist);border-radius:14px;padding:22px}
.scope-card h3{font-size:17px}
.scope-card p{margin:0;font-size:15px}
.scope-media{max-width:720px;margin:24px auto 0}
.process-grid{display:grid;grid-template-columns:1fr;gap:36px;align-items:center}
@media (min-width:1000px){.process-grid{grid-template-columns:1fr 1fr}}
.process-steps{list-style:none;padding:0;counter-reset:step}
.process-steps li{position:relative;padding:0 0 24px 64px;counter-increment:step}
.process-steps li::before{content:counter(step);position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;background:var(--red);color:#fff;font-family:Montserrat,Arial,sans-serif;font-weight:800;display:flex;align-items:center;justify-content:center}
.factor-list li{margin-bottom:8px}
.pricing{background:var(--mist)}
.cta-mid{padding:32px 0}
.band-actions{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}
/* related */
.related-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:760px){.related-list{grid-template-columns:repeat(2,1fr)}}
.related-list a{display:block;background:var(--mist);border-radius:10px;padding:14px 18px;color:var(--navy);text-decoration:none;font-weight:600;font-size:15px}
.related-list a:hover{background:var(--line)}
/* faq */
.faq-grid{display:grid;grid-template-columns:1fr;gap:36px;align-items:start}
@media (min-width:1000px){.faq-grid{grid-template-columns:1.2fr .8fr}}
.faq details{border:1px solid var(--line);border-radius:10px;margin-bottom:12px;background:#fff}
.faq summary{cursor:pointer;padding:16px 20px;font-family:Montserrat,Arial,sans-serif;font-weight:600;color:var(--navy);font-size:16px;list-style-position:inside}
.faq-a{padding:0 20px 16px}
.faq-a p{margin:0;font-size:15px}
/* cta band */
.cta-band{background:var(--navy);color:#fff;text-align:center}
.cta-band h2{color:#fff}
.cta-band p{max-width:60ch;margin:0 auto 24px}
/* form */
.book{background:var(--mist)}
.book-sub{max-width:60ch}
.form-frame{background:#fff;border-radius:14px;border:1px solid var(--line);padding:8px;max-width:760px}
.book-alt{margin-top:16px;font-size:15px}
/* team/about */
.team-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:24px}
@media (min-width:760px){.team-grid{grid-template-columns:repeat(2,1fr)}}
.team-card{background:var(--mist);border-radius:14px;padding:26px}
.team-grid-3{grid-template-columns:1fr}
@media (min-width:760px){.team-grid-3{grid-template-columns:repeat(3,1fr)}}
.founder-portrait{display:block;width:100%;max-width:260px;height:auto;margin:0 0 16px}
.team-figure{display:block;width:100%;max-width:320px;height:auto;margin:0 auto 14px}
.team-card.team-pair{grid-column:auto}
.team-card h3{margin:0 0 4px}
.team-role{margin:0 0 10px;font-weight:600;color:var(--ink-soft,#4a4a5a);font-size:15px}
.team-card img.person-portrait{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:top center;border:3px solid var(--paper);margin-bottom:12px}
.coverage-note{font-weight:600;color:var(--navy);margin-top:16px}
/* person portrait + click-to-play video facade.
   The facade is a plain anchor around a self-hosted poster: it opens YouTube in
   a new tab and loads NOTHING from youtube.com on this page, so no third-party
   cookie is set before consent and the CSP frame-src stays closed (6.6, 6.7). */
.person-hero-portrait{width:180px;height:180px;border-radius:50%;object-fit:cover;border:5px solid var(--paper);box-shadow:0 10px 30px rgba(10,10,68,.18)}
.video-facade{color:#fff;position:relative;display:block;max-width:760px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--navy)}
.video-facade img{display:block;width:100%;height:auto}
.video-facade .video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;background:var(--red);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.video-facade .video-play::after{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);border-style:solid;border-width:16px 0 16px 26px;border-color:transparent transparent transparent #fff}
.video-facade .video-label{display:block;padding:14px 18px;color:#fff;font-weight:600;font-size:15px}
.video-facade:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.video-caption{margin-top:12px;font-size:15px;color:#5c6178;max-width:760px}
.fact-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr;gap:14px}
@media (min-width:760px){.fact-list{grid-template-columns:repeat(2,1fr)}}
.fact-list li{background:var(--mist);border-radius:14px;padding:20px 22px;font-size:15px}
.fact-list li strong{display:block;color:var(--navy);font-size:16px;margin-bottom:6px}
/* legal */
.legal-copy{max-width:820px}
.legal-date{color:#5c6178;font-size:15px}
/* footer */
.site-footer{background:var(--navy);color:#cdd4f0;padding:64px 0 0;font-size:15px}
.footer-grid{display:grid;grid-template-columns:1fr;gap:36px;padding-bottom:40px}
@media (min-width:760px){.footer-grid{grid-template-columns:1.2fr 1fr 1fr}}
.f-head{font-family:Montserrat,Arial,sans-serif;font-weight:800;color:#fff;margin-bottom:12px}
.f-col ul{list-style:none;padding:0}
.f-col a{color:#cdd4f0;text-decoration:none;display:inline-block;padding:3px 0}
.f-col a:hover{color:#fff}
.f-brand img{margin-bottom:16px}
.nap-block{margin-top:4px}
.f-nap-head{font-family:Montserrat,Arial,sans-serif;font-weight:800;color:#fff;margin:16px 0 6px;font-size:15px}
.footer-nap{font-style:normal;display:flex;flex-direction:column;gap:2px;font-size:15px;line-height:1.5}
.footer-nap .nap-name{color:#fff;font-weight:600}
.footer-nap .nap-phone{color:#fff;font-family:Montserrat,Arial,sans-serif;font-weight:800;font-size:20px;text-decoration:none;margin-top:6px;display:inline-flex;align-items:center;min-height:48px;min-width:48px}
.footer-nap .nap-phone:hover{color:var(--blue)}
.nap-note{font-size:13px;margin-top:8px;color:#a8b0d0}
.legal-strip{border-top:1px solid rgba(255,255,255,.15);padding-top:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}
.legal-strip p{margin:0;font-size:13px}
.legal-strip a{color:#cdd4f0}
/* sticky bar */
.stickybar{position:fixed;left:0;right:0;bottom:0;height:var(--bar-total);padding:0 16px env(safe-area-inset-bottom);background:var(--navy);z-index:60;display:none;gap:8px;align-items:center;transform:translateY(100%);transition:transform .25s;pointer-events:none}
@media (max-width:820px){.stickybar{display:flex}}
.stickybar.show{transform:translateY(0);pointer-events:auto}
.stickybar a{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:8px;font-size:15px;font-weight:600;white-space:nowrap;text-decoration:none;font-family:Montserrat,Arial,sans-serif}
.stickybar a:first-child{background:var(--red);color:#fff}
.stickybar a:nth-child(2){background:#fff;color:var(--navy)}
.stickybar a:last-child{background:transparent;border:2px solid #fff;color:#fff}
.stickybar a:only-child{background:var(--red);color:#fff;border:0}
/* structural sections (previously unstyled class hooks) */
.hero-copy{display:flex;flex-direction:column;gap:8px;min-width:0}
.intro{background:var(--paper)}
.scope{background:var(--paper)}
.process{background:var(--paper)}
.faq-list{min-width:0}
.facts{background:var(--navy);padding:28px 0}
.facts .related-list{grid-template-columns:1fr;gap:10px}
@media (min-width:760px){.facts .related-list{grid-template-columns:repeat(4,1fr)}}
.facts .related-list li{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:14px 18px;color:#fff;font-weight:600;font-size:15px;font-family:Montserrat,Arial,sans-serif}
.all-industries{margin-top:24px;border:1px solid var(--line);border-radius:10px;background:#fff}
.all-industries summary{cursor:pointer;padding:16px 20px;font-family:Montserrat,Arial,sans-serif;font-weight:600;color:var(--navy);list-style-position:inside}
.all-industries[open] summary{border-bottom:1px solid var(--line)}
.all-industries .related-list{padding:16px 20px 20px}
.differentiators{border-top:1px solid var(--line)}
.differentiators .scope-card{border-top:4px solid var(--red)}
/* ---------------------------------------------------- Wire 2, proof blocks
   S13 carries the stats, one client quote and the rating. S14 carries the case
   study, the GeoGrid evidence and the win lines. Every attribution line is
   rendered at readable weight and never shrunk to fine print: the whole point
   of the block is that the reader can tell which brand earned the result. */
.proof{border-top:1px solid var(--line)}
.proof-social{background:var(--mist)}
.proof-evidence{background:#fff}
.proof-intro,.proof-note{max-width:68ch;font-size:17px}
.proof-note{border-left:4px solid var(--blue);padding-left:16px;background:var(--mist);padding:12px 16px;border-radius:0 8px 8px 0}
.proof-tiles{display:grid;grid-template-columns:1fr;gap:14px;margin:24px 0 12px;padding:0}
@media (min-width:640px){.proof-tiles{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.proof-tiles{grid-template-columns:repeat(4,1fr)}}
.proof-tile{background:#fff;border:1px solid var(--line);border-top:4px solid var(--red);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:6px}
.proof-evidence .proof-tile{background:var(--mist)}
.proof-tiles-card{margin:14px 0 16px;gap:10px}
@media (min-width:640px){.proof-tiles-card{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.proof-tiles-card{grid-template-columns:repeat(2,1fr)}}
.proof-tiles-card .proof-tile{background:#fff;padding:14px 16px}
.proof-tiles-card .proof-value{font-size:24px}
.proof-value{font-family:Montserrat,Arial,sans-serif;font-weight:700;font-size:30px;line-height:1.1;color:var(--navy)}
.proof-label{font-size:15px;line-height:1.5}
.proof-footnote{font-size:15px;color:#4a4a58;margin:0 0 24px;max-width:72ch}
.proof-quotes{display:grid;grid-template-columns:1fr;gap:20px;margin:8px 0 20px}
@media (min-width:900px){.proof-quotes:has(figure+figure){grid-template-columns:repeat(2,1fr)}}
.proof-quote{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px}
.proof-social .proof-quote{background:#fff}
.proof-quote blockquote{margin:0;border:0;padding:0}
.proof-quote blockquote p{margin:0 0 10px;font-size:18px;line-height:1.6}
.proof-quote figcaption{font-family:Montserrat,Arial,sans-serif;font-weight:600;font-size:15px;color:var(--navy)}
.proof-rating{font-family:Montserrat,Arial,sans-serif;font-weight:600;font-size:16px;color:var(--navy);margin:0}
.proof-figure{margin:24px 0}
.proof-figure img{width:100%;height:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
.proof-figure figcaption{font-size:15px;color:#4a4a58;margin-top:10px;max-width:72ch}
.proof-wins{list-style:none;padding:0;margin:0 0 20px;display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:900px){.proof-wins{grid-template-columns:repeat(2,1fr)}}
.proof-wins li{background:var(--mist);border-radius:10px;padding:14px 18px;font-size:16px}
.proof-evidence .proof-wins li{border:1px solid var(--line)}
.proof-method{list-style:none;padding:0;margin:20px 0;display:grid;grid-template-columns:1fr;gap:10px;counter-reset:pm}
@media (min-width:800px){.proof-method{grid-template-columns:repeat(2,1fr)}}
.proof-method li{background:var(--mist);border-left:4px solid var(--red);border-radius:0 10px 10px 0;padding:14px 18px;font-size:16px;counter-increment:pm}
.proof-method li::before{content:counter(pm) ". ";font-weight:700;color:var(--red)}
.proof-disclaimer{font-size:15px;color:#4a4a58;max-width:76ch;margin:0}
.cs-grid{display:grid;grid-template-columns:1fr;gap:22px;margin:20px 0}
@media (min-width:1000px){.cs-grid:has(article+article){grid-template-columns:repeat(2,1fr)}}
.cs-card{background:var(--mist);border:1px solid var(--line);border-radius:14px;padding:24px}
.cs-card h3{font-size:20px;margin:0 0 10px}
.cs-card h4{font-family:Montserrat,Arial,sans-serif;font-size:15px;color:var(--navy);margin:16px 0 4px;text-transform:uppercase;letter-spacing:.04em}
.cs-lead{font-size:19px;font-weight:600;color:var(--navy);margin:0}
.cs-card p{font-size:16px}
.cs-duration{font-weight:600}
.cs-attribution{font-size:15px;color:#4a4a58;margin:16px 0 0;border-top:1px solid var(--line);padding-top:12px}
/* A grid or flex item defaults to min-width:auto, which is its content's
   min-content width. Without min-width:0 the 420px results table refuses to let
   its card shrink and pushes the whole 390px page into a horizontal scroll. */
.proof-tiles,.proof-wins,.proof-method,.cs-grid,.proof-quotes{min-width:0}
.proof-tile,.cs-card,.proof-quote{min-width:0}
.proof-value{overflow-wrap:anywhere}
.proof-table-wrap{overflow-x:auto;margin:16px 0;min-width:0;max-width:100%;-webkit-overflow-scrolling:touch}
.proof-table-wrap:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.proof-table{border-collapse:collapse;width:100%;min-width:420px;font-size:15px;background:#fff}
.proof-table caption{text-align:left;font-size:14px;color:#4a4a58;padding-bottom:8px}
.proof-table th,.proof-table td{border:1px solid var(--line);padding:9px 12px;text-align:left}
.proof-table thead th{background:var(--navy);color:#fff;font-family:Montserrat,Arial,sans-serif;font-size:14px}
.proof-table tbody th{font-weight:600;color:var(--navy)}
.proof-table td.num{text-align:right;font-weight:600;white-space:nowrap}
.legal-hero{border-radius:14px;border:1px solid var(--line);margin-bottom:24px}
.hero-slim{padding:64px 0 40px}
.related{background:var(--mist)}
.team{background:#fff}
.primary{background:var(--red);color:#fff}
.nap-street,.nap-city{display:block;line-height:1.5}
.video-block{margin:24px 0;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.video-block iframe,.video-block img{display:block;width:100%;height:auto}
.header-actions{display:flex;align-items:center;gap:12px;background:var(--navy)}
.breadcrumbs a,.site-nav a,nav a{min-width:48px;min-height:48px;display:inline-flex;align-items:center}
.legal{font-size:15px}
.btn,.cta,.cta-band a,main a.book-alt,main a[href="/connect/"]{min-height:48px;min-width:48px;display:inline-flex;align-items:center;justify-content:center}
/* tap targets: 44x44 effective area on inline and footer links without layout shift */
main p a:not(.btn),main li a:not(.btn),.book-alt a,.disqualifier a,.hub-note a,.legal-copy a{display:inline-block;padding:11px 2px;margin:-11px -2px}
.breadcrumbs a{display:inline-block;padding:14px 4px;margin:-14px -4px}
.f-col a{padding:11px 0;margin:-8px 0}
.legal-strip a{display:inline-block;padding:14px 6px;margin:-14px -6px}
.mm-col a{padding:10px 0}
