
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;background:#f7f6f3;font-family:'Manrope',system-ui,sans-serif;-webkit-font-smoothing:antialiased;color:#1a2230}
  a{color:#930214;text-decoration:none}
  a:hover{text-decoration:none}
  details>summary{list-style:none}
  details>summary::-webkit-details-marker{display:none}
  @keyframes ctaPulse{0%,100%{box-shadow:0 14px 40px rgba(192,48,63,.4)}50%{box-shadow:0 14px 54px rgba(192,48,63,.72)}}
  .navlink:hover{color:#930214}
  header nav a{display:inline-block;transition:color .15s ease,transform .15s ease}
  header nav a:hover,header nav a.navlink:hover{color:#16283f!important;transform:scale(1.07)}
  /* collapse to hamburger before nav text wraps */
  @media (max-width:1280px){
    header nav{display:none!important}
    .mnavBtn{display:flex!important}
  }
  .rowcard{transition:transform .15s ease,box-shadow .15s ease}
  .rowcard:hover{transform:translateY(-3px);box-shadow:0 20px 46px rgba(20,40,63,.16)}
  .btnp{transition:transform .15s ease,background .15s ease}
  .btnp:hover{transform:translateY(-2px);background:#a8202e}

  /* ============================= RESPONSIVE ============================= */
  /* ---- Tablet ---- */
  @media (max-width:1024px){
    [style*="repeat(3, 1fr)"],[style*="repeat(3,1fr)"]{grid-template-columns:repeat(2,1fr)!important}
[style*="repeat(5,1fr)"]{grid-template-columns:repeat(3,1fr)!important}
[style*="1.6fr 1fr 1fr 1fr"]{grid-template-columns:1fr 1fr!important}
[style*="padding: 84px 56px"],[style*="padding:84px 56px"],[style*="padding: 80px 56px"],[style*="padding:80px 56px"],[style*="padding: 20px 56px"],[style*="padding:20px 56px"]{padding-left:36px!important;padding-right:36px!important}
    header{flex-wrap:wrap!important;row-gap:10px!important}
    header nav{order:5!important;flex-basis:100%!important;overflow-x:auto!important;white-space:nowrap!important;justify-content:flex-start!important;gap:22px!important;font-size:14px!important;scrollbar-width:none!important}
    header nav::-webkit-scrollbar{display:none}
[style*="font-size: 72px"],[style*="font-size:72px"]{font-size:56px!important}
[style*="font-size: 58px"],[style*="font-size:58px"]{font-size:48px!important}
  }
  /* ---- Phone ---- */
  @media (max-width:680px){
    /* content gutters + section padding */
    [style*="max-width: 1160px"],[style*="max-width:1160px"]{padding-left:18px!important;padding-right:18px!important}
[style*="padding: 84px 56px"],[style*="padding:84px 56px"],[style*="padding: 80px 56px"],[style*="padding:80px 56px"]{padding:52px 18px!important}
[style*="padding: 40px 56px"],[style*="padding:40px 56px"]{padding:30px 16px!important}
[style*="padding: 20px 56px"],[style*="padding:20px 56px"]{padding-left:16px!important;padding-right:16px!important}
    footer{padding:40px 18px 26px!important}
[style*="padding: 60px 52px"],[style*="padding:60px 52px"],[style*="padding: 48px 44px"],[style*="padding:48px 44px"],[style*="padding: 60px 46px"],[style*="padding:60px 46px"],[style*="padding: 52px"],[style*="padding:52px"]{padding:30px 20px!important}
/* stack multi-column layouts */
    [style*="repeat(3,1fr)"],[style*="1.05fr 0.95fr"],[style*="1.05fr .95fr"],[style*="1.1fr .9fr"],[style*="1.5fr .9fr"],[style*="1fr 1.1fr"],[style*="1.1fr 0.9fr"],[style*="1.5fr 0.9fr"],[style*="1.15fr 1fr"],[style*="264px 1fr"],[style*="1.6fr 1fr 1fr 1fr"],[style*="gap: 64px"],[style*="gap:64px"]{grid-template-columns:1fr!important;gap:22px!important}
[style*="grid-template-columns:1fr 1fr 1fr 1fr"]{grid-template-columns:repeat(2,1fr)!important}
/* keep team photo strip 3-up,keep stats 3-up */
    [style*="repeat(5,1fr)"]{grid-template-columns:repeat(3,1fr)!important;gap:10px!important}
[style*="padding: 40px 56px"][style*="repeat(3, 1fr)"],[style*="padding:40px 56px"][style*="repeat(3,1fr)"]{grid-template-columns:repeat(3,1fr)!important;gap:0!important}
/* un-stick sidebars once stacked */
    aside[style*="position: sticky"],/* un-stick sidebars once stacked */
    aside[style*="position:sticky"]{position:static!important}
    /* header → logo + actions + hamburger dropdown, one compact row */
    header{flex-wrap:nowrap!important;padding:8px 12px!important;gap:8px!important}
    header nav{display:none!important}
    .mnavBtn{display:flex!important;width:40px!important;height:40px!important;font-size:17px!important}
header div[style*="gap: 14px"],header div[style*="gap:14px"]{gap:7px!important}
header button[style*="border-radius: 999px"],header button[style*="border-radius:999px"]{font-size:12px!important;padding:8px 10px!important}
    header a[href="#contact"],header a[href$="contact/"]{font-size:12.5px!important;padding:10px 11px!important;border-radius:9px!important}
    header a[href^="tel:"]{display:none!important}
    header img{height:36px!important}
/* hero end-card logo scales down and centers */
    [style*="width: 56%"],/* hero end-card logo scales down and centers */
    [style*="width:56%"]{width:100%!important}
[style*="height: 320px"],[style*="height:320px"]{height:130px!important}
[style*="left: 32%"],[style*="left:32%"]{left:3%!important;right:3%!important;bottom:8px!important}
    .heroSub{font-size:12px!important;padding:5px 10px!important;line-height:1.35!important}
    .soundBtn{top:10px!important;right:10px!important;bottom:auto!important;width:42px!important;height:42px!important}
    /* hero: copy on top, video stacked below; video wipes closed when it ends */
    section[data-hero]{height:auto!important;display:flex!important;flex-direction:column!important}
[style*="max-width: 560px"],[style*="max-width:560px"]{position:relative!important;z-index:2;order:0;height:auto!important;padding:40px 20px 30px!important;max-width:100%!important;background:none!important}
    [data-hero-media]{position:relative!important;inset:auto!important;order:2;height:56.25vw;overflow:hidden!important;transition:height .8s cubic-bezier(.65,0,.35,1) 1s!important}
    [data-hero-media][data-hero-overlay]{position:absolute!important;top:auto!important;bottom:0!important;left:0!important;right:0!important}
    [data-hero-media="ended"]{height:0!important}
    section[data-hero] video{width:100%!important;-webkit-mask:none!important;mask:none!important;object-position:center top!important}
.heroScrim,[style*="background-size: 48px 48px"],[style*="background-size:48px 48px"]{display:none!important}
/* headline / big-number downscaling */
    [style*="font-size: 72px"],/* headline / big-number downscaling */
    [style*="font-size:72px"]{font-size:40px!important}
[style*="font-size: 58px"],[style*="font-size:58px"]{font-size:32px!important}
[style*="font-size: 56px"],[style*="font-size:56px"]{font-size:32px!important}
[style*="font-size: 54px"],[style*="font-size:54px"]{font-size:24px!important}
[style*="font-size: 50px"],[style*="font-size:50px"]{font-size:30px!important}
[style*="font-size: 48px"],[style*="font-size:48px"]{font-size:28px!important}
[style*="font-size: 46px"],[style*="font-size:46px"]{font-size:28px!important}
[style*="font-size: 38px"],[style*="font-size:38px"]{font-size:25px!important}
[style*="font-size: 44px"],[style*="font-size:44px"]{font-size:27px!important}
[style*="font-size: 42px"],[style*="font-size:42px"]{font-size:28px!important}
[style*="font-size: 36px"],[style*="font-size:36px"]{font-size:24px!important}
[style*="font-size: 34px"],[style*="font-size:34px"]{font-size:23px!important}
[style*="font-size: 33px"],[style*="font-size:33px"]{font-size:23px!important}
[style*="font-size: 31px"],[style*="font-size:31px"]{font-size:22px!important}
[style*="font-size: 30px"],[style*="font-size:30px"]{font-size:22px!important}
[style*="font-size: 29px"],[style*="font-size:29px"]{font-size:22px!important}
[style*="font-size: 28px"],[style*="font-size:28px"]{font-size:22px!important}
[style*="font-size: 80px"],[style*="font-size:80px"]{font-size:46px!important}
    /* text breathing room */
    h1{line-height:1.06!important}
    h2{line-height:1.12!important}
[style*="font-size: 18px"],[style*="font-size:18px"]{font-size:15.5px!important}
/* calculator buttons: 2-up instead of squeezed 3/4-up */
    [style*="1fr 1fr 1fr"]:not([style*="1.6fr"]){grid-template-columns:repeat(2,1fr)!important;gap:8px!important}
[style*="height: 460px"],[style*="height:460px"]{height:300px!important}
  }
  @keyframes dtBootSpin{to{transform:rotate(360deg)}}
  input::placeholder,textarea::placeholder{color:#7f93b5;opacity:1}


.a11y-panel{position:fixed;left:16px;bottom:74px;z-index:96;width:344px;max-width:calc(100vw - 32px);max-height:min(72vh,620px);overflow:auto;background:#fff;border:1px solid #e7e4dd;border-radius:16px;box-shadow:0 30px 60px rgba(10,20,35,.32);padding:14px;display:none;flex-direction:column;gap:10px}
.a11y-panel.open{display:flex}
.a11y-head{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 0}
.a11y-title{font-family:'Space Grotesk',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#930214;font-weight:700}
.a11y-reset{background:transparent;border:1px solid #d8d4c9;color:#5b6675;font-family:'Manrope',sans-serif;font-weight:700;font-size:11px;padding:6px 10px;border-radius:8px;cursor:pointer}
.a11y-reset:hover{background:#f2f0ea}
.a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.a11y-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:12px 6px 10px;border-radius:12px;cursor:pointer;font-family:'Manrope',sans-serif;text-align:center;min-height:92px;background:#faf9f6;border:2px solid #e7e4dd;color:#16283f;transition:border-color .12s ease,background .12s ease}
.a11y-card:hover{border-color:#C0303F}
.a11y-card.on{background:#fdf3f4;border-color:#C0303F;color:#7c0a17}
.a11y-card .ic{font-family:'Space Grotesk',sans-serif;font-size:20px;font-weight:700;line-height:1;white-space:nowrap}
.a11y-card .lb{font-size:12.5px;font-weight:700;line-height:1.25}
.a11y-card .sb{font-size:10.5px;font-weight:700;color:#930214;min-height:13px;line-height:1}
.a11y-card .dots{display:flex;gap:4px;justify-content:center;min-height:6px}
.a11y-card .dots span{width:6px;height:6px;border-radius:50%;background:#d8d4c9}
.a11y-card .dots span.f{background:#C0303F}

/* hover states from template */
[data-hv="hv0"]:hover{background:#eceae3!important}
[data-hv="hv1"]:hover{transform:translateY(-2px)!important;background:#a8202e!important}
[data-hv="hv2"]:hover{background:rgba(255,255,255,.1)!important}
[data-hv="hv3"]:hover{background:rgba(6,15,26,.85)!important}
[data-hv="hv4"]:hover{background:#e7e4dd!important}
