/* =====================================================================
   Webb Insurance Group: site stylesheet v2, modern (design system "webb-insurance")
   Type: Bricolage Grotesque (display) + Source Sans 3 (body and UI), self-hosted, OFL.
   Color: navy panels from Mike's own portrait, soft white ground, ONE teal accent
   (mint tint of the same hue only on navy). No rules, dashes or line bullets anywhere.
   Radius per element class: panels 32, cards 22, photos 24, inputs 14, buttons pill.
   Built for readers over 60: 19px body, 56px buttons, strong contrast.
   ===================================================================== */

@font-face{font-family:'Bricolage Grotesque';src:url(fonts/bricolage.woff2) format('woff2');font-weight:200 800;font-stretch:75% 100%;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url(fonts/sourcesans3.woff2) format('woff2');font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url(fonts/sourcesans3-italic.woff2) format('woff2');font-weight:200 900;font-style:italic;font-display:swap}

:root{
  --bg:#fafaf7;
  --surface:#ffffff;
  --panel:#eff1ec;
  --tint:#e3f3ee;
  --ink:#0e1f33;
  --ink-2:#27384d;
  --muted:#556172;
  --line:rgba(14,31,51,.10);
  --line-2:rgba(14,31,51,.20);
  --deep:#0f2540;
  --deep-2:#173152;
  --on-deep:#f3f6f8;
  --on-deep-muted:rgba(243,246,248,.76);
  --line-deep:rgba(243,246,248,.16);
  --accent:#0b7a66;
  --accent-hover:#07604f;
  --accent-light:#7fe3cc;
  /* compatibility aliases used by page modules */
  --paper:var(--panel);
  --accent-deep:var(--accent-hover);
  --disp:'Bricolage Grotesque','Segoe UI',Helvetica,Arial,sans-serif;
  --body:'Source Sans 3','Segoe UI',Helvetica,Arial,sans-serif;
  --maxw:1200px;
  --gutter:clamp(20px,4vw,44px);
  --edge:clamp(8px,1.4vw,18px);
  --section-y:clamp(72px,9vw,124px);
  --r-panel:32px;
  --r-card:22px;
  --r-img:24px;
  --r-input:14px;
  --shadow:0 1px 2px rgba(14,31,51,.05),0 14px 36px rgba(14,31,51,.09);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink-2);font-family:var(--body);font-size:19px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--accent-hover)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
