:root{
  /* Living My Plan palette
     Source: #0E2C40 · #1A4A5A · #148D8D · #C1E1A7 · #EFBC75
     Token names kept as-is (navy/amber) for drop-in compat with existing rules. */
  --navy:#0E2C40;        /* deepest — page bg / rail / header */
  --navy-mid:#1A4A5A;    /* teal-navy — secondary surfaces */
  --navy-deep:#0A2030;   /* derived — for gradients */
  --amber:#148D8D;       /* primary accent — links, CTAs, active states */
  --amber-hover:#0F7575; /* hover state */
  --amber-soft:rgba(20,141,141,.14);
  --accent:var(--amber);
  --accent-hover:var(--amber-hover);
  --accent-soft:var(--amber-soft);
  --white:#ffffff;
  --text:#ffffff;
  --text-muted:rgba(255,255,255,.80);
  --text-dim:rgba(255,255,255,.58);
  --border:rgba(193,225,167,.10);
  --border-strong:rgba(193,225,167,.20);
  --card:rgba(255,255,255,.04);
  --card-hover:rgba(255,255,255,.07);
  --radius:14px;
  --shadow:0 2px 20px rgba(0,0,0,.28);

  --status-complete:#C1E1A7;        /* sage — done */
  --status-active:#EFBC75;          /* ochre — in progress / attention */
  --status-overdue:#D06A4E;         /* warm terracotta — overdue */
  --status-upcoming:rgba(255,255,255,.45);
}

/* Amber accent alternative */
body[data-accent="amber"]{
  --accent:#EFBC75;
  --accent-hover:#D9A960;
  --accent-soft:rgba(239,188,117,.14);
  --status-active:#EFBC75;
}

/* Teal accent alternative */
body[data-accent="teal"]{
  --accent:#148D8D;
  --accent-hover:#0F7575;
  --accent-soft:rgba(20,141,141,.14);
  --status-active:#148D8D;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body, 'Manrope',sans-serif);color:var(--text);background:var(--navy);line-height:1.65;-webkit-font-smoothing:antialiased;font-weight:500;min-height:100vh}
em,.em{font-style:italic;color:var(--accent);font-weight:800}
button{font-family:inherit}
a{color:inherit}

/* ── HEADER ── */
header.site-header{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:18px 44px;background:rgba(14,44,64,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);gap:24px}
.logo{display:inline-flex;align-items:center;text-decoration:none;background:#fff;padding:8px 16px;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.logo-mark{font-family:'Manrope',sans-serif;font-weight:900;font-size:20px;color:var(--navy);letter-spacing:-.02em;line-height:1;position:relative;display:inline-block}
.logo-sub{font-family:'Manrope',sans-serif;font-weight:500;font-size:9px;color:var(--navy);opacity:.7;display:block;line-height:1;margin-top:3px;letter-spacing:.04em;text-transform:lowercase}

/* ── SETUP BAR ── */
.setup-bar{position:relative}
.setup-hide-btn{position:absolute;top:16px;right:24px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:#fff;font-size:28px;line-height:1;width:36px;height:36px;border-radius:6px;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:center;padding:0;z-index:10}
.setup-hide-btn:hover{background:rgba(255,255,255,0.15);border-color:rgba(255,255,255,0.3)}

.page-badge{font-family:'Manrope',sans-serif;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--accent);padding:6px 14px;background:var(--accent-soft);border:1px solid rgba(20,141,141,.3);border-radius:999px;white-space:nowrap}
body[data-accent="teal"] .page-badge{border-color:rgba(239,188,117,.35)}

/* ── SETUP BAR ── */
.setup-bar{background:linear-gradient(135deg,var(--navy-mid) 0%,var(--navy-deep) 100%);border-bottom:2px solid var(--accent);padding:28px 44px}
.setup-inner{max-width:1180px;margin:0 auto}
.setup-intro{margin-bottom:20px}
.setup-label{font-family:'Manrope',sans-serif;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin-bottom:6px}
.setup-title{font-family:'Manrope',sans-serif;font-weight:800;font-size:20px;color:var(--white);letter-spacing:-.01em;margin-bottom:6px}
.setup-desc{font-size:14px;color:var(--text-muted);line-height:1.55;max-width:760px;font-weight:500}
.setup-form{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:end}
.setup-field{display:flex;flex-direction:column;gap:5px}
.setup-field label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}
.setup-field-hint{text-transform:none;letter-spacing:.02em;font-weight:500;color:rgba(255,255,255,.4);font-size:10px;margin-left:4px}
.setup-field input{background:rgba(255,255,255,.06);border:1px solid var(--border-strong);border-radius:8px;padding:10px 14px;color:var(--white);font-family:'Manrope',sans-serif;font-size:14px;font-weight:500;transition:all .2s}
.setup-field input:focus{outline:none;border-color:var(--accent);background:rgba(255,255,255,.09)}
.setup-field input::placeholder{color:rgba(255,255,255,.35)}
.setup-btn{background:var(--accent);color:var(--navy);padding:11px 22px;border-radius:8px;border:none;font-family:'Manrope',sans-serif;font-weight:800;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;height:42px;display:inline-flex;align-items:center;gap:8px;justify-self:start;margin-top:4px}
.setup-btn:hover{background:var(--accent-hover)}
.setup-btn::after{content:'→';transition:transform .2s}
.setup-btn:hover::after{transform:translateX(3px)}
.setup-row{grid-column:1/-1;display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:4px}
.setup-link-out{flex:1;min-width:260px;font-size:12.5px;color:var(--text-dim);font-family:'Manrope',sans-serif}
.setup-link-out code{display:inline-block;padding:6px 10px;background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:6px;font-family:ui-monospace,'SFMono-Regular',Menlo,monospace;font-size:11.5px;color:var(--text);word-break:break-all;margin-top:6px}
.setup-copy{background:transparent;border:1px solid var(--accent);color:var(--accent);padding:8px 14px;border-radius:6px;font-weight:700;font-size:12.5px;cursor:pointer;transition:all .2s}
.setup-copy:hover{background:var(--accent);color:var(--navy)}

/* ── HERO ── */
.hero{position:relative;padding:72px 44px 60px;overflow:hidden;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%)}
.hero::before{content:'';position:absolute;right:-10%;top:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(20,141,141,.06),transparent 60%);pointer-events:none}
body[data-accent="teal"] .hero::before{background:radial-gradient(circle,rgba(239,188,117,.07),transparent 60%)}
.hero-inner{position:relative;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center}
.hero-inner.stacked{grid-template-columns:1fr;gap:40px}
.hero-inner.quiet{grid-template-columns:1fr;max-width:820px;text-align:left}
.eyebrow{display:inline-block;font-family:'Manrope',sans-serif;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin-bottom:22px;padding:8px 18px;background:var(--accent-soft);border:1px solid rgba(20,141,141,.3);border-radius:999px}
body[data-accent="teal"] .eyebrow{border-color:rgba(239,188,117,.35)}
.hero h1{font-family:'Manrope',sans-serif;font-weight:900;font-size:clamp(38px,5vw,60px);line-height:1.03;color:var(--white);margin-bottom:22px;letter-spacing:-.03em;text-wrap:balance}
.hero h1 .em{font-style:italic;color:var(--accent);font-weight:900}
.hero .tagline{display:inline-block;font-family:'Manrope',sans-serif;font-weight:800;font-style:italic;font-size:clamp(15px,1.5vw,18px);color:var(--accent);letter-spacing:.01em;margin-bottom:22px;padding:6px 0;border-bottom:2px solid rgba(20,141,141,.35)}
body[data-accent="teal"] .hero .tagline{border-bottom-color:rgba(239,188,117,.4)}
.hero .sub{font-family:'Manrope',sans-serif;font-weight:700;font-style:italic;font-size:clamp(19px,2vw,24px);color:var(--text);margin-bottom:20px;line-height:1.35;max-width:620px}
.hero .lede{font-size:17px;color:var(--text-muted);margin-bottom:28px;line-height:1.7;font-weight:500;max-width:560px}

.hero-stats{display:flex;gap:36px;flex-wrap:wrap;margin-top:10px;padding-top:28px;border-top:1px solid var(--border)}
.hero-stat-val{font-family:'Manrope',sans-serif;font-weight:900;font-size:26px;color:var(--accent);letter-spacing:-.02em;line-height:1}
.hero-stat-label{font-size:12px;color:var(--text-dim);font-weight:600;text-transform:uppercase;letter-spacing:1.2px;margin-top:6px}

