/* ===================== TOKENS ===================== */
:root {
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.6vw, 1.4rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --text-2xl: clamp(2rem, 1.3rem + 2.4vw, 3.4rem);
  --text-3xl: clamp(2.6rem, 1.4rem + 3.6vw, 4.6rem);

  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem;
  --space-12:3rem; --space-16:4rem; --space-20:5rem; --space-24:6rem; --space-32:8rem;

  --radius-sm:.5rem; --radius-md:.75rem; --radius-lg:1rem; --radius-xl:1.5rem; --radius-full:9999px;
  --transition-interactive: 200ms cubic-bezier(.16,1,.3,1);

  --content-wide: 1200px;

  --font-display: 'Clash Display', 'Arial Black', sans-serif;
  --font-body: 'General Sans', 'Helvetica Neue', sans-serif;

  /* Brand */
  --blue:#1E5BD6; --blue-deep:#0B5FFF; --amber:#FFB200; --green:#1F9D55;
  --ink:#0E1726; --offwhite:#F7F8FA; --slate:#5A6473;
}

/* LIGHT */
:root, [data-theme="light"] {
  --color-bg: #FFFFFF;
  --color-surface: #FFFFFF;
  --color-surface-2: #F7F8FA;
  --color-surface-soft: #F0F4FB;
  --color-border: #E3E7EE;
  --color-divider: #EBEEF3;
  --color-text: #0E1726;
  --color-text-muted: #5A6473;
  --color-text-faint: #8A94A6;
  --color-text-inverse: #FFFFFF;
  --color-primary: #1E5BD6;
  --color-primary-hover: #1749AE;
  --color-amber: #FFB200;
  --color-amber-hover: #E6A000;
  --color-amber-ink: #0E1726;
  --color-green: #1F9D55;
  --color-green-hover: #178045;
  --header-bg: rgba(255,255,255,.88);
  --shadow-sm: 0 1px 3px rgba(14,23,38,.08);
  --shadow-md: 0 8px 24px rgba(14,23,38,.10);
  --shadow-lg: 0 20px 48px rgba(14,23,38,.16);
  --chip-bg: #F0F4FB;
}

/* DARK */
[data-theme="dark"] {
  --color-bg: #0A1019;
  --color-surface: #111A28;
  --color-surface-2: #0E1726;
  --color-surface-soft: #11203A;
  --color-border: #233247;
  --color-divider: #1B2738;
  --color-text: #E8ECF3;
  --color-text-muted: #98A3B5;
  --color-text-faint: #6B7689;
  --color-text-inverse: #0E1726;
  --color-primary: #5B8DEF;
  --color-primary-hover: #79A2F4;
  --color-amber: #FFB200;
  --color-amber-hover: #FFC233;
  --color-amber-ink: #0E1726;
  --color-green: #2FB968;
  --color-green-hover: #3FCF78;
  --header-bg: rgba(10,16,25,.82);
  --shadow-sm: 0 1px 3px rgba(0,0,0,.4);
  --shadow-md: 0 8px 24px rgba(0,0,0,.5);
  --shadow-lg: 0 20px 48px rgba(0,0,0,.6);
  --chip-bg: #15233A;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --color-bg:#0A1019; --color-surface:#111A28; --color-surface-2:#0E1726;
    --color-surface-soft:#11203A; --color-border:#233247; --color-divider:#1B2738;
    --color-text:#E8ECF3; --color-text-muted:#98A3B5; --color-text-faint:#6B7689;
    --color-primary:#5B8DEF; --color-primary-hover:#79A2F4; --color-green:#2FB968;
    --header-bg:rgba(10,16,25,.82); --chip-bg:#15233A;
  }
}