::selection{background:var(--tint);color:var(--ink)}
p,ul,ol,dl,figure,blockquote{margin:0}
ul,ol{padding:0}
h1,h2,h3,h4{font-family:var(--disp);color:var(--ink);margin:0;font-optical-sizing:auto;text-wrap:balance}
h1{font-size:clamp(40px,5.4vw,70px);line-height:1.03;font-weight:650;letter-spacing:-.026em}
h2{font-size:clamp(32px,3.9vw,52px);line-height:1.07;font-weight:650;letter-spacing:-.022em}
h3{font-size:clamp(22px,2vw,27px);line-height:1.2;font-weight:620;letter-spacing:-.012em}
h4{font-size:20px;line-height:1.25;font-weight:650;letter-spacing:-.01em}
h1 em,h2 em{font-style:normal;color:var(--accent)}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:12px 18px;z-index:200;border-radius:12px}
.skip:focus{left:12px;top:12px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:780px}
.visually-hidden{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Eyebrow: plain small caps text, no decoration */
.label{display:block;font-family:var(--body);font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.lead{font-size:clamp(19px,1.55vw,21px);line-height:1.55;color:var(--muted);max-width:58ch;margin-top:18px}
.small{font-size:16px;line-height:1.5}
.muted{color:var(--muted)}
.prose p{max-width:68ch}
.prose p+p{margin-top:16px}
.prose h3{margin-top:34px}
.prose h3+p{margin-top:8px}
.prose ul{margin-top:14px;list-style:none;max-width:66ch}
.prose ul li{position:relative;padding:5px 0 5px 24px}
.prose ul li::before{content:"";position:absolute;left:4px;top:.82em;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.chip{display:inline-flex;align-items:center;gap:8px;font-family:var(--body);font-size:14px;font-weight:700;line-height:1;color:var(--accent-hover);background:var(--surface);border-radius:999px;padding:8px 14px}

/* Honest placeholder markers */
.sample{display:inline-block;vertical-align:middle;font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--panel);border-radius:999px;padding:4px 10px;line-height:1.4;white-space:nowrap}
.confirm{background:rgba(11,122,102,.12);border-radius:6px;padding:0 5px;color:inherit;font-weight:700}

/* Buttons: pill; one primary style per page */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:14px 28px;border-radius:999px;font-family:var(--body);font-size:18px;font-weight:700;line-height:1.1;text-decoration:none;cursor:pointer;border:0;transition:background-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}
.btn svg{width:20px;height:20px;flex:0 0 auto}
.btn-solid{background:var(--accent);color:#fff}
.btn-solid:hover{background:var(--accent-hover);color:#fff;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}
.btn-ghost:hover{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.text-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--ink);text-decoration:none;padding:6px 0}
.text-link::after{content:"";width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);transition:transform .18s ease}
.text-link:hover{color:var(--accent)}
.text-link:hover::after{transform:translateX(3px) rotate(45deg)}

/* On navy surfaces */
.on-dark,.review{color:var(--on-deep-muted)}
.on-dark h1,.on-dark h2,.on-dark h3,.on-dark h4,.review h2,.review h3{color:var(--on-deep)}
.on-dark h1 em,.on-dark h2 em,.review h2 em{color:var(--accent-light)}
.on-dark .label,.review .label{color:var(--accent-light)}
.on-dark .lead,.review .lead{color:var(--on-deep-muted)}
.on-dark .btn-ghost{color:var(--on-deep);box-shadow:inset 0 0 0 1.5px rgba(243,246,248,.42)}
.on-dark .btn-ghost:hover{color:#fff;box-shadow:inset 0 0 0 1.5px #fff}
.on-dark .text-link{color:var(--on-deep)}
.on-dark .text-link:hover{color:var(--accent-light)}

/* Header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(250,250,247,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px}
.wordmark{display:inline-flex;align-items:baseline;gap:7px;font-family:var(--disp);font-size:24px;letter-spacing:-.035em;color:var(--ink);text-decoration:none;white-space:nowrap}
.wordmark b{font-weight:800}
.wordmark span{font-weight:500;color:var(--muted)}
.wordmark:hover{color:var(--ink)}
.nav{display:flex;align-items:center;gap:8px}
.nav>ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0}
.nav>ul>li{position:relative}
.nav a.nav-link,.nav button.nav-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--body);font-size:17px;font-weight:600;color:var(--ink);text-decoration:none;background:none;border:0;padding:10px 14px;min-height:46px;border-radius:999px;cursor:pointer}
.nav a.nav-link:hover,.nav button.nav-link:hover{background:var(--panel);color:var(--ink)}
.nav a.nav-link[aria-current="page"]{background:var(--tint);color:var(--accent-hover)}
.nav button.nav-link svg{width:12px;height:12px;transition:transform .18s ease}
.nav li.open>button.nav-link{background:var(--panel)}
.nav li.open>button.nav-link svg{transform:rotate(180deg)}
.dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:340px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);padding:8px;list-style:none;margin:0;display:none;z-index:70}
.nav li.open>.dropdown{display:block}
.nav .dropdown a{display:block;padding:12px 14px;border-radius:14px;text-decoration:none;color:var(--ink);font-size:17px;font-weight:700;line-height:1.25}
.nav .dropdown a small{display:block;font-weight:400;font-size:15px;color:var(--muted);margin-top:2px}
.nav .dropdown a:hover,.nav .dropdown a[aria-current="page"]{background:var(--panel)}
.header-cta{margin-left:10px;min-height:48px;padding:10px 20px;font-size:17px}
.menu-btn{display:none;align-items:center;justify-content:center;font-family:var(--body);font-size:16px;font-weight:700;background:var(--panel);color:var(--ink);border:0;border-radius:999px;min-height:46px;padding:8px 18px;cursor:pointer}

/* Mobile overlay: every page listed flat */
.overlay{position:fixed;inset:0;z-index:120;background:var(--bg);display:none;flex-direction:column;overflow-y:auto;padding:14px var(--gutter) 40px}
body.menu-open{overflow:hidden}
body.menu-open .overlay{display:flex}
.overlay-top{display:flex;align-items:center;justify-content:space-between;min-height:66px}
.overlay .group-label{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:26px 0 8px}
.overlay ul{list-style:none}
.overlay li a{display:block;padding:10px 0;font-family:var(--disp);font-size:28px;font-weight:650;letter-spacing:-.025em;color:var(--ink);text-decoration:none}
.overlay li a[aria-current="page"]{color:var(--accent)}
.overlay .btn{margin-top:28px;width:100%}

/* Section scaffolding */
.section{padding:var(--section-y) 0}
.section.tight{padding:calc(var(--section-y) * .45) 0}
.sec-head{margin-bottom:clamp(34px,4.5vw,56px)}
.sec-head.split{display:grid;grid-template-columns:7fr 5fr;gap:clamp(24px,4vw,64px);align-items:end}
.sec-head.split .lead{margin-top:0}
.panel{margin:0 var(--edge);border-radius:var(--r-panel)}
.panel>.wrap{padding-top:clamp(52px,7vw,96px);padding-bottom:clamp(52px,7vw,96px)}
.panel-deep{background:var(--deep)}
.panel-tint{background:var(--tint)}
.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:start}
.split-2{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,5vw,88px);align-items:start}
.split-2>div:first-child{align-self:stretch}
.sticky{position:sticky;top:112px}