/* Advisor card */
.advisor-card{background:linear-gradient(135deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.02) 100%);border:1px solid var(--border-strong);border-radius:18px;padding:32px 30px;backdrop-filter:blur(10px);position:relative}
.advisor-card::before{content:'';position:absolute;top:-1px;left:24px;right:24px;height:3px;background:var(--accent);border-radius:0 0 3px 3px}
.advisor-card-label{font-family:'Manrope',sans-serif;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin-bottom:14px}
.advisor-card-name{font-family:'Manrope',sans-serif;font-weight:800;font-size:22px;color:var(--white);letter-spacing:-.01em;line-height:1.15;margin-bottom:4px}
.advisor-card-firm{font-family:'Manrope',sans-serif;font-style:italic;font-weight:600;font-size:14.5px;color:var(--text-muted);margin-bottom:20px;line-height:1.4}
.advisor-card-contact{display:flex;flex-direction:column;gap:9px;margin-bottom:20px}
.advisor-card-contact a{display:inline-flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-size:13.5px;font-weight:600;transition:color .2s;cursor:pointer}
.advisor-card-contact a:hover{color:var(--accent)}
.advisor-card-contact svg{width:15px;height:15px;fill:var(--accent);flex-shrink:0}
.advisor-card-note{font-family:'Manrope',sans-serif;font-style:italic;font-size:12.5px;color:var(--text-dim);line-height:1.55;padding-top:16px;border-top:1px solid var(--border);font-weight:500}

/* ── CONTENT WRAP ── */
.content-wrap{max-width:1180px;margin:0 auto;padding:0 56px}

/* ── SECTION HEADER ── */
.section{padding:44px 0}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.section-head-l{flex:1;min-width:300px}
.section-label{font-family:'Manrope',sans-serif;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:2.5px;color:var(--accent);margin-bottom:12px}
.section-title{font-family:'Manrope',sans-serif;font-weight:900;font-size:clamp(26px,3.2vw,36px);line-height:1.08;color:var(--white);letter-spacing:-.02em;max-width:760px}
.section-title .em{color:var(--accent)}
.section-desc{font-size:15.5px;color:var(--text-muted);line-height:1.65;margin-top:10px;max-width:680px;font-weight:500;padding:0 6px}

/* ── PROGRESS RING ── */
.progress-ring-wrap{display:flex;align-items:center;gap:20px}
.progress-ring{position:relative;width:112px;height:112px;flex-shrink:0}
.progress-ring svg{transform:rotate(-90deg);width:100%;height:100%}
.progress-ring-track{fill:none;stroke:rgba(255,255,255,.08);stroke-width:8}
.progress-ring-fill{fill:none;stroke:var(--accent);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(.2,.8,.2,1)}
.progress-ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.progress-ring-num{font-family:'Manrope',sans-serif;font-weight:900;font-size:28px;color:var(--white);letter-spacing:-.02em;line-height:1}
.progress-ring-label{font-size:10px;color:var(--text-dim);font-weight:700;text-transform:uppercase;letter-spacing:1.2px;margin-top:3px}
.progress-copy{flex:1}
.progress-copy-head{font-family:'Manrope',sans-serif;font-weight:800;font-size:17px;color:var(--white);margin-bottom:4px;letter-spacing:-.01em}
.progress-copy-sub{font-size:13.5px;color:var(--text-muted);line-height:1.55;font-weight:500}

.progress-bar-wrap{margin-top:12px}
.progress-bar-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.progress-bar-num{font-family:'Manrope',sans-serif;font-weight:900;font-size:22px;color:var(--white);letter-spacing:-.01em}
.progress-bar-num span{color:var(--text-dim);font-size:14px;font-weight:600;margin-left:4px}
.progress-bar-label{font-size:12px;color:var(--text-dim);font-weight:700;text-transform:uppercase;letter-spacing:1.2px}
.progress-bar{height:8px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}
.progress-bar-fill{height:100%;background:var(--accent);border-radius:999px;transition:width 1.2s cubic-bezier(.2,.8,.2,1)}

/* ── ACTIVITY FILTER TABS ── */
.filter-tabs{display:flex;gap:6px;background:rgba(255,255,255,.04);border:1px solid var(--border);padding:4px;border-radius:10px;flex-wrap:wrap}
.filter-tab{padding:7px 14px;border-radius:7px;font-size:13px;font-weight:700;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:8px}
.filter-tab:hover{color:var(--white)}
.filter-tab.active{background:var(--accent);color:var(--navy)}
.filter-tab-count{font-size:11px;padding:1px 7px;background:rgba(255,255,255,.12);border-radius:999px;font-weight:800}
.filter-tab.active .filter-tab-count{background:rgba(14,44,64,.2);color:var(--navy)}

/* ── ACTIVITY CARD ── */
.activity-list{display:flex;flex-direction:column;gap:14px}

.activity-card{background:linear-gradient(135deg,var(--navy-mid) 0%,var(--navy-deep) 100%);border:1px solid var(--border);border-radius:16px;padding:22px 26px;transition:all .25s;position:relative;overflow:hidden}
.activity-card:hover{border-color:rgba(20,141,141,.3);transform:translateY(-1px)}
body[data-accent="teal"] .activity-card:hover{border-color:rgba(239,188,117,.35)}
.activity-card.completed{opacity:.7}
.activity-card.completed .activity-title{text-decoration:line-through;text-decoration-color:rgba(255,255,255,.3)}
.activity-card.overdue{border-color:rgba(208,106,78,.35);background:linear-gradient(135deg,rgba(208,106,78,.06) 0%,var(--navy-deep) 100%)}
.activity-card.expanded{border-color:var(--accent)}
body[data-accent="teal"] .activity-card.expanded{border-color:var(--accent)}

.activity-top{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:flex-start}
.activity-check{width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;margin-top:2px;padding:0}
.activity-check:hover{border-color:var(--accent);background:var(--accent-soft)}
.activity-check.checked{background:var(--status-complete);border-color:var(--status-complete)}
.activity-check.checked::after{content:'✓';color:white;font-weight:900;font-size:14px;line-height:1}
.activity-check.overdue{border-color:var(--status-overdue)}

.activity-body{min-width:0}
.activity-meta-row{display:flex;gap:10px;margin-bottom:8px;flex-wrap:wrap;align-items:center}
.activity-cat{font-size:10.5px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;padding:3px 10px;border-radius:4px;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(20,141,141,.25)}
.activity-cat.cat-plan{color:#A78BFA;background:rgba(167,139,250,.1);border-color:rgba(167,139,250,.25)}
.activity-cat.cat-protect{color:#60A5FA;background:rgba(96,165,250,.1);border-color:rgba(96,165,250,.25)}
.activity-cat.cat-review{color:#C1E1A7;background:rgba(193,225,167,.1);border-color:rgba(193,225,167,.25)}
.activity-cat.cat-learn{color:#EFBC75;background:rgba(239,188,117,.1);border-color:rgba(239,188,117,.25)}

.activity-status{font-size:11.5px;font-weight:700;color:var(--text-dim);display:inline-flex;align-items:center;gap:6px}
.activity-status-dot{width:7px;height:7px;border-radius:50%;background:var(--status-upcoming)}
.activity-status.active .activity-status-dot{background:var(--status-active);box-shadow:0 0 0 4px rgba(20,141,141,.15)}
body[data-accent="teal"] .activity-status.active .activity-status-dot{box-shadow:0 0 0 4px rgba(239,188,117,.2)}
.activity-status.complete .activity-status-dot{background:var(--status-complete)}
.activity-status.overdue .activity-status-dot{background:var(--status-overdue);box-shadow:0 0 0 4px rgba(208,106,78,.18)}
.activity-status.active{color:var(--accent)}
.activity-status.complete{color:var(--status-complete)}
.activity-status.overdue{color:var(--status-overdue)}

.activity-title{font-family:'Manrope',sans-serif;font-weight:800;font-size:17.5px;color:var(--white);letter-spacing:-.01em;line-height:1.25;margin-bottom:6px}
.activity-desc{font-size:14px;color:var(--text-muted);line-height:1.55;font-weight:500;max-width:680px}

.activity-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right;flex-shrink:0}
.activity-date{font-family:'Manrope',sans-serif;font-weight:800;font-size:13px;color:var(--white);letter-spacing:-.005em;line-height:1.1}
.activity-date-label{font-size:10.5px;color:var(--text-dim);font-weight:700;text-transform:uppercase;letter-spacing:1.2px}
.activity-date-late{font-size:10.5px;color:var(--status-overdue);font-weight:700;margin-top:2px;letter-spacing:.1px}
.activity-card.overdue .activity-date-label{color:var(--status-overdue)}
.activity-card.overdue .activity-date{color:var(--status-overdue)}
.activity-card.overdue::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--status-overdue);border-radius:3px 0 0 3px}
.activity-card{position:relative}
.activity-compact.overdue{border-color:rgba(208,106,78,.4);background:linear-gradient(90deg,rgba(208,106,78,.06),var(--card) 30%)}
.activity-compact.overdue .ac-date{color:var(--status-overdue);font-weight:700}
.ac-overdue-badge{display:inline-block;margin-left:10px;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;padding:2px 7px;background:rgba(208,106,78,.15);color:var(--status-overdue);border:1px solid rgba(208,106,78,.4);border-radius:3px;vertical-align:middle}

/* Overdue alert banner */
.overdue-alert{display:flex;align-items:flex-start;gap:16px;padding:18px 22px;margin:0 0 22px;background:linear-gradient(135deg,rgba(208,106,78,.12),rgba(208,106,78,.03) 60%);border:1px solid rgba(208,106,78,.4);border-left:4px solid var(--status-overdue);border-radius:10px}
.overdue-alert-icon{color:var(--status-overdue);flex-shrink:0;padding-top:2px}
.overdue-alert-body{flex:1;min-width:0}
.overdue-alert-title{font-family:'Manrope',sans-serif;font-weight:800;font-size:15px;color:var(--white);letter-spacing:-.01em;margin-bottom:4px}
.overdue-alert-desc{font-size:13px;color:var(--text-muted);line-height:1.5;font-weight:500}
.overdue-alert-cta{flex-shrink:0;background:var(--status-overdue);color:white;border:none;padding:10px 16px;border-radius:8px;font-family:'Manrope',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.2px;cursor:pointer;transition:all .2s;align-self:center}
.overdue-alert-cta:hover{background:#B8563C;transform:translateY(-1px)}
@media (max-width:720px){.overdue-alert{flex-direction:column;align-items:stretch}.overdue-alert-cta{align-self:flex-start}}
.activity-points{font-family:'Manrope',sans-serif;font-weight:800;font-size:12.5px;color:var(--accent);margin-top:4px}

.activity-actions{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border);flex-wrap:wrap;align-items:center}
.activity-btn{background:var(--accent);color:var(--navy);padding:9px 16px;border-radius:7px;border:none;font-family:'Manrope',sans-serif;font-weight:800;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all .2s}
.activity-btn:hover{background:var(--accent-hover)}
.activity-btn.secondary{background:transparent;color:var(--text);border:1px solid var(--border-strong)}
.activity-btn.secondary:hover{background:rgba(255,255,255,.05);border-color:var(--accent)}
.activity-btn svg{width:14px;height:14px;fill:currentColor;flex-shrink:0}
.activity-remind{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-dim);font-weight:600;cursor:pointer}
.activity-remind input{appearance:none;width:32px;height:18px;background:rgba(255,255,255,.1);border-radius:999px;position:relative;transition:all .2s;cursor:pointer;border:1px solid var(--border-strong)}
.activity-remind input::after{content:'';position:absolute;top:1px;left:1px;width:14px;height:14px;background:white;border-radius:50%;transition:all .2s}
.activity-remind input:checked{background:var(--accent)}
.activity-remind input:checked::after{left:16px;background:var(--navy)}
.activity-remind-on{color:var(--accent);font-weight:700}

