/*
Theme Name: ValueCoders LP Theme
Theme URI: https://www.valuecoders.com/
Author: ValueCoders
Text Domain: blankslate

BlankSlate WordPress Theme 2011-2026
BlankSlate is distributed under the terms of the GNU GPL
*/



/* ═══════════════════════════════════════════════════════════
   DESIGN TOKENS — VC-BRAND-001 v2.1
   ═══════════════════════════════════════════════════════════ */
 @font-face {
font-family: "Plus Jakarta Sans";
src: url("assets/fonts/PlusJakartaSans-VariableFont_wght.woff2") format("woff2");
font-weight: 100 900;
font-style: normal;
font-display: swap;
}   
:root {
  --navy:#05164D; --navy-deep:#02091F; --navy-mid:#0D2E6B;
  --white:#FFFFFF; --canvas:#EFEDE8;
  --amber:#FFAD00; --amber-hover:#E69A00; --amber-dark:#CC8B00;
  --ink:#111827; --text-mid:#4B5563; --text-light:#9CA3AF;
  --border:rgba(5,22,77,0.09); --overlay:rgba(2,9,31,0.6);
  --status-go:#1B5E20; --status-go-bg:#E8F5E9;
  --stat-coral:#D85A30; --stat-coral-bg:#fdf8f6;
  --stat-blue:#185FA5;  --stat-blue-bg:#f5f8fd;
  --stat-green:#639922; --stat-green-bg:#f6faf0;
  --stat-purple:#7F77DD;--stat-purple-bg:#f7f6fe;
  --t-hero:clamp(2.75rem,5vw,4.5rem);
  --t-h2:clamp(1.75rem,3vw,2.5rem);
  --t-h3:clamp(1.25rem,2vw,1.75rem);
  --t-subhead:clamp(1rem,1.5vw,1.25rem);
  --t-body-lg:clamp(1rem,1.2vw,1.125rem);
  --t-body:clamp(0.9375rem,1.1vw,1.0625rem);
  --t-sm:0.875rem; --t-xs:0.8125rem; --t-label:0.6875rem;
  --shadow:0 1px 3px rgba(5,22,77,.08),0 1px 2px rgba(5,22,77,.06);
  --shadow-lg:0 10px 24px rgba(5,22,77,.1),0 4px 8px rgba(5,22,77,.06);
  --shadow-xl:0 20px 48px rgba(5,22,77,.14),0 4px 12px rgba(5,22,77,.08);
  --radius-sm:4px; --radius:8px; --radius-lg:12px; --radius-xl:16px; --radius-full:9999px;
  --dur-fast:150ms; --dur-slow:300ms;
  --ease:cubic-bezier(.4,0,.2,1);
  --nav-w:1280px;
  /* Single container — nav + every section share same max-width and gutter */
  --gutter:clamp(20px,3vw,32px);
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overscroll-behavior:none}
body{font-family:'Plus Jakarta Sans',sans-serif;font-size:var(--t-body);font-weight:500;line-height:1.6;color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none}
input,select,textarea{font-family:inherit}

/* ═══════════════════════════════════════════════════════════
   LAYOUT — container matches nav exactly
   ═══════════════════════════════════════════════════════════ */
.container{max-width:var(--nav-w);margin-inline:auto;padding-inline:var(--gutter)}

/* ── Surfaces ── */
.surface--navy{background:var(--navy);color:var(--white)}
.surface--navy-deep{background:var(--navy-deep);color:var(--white)}
.surface--white{background:var(--white);color:var(--ink)}
.section--warm{
  background-color:var(--canvas);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.032'/%3E%3C/svg%3E"),radial-gradient(circle,rgba(5,22,77,.055) 1.2px,transparent 1.2px);
  background-size:300px 300px,26px 26px;
}
.section-pad{padding-block:80px}
.section--deferred{content-visibility:auto;contain-intrinsic-size:auto 600px}

/* ── Atmospheric backgrounds ── */
.atmo--hero-t3{position:relative;overflow:hidden}
.atmo--hero-t3::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 15% 50%,rgba(13,46,107,.5) 0%,transparent 70%),radial-gradient(ellipse 50% 50% at 85% 30%,rgba(255,173,0,.06) 0%,transparent 60%),radial-gradient(ellipse 100% 80% at 50% 0%,rgba(2,9,31,.8) 0%,transparent 70%);pointer-events:none;z-index:0}
.atmo--hero-t3::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 20%,transparent 70%);pointer-events:none;z-index:0;opacity:.4}
.atmo--cta{position:relative;overflow:hidden}
.atmo--cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 10% 50%,rgba(2,9,31,.9) 0%,transparent 60%),radial-gradient(ellipse 40% 50% at 90% 60%,rgba(255,173,0,.05) 0%,transparent 50%),radial-gradient(ellipse 80% 60% at 50% 0%,rgba(2,9,31,.7) 0%,transparent 60%);pointer-events:none;z-index:0}
.atmo--cta::after{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.025) 1.2px,transparent 1.2px);background-size:28px 28px;pointer-events:none;z-index:0}
.atmo--testimonial{position:relative;overflow:hidden}
.atmo--testimonial::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 80% 50%,rgba(13,46,107,.7) 0%,transparent 60%),radial-gradient(ellipse 40% 40% at 15% 50%,rgba(255,173,0,.05) 0%,transparent 50%);pointer-events:none;z-index:0}

/* ── Glassmorphism ── */
.glass--form{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:20px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:40px 36px;position:relative}
.glass--form::before{content:'';position:absolute;top:0;left:24px;right:24px;height:1px;background:linear-gradient(90deg,transparent,var(--amber),transparent);opacity:.4}
.glass{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}

/* ── Keyframes ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes pulseGreen{0%,100%{box-shadow:0 0 0 0 rgba(74,222,128,.5)}50%{box-shadow:0 0 0 5px rgba(74,222,128,0)}}
@keyframes pulseAmber{0%,100%{box-shadow:0 0 0 0 rgba(255,173,0,.5)}50%{box-shadow:0 0 0 5px rgba(255,173,0,0)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes dotPulse{0%,80%,100%{opacity:.3}40%{opacity:1}}

/* ── Scroll reveal ── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}
.reveal-delay-5{transition-delay:.5s}

/* ── Accessibility ── */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.surface--navy :focus-visible,.surface--navy-deep :focus-visible{outline-color:var(--amber)}
::selection{background:rgba(5,22,77,.15)}

/* ═══════════════════════════════════════════════════════════
   NAVIGATION
   ═══════════════════════════════════════════════════════════ */
.nav-wrap{position:fixed;top:0;left:0;right:0;z-index:500;background:var(--navy)}
.nav{background:rgba(5,22,77,.82); padding: 10px 0; backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border-bottom:1px solid rgba(255,255,255,.06);transition:background var(--dur-fast),box-shadow var(--dur-fast)}
.nav.scrolled{background:rgba(5,22,77,.95);box-shadow:0 4px 32px rgba(0,0,0,.25)}
/* nav-inner shares the SAME max-width and padding as .container */
.nav-inner{max-width:var(--nav-w);margin:0 auto;padding:0 var(--gutter);height:48px;display:flex;align-items:center}
.nav__logo{display:flex;align-items:center;margin-right:auto;font-size:1.125rem;font-weight:800; width: 200px; }
.nav__logo-value{color:var(--white)}.nav__logo-coders{color:var(--amber)}
.nav__trust{font-size:var(--t-label);color:rgba(255,255,255,.5);display:flex;align-items:center;gap:5px;margin-right:10px}
.nav__trust-stars{color:var(--amber);font-size:.75rem}
.nav__phone{font-size:var(--t-xs);color:rgba(255,255,255,.6);font-weight:500;margin-right:16px;transition:color var(--dur-fast)}
.nav__phone:hover{color:var(--white)}
.nav__cta{background:var(--amber);color:var(--navy);font-size:var(--t-xs);font-weight:700;padding:8px 18px;border-radius:var(--radius-full);transition:all var(--dur-fast)}
.nav__cta:hover{background:var(--amber-hover);transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,173,0,.4)}
.scroll-progress{position:fixed;top:0;left:0;height:2px;background:var(--amber);z-index:1001;width:0;transition:none}
/* Burger */
.nav__burger{display:none;flex-direction:column;gap:5px;padding:8px;border-radius:var(--radius-sm);transition:background var(--dur-fast);margin-left:8px}
.nav__burger:hover{background:rgba(255,255,255,.08)}
.nav__burger span{display:block;width:22px;height:2px;background:var(--white);border-radius:2px;transition:transform var(--dur-slow) var(--ease),opacity var(--dur-fast)}
.nav__burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__burger.is-open span:nth-child(2){opacity:0}
.nav__burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* Mobile drawer */
.mobile-nav{display:none;position:fixed;inset:48px 0 0;z-index:499;background:var(--navy-deep);flex-direction:column;overflow-y:auto;transform:translateX(100%);transition:transform var(--dur-slow) var(--ease)}
.mobile-nav.is-open{display:flex;transform:translateX(0)}
.mobile-nav a{display:block;padding:14px var(--gutter);font-size:var(--t-body);font-weight:600;color:rgba(255,255,255,.75);border-bottom:1px solid rgba(255,255,255,.04);transition:color var(--dur-fast),background var(--dur-fast)}
.mobile-nav a:hover{color:var(--white);background:rgba(255,255,255,.04)}
.mobile-nav .mobile-nav__cta-wrap{padding:20px var(--gutter) 32px}
/* TOC */
.toc{position:sticky;top:48px;z-index:200;background:var(--white);border-bottom:1px solid var(--border);opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .2s ease,transform .2s ease}
.toc.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.toc-inner{max-width:var(--nav-w);margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;overflow-x:auto;scrollbar-width:none}
.toc-inner::-webkit-scrollbar{display:none}
.toc-inner a{flex-shrink:0;padding:12px 18px;font-size:var(--t-xs);font-weight:600;color:var(--text-mid);border-bottom:2px solid transparent;transition:all var(--dur-fast);white-space:nowrap;text-decoration:none}
.toc-inner a:hover{color:var(--navy)}
.toc-inner a.is-active{color:var(--navy);font-weight:700;border-bottom-color:var(--amber)}
.toc-inner a.toc-cta{color:var(--amber-dark);font-weight:700}