/* Home hero: navy panel, portrait, overlapping stat card */
.hero-x{padding-top:var(--edge)}
.hero-panel{background:var(--deep);border-radius:var(--r-panel);margin:0 var(--edge)}
.hero-panel>.wrap{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(32px,5vw,80px);align-items:center;padding-top:clamp(48px,7vw,104px);padding-bottom:clamp(96px,11vw,150px)}
.hero-copy h1{max-width:15ch}
.hero-copy .lead{margin-top:24px;max-width:50ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero-note{margin-top:18px;font-size:16px;color:var(--on-deep-muted)}
.hero-photo{position:relative;justify-self:end;width:100%;max-width:460px}
.hero-photo img{width:100%;aspect-ratio:4/4.6;object-fit:cover;object-position:50% 10%;border-radius:var(--r-img);background:#fff}
.photo-chip{position:absolute;left:-28px;bottom:28px;background:var(--surface);border-radius:18px;padding:14px 18px;box-shadow:var(--shadow);display:grid;gap:2px;min-width:230px}
.photo-chip b{font-family:var(--disp);font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.15}
.photo-chip span{font-size:15px;color:var(--muted);line-height:1.3}
.photo-chip a{font-weight:700;color:var(--accent);text-decoration:none;font-size:16px}
.stats{position:relative;margin-top:calc(clamp(96px,11vw,150px) * -0.55);z-index:2}
.stat-row{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow)}
.stat-row li{padding:clamp(22px,2.6vw,32px);display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}
.stat-row li+li{border-left:1px solid var(--line)}
.stat-row b{font-family:var(--disp);font-size:clamp(40px,4.4vw,56px);font-weight:650;letter-spacing:-.03em;line-height:1;color:var(--ink)}
.stat-row span{font-size:16.5px;line-height:1.35;color:var(--muted)}

/* Coverage bento */
.bento{display:grid;grid-template-columns:7fr 5fr;gap:18px;align-items:stretch}
.tile{border-radius:var(--r-card);padding:clamp(26px,3.2vw,40px)}
.tile-feature{background:var(--tint);display:flex;flex-direction:column}
.tile-feature .chip{align-self:flex-start}
.tile-feature h3{font-size:clamp(30px,3vw,40px);letter-spacing:-.02em;margin-top:18px}
.tile-feature>p{margin-top:12px;max-width:54ch;color:var(--ink-2)}
.pill-links{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 30px}
.pill-links a{display:inline-flex;align-items:center;gap:8px;background:var(--surface);color:var(--ink);text-decoration:none;font-size:16.5px;font-weight:700;border-radius:999px;padding:11px 16px;min-height:46px;transition:box-shadow .18s ease}
.pill-links a:hover{box-shadow:inset 0 0 0 1.5px var(--accent);color:var(--ink)}
.tile-feature .btn{align-self:flex-start;margin-top:auto}
.tile-list{background:var(--surface);border:1px solid var(--line);padding:8px 10px}
.row-link{display:grid;grid-template-columns:1fr 44px;gap:14px;align-items:center;padding:16px;border-radius:16px;text-decoration:none;color:var(--ink);transition:background-color .18s ease}
.row-link+.row-link{border-top:1px solid var(--line)}
.row-link:hover{background:var(--panel);color:var(--ink)}
.row-link b{display:block;font-family:var(--disp);font-size:22px;font-weight:650;letter-spacing:-.02em;line-height:1.2}
.row-link small{display:block;font-size:16px;color:var(--muted);margin-top:3px;line-height:1.35}
.arrow-circle{width:44px;height:44px;border-radius:50%;background:var(--panel);display:grid;place-items:center;transition:background-color .18s ease}
.arrow-circle::before{content:"";width:9px;height:9px;border-top:2px solid var(--ink);border-right:2px solid var(--ink);transform:translateX(-2px) rotate(45deg)}
.row-link:hover .arrow-circle{background:var(--accent)}
.row-link:hover .arrow-circle::before{border-color:#fff}

/* Kentucky rule: number tiles, regulation quote */
.num-grid{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.num-grid li{background:rgba(243,246,248,.07);border:1px solid var(--line-deep);border-radius:20px;padding:20px 20px 22px;color:var(--on-deep);font-size:17.5px;line-height:1.4}
.num-grid li b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--accent-light);color:var(--deep);font-family:var(--disp);font-size:19px;font-weight:700;margin-bottom:14px}
.reg-quote{margin-top:14px;padding:22px 24px;border-radius:20px;background:rgba(243,246,248,.04);border:1px solid var(--line-deep)}
.reg-quote p{font-family:var(--disp);font-size:20px;font-weight:500;line-height:1.4;letter-spacing:-.01em;color:var(--on-deep)}
.reg-quote cite{display:block;font-style:normal;font-size:15px;color:var(--on-deep-muted);margin-top:10px}
.rule-copy p{margin-top:18px;max-width:52ch}
.rule-copy .btn{margin-top:30px}

/* Stepper: numbered circles on a thin track */
.stepper,.ledger{list-style:none;counter-reset:step;position:relative}
.stepper li,.ledger li{counter-increment:step;position:relative;display:grid;grid-template-columns:56px 1fr;gap:20px;padding:0 0 34px}
.stepper li::before,.ledger li::before{content:counter(step);display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--tint);color:var(--accent-hover);font-family:var(--disp);font-size:22px;font-weight:700;position:relative;z-index:1}
.stepper li:not(:last-child)::after,.ledger li:not(:last-child)::after{content:"";position:absolute;left:27px;top:60px;bottom:4px;width:2px;background:var(--line)}
.stepper li:last-child,.ledger li:last-child{padding-bottom:0}
.stepper h3,.ledger h3{font-size:24px;margin-top:12px}
.stepper p,.ledger p{margin-top:6px;color:var(--muted);max-width:58ch}