.activity-expand-btn{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:12.5px;font-weight:700;padding:0;display:inline-flex;align-items:center;gap:6px;margin-left:8px;transition:color .2s}
.activity-expand-btn:hover{color:var(--accent)}
.activity-expand-chev{display:inline-block;transition:transform .25s;font-size:10px}
.activity-card.expanded .activity-expand-chev{transform:rotate(180deg)}

.activity-expanded{margin-top:18px;padding:20px 22px;background:rgba(0,0,0,.2);border:1px solid var(--border);border-radius:10px;font-size:14px;color:var(--text-muted);line-height:1.7}
.activity-expanded h5{font-family:'Manrope',sans-serif;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);margin-bottom:10px}
.activity-expanded ol{padding-left:22px;display:flex;flex-direction:column;gap:6px}
.activity-expanded ol li::marker{color:var(--accent);font-weight:800}
.activity-expanded .exp-resource{display:inline-flex;align-items:center;gap:8px;color:var(--accent);text-decoration:none;font-weight:700;margin-top:12px;font-size:13px;cursor:pointer}
.activity-expanded .exp-resource:hover{text-decoration:underline}

/* Timeline view */
.activity-timeline{position:relative;padding-left:44px}
.activity-timeline::before{content:'';position:absolute;left:14px;top:8px;bottom:8px;width:2px;background:var(--border-strong)}
.activity-tl-item{position:relative;padding-bottom:28px}
.activity-tl-item:last-child{padding-bottom:0}
.activity-tl-dot{position:absolute;left:-34px;top:14px;width:16px;height:16px;border-radius:50%;background:var(--navy);border:2px solid var(--text-dim);z-index:1}
.activity-tl-item.complete .activity-tl-dot{background:var(--status-complete);border-color:var(--status-complete)}
.activity-tl-item.active .activity-tl-dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px rgba(20,141,141,.2)}
.activity-tl-item.overdue .activity-tl-dot{background:var(--status-overdue);border-color:var(--status-overdue)}

/* Compact list view */
.activity-compact{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--card);border:1px solid var(--border);border-radius:10px;transition:all .2s;cursor:pointer}
.activity-compact:hover{background:var(--card-hover);border-color:var(--accent)}
.activity-compact.completed{opacity:.55}
.activity-compact.completed .ac-title{text-decoration:line-through}
.ac-status-bar{width:3px;height:32px;border-radius:3px;background:var(--status-upcoming);flex-shrink:0}
.ac-status-bar.active{background:var(--status-active)}
.ac-status-bar.complete{background:var(--status-complete)}
.ac-status-bar.overdue{background:var(--status-overdue)}
.ac-title{font-weight:700;font-size:14.5px;color:var(--white);flex:1;min-width:0}
.ac-cat-pill{font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);flex-shrink:0}
.ac-date{font-size:12.5px;color:var(--text-muted);font-weight:600;flex-shrink:0;min-width:80px;text-align:right}

/* ── TIMELINE / PHASES ── */
.phases{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative}
.phases::before{content:'';position:absolute;top:30px;left:30px;right:30px;height:2px;background:var(--border-strong);z-index:0}
.phase{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:28px 22px;position:relative;z-index:1;transition:all .25s}
.phase:hover{border-color:var(--accent);background:var(--card-hover)}
.phase-num{width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--navy);font-family:'Manrope',sans-serif;font-weight:900;font-size:17px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;letter-spacing:-.01em}
.phase-label{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:1.8px;color:var(--accent);margin-bottom:6px}
.phase h4{font-family:'Manrope',sans-serif;font-weight:800;font-size:18px;color:var(--white);letter-spacing:-.015em;margin-bottom:10px;line-height:1.2}
.phase p{font-size:13.5px;color:var(--text-muted);line-height:1.6;font-weight:500}

/* ── RESOURCES ── */
.resource-filter{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}
.resource-chip{padding:7px 14px;background:transparent;border:1px solid var(--border-strong);color:var(--text-muted);border-radius:999px;font-size:12.5px;font-weight:700;cursor:pointer;transition:all .15s}
.resource-chip:hover{color:var(--white);border-color:var(--accent)}
.resource-chip.active{background:var(--accent);color:var(--navy);border-color:var(--accent)}

.resources-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.resource{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:22px 24px;transition:all .2s;cursor:pointer;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}
.resource:hover{background:var(--card-hover);border-color:var(--accent);transform:translateY(-2px)}
.resource-kind{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent)}
.resource-kind svg{width:13px;height:13px;fill:var(--accent)}
.resource h4{font-family:'Manrope',sans-serif;font-weight:800;font-size:16.5px;color:var(--white);letter-spacing:-.01em;line-height:1.3}
.resource p{font-size:13.5px;color:var(--text-muted);line-height:1.55;font-weight:500;flex:1}
.resource-meta{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--border);font-size:12px;color:var(--text-dim);font-weight:600}
.resource-meta .read-time{display:inline-flex;align-items:center;gap:6px}
.resource-new{position:absolute;top:14px;right:14px;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;padding:3px 8px;background:var(--accent);color:var(--navy);border-radius:4px}
.resource-viewed{opacity:.7}
.resource-viewed .resource-new{display:none}
.resource-arrow{font-size:16px;color:var(--accent);font-weight:800;transition:transform .2s}
.resource:hover .resource-arrow{transform:translateX(3px)}

