/* ============================================
   CRESTPOINT — "ESTABLISHED" SKIN
   Loaded last on every page (both sides). This file sets the look:
   friendly, established-agency styling modeled on the conventions of
   Goosehead and Brightway — pill buttons, soft 16px cards on a pale
   cool background, one warm readable sans, deep navy + one action color.
   To restyle the whole site, edit the tokens below.
   ============================================ */

:root{
  /* palette */
  --navy:#12324F;        /* headings, dark panels, footer */
  --navy-2:#1B4468;      /* hover on dark */
  --ink:#1F2D3D;         /* body text */
  --muted:#586779;       /* secondary text */
  --bg:#F5F7FA;          /* page */
  --bg2:#EAF0F6;         /* alternate sections */
  --card:#FFFFFF;
  --line:#DCE3EB;
  --terra:#B34D1D;       /* action color: buttons, links (darkened from #D9622B for WCAG AA contrast) */
  --terra-d:#9A421A;
  --tint:#FCEEE6;        /* soft action tint */
  --sky:#E3EEF8;         /* soft navy tint */
  --sage:#2D7A6B;        /* checks, positive */
  --peach:#F6B98F;

  /* legacy names used across older markup */
  --primary:var(--navy); --primary-light:var(--navy-2);
  --accent:var(--terra); --accent-hover:var(--terra-d); --accent-light:var(--tint);
  --off-white:var(--bg); --gray-100:#EEF2F6; --gray-200:var(--line); --gray-300:#C3CDD8;
  --gray-500:#7B8796; --gray-700:#455466; --gray-900:var(--navy); --success:var(--sage);

  /* type */
  --font-heading:'Libre Franklin','Helvetica Neue',Arial,sans-serif;
  --font-body:'Source Sans 3','Segoe UI',Roboto,Arial,sans-serif;
  --display:var(--font-heading); --body:var(--font-body);
  --mono:var(--font-body);

  /* shape */
  --r:16px; --r-lg:16px; --radius:12px; --radius-lg:16px;
  --pill:999px;
  --sh-sm:0 1px 2px rgba(18,50,79,.05),0 4px 14px rgba(18,50,79,.05);
  --sh:0 2px 6px rgba(18,50,79,.05),0 14px 34px rgba(18,50,79,.08);
  --shadow-sm:var(--sh-sm); --shadow-md:var(--sh); --shadow-lg:0 24px 60px rgba(18,50,79,.14);
}

body{font-family:var(--font-body);font-size:17px;color:var(--ink);background:var(--bg)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--navy);font-weight:700;letter-spacing:-.015em;text-wrap:balance}
p{color:var(--muted)}

/* eyebrow labels: friendly small caps instead of monospace */
.mono,.label,.eyebrow,.sec-idx,.section-header .label,.page-hero .label,.door-k,.c-foot h4,.dir-sub{
  font-family:var(--font-body) !important;font-size:.78rem !important;font-weight:700 !important;
  letter-spacing:.09em !important;text-transform:uppercase;color:var(--terra)}
.door-k,.step3 .mono,.q-agent .mono{color:var(--muted)}