/* ═══════════════════════════════════════════════════════════
   BUTTONS  (structural — kept in template, not ACF-editable)
   ═══════════════════════════════════════════════════════════ */
.btn-amber{display:inline-flex;align-items:center;justify-content:center;font-size:var(--t-body);font-weight:700;padding:14px 28px;border-radius:var(--radius-full);background:var(--amber);color:var(--navy);border:none;cursor:pointer;transition:all var(--dur-fast);white-space:nowrap}
.btn-amber:hover{background:var(--amber-hover);transform:translateY(-2px);box-shadow:0 8px 28px rgba(255,173,0,.45)}
.btn-navy{display:inline-flex;align-items:center;justify-content:center;font-size:var(--t-body);font-weight:700;padding:14px 28px;border-radius:var(--radius-full);background:var(--navy);color:var(--white);border:none;cursor:pointer;transition:all var(--dur-fast);white-space:nowrap}
.btn-navy:hover{background:var(--navy-deep);box-shadow:0 2px 0 0 var(--amber)}
.btn-full{width:100%;justify-content:center}
.btn-ghost{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-sm);font-weight:700;color:var(--navy);transition:all var(--dur-fast);text-decoration:none}
.btn-ghost:hover{text-decoration:underline}
.btn-ghost svg{width:14px;height:14px;transition:transform var(--dur-fast)}
.btn-ghost:hover svg{transform:translateX(3px)}


/* ═══════════════════════════════════════════════════════════
   FORMS
   ═══════════════════════════════════════════════════════════ */
.form-group{margin-bottom:20px}
.form-field{width:100%;padding:14px 16px;font-size:var(--t-body);font-weight:500;background:var(--white);border:2px solid rgba(5,22,77,.12);border-radius:var(--radius-sm);transition:border-color var(--dur-fast),box-shadow var(--dur-fast);outline:none;min-height:44px;color:var(--ink)}
.form-field:hover{border-color:rgba(5,22,77,.25)}
.form-field:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(5,22,77,.06)}
.form-field.is-error{border-color:#B71C1C}
textarea.form-field{resize:vertical;min-height:90px;line-height:1.65}
.form-submit{width:100%;padding:14px 16px;font-size:var(--t-body);font-weight:800;background:var(--amber);color:var(--navy);border-radius:var(--radius-full);border:2px solid var(--amber);transition:all var(--dur-fast);cursor:pointer;min-height:44px}
.form-submit:hover{background:var(--amber-hover);border-color:var(--amber-hover);transform:translateY(-2px);box-shadow:0 8px 28px rgba(255,173,0,.45)}
.form-submit.is-success{background:var(--status-go);border-color:var(--status-go);pointer-events:none}
.dots{display:inline-flex;gap:4px}
.dots span{width:6px;height:6px;background:var(--navy);border-radius:50%;animation:dotPulse .6s ease infinite}
.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}
/* CTA-band form uses white fields */
.cta-band .form-field{background:var(--white);border-color:rgba(5,22,77,.12);color:var(--ink)}
.cta-band .form-field:focus{border-color:var(--amber);box-shadow:0 0 0 3px rgba(255,173,0,.12)}

/* ═══════════════════════════════════════════════════════════
   HERO
   ═══════════════════════════════════════════════════════════ */

.hero { padding: 80px 0 64px ; display: flex ; align-items: flex-start ; position: relative ; overflow: visible ; }

.hero .container { position: relative ; z-index: 1 ; width: 100% ; display: grid ; grid-template-columns: 1.1fr .9fr ; gap: 56px ; align-items: start ; }

/* Hero left — ACF WYSIWYG content zone */
.hero-copy{display:flex;flex-direction:column}
/* Hero eyebrow — structural */
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px; width: fit-content; font-size:var(--t-label);font-weight:700;color:var(--amber);text-transform:uppercase;letter-spacing:.08em;background:rgba(255,173,0,.1);border:1px solid rgba(255,173,0,.25);border-radius:var(--radius-full);padding:6px 16px;margin-bottom:20px;animation:fadeIn .8s var(--ease) both}
.hero-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--amber);animation:pulseAmber 2.4s ease infinite;flex-shrink:0}
/* All text in hero-copy styled via element selectors — no classes on content */
.hero-copy h1{font-size:var(--t-hero);font-weight:800;line-height:1.1;color:var(--white);margin-bottom:20px;max-width:640px;animation:fadeUp .7s var(--ease) .08s both}
.hero-copy h1 em{color:var(--amber);font-style:normal}
.hero-copy p{font-size:var(--t-body-lg);font-weight:500;color:rgba(255,255,255,.65);max-width:520px;line-height:1.55;margin-bottom:28px;animation:fadeUp .7s var(--ease) .16s both}
.hero-copy ul{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:28px;animation:fadeUp .7s var(--ease) .24s both}
.hero-copy ul li{padding-left: 30px; position: relative; gap:10px;font-size:var(--t-sm);color:rgba(255,255,255,.75);line-height:1.55}
.hero-copy ul li::before{ position: absolute; left: 0; top: -1px; content:'';width:22px;height:22px;border-radius:50%;background:rgba(74,222,128,.15);border:1px solid rgba(74,222,128,.3);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 6l3 3 5-5' stroke='%234ADE80' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:12px;flex-shrink:0;margin-top:1px}
.hero-copy ul li strong{color:var(--white)}
/* Proof strip — structural (populated by ACF text fields) */
.hero-proof{display:flex;gap:24px;flex-wrap:wrap;font-size:var(--t-sm);color:rgba(255,255,255,.45);animation:fadeUp .7s var(--ease) .32s both}
.hero-proof strong{font-weight:800;color:var(--white)}
.hero-proof-sep{width:1px;height:16px;background:rgba(255,255,255,.1);align-self:center}
.hero-micro{font-size:var(--t-xs);color:rgba(255,255,255,.3);margin-top:10px}
/* Hero form column — sticky */
.hero-form-col {
  position: sticky ;
  top: 75px ;                  
  height: fit-content ;
  align-self: start ;         
  animation: fadeUp .8s var(--ease) .35s both ;
}
/* Form card content — ACF fields, plain elements */
.glass--form h3{font-size:var(--t-h3);font-weight:800;color:var(--white);line-height:1.2;margin-bottom:4px}
.glass--form p.form-label-intro{font-size:var(--t-xs);color:rgba(255,255,255,.4);margin-bottom:20px}
.form-trust-row{display:flex;justify-content:center;gap:16px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}
.form-trust-row span{font-size:var(--t-label);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.3)}
.form-footnote{font-size:var(--t-xs);color:rgba(255,255,255,.25);text-align:center;margin-top:10px}
.form-eyebrow{font-size:var(--t-label);font-weight:700;color:var(--amber);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}

/* ═══════════════════════════════════════════════════════════
   CLAIMS BAND
   ═══════════════════════════════════════════════════════════ */
.claims-band{background:linear-gradient(90deg,var(--navy-deep) 0%,var(--navy) 40%,var(--navy-mid) 70%,var(--navy) 100%);border-top:1px solid rgba(255,173,0,.15);border-bottom:1px solid rgba(255,173,0,.15);height:44px;overflow:hidden;position:relative}
.claims-band::before,.claims-band::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2}
.claims-band::before{left:0;background:linear-gradient(90deg,var(--navy-deep),transparent)}
.claims-band::after{right:0;background:linear-gradient(270deg,var(--navy),transparent)}
.claims-band-track{display:flex;align-items:center;height:100%;animation:marquee 32s linear infinite;width:max-content}
.claims-band:hover .claims-band-track{animation-play-state:paused}
/* Items in claims band — no class needed on text nodes */
.claims-band-track span{font-size:var(--t-label);font-weight:700;color:rgba(255,255,255,.88);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;padding:0 16px}
.claims-band-track b{display:inline-block;width:5px;height:5px;border-radius:50%;background:rgba(255,173,0,.8);vertical-align:middle;flex-shrink:0}

