/* ============================================================
   Grove Financial Group Inc. - shared site stylesheet (grove.css)
   Brand system: forest #1A3A2E, teal #0F5F5C, gold #C9A84C, cream #F5EDD8
   Fonts: Cormorant Garamond (headings), Barlow Condensed (body/UI)
   One file for header, nav, footer, buttons, sections, cards, FAQ, forms.
   Page: <link rel="stylesheet" href="/css/grove.css"> in <head>.
   Keep page-only CSS in a small <style> AFTER this link.
   Built Nov 12 2026 from the /retirement/ template; class names unchanged.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Barlow+Condensed:wght@400;500;600;700&display=swap');

:root{
  --forest:#1A3A2E;        /* primary dark */
  --forest-2:#234d3e;      /* gradient partner */
  --forest-deep:#122a21;   /* footer */
  --teal:#0F5F5C;          /* accent on light backgrounds, links */
  --gold:#C9A84C;          /* CTA, accents on dark backgrounds */
  --gold-2:#d8ba63;        /* CTA hover */
  --cream:#F5EDD8;         /* text on dark, page background */
  --cream-dim:#e9e2cf;     /* secondary text on dark */
  --cream-mute:#c9c0a8;    /* tertiary text on dark */
  --bg:#F5EDD8;            /* page background */
  --tint:#eef3ef;          /* soft teal tint boxes */
  --line:#e3dccb;          /* borders on light */
  --line-2:#cfc6b0;
  --ink:#22302a;           /* body text */
  --ink-2:#4d5a53;
  --ink-3:#66705f;
}
/* ── SITE HEADER ── */
        .site-header { position: sticky; top: 0; z-index: 1100; background: var(--forest); border-bottom: 3px solid var(--gold); box-shadow: 0 2px 14px rgba(0,0,0,0.25); }
        .header-content { max-width: 1320px; overflow:hidden; margin: 0 auto; padding: 10px 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
        .brand { white-space: nowrap; line-height: 1.2; }
        .logo { font-family:'Cormorant Garamond',Georgia,serif; color: var(--cream); text-decoration: none; font-size: 1.45rem; font-weight: 700; display: block; }
        .logo span { color: var(--gold); }
        .tagline { display: block; font-size: 0.8rem; font-weight: 600; color: var(--cream); margin-top: 2px; }
        .site-nav { display: flex; align-items: center; gap: 18px; min-width: 0; }
        .nav-list { list-style: none; display: flex; align-items: center; gap: 18px; white-space: nowrap; }
        .nav-list a { color: var(--cream); text-decoration: none; font-size: .95rem; letter-spacing:.01em; font-weight: 600; padding: 4px 0; border-bottom: 2px solid transparent; }
        .nav-list a:hover { color: #fff; border-bottom-color: var(--gold); }
        .nav-list a.active { color: #fff; border-bottom-color: var(--gold); }
        .nav-call { background: var(--gold); color: var(--forest); text-decoration: none; font-size: 1rem; font-weight: 700; padding: 9px 16px; border-radius: 6px; white-space: nowrap; }
        .nav-call:hover { background: var(--gold-2); }
        @media (max-width: 1240px) {
            .header-content { flex-wrap: wrap; gap: 8px 16px; padding: 10px 16px 0; }
            .site-nav { order: 3; width: 100%; overflow-x: auto; scrollbar-width: none; padding-bottom: 10px; }
            .site-nav::-webkit-scrollbar { display: none; }
            .nav-call { display: none; }
        }
        @media (max-width: 480px) { .tagline { font-size: 0.72rem; } .logo { font-size: 1.05rem; } }
        /* Life Insurance dropdown */
        .has-sub { position: relative; }
        .has-sub > a::after { content: " \25BE"; font-size: .75em; }
        .has-sub > .sub { display: none; position: absolute; top: 100%; left: -14px; min-width: 200px; margin: 0; padding: 8px 0; list-style: none; background: var(--forest); border: 1px solid var(--gold); border-radius: 6px; box-shadow: 0 8px 24px rgba(0,0,0,.25); z-index: 1300; }
        .has-sub::before { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 12px; }
        .has-sub:hover > .sub, .has-sub:focus-within > .sub { display: block; }
        .has-sub > .sub a { display: block; padding: 8px 16px; border-bottom: 0; white-space: nowrap; color: var(--cream); }
        .has-sub > .sub a:hover { color: var(--gold); background: rgba(127,127,127,.14); border-bottom: 0; }
        .has-sub > .sub a[aria-current="page"] { color: var(--gold); font-weight: 700; border-bottom: 0; }
        @media (max-width: 1240px) {
            .has-sub, .has-sub > .sub, .has-sub > .sub li { display: contents; }
            .has-sub::before { display: none; }
            .has-sub > a::after { content: none; }
            .has-sub > .sub > a:first-child, .has-sub > .sub > li:first-child { display: none; }
            .has-sub > .sub a { display: inline; padding: 4px 0; background: none; }
        }

*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-size:17px;line-height:1.65;color:var(--ink);background:var(--bg)}
img{max-width:100%}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;color:var(--forest);line-height:1.2;font-weight:700}
.hero{background:linear-gradient(135deg,var(--forest) 0%,var(--teal) 100%);color:#fff;padding:72px 0 64px}
.hero h1{color:#fff;font-size:clamp(2rem,4.6vw,3.1rem);margin-bottom:16px;max-width:820px}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero .lede{font-size:1.15rem;color:var(--cream-dim);max-width:760px;margin-bottom:28px}
.hero .eyebrow{color:var(--gold)}
.eyebrow{font-size:.85rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:12px}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.btn{display:inline-block;background:var(--gold);color:var(--forest);text-decoration:none;font-weight:700;padding:15px 30px;border-radius:8px;border:2px solid var(--gold);cursor:pointer;font-size:1rem;font-family:inherit}
.btn:hover{background:var(--gold-2);border-color:var(--gold-2)}
.btn.ghost{background:transparent;border-color:var(--gold);color:var(--cream);margin-left:10px}
.btn.ghost:hover{background:rgba(255,255,255,.12)}
.btn.dark{background:var(--teal);border-color:var(--teal);color:#fff}
.hero-note{margin-top:18px;font-size:.9rem;color:var(--cream-mute)}
.sec{padding:64px 0}
.sec.alt{background:#fff}
.sec.dark{background:var(--forest);color:var(--cream-dim)}
.sec.dark h2,.sec.dark h3{color:#fff}
.sec-head{max-width:780px;margin-bottom:36px}
.sec-head h2{font-size:clamp(1.6rem,3.2vw,2.3rem);margin-bottom:12px}
.sec-head p{font-size:1.08rem;color:var(--ink-2)}
.dark .sec-head p{color:var(--cream-dim)}
.dark .eyebrow{color:var(--gold)}
.ledger{background:#fff;border-radius:12px;padding:26px 26px;color:var(--ink);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.ledger h4{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:12px}
.ledger ul{list-style:none}
.ledger li{padding:12px 0;border-bottom:1px solid var(--line);display:flex;gap:14px}
.ledger li:last-child{border-bottom:0}
.ledger li b{color:var(--gold);flex:none;width:24px}
.ledger li span{font-size:.98rem}
.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.sec.alt .card{background:var(--bg)}
.card h3{font-size:1.2rem;margin-bottom:10px}
.card p{color:var(--ink-2);font-size:1rem;margin:0}
.card p+p{margin-top:10px}
.tag{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:8px}
.mono{width:48px;height:48px;border-radius:50%;border:2px solid var(--gold);font-family:'Cormorant Garamond',Georgia,serif;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--forest);margin-bottom:14px;font-size:1.2rem}
.mechanic{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.state{border:1px solid rgba(255,255,255,.2);padding:24px 22px;border-radius:10px;background:rgba(255,255,255,.05)}
.state-label{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.bars{display:flex;align-items:flex-end;gap:14px;height:150px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.3)}
.bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}
.bar i{display:block;width:100%;border-radius:2px 2px 0 0}
.bar-market i{background:rgba(255,255,255,.3)}
.bar-you i{background:var(--gold)}
.bar-down i{background:rgba(231,120,100,.7)}
.bar em{font-style:normal;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cream-dim);margin-top:8px}
.state p{font-size:.95rem;color:var(--cream-dim);margin:0}
.state b{color:var(--gold)}
.mech-note{font-size:.85rem;color:var(--cream-mute);margin-top:24px;max-width:90ch}
.honest{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.honest>div{padding:28px 28px}
.honest>div+div{border-left:1px solid var(--line);background:var(--bg)}
.honest h3{margin-bottom:14px}
.honest ul{list-style:none}
.honest li{padding:11px 0 11px 28px;border-top:1px solid var(--line);position:relative;font-size:.98rem}
.honest li:first-child{border-top:0}
.honest .yes li::before{content:"\2713";position:absolute;left:2px;color:#27ae60;font-weight:800}
.honest .no li::before{content:"\2013";position:absolute;left:4px;color:#c0392b;font-weight:800}
.fit{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.fit h3{margin-bottom:12px}
.fit ul{list-style:none}
.fit li{padding:10px 0;border-bottom:1px dotted var(--line-2)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.step-n{width:38px;height:38px;border-radius:50%;background:var(--tint);color:var(--teal);font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
details{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:10px}
summary{cursor:pointer;padding:18px 48px 18px 22px;font-weight:600;color:var(--forest);font-family:'Cormorant Garamond',Georgia,serif;position:relative;list-style:none;font-size:1.25rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:20px;top:12px;font-size:1.5rem;color:var(--gold)}
details[open] summary::after{content:"\00d7"}
details p{padding:0 22px 18px;color:var(--ink-2)}
.faq{max-width:860px}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.cta-points{list-style:none;margin-top:20px}
.cta-points li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.18);color:var(--cream-dim)}
.form-card{background:#fff;border-radius:12px;padding:28px;color:var(--ink)}
.field{margin-bottom:14px}
.field label{display:block;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line-2);border-radius:6px;padding:12px;font:inherit;background:#fff;color:var(--ink)}
.field textarea{min-height:84px;resize:vertical}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-status{min-height:20px;margin-top:10px;font-weight:600}
.form-status.ok{color:#1e8449}.form-status.err{color:#c0392b}
.form-fine{font-size:.82rem;color:var(--ink-3);margin-top:12px;line-height:1.55}
.form-alt{font-size:.95rem;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.form-alt a,.form-fine a{color:var(--teal)}
button[disabled]{opacity:.6;cursor:default}
.legal-note{background:var(--tint);border-left:4px solid var(--gold);padding:16px 20px;border-radius:6px;font-size:.95rem;color:var(--ink-2);margin-top:26px}
.box{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px}
.aff{font-size:.85rem;color:var(--ink-3);margin-top:10px}
.site-footer-min{background:var(--forest-deep);color:var(--cream-dim);padding:36px 24px;font-size:13px;line-height:1.7}
.site-footer-min .in{max-width:1000px;margin:0 auto}
.site-footer-min a{color:var(--gold)}
.site-footer-min p{margin-bottom:10px}
.site-footer-min .disc{border-top:1px solid rgba(255,255,255,.15);margin-top:16px;padding-top:16px;font-size:12.5px;color:var(--cream-mute)}
@media (max-width:960px){.hero-grid,.honest,.fit,.cta-grid,.g2,.g3,.g4{grid-template-columns:1fr}.honest>div+div{border-left:0;border-top:1px solid var(--line)}.mechanic{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.steps,.field-row{grid-template-columns:1fr}.btn.ghost{margin-left:0;margin-top:10px}.hero{padding:48px 0}.sec{padding:44px 0}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}html{scroll-behavior:auto}}
html{scroll-behavior:smooth}

.cmp{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);min-width:560px}
.cmp th,.cmp td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:.97rem}
.cmp thead th{background:var(--forest);color:#fff;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.cmp tbody th{color:var(--forest);width:24%}
.two{display:grid;grid-template-columns:1fr 440px;gap:48px;align-items:start}
.checks{list-style:none}
.checks li{padding:14px 0 14px 34px;border-bottom:1px solid var(--line);position:relative}
.checks li::before{content:"\2713";position:absolute;left:4px;top:14px;color:var(--teal);font-weight:800}
.checks b{display:block;color:var(--forest)}
.part{display:inline-block;background:var(--forest);color:#fff;border-radius:20px;padding:4px 14px;font-size:.85rem;font-weight:700;margin-bottom:10px}
@media (max-width:1040px){.two{grid-template-columns:1fr}}