/* Meet Mike */
.mike{grid-template-columns:5fr 7fr;align-items:center}
.mike-photo{width:100%;max-width:400px;aspect-ratio:1/1;object-fit:cover;object-position:50% 18%;border-radius:var(--r-img);background:#fff}
.big-quote{font-family:var(--disp);font-size:clamp(28px,3.1vw,40px);font-weight:560;line-height:1.18;letter-spacing:-.018em;color:var(--ink)}
.quote-by{margin-top:16px;font-size:16px;font-weight:700;color:var(--accent-hover)}
.mike .body-copy{margin-top:22px;max-width:56ch}
.mike .text-link{margin-top:18px}

/* About page */
.about-hero{align-items:center}
.about-photo{position:relative;justify-self:end;width:100%;max-width:380px}
.about-photo img{width:100%;aspect-ratio:4/4.6;object-fit:cover;object-position:50% 10%;border-radius:var(--r-img);background:#fff}
.about-photo .photo-chip{left:-24px;bottom:22px;min-width:0}
.narrow-quote{max-width:980px}
.on-dark .big-quote{color:var(--on-deep)}
.on-dark .quote-by{color:var(--accent-light)}
.on-dark .after{margin-top:22px;max-width:62ch;color:var(--on-deep-muted)}

/* Reviews placeholder */
.review-slot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 32px;background:var(--surface);border:1px dashed var(--line-2);border-radius:var(--r-card);padding:clamp(24px,3vw,36px)}
.review-slot h3{max-width:30ch}
.review-slot p{margin-top:8px;color:var(--muted);max-width:60ch}

/* Inner page hero: tinted panel with call card */
.page-hero{padding:var(--edge) var(--edge) 0}
.page-hero>.wrap{background:var(--panel);border-radius:var(--r-panel);padding-top:clamp(36px,5vw,72px);padding-bottom:clamp(40px,5.5vw,76px);max-width:none}
.page-hero>.wrap>*{max-width:calc(var(--maxw) - var(--gutter) * 2);margin-left:auto;margin-right:auto}
.page-hero-grid{display:grid;grid-template-columns:8fr 4fr;gap:clamp(28px,5vw,72px);align-items:end}
.crumbs{font-size:15.5px;color:var(--muted);margin-bottom:22px}
.crumbs a{color:var(--muted);text-decoration:none;font-weight:600}
.crumbs a:hover{color:var(--ink)}
.crumbs span{margin:0 8px;color:var(--line-2)}
.page-hero h1{font-size:clamp(40px,5vw,64px);max-width:19ch}
.call-card{background:var(--surface);border-radius:var(--r-card);padding:18px;display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center;box-shadow:var(--shadow)}
.call-card img{width:72px;height:72px;object-fit:cover;object-position:50% 18%;border-radius:50%;background:#fff}
.call-card .t{display:block;font-size:15.5px;color:var(--muted);line-height:1.35}
.call-card a{display:block;font-family:var(--disp);font-size:23px;font-weight:700;letter-spacing:-.02em;color:var(--ink);text-decoration:none;margin-top:4px;white-space:nowrap}
.call-card a:hover{color:var(--accent)}

/* Article layout */
.article{padding:clamp(56px,7vw,96px) 0}
.article-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(32px,5vw,80px);align-items:start}
.article section+section{margin-top:clamp(56px,6.5vw,84px)}
.article h2{font-size:clamp(30px,3.2vw,42px);max-width:22ch}
.article h2+p,.article h2+.lead{margin-top:14px}
.article .prose{margin-top:16px}
.aside{position:sticky;top:108px;display:grid;gap:14px}
.aside-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:22px 22px 24px}
.aside-box h4{font-size:19px}
.aside-box ul{list-style:none;margin-top:8px}
.aside-box li a:not(.btn){display:block;padding:9px 12px;margin:0 -12px;border-radius:12px;font-size:16.5px;font-weight:600;line-height:1.35;color:var(--ink);text-decoration:none}
.aside-box li a:not(.btn):hover{background:var(--panel)}
.aside-box p{font-size:16.5px;color:var(--muted);margin-top:8px;line-height:1.5}
.aside-box .btn{width:100%;margin-top:14px}
.aside-box .text-link{font-size:17px;color:var(--ink)}

