/* ═══════════════════════════════════════
     RESET & BASE
  ═══════════════════════════════════════ */
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; overflow-x: hidden; max-width: 100%; }
  /* Anchor offset — clears sticky navbar (88px) + a little breathing room */
  section[id], div[id].audience-bar, div[id].audience-panel {
    scroll-margin-top: 84px;
  }
  @media (max-width: 860px) {
    section[id], div[id].audience-bar, div[id].audience-panel {
      scroll-margin-top: 68px;
    }
  }
  body {
    font-family: "Outfit", sans-serif;
    color: #1c2235;
    background: #fff;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
  }

  /* ═══════════════════════════════════════
     DESIGN TOKENS
  ═══════════════════════════════════════ */
  :root {
    --ink:         #0e1628;
    --navy:        #13244a;
    --navy-mid:    #1a3060;
    --navy-light:  #254080;
    --gold:        #b8791a;
    --gold-bright: #d4941f;
    --gold-pale:   #fdf5e8;
    --gold-border: rgba(184,121,26,.3);
    --slate:       #f0f2f7;
    --slate-mid:   #e4e8f2;
    --white:       #ffffff;
    --text:        #1c2235;
    --text-muted:  #5a6380;
    --text-light:  #8a92a8;
    --green:       #1a5c38;
    --green-pale:  #e8f5ee;
    --radius:      5px;
    --radius-lg:   10px;
    --shadow-sm:   0 2px 10px rgba(14,22,40,.07);
    --shadow-md:   0 6px 24px rgba(14,22,40,.11);
    --shadow-lg:   0 20px 56px rgba(14,22,40,.16);
    --shadow-gold: 0 6px 28px rgba(184,121,26,.28);
  }

  /* ═══════════════════════════════════════
     UTILITY
  ═══════════════════════════════════════ */
  .container { max-width: 1180px; margin: 0 auto; padding: 0 28px; }
  .serif { font-family: "Cormorant Garamond", serif; }
  img { display: block; }

  /* ═══════════════════════════════════════
     TOPBAR
  ═══════════════════════════════════════ */
  .topbar {
    background: var(--ink);
    border-bottom: 1px solid rgba(255,255,255,.06);
    padding: 8px 0;
  }
  .topbar-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: .75rem;
    color: rgba(255,255,255,.5);
    flex-wrap: wrap;
    gap: 8px;
  }
  .topbar-left { display: flex; gap: 24px; align-items: center; }
  .topbar-left a { color: rgba(255,255,255,.5); text-decoration: none; transition: color .2s; }
  .topbar-left a:hover { color: var(--gold-bright); }
  .topbar-right { display: flex; gap: 16px; align-items: center; }
  .topbar-cred {
    display: flex; align-items: center; gap: 5px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 3px;
    padding: 3px 9px;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .08em;
    color: rgba(255,255,255,.5);
  }

  /* ═══════════════════════════════════════
     NAVBAR
  ═══════════════════════════════════════ */
  .navbar {
    position: sticky; top: 0; z-index: 200;
    background: var(--white);
    border-bottom: 1px solid var(--slate-mid);
    box-shadow: 0 2px 20px rgba(14,22,40,.06);
  }
  .navbar-inner {
    display: flex; align-items: center;
    justify-content: space-between;
    height: 76px;
  }

  /* Logo */
  .logo { display: flex; align-items: center; gap: 0; text-decoration: none; }
  .logo-mark {
    position: relative;
    width: 46px; height: 52px;
    flex-shrink: 0;
  }
  .logo-mark-bg {
    width: 46px; height: 52px;
    background: var(--navy);
    clip-path: polygon(50% 0%, 100% 20%, 100% 70%, 50% 100%, 0% 70%, 0% 20%);
    position: absolute; inset: 0;
  }
  .logo-mark-inner {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    padding-bottom: 4px;
  }
  .logo-mark-inner svg { width: 22px; height: 22px; }
  .logo-type { display: flex; flex-direction: column; }
  .logo-type strong {
    font-family: "Cormorant Garamond", serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--navy);
    letter-spacing: .08em;
    line-height: 1;
  }
  .logo-type span {
    font-size: .68rem;
    letter-spacing: .25em;
    text-transform: uppercase;
    color: var(--gold);
    font-weight: 600;
    margin-top: 1px;
  }

  .nav-center { display: flex; align-items: center; gap: 32px; list-style: none; }
  .nav-center a {
    font-size: .83rem;
    font-weight: 600;
    color: var(--text-muted);
    text-decoration: none;
    letter-spacing: .02em;
    padding-bottom: 3px;
    border-bottom: 2px solid transparent;
    transition: color .2s, border-color .2s;
  }
  .nav-center a:hover, .nav-center a.active {
    color: var(--navy);
    border-color: var(--gold);
  }

  .nav-right { display: flex; align-items: center; gap: 14px; }
  .nav-phone {
    text-align: right;
    line-height: 1.3;
  }
  .nav-phone small { font-size: .65rem; color: var(--text-light); font-weight: 500; display: block; }
  .nav-phone a {
    font-size: 1rem; font-weight: 700; color: var(--navy);
    text-decoration: none; letter-spacing: .01em;
  }
  .btn-nav {
    background: var(--navy);
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: var(--radius);
    font-size: .82rem;
    font-weight: 700;
    font-family: "Outfit", sans-serif;
    cursor: pointer;
    text-decoration: none;
    transition: background .2s, transform .15s;
    white-space: nowrap;
  }
  .btn-nav:hover { background: var(--navy-light); transform: translateY(-1px); }

  .hamburger {
    display: none; flex-direction: column; gap: 5px;
    cursor: pointer; background: none; border: none; padding: 4px;
  }
  .hamburger span { display: block; width: 22px; height: 2px; background: var(--navy); border-radius: 2px; }

  /* ═══════════════════════════════════════
     HERO
  ═══════════════════════════════════════ */
  .hero {
    position: relative;
    min-height: 640px;
    display: flex; align-items: center;
    background: var(--ink);
    overflow: hidden;
  }

  /* Geometric texture background */
  .hero-geo {
    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: 60px 60px;
    opacity: .6;
  }

  /* Diagonal accent stripe */
  .hero-stripe {
    position: absolute;
    top: 0; right: 0;
    width: 48%;
    height: 100%;
    background: linear-gradient(135deg, transparent 0%, var(--navy-mid) 30%, var(--navy) 60%);
    clip-path: polygon(12% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
  .hero-stripe-img {
    position: absolute;
    top: 0; right: 0;
    width: 52%;
    height: 100%;
    object-fit: cover;
    opacity: .18;
    mix-blend-mode: luminosity;
  }

  /* Gold accent line */
  .hero-accent-line {
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, var(--gold) 0%, transparent 100%);
  }

  .hero-content {
    position: relative; z-index: 3;
    padding: 100px 0;
    max-width: 620px;
  }

  .hero-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: .72rem; font-weight: 700; letter-spacing: .18em;
    text-transform: uppercase; color: var(--gold-bright);
    margin-bottom: 20px;
  }
  .hero-eyebrow::before {
    content: "";
    display: inline-block;
    width: 28px; height: 1.5px;
    background: var(--gold);
  }

  .hero-content h1 {
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(2.4rem, 4.5vw, 3.8rem);
    font-weight: 700;
    color: var(--white);
    line-height: 1.1;
    margin-bottom: 20px;
    letter-spacing: -.01em;
  }
  .hero-content h1 em {
    font-style: italic;
    color: var(--gold-bright);
  }

  .hero-content p {
    font-size: 1.05rem;
    color: rgba(255,255,255,.65);
    line-height: 1.75;
    margin-bottom: 36px;
    max-width: 520px;
    font-weight: 300;
  }

  .hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 52px; }

  .btn-primary {
    background: var(--gold);
    color: #fff;
    border: none;
    padding: 14px 28px;
    font-size: .95rem; font-weight: 700;
    font-family: "Outfit", sans-serif;
    border-radius: var(--radius);
    cursor: pointer;
    text-decoration: none;
    display: inline-flex; align-items: center; gap: 8px;
    transition: background .2s, transform .15s, box-shadow .2s;
    box-shadow: var(--shadow-gold);
  }
  .btn-primary:hover { background: #a36815; transform: translateY(-2px); box-shadow: 0 6px 18px rgba(184,121,26,.4); }

  .btn-ghost {
    background: transparent;
    color: rgba(255,255,255,.85);
    border: 1.5px solid rgba(255,255,255,.3);
    padding: 13px 28px;
    font-size: .95rem; font-weight: 600;
    font-family: "Outfit", sans-serif;
    border-radius: var(--radius);
    cursor: pointer;
    text-decoration: none;
    backdrop-filter: blur(4px);
    transition: border-color .2s, background .2s;
  }
  .btn-ghost:hover { border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.08); transform: translateY(-2px); }

  /* Proof strip */
  
  
  
  
  

  /* ═══════════════════════════════════════
     AUDIENCE SELECTOR — KEY FEATURE
  ═══════════════════════════════════════ */
  .audience-bar {
    background: var(--white);
    border-bottom: 3px solid var(--slate-mid);
    position: sticky;
    top: 76px;
    z-index: 150;
  }
  .audience-bar-inner {
    display: flex;
    align-items: stretch;
  }
  .audience-intro {
    display: flex; align-items: center;
    padding: 0 28px 0 0;
    border-right: 1px solid var(--slate-mid);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--text-light);
    white-space: nowrap;
    flex-shrink: 0;
  }
  .audience-tabs {
    display: flex; flex: 1;
  }
  .audience-tab {
    display: flex; align-items: center; gap: 10px;
    flex: 1;
    padding: 0 28px;
    border: none;
    background: transparent;
    cursor: pointer;
    border-right: 1px solid var(--slate-mid);
    border-bottom: 3px solid transparent;
    margin-bottom: -3px;
    transition: background .2s, border-color .2s;
    font-family: "Outfit", sans-serif;
    text-align: left;
    min-height: 64px;
  }
  .audience-tab:last-child { border-right: none; }
  .audience-tab:hover { background: var(--slate); }
  .audience-tab.active {
    background: var(--gold-pale);
    border-bottom-color: var(--gold);
  }
  .tab-icon {
    width: 34px; height: 34px; flex-shrink: 0;
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem;
    background: var(--slate-mid);
    transition: background .2s;
  }
  .audience-tab.active .tab-icon { background: var(--gold-pale); border: 1px solid var(--gold-border); }
  .tab-label strong {
    display: block; font-size: .85rem; font-weight: 700; color: var(--navy);
    line-height: 1;
  }
  .tab-label span { font-size: .72rem; color: var(--text-light); font-weight: 400; }

  /* ═══════════════════════════════════════
     AUDIENCE PANELS
  ═══════════════════════════════════════ */
  .audience-panel { display: none; }
  .audience-panel.active { display: block; }

  /* Shared panel styles */
  
  
  .panel-tag {
    display: inline-block;
    font-size: .7rem; font-weight: 700; letter-spacing: .18em;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 3px;
    margin-bottom: 16px;
  }
  
  

  /* Panel: Public Adjuster */
  
  .panel-ph .panel-tag { background: var(--gold-pale); color: var(--gold); }
  

  /* Panel: ADR Services */
  
  .panel-lc .panel-tag { background: rgba(184,121,26,.15); color: var(--gold-bright); }
  
  
  

  /* Service cards inside panels */
  
  
  
  
  
  
  
  
  

  /* ═══════════════════════════════════════
     TRUST / CREDENTIAL BAR
  ═══════════════════════════════════════ */
  
  
  
  
  
  
  

  /* ═══════════════════════════════════════
     SECTION UTILITIES
  ═══════════════════════════════════════ */
  section { padding: 88px 0; }
  .section-kicker {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: .7rem; font-weight: 700; letter-spacing: .18em;
    text-transform: uppercase; color: var(--gold);
    margin-bottom: 12px;
  }
  .section-kicker::before {
    content: "";
    display: inline-block;
    width: 20px; height: 1.5px;
    background: var(--gold);
  }
  .section-title {
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    font-weight: 700;
    color: var(--navy);
    line-height: 1.15;
    margin-bottom: 14px;
  }
  .section-sub {
    font-size: .97rem; color: var(--text-muted);
    line-height: 1.75; font-weight: 300;
    max-width: 580px;
  }
  .section-header { margin-bottom: 56px; }
  .section-header.centered { text-align: center; }
  .section-header.centered .section-kicker { justify-content: center; }
  .section-header.centered .section-sub { margin: 0 auto; }

  /* ═══════════════════════════════════════
     SERVICES SECTION
  ═══════════════════════════════════════ */
  .services-section { background: var(--white); }
  .services-layout {
    display: grid;
    grid-template-columns: 1fr 2.5fr;
    gap: 72px;
    align-items: start;
  }
  .services-sticky { position: sticky; top: 165px; }
  .services-sticky .section-sub { margin-bottom: 28px; }

  .services-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
    background: var(--slate-mid);
    border: 1px solid var(--slate-mid);
    border-radius: var(--radius-lg);
    overflow: hidden;
  }
  .service-tile {
    background: var(--white);
    padding: 32px 28px;
    cursor: pointer;
    transition: background .2s;
    text-decoration: none;
    display: block;
  }
  /* service-tile hover consolidated below in hover lift block */
  .st-header { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 14px; }
  .st-icon {
    width: 48px; height: 48px;
    background: var(--slate);
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.4rem;
    transition: background .2s;
  }
  .service-tile:hover .st-icon { background: rgba(184,121,26,.12); }
  .st-audiences {
    display: flex; gap: 4px; flex-wrap: wrap; justify-content: flex-end;
  }
  .audience-pip {
    font-size: .6rem; font-weight: 700; letter-spacing: .06em;
    padding: 2px 7px; border-radius: 100px;
    background: var(--slate-mid); color: var(--text-light);
  }
  .audience-pip.ph { background: #e8f5ee; color: var(--green); }
  .audience-pip.lc { background: #e8ecf5; color: var(--navy); }
  .audience-pip.ic { background: var(--gold-pale); color: var(--gold); }
  .st-name {
    font-size: 1rem; font-weight: 700; color: var(--navy);
    margin-bottom: 6px; line-height: 1.2;
  }
  .st-desc { font-size: .8rem; color: var(--text-muted); line-height: 1.65; font-weight: 300; }
  .st-link {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: .75rem; font-weight: 700; color: var(--gold);
    margin-top: 14px; text-decoration: none;
    opacity: 0; transition: opacity .2s;
  }
  .service-tile:hover .st-link { opacity: 1; }

  /* ═══════════════════════════════════════
     EXPANDED AUDIENCE PANEL STYLES
  ═══════════════════════════════════════ */

  /* Panel layout wrapper */
  .panel-full {
    padding: 64px 0 72px;
  }
  .panel-intro-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start;
    margin-bottom: 64px;
  }
  .panel-intro-left h2 {
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    font-weight: 700;
    line-height: 1.15;
    margin-bottom: 16px;
  }
  .panel-intro-left p {
    font-size: .97rem;
    line-height: 1.75;
    font-weight: 300;
    margin-bottom: 24px;
  }
  .panel-intro-right {
    padding-top: 8px;
  }
  .panel-stat-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 20px;
  }
  .panel-stat {
    padding: 20px;
    border-radius: var(--radius-lg);
    border: 1.5px solid;
    text-align: center;
  }
  .panel-stat-num {
    font-family: "Cormorant Garamond", serif;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 4px;
  }
  .panel-stat-lbl {
    font-size: .72rem;
    font-weight: 500;
    line-height: 1.4;
  }

  /* ── PROCESS TIMELINE (Policyholder) ── */
  .process-section-label {
    font-size: .7rem; font-weight: 700; letter-spacing: .18em;
    text-transform: uppercase;
    display: flex; align-items: center; gap: 8px;
    margin-bottom: 36px;
  }
  .process-section-label::before {
    content: "";
    display: inline-block;
    width: 20px; height: 1.5px;
    background: currentColor;
  }

  .ph-process {
    position: relative;
    margin-bottom: 60px;
  }

  /* Connecting line behind steps */
  .ph-process-track {
    position: absolute;
    top: 36px;
    left: calc(36px / 2);
    right: calc(36px / 2);
    height: 2px;
    background: var(--slate-mid);
    z-index: 0;
  }
  .ph-process-track-fill {
    position: absolute;
    top: 36px;
    left: calc(36px / 2);
    width: 0%;
    height: 2px;
    background: linear-gradient(90deg, var(--gold), var(--gold-bright));
    z-index: 1;
    transition: width 1.2s ease;
  }
  .ph-process-track-fill.animated { width: calc(100% - 36px); }

  .ph-steps {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
    position: relative;
    z-index: 2;
  }
  .ph-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    cursor: default;
  }
  .ph-step-bubble {
    width: 72px; height: 72px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem;
    margin-bottom: 14px;
    position: relative;
    transition: transform .2s, box-shadow .2s;
    flex-shrink: 0;
  }
  .ph-step:hover .ph-step-bubble { transform: translateY(-4px); }
  .ph-step-num {
    font-size: .65rem; font-weight: 800;
    letter-spacing: .12em; text-transform: uppercase;
    margin-bottom: 5px;
  }
  .ph-step-name {
    font-size: .8rem; font-weight: 700;
    line-height: 1.3; margin-bottom: 6px;
  }
  .ph-step-desc {
    font-size: .72rem;
    line-height: 1.55;
    font-weight: 300;
  }

  /* Policyholder-themed step colors */
  .ph-step-bubble.s1 { background: #e8f0fb; border: 2px solid #c0d0ee; }
  .ph-step-bubble.s2 { background: #fef4e6; border: 2px solid var(--gold-border); }
  .ph-step-bubble.s3 { background: #e8f5ee; border: 2px solid rgba(26,92,56,.25); }
  .ph-step-bubble.s4 { background: #e8f0fb; border: 2px solid #c0d0ee; }
  .ph-step-bubble.s5 { background: #fef4e6; border: 2px solid var(--gold-border); }
  .ph-step-bubble.s6 { background: #1a2e40; border: 2px solid #2d4a63; }
  .ph-step-bubble.s6 { font-size: 1.4rem; }

  /* Panel service cards at bottom */
  .panel-services-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    padding-top: 40px;
    border-top: 1.5px solid;
    margin-top: 8px;
  }
  .psr-card {
    border-radius: var(--radius-lg);
    padding: 24px 22px;
    border: 1.5px solid;
    transition: transform .2s, box-shadow .2s;
    cursor: default;
  }
  .psr-card:hover { transform: translateY(-4px); }
  .psr-icon { font-size: 1.6rem; margin-bottom: 12px; }
  .psr-name { font-size: .92rem; font-weight: 700; margin-bottom: 6px; line-height: 1.2; }
  .psr-desc { font-size: .78rem; line-height: 1.65; font-weight: 300; }

  /* Light card variant (PH) */
  .psr-card.light {
    background: var(--white);
    border-color: var(--slate-mid);
    box-shadow: var(--shadow-sm);
  }
  .psr-card.light:hover { box-shadow: var(--shadow-md); border-color: var(--gold-border); }
  .psr-card.light .psr-name { color: var(--navy); }
  .psr-card.light .psr-desc { color: var(--text-muted); }

  /* Dark card variant (LC/IC) */
  .psr-card
  .psr-card
  .psr-card
  .psr-card

  /* Deliverable tag */

  /* Qualifications row for LC */

  /* IC Umpire process */

  /* IC Cred badges row */

  /* Responsive panel adjustments */
  /* Panel inline-grid overrides — target the style="" grids on LC/IC steps */

  .ic-ph-steps-5  { grid-template-columns: repeat(5,1fr) !important; }

  /* ── TABLET (≤ 1060px) ── */
  @media (max-width: 1060px) {
    .panel-intro-row { grid-template-columns: 1fr; gap: 32px; }
    .panel-stat-row  { grid-template-columns: 1fr 1fr; }

    /* PH: 6-col → 3-col */
    .ph-steps { grid-template-columns: repeat(3, 1fr) !important; }
    /* Hide animated track on tablet — it only makes sense in one row */
    .ph-process-track, .ph-process-track-fill { display: none !important; }

    /* LC: 4-col steps → 2-col */
    .lc-ph-steps-4  { grid-template-columns: repeat(2,1fr) !important; }
    /* LC: 3-col quals → 2-col */

    /* IC: 5-col steps → 3-col (2+3 wrap) */
    .ic-ph-steps-5  { grid-template-columns: repeat(3,1fr) !important; }
    /* IC: 4-col standards → 2-col */

    .panel-services-row { grid-template-columns: repeat(2,1fr) !important; }
  }

  /* ── MOBILE LARGE (≤ 680px) ── */
  @media (max-width: 680px) {
    .panel-full { padding: 40px 0 52px; }

    .panel-stat-row  { grid-template-columns: 1fr 1fr; }

    /* All step grids → 2-col */
    .ph-steps        { grid-template-columns: repeat(2,1fr) !important; }
    .lc-ph-steps-4   { grid-template-columns: repeat(2,1fr) !important; }
    .ic-ph-steps-5   { grid-template-columns: repeat(2,1fr) !important; }

    /* Qual / standards → single col */

    .panel-services-row { grid-template-columns: 1fr !important; }
  }

  /* ── MOBILE SMALL (≤ 420px) ── */
  @media (max-width: 420px) {
    .panel-stat-row  { grid-template-columns: 1fr !important; }
    .ph-steps        { grid-template-columns: 1fr !important; }
    .lc-ph-steps-4   { grid-template-columns: 1fr !important; }
    .ic-ph-steps-5   { grid-template-columns: 1fr !important; }
    .ph-step         { flex-direction: row; text-align: left; gap: 14px; align-items: flex-start; }
    .ph-step-bubble  { flex-shrink: 0; width: 52px; height: 52px; font-size: 1.2rem; margin-bottom: 0; }
    .ph-step-content { flex: 1; }
  }

  /* ═══════════════════════════════════════
     PHILOSOPHY / DIFFERENTIATOR SECTION
  ═══════════════════════════════════════ */
  .philosophy-section {
    background: var(--ink);
    position: relative;
    overflow: hidden;
  }
  .philosophy-section::before {
    content: "";
    position: absolute; top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
  }
  .philosophy-geo {
    position: absolute; inset: 0;
    background-image: repeating-linear-gradient(
      60deg,
      rgba(255,255,255,.015) 0px, rgba(255,255,255,.015) 1px,
      transparent 1px, transparent 60px
    );
    pointer-events: none;
  }
  .philosophy-layout {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 72px;
    align-items: start;
  }
  .philosophy-left .section-kicker { color: var(--gold-bright); }
  .philosophy-left .section-title { color: var(--white); }
  .philosophy-left .section-sub { color: rgba(255,255,255,.55); margin-bottom: 40px; }

  .philosophy-quote {
    border-left: 3px solid var(--gold);
    padding: 16px 20px;
    background: rgba(255,255,255,.03);
    border-radius: 0 var(--radius) var(--radius) 0;
    margin-bottom: 32px;
  }
  .philosophy-quote p {
    font-family: "Cormorant Garamond", serif;
    font-size: 1.3rem;
    font-style: italic;
    color: rgba(255,255,255,.8);
    line-height: 1.5;
  }

  .philosophy-pillars { display: flex; flex-direction: column; gap: 12px; }
  .pillar {
    display: flex; align-items: center; gap: 14px;
    padding: 16px 18px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: var(--radius);
    transition: border-color .2s, background .2s;
    cursor: default;
  }
  /* pillar hover consolidated below in hover lift block */
  .pillar-icon {
    width: 38px; height: 38px; flex-shrink: 0;
    background: rgba(184,121,26,.12);
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem;
  }
  .pillar h4 { font-size: .9rem; font-weight: 700; color: rgba(255,255,255,.9); margin-bottom: 2px; }
  .pillar p { font-size: .78rem; color: rgba(255,255,255,.45); line-height: 1.5; font-weight: 300; }

  .philosophy-right { position: relative; }

  /* Photo panel */
  .phil-photo-wrap {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .phil-bio-text {
    padding: 18px 20px 20px;
    background: rgba(255,255,255,.035);
    border: 1px solid rgba(255,255,255,.09);
    border-radius: var(--radius-lg);
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
  }
  .phil-bio-kicker {
    display: inline-block;
    margin-bottom: 12px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gold-bright);
  }
  .phil-bio-copy {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
  }
  .phil-bio-text p {
    margin: 0;
    font-family: "Outfit", sans-serif;
    font-size: .82rem;
    line-height: 1.72;
    font-weight: 300;
    color: rgba(255,255,255,.68);
  }
  .phil-bio-text p + p { margin-top: 0; }
  .phil-photo-placeholder {
    width: 100%;
    aspect-ratio: 4 / 5;
    background: rgba(255,255,255,.04);
    border: 1.5px dashed rgba(184,121,26,.35);
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
  }
  /* When you have a real photo, replace .phil-photo-placeholder with:
     <img src="your-photo.jpg" class="phil-photo-img" alt="William Brannon"> */
  .phil-photo-img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center 18%;
    border-radius: var(--radius-lg);
    display: block;
  }
  .phil-photo-inner {
    text-align: center;
  }
  
  
  
  
  
  

  /* Credential strip below photo */
  
  
  
  
  
  
  
  
  
  

  
  
  
  
  
  
  

  /* ═══════════════════════════════════════
     RESULTS SECTION
  ═══════════════════════════════════════ */
  .results-section { background: var(--slate); }
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  .results-cta { text-align: center; }

  /* ── Results 3D Rotary Carousel ── */
  .results-carousel-wrap {
    padding: 16px 0 40px;
    position: relative;
    overflow: hidden;
  }
  /* Stage: perspective container */
  .results-rotary-stage {
    perspective: 1400px;
    perspective-origin: 50% 50%;
    position: relative;
    width: 100%;
    height: 360px;
    overflow: visible;
  }
  /* The rotating belt — full size, establishes 3D space */
  .results-rotary-track {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
  }
  /* Each card positioned absolutely, transformed by JS */
  .rc-case-card {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 270px;
    /* JS applies transform so we need the origin at card center */
    margin-top: -140px;
    margin-left: -135px;
    background: var(--white);
    border: 1.5px solid var(--slate-mid);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition:
      transform 0.7s cubic-bezier(0.4, 0, 0.2, 1),
      opacity   0.7s cubic-bezier(0.4, 0, 0.2, 1),
      box-shadow 0.7s ease,
      border-color 0.7s ease;
    cursor: default;
    will-change: transform, opacity;
    backface-visibility: hidden;
  }
  /* Active / center card state */
  .rc-case-card.rotary-active {
    border-color: var(--gold-border);
    box-shadow: 0 20px 60px rgba(14,22,40,.22), 0 0 0 1.5px var(--gold-border);
    z-index: 10;
  }
  /* Dot indicators */
  .rotary-dots {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: 20px;
  }
  .rotary-dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--slate-mid);
    transition: background .35s, transform .35s;
    cursor: pointer;
  }
  .rotary-dot.active {
    background: var(--gold);
    transform: scale(1.4);
  }
  /* Pause on hover label */
  .rotary-hint {
    text-align: center;
    font-size: .68rem;
    color: var(--text-light);
    letter-spacing: .06em;
    margin-bottom: 12px;
  }
  /* Mobile: fall back to simple horizontal scroll */
  @media (max-width: 680px) {
    .results-rotary-stage { display: none; }
    .results-scroll-fallback {
      display: flex !important;
      gap: 14px;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      padding: 8px 16px 16px;
      scrollbar-width: thin;
      scrollbar-color: var(--gold) transparent;
    }
    .results-scroll-fallback::before,
    .results-scroll-fallback::after {
      content: "";
      flex: 0 0 4px;
    }
    .results-scroll-fallback .rc-case-card {
      position: static;
      margin: 0;
      flex: 0 0 240px;
      scroll-snap-align: start;
      transform: none !important;
      opacity: 1 !important;
    }
    .rotary-dots { display: none; }
    .rotary-hint { display: none; }
  }
  .results-scroll-fallback { display: none; }
  /* ── Hover lift on graphic/card elements ── */
  .service-tile {
    transition: background .2s, border-color .2s, transform .18s, box-shadow .18s;
  }
  .service-tile:hover { box-shadow: var(--shadow-md); background: var(--gold-pale); }
  @media (hover: hover) {
    .service-tile:hover { transform: translateY(-3px); }
  }

  .panel-stat {
    transition: border-color .2s, background .2s, transform .18s, box-shadow .18s;
    cursor: default;
  }
  .panel-stat:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(14,22,40,.12); border-color: var(--gold-border) !important; }

  .pillar { transition: border-color .2s, background .2s, transform .18s; }
  .pillar:hover { transform: translateY(-3px); border-color: var(--gold-border); background: rgba(184,121,26,.06); }

  
  

  
  

  .rc-case-card {
    background: var(--white);
    border: 1.5px solid var(--slate-mid);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    flex: 0 0 270px;
    scroll-snap-align: start;
    transition: border-color .2s, box-shadow .2s, transform .18s;
    cursor: default;
  }
  .rc-case-card:hover {
    border-color: var(--gold-border);
    box-shadow: 0 6px 24px rgba(184,121,26,.12);
    transform: translateY(-3px);
  }
  .rc-case-top {
    display: flex; align-items: center; gap: 10px;
    padding: 18px 20px 14px;
    border-bottom: 1px solid var(--slate-mid);
  }
  .rc-case-icon { font-size: 1.4rem; flex-shrink: 0; }
  .rc-case-peril { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
  .rc-case-loc { font-size: .75rem; color: var(--text-muted); font-weight: 400; margin-top: 2px; }
  .rc-case-body { padding: 16px 20px 20px; display: flex; flex-direction: column; gap: 12px; }
  .rc-case-row { display: flex; flex-direction: column; gap: 3px; }
  .rc-case-label { font-size: .68rem; font-weight: 600; color: var(--text-light); text-transform: uppercase; letter-spacing: .06em; }
  .rc-case-label.gold { color: var(--gold); }
  .rc-case-offer { font-size: 1rem; font-weight: 700; color: var(--text-muted); text-decoration: line-through; }
  .rc-case-offer.denial { color: #c0392b; text-decoration: none; }
  .rc-case-award { font-size: 1.65rem; font-weight: 800; color: var(--navy); line-height: 1.1; font-family: "Cormorant Garamond", serif; }
  .rc-case-badge {
    display: inline-flex; align-items: center;
    background: var(--gold-pale); border: 1px solid var(--gold-border);
    border-radius: 100px; padding: 3px 10px;
    font-size: .63rem; font-weight: 700; color: var(--gold);
    margin-top: 4px; width: fit-content;
  }
  @media (max-width: 900px) { .results-cases-grid { grid-template-columns: repeat(2,1fr) !important; } }
  @media (max-width: 580px) { .results-cases-grid { grid-template-columns: 1fr !important; } }

  .btn-outline-navy {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    border: 2px solid var(--navy);
    color: var(--navy);
    background: transparent;
    padding: 13px 30px;
    border-radius: var(--radius);
    font-size: .9rem; font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: background .2s, color .2s, transform .15s, box-shadow .2s;
  }
  .btn-outline-navy:hover { background: var(--navy); color: #fff; transform: translateY(-2px); box-shadow: 0 4px 14px rgba(14,22,40,.18); }

  .btn-ask-equitas {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 2px solid var(--navy);
    color: var(--navy);
    background: transparent;
    padding: 11px 18px;
    border-radius: var(--radius);
    font-size: .82rem;
    font-weight: 700;
    font-family: var(--font-body);
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background .2s, border-color .2s, color .2s, transform .15s, box-shadow .2s;
  }
  .btn-ask-equitas:hover {
    background: var(--gold);
    border-color: var(--gold);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: var(--shadow-gold);
  }

  /* ═══════════════════════════════════════
     CREDENTIALS SECTION
  ═══════════════════════════════════════ */
  .credentials-section { background: var(--white); }
  .credentials-layout {
    display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center;
  }
  .cred-cards { display: flex; flex-direction: column; gap: 14px; }
  .cred-card {
    display: flex; align-items: center; gap: 18px;
    padding: 20px 22px;
    border: 1.5px solid var(--slate-mid);
    border-radius: var(--radius-lg);
    transition: border-color .2s, box-shadow .2s, transform .15s;
  }
  .cred-card:hover { border-color: var(--gold-border); box-shadow: 0 4px 16px rgba(184,121,26,.1); transform: translateY(-2px); }
  .cred-card-icon {
    width: 52px; height: 52px; flex-shrink: 0;
    background: var(--gold-pale);
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem;
  }
  .cred-card h4 { font-size: .92rem; font-weight: 700; color: var(--navy); margin-bottom: 3px; }
  .cred-card p { font-size: .78rem; color: var(--text-muted); line-height: 1.5; font-weight: 300; }
  .cred-badge-row {
    display: flex; gap: 10px; flex-wrap: wrap; margin-top: 6px;
  }
  .cred-badge {
    background: var(--slate);
    border: 1px solid var(--slate-mid);
    border-radius: 4px;
    padding: 4px 10px;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .08em;
    color: var(--text-muted);
  }

  .cred-right .section-sub { margin-bottom: 28px; }
  .stat-blocks {
    display: grid; grid-template-columns: 1fr 1fr; gap: 2px;
    background: var(--slate-mid);
    border: 1px solid var(--slate-mid);
    border-radius: var(--radius-lg);
    overflow: hidden;
  }
  .stat-block {
    background: var(--white); padding: 28px 22px;
  }
  .stat-num {
    font-family: "Cormorant Garamond", serif;
    font-size: 2.4rem; font-weight: 700;
    color: var(--navy); line-height: 1;
    margin-bottom: 5px;
  }
  .stat-num span { color: var(--gold); }
  .stat-lbl { font-size: .78rem; color: var(--text-muted); font-weight: 400; line-height: 1.4; }

  /* ═══════════════════════════════════════
     FAQ
  ═══════════════════════════════════════ */
  .faq-section { background: var(--white); }
  .faq-layout { display: grid; grid-template-columns: 1fr 1.8fr; gap: 72px; align-items: start; }
  .faq-left { position: sticky; top: 165px; }
  .faq-left .section-sub { margin-bottom: 28px; }
  .faq-checklist { list-style: none; display: flex; flex-direction: column; gap: 10px; }
  .faq-checklist li {
    display: flex; align-items: center; gap: 10px;
    font-size: .85rem; color: var(--text-muted); font-weight: 400;
  }
  .faq-checklist li::before {
    content: "✓";
    width: 20px; height: 20px; flex-shrink: 0;
    background: var(--gold-pale); color: var(--gold);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: .65rem; font-weight: 900;
  }
  .faq-list { display: flex; flex-direction: column; gap: 6px; }
  .faq-item {
    background: var(--slate);
    border: 1.5px solid var(--slate-mid);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: border-color .2s;
  }
  .faq-item.open { border-color: var(--gold-border); }
  .faq-btn {
    width: 100%; text-align: left;
    padding: 18px 22px;
    background: none; border: none;
    font-family: "Outfit", sans-serif;
    font-size: .9rem; font-weight: 600; color: var(--navy);
    cursor: pointer;
    display: flex; justify-content: space-between; align-items: center; gap: 12px;
    transition: color .15s;
  }
  .faq-btn:hover { color: var(--gold); }
  .faq-arrow { color: var(--gold); font-size: .9rem; transition: transform .25s; flex-shrink: 0; }
  .faq-item.open .faq-arrow { transform: rotate(180deg); }
  .faq-body {
    max-height: 0; overflow: hidden;
    transition: max-height .3s ease, padding .3s ease;
    font-size: .85rem; color: var(--text-muted); line-height: 1.75;
    padding: 0 22px; font-weight: 300;
  }
  .faq-item.open .faq-body { max-height: 300px; padding: 0 22px 18px; }

  /* ═══════════════════════════════════════
     CONTACT SECTION
  ═══════════════════════════════════════ */
  .contact-section {
    background: var(--navy);
    position: relative; overflow: hidden;
  }
  .contact-section::before {
    content: "";
    position: absolute; top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
  }
  .contact-geo {
    position: absolute; inset: 0;
    background-image:
      linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
    background-size: 48px 48px;
    pointer-events: none;
  }
  .contact-layout {
    display: grid; grid-template-columns: 1fr 1.3fr; gap: 80px; align-items: start;
    position: relative; z-index: 2;
  }
  .contact-left h2 {
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 700;
    color: var(--white); line-height: 1.15; margin-bottom: 16px;
  }
  .contact-left h2 em { font-style: italic; color: var(--gold-bright); }
  .contact-left > p {
    color: rgba(255,255,255,.55); font-size: .95rem;
    line-height: 1.75; margin-bottom: 36px; font-weight: 300;
  }
  .contact-perks { display: flex; flex-direction: column; gap: 12px; margin-bottom: 36px; }
  .cperk {
    display: flex; align-items: center; gap: 12px;
    color: rgba(255,255,255,.75); font-size: .85rem; font-weight: 400;
  }
  .cperk-icon {
    width: 30px; height: 30px; flex-shrink: 0;
    background: rgba(184,121,26,.15);
    border-radius: 7px;
    display: flex; align-items: center; justify-content: center; font-size: .85rem;
  }
  .cert-pills { display: flex; gap: 8px; flex-wrap: wrap; }
  .cert-pill {
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 4px;
    padding: 6px 12px;
    font-size: .66rem; font-weight: 700; letter-spacing: .1em;
    color: rgba(255,255,255,.6);
  }
  /* Form */
  .contact-form-wrap {
    background: var(--white);
    border-radius: 14px;
    padding: 40px;
    box-shadow: 0 28px 64px rgba(0,0,0,.28);
  }
  .form-head { margin-bottom: 28px; }
  .form-head h3 { font-size: 1.1rem; font-weight: 700; color: var(--navy); margin-bottom: 4px; }
  .form-head p { font-size: .78rem; color: var(--text-light); }
  .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .form-grid .full { grid-column: 1/-1; }
  .fg { display: flex; flex-direction: column; gap: 5px; }
  .fg label {
    font-size: .68rem; font-weight: 700; letter-spacing: .08em;
    text-transform: uppercase; color: var(--text-muted);
  }
  .fg input, .fg select, .fg textarea {
    padding: 11px 14px;
    border: 1.5px solid var(--slate-mid);
    border-radius: var(--radius);
    font-size: .88rem;
    font-family: "Outfit", sans-serif;
    color: var(--text); background: var(--white);
    transition: border-color .2s, box-shadow .2s; outline: none;
  }
  /* Prevent iOS Safari auto-zoom on input focus (requires ≥16px) */
  @media (max-width: 860px) {
    .fg input, .fg select, .fg textarea { font-size: 16px; }
  }
  .fg input:focus, .fg select:focus, .fg textarea:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(184,121,26,.1);
  }
  .fg textarea { resize: vertical; min-height: 80px; }
  .form-submit {
    width: 100%; margin-top: 8px;
    background: var(--gold);
    color: #fff; border: none;
    padding: 15px;
    font-size: .95rem; font-weight: 700;
    font-family: "Outfit", sans-serif;
    border-radius: var(--radius);
    cursor: pointer;
    transition: background .2s, transform .15s;
    box-shadow: var(--shadow-gold);
  }
  .form-submit:hover { background: #a36815; transform: translateY(-2px); }
  .form-note {
    text-align: center; font-size: .7rem; color: var(--text-light);
    margin-top: 12px; line-height: 1.5;
  }

  /* Audience tab in form */
  .form-audience-tabs {
    display: flex; gap: 6px; margin-bottom: 20px;
  }
  .fat {
    flex: 1; padding: 8px 6px; text-align: center;
    border: 1.5px solid var(--slate-mid);
    border-radius: var(--radius);
    font-size: .72rem; font-weight: 700; color: var(--text-muted);
    cursor: pointer; background: var(--slate);
    transition: all .15s;
    font-family: "Outfit", sans-serif;
  }
  .fat:hover { transform: translateY(-1px); border-color: var(--gold-border); color: var(--gold); }
  .fat.active { background: var(--gold-pale); border-color: var(--gold); color: var(--gold); }

  /* ═══════════════════════════════════════
     FOOTER
  ═══════════════════════════════════════ */
  footer { background: var(--ink); }
  .footer-main {
    display: grid;
    grid-template-columns: 1.8fr 1fr 1fr 1fr;
    gap: 48px;
    padding: 64px 0 48px;
    border-bottom: 1px solid rgba(255,255,255,.06);
  }
  .footer-brand p {
    font-size: .82rem; color: rgba(255,255,255,.4);
    line-height: 1.7; margin: 16px 0; font-weight: 300;
  }
  .footer-contact a {
    display: block; color: rgba(255,255,255,.7);
    text-decoration: none; font-size: .85rem; margin-bottom: 4px;
    transition: color .2s;
  }
  .footer-contact a:hover { color: var(--gold-bright); }
  .footer-col h4 {
    font-size: .68rem; font-weight: 700; letter-spacing: .16em;
    text-transform: uppercase; color: rgba(255,255,255,.35);
    margin-bottom: 16px;
  }
  .footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 9px; }
  .footer-col ul li a {
    color: rgba(255,255,255,.55); text-decoration: none;
    font-size: .82rem; transition: color .2s; font-weight: 300;
  }
  .footer-col ul li a:hover { color: var(--gold-bright); }
  .footer-bottom {
    display: flex; justify-content: space-between; align-items: center;
    padding: 20px 0; font-size: .72rem; flex-wrap: wrap; gap: 12px;
    color: rgba(255,255,255,.3);
  }
  .footer-badges { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
  .fb {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 3px; padding: 4px 10px;
    font-size: .62rem; font-weight: 700; letter-spacing: .08em;
    color: rgba(255,255,255,.35);
  }

  /* ═══════════════════════════════════════
     MOBILE STICKY CTA
  ═══════════════════════════════════════ */
  .sticky-mobile {
    display: none; position: fixed;
    bottom: 0; left: 0; right: 0; z-index: 400;
    background: var(--ink);
    border-top: 2px solid var(--gold);
    padding: 12px 20px; gap: 10px;
  }
  .sticky-mobile a {
    flex: 1; text-align: center; padding: 13px;
    border-radius: var(--radius); font-weight: 700;
    font-size: .88rem; text-decoration: none;
    font-family: "Outfit", sans-serif;
  }
  .sticky-mobile .smc { background: var(--gold); color: #fff; }
  .sticky-mobile .smr { background: rgba(255,255,255,.07); color: rgba(255,255,255,.85); border: 1px solid rgba(255,255,255,.15); }

  /* Mobile nav overlay */
  .mobile-nav {
    display: none; position: fixed; inset: 0; z-index: 600;
    background: var(--ink);
    flex-direction: column; align-items: center; justify-content: center; gap: 28px;
  }
  .mobile-nav.open { display: flex; }
  .mobile-nav a { color: rgba(255,255,255,.85); text-decoration: none; font-size: 1.3rem; font-weight: 600; }
  .mobile-nav .mn-close { position: absolute; top: 24px; right: 24px; background: none; border: none; color: #fff; font-size: 1.4rem; cursor: pointer; }

  /* ═══════════════════════════════════════
     SCROLL REVEAL
  ═══════════════════════════════════════ */
  .reveal {
    opacity: 0; transform: translateY(24px);
    transition: opacity .6s ease, transform .6s ease;
  }
  .reveal.visible { opacity: 1; transform: none; }
  .reveal-delay-1 { transition-delay: .1s; }
  .reveal-delay-2 { transition-delay: .2s; }
  .reveal-delay-3 { transition-delay: .3s; }

  /* ═══════════════════════════════════════
     TICKER
  ═══════════════════════════════════════ */
  .ticker-wrap {
    background: var(--gold-pale);
    border-top: 1px solid rgba(184,121,26,.2);
    border-bottom: 1px solid rgba(184,121,26,.2);
    padding: 11px 0; overflow: hidden;
    contain: layout;
  }
  .ticker-track {
    display: flex; gap: 64px;
    animation: ticker 52s linear infinite; width: max-content;
  }
  .ticker-wrap:hover .ticker-track,
  .ticker-wrap:focus-within .ticker-track { animation-play-state: paused; }
  @keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }
  .ticker-item {
    display: flex; align-items: center; gap: 8px;
    font-size: .78rem; font-weight: 600; color: var(--navy);
    white-space: nowrap;
  }
  .ticker-stars { color: var(--gold); font-size: .8rem; }
  .ticker-dot { color: var(--gold); }
  .ticker-result-tag {
    display: inline-block;
    font-size: .68rem; font-weight: 700;
    background: rgba(184,121,26,.18);
    color: var(--gold-bright);
    padding: 2px 8px; border-radius: 3px;
    margin-right: 6px; letter-spacing: .04em;
  }
  .ticker-delta {
    display: inline-block;
    font-size: .68rem; font-weight: 800;
    background: rgba(26,92,56,.25);
    color: #6ecf96;
    padding: 2px 8px; border-radius: 3px;
    margin-left: 4px;
  }

  /* ═══════════════════════════════════════
     RESPONSIVE — DESKTOP FIRST
     Breakpoints: 1060 | 860 | 580 | 420
  ═══════════════════════════════════════ */

  /* ── TABLET (≤ 1060px) ── */
  @media (max-width: 1060px) {
    section { padding: 64px 0; }

    .footer-main        { grid-template-columns: 1fr 1fr; gap: 36px; }
    .services-layout    { grid-template-columns: 1fr; }
    .services-sticky    { position: static; }
    .services-grid      { grid-template-columns: 1fr 1fr; }
    .credentials-layout { grid-template-columns: 1fr; }
    .stat-blocks        { grid-template-columns: 1fr 1fr; }
    
    
    /* Prevent credential cards from creating horizontal overflow */
    .cred-cards         { width: 100%; max-width: 100%; }
    .cred-card          { width: 100%; box-sizing: border-box; min-width: 0; }
    .stat-blocks        { width: 100%; box-sizing: border-box; }
    .stat-block         { min-width: 0; }
  }

  /* ── TABLET SMALL / LARGE PHONE (≤ 860px) ── */
  @media (max-width: 860px) {
    section { padding: 52px 0; }
    .container { padding: 0 20px; }

    /* Navbar */
    .nav-center  { display: none; }
    .nav-phone   { display: none; }
    .hamburger   { display: flex; }

    /* Audience bar — collapse label text, tighten tabs */
    .audience-bar    { position: static; }   /* prevent sticky offset issues on mobile */
    .audience-intro  { display: none; }
    .audience-tab    { padding: 0 12px; min-height: 56px; }
    .tab-label span  { display: none; }
    .tab-label strong { font-size: .78rem; }
    .tab-icon        { width: 28px; height: 28px; font-size: .85rem; }

    /* Panels */
    .panel-intro-row  { grid-template-columns: 1fr; gap: 28px; }
    .panel-stat-row   { grid-template-columns: 1fr 1fr; }

    /* Layout sections */
    .contact-layout   { grid-template-columns: 1fr; gap: 40px; }
    .faq-layout       { grid-template-columns: 1fr; gap: 32px; }
    .faq-left         { position: static; }
    .services-grid    { grid-template-columns: 1fr; }

    /* Credential bar */
    
    
    

    /* Sticky mobile CTA */
    .sticky-mobile { display: flex; }

    /* Hero */
    .hero          { min-height: auto; }
    .hero-content  { padding: 72px 0 64px; }
    .hero-stripe, .hero-stripe-img { width: 100%; opacity: .08; }

    /* Typography scale-down */
    .hero-content h1 { font-size: clamp(2rem, 6vw, 3rem); }
    .section-title   { font-size: clamp(1.6rem, 4vw, 2.2rem); }

    /* Philosophy */
    .philosophy-layout { grid-template-columns: 1fr; gap: 40px; }
    .phil-photo-placeholder { aspect-ratio: 3 / 2; }
    .phil-photo-img { aspect-ratio: 3 / 2; }
    .phil-bio-copy { grid-template-columns: 1fr; gap: 12px; }
  }

  /* ── MOBILE (≤ 580px) ── */
  @media (max-width: 580px) {
    section { padding: 44px 0; }
    .container { padding: 0 16px; }

    /* Topbar — too cramped, hide it */
    .topbar { display: none; }

    /* Navbar height tighten */
    .navbar-inner { height: 64px; }

    /* Hero */
    .hero-content  { padding: 56px 0 48px; }
    
    
    .hero-actions  { flex-direction: column; }
    .hero-actions a { text-align: center; }

    /* Audience tabs — stack label under icon */
    .audience-tab    { flex-direction: column; gap: 4px; padding: 10px 8px; min-height: 52px; }
    .tab-label strong { font-size: .72rem; }

    /* Panel stats */
    .panel-stat-row { grid-template-columns: 1fr 1fr; gap: 10px; }
    .panel-stat-num { font-size: 1.6rem; }

    /* Step bubbles — tighter on small screens */
    .ph-step-bubble { width: 58px; height: 58px; font-size: 1.3rem; }
    .ph-step-num    { font-size: .68rem; }
    .ph-step-name   { font-size: .75rem; }
    .ph-step-desc   { font-size: .68rem; }

    /* Services section */
    .services-grid { grid-template-columns: 1fr; }
    .service-tile  { padding: 24px 20px; }

    /* Results */
    

    /* Credentials stats */
    .stat-blocks   { grid-template-columns: 1fr 1fr; }
    .stat-num      { font-size: 1.9rem; }

    /* Contact form */
    .form-grid         { grid-template-columns: 1fr; }
    .contact-form-wrap { padding: 24px 16px; }
    .form-audience-tabs { flex-wrap: wrap; }
    .fat               { min-width: calc(33% - 4px); font-size: .65rem; padding: 7px 4px; }

    /* Footer */
    .footer-main   { grid-template-columns: 1fr; gap: 28px; }
    .footer-bottom { flex-direction: column; align-items: flex-start; gap: 10px; }

    /* Ticker — much slower on mobile so results are readable */
    .ticker-track  { animation-duration: 70s; }

    /* Section headers */
    .section-header.centered .section-sub { font-size: .88rem; }

    /* Pillar rows */
    .philosophy-pillars { gap: 8px; }
    .pillar { padding: 14px 14px; }
  }

  /* ── MOBILE SMALL (≤ 420px) ── */
  @media (max-width: 420px) {
    .container { padding: 0 14px; }

    /* Panel stats → single column */
    .panel-stat-row { grid-template-columns: 1fr !important; gap: 8px; }

    /* Step bubbles → horizontal row layout (icon left, text right) */
    .ph-step {
      flex-direction: row !important;
      text-align: left !important;
      gap: 12px;
      align-items: flex-start;
    }
    .ph-step-bubble {
      flex-shrink: 0;
      width: 48px !important; height: 48px !important;
      font-size: 1.1rem !important;
      margin-bottom: 0 !important;
    }
    .ph-step-num  { margin-bottom: 2px; }

    /* Audience tabs — icon only */
    .tab-label    { display: none; }
    .tab-icon     { width: 32px; height: 32px; font-size: 1rem; }
    .audience-tab { justify-content: center; }

    /* Credential bar items */
    

    /* Form */
    .form-audience-tabs { flex-direction: column; }
    .fat { min-width: 100%; }

    /* Stat blocks */
    .stat-blocks { grid-template-columns: 1fr; }
    .stat-num    { font-size: 2rem; }

    /* Hero tighten */
    .hero-content { padding: 44px 0 36px; }
    .btn-primary, .btn-ghost { padding: 12px 20px; font-size: .88rem; }
  }

  /* ═══════════════════════════════════════
     CREDENTIALS MOBILE CAROUSEL
     Same pattern as step-carousel — hidden
     on desktop, swipe on mobile (≤ 860px)
  ═══════════════════════════════════════ */
  .cred-carousel-wrap {
    display: none; /* desktop: hidden, real cards show */
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    margin-bottom: 28px;
  }
  .cred-carousel-track {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 12px;
    padding-right: 16px;
    scrollbar-width: thin;
    scrollbar-color: var(--gold) transparent;
    cursor: grab;
  }
  .cred-carousel-track:active { cursor: grabbing; }
  .cred-carousel-track::-webkit-scrollbar { height: 3px; }
  .cred-carousel-track::-webkit-scrollbar-track { background: var(--slate-mid); border-radius: 2px; }
  .cred-carousel-track::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 2px; }
  .cred-carousel-slide {
    flex: 0 0 80%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    min-width: 0;
  }
  .cred-carousel-slide .cred-card {
    height: 100%;
    box-sizing: border-box;
    margin: 0;
  }
  /* Stat blocks carousel */
  .stat-carousel-wrap {
    display: none;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    margin-bottom: 0;
  }
  .stat-carousel-track {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 12px;
    padding-right: 16px;
    scrollbar-width: thin;
    scrollbar-color: var(--gold) transparent;
    cursor: grab;
  }
  .stat-carousel-track::-webkit-scrollbar { height: 3px; }
  .stat-carousel-track::-webkit-scrollbar-track { background: var(--slate-mid); border-radius: 2px; }
  .stat-carousel-track::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 2px; }
  .stat-carousel-slide {
    flex: 0 0 42%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    min-width: 0;
  }
  .stat-carousel-slide .stat-block {
    border: 1px solid var(--slate-mid);
    border-radius: var(--radius);
    height: 100%;
    box-sizing: border-box;
  }
  /* Show carousels on mobile, hide grid versions */
  @media (max-width: 860px) {
    .cred-carousel-wrap  { display: block; }
    .stat-carousel-wrap  { display: block; }
    .cred-cards-grid     { display: none; }  /* hide the real card stack */
    .stat-blocks-grid    { display: none; }  /* hide the real stat grid */
    /* Flatten credentials layout to single column */
    .credentials-layout  { display: block; }
    .cred-right          { margin-top: 24px; }
  }

  /* ═══════════════════════════════════════
     FIRST CALL SECTION
  ═══════════════════════════════════════ */
  .first-call-section {
    background: var(--white);
    border-top: 1px solid var(--slate-mid);
    border-bottom: 1px solid var(--slate-mid);
  }
  .first-call-layout {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 80px;
    align-items: start;
  }
  .fc-reassurance {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 32px;
  }
  .fc-re-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 16px;
    background: var(--slate);
    border-radius: var(--radius);
    border-left: 3px solid var(--gold);
  }
  .fc-re-icon {
    width: 36px; height: 36px; flex-shrink: 0;
    background: var(--gold-pale);
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    font-size: .78rem; font-weight: 800;
    color: var(--gold);
  }
  .fc-re-item strong {
    display: block;
    font-size: .88rem; font-weight: 700;
    color: var(--navy);
    margin-bottom: 2px;
  }
  .fc-re-item span {
    font-size: .78rem;
    color: var(--text-muted);
    font-weight: 300;
  }

  /* Steps on right */
  .fc-steps {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
  }
  /* Vertical connector line */
  .fc-steps::before {
    content: "";
    position: absolute;
    left: 19px; top: 40px; bottom: 40px;
    width: 2px;
    background: linear-gradient(180deg, var(--gold) 0%, var(--slate-mid) 100%);
  }
  .fc-step {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 24px 0;
    border-bottom: 1px solid var(--slate-mid);
    position: relative;
    transition: background .2s;
  }
  .fc-step:last-child { border-bottom: none; }
  .fc-step:hover .fc-step-num {
    background: var(--gold);
    color: var(--white);
    border-color: var(--gold);
  }
  .fc-step-num {
    width: 40px; height: 40px; flex-shrink: 0;
    border-radius: 50%;
    background: var(--white);
    border: 2px solid var(--slate-mid);
    display: flex; align-items: center; justify-content: center;
    font-size: .72rem; font-weight: 800;
    color: var(--navy);
    letter-spacing: .05em;
    transition: background .2s, color .2s, border-color .2s;
    position: relative; z-index: 1;
  }
  .fc-step-content { flex: 1; padding-top: 8px; }
  .fc-step-name {
    font-size: .95rem; font-weight: 700;
    color: var(--navy);
    margin-bottom: 6px; line-height: 1.2;
  }
  .fc-step-desc {
    font-size: .82rem; color: var(--text-muted);
    line-height: 1.7; font-weight: 300;
  }

  @media (max-width: 860px) {
    .first-call-layout { grid-template-columns: 1fr; gap: 40px; }
    .fc-steps::before { left: 17px; }
  }
  @media (max-width: 580px) {
    .fc-reassurance { gap: 10px; }
    .fc-re-item { padding: 12px 14px; }
    .fc-step { gap: 14px; padding: 18px 0; }
    .fc-step-num { width: 34px; height: 34px; font-size: .68rem; }
    .fc-steps::before { left: 15px; }
  }

  /* ═══════════════════════════════════════
     MOBILE STEP CAROUSEL — CSS SCROLL SNAP
     Clean horizontal scroll, no buttons,
     thin scroll bar indicator only
  ═══════════════════════════════════════ */
  .step-carousel-wrap {
    display: none; /* hidden on desktop */
    margin-bottom: 40px;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }
  /* The scrollable row */
  .step-carousel-track {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 12px;
    padding-right: 16px;
    /* Custom thin scrollbar as scroll indicator */
    scrollbar-width: thin;
    scrollbar-color: var(--gold) transparent;
    cursor: grab;
  }
  .step-carousel-track::-webkit-scrollbar {
    height: 3px;
  }
  .step-carousel-track::-webkit-scrollbar-track {
    background: var(--slate-mid);
    border-radius: 2px;
  }
  .step-carousel-track::-webkit-scrollbar-thumb {
    background: var(--gold);
    border-radius: 2px;
  }
  /* Dark variant scrollbar */
  .step-carousel-track.dark-track::-webkit-scrollbar-track {
    background: rgba(255,255,255,.1);
  }
  /* Each card */
  .step-carousel-slide {
    flex: 0 0 80%;          /* peek next card at ~20% */
    scroll-snap-align: start;
    scroll-snap-stop: always;
    min-width: 0;
  }
  .step-carousel-slide .ph-step {
    background: var(--white);
    border: 1.5px solid var(--slate-mid);
    border-radius: var(--radius-lg);
    padding: 20px 18px;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    gap: 16px;
    height: 100%;
    box-sizing: border-box;
  }
  .step-carousel-slide .ph-step-bubble {
    width: 52px !important;
    height: 52px !important;
    font-size: 1.3rem !important;
    margin: 0 !important;
    flex-shrink: 0;
  }
  .step-carousel-slide .ph-step-content {
    flex: 1;
    min-width: 0;
  }
  /* Dark card variant for LC/IC */
  .step-carousel-slide.dark .ph-step {
    background: rgba(255,255,255,.04);
    border-color: rgba(255,255,255,.1);
    box-shadow: none;
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    gap: 16px;
  }
  .step-carousel-slide.dark .ph-step-bubble {
    width: 52px !important;
    height: 52px !important;
    font-size: 1.3rem !important;
    margin: 0 !important;
    flex-shrink: 0;
  }
  .step-carousel-slide.dark .ph-step-content {
    flex: 1;
    min-width: 0;
  }
  /* Scroll hint label */
  .carousel-scroll-hint {
    font-size: .68rem;
    color: var(--text-light);
    text-align: right;
    margin-bottom: 6px;
    font-weight: 500;
    letter-spacing: .04em;
    display: flex; align-items: center; justify-content: flex-end; gap: 4px;
  }
  .carousel-scroll-hint.dark { color: rgba(255,255,255,.3); }
  .carousel-scroll-hint::before { content: "← swipe →"; }

  /* ── Show carousel on mobile, hide desktop step grid ── */
  @media (max-width: 580px) {
    .step-carousel-wrap { display: block; }
    .ph-process .ph-steps,
    .ph-process .ph-process-track,
    .ph-process .ph-process-track-fill { display: none !important; }
    
  }
  
  
  
  
  
  
  
  
  
  
  
  

  /* ── Show carousel + accordion only on mobile, hide grid versions ── */
  @media (max-width: 580px) {
    /* Show carousel, hide the desktop step grid inside panels */
    .step-carousel-wrap { display: block; }
    .ph-process .ph-steps,
    .ph-process .ph-process-track,
    .ph-process .ph-process-track-fill { display: none !important; }

    /* Show accordion, hide desktop qual/standard grids */
    
    .contact-form-wrap .form-audience-tabs { margin-bottom: 16px; }
  }

  /* ═══════════════════════════════════════
     SINGLE STICKY CTA ON MOBILE
  ═══════════════════════════════════════ */
  .sticky-mobile-single {
    display: none;
    position: fixed; bottom: 0; left: 0; right: 0;
    background: var(--navy);
    border-top: 1.5px solid var(--gold);
    padding: 8px 16px;
    /* iPhone home bar clearance */
    padding-bottom: max(8px, env(safe-area-inset-bottom));
    z-index: 9000;
    box-shadow: 0 -3px 14px rgba(14,22,40,.25);
  }
  .sms-inner {
    display: flex; gap: 8px; align-items: center;
    max-width: 480px; margin: 0 auto;
  }
  .sms-call {
    display: flex; align-items: center; justify-content: center;
    width: 38px; height: 38px; flex-shrink: 0;
    background: rgba(255,255,255,.08);
    border: 1.5px solid rgba(255,255,255,.15);
    border-radius: var(--radius);
    font-size: .95rem; text-decoration: none;
    transition: background .2s;
  }
  .sms-call:hover { background: rgba(255,255,255,.14); }
  .sms-cta {
    flex: 1;
    background: var(--gold);
    color: var(--ink);
    font-size: .82rem; font-weight: 800;
    padding: 10px 0;
    border-radius: var(--radius);
    text-align: center; text-decoration: none;
    letter-spacing: .03em;
    transition: background .2s, transform .15s, box-shadow .2s;
  }
  .sms-cta:hover { background: var(--gold-bright); transform: translateY(-2px); box-shadow: 0 4px 14px rgba(184,121,26,.35); }
  @media (max-width: 860px) {
    .sticky-mobile { display: none !important; } /* hide old two-button bar */
    .sticky-mobile-single { display: block; }
    body { padding-bottom: max(62px, calc(54px + env(safe-area-inset-bottom))); }
  }
  


  /* LAUNCHER */
  #aeq-launcher {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 9999;
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--navy);
    border: 2px solid var(--gold);
    border-radius: 32px;
    padding: 12px 20px 12px 14px;
    cursor: pointer;
    box-shadow: 0 4px 24px rgba(0,0,0,0.32);
    transition: transform 0.2s, box-shadow 0.2s;
    font-family: var(--font-body);
  }
  #aeq-launcher:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(0,0,0,0.4); }
  @media (max-width: 860px) {
    #aeq-launcher {
      bottom: max(80px, calc(62px + env(safe-area-inset-bottom)));
      right: 16px;
      padding: 10px 16px 10px 12px;
    }
    #aeq-window {
      bottom: max(150px, calc(130px + env(safe-area-inset-bottom)));
      right: 12px;
      width: calc(100vw - 24px);
      max-width: 420px;
    }
  }
  @media (max-width: 420px) {
    #aeq-launcher {
      bottom: max(78px, calc(62px + env(safe-area-inset-bottom)));
      right: 12px;
    }
    #aeq-window { right: 8px; width: calc(100vw - 16px); }
  }
  #aeq-launcher-icon {
    width: 36px; height: 36px; border-radius: 50%;
    background: var(--gold);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }
  #aeq-launcher-icon svg { width: 18px; height: 18px; fill: var(--navy); }
  #aeq-launcher-label { font-size: 13px; font-weight: 700; color: #fff; letter-spacing: 0.02em; line-height: 1.2; }
  #aeq-launcher-sub { font-size: 11px; color: var(--gold); margin-top: 1px; }

  /* WINDOW */
  #aeq-window {
    position: fixed;
    bottom: 100px;
    right: 28px;
    z-index: 9999;
    width: 390px;
    max-width: calc(100vw - 24px);
    height: 580px;
    max-height: calc(100vh - 120px);
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 12px 60px rgba(0,0,0,0.24);
    display: none;
    flex-direction: column;
    overflow: hidden;
    font-family: var(--font-body);
  }
  #aeq-window.open { display: flex; }

  /* HEADER */
  #aeq-header {
    background: var(--navy);
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
  }
  #aeq-header-left { display: flex; align-items: center; gap: 10px; }
  #aeq-avatar {
    width: 36px; height: 36px; border-radius: 50%;
    background: var(--gold);
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 13px; color: var(--navy);
    flex-shrink: 0;
  }
  #aeq-title { font-size: 14px; font-weight: 700; color: #fff; letter-spacing: 0.01em; }
  #aeq-subtitle { font-size: 11px; color: rgba(255,255,255,0.55); margin-top: 2px; }
  #aeq-header-right { display: flex; align-items: center; gap: 8px; }
  .aeq-hbtn {
    background: none; border: none; cursor: pointer;
    color: rgba(255,255,255,0.6); font-size: 18px; line-height: 1;
    padding: 4px; transition: color 0.15s; border-radius: 4px;
  }
  .aeq-hbtn:hover { color: #fff; }

  /* PROGRESS BAR */
  #aeq-progress-wrap { background: rgba(255,255,255,0.08); height: 3px; flex-shrink: 0; }
  #aeq-progress-bar { height: 100%; background: var(--gold); transition: width 0.4s ease; width: 0%; }

  /* BODY */
  #aeq-body { flex: 1; overflow-y: auto; padding: 20px 18px; scroll-behavior: smooth; }

  /* STEPS */
  .aeq-step { display: none; }
  .aeq-step.active { display: block; }
  .aeq-step-label {
    font-size: 10px; font-weight: 700; letter-spacing: 0.12em;
    color: var(--gold); text-transform: uppercase; margin-bottom: 6px;
  }
  .aeq-step-q { font-size: 16px; font-weight: 700; color: var(--navy); line-height: 1.3; margin-bottom: 16px; }
  .aeq-step-sub { font-size: 13px; color: #6b7280; margin-top: -10px; margin-bottom: 16px; line-height: 1.5; }

  /* QUICK QUESTION BOX */
  #aeq-quick-box { margin-bottom: 4px; }
  #aeq-quick-row { display: flex; gap: 8px; margin-bottom: 6px; }
  #aeq-quick-input {
    flex: 1; border: 1.5px solid #e5e7eb; border-radius: 8px;
    padding: 9px 12px; font-size: 13px; font-family: var(--font-body);
    outline: none; transition: border-color 0.15s;
  }
  #aeq-quick-input:focus { border-color: var(--gold); }
  #aeq-quick-send {
    background: var(--gold); border: none; border-radius: 8px;
    width: 38px; height: 38px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; transition: background 0.15s;
  }
  #aeq-quick-send:hover { background: #c9a227; }
  #aeq-quick-send svg { width: 15px; height: 15px; fill: var(--navy); }
  #aeq-quick-response {
    display: none;
    background: #f9fafb; border-left: 3px solid var(--gold);
    border-radius: 10px; padding: 14px;
    font-size: 13px; line-height: 1.6; color: #1f2937;
    margin-bottom: 4px;
  }

  /* DIVIDER */
  .aeq-divider {
    display: flex; align-items: center; gap: 10px;
    margin: 16px 0 14px;
  }
  .aeq-divider-line { flex: 1; height: 1px; background: #e5e7eb; }
  .aeq-divider-text {
    font-size: 11px; color: #9ca3af;
    white-space: nowrap; font-weight: 600; letter-spacing: 0.06em;
  }

  /* PROPERTY TYPE CARDS */
  .aeq-type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 4px; }
  .aeq-type-card {
    border: 2px solid #e5e7eb; border-radius: 12px; padding: 18px 14px;
    cursor: pointer; text-align: center;
    transition: border-color 0.15s, background 0.15s, transform 0.15s;
    background: #fff;
  }
  .aeq-type-card:hover { border-color: var(--gold); transform: translateY(-2px); }
  .aeq-type-card.selected { border-color: var(--navy); background: var(--navy); }
  .aeq-tc-icon { font-size: 28px; margin-bottom: 8px; }
  .aeq-tc-label { font-size: 13px; font-weight: 700; color: var(--navy); }
  .aeq-tc-sub { font-size: 11px; color: #9ca3af; margin-top: 3px; }
  .aeq-type-card.selected .aeq-tc-label { color: #fff; }
  .aeq-type-card.selected .aeq-tc-sub { color: rgba(255,255,255,0.6); }

  /* LOSS TYPE GRID */
  .aeq-loss-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .aeq-loss-btn {
    border: 1.5px solid #e5e7eb; border-radius: 10px; padding: 11px 10px;
    cursor: pointer; text-align: left; background: #fff;
    display: flex; align-items: center; gap: 8px;
    transition: border-color 0.15s, background 0.15s;
    font-family: var(--font-body);
  }
  .aeq-loss-btn:hover { border-color: var(--gold); background: #fffbf0; }
  .aeq-loss-btn.selected { border-color: var(--navy); background: var(--navy); }
  .aeq-loss-btn.selected .aeq-lb-label { color: #fff; }
  .aeq-lb-icon { font-size: 18px; flex-shrink: 0; }
  .aeq-lb-label { font-size: 12.5px; font-weight: 600; color: var(--navy); line-height: 1.3; }
  #aeq-other-input-wrap { display: none; margin-top: 10px; }
  #aeq-other-input {
    width: 100%; box-sizing: border-box;
    border: 1.5px solid var(--gold); border-radius: 8px;
    padding: 10px 12px; font-size: 13px; font-family: var(--font-body); outline: none;
  }

  /* TIMING GRID */
  .aeq-timing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .aeq-timing-btn {
    border: 1.5px solid #e5e7eb; border-radius: 10px; padding: 12px;
    cursor: pointer; text-align: center; background: #fff;
    font-family: var(--font-body);
    transition: border-color 0.15s, background 0.15s;
  }
  .aeq-timing-btn:hover { border-color: var(--gold); }
  .aeq-timing-btn.selected { border-color: var(--navy); background: var(--navy); color: #fff; }
  .aeq-timing-label { font-size: 13px; font-weight: 700; }
  .aeq-timing-sub { font-size: 11px; color: #9ca3af; margin-top: 2px; }
  .aeq-timing-btn.selected .aeq-timing-sub { color: rgba(255,255,255,0.6); }

  /* URGENCY SLIDER */
  .aeq-urgency-wrap { padding: 4px 0; }
  #aeq-urgency-slider {
    width: 100%; -webkit-appearance: none;
    height: 6px; border-radius: 3px; outline: none; cursor: pointer;
    margin-bottom: 10px;
    background: linear-gradient(to right, #f59e0b 0%, #f59e0b 44%, #e5e7eb 44%, #e5e7eb 100%);
  }
  #aeq-urgency-slider::-webkit-slider-thumb {
    -webkit-appearance: none; width: 22px; height: 22px; border-radius: 50%;
    background: var(--navy); border: 3px solid var(--gold); cursor: pointer;
  }
  #aeq-urgency-slider::-moz-range-thumb {
    width: 22px; height: 22px; border-radius: 50%;
    background: var(--navy); border: 3px solid var(--gold); cursor: pointer;
  }
  .aeq-urgency-labels { display: flex; justify-content: space-between; font-size: 11px; color: #9ca3af; margin-bottom: 12px; }
  #aeq-urgency-display {
    text-align: center; padding: 12px;
    background: #f9fafb; border-radius: 10px; border: 1.5px solid #e5e7eb;
  }
  #aeq-urgency-num { font-size: 28px; font-weight: 800; color: #d97706; line-height: 1; }
  #aeq-urgency-desc { font-size: 12px; color: #6b7280; margin-top: 4px; }

  /* AI RESPONSE STEP */
  #aeq-ai-summary {
    background: #f9fafb; border-radius: 12px; padding: 16px;
    margin-bottom: 16px; border-left: 3px solid var(--gold);
    font-size: 13.5px; line-height: 1.65; color: #1f2937;
    min-height: 80px;
  }
  #aeq-ai-summary.loading {
    display: flex; align-items: center; gap: 10px;
    color: #9ca3af; font-style: italic; font-size: 13px;
  }
  .aeq-dots span {
    display: inline-block; width: 7px; height: 7px; border-radius: 50%;
    background: var(--gold); margin: 0 2px;
    animation: aeqDot 1.2s infinite;
  }
  .aeq-dots span:nth-child(2) { animation-delay: 0.2s; }
  .aeq-dots span:nth-child(3) { animation-delay: 0.4s; }
  @keyframes aeqDot {
    0%, 80%, 100% { transform: scale(0.7); opacity: 0.4; }
    40% { transform: scale(1); opacity: 1; }
  }

  /* INTAKE SUMMARY PILLS */
  .aeq-intake-summary { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px; }
  .aeq-is-pill {
    background: var(--navy); color: #fff;
    font-size: 11px; font-weight: 600;
    padding: 4px 10px; border-radius: 20px; letter-spacing: 0.02em;
  }

  /* CONTACT OPTIONS */
  .aeq-contact-options { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
  .aeq-contact-btn {
    display: flex; align-items: center; gap: 14px;
    padding: 14px 16px; border-radius: 12px;
    border: 2px solid #e5e7eb; background: #fff;
    cursor: pointer; text-decoration: none;
    transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s;
    font-family: var(--font-body);
  }
  .aeq-contact-btn:hover { border-color: var(--gold); transform: translateY(-1px); box-shadow: 0 4px 16px rgba(0,0,0,0.1); }
  .aeq-contact-btn.primary { background: var(--navy); border-color: var(--navy); }
  .aeq-contact-btn.primary:hover { border-color: var(--gold); }
  .aeq-cb-icon-wrap {
    width: 40px; height: 40px; border-radius: 10px;
    background: rgba(212,172,79,0.12);
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  }
  .aeq-contact-btn.primary .aeq-cb-icon-wrap { background: rgba(255,255,255,0.12); }
  .aeq-cb-icon { font-size: 20px; }
  .aeq-cb-label { font-size: 14px; font-weight: 700; color: var(--navy); }
  .aeq-contact-btn.primary .aeq-cb-label { color: #fff; }
  .aeq-cb-sub { font-size: 11px; color: #9ca3af; margin-top: 2px; }
  .aeq-contact-btn.primary .aeq-cb-sub { color: rgba(255,255,255,0.55); }
  .aeq-cb-arrow { margin-left: auto; color: rgba(0,0,0,0.2); font-size: 16px; }
  .aeq-contact-btn.primary .aeq-cb-arrow { color: rgba(255,255,255,0.35); }

  /* NAV BUTTONS */
  .aeq-nav { display: flex; gap: 8px; margin-top: 18px; }
  .aeq-btn-back {
    background: none; border: 1.5px solid #e5e7eb; border-radius: 8px;
    padding: 10px 16px; font-size: 13px; font-weight: 600; color: #6b7280;
    cursor: pointer; font-family: var(--font-body); transition: border-color 0.15s;
  }
  .aeq-btn-back:hover { border-color: #9ca3af; }
  .aeq-btn-next {
    flex: 1; background: var(--gold); border: none; border-radius: 8px;
    padding: 11px 16px; font-size: 13px; font-weight: 700; color: var(--navy);
    cursor: pointer; font-family: var(--font-body); letter-spacing: 0.02em;
    transition: background 0.15s, opacity 0.15s;
  }
  .aeq-btn-next:disabled { opacity: 0.35; cursor: not-allowed; }
  .aeq-btn-next:not(:disabled):hover { background: #c9a227; }

  /* FOLLOW-UP CHAT */
  #aeq-followup-label {
    font-size: 11px; color: #9ca3af; text-align: center;
    padding: 6px 14px 2px; display: none; background: #fff;
  }
  #aeq-followup-label.visible { display: block; }
  #aeq-followup-wrap {
    border-top: 1px solid #f3f4f6; padding: 10px 14px;
    display: none; gap: 8px; flex-shrink: 0; background: #fff;
  }
  #aeq-followup-wrap.visible { display: flex; }
  #aeq-followup-input {
    flex: 1; border: 1.5px solid #e5e7eb; border-radius: 8px;
    padding: 9px 12px; font-size: 14px; font-family: var(--font-body);
    outline: none; transition: border-color 0.15s;
  }
  @media (max-width: 860px) {
    #aeq-followup-input { font-size: 16px; }
  }
  #aeq-followup-input:focus { border-color: var(--gold); }
  #aeq-followup-send {
    background: var(--gold); border: none; border-radius: 8px;
    width: 38px; height: 38px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; transition: background 0.15s;
  }
  #aeq-followup-send:hover { background: #c9a227; }
  #aeq-followup-send svg { width: 15px; height: 15px; fill: var(--navy); }

  /* DISCLAIMER */
  #aeq-disclaimer {
    padding: 6px 16px 10px; font-size: 10px; color: #d1d5db;
    text-align: center; flex-shrink: 0; background: #fff;
  }