/* ═══════════════════════════════════════════════════════════
   LOGO BAR
   ═══════════════════════════════════════════════════════════ */
.logo-bar{padding:40px 0}
.logo-bar-label{font-size:var(--t-xs);color:var(--text-mid);text-align:center;margin-bottom:24px;font-weight:500;display:block}
.logo-bar-scroll{position:relative;overflow:hidden}
.logo-bar-scroll::before,.logo-bar-scroll::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}
.logo-bar-scroll::before{left:0;background:linear-gradient(to right,var(--white),transparent)}
.logo-bar-scroll::after{right:0;background:linear-gradient(to left,var(--white),transparent)}
.logo-bar-track{display:flex;align-items:center;gap:30px;animation:marquee 32s linear infinite;width:max-content}
.logo-bar-track:hover{animation-play-state:paused}
/* Each logo pill — ACF repeater text field, no class on element */
.logo-bar-track span:hover{border-color:rgba(5,22,77,.18);color:var(--navy)}
.logo-bar-track span{display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 140px;
    padding: 10px 18px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    font-size: var(--t-sm);
    font-weight: 700;
    color: var(--text-mid);
    white-space: nowrap;
    transition: border-color var(--dur-fast), color var(--dur-fast);}

/* ═══════════════════════════════════════════════════════════
   SECTION HEADS — styled via element selectors on wrappers
   ═══════════════════════════════════════════════════════════ */
.section-head{margin-bottom:48px}
.section-head--center{text-align:center}
/* ACF text fields output plain text; these selectors style them */
.section-head small{font-size:var(--t-label);font-weight:700;color:var(--amber-dark);text-transform:uppercase;letter-spacing:.09em;display:block;margin-bottom:12px}
.surface--navy .section-head small,.surface--navy-deep .section-head small{color:var(--amber)}
.section-head h2{font-size:var(--t-h2);font-weight:800;color:var(--navy);line-height:1.15;margin-bottom:14px;letter-spacing:-.015em}
.section-head h2 em{font-style:normal;color:var(--amber)}
.surface--navy .section-head h2,.surface--navy-deep .section-head h2{color:var(--white)}
.section-head p{font-size:var(--t-body-lg);color:var(--text-mid);line-height:1.6;max-width:580px}
.surface--navy .section-head p,.surface--navy-deep .section-head p{color:rgba(255,255,255,.62)}
.section-head--center p{margin-inline:auto}

/* ═══════════════════════════════════════════════════════════
   BUYER REALITY / PAIN SECTION
   ═══════════════════════════════════════════════════════════ */
.buyer-reality{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:start}
/* Zone 1 text — ACF WYSIWYG; styled via element selectors */
.buyer-reality-copy h2{font-size:var(--t-h2);font-weight:800;color:var(--navy);line-height:1.15;margin-bottom:20px;letter-spacing:-.015em}
.buyer-reality-copy h2 em{font-style:normal;color:var(--amber)}
.buyer-reality-copy small{font-size:var(--t-label);font-weight:700;color:var(--amber-dark);text-transform:uppercase;letter-spacing:.09em;display:block;margin-bottom:12px}
.buyer-reality-copy p{font-size:var(--t-body);color:var(--ink);line-height:1.7;margin-bottom:28px}
/* Value strip — ACF repeater (number, title, body) */
.value-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--white);margin-top:4px}
.value-strip-cell{padding:28px;position:relative}
.value-strip-cell+.value-strip-cell{border-left:1px solid var(--border)}
/* Content inside each cell — ACF repeater outputs: <b>01</b><h3>title</h3><p>body</p> */
.value-strip-cell b{font-size:4rem;font-weight:900;line-height:1;color:rgba(5,22,77,.06);display:block;margin-bottom:10px}
.value-strip-cell h3{font-size:var(--t-subhead);font-weight:700;color:var(--navy);margin-bottom:8px}
.value-strip-cell p{font-size:var(--t-sm);color:var(--text-mid);line-height:1.6}
/* Data card */
.buyer-reality-card{background:var(--navy);
       flex-basis: 50%;
    position: sticky;
    top: 150px;
    height: fit-content;
   border-radius:var(--radius-lg);padding:28px;overflow:hidden}
.buyer-reality-card-title{font-size:var(--t-label);font-weight:700;color:var(--amber);text-transform:uppercase;letter-spacing:.08em;margin-bottom:20px;display:flex;align-items:center;gap:6px}
.bar-row{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.bar-label{font-size:var(--t-sm);color:rgba(255,255,255,.8);width:120px;flex-shrink:0}
.bar-track{flex:1;height:6px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden}
.bar-fill{height:100%;border-radius:3px;transition:width .8s ease;width:0}
.bar-fill--red{background:#EF4444}
.bar-fill--amber{background:var(--amber)}
.bar-fill--green{background:#4ADE80}
.bar-val{font-size:var(--t-sm);font-weight:700;color:var(--white);width:40px;text-align:right;flex-shrink:0}
.buyer-reality-card p{font-size:var(--t-sm);color:rgba(255,255,255,.6);margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);line-height:1.6}
.buyer-reality-card p strong{color:var(--white)}
/* buyer-reality-card checklist — plain <ul><li>, scoped to card wrapper */
.buyer-reality-card ul{margin-top:16px;display:flex;flex-direction:column;gap:8px;list-style:none;padding:0}
.buyer-reality-card ul li{display:flex;align-items:center;gap:8px;font-size:var(--t-sm);color:rgba(255,255,255,.65)}
.buyer-reality-card ul li::before{content:'';width:22px;height:22px;border-radius:50%;background:rgba(74,222,128,.15);border:1px solid rgba(74,222,128,.3);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 6l3 3 5-5' stroke='%234ADE80' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:12px;flex-shrink:0}
.live-dot{width:7px;height:7px;border-radius:50%;background:#4ADE80;display:inline-block;animation:pulseGreen 2.4s ease infinite;flex-shrink:0}

/* ═══════════════════════════════════════════════════════════
   STAT CELLS (market context)
   ═══════════════════════════════════════════════════════════ */
.stat-cells{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat-cell{border-radius:var(--radius);padding:24px;border-top:3px solid;transition:all var(--dur-fast)}
.stat-cell:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.stat-cell--coral{border-color:var(--stat-coral);background:var(--stat-coral-bg)}
.stat-cell--blue{border-color:var(--stat-blue);background:var(--stat-blue-bg)}
.stat-cell--green{border-color:var(--stat-green);background:var(--stat-green-bg)}
.stat-cell--purple{border-color:var(--stat-purple);background:var(--stat-purple-bg)}
/* ACF repeater: number field → <b>, label → <p>, source → <small> */
.stat-cell b{font-size:2.5rem;font-weight:900;line-height:1.1;display:block;margin-bottom:6px}
.stat-cell--coral b{color:var(--stat-coral)}
.stat-cell--blue b{color:var(--stat-blue)}
.stat-cell--green b{color:var(--stat-green)}
.stat-cell--purple b{color:var(--stat-purple)}
.stat-cell p{font-size:var(--t-sm);font-weight:700;color:var(--navy);margin-bottom:4px}
.stat-cell small{font-size:var(--t-xs);color:var(--text-mid)}

/* ═══════════════════════════════════════════════════════════
   SERVICES — card grid
   ═══════════════════════════════════════════════════════════ */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px;transition:transform var(--dur-fast),box-shadow var(--dur-fast);position:relative;overflow:hidden;display:flex;flex-direction:column}
.service-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--amber);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.service-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.service-card:hover::after{transform:scaleX(1)}
.service-card.featured{background:var(--navy)}
.service-card.featured::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 80% 20%,rgba(255,173,0,.08) 0%,transparent 60%);pointer-events:none}
/* Card icon — structural */
.service-icon{width:44px;height:44px;border-radius:var(--radius);background:rgba(5,22,77,.06);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--navy);flex-shrink:0;transition:background var(--dur-fast),color var(--dur-fast)}
.service-card:hover .service-icon{background:rgba(255,173,0,.1);color:var(--amber-dark)}
.service-card.featured .service-icon{background:rgba(255,173,0,.12);border-color:rgba(255,173,0,.25);color:var(--amber)}
/* Tag — structural (ACF select field → pre-rendered HTML) */
.service-tag{width: fit-content;display:inline-block;padding:3px 8px;font-size:var(--t-label);font-weight:700;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;background:rgba(255,173,0,.12);color:var(--amber-dark)}
.service-card.featured .service-tag{background:rgba(255,173,0,.18);color:var(--amber)}
/* ACF WYSIWYG outputs <h3> and <p> — styled by element selectors */
.service-card h3{font-size:var(--t-subhead);font-weight:700;color:var(--navy);margin-bottom:10px;line-height:1.35}
.service-card.featured h3{color:var(--white)}
.service-card p{font-size:var(--t-sm);color:var(--text-mid);line-height:1.65;flex:1;margin-bottom:16px}
.service-card.featured p{color:rgba(255,255,255,.6)}