/* Key facts tiles */
.keyfacts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.keyfacts>div{background:var(--panel);border-radius:18px;padding:18px 20px 20px}
.keyfacts dt{font-family:var(--disp);font-size:20px;font-weight:650;letter-spacing:-.015em;color:var(--ink)}
.keyfacts dd{margin:6px 0 0;color:var(--muted);font-size:17px;line-height:1.5}

/* Tables */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:26px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}
table.compare{width:100%;border-collapse:collapse;min-width:640px;font-size:17px}
table.compare caption{text-align:left;padding:14px 20px;font-size:15px;color:var(--muted);caption-side:bottom;border-top:1px solid var(--line)}
table.compare th,table.compare td{padding:16px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
table.compare thead th{font-family:var(--disp);font-size:19px;font-weight:650;letter-spacing:-.015em;color:var(--ink);background:var(--panel);border-bottom:0}
table.compare tbody th{font-weight:700;width:25%;color:var(--ink)}
table.compare tbody tr:last-child th,table.compare tbody tr:last-child td{border-bottom:0}

/* Callout */
.note{background:var(--tint);border-radius:18px;padding:18px 22px;margin-top:22px;max-width:70ch;color:var(--ink-2)}
.note b{color:var(--ink)}
.note p+p{margin-top:10px}

/* Numbered conditions (inner pages) */
.conditions{list-style:none;counter-reset:c;margin-top:20px;display:grid;gap:10px}
.conditions li{counter-increment:c;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;background:var(--panel);border-radius:16px;padding:12px 16px;font-size:18px}
.conditions li::before{content:counter(c);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--surface);color:var(--accent-hover);font-family:var(--disp);font-size:18px;font-weight:700}
.conditions li b{font-weight:700;color:var(--ink)}