/* ── CONVERSATIONS ── */
.conv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.conv{background:linear-gradient(135deg,var(--navy-mid) 0%,var(--navy-deep) 100%);border:1px solid var(--border);border-radius:16px;padding:28px 30px;position:relative;overflow:hidden}
.conv::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--accent)}
.conv.past::before{background:rgba(255,255,255,.2)}
.conv-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin-bottom:12px}
.conv.past .conv-label{color:var(--text-dim)}
.conv h4{font-family:'Manrope',sans-serif;font-weight:800;font-size:20px;color:var(--white);letter-spacing:-.015em;line-height:1.2;margin-bottom:6px}
.conv-when{font-family:'Manrope',sans-serif;font-style:italic;font-weight:700;color:var(--accent);font-size:14.5px;margin-bottom:18px}
.conv.past .conv-when{color:var(--text-muted)}
.conv-agenda{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);margin-bottom:10px}
.conv ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:7px;margin-bottom:20px}
.conv li{font-size:14px;color:var(--text-muted);line-height:1.5;font-weight:500;padding-left:18px;position:relative}
.conv li::before{content:'';position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.conv.past li::before{background:var(--status-complete)}
.conv-footer{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding-top:16px;border-top:1px solid var(--border);margin-top:auto}
.conv-btn{background:var(--accent);color:var(--navy);padding:9px 16px;border-radius:7px;border:none;font-family:'Manrope',sans-serif;font-weight:800;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all .2s;text-decoration:none}
.conv-btn:hover{background:var(--accent-hover)}
.conv-btn.secondary{background:transparent;color:var(--text);border:1px solid var(--border-strong)}
.conv-btn.secondary:hover{border-color:var(--accent);background:rgba(255,255,255,.04)}
.conv-note{font-size:13px;color:var(--text-muted);font-style:italic;line-height:1.55;font-weight:500}
.conv-note strong{color:var(--white);font-weight:700;font-style:normal}
.conv-attribution{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-dim);font-weight:600;letter-spacing:.2px}
.conv-attribution-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}
.conv-attribution a{color:var(--accent);text-decoration:none;font-weight:700}
.conv-attribution a:hover{text-decoration:underline}

/* ── CONTANNUITY UPSELL CARD ── */
.resource-upsell{position:relative;background:linear-gradient(155deg,rgba(20,141,141,.12),rgba(20,141,141,.03) 55%,transparent);border:1px solid rgba(20,141,141,.35);display:flex;flex-direction:column;gap:12px;cursor:pointer}
.resource-upsell:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 10px 30px -10px rgba(20,141,141,.4)}
.resource-upsell-badge{position:absolute;top:14px;right:14px;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;padding:3px 8px;background:var(--accent);color:var(--navy);border-radius:3px}
.resource-upsell h4{color:var(--white);font-weight:700}
.resource-upsell p{color:var(--text-muted);font-size:13.5px;line-height:1.55;margin:0}
.resource-upsell-foot{margin-top:auto;padding-top:14px;border-top:1px solid rgba(20,141,141,.2);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.resource-upsell-cta{font-size:13px;font-weight:800;color:var(--accent);letter-spacing:.3px}
.resource-upsell-small{font-size:11px;color:var(--text-dim);font-weight:600}

/* ── ACCOUNTABILITY OPT-IN ── */
.accountability{background:linear-gradient(135deg,rgba(20,141,141,.08),rgba(20,141,141,.02));border:1px solid rgba(20,141,141,.35);border-radius:18px;padding:36px 40px;margin:60px 0 0}
body[data-accent="teal"] .accountability{background:linear-gradient(135deg,rgba(239,188,117,.08),rgba(239,188,117,.02));border-color:rgba(239,188,117,.35)}
.accountability-head{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.accountability-icon{width:40px;height:40px;border-radius:50%;background:var(--accent);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;flex-shrink:0}
.accountability h3{font-family:'Manrope',sans-serif;font-weight:900;font-size:23px;color:var(--white);letter-spacing:-.015em}
.accountability h3 .em{color:var(--accent)}
.accountability p{font-size:15px;color:var(--text-muted);line-height:1.65;margin-bottom:20px;font-weight:500;max-width:720px}
.accountability-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.acc-field{display:flex;flex-direction:column;gap:5px}
.acc-field label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.3px;color:var(--text-dim)}
.acc-field select,.acc-field input{background:rgba(255,255,255,.08);border:1px solid var(--border-strong);border-radius:8px;padding:11px 14px;color:var(--white);font-family:'Manrope',sans-serif;font-size:14px;font-weight:600;min-width:180px}
.acc-field select:focus,.acc-field input:focus{outline:none;border-color:var(--accent)}
.acc-field select option{background:#0E2C40;color:#fff}
.acc-field input[type="date"]{color-scheme:dark}
.acc-submit{background:var(--accent);color:var(--navy);padding:12px 22px;border-radius:8px;border:none;font-family:'Manrope',sans-serif;font-weight:800;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;height:44px}
.acc-submit:hover{background:var(--accent-hover)}
.acc-submit::after{content:'→';transition:transform .2s}
.acc-submit:hover::after{transform:translateX(3px)}
.acc-success{margin-top:12px;padding:14px 18px;background:rgba(193,225,167,.1);border:1px solid rgba(193,225,167,.3);border-radius:10px;color:#C8DDB6;font-size:14px;font-weight:600;display:flex;align-items:center;gap:10px}

/* ── FINAL CTA ── */
.cta-advisor{background:var(--accent);padding:64px 48px;text-align:center;border-radius:20px;margin:60px 0;position:relative;overflow:hidden}
.cta-advisor::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(255,255,255,.15),transparent 60%);pointer-events:none}
.cta-advisor-label{font-family:'Manrope',sans-serif;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:2.5px;color:var(--navy);opacity:.7;margin-bottom:18px;position:relative}
.cta-advisor h3{font-family:'Manrope',sans-serif;font-weight:900;font-size:clamp(26px,3.5vw,38px);line-height:1.08;color:var(--navy);margin-bottom:14px;letter-spacing:-.025em;position:relative}
.cta-advisor h3 .em{color:var(--white);font-style:italic}
.cta-advisor .cta-lede{font-family:'Manrope',sans-serif;font-weight:600;font-size:16.5px;color:rgba(14,44,64,.85);margin-bottom:26px;max-width:580px;margin-left:auto;margin-right:auto;position:relative;line-height:1.55}
.cta-btns{display:inline-flex;gap:14px;flex-wrap:wrap;justify-content:center;position:relative}
.cta-advisor-btn{background:var(--navy);color:var(--white);padding:14px 28px;border-radius:999px;text-decoration:none;font-weight:700;font-size:14.5px;display:inline-flex;align-items:center;gap:10px;transition:all .3s;box-shadow:0 6px 20px rgba(14,44,64,.2);cursor:pointer;border:none;font-family:'Manrope',sans-serif}
.cta-advisor-btn svg{width:15px;height:15px;fill:var(--accent);flex-shrink:0}
.cta-advisor-btn:hover{background:var(--navy-deep);transform:translateY(-2px);box-shadow:0 10px 28px rgba(14,44,64,.35)}
.cta-advisor-btn.secondary{background:rgba(14,44,64,.08);color:var(--navy);border:1.5px solid var(--navy);box-shadow:none}
.cta-advisor-btn.secondary svg{fill:var(--navy)}
.cta-advisor-btn.secondary:hover{background:var(--navy);color:var(--white);box-shadow:0 6px 20px rgba(14,44,64,.3)}
.cta-advisor-btn.secondary:hover svg{fill:var(--accent)}

/* ── FOOTER ── */
.site-footer{background:var(--navy-deep);color:rgba(255,255,255,.5);font-size:13px;padding:40px 44px 44px;line-height:1.7;border-top:1px solid var(--border)}
.site-footer-inner{max-width:1180px;margin:0 auto}
.footer-brand{display:flex;align-items:center;gap:14px;margin-bottom:16px;color:rgba(255,255,255,.85);font-weight:700}
.footer-brand-pill{display:inline-flex;align-items:center;background:#fff;padding:6px 12px;border-radius:6px}
.footer-brand-pill .logo-mark{font-size:14px}
.footer-tagline{font-family:'Manrope',sans-serif;font-style:italic;font-weight:800;font-size:15px;color:var(--accent);margin-bottom:14px;letter-spacing:.005em}
.footer-legal-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px;font-size:12.5px}
.footer-legal-links a{color:rgba(255,255,255,.7);text-decoration:none;font-weight:600;transition:color .2s}
.footer-legal-links a:hover{color:var(--accent)}
.footer-legal-sep{color:rgba(255,255,255,.3);font-weight:400}
.trademark{color:rgba(255,255,255,.6);font-size:12px;font-weight:500;margin-bottom:10px}
.copyright{color:rgba(255,255,255,.7);font-weight:600;margin-bottom:12px;font-size:12.5px}
.disclaimer{max-width:880px;font-size:12px;line-height:1.7;color:rgba(255,255,255,.45)}

/* ── TWEAKS PANEL ── */
.tweaks-panel{position:fixed;bottom:20px;right:20px;width:320px;background:rgba(26,74,90,.96);backdrop-filter:blur(14px);border:1px solid var(--border-strong);border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.4);z-index:200;font-family:'Manrope',sans-serif;transform:translateY(calc(100% + 30px));transition:transform .3s cubic-bezier(.2,.8,.2,1);max-height:calc(100vh - 40px);overflow-y:auto}
.tweaks-panel.open{transform:translateY(0)}
.tweaks-header{padding:16px 18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.tweaks-title{font-weight:900;font-size:14px;color:var(--white);letter-spacing:-.005em;text-transform:uppercase;letter-spacing:1.5px}
.tweaks-close{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:18px;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px}
.tweaks-close:hover{color:var(--white);background:rgba(255,255,255,.08)}
.tweaks-body{padding:6px 18px 18px}
.tweak-group{padding:14px 0;border-bottom:1px solid var(--border)}
.tweak-group:last-child{border-bottom:none}
.tweak-label{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-dim);margin-bottom:8px;display:block}
.tweak-pills{display:flex;gap:5px;flex-wrap:wrap}
.tweak-pill{padding:7px 11px;background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--text-muted);border-radius:7px;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s}
.tweak-pill:hover{color:var(--white)}
.tweak-pill.active{background:var(--accent);color:var(--navy);border-color:var(--accent)}
.tweak-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.tweak-toggle{appearance:none;width:36px;height:20px;background:rgba(255,255,255,.1);border:1px solid var(--border-strong);border-radius:999px;position:relative;transition:all .2s;cursor:pointer}
.tweak-toggle::after{content:'';position:absolute;top:1px;left:1px;width:16px;height:16px;background:white;border-radius:50%;transition:all .2s}
.tweak-toggle:checked{background:var(--accent)}
.tweak-toggle:checked::after{left:18px;background:var(--navy)}