/* ═══════════════════════════════════════════════════════════
   PROCESS STEPS
   ═══════════════════════════════════════════════════════════ */
.process-steps{display:flex;gap:24px;position:relative}
.process-steps::before{content:'';position:absolute;top:72px;left:80px;right:80px;height:2px;border-top:2px dashed rgba(255,173,0,.3);z-index:0}
.process-step{flex:1;display:flex;flex-direction:column}
/* Timeline label — first element in .process-step, ACF text field → no class needed */
.process-step>:first-child{font-size:var(--t-label);font-weight:700;color:var(--amber);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;display:block}
.process-step-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;position:relative;z-index:1;flex:1;display:flex;flex-direction:column;transition:box-shadow var(--dur-slow),transform var(--dur-slow)}
.process-step-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
/* Step number — structural */
.process-step-num{width:48px;height:48px;border-radius:50%;background:var(--amber);color:var(--navy);font-weight:800;font-size:var(--t-body-lg);display:flex;align-items:center;justify-content:center;margin-bottom:16px;flex-shrink:0}
/* ACF WYSIWYG → <h3> title + <p> body */
.process-step-card h3{font-size:var(--t-subhead);font-weight:700;color:var(--navy);margin-bottom:8px}
.process-step-card p{font-size:var(--t-sm);color:var(--text-mid);line-height:1.65}

/* ═══════════════════════════════════════════════════════════
   STAT STRIP — delivery KPIs
   ═══════════════════════════════════════════════════════════ */
.stat-strip{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:48px 0}
.stat-strip-item{text-align:center;flex:1;border-right:1px solid var(--border);padding-right:32px}
.stat-strip-item:last-child{border-right:none;padding-right:0}
/* ACF fields: number → <b>, label → <p>, method note → <small> */
.stat-strip-item b{font-size:var(--t-h2);font-weight:800;color:var(--navy);line-height:1.2;display:block}
.stat-strip-item p{font-size:var(--t-sm);color:var(--text-mid);margin-top:4px}
.stat-strip-item small{font-size:var(--t-xs);color:var(--text-light);display:block;margin-top:2px}

/* ═══════════════════════════════════════════════════════════
   BENEFIT CARDS
   ═══════════════════════════════════════════════════════════ */
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:64px}
.benefit-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px;transition:transform var(--dur-fast),box-shadow var(--dur-fast);position:relative;overflow:hidden}
.benefit-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.benefit-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--amber);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.benefit-card:hover::after{transform:scaleX(1)}
/* ACF repeater: ghost number → <b>, title → <h3>, body → <p> */
.benefit-card[data-num]::before{content:attr(data-num);position:absolute;top:-12px;right:20px;font-size:6rem;font-weight:900;line-height:1;color:rgba(5,22,77,.04);pointer-events:none}
.benefit-card:hover::before{color:rgba(255,173,0,.07)}
.benefit-card h3{font-size:var(--t-subhead);font-weight:700;color:var(--navy);margin-bottom:8px}
.benefit-card p{font-size:var(--t-sm);color:var(--text-mid);line-height:1.65}

/* ═══════════════════════════════════════════════════════════
   CASE STUDIES
   ═══════════════════════════════════════════════════════════ */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.case-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow var(--dur-slow),transform var(--dur-slow)}
.case-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-3px)}
.case-card-head{background:var(--navy);position:relative;overflow:hidden}
/* ACF image field → plain <img> */
.case-card-head img{width:100%;height:180px;object-fit:inherit;display:block;filter:brightness(.5) saturate(.75);transition:filter var(--dur-slow),transform .5s var(--ease)}
.case-card:hover .case-card-head img{filter:brightness(.65) saturate(.88);transform:scale(1.04)}
.case-card-head::after{content:'';position:absolute;bottom:0;left:0;right:0;height:70%;background:linear-gradient(to top,rgba(5,22,77,.9),transparent);z-index:1;pointer-events:none}
.case-card-head-text{position:relative;z-index:2;padding:16px 20px 20px}
/* ACF fields: client → <small>, headline → <p>, tag → <mark> */
.case-card-head-text small{font-size:var(--t-label);font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.45);display:block;margin-bottom:6px}
.case-card-head-text p{font-size:var(--t-sm);font-weight:700;color:var(--white);line-height:1.45;margin-bottom:10px}
.case-card-head-text mark{background:rgba(255,173,0,.15);color:var(--amber);border:1px solid rgba(255,173,0,.3);border-radius:var(--radius-sm);padding:3px 10px;font-size:var(--t-label);font-weight:700;text-transform:uppercase;letter-spacing:.08em;display:inline-block}
.case-card-body{padding:20px;flex:1;display:flex;flex-direction:column;gap:12px}
.case-stats{display:flex;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}
/* ACF repeater stat: number → <b>, label → <small> */
.case-stat b{font-size:1.25rem;font-weight:800;color:var(--navy);line-height:1.1;display:block}
.case-stat small{font-size:.72rem;color:var(--text-mid);line-height:1.4;margin-top:2px;display:block}
/* ACF WYSIWYG → <p> description */
.case-card-body>p{font-size:var(--t-sm);color:var(--text-mid);line-height:1.65;flex:1}

/* ═══════════════════════════════════════════════════════════
   WHY CHOOSE US — belief cards
   ═══════════════════════════════════════════════════════════ */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.why-card{background:var(--white);border-left:3px solid var(--amber);border-radius:0 var(--radius) var(--radius) 0;box-shadow:var(--shadow);padding:24px 28px;transition:transform var(--dur-fast),box-shadow var(--dur-fast)}
.why-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
/* ACF repeater: number → <small>, title → <h3>, body → <p> */
.why-card small{font-size:var(--t-label);font-weight:700;color:var(--amber);text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:8px}
.why-card h3{font-size:var(--t-subhead);font-weight:700;color:var(--navy);margin-bottom:8px;line-height:1.35}
.why-card p{font-size:var(--t-sm);color:var(--text-mid);line-height:1.65}

/* ═══════════════════════════════════════════════════════════
   COMPARISON TABLE
   ═══════════════════════════════════════════════════════════ */
.comparison-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius)}
.comparison-wrap table{width:100%;border-collapse:collapse;min-width:600px}
.comparison-wrap th,.comparison-wrap td{padding:14px 20px;text-align:left;font-size:var(--t-sm);border-bottom:1px solid var(--border)}
.comparison-wrap thead th{background:var(--white);font-weight:700;color:var(--navy);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em}
/* ValueCoders column — 2nd column, targeted by position, no class needed on td */
.comparison-wrap td:nth-child(2),.comparison-wrap th:nth-child(2){background:rgba(5,22,77,.04)}
.comparison-wrap thead th:nth-child(2){background:var(--navy);color:var(--white)}
/* Advantage = <b>, concession = <s> — both classless, styled by tag */
.comparison-wrap b{color:var(--status-go);font-weight:700}
.comparison-wrap s{color:var(--text-mid);font-weight:600;text-decoration:none}
.comparison-wrap th:first-child,.comparison-wrap td:first-child{position:sticky;left:0;background:var(--white);z-index:1}
.comparison-wrap thead th:first-child{background:var(--white)}
.comparison-wrap tfoot td{font-size:var(--t-xs);color:var(--text-light);text-align:center;padding-top:10px;border:none}

/* ═══════════════════════════════════════════════════════════
   PRICING
   ═══════════════════════════════════════════════════════════ */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.pricing-card{background:var(--white);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow);position:relative;display:flex;flex-direction:column;transition:box-shadow var(--dur-slow),transform var(--dur-slow)}
.pricing-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-3px)}
.pricing-card.featured{background:var(--navy);box-shadow:0 0 0 2px var(--amber),var(--shadow-xl);transform:translateY(-8px)}
.pricing-card.featured:hover{transform:translateY(-11px)}
.pricing-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);font-size:var(--t-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--amber);color:var(--navy);padding:4px 16px;border-radius:var(--radius-full);white-space:nowrap;box-shadow:0 4px 12px rgba(255,173,0,.4)}
/* ACF fields: tier label → <small>, plan name → <h3>, price → <b>, period → <span>, desc → <p>, list → <ul><li> */
.pricing-card small{font-size:var(--t-label);font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.09em;display:block;margin-bottom:6px}
.pricing-card.featured small{color:rgba(255,255,255,.45)}
.pricing-card h3{font-size:var(--t-h3);font-weight:800;color:var(--navy);margin-bottom:4px;line-height:1.2}
.pricing-card.featured h3{color:var(--white)}
.pricing-card b{font-size:var(--t-h2);font-weight:800;color:var(--navy);display:block;margin-bottom:4px;line-height:1.1}
.pricing-card.featured b{color:var(--white)}
.pricing-card b span{font-size:var(--t-sm);font-weight:500;color:var(--text-mid)}
.pricing-card.featured b span{color:rgba(255,255,255,.5)}
.pricing-card p{font-size:var(--t-sm);color:var(--text-mid);margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border);line-height:1.6}
.pricing-card.featured p{color:rgba(255,255,255,.55);border-bottom-color:rgba(255,255,255,.1)}
.pricing-card ul{list-style:none;flex:1;margin-bottom:24px;display:flex;flex-direction:column;gap:2px}
.pricing-card ul li{padding:8px 0;border-bottom:1px solid var(--border);font-size:var(--t-sm);color:var(--ink)}
.pricing-card.featured ul li{border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.8)}
.pricing-card ul li::before{content:'✓ ';color:var(--amber);font-weight:700}