/* ===================== BASE ===================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:5rem;}
body{min-height:100dvh;line-height:1.6;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);overflow-x:hidden;transition:background .3s,color .3s;padding-bottom:env(safe-area-inset-bottom);}
img,svg{display:block;max-width:100%;height:auto;}
ul[role="list"]{list-style:none;}
input,button,textarea,select{font:inherit;color:inherit;}
h1,h2,h3,h4{font-family:var(--font-display);text-wrap:balance;line-height:1.05;font-weight:600;letter-spacing:-0.01em;}
p{text-wrap:pretty;}
a{color:inherit;text-decoration:none;}
button{cursor:pointer;background:none;border:none;}
::selection{background:rgba(30,91,214,.22);}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm);}
a,button,input,textarea,select{transition:color var(--transition-interactive),background var(--transition-interactive),border-color var(--transition-interactive),box-shadow var(--transition-interactive),transform var(--transition-interactive);}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}

.container{width:100%;max-width:var(--content-wide);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem);}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--color-primary);color:#fff;padding:.6rem 1rem;z-index:200;border-radius:0 0 var(--radius-sm) 0;}
.skip-link:focus{left:0;}
.text-blue{color:var(--color-primary);}

/* ===================== BUTTONS ===================== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);line-height:1;border-radius:var(--radius-full);padding:.85rem 1.4rem;white-space:nowrap;border:2px solid transparent;}
.btn svg{flex:none;}
.btn--lg{padding:1.05rem 1.8rem;font-size:var(--text-base);}
.btn--sm{padding:.6rem 1rem;}
.btn--block{width:100%;}
.btn--amber{background:var(--color-amber);color:var(--color-amber-ink);box-shadow:0 4px 14px rgba(255,178,0,.35);}
.btn--amber:hover{background:var(--color-amber-hover);transform:translateY(-2px);box-shadow:0 8px 22px rgba(255,178,0,.45);}
.btn--green{background:var(--color-green);color:#fff;}
.btn--green:hover{background:var(--color-green-hover);transform:translateY(-2px);}
.btn--outline{background:transparent;border-color:var(--color-border);color:var(--color-text);}
.btn--outline:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px);}
.hero .btn--outline{border-color:rgba(255,255,255,.55);color:#fff;}
.hero .btn--outline:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff;}

/* ===================== HEADER ===================== */
.header{position:sticky;top:0;z-index:100;background:var(--header-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--color-divider);}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:4.5rem;}
.brand{display:flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-weight:700;font-size:1.5rem;letter-spacing:-0.02em;color:var(--color-text);}
.brand__icon{width:38px;height:38px;}
.brand__name{line-height:1;}
.nav{display:flex;gap:.4rem;}
.nav a{font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);padding:.5rem .8rem;border-radius:var(--radius-sm);}
.nav a:hover{color:var(--color-text);background:var(--color-surface-2);}
.header__actions{display:flex;align-items:center;gap:.6rem;}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-full);color:var(--color-text);border:1px solid var(--color-border);background:var(--color-surface);}
.icon-btn:hover{border-color:var(--color-primary);color:var(--color-primary);}
.nav-toggle{display:none;}
.mobile-menu{display:none;flex-direction:column;gap:.25rem;padding:1rem clamp(1.25rem,4vw,2.5rem) 1.5rem;border-bottom:1px solid var(--color-divider);background:var(--color-surface);}
.mobile-menu[hidden]{display:none;}
.mobile-menu a:not(.btn){padding:.7rem .5rem;font-weight:500;border-radius:var(--radius-sm);}
.mobile-menu a:not(.btn):hover{background:var(--color-surface-2);}
.mobile-menu .btn{margin-top:.5rem;}