/* Toast */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(24px);padding:14px 22px;background:var(--status-complete);color:white;border-radius:999px;font-weight:700;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.3);z-index:300;opacity:0;transition:all .3s cubic-bezier(.2,.8,.2,1);display:inline-flex;align-items:center;gap:10px}
.toast.visible{transform:translateX(-50%) translateY(0);opacity:1}

/* ── COMPLIANCE ── */
.compliance-status{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:14px;padding:14px 18px 14px 14px;min-width:260px}
.compliance-status.clear{border-color:rgba(193,225,167,.35);background:rgba(193,225,167,.06);color:#C8DDB6}
.compliance-status.open{color:var(--accent)}
.compliance-status-ring{position:relative;width:48px;height:48px;flex-shrink:0}
.compliance-status-ring span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Manrope',sans-serif;font-weight:800;font-size:13px;color:var(--white);letter-spacing:-.02em}
.compliance-status-head{font-family:'Manrope',sans-serif;font-weight:800;font-size:15px;letter-spacing:-.01em;margin-bottom:2px}
.compliance-status-sub{font-size:12.5px;color:var(--text-muted);font-weight:500;line-height:1.35}
.compliance-list{display:flex;flex-direction:column;gap:10px}
.compliance-row{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:flex-start;background:rgba(255,255,255,.025);border:1px solid var(--border);border-radius:14px;padding:18px 22px;transition:border-color .2s}
.compliance-row:hover{border-color:var(--border-strong)}
.compliance-row.done{background:rgba(193,225,167,.04);border-color:rgba(193,225,167,.18)}
.compliance-row.advisor-owned{background:rgba(255,255,255,.015)}
.compliance-check{width:26px;height:26px;border-radius:7px;border:1.5px solid var(--border-strong);background:rgba(255,255,255,.02);cursor:pointer;flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}
.compliance-check:hover{border-color:var(--accent)}
.compliance-check.checked{background:#C1E1A7;border-color:#C1E1A7}
.compliance-check.checked svg{width:16px;height:16px;fill:#fff}
.compliance-body{display:flex;flex-direction:column;gap:6px}
.compliance-row-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.compliance-row-head h4{font-family:'Manrope',sans-serif;font-weight:800;font-size:16px;color:var(--white);letter-spacing:-.01em;margin:0}
.compliance-row.done .compliance-row-head h4{color:var(--text-muted);text-decoration:line-through;text-decoration-color:rgba(255,255,255,.2);text-decoration-thickness:1.5px}
.compliance-owner{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:1.3px;padding:3px 9px;border-radius:999px;border:1px solid var(--border-strong);color:var(--text-dim);background:rgba(255,255,255,.03)}
.compliance-owner.client{color:var(--accent);border-color:rgba(20,141,141,.4);background:rgba(20,141,141,.08)}
body[data-accent="teal"] .compliance-owner.client{color:var(--accent);border-color:rgba(239,188,117,.4);background:rgba(239,188,117,.08)}
.compliance-body p{font-size:14px;color:var(--text-muted);line-height:1.55;margin:0;font-weight:500;max-width:720px}
.compliance-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:4px}
.compliance-meta-pill{display:inline-flex;align-items:center;gap:6px;font-family:'Manrope',sans-serif;font-weight:700;font-size:12px;padding:4px 10px;border-radius:999px;letter-spacing:.01em}
.compliance-meta-pill.done{background:rgba(193,225,167,.12);color:#C8DDB6;border:1px solid rgba(193,225,167,.3)}
.compliance-meta-pill.due{background:rgba(255,255,255,.04);color:var(--text);border:1px solid var(--border-strong)}
.compliance-meta-pill.overdue{background:rgba(208,106,78,.14);color:#DC8875;border:1px solid rgba(208,106,78,.35)}
.compliance-meta-muted{font-size:12.5px;color:var(--text-dim);font-weight:500}
.compliance-meta a{font-size:12.5px;color:var(--accent);font-weight:700;text-decoration:none}
.compliance-meta a:hover{text-decoration:underline}
.compliance-footer{margin-top:18px;padding:16px 22px;background:rgba(255,255,255,.02);border:1px dashed var(--border);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.compliance-footer span{font-size:13.5px;color:var(--text-muted);font-weight:500}
.compliance-foot-btn{background:transparent;color:var(--text);border:1px solid var(--border-strong);padding:9px 16px;border-radius:8px;font-family:'Manrope',sans-serif;font-weight:700;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s}
.compliance-foot-btn:hover{border-color:var(--accent);color:var(--white)}
.compliance-foot-btn svg{width:14px;height:14px;fill:currentColor}

/* ── PARTNER TOOLS (Laylah + Friedmann) ── */
.partner-tools{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.partner-tool{background:linear-gradient(135deg,var(--navy-mid) 0%,var(--navy-deep) 100%);border:1px solid var(--border);border-radius:18px;padding:30px 32px;position:relative;overflow:hidden;display:flex;flex-direction:column}
.partner-tool::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.partner-tool.laylah::before{background:linear-gradient(90deg,#3A6B82,#1A4A5A)}
.partner-tool.friedmann::before{background:linear-gradient(90deg,#A8C293,#5A7A50)}
.partner-tool-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.partner-tool-brand{display:flex;align-items:center;gap:14px}
.partner-tool-mark{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:'Manrope',sans-serif;font-weight:900;font-size:22px;letter-spacing:-.04em;flex-shrink:0}
.laylah-mark{background:linear-gradient(135deg,#3A6B82,#1A4A5A);color:#fff}
.friedmann-mark{background:linear-gradient(135deg,#A8C293,#5A7A50);color:#fff;font-weight:700;font-style:italic;font-size:26px}
.partner-tool-name{font-family:'Manrope',sans-serif;font-weight:800;font-size:18.5px;color:var(--white);letter-spacing:-.015em;line-height:1.15}
.partner-tool-tag{font-size:11.5px;color:var(--text-dim);font-weight:600;margin-top:3px;letter-spacing:.01em}
.partner-tool-pill{font-family:'Manrope',sans-serif;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:1.3px;padding:5px 11px;border-radius:999px;flex-shrink:0;white-space:nowrap}
.pill-active{background:rgba(193,225,167,.12);color:#C8DDB6;border:1px solid rgba(193,225,167,.3)}
.pill-pending{background:rgba(20,141,141,.12);color:var(--accent);border:1px solid rgba(20,141,141,.3)}
body[data-accent="teal"] .pill-pending{color:#F5CE93;background:rgba(239,188,117,.12);border-color:rgba(239,188,117,.3)}
.pill-none{background:rgba(255,255,255,.04);color:var(--text-dim);border:1px solid var(--border-strong)}
.partner-tool-desc{font-size:14.5px;color:var(--text-muted);line-height:1.55;font-weight:500;margin-bottom:14px}
.partner-tool-list{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:6px}
.partner-tool-list li{font-size:13.5px;color:var(--text);font-weight:500;padding-left:18px;position:relative;line-height:1.45}
.partner-tool-list li::before{content:'';position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%}
.partner-tool.laylah .partner-tool-list li::before{background:#6B9AAF}
.partner-tool.friedmann .partner-tool-list li::before{background:#C1E1A7}
.partner-tool-cta{margin-top:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--border)}
.partner-tool-btn{font-family:'Manrope',sans-serif;font-weight:800;font-size:13.5px;padding:11px 20px;border-radius:8px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s}
.partner-tool-btn svg{width:14px;height:14px;fill:currentColor}
.partner-tool.laylah .partner-tool-btn.primary{background:#6B9AAF;color:#0E2C40}
.partner-tool.laylah .partner-tool-btn.primary:hover{background:#A8C8D6}
.partner-tool.friedmann .partner-tool-btn.primary{background:#C1E1A7;color:#1F2E18}
.partner-tool.friedmann .partner-tool-btn.primary:hover{background:#C8DDB6}
.partner-tool-btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border-strong)}
.partner-tool-btn.ghost:hover{border-color:var(--white);color:var(--white)}
.partner-tool-btn:disabled{opacity:.6;cursor:default}
.partner-tool-meta{font-size:12.5px;color:var(--text-dim);font-weight:500;line-height:1.4;flex:1;min-width:200px}

/* ── RESPONSIVE ── */
@media (max-width:980px){
  header.site-header{padding:14px 22px;flex-wrap:wrap;gap:12px}
  .setup-bar{padding:24px 22px}
  .setup-form{grid-template-columns:1fr 1fr;gap:10px}
  .hero{padding:48px 22px 44px}
  .hero-inner{grid-template-columns:1fr;gap:40px}
  .content-wrap{padding:0 22px}
  .section{padding:40px 0}
  .activity-top{grid-template-columns:auto 1fr;gap:14px}
  .activity-right{grid-column:2;align-items:flex-start;flex-direction:row;gap:14px;margin-top:4px;text-align:left}
  .phases{grid-template-columns:repeat(2,1fr)}
  .phases::before{display:none}
  .resources-grid{grid-template-columns:1fr}
  .conv-grid{grid-template-columns:1fr}
  .accountability{padding:28px 24px}
  .cta-advisor{padding:50px 28px}
  .site-footer{padding:32px 22px 40px}
  .tweaks-panel{right:10px;left:10px;width:auto;bottom:10px}
  .partner-tools{grid-template-columns:1fr}
  .compliance-status{width:100%;min-width:0}
  .compliance-row{padding:16px 18px}
  .partner-tool{padding:26px 24px}
}

/* ── COVERAGE MAP ── */
#coverage{position:relative}
#coverage::before{content:'';position:absolute;left:50%;top:0;width:90%;max-width:1200px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:translateX(-50%)}

.coverage-summary{text-align:right;min-width:180px}
.coverage-summary-num{font-family:'Manrope',sans-serif;font-weight:900;font-size:56px;line-height:1;color:var(--white);letter-spacing:-.03em}
.coverage-summary-num span{color:var(--text-dim);font-weight:800;font-size:30px}
.coverage-summary-label{font-size:11px;color:var(--text-dim);font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin-top:6px}
.coverage-summary-gap{margin-top:14px;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:rgba(208,106,78,.14);border:1px solid rgba(208,106,78,.38);border-radius:999px;color:#EBB0A0;font-size:12px;font-weight:700}
.coverage-summary-gap-dot{width:7px;height:7px;border-radius:50%;background:#D06A4E;animation:pulse 2s infinite}

.coverage-legend{display:flex;flex-wrap:wrap;gap:20px;padding:14px 20px;background:rgba(255,255,255,.025);border:1px solid var(--border);border-radius:10px;margin-bottom:22px}
.coverage-legend-item{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);font-weight:600;letter-spacing:.01em}
.coverage-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}

.coverage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.coverage-tile{position:relative;text-align:left;background:linear-gradient(180deg,rgba(255,255,255,.035) 0%,rgba(255,255,255,.01) 100%);border:1px solid var(--border-strong);border-radius:14px;padding:20px;cursor:pointer;font-family:inherit;color:inherit;transition:all .22s cubic-bezier(.4,0,.2,1);overflow:visible;min-height:160px;display:flex;flex-direction:column}
.coverage-tile::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:background .22s}
.coverage-tile:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.22);background:linear-gradient(180deg,rgba(255,255,255,.055) 0%,rgba(255,255,255,.02) 100%);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.coverage-tile.status-in-place::before{background:#C1E1A7}
.coverage-tile.status-in-place{background:linear-gradient(180deg,rgba(193,225,167,.07) 0%,rgba(193,225,167,.015) 100%);border-color:rgba(193,225,167,.22)}
.coverage-tile.status-in-place:hover{border-color:rgba(193,225,167,.45);background:linear-gradient(180deg,rgba(193,225,167,.1) 0%,rgba(193,225,167,.03) 100%)}
.coverage-tile.status-in-progress::before{background:#148D8D}
.coverage-tile.status-in-progress{background:linear-gradient(180deg,rgba(20,141,141,.07) 0%,rgba(20,141,141,.015) 100%);border-color:rgba(20,141,141,.25)}
.coverage-tile.status-in-progress:hover{border-color:rgba(20,141,141,.5);background:linear-gradient(180deg,rgba(20,141,141,.11) 0%,rgba(20,141,141,.03) 100%)}
.coverage-tile.status-gap::before{background:#D06A4E}
.coverage-tile.status-gap{background:linear-gradient(180deg,rgba(208,106,78,.08) 0%,rgba(208,106,78,.015) 100%);border-color:rgba(208,106,78,.3)}
.coverage-tile.status-gap:hover{border-color:rgba(208,106,78,.55);background:linear-gradient(180deg,rgba(208,106,78,.13) 0%,rgba(208,106,78,.03) 100%)}
.coverage-tile.status-not-started::before{background:#64748B}
.coverage-tile.status-not-started{border-style:dashed;border-color:rgba(100,116,139,.35)}
.coverage-tile.status-not-started:hover{border-color:rgba(148,163,184,.6)}
.coverage-tile.status-not-offered{opacity:.7}
.coverage-tile.status-not-offered::before{background:#64748B}

.coverage-tile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}
.coverage-tile-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:rgba(255,255,255,.05);border:1px solid var(--border)}
.coverage-tile-icon svg{width:18px;height:18px}
.coverage-tile-status{display:inline-flex;align-items:center;gap:6px;font-family:'Manrope',sans-serif;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.3px;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.02);border:1px solid}
.coverage-tile-status-dot{width:5px;height:5px;border-radius:50%;display:inline-block}
.coverage-tile-title{font-family:'Manrope',sans-serif;font-weight:800;font-size:16px;color:var(--white);letter-spacing:-.01em;line-height:1.25;margin-bottom:4px;padding:0 4px}
.coverage-tile-short{font-size:12.5px;color:var(--text-dim);font-weight:500;line-height:1.4;margin-bottom:10px}
.coverage-tile-note{margin-top:auto;font-size:12.5px;color:var(--text-muted);line-height:1.45;font-weight:500;padding-top:10px;border-top:1px solid var(--border)}

/* Detail modal */
.coverage-modal{position:fixed;inset:0;z-index:200;background:rgba(10,32,48,.78);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s}
.coverage-modal-card{background:linear-gradient(180deg,#1A4A5A 0%,#0E2C40 100%);border:1px solid var(--border-strong);border-radius:18px;padding:36px 36px 30px;max-width:520px;width:100%;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.6);animation:slideUp .25s cubic-bezier(.4,0,.2,1)}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.coverage-modal-close{position:absolute;top:14px;right:16px;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--text-muted);font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}
.coverage-modal-close:hover{background:rgba(255,255,255,.1);color:var(--white);border-color:rgba(255,255,255,.25)}
.coverage-modal-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:18px;padding-right:40px}
.coverage-modal-icon{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(255,255,255,.05);border:1.5px solid;flex-shrink:0}
.coverage-modal-icon svg{width:24px;height:24px}
.coverage-modal-label{font-family:'Manrope',sans-serif;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);margin-bottom:4px}
.coverage-modal-title{font-family:'Manrope',sans-serif;font-weight:900;font-size:24px;color:var(--white);letter-spacing:-.02em;line-height:1.2}
.coverage-modal-desc{font-size:14.5px;color:var(--text-muted);line-height:1.65;margin-bottom:20px}
.coverage-modal-status{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:22px}
.coverage-modal-status-label{font-family:'Manrope',sans-serif;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);margin-bottom:6px}
.coverage-modal-status-val{font-size:14px;font-weight:700;display:inline-flex;align-items:center;gap:9px}
.coverage-modal-status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.coverage-modal-actions{display:flex;gap:10px;flex-wrap:wrap}
.coverage-modal-btn{font-family:'Manrope',sans-serif;font-weight:800;font-size:13.5px;padding:12px 18px;border-radius:10px;border:1px solid;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:8px;letter-spacing:.01em}
.coverage-modal-btn.primary{background:var(--accent);color:var(--navy);border-color:var(--accent)}
.coverage-modal-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px)}
.coverage-modal-btn.secondary{background:transparent;color:var(--text-muted);border-color:var(--border-strong)}
.coverage-modal-btn.secondary:hover{border-color:rgba(255,255,255,.3);color:var(--white)}
.coverage-modal-in-place{background:rgba(193,225,167,.1);border:1px solid rgba(193,225,167,.35);border-radius:10px;padding:12px 16px;font-size:13.5px;color:#C8DDB6;font-weight:600}

@media (max-width:600px){
  .coverage-grid{grid-template-columns:1fr 1fr;gap:10px}
  .coverage-tile{padding:16px 14px 18px;min-height:150px}
  .coverage-tile-title{font-size:14.5px}
  .coverage-tile-short{font-size:11.5px}
  .coverage-tile-note{font-size:11.5px}
  .coverage-summary{text-align:left;width:100%}
  .coverage-summary-num{font-size:44px}
  .coverage-modal-card{padding:28px 22px 22px}
  .coverage-modal-title{font-size:20px}
}


/* ══════════════════════════════════════════════════════════
   LOGO WORDMARK (image)
   ══════════════════════════════════════════════════════════ */
.logo-wordmark{padding:0;background:transparent;border:none;box-shadow:none}
.logo-wordmark:hover{background:transparent}
.logo-wordmark img{display:block;height:38px;width:auto}
@media (max-width:640px){
  .logo-wordmark img{height:30px}
}

/* ══════════════════════════════════════════════════════════
   ACTIVITY TILE GRID  (compact default view)
   ══════════════════════════════════════════════════════════ */
.activity-tile-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:12px;
  align-items:start;
}
.activity-tile{
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px 14px 14px 14px;
  transition:border-color .15s ease, transform .15s ease, background .15s ease;
  position:relative;
}
.activity-tile:hover{
  border-color:rgba(239,188,117,.35);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
}
.activity-tile.completed{opacity:.7}
.activity-tile.completed:hover{opacity:1}
.activity-tile.overdue{
  border-color:rgba(239,83,80,.35);
  background:linear-gradient(180deg,rgba(239,83,80,.08),rgba(239,83,80,.02));
}
.activity-tile-head{
  display:grid;
  grid-template-columns:24px 1fr;
  gap:12px;
  align-items:flex-start;
  cursor:pointer;
}
.activity-tile-head .activity-check{
  margin-top:2px;
  width:22px;height:22px;
}
.activity-tile-body{min-width:0}
.activity-tile-meta{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:6px;
  flex-wrap:wrap;
}
.activity-tile-meta .activity-cat{
  padding:2px 8px;
  font-size:10px;
  letter-spacing:.02em;
}
.activity-tile-meta .activity-status{font-size:10.5px;gap:4px}
.activity-tile-meta .activity-status-dot{width:5px;height:5px}
.activity-tile-title{
  font-family:'Manrope',sans-serif;
  font-weight:700;
  font-size:14.5px;
  line-height:1.35;
  color:var(--white);
  margin:0 0 8px 0;
  letter-spacing:-.005em;
  text-wrap:pretty;
}
.activity-tile.completed .activity-tile-title{text-decoration:line-through;text-decoration-color:rgba(255,255,255,.3)}
.activity-tile-date{
  display:flex;
  align-items:baseline;
  gap:6px;
  font-size:11.5px;
  color:var(--text-dim);
}
.activity-tile-date-label{
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:600;
  font-size:9.5px;
  color:var(--text-dim);
}
.activity-tile-date-val{
  font-weight:600;
  color:var(--text-muted);
}
.activity-tile.overdue .activity-tile-date-label,
.activity-tile.overdue .activity-tile-date-val{color:#FCA5A5}
.activity-tile-expanded{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--border);
}
.activity-tile-expanded p{
  color:var(--text-muted);
  font-size:13px;
  line-height:1.55;
  margin:0 0 10px 0;
}
.activity-tile-expanded .activity-actions{
  padding:0;
  border-top:none;
  margin:0;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.activity-tile-expanded .activity-btn{
  padding:6px 12px;
  font-size:12px;
}
.activity-tile-expanded .activity-remind{
  padding:4px 10px;
  font-size:11px;
}

/* ══════════════════════════════════════════════════════════
   COMPLIANCE TILE GRID
   ══════════════════════════════════════════════════════════ */
.compliance-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:12px;
}
.compliance-tile{
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px;
  transition:border-color .15s ease, background .15s ease;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:108px;
}
.compliance-tile:hover{
  border-color:rgba(239,188,117,.35);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
}
.compliance-tile.done{opacity:.72}
.compliance-tile.done:hover{opacity:1}
.compliance-tile.overdue{
  border-color:rgba(239,83,80,.4);
  background:linear-gradient(180deg,rgba(239,83,80,.08),rgba(239,83,80,.02));
}
.compliance-tile-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.compliance-tile .compliance-check{
  width:24px;height:24px;margin:0;
}
.compliance-tile .compliance-owner{
  font-size:9.5px;
  padding:3px 7px;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-weight:600;
  border-radius:999px;
  border:1px solid var(--border);
  color:var(--text-dim);
  background:rgba(255,255,255,.02);
}
.compliance-tile .compliance-owner.advisor{
  color:var(--accent);
  border-color:rgba(239,188,117,.3);
}
.compliance-tile-title{
  font-family:'Manrope',sans-serif;
  font-weight:700;
  font-size:14px;
  line-height:1.35;
  color:var(--white);
  margin:0;
  letter-spacing:-.005em;
  text-wrap:pretty;
  flex:1;
}
.compliance-tile.done .compliance-tile-title{
  text-decoration:line-through;
  text-decoration-color:rgba(255,255,255,.3);
}
.compliance-tile-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.compliance-tile .compliance-meta-pill{
  font-size:10.5px;
  padding:3px 8px;
}
.compliance-tile .compliance-meta-muted{
  font-size:10.5px;
}

@media (max-width:640px){
  .activity-tile-grid{grid-template-columns:1fr}
  .compliance-grid{grid-template-columns:1fr}
}


/* ══════════════════════════════════════════════════════════
   HEALTH STRIP — overall plan health meter
   ══════════════════════════════════════════════════════════ */
.health-strip{
  max-width:1320px;
  margin:-8px auto 48px auto;
  padding:0 40px;
  position:relative;
  z-index:5;
}
.health-strip-inner{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:32px;
  align-items:center;
  padding:22px 28px;
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border:1px solid var(--border);
  position:relative;
  overflow:hidden;
  transition:border-color .4s ease;
}
.health-strip-inner::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(1200px 120px at 50% -40px, var(--health-glow,transparent), transparent 70%);
  pointer-events:none;
  transition:background .5s ease;
}

/* Bucket-specific accent colors */
.health-excellent .health-strip-inner{--health-accent:#C1E1A7;--health-glow:rgba(193,225,167,.22);border-color:rgba(193,225,167,.3)}
.health-ontrack   .health-strip-inner{--health-accent:#EFBC75;--health-glow:rgba(239,188,117,.18);border-color:rgba(239,188,117,.28)}
.health-attention .health-strip-inner{--health-accent:#F5B042;--health-glow:rgba(245,176,66,.18);border-color:rgba(245,176,66,.32)}
.health-behind    .health-strip-inner{--health-accent:#F07F6F;--health-glow:rgba(240,127,111,.2);border-color:rgba(240,127,111,.36)}

/* Left label block */
.health-label{display:flex;flex-direction:column;gap:4px;min-width:0}
.health-label-eyebrow{
  font-family:'Manrope',sans-serif;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--text-dim);
}
.health-label-status{
  font-family:'Manrope',sans-serif;
  font-size:22px;
  font-weight:800;
  letter-spacing:-.01em;
  color:var(--white);
  display:flex;
  align-items:center;
  gap:10px;
  line-height:1.15;
}
.health-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--health-accent);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--health-accent) 22%, transparent);
  flex-shrink:0;
  animation:healthPulse 2.4s ease-in-out infinite;
}
@keyframes healthPulse{
  0%,100%{ box-shadow:0 0 0 4px color-mix(in srgb, var(--health-accent) 22%, transparent); }
  50%{ box-shadow:0 0 0 8px color-mix(in srgb, var(--health-accent) 10%, transparent); }
}

/* Middle meter + score */
.health-meter{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}
.health-meter-track{
  flex:1;
  height:10px;
  background:rgba(255,255,255,.06);
  border-radius:999px;
  position:relative;
  overflow:hidden;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.3);
}
.health-meter-fill{
  position:absolute;
  inset:0;
  border-radius:999px;
  background:linear-gradient(90deg,
    color-mix(in srgb, var(--health-accent) 70%, transparent),
    var(--health-accent));
  transition:width .9s cubic-bezier(.22,1,.36,1), background .4s ease;
  box-shadow:0 0 20px color-mix(in srgb, var(--health-accent) 40%, transparent);
}
.health-meter-fill::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.25), transparent);
  background-size:200% 100%;
  animation:healthShimmer 2.8s linear infinite;
  border-radius:999px;
}
@keyframes healthShimmer{
  0%{ background-position:-100% 0; }
  100%{ background-position:200% 0; }
}
.health-meter-ticks{position:absolute;inset:0;pointer-events:none}
.health-meter-ticks span{
  position:absolute;
  top:2px;
  bottom:2px;
  width:1px;
  background:rgba(255,255,255,.14);
}
.health-score{
  display:flex;
  align-items:baseline;
  gap:1px;
  font-family:'Manrope',sans-serif;
  font-variant-numeric:tabular-nums;
  flex-shrink:0;
}
.health-score-num{
  font-size:38px;
  font-weight:900;
  color:var(--white);
  letter-spacing:-.02em;
  line-height:1;
}
.health-score-slash{
  font-size:22px;
  color:var(--text-dim);
  margin:0 2px;
  font-weight:400;
}
.health-score-max{
  font-size:16px;
  color:var(--text-dim);
  font-weight:600;
}

/* Right summary */
.health-summary{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
  max-width:340px;
  align-items:flex-end;
}
.health-copy{
  margin:0;
  font-size:12.5px;
  color:var(--text-muted);
  line-height:1.4;
  text-align:right;
  text-wrap:pretty;
}
.health-counts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.health-count-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  font-size:11px;
  font-weight:600;
  color:var(--text-muted);
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  border-radius:999px;
  letter-spacing:.01em;
}
.health-count-chip .health-count-n{
  font-weight:800;
  color:var(--white);
  font-variant-numeric:tabular-nums;
}
.health-count-chip.overdue{
  color:#FCA5A5;
  border-color:rgba(240,127,111,.38);
  background:rgba(240,127,111,.1);
}
.health-count-chip.overdue .health-count-n{color:#FCA5A5}
.health-count-chip.clear{
  color:#C1E1A7;
  border-color:rgba(193,225,167,.35);
  background:rgba(193,225,167,.08);
  font-weight:700;
  padding:4px 12px;
}

@media (max-width:960px){
  .health-strip{padding:0 20px;margin-bottom:36px}
  .health-strip-inner{
    grid-template-columns:1fr;
    gap:18px;
    padding:20px 20px;
  }
  .health-summary{max-width:none;align-items:stretch}
  .health-copy{text-align:left}
  .health-counts{justify-content:flex-start}
  .health-label-status{font-size:20px}
  .health-score-num{font-size:32px}
}


/* ══════════════════════════════════════════════════════════
   EDUTIP — hover / tap education tooltip
   ══════════════════════════════════════════════════════════ */
.edutip{
  position:relative;
  display:inline-flex;
  margin-left:6px;
  vertical-align:middle;
}
.edutip-trigger{
  appearance:none;
  border:1px solid rgba(239,188,117,.35);
  background:rgba(239,188,117,.08);
  color:var(--accent);
  width:16px;
  height:16px;
  border-radius:50%;
  font-family:'Manrope',sans-serif;
  font-size:10px;
  font-weight:800;
  line-height:1;
  cursor:help;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .15s ease, transform .15s ease, border-color .15s ease;
  letter-spacing:0;
  flex-shrink:0;
  position:relative;
  top:-1px;
}
.edutip-trigger:hover,
.edutip-trigger:focus-visible{
  background:rgba(239,188,117,.22);
  border-color:var(--accent);
  transform:scale(1.08);
  outline:none;
}
.edutip-trigger[aria-expanded="true"]{
  background:var(--accent);
  color:var(--navy);
  border-color:var(--accent);
}
.edutip-sm .edutip-trigger{width:14px;height:14px;font-size:9px}

.edutip-pop{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:max-content;
  max-width:280px;
  padding:11px 13px 12px;
  background:#06131D;
  border:1px solid rgba(239,188,117,.32);
  border-radius:10px;
  box-shadow:0 14px 40px rgba(0,0,0,.5), 0 2px 8px rgba(0,0,0,.3);
  font-family:'Manrope',sans-serif;
  z-index:1000;
  pointer-events:auto;
  animation:edutipIn .15s ease-out;
}
@keyframes edutipIn{
  from{opacity:0; transform:translateX(-50%) translateY(4px)}
  to{opacity:1; transform:translateX(-50%) translateY(0)}
}
.edutip-top{bottom:calc(100% + 10px)}
.edutip-bottom{top:calc(100% + 10px)}
.edutip-align-left{left:0;transform:translateX(0)}
.edutip-align-left.edutip-top{bottom:calc(100% + 10px);top:auto}
.edutip-align-right{left:auto;right:0;transform:translateX(0)}

/* Arrow */
.edutip-pop::before{
  content:'';
  position:absolute;
  width:10px;
  height:10px;
  background:#06131D;
  border:1px solid rgba(239,188,117,.32);
  left:50%;
  transform:translateX(-50%) rotate(45deg);
}
.edutip-top::before{bottom:-6px;border-top:none;border-left:none}
.edutip-bottom::before{top:-6px;border-bottom:none;border-right:none}
.edutip-align-left::before{left:16px;transform:rotate(45deg)}
.edutip-align-right::before{left:auto;right:16px;transform:rotate(45deg)}

.edutip-term{
  display:block;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:5px;
}
.edutip-body{
  display:block;
  font-size:12.5px;
  font-weight:400;
  color:var(--text-muted);
  line-height:1.5;
  letter-spacing:0;
  text-transform:none;
  text-wrap:pretty;
}

/* Make sure the trigger inside a title doesn't inherit weird styling */
.compliance-tile-title .edutip{font-weight:400}

/* ── COVERAGE MAP ── */
.coverage-map .coverage-pillars{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(340px, 1fr));
  gap:20px;
  margin-top:32px;
}

.coverage-modal-entries{
  margin-top:24px;
  padding-top:24px;
  border-top:1px solid var(--border);
}

.coverage-modal-entries-label{
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:var(--text-dim);
  margin-bottom:14px;
}

.coverage-modal-entry{
  background:rgba(14,44,64,.4);
  border:1px solid var(--border);
  border-radius:8px;
  padding:16px;
  margin-bottom:12px;
}

.coverage-modal-entry-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:8px;
}

.coverage-modal-entry-head strong{
  font-size:15px;
  font-weight:700;
  color:var(--text);
}

.coverage-book-badge{
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.04em;
  padding:4px 8px;
  border-radius:4px;
}

.coverage-book-badge.on-book{
  background:rgba(20,141,141,.2);
  color:#148D8D;
}

.coverage-book-badge.off-book{
  background:rgba(255,255,255,.08);
  color:var(--text-dim);
}

.coverage-modal-entry-meta{
  font-size:13px;
  color:var(--text-dim);
  margin-bottom:4px;
}

.coverage-portal-link{
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-size:13px;
  font-weight:600;
  color:var(--accent);
  text-decoration:none;
  margin-top:8px;
  transition:color 0.15s;
}

.coverage-portal-link:hover{
  color:var(--accent-hover);
  text-decoration:underline;
}

.coverage-helper{
  margin-top:12px;
  padding:12px;
  background:rgba(20,141,141,.08);
  border-radius:6px;
  font-size:12px;
  color:var(--text-dim);
}

.coverage-helper strong{
  display:block;
  color:var(--text);
  margin-bottom:6px;
  font-size:13px;
}

.coverage-helper ul{
  margin-left:18px;
  list-style:disc;
}

.coverage-helper li{
  margin-bottom:3px;
  line-height:1.5;
}

/* Resource modal */
.resource-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.7);
  backdrop-filter: blur(8px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  overflow-y: auto;
}
.resource-modal-card {
  background: var(--navy-mid);
  border-radius: 16px;
  max-width: 680px;
  width: 100%;
  max-height: 85vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
  position: relative;
  margin: auto;
}
.resource-modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  z-index: 10;
}
.resource-modal-close:hover {
  background: rgba(255,255,255,0.15);
  border-color: rgba(255,255,255,0.3);
}
.resource-modal-head {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 32px 32px 24px;
  border-bottom: 1px solid var(--border);
}
.resource-modal-icon {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  border: 2px solid;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.resource-modal-icon svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}
.resource-modal-label {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--accent);
  margin-bottom: 6px;
}
.resource-modal-title {
  font-family: var(--font-heading, 'Manrope', sans-serif);
  font-size: 24px;
  font-weight: 800;
  color: var(--text);
  line-height: 1.3;
}
.resource-modal-body {
  padding: 24px 32px 32px;
  line-height: 1.7;
}
.resource-modal-body h3 {
  font-family: var(--font-heading, 'Manrope', sans-serif);
  font-size: 20px;
  font-weight: 700;
  color: var(--accent);
  margin: 24px 0 12px;
}
.resource-modal-body h4 {
  font-family: var(--font-heading, 'Manrope', sans-serif);
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  margin: 20px 0 8px;
}
.resource-modal-body p {
  margin: 12px 0;
  color: var(--text-muted);
}
.resource-modal-body p strong {
  color: var(--text);
  font-weight: 700;
}