/* ═══════════════════════════════════════════════════════════
   TESTIMONIALS
   ═══════════════════════════════════════════════════════════ */
/* Spotlight */
.testi-spotlight{display:grid;grid-template-columns:1fr 280px;gap:48px;padding:48px;align-items:center;position:relative;z-index:1;border-radius:var(--radius-lg)}
/* ACF WYSIWYG → <blockquote><p> quote text */
.testi-spotlight blockquote{position:relative}
.testi-spotlight blockquote::before{content:'\201C';font-size:5rem;font-weight:800;color:rgba(255,173,0,.12);line-height:.7;display:block;margin-bottom:8px;font-family:Georgia,serif}
.testi-spotlight blockquote p{font-size:var(--t-h3);font-weight:600;font-style:italic;color:var(--white);line-height:1.5}
.testi-spotlight-meta{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:28px}
/* Stars — structural */
.testi-stars{color:var(--amber);font-size:.9rem;letter-spacing:3px;display:block;margin-bottom:10px}
/* ACF fields: name → <strong>, role → <span>, company → <em> */
.testi-spotlight-meta strong{font-size:var(--t-body);font-weight:800;color:var(--white);display:block;margin-bottom:2px}
.testi-spotlight-meta span{font-size:var(--t-xs);color:rgba(255,255,255,.5);display:block}
.testi-spotlight-meta em{font-style:normal;font-size:var(--t-xs);color:rgba(255,255,255,.35);display:block;margin-bottom:14px}
.testi-kpi-row{padding-top:14px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:8px}
.testi-kpi b{font-size:1.25rem;font-weight:800;color:var(--amber);display:block;line-height:1}
.testi-kpi small{font-size:.7rem;color:rgba(255,255,255,.38);text-transform:uppercase;letter-spacing:.06em}
/* Card grid */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.testi-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px;display:flex;flex-direction:column}
/* ACF WYSIWYG: quote mark → <b>, quote → <p>, name → <strong>, role → <span> */
.testi-card b{font-size:3.5rem;font-weight:800;color:var(--amber);line-height:1;display:block;margin-bottom:8px}
.testi-card p{font-size:var(--t-body);font-style:italic;color:var(--ink);line-height:1.7;margin-bottom:16px;flex:1}
.testi-card strong{font-size:var(--t-body);font-weight:700;color:var(--navy);display:block}
.testi-card span{font-size:var(--t-sm);color:var(--text-mid);display:block;margin-top:2px; width: fit-content;}
.testi-verified{display:inline-block;font-size:var(--t-label);font-weight:700;color:#FF3D2E;text-transform:uppercase;letter-spacing:.06em;margin-top:8px;padding:3px 8px;border:1px solid rgba(255,61,46,.2);border-radius:var(--radius-sm)}
/* Clutch bar */
.clutch-bar{display:inline-flex;align-items:center;gap:12px;padding:16px 24px;border-radius:var(--radius-lg)}
.clutch-bar-logo{font-size:1.1rem;font-weight:800;color:#FF3D2E}
.clutch-bar-stars{color:#FF3D2E;font-size:.9rem;letter-spacing:1px}
.clutch-bar-rating{font-size:var(--t-h3);font-weight:800;color:var(--white)}
.clutch-bar-divider{width:1px;height:20px;background:rgba(255,255,255,.12)}
.clutch-bar-count{font-size:var(--t-xs);color:rgba(255,255,255,.5)}

/* ═══════════════════════════════════════════════════════════
   FAQ
   ═══════════════════════════════════════════════════════════ */
.faq-list{max-width:780px;margin-inline:auto}
.faq-item{border-bottom:1px solid var(--border)}
.faq-item:first-child{border-top:1px solid var(--border)}
.faq-item-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;padding:20px 0;text-align:left;cursor:pointer;transition:color var(--dur-fast);gap:16px;background:none;border:none;font-family:inherit}
/* ACF text field → plain text button label */
.faq-item-trigger span:first-child{font-size:var(--t-subhead);font-weight:700;color:var(--navy);line-height:1.4}
.faq-item-trigger:hover span:first-child{color:var(--amber)}
.faq-icon{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;background:var(--canvas)}
.faq-icon svg{width:10px;height:10px;stroke:var(--navy);stroke-width:2;fill:none;transition:transform .2s}
.faq-item.is-open .faq-icon{background:var(--amber);border-color:var(--amber)}
.faq-item.is-open .faq-icon svg{stroke:var(--navy);transform:rotate(180deg)}
.faq-body{overflow:hidden;max-height:0;transition:max-height .35s cubic-bezier(0,0,.2,1)}
.faq-item.is-open .faq-body{max-height:320px}
/* ACF WYSIWYG outputs → <p> answer — no class needed */
.faq-body p{font-size:var(--t-body);color:var(--ink);line-height:1.75;padding-bottom:20px;max-width:640px}

/* ═══════════════════════════════════════════════════════════
   CTA BAND
   ═══════════════════════════════════════════════════════════ */
.cta-band{padding:80px 0;position:relative}
.cta-band .container{position:relative;z-index:1}
.cta-band-grid{display:grid;grid-template-columns:1fr 480px;gap:64px;align-items:start}
.cta-live{display:flex;align-items:center;gap:8px;font-size:var(--t-sm);color:rgba(255,255,255,.7);margin-bottom:16px}
.cta-live-dot{width:7px;height:7px;border-radius:50%;background:#4ADE80;animation:pulseGreen 2.4s ease infinite;flex-shrink:0}
/* ACF WYSIWYG: kicker → <small>, headline → <h2>, subtext → <p> */
.cta-band-copy small{font-size:var(--t-label);font-weight:700;color:var(--amber);text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:12px}
.cta-band-copy h2{font-size:var(--t-h2);font-weight:800;color:var(--white);margin-bottom:12px;line-height:1.15}
.cta-band-copy h2 em{color:var(--amber);font-style:normal}
.cta-band-copy p{font-size:var(--t-body);color:rgba(255,255,255,.5);max-width:480px;margin-bottom:24px}
/* Proof list — ACF repeater → plain <ul><li>, scoped to .cta-band-copy */
.cta-band-copy ul{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:24px;padding:0}
.cta-band-copy ul li{display:flex;align-items:center;gap:10px;font-size:var(--t-sm);color:rgba(255,255,255,.7)}
.cta-band-copy ul li::before{content:'';width:22px;height:22px;border-radius:50%;background:rgba(74,222,128,.15);border:1px solid rgba(74,222,128,.3);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 6l3 3 5-5' stroke='%234ADE80' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:12px;flex-shrink:0}
.cta-trust{display:flex;gap:20px;font-size:var(--t-xs);color:rgba(255,255,255,.4)}
/* CTA form card text — ACF fields */
.cta-form-eyebrow{font-size:var(--t-label);font-weight:700;color:var(--amber);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.cta-band .glass--form h3{font-size:var(--t-h3);font-weight:800;color:var(--white);margin-bottom:4px;line-height:1.2}
.cta-band .glass--form p{font-size:var(--t-xs);color:rgba(255,255,255,.4);margin-bottom:20px}

/* ═══════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════ */
.footer{background:var(--navy-deep);padding:64px 0 32px}


.footer-offices{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:32px 0;border-top:1px solid rgba(255,255,255,.06)}
.footer-office{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:20px 22px;transition:background var(--dur-fast),border-color var(--dur-fast)}
.footer-office:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}
/* ACF text fields → plain elements styled by position */
.footer-office strong{font-size:var(--t-sm);font-weight:700;color:var(--white);display:flex;align-items:center;gap:8px;margin-bottom:10px;line-height:1.3}
.footer-office p{font-size:var(--t-xs);color:rgba(255,255,255,.5);line-height:1.6}
/* Legal bar */
.footer-legal-bar{background:var(--navy);padding:16px 0}
.footer-legal-bar .container{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer-legal-bar p{font-size:var(--t-xs);color:rgba(255,255,255,.55)}
.footer-legal-bar a{font-size:var(--t-xs);color:rgba(255,255,255,.55);transition:color var(--dur-fast);text-decoration:none}
.footer-legal-bar a:hover{color:var(--white)}
.footer-legal-links{display:flex;gap:20px;flex-shrink:0}
@media screen and (max-width:1023px){.footer-offices{grid-template-columns:1fr 1fr;gap:12px}}
@media screen and (max-width:767px){.footer-offices{grid-template-columns:1fr 1fr;gap:10px}.footer-legal-bar .container{flex-direction:column;text-align:center}.footer-legal-links{justify-content:center}}
@media screen and (max-width:479px){.footer-offices{grid-template-columns:1fr}}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — TABLET 768–1023px
   ═══════════════════════════════════════════════════════════ */
@media screen and (max-width:1023px){
  .nav__trust,.nav__phone{display:none}
  .nav__burger{display:none;}
  /* .nav__cta{display:n} */
  

  .hero .container{grid-template-columns:1fr;gap:40px}
  .hero{padding:72px 0 48px;min-height:auto}
  .hero-form-col{position:static}
  .glass--form{max-width:520px;margin-inline:auto}
  .hero-copy h1,.hero-copy p{max-width:100%}

  .buyer-reality{grid-template-columns:1fr;gap:32px}
  .value-strip{grid-template-columns:1fr 1fr}
  .value-strip-cell:nth-child(3){grid-column:1/-1;border-left:none;border-top:1px solid var(--border)}

  .stat-cells{grid-template-columns:1fr 1fr;gap:12px}
  .services-grid{grid-template-columns:1fr 1fr}
  .process-steps{gap:16px}
  .process-steps::before{left:60px;right:60px}
  .stat-strip{flex-wrap:wrap;gap:0;padding:32px 0}
  .stat-strip-item{flex:1 1 calc(50% - 1px);border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:24px 16px}
  .stat-strip-item:nth-child(even){border-right:none}
  .stat-strip-item:nth-last-child(-n+2){border-bottom:none}
  .benefits-grid{grid-template-columns:1fr 1fr}
  .case-grid{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:1fr}
  .pricing-grid{grid-template-columns:1fr;max-width:440px;margin-inline:auto}
  .pricing-card.featured{transform:none}
  .pricing-card.featured:hover{transform:translateY(-3px)}
  .testi-spotlight{grid-template-columns:1fr;gap:28px;padding:36px 28px}
  .testi-grid{grid-template-columns:1fr 1fr}
  .cta-band-grid{grid-template-columns:1fr;gap:40px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .footer-brand{grid-column:1/-1}
}

@media screen and (max-width:767px){
  :root{--t-hero:clamp(2rem,9vw,2.75rem);--t-h2:clamp(1.5rem,6vw,2rem)}
  .section-pad{padding:30px 0 56px 0 ;}
  .glass--form{padding:28px 20px}

  .buyer-reality-copy h2{font-size:clamp(1.5rem,6vw,2rem)}
  .value-strip{grid-template-columns:1fr}
  .value-strip-cell+.value-strip-cell{border-left:none;border-top:1px solid var(--border)}
  .stat-cells{grid-template-columns:1fr 1fr}
  .services-grid{grid-template-columns:1fr}
  .process-steps{flex-direction:column;gap:12px}
  .process-steps::before{display:none}
  .stat-strip{flex-direction:column;padding:24px 0;gap:0}
  .stat-strip-item{border-right:none;border-bottom:1px solid var(--border);padding:20px 0}
  .stat-strip-item:last-child{border-bottom:none}
  .benefits-grid{grid-template-columns:1fr}
  .case-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .pricing-grid{max-width:100%}
  .testi-spotlight{grid-template-columns:1fr;padding:24px 20px}
  .testi-grid{grid-template-columns:1fr}
  .cta-band-grid{grid-template-columns:1fr}
  .cta-band{padding:56px 0 0 0}
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px}
  .footer-brand{grid-column:1/-1}
  .footer{padding:20px 0 56px 0;}
  .hero__proof{flex-wrap:wrap;gap:12px}
  .hero .container{gap: 20px;}
  .footer-offices{padding-top: 0px;  padding-bottom: 0px;}
  .section-head{margin-bottom: 30px;}
  .mh{margin-top: 0;}
  .benefits-grid{padding-bottom: 20px;}
  
}



@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
  .claims-band-track,.logo-bar-track{animation:none!important}
  .hero-copy h1,.hero-copy p,.hero-copy ul,.hero-proof,.hero-eyebrow,.hero-form-col{animation:none}
}


.btn-primary--navy {
    background: var(--navy);
    color: var(--white);
}
.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--t-body);
    font-weight: 700;
    padding: 14px 28px;
    border-radius: var(--radius-full);
    transition: all var(--duration-fast);
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    min-width: 120px;
    cursor: pointer;
    border: none;
}
.award-row {
   margin: 25px 0 0;
    display: flex;
    gap: 5px;
    max-width: 500px;
    flex-wrap: wrap;
    justify-content: space-between;
}
.award-row .award-col{
   border: 1px solid rgba(4, 17, 66, .62);
    background: #101e55;
    width: 120px;    
    text-align: center;
    display: flex;
    justify-content: center;
    padding: 12px;
    border-radius: 5px;
    margin: 0 0 14px;
}
.award-row .award-col img{width: 80%;}


@media screen and (max-width:479px){
  .footer-grid{grid-template-columns:1fr}
  .footer-brand{grid-column:1}
  .stat-cells{grid-template-columns:1fr}
  .pricing-grid{max-width:100%}
  .value-strip{grid-template-columns:1fr}
  .award-row .award-col{width: 80px;}
    .mh {

        margin-top: 0px;
    }
}
:root {
    --navy: #05164D;
    --navy-2: #0d2260;
    --navy-3: #1e3a8a;
    --amber: #FFAD00;
    --amber-lo: rgba(255,173,0,.10);
    --amber-md: rgba(255,173,0,.20);
    --white: #ffffff;
    --page: #EFEDE8;
    --n50: #F8F7F4;
    --n100: #122256;
    --n200: #DDD9D4;
    --n300: #B5B0A8;
    --n400: #8A8580;
    --n500: #5E5955;
    --ok: #15803d;
    --err: #dc2626;
    --font: 'Plus Jakarta Sans', system-ui, sans-serif;
    --tx: clamp(10px,.72vw,11px);
    --ts: clamp(12px,.88vw,13px);
    --tb: clamp(13px,.96vw,14px);
    --tm: clamp(14px,1.05vw,15.5px);
    --tl: clamp(19px,1.55vw,24px);
    --txl: clamp(24px,2vw,32px);
    --r: 12px;
    --rsm: 7px;
    --rpill: 100px;
    --sh: 0 2px 4px rgba(5,22,77,.05),0 10px 28px rgba(5,22,77,.09),0 28px 56px rgba(5,22,77,.07);
    --sh-sm: 0 1px 3px rgba(5,22,77,.07),0 4px 12px rgba(5,22,77,.08);
    --sh-focus: 0 0 0 3px rgba(255,173,0,.28);
    --ease: cubic-bezier(.22,1,.36,1);
    --spring: cubic-bezier(.34,1.56,.64,1);
    --mh-bg: var(--white);
    --mh-card-bg: var(--white);
    --mh-card-border: var(--n100);
    --mh-hero-bg: var(--white);
    --mh-hero-text: var(--navy);
    --mh-hero-sub: var(--n500);
    --mh-label: var(--n400);
    --mh-input-bg: var(--white);
    --mh-input-border: var(--n200);
    --mh-input-text: var(--navy);
    --mh-placeholder: var(--n300);
    --mh-input-focus-bg: #FFFCF5;
    --mh-dial-btn-bg: var(--n50);
    --mh-dial-btn-border: var(--n200);
    --mh-note-text: var(--n400);
    --mh-link-text: var(--n500);
    --mh-conf-sub: rgba(255,255,255,.7);
    --mh-border: var(--n200)
}

.mh-dark {
    --mh-bg: var(--navy);
    --mh-card-bg: rgba(255,255,255,.05);
    --mh-card-border: rgba(255,255,255,.12);
    --mh-hero-bg: var(--navy);
    --mh-hero-text: #ffffff;
    --mh-hero-sub: rgba(255,255,255,.65);
    --mh-label: rgba(255,255,255,.5);
    --mh-input-bg: rgba(255,255,255,.07);
    --mh-input-border: rgba(255,255,255,.15);
    --mh-input-text: #ffffff;
    --mh-placeholder: rgba(255,255,255,.3);
    --mh-input-focus-bg: rgba(255,173,0,.07);
    --mh-dial-btn-bg: rgba(255,255,255,.1);
    --mh-dial-btn-border: rgba(255,255,255,.15);
    --mh-note-text: rgba(255,255,255,.4);
    --mh-link-text: rgba(255,255,255,.6);
    --mh-conf-sub: rgba(255,255,255,.7);
    --mh-border: rgba(255,255,255,.12)
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.hp {
    position: absolute;
    left: -9999px;
    opacity: 0;
    pointer-events: none
}

.demo-hero {
    max-width: 1200px;
    margin: 0 auto;
    padding: clamp(48px,7vw,96px) clamp(20px,4vw,56px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(32px,5vw,80px);
    align-items: center;
    min-height: 100vh
}

.demo-left {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.demo-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--amber)
}

.demo-eyebrow::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--amber);
    flex-shrink: 0;
    animation: demoPulse 2s ease infinite
}

@keyframes demoPulse {
    0%,100% {
        opacity: 1
    }

    50% {
        opacity: .4
    }
}

.demo-h1 {
    font-size: clamp(32px,4vw,54px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.04em;
    color: var(--mh-hero-text)
}

.demo-h1 em {
    font-style: normal;
    color: var(--amber)
}

.demo-sub {
    font-size: clamp(15px,1.2vw,18px);
    color: var(--mh-hero-sub);
    line-height: 1.65;
    max-width: 460px
}

.demo-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 4px
}

.demo-trust-item {
    font-size: 13px;
    font-weight: 600;
    color: var(--mh-hero-sub);
    display: flex;
    align-items: center;
    gap: 6px
}

.demo-trust-item::before {
    content: '✓';
    color: var(--ok);
    font-weight: 800
}

@media(max-width: 800px) {
    .demo-hero {
        grid-template-columns:1fr;
        min-height: auto;
        padding-top: 40px
    }

    .demo-left {
        text-align: center
    }

    .demo-sub {
        max-width: none
    }

    .demo-trust {
        justify-content: center
    }
}

.mh {
    width: 100%;
    max-width: 480px;
    float: right;
}

.mh-card {
    background: #122256;
    border: 1.5px solid var(--mh-card-border);
    border-radius: var(--r);
    box-shadow: var(--sh);
    overflow: hidden
}

.mh-dark .mh-card {
    box-shadow: 0 8px 32px rgba(0,0,0,.35),0 2px 8px rgba(0,0,0,.2)
}

.mh-card-head {
    padding: 20px 24px 0
}

.mh-card-title {
    font-size: var(--tm);
    font-weight: 800;
    
    letter-spacing: -.02em;
    margin-bottom: 2px
}

.mh-card-sub {
    font-size: var(--ts);
   
    line-height: 1.5
}

.mh-fields {
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 14px
}

.mh-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px
}