/* ---------- logo ---------- */
.nav-logo,.brand,.footer-brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-heading);font-weight:800;letter-spacing:-.02em;color:var(--navy)}
.logo-mark{width:34px;height:34px;flex-shrink:0}
.logo-mark .lm-line{stroke:var(--navy)}
.c-foot .logo-mark .lm-line,.footer .logo-mark .lm-line{stroke:#fff}
.logo-sub{font-family:var(--font-body) !important;font-size:.72rem !important;font-weight:700 !important;letter-spacing:.14em !important;color:var(--muted);border-left:1px solid var(--line);padding-left:10px;margin-left:2px;top:0}
.c-foot .nav-logo,.footer-brand{color:#fff}
.c-foot .logo-sub,.footer .logo-sub{color:rgba(255,255,255,.6);border-color:rgba(255,255,255,.2)}

/* ---------- audience bar + nav ---------- */
.aud{background:var(--navy)}
.aud-tabs a{border-right:0;padding:0 14px;color:rgba(255,255,255,.72)}
.aud-tabs a.on{box-shadow:none;color:#fff;background:rgba(255,255,255,.1);border-radius:var(--pill);height:28px;align-self:center}
.aud-tabs a:first-child{padding-left:14px;margin-left:-14px}
.aud-note{font-family:var(--font-body);letter-spacing:.04em;text-transform:none;font-size:.82rem;color:rgba(255,255,255,.7)}
.nav{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(18,50,79,.02)}
.nav-links a{color:var(--ink);font-weight:600;font-size:.97rem}
.nav-links a:hover,.nav-links a.active{color:var(--terra)}
.nav-cta{border-radius:var(--pill) !important;padding:11px 22px !important;font-weight:700 !important}

/* ---------- buttons: pills everywhere ---------- */
.btn,.c-btn,.dir-btn,.nav-cta{border-radius:var(--pill) !important;font-family:var(--font-body);font-weight:700;letter-spacing:.005em}
.btn,.c-btn{min-height:50px;padding:0 28px;display:inline-flex;align-items:center;justify-content:center}
.btn--lg{min-height:56px;padding:0 34px;font-size:1.05rem}
.c-btn--sm{min-height:42px;height:auto;padding:0 18px}
.btn:hover,.c-btn:hover{transform:translateY(-1px)}
.btn--primary,.btn--p,.btn--accent,.c-btn--p{background:var(--terra);border-color:var(--terra);color:#fff;box-shadow:0 6px 16px rgba(217,98,43,.22)}
.btn--primary:hover,.btn--p:hover,.btn--accent:hover,.c-btn--p:hover{background:var(--terra-d);border-color:var(--terra-d)}
.btn--outline,.btn--w,.btn--o,.btn--outline-dark,.c-btn--o{background:#fff;color:var(--navy);border:1.5px solid #C5D0DC}
.btn--outline:hover,.btn--o:hover,.btn--outline-dark:hover,.c-btn--o:hover{border-color:var(--navy);background:#fff}
.c-btn--ink{background:var(--navy);color:#fff}
.c-btn--ink:hover{background:var(--navy-2)}

/* ---------- form fields ---------- */
.c-input,.c-select,.dir-field input,.dir-field select,.form-group input,.form-group select,.form-group textarea,input[type=text],input[type=email],input[type=tel],select,textarea{
  border-radius:12px !important;border:1.5px solid #CFD8E3;font-family:var(--font-body)}
.c-input:focus,.c-select:focus{border-color:var(--navy);box-shadow:0 0 0 4px rgba(18,50,79,.08)}

/* ---------- cards: soft, rounded, quietly bordered ---------- */
.card,.a-card,.dir-card,.testimonial,.step,.tier-card,.stat-card,.calc-panel,.d-empty,.q-agent,.p-box,.doors,.hv-card,.cta-card,.carrier-logo,.comparison-table,.calc-preset{
  border-radius:var(--r) !important;border:1px solid var(--line);box-shadow:var(--sh-sm);background:var(--card)}
.card:hover,.a-card:hover{transform:translateY(-3px);box-shadow:var(--sh);border-color:var(--line)}
.card-icon{width:52px;height:52px;border-radius:14px !important;background:var(--sky) !important;color:var(--navy);display:flex;align-items:center;justify-content:center;margin-bottom:18px;font-size:0}
.card-icon svg{width:26px;height:26px}
.card--dark,.section--dark .card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.section--dark .card-icon{background:rgba(255,255,255,.1) !important;color:#fff}
.calc-results,.split-visual,.accent,.statband,.se-list,.cta-banner{border-radius:20px !important}
.carrier-logo{border-radius:12px !important}

/* pills & chips */
.seg button,.q-chip,.d-pill,.dir-pill,.a-tag,.cov-row li,.dir-tags span,.tag{border-radius:var(--pill) !important}
.a-tag{background:var(--bg2);border-color:transparent;color:var(--navy);font-weight:600}
.seg button{text-align:center}
.seg button[aria-pressed="true"],.q-chip[aria-pressed="true"],.d-pill[aria-pressed="true"]{background:var(--navy);border-color:var(--navy)}

/* ---------- section backgrounds ---------- */
.section--gray,.c-sec--alt{background:var(--bg2)}
.section--dark{background:var(--navy)}
.page-hero{background:linear-gradient(180deg,#E6EFF8 0%,var(--bg) 100%) !important;border-bottom:0}
.page-hero::before,.page-hero::after{border-radius:50% !important;filter:blur(40px);opacity:.35}
.page-hero::before{background:var(--peach)}
.page-hero::after{background:#9DC0E3}
.blob{border-radius:28px !important}
.cta-section{border-radius:24px !important;margin:0 24px 48px !important;background:var(--navy)}
.footer{background:#0E2840}

/* ---------- consumer: hero ---------- */
.c-hero{background:linear-gradient(170deg,#E3EEF9 0%,#F3F6FA 55%,#FBF1EA 100%);border-bottom:0}
.c-hero h1{font-weight:800;letter-spacing:-.03em;color:var(--navy)}
.c-hero h1 em{color:var(--terra)}
.c-proof{border-top:0;gap:12px}
.c-proof div{background:rgba(255,255,255,.75);border:1px solid var(--line) !important;border-radius:14px;padding:14px 18px !important;margin:0 !important}
.c-proof b{color:var(--navy)}
.doors{overflow:hidden;box-shadow:var(--shadow-lg)}
.door{border-top:1px solid var(--line)}
.door-t{font-family:var(--font-heading);font-weight:700;color:var(--navy)}
a.door:hover{background:#F7F9FC}

/* coverage: four cards instead of ruled rows */
.cov{border-top:0;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cov-row{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-sm);padding:30px;transition:transform .2s,box-shadow .2s}
.cov-row:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.cov-n{display:none}
.cov-row h3{font-size:1.5rem}
.cov-row ul{margin-top:12px}
.cov-row li{background:var(--bg2);border:0;color:var(--navy);font-weight:600}
.cov-go{justify-self:auto;margin-top:auto;padding-top:8px;color:var(--terra);font-weight:700}

/* self-employed panel */
.se-list{background:var(--navy);padding:36px;gap:0 24px}
.se-list div{border-top:1px solid rgba(255,255,255,.12);padding:18px 0 18px 30px;position:relative}
.se-list div::before{content:"";position:absolute;left:0;top:22px;width:18px;height:18px;border-radius:50%;background:var(--terra) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat}

/* how it works: numbered cards */
.steps3{border-top:0;gap:20px}
.step3,.step3 + .step3{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-sm);padding:30px !important;margin:0 !important}
.step3 .mono{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--tint);color:var(--terra) !important;font-size:.95rem !important;letter-spacing:0 !important}

/* agent cards */
.a-ph{border-radius:50% !important}
.a-foot{border-top:1px solid var(--line)}
.a-foot a{font-weight:700;color:var(--navy)}
.a-foot a.q{color:var(--terra)}
.a-card{overflow:hidden}
.d-hero{background:linear-gradient(180deg,#E6EFF8 0%,var(--bg) 100%);border-bottom:0}
.d-notice{border-radius:12px;border-style:solid;border-color:#F3D3C0;background:#FDF4EE}
.d-states-grid a{border-bottom-color:var(--line)}

/* FAQ */
.c-faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 22px;margin-bottom:10px}
.c-faq summary{font-size:1.1rem;color:var(--navy)}
.c-faq summary::after{width:30px;height:30px;border-radius:50%;background:var(--tint);display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}

/* recruiting band + footer */
.band{background:var(--navy);margin:0 24px;border-radius:24px}
.band .mono{color:var(--peach) !important}
.c-foot{background:#0E2840;margin-top:72px}
.c-foot h4{color:rgba(255,255,255,.55) !important}

/* profile */
.p-ph{border-radius:20px !important}
.p-badges{border-top:0;gap:10px}
.p-badges div{background:#fff;border:1px solid var(--line) !important;border-radius:12px;padding:10px 16px !important;margin:0 !important}
.p-sec:first-child{border-top-color:var(--line);border-top-width:1px}
.p-cov a{border-radius:12px}
.tilemap div{border-radius:5px}
.tilemap div.on{background:var(--navy)}
.crumbs a{color:var(--navy);font-weight:600}

/* quote flow */
.q-side{background:linear-gradient(180deg,var(--navy) 0%,#163E61 100%)}
.q-opt{border-radius:16px;padding:24px}
.q-opt[aria-pressed="true"]{border-color:var(--terra);box-shadow:0 0 0 3px var(--tint)}
.q-consent{border-radius:12px}
.q-done{border-top:0}
.q-agent{align-items:center}

/* agent side: homepage hero + misc */
.hv-card{border-radius:18px !important}
.hv-card.small .av{border-radius:50%}
.comparison-table{overflow:hidden}
.comparison-table th{background:var(--navy)}
.tier-card{border-radius:20px !important}
.testimonial-avatar,.dir-avatar{border-radius:50% !important}
.faq-item{border-bottom-color:var(--line)}
.demo-badge{border-radius:var(--pill);background:var(--navy)}

@media(max-width:1000px){
  .cov{grid-template-columns:1fr}
  .band{margin:0 16px}
  .cta-section{margin:0 16px 40px !important}
}
@media(max-width:640px){
  .steps3{grid-template-columns:1fr}
  .c-proof{grid-template-columns:repeat(3,1fr)}
  .c-proof div{padding:10px 12px !important}
  .band{border-radius:18px}
}
@media(prefers-reduced-motion:reduce){*{transition:none !important}}

/* coverage card icons */
.cov-row::before{content:'';width:52px;height:52px;border-radius:14px;background-color:var(--sky);background-position:center;background-size:26px;background-repeat:no-repeat;margin-bottom:6px}
#individual::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312324F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6'/%3E%3Cpath d='M16 4.6a3 3 0 0 1 0 6'/%3E%3Cpath d='M21 20c0-2.6-1.6-4.8-4-5.6'/%3E%3C/svg%3E")}
#medicare::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312324F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.3-9-9a5 5 0 0 1 9-3 5 5 0 0 1 9 3c-2 4.7-9 9-9 9z'/%3E%3Cpath d='M12 10v5M9.5 12.5h5'/%3E%3C/svg%3E")}
#small-business::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312324F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M8 7V5a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2M3 12h18'/%3E%3C/svg%3E")}
#dental-vision::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312324F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E")}

/* undo the old "rigid" layer in theme.css */
.page-hero .container{background:none;display:block;padding:0;max-width:none}
.page-hero::before,.page-hero::after{display:block}
.blob.peach{opacity:.85}
.blob.sage{background:#9DC0E3;opacity:.7}
.dir-tags span,.dir-states span{border-radius:var(--pill);background:var(--bg2);border-color:transparent}
.hv-card{box-shadow:var(--sh)}

/* content is visible at rest; scroll reveal is only a gentle lift */
.fade-up{opacity:1;transform:translateY(10px)}
.fade-up.visible{transform:none}

/* decorative corner on dark panels: soft circle instead of a hard square */
.split-visual::before{border-radius:50%;background:rgba(246,185,143,.14);width:260px;height:260px;top:-90px;right:-80px}
.split-visual{background:var(--navy)}
.btn,.c-btn{white-space:nowrap}
.nav-links{gap:20px}
.nav-links a{font-size:.94rem}

/* agent-side homepage hero stacks on tablets and phones */
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .hv{height:470px;max-width:360px;width:100%;margin:0 auto}
  .hv-card.small{bottom:0}
  .hv-card.big{left:0;width:250px}
  .blob.peach{width:230px;height:230px}
}
@media(max-width:640px){
  .strip-tools{flex-wrap:wrap}
  .statband{grid-template-columns:1fr 1fr;padding:28px 22px;gap:22px}
  .st .n{font-size:1.7rem}
}

/* ---------- dropdown menus in the top nav ---------- */
.dd{position:relative}
.dd-btn{background:none;border:0;font:600 .94rem var(--font-body);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:8px 0}
.dd-btn::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.6}
.dd-btn:hover,.dd-btn.active{color:var(--terra)}
.dd-menu{list-style:none;position:absolute;top:calc(100% + 10px);left:-18px;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:8px;display:none;z-index:70}
.dd-menu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.dd-menu a{display:block;padding:10px 14px;border-radius:10px;font-weight:600;font-size:.95rem;color:var(--ink);white-space:nowrap}
.dd-menu a:hover,.dd-menu a.active{background:var(--bg2);color:var(--navy)}
@media(min-width:1101px){
  .dd:hover .dd-menu,.dd:focus-within .dd-menu,.dd.open .dd-menu{display:block}
}
@media(max-width:1100px){
  .nav-links{max-height:calc(100vh - 120px);overflow-y:auto;align-items:stretch}
  .dd-btn{display:none}
  .dd-menu{display:block;position:static;box-shadow:none;border:0;padding:0;min-width:0;background:none}
  .dd-menu a{padding:8px 0}
  .nav-links li{width:100%}
  .nav-cta{display:inline-block;text-align:center}
}

/* ---------- coverage pages ---------- */
.cv-hero .c-hero-grid{align-items:center}
.cv-hero h1{font-size:clamp(2.4rem,4.6vw,3.9rem)}
.cv-who{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.cv-who li{background:#fff;border:1px solid var(--line);border-radius:var(--pill);padding:7px 14px;font-weight:600;font-size:.9rem;color:var(--navy)}
.cv-start{padding:30px}
.cv-start .door-t{font-size:1.5rem}
.cv-alt{display:inline-block;margin-top:6px;font-weight:700;color:var(--navy);font-size:.95rem}
.cv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.cv-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-sm);padding:28px}
.cv-card h3{font-size:1.3rem;margin-bottom:8px}
.cv-card p{margin:0}
.cv-dates{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cv-date{background:#fff;border-radius:var(--r);border:1px solid var(--line);padding:26px;border-top:4px solid var(--terra)}
.cv-date b{display:block;font:700 1.15rem var(--font-heading);color:var(--navy);margin-bottom:8px}
.cv-date span{color:var(--muted)}
.c-head:only-child,.c-head > div:only-child{grid-column:1/-1}
@media(max-width:900px){.cv-grid,.cv-dates{grid-template-columns:1fr}}

/* ---------- client service page ---------- */
.sv-types{grid-template-columns:repeat(3,1fr)}
.sv-types .q-opt b{font-size:1.05rem}
.sv-area{height:auto;min-height:110px;padding:14px 16px;resize:vertical;line-height:1.5}
.sv-how{display:grid;gap:14px;margin:34px 0}
.sv-how div{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start;color:rgba(228,232,236,.82);font-size:.95rem}
.sv-how b{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem}
.sv-ref{display:inline-flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 18px;margin:8px 0 18px}
.sv-ref span{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--muted)}
.sv-ref b{font:700 1.2rem var(--font-heading);color:var(--navy);letter-spacing:.04em}
@media(max-width:1000px){.sv-types{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.sv-types{grid-template-columns:1fr}}
@media(max-width:1000px){.sv-how{display:none}}

/* agency on agent profiles */
.p-agency{color:var(--terra);font-weight:600}
.p-agency:hover{text-decoration:underline}
.ag-card{display:grid;grid-template-columns:56px 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-sm);padding:18px 20px}
.ag-mark{width:56px;height:56px;border-radius:14px;background:var(--sky);color:var(--navy);display:flex;align-items:center;justify-content:center;font:700 1.1rem var(--font-heading)}
.ag-body b{display:block;font:700 1.15rem var(--font-heading);color:var(--navy)}
.ag-body span{font-size:.9rem;color:var(--muted)}
.ag-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.d-agency{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
@media(max-width:640px){.ag-card{grid-template-columns:48px 1fr}.ag-actions{grid-column:1/-1;justify-content:flex-start}.ag-mark{width:48px;height:48px}}

/* anything the scripts hide stays hidden, whatever its layout class */
[hidden]{display:none !important}

/* ---------- nav: log in ---------- */
.nav-login{display:inline-block;border:1.5px solid #C5D0DC;border-radius:var(--pill);padding:9px 20px !important;font-weight:700 !important;color:var(--navy) !important}
.nav-login:hover{border-color:var(--navy)}

/* ---------- client login ---------- */
.lg-wrap{background:linear-gradient(170deg,#E3EEF9 0%,#F3F6FA 60%,#FBF1EA 100%);padding:72px 16px 96px;display:flex;justify-content:center}
.lg-card{width:100%;max-width:520px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);padding:40px}
.lg-card h1{font-size:2rem;margin:10px 0 10px}
.lg-card form{margin-top:22px}
.lg-btn{width:100%;margin-top:16px}
.lg-code{font-size:1.5rem;letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}
.lg-small{font-size:.92rem;margin-top:16px;text-align:center}
.lg-link{background:none;border:0;color:var(--terra);font:600 .92rem var(--font-body);cursor:pointer;padding:0}
.lg-demo{display:block;margin-top:8px;color:var(--terra);font-weight:700}
.lg-help{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);font-size:.93rem}
.lg-help b{color:var(--navy)}
.lg-help p{margin:6px 0 10px}
.lg-help a{color:var(--terra);font-weight:700}

/* ---------- my account ---------- */
.ac-head{background:linear-gradient(180deg,#E6EFF8 0%,var(--bg) 100%);padding:52px 0 8px}
.ac-head-in{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.ac-head h1{font-size:clamp(2.2rem,4vw,3rem);margin:10px 0 6px}
.ac-head p{margin:0}
.ac-grid{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:start}
.ac-h2{font-size:1.35rem;margin-bottom:16px}
.pc{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-sm);padding:26px;margin-bottom:18px}
.pc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}
.pc-line{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--terra)}
.pc h3{font-size:1.35rem;margin-top:4px}
.pc-status{display:inline-block;border-radius:var(--pill);padding:4px 12px;font-size:.8rem;font-weight:700;background:var(--bg2);color:var(--navy);white-space:nowrap}
.pc-status--active,.pc-status--completed{background:#E3F2EC;color:#1F6B57}
.pc-status--pending,.pc-status--open,.pc-status--in-progress{background:#FDF0E3;color:#9A5413}
.pc-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 20px;margin:0 0 14px}
.pc-facts dt{font-size:.78rem;color:var(--muted);font-weight:600}
.pc-facts dd{margin:2px 0 0;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.pc-facts small{display:block;font-weight:500;color:var(--sage);font-size:.78rem}
.pc-members{font-size:.92rem;margin:0 0 16px}
.pc-members b{color:var(--navy)}
.pc-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--line)}
.ac-req{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.ac-req > div{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:12px;align-items:center;padding:14px 18px;border-top:1px solid var(--line);font-size:.93rem}
.ac-req > div:first-child{border-top:0}
.mono-sm{font-variant-numeric:tabular-nums;color:var(--muted);letter-spacing:.04em}
.ac-agent{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-sm);padding:24px;position:sticky;top:100px}
.ac-agent-top{display:flex;gap:14px;align-items:center;margin:14px 0 10px}
.ac-phone{font:700 1.1rem var(--font-heading);color:var(--navy);margin:4px 0 14px}
.ac-agent-actions{display:flex;gap:8px;flex-wrap:wrap}
.ac-profile{display:inline-block;margin-top:16px;font-weight:700;color:var(--terra)}
.sv-signed{background:#E3F2EC;color:#1F6B57;border-radius:12px;padding:10px 14px;font-weight:600;font-size:.92rem;margin-bottom:16px}
@media(max-width:1000px){.ac-grid{grid-template-columns:1fr}.ac-agent{position:static}.pc-facts{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.pc-facts{grid-template-columns:1fr}.ac-req > div{grid-template-columns:1fr auto}.lg-card{padding:28px 22px}}

/* ---------- agent perks + Fast Start band ---------- */
.perks{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.perk{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-sm);padding:28px;transition:transform .2s,box-shadow .2s}
.perk:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.perk h3{font-size:1.2rem;margin-bottom:8px}
.perk p{margin:0;font-size:.98rem}
.perks-more{text-align:center;margin-top:32px}
.fs-band-sec{padding-top:0}
.fs-band{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;background:var(--navy);border-radius:24px;padding:56px;color:#fff}
.fs-band h2{color:#fff;font-size:clamp(1.8rem,3.2vw,2.5rem);margin:10px 0 14px}
.fs-band p{color:rgba(228,232,236,.82)}
.fs-band .label{color:var(--peach) !important}
.fs-band .btn--outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.fs-band .btn-group{margin-top:22px}
.fs-steps{list-style:none;counter-reset:fs;display:grid;gap:12px;margin:0;padding:0}
.fs-steps li{counter-increment:fs;display:grid;grid-template-columns:40px 1fr;gap:4px 14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px 18px}
.fs-steps li::before{content:counter(fs);grid-row:span 2;width:40px;height:40px;border-radius:50%;background:var(--terra);color:#fff;display:flex;align-items:center;justify-content:center;font:700 1rem var(--font-heading)}
.fs-steps b{font:700 1.05rem var(--font-heading);color:#fff}
.fs-steps span{font-size:.92rem;color:rgba(228,232,236,.75)}
@media(max-width:1000px){.perks{grid-template-columns:1fr 1fr}.fs-band{grid-template-columns:1fr;padding:36px 28px}}
@media(max-width:640px){.perks{grid-template-columns:1fr}.fs-band{padding:28px 20px;border-radius:18px}}

/* ---------- footer: 5 columns, legal links ---------- */
.c-foot-grid--5{grid-template-columns:1.5fr 1fr 1fr 1fr 1fr}
.foot-offices{font-weight:600}
.foot-offices a{color:rgba(255,255,255,.85)}
.legal a{color:rgba(228,232,236,.8);text-decoration:underline}
.legal-links{display:flex;flex-wrap:wrap;gap:6px 18px}
.legal-links a{text-decoration:none;font-weight:600}
.footer-bottom .foot-disclaim{font-size:.76rem;color:rgba(228,232,236,.45);max-width:900px;margin:10px auto 0;line-height:1.55}
.footer-bottom .legal-links{justify-content:center;margin-top:10px;font-size:.8rem}
.footer-bottom .legal-links a{color:rgba(228,232,236,.6)}
@media(max-width:1000px){.c-foot-grid--5{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.c-foot-grid--5{grid-template-columns:1fr}}

/* ---------- articles / legal pages / guides ---------- */
.art{max-width:800px}
.art h1{font-size:clamp(2.1rem,4vw,3rem);margin:12px 0 14px}
.art h2{font-size:1.45rem;margin:38px 0 12px}
.art p,.art li{font-size:1.06rem;line-height:1.7;color:var(--gray-700)}
.art ul{padding-left:20px;margin:0 0 16px}
.art li{margin-bottom:6px}
.art a{color:var(--terra);font-weight:600}
.art-lead{font-size:1.18rem !important;color:var(--ink) !important}
.art-meta{font-size:.92rem !important;color:var(--muted) !important;border-bottom:1px solid var(--line);padding-bottom:18px}
.art-meta b{color:var(--navy)}
.takeaways{background:#fff;border:1px solid var(--line);border-left:4px solid var(--terra);border-radius:14px;padding:22px 26px;margin:26px 0 8px}
.takeaways h2{margin:0 0 10px;font-size:1.15rem}
.takeaways li{font-size:1rem}
.art .c-faq{max-width:none}
.art-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--navy);color:#fff;border-radius:18px;padding:26px 28px;margin:40px 0 18px;flex-wrap:wrap}
.art-cta b{display:block;font:700 1.2rem var(--font-heading)}
.art-cta span{color:rgba(228,232,236,.8);font-size:.95rem}
.art-note{font-size:.85rem !important;color:var(--muted) !important}
.lic-box{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:24px 0}
.lic-box div{background:#fff;padding:16px 20px}
.lic-box span{display:block;font-size:.8rem;color:var(--muted);font-weight:600}
.lic-box b{color:var(--navy);font-size:1.08rem}
.learn-card{display:flex;flex-direction:column;gap:8px}
.learn-card h3{font-size:1.25rem}
.learn-card:hover{border-color:var(--navy)}
@media(max-width:640px){.lic-box{grid-template-columns:1fr}}

.art a.c-btn--p{color:#fff}
.art a.c-btn--o{color:var(--navy)}
.crumbs span[aria-current]{color:var(--gray-700)}

/* ---- Agent license numbers + agency profiles ---- */
.a-grid--2{grid-template-columns:repeat(2,1fr)}
@media (max-width:760px){.a-grid--2{grid-template-columns:1fr}}
.p-lic{margin-top:22px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.p-lic summary{cursor:pointer;list-style:none;padding:14px 18px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:12px}
.p-lic summary::-webkit-details-marker{display:none}
.p-lic summary span{font-weight:500;color:var(--gray-700);font-size:.9rem}
.p-lic summary::after{content:"+";font-size:1.2rem;color:var(--gray-700)}
.p-lic[open] summary::after{content:"\2212"}
.p-lic table{width:100%;border-collapse:collapse;font-size:.95rem}
.p-lic th,.p-lic td{text-align:left;padding:10px 18px;border-top:1px solid var(--line)}
.p-lic th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-700);font-weight:600;background:var(--bg2)}
.p-lic td:nth-child(2){font-variant-numeric:tabular-nums;font-weight:600}
.ag-logo{object-fit:contain;background:#fff;border:1px solid var(--line);padding:6px}
.ag-logo-lg{object-fit:contain;background:#fff;border:1px solid var(--line);padding:10px}
.ag-body b a{color:inherit;text-decoration:none}
.ag-body b a:hover{text-decoration:underline}
.door-s{display:block;margin-top:4px;font-size:.92rem;color:var(--muted)}
.door--main .door-t{margin-top:0}

/* footer text contrast on navy */
.footer p,.foot p,.footer small,.foot small{color:rgba(228,232,236,.75)}
.footer h4,.foot h4{color:rgba(228,232,236,.72)}
/* skip link */
.skip-link{position:absolute;left:-9999px;top:8px;z-index:1000;background:#fff;color:var(--navy);padding:10px 16px;border-radius:8px;font-weight:700}
.skip-link:focus{left:12px}

/* Find an Agent coverage map */
.d-cover{background:var(--bg2,#F5F7FA)}
.d-cover-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:40px;align-items:center}
@media(max-width:860px){.d-cover-grid{grid-template-columns:1fr;gap:24px}}
.d-cover-lead{color:var(--muted);max-width:46ch;margin:0 0 18px}
.tilemap--pick{max-width:none}
.tilemap--pick a,.tilemap--pick span{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font:600 .7rem var(--mono,ui-monospace,monospace);border-radius:5px}
.tilemap--pick span{background:#D5DBE2;color:#6B7682}
.tilemap--pick a.on{background:var(--navy);color:#fff;transition:background .15s,transform .15s}
.tilemap--pick a.on:hover,.tilemap--pick a:focus-visible{background:var(--terra);transform:translateY(-1px)}
.tilemap--pick a.sel{background:var(--terra);color:#fff;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--terra)}
@media(max-width:560px){.tilemap--pick{gap:3px}.tilemap--pick a,.tilemap--pick span{font-size:.56rem;border-radius:3px}}
.a-away{font-size:.82rem;color:var(--terra-d);font-weight:600;padding:0 22px;margin:0}