/* Timeline */
.timeline{list-style:none;margin-top:28px;position:relative}
.timeline li{position:relative;padding:0 0 28px 38px}
.timeline li::before{content:"";position:absolute;left:4px;top:7px;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--tint)}
.timeline li:not(:last-child)::after{content:"";position:absolute;left:10px;top:26px;bottom:2px;width:2px;background:var(--line)}
.timeline li:last-child{padding-bottom:0}
.timeline .when{display:block;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.timeline h3{font-size:23px;margin-top:4px}
.timeline p{margin-top:6px;color:var(--muted);max-width:62ch}

/* Checklist (printable boxes) */
.checklist{list-style:none;margin-top:18px;display:grid;gap:8px}
.checklist li{position:relative;padding:14px 16px 14px 54px;background:var(--surface);border:1px solid var(--line);border-radius:16px;line-height:1.45}
.checklist li::before{content:"";position:absolute;left:16px;top:15px;width:24px;height:24px;border:2px solid var(--line-2);border-radius:8px;background:var(--surface)}
.checklist li b{display:block;color:var(--ink)}

/* FAQ */
.faq-list{display:grid;gap:10px}
.faq-list details{background:var(--surface);border:1px solid var(--line);border-radius:18px;transition:border-color .18s ease}
.faq-list details[open]{border-color:var(--line-2)}
.faq-list summary{list-style:none;cursor:pointer;position:relative;padding:20px 64px 20px 22px;font-family:var(--disp);font-size:21px;font-weight:650;letter-spacing:-.015em;line-height:1.3;color:var(--ink);min-height:48px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";position:absolute;right:22px;top:50%;width:32px;height:32px;margin-top:-16px;border-radius:50%;background:var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' fill='none' stroke='%230b7a66' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat;transition:transform .2s ease}
.faq-list details[open] summary::after{transform:rotate(180deg)}
.faq-list .answer{padding:0 22px 22px;color:var(--ink-2);max-width:66ch}
.faq-list .answer p+p{margin-top:10px}
.article .faq-list{margin-top:22px}
.faq-grid{display:grid;grid-template-columns:4fr 8fr;gap:clamp(28px,5vw,80px);align-items:start}

/* Lead form band: navy panel */
.review{padding:var(--section-y) var(--edge) var(--edge)}
.review>.wrap{background:var(--deep);border-radius:var(--r-panel);padding-top:clamp(40px,6vw,88px);padding-bottom:clamp(40px,6vw,88px);max-width:none}
.review-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,5vw,80px);align-items:start;max-width:calc(var(--maxw) - var(--gutter) * 2);margin:0 auto}
.phone-xl{display:inline-block;font-family:var(--disp);font-size:clamp(36px,4.2vw,52px);font-weight:650;letter-spacing:-.02em;line-height:1.05;color:var(--on-deep);text-decoration:none;margin-top:28px;white-space:nowrap}
.phone-xl:hover{color:var(--accent-light)}
.phone-caption{font-size:16px;color:var(--on-deep-muted);margin-top:6px}
.bring{margin-top:30px}
.bring h3{font-size:21px;color:var(--on-deep)}
.review .checklist li{background:rgba(243,246,248,.06);border-color:var(--line-deep);color:var(--on-deep-muted)}
.review .checklist li b{color:var(--on-deep)}
.review .checklist li::before{border:0;border-radius:50%;background:var(--accent-light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%230f2540' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.review .text-link{color:var(--on-deep)}

/* Forms */
.form-card{background:var(--surface);border-radius:26px;padding:clamp(22px,3.2vw,40px);box-shadow:var(--shadow);color:var(--ink-2)}
.form-card h3{font-size:28px;color:var(--ink)}
.form-card .form-intro{color:var(--muted);font-size:17px;margin-top:6px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1 / -1}
.field label{font-size:16px;font-weight:700;color:var(--ink)}
.field label .opt{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{font-family:var(--body);font-size:18px;color:var(--ink);background:var(--bg);border:1.5px solid var(--line-2);border-radius:var(--r-input);min-height:56px;padding:12px 16px;width:100%;transition:border-color .15s ease,box-shadow .15s ease}
.field textarea{min-height:112px;resize:vertical;line-height:1.5}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 4px rgba(11,122,102,.16);background:var(--surface)}
.hp{position:absolute !important;left:-10000px !important;width:1px;height:1px;overflow:hidden}
.check{display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:start;margin-top:20px;font-size:15px;line-height:1.5;color:var(--muted);cursor:pointer}
.check input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--accent)}
.demo-flag{margin-top:18px;font-size:14.5px;line-height:1.45;color:var(--muted);background:var(--panel);border-radius:12px;padding:10px 14px}
.form-actions{margin-top:20px}
.form-actions .btn{width:100%}
.consent{font-size:14.5px;line-height:1.5;color:var(--muted);margin-top:14px}
.consent b{color:var(--ink)}
.form-status{margin-top:14px;font-size:16.5px;font-weight:700}
.form-status:empty{display:none}
.form-status.error{color:#a13a2b}
.form-status.notice{color:var(--ink);font-weight:400;background:var(--tint);border-radius:14px;padding:12px 16px}
.form-status.notice a{font-weight:700}
.form-success h3{font-size:28px;color:var(--ink)}
.form-success p{margin-top:12px;color:var(--ink-2)}
.form-success .btn{margin-top:18px}

/* Disclaimers and footer */
.disclaimers{border-top:1px solid var(--line);margin-top:40px;padding-top:26px;display:grid;gap:12px;font-size:14.5px;line-height:1.55;color:var(--muted);max-width:94ch}
.disclaimers b{color:var(--ink)}
.disclaimers .sample{background:var(--surface);color:var(--muted)}
.site-footer{background:var(--panel);color:var(--muted);padding:clamp(52px,6.5vw,84px) 0 36px;font-size:17px;margin:0 var(--edge) var(--edge);border-radius:var(--r-panel)}
.footer-grid{display:grid;grid-template-columns:5fr 3fr 3fr;gap:clamp(28px,4vw,64px)}
.site-footer .wordmark{color:var(--ink)}
.site-footer h4{font-family:var(--body);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.site-footer ul{list-style:none}
.site-footer li{margin-bottom:6px}
.site-footer a{color:var(--ink);text-decoration:none}
.site-footer a:hover{color:var(--accent);text-decoration:underline}
.site-footer .nap{margin-top:16px;line-height:1.6}
.site-footer .nap a{font-family:var(--disp);font-size:26px;font-weight:650;letter-spacing:-.02em}
.footer-bottom{border-top:1px solid var(--line);margin-top:28px;padding-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:14.5px}

/* Sticky mobile call bar */
.callbar{display:none}

/* Landing pages */
.lp-header .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:78px}
.lp-phone{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--muted);line-height:1.2}
.lp-phone a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:8px 18px;border-radius:999px;background:var(--panel);font-family:var(--disp);font-size:20px;font-weight:650;letter-spacing:-.015em;color:var(--ink);text-decoration:none;white-space:nowrap}
.lp-phone a svg{width:18px;height:18px;color:var(--accent)}
.lp-phone a:hover{background:var(--tint);color:var(--ink)}
.lp-hero{padding:0 var(--edge)}
.lp-hero>.wrap{background:var(--deep);border-radius:var(--r-panel);max-width:none;padding-top:clamp(40px,6vw,88px);padding-bottom:clamp(40px,6vw,88px)}
.lp-grid{display:grid;grid-template-columns:minmax(0,6.3fr) minmax(0,5.7fr);grid-template-rows:auto 1fr;grid-template-areas:"intro form" "more form";gap:0 clamp(32px,5vw,72px);align-items:start;max-width:calc(var(--maxw) - var(--gutter) * 2);margin:0 auto}
.lp-intro{grid-area:intro;color:var(--on-deep-muted)}
.lp-more{grid-area:more}
.lp-grid>.form-card{grid-area:form}
.lp-hero h1{font-size:clamp(38px,4.8vw,62px);max-width:15ch;color:var(--on-deep)}
.lp-hero h1 em{color:var(--accent-light)}
.lp-hero .lead{color:var(--on-deep-muted)}
.lp-kicker{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:15px;font-weight:600;line-height:1.35;color:var(--on-deep);background:rgba(243,246,248,.1);border-radius:18px;padding:8px 16px;margin-bottom:24px}
.lp-kicker b{color:var(--accent-light)}
.lp-points{list-style:none;margin-top:34px;display:grid;gap:14px}
.lp-points li{display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:start}
.lp-points li::before{content:"";width:32px;height:32px;border-radius:50%;background:var(--accent-light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%230f2540' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat;margin-top:2px}
.lp-points b{display:block;color:var(--on-deep);font-size:19px}
.lp-points span{color:var(--on-deep-muted);font-size:17px}
.mini-bio{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:center;margin-top:34px;background:rgba(243,246,248,.06);border:1px solid var(--line-deep);border-radius:20px;padding:14px 18px}
.mini-bio img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 18%;background:#fff}
.mini-bio p{font-size:16px;color:var(--on-deep-muted);line-height:1.45}
.mini-bio b{color:var(--on-deep)}
.lp-section{padding:var(--section-y) 0}
.lp-section[style*="background"]{margin:0 var(--edge);border-radius:var(--r-panel)}
.chapter-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,5vw,80px);align-items:start}
.margin-note{background:var(--surface);border-radius:20px;padding:22px 24px;margin-top:28px;box-shadow:var(--shadow)}
.margin-note .cite{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.margin-note p{font-family:var(--disp);font-size:20px;font-weight:500;line-height:1.4;letter-spacing:-.01em;color:var(--ink);margin-top:8px}
.margin-note .src{display:block;font-size:15px;color:var(--muted);margin-top:10px}
.lp-footer{background:var(--panel);color:var(--muted);padding:40px 0;font-size:15px;margin:0 var(--edge) var(--edge);border-radius:var(--r-panel)}
.lp-footer a{color:var(--ink)}
.lp-footer .disclaimers{margin-top:0;border-top:0;padding-top:0}

/* Printable checklist page */
.print-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.check-section{margin-top:48px}
.check-section h2{font-size:clamp(28px,3vw,36px)}
.check-section .when{display:block;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}

/* Motion */
.rise{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.rise.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none !important;animation:none !important}.rise{opacity:1;transform:none}}
html.noanim *{transition:none !important;animation:none !important}
html.noanim .rise{opacity:1;transform:none}