@media(max-width: 420px) {
    .mh-row {
        grid-template-columns:1fr
    }
}

.fg {
    display: flex;
    flex-direction: column;
    gap: 5px
}

.flbl {
    font-size: var(--tx);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    
    user-select: none
}

.req {
    color: var(--amber)
}

.opt {
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    font-size: 10px;

    opacity: .7
}

.fi,.fta {
    width: 100%;
    padding: 10px 26px 10px 13px;
    border: 1.5px solid var(--mh-input-border);
    border-radius: var(--rsm);
    font-size: var(--tb);
    font-family: var(--font);
    color: var(--mh-input-text);
    background: var(--mh-input-bg);
    transition: border-color .12s,box-shadow .12s,background .12s;
    appearance: none;
    line-height: 1.4
}

.fi::placeholder,.fta::placeholder {
    color: var(--mh-placeholder)
}

.fi:hover,.fta:hover {
    border-color: var(--amber);
    opacity: .8
}

.fi:focus,.fta:focus {
    border-color: var(--amber);
    box-shadow: var(--sh-focus);
    outline: none;
    background: var(--mh-input-focus-bg)
}

@media(max-width: 768px) {
    .fi:focus,.fta:focus {
        font-size:16px
    }
}

.sw {
    position: relative
}

.sw.ok .fi,.sw.ok .fta {
    border-color: var(--ok)
}