/* ===================== HERO ===================== */
.hero{position:relative;color:#fff;overflow:hidden;background:var(--ink);}
.hero__bg{position:absolute;inset:0;background-image:url('hero.png');background-size:cover;background-position:72% center;}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,13,22,.96) 0%,rgba(8,13,22,.9) 32%,rgba(8,13,22,.55) 60%,rgba(8,13,22,.15) 100%);}
.hero__inner{position:relative;display:flex;align-items:center;min-height:min(88vh,760px);padding-block:clamp(3.5rem,8vw,6rem);}
.hero__content{max-width:640px;}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--text-sm);font-weight:600;letter-spacing:.01em;padding:.5rem 1rem;border-radius:var(--radius-full);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#EAF0FB;margin-bottom:1.6rem;}
.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px rgba(255,178,0,.25);flex:none;}
.hero__title{font-size:var(--text-3xl);font-weight:700;letter-spacing:-0.005em;word-spacing:0.04em;margin-bottom:1.4rem;}
.hero__sub{font-size:var(--text-lg);color:#D5DEEC;max-width:34rem;margin-bottom:2rem;line-height:1.55;}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2.2rem;}
.trust-chips{display:flex;flex-wrap:wrap;gap:.55rem .8rem;}
.trust-chips li{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--text-xs);font-weight:600;color:#EAF0FB;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);padding:.45rem .8rem;border-radius:var(--radius-full);}
.chk{width:15px;height:15px;flex:none;fill:none;stroke:var(--green);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;}

/* ===================== TRUST BAR ===================== */
.trustbar{background:var(--color-primary);color:#fff;}
[data-theme="dark"] .trustbar{background:#13325f;}
.trustbar__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem 1rem;padding-block:.85rem;font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;text-align:center;}
.trustbar i{opacity:.55;font-style:normal;}

/* ===================== SECTIONS ===================== */
.section{padding-block:clamp(3.5rem,7vw,6.5rem);}
.section--soft{background:var(--color-surface-soft);}
.section--ink{background:var(--ink);color:#fff;}
[data-theme="dark"] .section--ink{background:#070C14;}
.section__head{max-width:42rem;margin:0 auto clamp(2.5rem,5vw,3.5rem);text-align:center;}
.section__head--left{margin-inline:0;text-align:left;}
.kicker{display:inline-block;font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary);margin-bottom:.8rem;}
.kicker--light{color:var(--amber);}
.section h2{font-size:var(--text-2xl);font-weight:700;}
.section--ink h2{color:#fff;}
.section__lead{margin-top:1rem;color:var(--color-text-muted);font-size:var(--text-lg);}
.section--ink .section__lead{color:#C7D2E2;}

/* ===================== GRID ===================== */
.grid{display:grid;gap:1.5rem;}
.grid--3{grid-template-columns:repeat(3,1fr);}
.grid--4{grid-template-columns:repeat(4,1fr);}

/* ===================== CARDS ===================== */
.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.8rem;box-shadow:var(--shadow-sm);}
.card h3{font-size:var(--text-lg);margin-bottom:.55rem;}
.card p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6;}
.card--feature{position:relative;transition:transform var(--transition-interactive),box-shadow var(--transition-interactive),border-color var(--transition-interactive);}
.card--feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:color-mix(in oklab,var(--color-primary),transparent 55%);}
.card__icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:var(--radius-md);margin-bottom:1.1rem;}
.card__icon svg{width:28px;height:28px;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.icon-blue{background:color-mix(in oklab,var(--color-primary),transparent 88%);color:var(--color-primary);}
.icon-blue svg{stroke:var(--color-primary);}
.icon-amber{background:rgba(255,178,0,.16);color:#B27A00;}
.icon-amber svg{stroke:#B27A00;}
[data-theme="dark"] .icon-amber{color:var(--amber);} [data-theme="dark"] .icon-amber svg{stroke:var(--amber);}
.card__tag{display:inline-block;margin-top:1rem;font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-green);background:color-mix(in oklab,var(--color-green),transparent 86%);padding:.3rem .7rem;border-radius:var(--radius-full);}
.card__tag--amber{color:#B27A00;background:rgba(255,178,0,.16);}
[data-theme="dark"] .card__tag--amber{color:var(--amber);}
.card--emergency{border-color:color-mix(in oklab,var(--amber),transparent 60%);}

/* WHY */
.why__item{padding:1.6rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);background:rgba(255,255,255,.03);}
.why__num{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--amber);display:block;margin-bottom:.6rem;}
.why__item h3{font-size:var(--text-lg);color:#fff;margin-bottom:.5rem;}
.why__item p{color:#B9C4D6;font-size:var(--text-sm);}

/* WHO */
.who .card{background:var(--color-surface);}

/* AREAS */
.areas{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;max-width:60rem;margin-inline:auto;}
.areas li{font-weight:600;font-size:var(--text-sm);padding:.7rem 1.3rem;border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);}
.areas li:hover{border-color:var(--color-primary);color:var(--color-primary);}

/* REVIEWS */
.g-badge{display:inline-flex;align-items:center;gap:.75rem;margin-top:1.4rem;padding:.7rem 1.1rem;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);}
.g-badge__logo{display:flex;}
.g-badge__text{display:flex;flex-direction:column;line-height:1.3;font-size:var(--text-xs);text-align:left;}
.g-badge__text strong{font-size:var(--text-sm);}
.g-badge .stars{color:var(--amber);letter-spacing:1px;font-size:.9rem;}
.g-badge em{color:var(--color-text-faint);font-style:normal;font-size:var(--text-xs);}
.review{display:flex;flex-direction:column;gap:.9rem;}
.review .stars{color:var(--amber);letter-spacing:2px;font-size:1.1rem;}
.review blockquote{font-size:var(--text-base);line-height:1.55;color:var(--color-text);}
.review figcaption{display:flex;flex-direction:column;margin-top:auto;}
.review__name{font-weight:700;font-family:var(--font-display);}
.review__loc{font-size:var(--text-sm);color:var(--color-text-muted);}
.reviews__note{text-align:center;margin-top:2rem;color:var(--color-text-muted);font-size:var(--text-sm);}

/* CONTACT */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,3.5rem);align-items:start;}
.contact__intro h2{color:#fff;margin-bottom:1rem;}
.contact__intro p{color:#C7D2E2;font-size:var(--text-base);margin-bottom:1.8rem;}
.contact__buttons{display:flex;flex-direction:column;gap:.8rem;max-width:24rem;}
.contact__note{margin-top:1.1rem!important;font-size:var(--text-sm);color:#9FAEC5!important;}
.quote-form{background:var(--color-surface);}
.quote-form h3{font-size:var(--text-xl);margin-bottom:1.3rem;}
.field{margin-bottom:1rem;}
.field label{display:block;font-size:var(--text-sm);font-weight:600;margin-bottom:.4rem;}
.field input,.field select,.field textarea{width:100%;padding:.8rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);font-size:var(--text-base);}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(30,91,214,.18);}
.field textarea{resize:vertical;}
.quote-form .btn{margin-top:.5rem;}
.form-hint{margin-top:.9rem;font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;}

/* FOOTER */
.footer{background:var(--ink);color:#C7D2E2;padding-top:clamp(3rem,5vw,4.5rem);}
[data-theme="dark"] .footer{background:#070C14;}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2.5rem;padding-bottom:2.5rem;}
.brand--footer{color:#fff;}
.footer__brand p{font-size:var(--text-sm);margin-top:1rem;color:#9FAEC5;}
.footer__badge{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:#E8ECF3!important;margin-top:1rem;}
.footer__col h4{font-family:var(--font-display);font-size:var(--text-base);color:#fff;margin-bottom:1rem;}
.footer__col ul{display:flex;flex-direction:column;gap:.55rem;font-size:var(--text-sm);}
.footer__col a:hover{color:#fff;}
.footer__contact a{color:#E8ECF3;font-weight:500;}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-block:1.5rem;border-top:1px solid rgba(255,255,255,.1);font-size:var(--text-xs);color:#7E8AA0;}

/* MOBILE BAR */
.mobile-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:90;gap:.6rem;padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom));background:var(--header-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--color-divider);}
.mobile-bar__btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-weight:700;font-size:var(--text-sm);padding:.9rem;border-radius:var(--radius-md);}
.mobile-bar__btn--amber{background:var(--color-amber);color:var(--color-amber-ink);}
.mobile-bar__btn--green{background:var(--color-green);color:#fff;}

/* ===================== RESPONSIVE ===================== */
@media (max-width:980px){
  .grid--4{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:860px){
  .nav{display:none;}
  .header__call span{display:none;}
  .header__call{padding:.6rem .8rem;}
  .nav-toggle{display:inline-flex;}
  .contact{grid-template-columns:1fr;}
  .footer__grid{grid-template-columns:1fr 1fr;gap:2rem;}
}
@media (max-width:680px){
  .grid--3{grid-template-columns:1fr;}
  .grid--4{grid-template-columns:1fr;}
  .hero__bg{background-position:70% center;}
  .hero__bg::after{background:linear-gradient(175deg,rgba(8,13,22,.78) 0%,rgba(8,13,22,.86) 45%,rgba(8,13,22,.96) 100%);}
  .hero__inner{min-height:auto;padding-block:3rem 3.5rem;}
  .hero__cta .btn{flex:1;}
  .footer__grid{grid-template-columns:1fr;}
  .footer__bottom{flex-direction:column;}
  .mobile-bar{display:flex;}
  body{padding-bottom:4.5rem;}
  main{padding-bottom:0;}
}
.mobile-menu.open{display:flex;}
@media (min-width:861px){.mobile-menu{display:none!important;}}

/* ===== Instant AI Quote embed ===== */
#instant-quote{scroll-margin-top:5.5rem;}
.quote-embed{
  position:relative;
  max-width:820px;
  margin:0 auto;
  border-radius:var(--radius-xl);
  overflow:hidden;
  border:1px solid var(--color-border);
  background:var(--color-surface);
  box-shadow:0 18px 50px rgba(14,23,38,.14);
}
.quote-embed__frame{
  display:block;
  width:100%;
  height:680px;
  border:0;
}
@media (max-width:900px){
  .quote-embed__frame{height:640px;}
}
@media (max-width:600px){
  .quote-embed__frame{height:600px;min-height:560px;}
}
.quote-embed__fallback{
  text-align:center;
  margin-top:1rem;
  font-size:var(--text-sm);
  color:var(--color-text-muted);
}
.quote-embed__fallback a{color:var(--color-primary);font-weight:600;}