/* Responsive */
@media (max-width:1100px){
  .header-cta span{display:none}
  .header-cta{padding:10px 14px}
}
@media (max-width:980px){
  .nav>ul,.header-cta{display:none}
  .menu-btn{display:inline-flex}
  .article-grid{grid-template-columns:minmax(0,1fr)}
  .aside{position:static;grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid>div:first-child{grid-column:1 / -1}
  .bento{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
  body{font-size:18.5px}
  .hero-panel>.wrap,.panel-grid,.split-2,.faq-grid,.review-grid,.page-hero-grid,.chapter-grid,.sec-head.split,.mike,.lp-grid{grid-template-columns:minmax(0,1fr)}
  .hero-panel>.wrap{padding-bottom:clamp(88px,20vw,120px)}
  .hero-photo{justify-self:start;max-width:420px;order:-1}
  .hero-photo{max-width:none}
  .hero-photo img{aspect-ratio:5/4;object-position:50% 9%}
  .about-photo{justify-self:start;max-width:none}
  .about-photo img{aspect-ratio:5/4;object-position:50% 9%}
  .photo-chip{left:14px;bottom:14px;min-width:0}
  .stat-row{grid-template-columns:1fr}
  .stat-row li+li{border-left:0;border-top:1px solid var(--line)}
  .sticky{position:static}
  .page-hero-grid .call-card{max-width:440px}
  .lp-grid{grid-template-areas:"intro" "form" "more";grid-template-rows:auto}
  .lp-grid>.form-card{margin-top:28px}
  .mike-photo{max-width:320px}
  .sec-head.split .lead{margin-top:14px}
}
@media (max-width:720px){
  .fields{grid-template-columns:1fr}
  .aside{grid-template-columns:1fr}
  .keyfacts{grid-template-columns:1fr}
  .num-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .wordmark{font-size:21px}
  .callbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:90;background:rgba(15,37,64,.96);border-radius:999px;padding:6px;box-shadow:var(--shadow);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  .callbar .btn{min-height:50px;padding:10px 12px;font-size:17px}
  .callbar .btn-ghost{color:var(--on-deep);box-shadow:none;background:rgba(243,246,248,.1)}
  body.has-callbar{padding-bottom:84px}
  body.menu-open .callbar{display:none}
  .lp-phone .t{display:none}
  .lp-phone a{font-size:17px;padding:8px 14px}
  .stepper li,.ledger li{grid-template-columns:46px 1fr;gap:16px}
  .stepper li::before,.ledger li::before{width:46px;height:46px;font-size:19px}
  .stepper li:not(:last-child)::after,.ledger li:not(:last-child)::after{left:22px;top:50px}
  .stepper h3,.ledger h3{margin-top:8px;font-size:22px}
  table.compare{font-size:16px}
  .call-card{grid-template-columns:60px 1fr}
  .call-card img{width:60px;height:60px}
  .faq-list summary{font-size:19px;padding:18px 56px 18px 18px}
  .faq-list .answer{padding:0 18px 20px}
  .review-slot{flex-direction:column;align-items:flex-start}
}

@media (max-width:480px){
  .lp-phone a .num{display:none}
  .lp-phone a{width:48px;height:48px;padding:0}
  .lp-phone a svg{width:22px;height:22px}
}

/* Print */
@media print{
  .site-header,.overlay,.callbar,.site-footer .footer-grid,.print-actions,.review,.skip{display:none !important}
  body{background:#fff;font-size:12pt;color:#000}
  .page-hero>.wrap{background:#fff;padding:0}
  .site-footer{background:#fff;color:#000;padding:12pt 0}
  .site-footer .disclaimers{color:#000;border-color:#999}
  .checklist li{border-color:#999}
  .checklist li::before{border-color:#000}
  a{color:#000;text-decoration:none}
}