.sw.err .fi,.sw.err .fta {
    border-color: var(--err)
}

.sw.ok:not(.ta-sw):not(.phone-sw)::after {
    content: '';
    position: absolute;
    right: 11px;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
    pointer-events: none;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315803d' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat
}

.ferr {
    font-size: 11.5px;
    color: var(--err);
    display: none;
    align-items: center;
    gap: 3px;
    margin-top: 2px
}

.ferr.show {
    display: flex
}

.phone-wrap {
    display: flex;
    border: 1.5px solid var(--mh-input-border);
    border-radius: var(--rsm);
    overflow: hidden;
    background: var(--mh-input-bg);
    transition: border-color .12s,box-shadow .12s,background .12s
}

.phone-wrap:focus-within {
    border-color: var(--amber);
    box-shadow: var(--sh-focus);
    background: var(--mh-input-focus-bg)
}

.sw.err .phone-wrap {
    border-color: var(--err)
}

.sw.ok .phone-wrap {
    border-color: var(--ok)
}

.dial-btn {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 0 8px 0 11px;
    background: var(--mh-dial-btn-bg);
    border: none;
    border-right: 1.5px solid var(--mh-dial-btn-border);
    flex-shrink: 0;
    min-width: 78px;
    font-family: var(--font);
    color: var(--mh-input-text);
    white-space: nowrap;
    transition: background .12s
}

.mh-dark .dial-btn:hover {
    background: rgba(255,255,255,.15)
}

.dial-btn:focus-visible {
    outline: 2px solid var(--amber);
    outline-offset: -3px
}

.dial-flag {
    font-size: 15px;
    line-height: 1
}

.dial-code {
    font-size: 12px;
    font-weight: 600;
    color: var(--mh-input-text)
}

.dial-chev {
    width: 11px;
    height: 11px;
    stroke: var(--mh-label);
    fill: none;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    margin-left: 1px;
    transition: transform .14s
}

.dial-btn[aria-expanded="true"] .dial-chev {
    transform: rotate(180deg)
}

.phone-num {
    flex: 1;
    border: none;
    outline: none;
    padding: 10px 11px;
    font-size: var(--tb);
    font-family: var(--font);
    color: var(--mh-input-text);
    background: transparent;
    min-width: 0
}

.phone-num::placeholder {
    color: var(--mh-placeholder)
}

.fta {
    resize: vertical;
    min-height: 80px;
    max-height: 180px;
    line-height: 1.6
}

.brief-bar {
    margin-top: 7px
}

.brief-track {
    height: 4px;
    background: var(--mh-card-border);
    border-radius: 2px;
    overflow: visible;
    margin-bottom: 6px;
    position: relative
}

.mh-dark .brief-track {
    background: rgba(255,255,255,.1)
}

.brief-fill {
    height: 100%;
    width: 0%;
    border-radius: 2px;
    background: var(--err);
    transition: width .18s ease-out,background .35s ease;
    position: relative
}

.brief-fill::after {
    content: '';
    position: absolute;
    right: -4px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: inherit;
    filter: blur(3px);
    opacity: 0;
    transition: opacity .2s
}

.brief-fill.has-text::after {
    opacity: .8
}

.brief-fill.stage-1 {
    background: #ef4444
}

.brief-fill.stage-2 {
    background: #f97316
}

.brief-fill.stage-3 {
    background: var(--amber)
}

.brief-fill.stage-4 {
    background: var(--ok);
    animation: briefUnlock .5s var(--spring) both
}

@keyframes briefUnlock {
    0% {
        transform: scaleX(1)
    }

    40% {
        transform: scaleX(1.015)
    }

    70% {
        transform: scaleX(.998)
    }

    100% {
        transform: scaleX(1)
    }
}

.brief-track.unlocked {
    animation: trackPulse .55s var(--spring) both
}

@keyframes trackPulse {
    0% {
        box-shadow: none
    }

    35% {
        box-shadow: 0 0 0 3px rgba(21,128,61,.18)
    }

    100% {
        box-shadow: none
    }
}

.brief-meta {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.brief-hint {
    font-size: 11px;
    color: var(--mh-note-text);
    display: flex;
    align-items: center;
    gap: 4px;
    transition: color .3s
}

.brief-hint.ok {
    color: var(--ok)
}

.brief-check {
    color: var(--ok);
    display: none;
    font-size: 11px
}

.brief-check.show {
    display: inline
}

.brief-count {
    font-size: 11px;
    color: var(--mh-note-text);
    font-weight: 600
}

.brief-count.warn {
    color: var(--amber)
}

.mh-foot {
    padding: 0 24px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px
}

.submit-err {
    font-size: 12px;
    color: var(--err);
    display: none;
    line-height: 1.5
}

.submit-err.show {
    display: block
}

.mh-cta {
    width: 100%;
    padding: 14px 24px;
    background: var(--amber);
    color: var(--navy);
    border-radius: var(--rsm);
    font-size: 15px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background .16s,transform .13s var(--spring),box-shadow .16s,opacity .16s;
    position: relative;
    overflow: hidden
}

.mh-cta:hover:not(.loading):not(.done) {
    background: #ffbb29;
    transform: translateY(-1px);
    box-shadow: 0 6px 22px rgba(255,173,0,.38)
}

.mh-cta:active {
    transform: translateY(0)
}

.mh-cta:focus-visible {
    outline: 2px solid var(--navy);
    outline-offset: 3px
}

.mh-dark .mh-cta:focus-visible {
    outline-color: #fff
}

.mh-cta.loading {
    opacity: .7;
    pointer-events: none
}

.mh-cta.done {
    background: var(--ok);
    color: #fff;
    pointer-events: none
}

.mh-cta .td {
    display: flex;
    align-items: center;
    gap: 8px
}

.mh-cta .tl {
    display: none;
    align-items: center;
    gap: 8px
}

.mh-cta .tk {
    display: none;
    align-items: center;
    gap: 8px
}

.mh-cta.loading .td {
    display: none
}

.mh-cta.loading .tl {
    display: flex
}

.mh-cta.done .td {
    display: none
}

.mh-cta.done .tk {
    display: flex
}

.spin {
    width: 15px;
    height: 15px;
    border: 2px solid rgba(5,22,77,.18);
    border-top-color: var(--navy);
    border-radius: 50%;
    animation: rot .6s linear infinite
}

@keyframes rot {
    to {
        transform: rotate(360deg)
    }
}

.mh-assurance {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 11.5px;
    
    text-align: center;
    line-height: 1.5
}

.mh-assurance svg {
    flex-shrink: 0;
    stroke: var(--mh-note-text)
}

.priv-note {
    font-size: 11px;
    
    text-align: center;
    line-height: 1.5
}

.priv-note a {
   
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color .12s
}

.priv-note a:hover {
    border-color: var(--mh-link-text)
}

.gdpr-inline {
    display: none
}

.gdpr-inline.show {
    display: inline
}

.mh-conf {
    padding: 28px 24px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center
}

.conf-icon {
    width: 52px;
    height: 52px;
    background: var(--ok);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 8px rgba(21,128,61,.1);
    animation: popIn .32s var(--spring) both;
    margin-bottom: 14px
}

@keyframes popIn {
    from {
        transform: scale(.6);
        opacity: 0
    }

    to {
        transform: scale(1);
        opacity: 1
    }
}

.conf-icon svg {
    width: 24px;
    height: 24px;
    stroke: #fff;
    fill: none;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round
}

.conf-title {
    font-size: var(--tl);
    font-weight: 800;
    color: var(--white);
    letter-spacing: -.03em;
    margin-bottom: 12px
}

.conf-when-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    margin-bottom: 8px
}

.conf-when-line {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: var(--tb);
    color: var(--mh-conf-sub)
}

.conf-when-line strong {
    color: var(--white);
    font-weight: 700
}

.conf-dot {
    width: 7px;
    height: 7px;
    background: var(--ok);
    border-radius: 50%;
    flex-shrink: 0;
    animation: pulse 2s ease infinite
}

@keyframes pulse {
    0%,100% {
        opacity: 1
    }

    50% {
        opacity: .35
    }
}

.conf-tz-line {
    font-size: 11.5px;
    color: var(--mh-note-text);
    display: none
}

.mh-conf-email-row {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--ts);
    color: var(--white);
    margin-bottom: 18px
}

.mh-conf-email-row svg {
    flex-shrink: 0;
    opacity: .5
}

.conf-steps {
    width: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--mh-border);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 14px;
    text-align: left
}

.conf-step {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 11px 14px;
    font-size: var(--ts);
    line-height: 1.5;
    color: var(--white)
}

.conf-step+.conf-step {
    border-top: 1px solid var(--mh-border)
}

.conf-step-num {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--amber);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 1px
}

.conf-book-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    padding: 11px 16px;
    border-radius: 9px;
    background: var(--navy);
    color: #fff;
    font-size: var(--ts);
    font-weight: 700;
    letter-spacing: -.01em;
    text-decoration: none;
    transition: opacity .12s,transform .1s;
    margin-bottom: 12px
}

.mh-dark .conf-book-btn {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18)
}

.conf-book-btn:hover {
    opacity: .88;
    transform: translateY(-1px)
}

.conf-book-btn svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    stroke: currentColor;
    fill: none
}

.conf-trust {
    font-size: 11px;
    color: var(--white);
    opacity: .7;
    display: flex;
    align-items: center;
    gap: 4px
}

.conf-trust svg {
    width: 11px;
    height: 11px;
    fill: var(--amber);
    stroke: none
}

@keyframes shake {
    0%,100% {
        transform: translateX(0)
    }

    20% {
        transform: translateX(-5px)
    }

    40% {
        transform: translateX(5px)
    }

    60% {
        transform: translateX(-4px)
    }

    80% {
        transform: translateX(3px)
    }
}

.shaking {
    animation: shake .42s cubic-bezier(.36,.07,.19,.97) both
}

#mhDialDrop {
    position: fixed;
    z-index: 9999;
    width: 280px;
    background: var(--white);
    border: 1.5px solid var(--n200);
    border-radius: var(--r);
    box-shadow: 0 4px 8px rgba(5,22,77,.06),0 16px 48px rgba(5,22,77,.16);
    display: none;
    flex-direction: column;
    overflow: hidden;
    animation: dropIn .14s var(--ease) both
}

#mhDialDrop.open {
    display: flex
}

@keyframes dropIn {
    from {
        opacity: 0;
        transform: translateY(-5px)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.dial-search {
    padding: 10px 12px;
    border: none;
    border-bottom: 1px solid var(--n100);
    font-size: var(--ts);
    font-family: var(--font);
    color: var(--navy);
    outline: none;
    background: var(--n50)
}

.dial-search::placeholder {
    color: var(--n300)
}

.dial-list {
    overflow-y: auto;
    max-height: 220px;
    padding: 4px 0;
    scrollbar-width: thin;
    scrollbar-color: var(--n200) transparent
}

.dial-list::-webkit-scrollbar {
    width: 5px
}

.dial-list::-webkit-scrollbar-track {
    background: transparent
}

.dial-list::-webkit-scrollbar-thumb {
    background: var(--n200);
    border-radius: 2px
}

.dial-opt {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 13px;
    font-size: var(--ts);
    cursor: pointer;
    border: none;
    background: none;
    width: 100%;
    text-align: left;
    font-family: var(--font);
    color: var(--navy);
    transition: background .09s
}

.dial-opt:hover,.dial-opt.hi {
    background: var(--n50)
}

.dial-opt.sel {
    background: var(--amber-lo)
}

.dial-opt-flag {
    font-size: 15px;
    flex-shrink: 0
}

.dial-opt-name {
    flex: 1;
    font-size: 12.5px
}

.dial-opt-code {
    font-size: 11.5px;
    color: var(--n400);
    font-weight: 600
}

@media(max-width: 479px) {
    #mhDialDrop {
        width:calc(100vw - 24px)!important;
        left: 12px!important
    }
}

@media(prefers-reduced-motion:reduce) {
    * {
        animation-duration: .01ms!important;
        animation-iteration-count: 1!important;
        transition-duration: .01ms!important
    }
}

.sw.err {
    border: none!important
}

@media(max-width: 991px) {
    .mh {
        max-width:100%;
        margin-top: 30px
    }
}

.phone-wrap{display:flex;align-items:stretch;background:var(--white);border:2px solid rgba(5,22,77,.12);border-radius:var(--radius-sm);transition:border-color var(--dur-fast),box-shadow var(--dur-fast);overflow:hidden;min-height:44px}
.phone-wrap:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px rgba(5,22,77,.06)}
.phone-wrap:hover{border-color:rgba(5,22,77,.25)}
.phone-wrap.is-error{border-color:#B71C1C}
/* Dial select — flag + code */
.phone-dial{flex-shrink:0;appearance:none;-webkit-appearance:none;border:none;outline:none;background:rgba(5,22,77,.04);border-right:1px solid rgba(5,22,77,.1);padding:0 10px 0 12px;font-size:var(--t-sm);font-weight:600;color:var(--ink);cursor:pointer;min-width:88px;height:40px;font-family:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5l3 3 3-3' fill='none' stroke='%234B5563' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;padding-right:22px;transition:background-color var(--dur-fast)}
.phone-dial:hover{background-color:rgba(5,22,77,.07)}
.phone-dial:focus{outline:none}
/* Number input — fills remaining width */
.phone-input{flex:1;border:none;outline:none;background:transparent;padding:0 14px;font-size:var(--t-body);font-weight:500;color:var(--ink);min-width:0;font-family:inherit}
.phone-input::placeholder{color:var(--text-light)}

.cta-band .phone-wrap,.glass--form .phone-wrap{background:var(--white);border-color:rgba(5,22,77,.12)}
.cta-band .phone-wrap:focus-within,.glass--form .phone-wrap:focus-within{border-color:var(--amber);box-shadow:0 0 0 3px rgba(255,173,0,.12)}
.cta-band .phone-wrap:hover,.glass--form .phone-wrap:hover{border-color:rgba(5,22,77,.25)}

body.mh-med{
  --t-hero: clamp(2.75rem, 5vw, 3.5rem) !important;
}

body.mh-sm{
  --t-hero: clamp(2.75rem, 5vw, 3rem) !important;
}
small.error-msg{color: red; font-size: 12px;}