/* ===== Article extras: takeaways, table of contents, FAQ, related blocks ===== */
.article-header__meta a:hover{text-decoration:underline}
.article-byline a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.article-pre{display:grid;gap:18px;max-width:760px;margin:0 auto 40px}
.takeaways{padding:24px 26px;background:linear-gradient(180deg,var(--sky-2),var(--sky));border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:16px}
.takeaways h2{margin:0 0 10px;font-size:18px}
.takeaways ul{margin:0;padding-left:1.2em;list-style:disc}
.takeaways li{margin:.45em 0;color:#34445a;font-size:15.5px;line-height:1.65}
.article-toc{padding:20px 26px;background:#fff;border:1px solid var(--line);border-radius:16px}
.article-toc h2{margin:0 0 8px;font-size:16px}
.article-toc ol{margin:0;padding-left:1.3em;list-style:decimal}
.article-toc li{margin:.35em 0;font-size:14.5px;line-height:1.5}
.article-toc a{color:var(--blue)}
.article-toc a:hover{text-decoration:underline;text-underline-offset:3px}
.article-body h2,.article-body h3{scroll-margin-top:96px}
.article-faq{max-width:760px;margin:56px auto 0}
.article-faq h2{margin-bottom:16px;font-size:26px}
.article-faq details{margin:0 0 10px;background:#fff;border:1px solid var(--line);border-radius:14px}
.article-faq summary{padding:16px 20px;color:var(--navy);font-weight:700;cursor:pointer;list-style:none}
.article-faq summary::-webkit-details-marker{display:none}
.article-faq summary:after{float:right;content:"+";color:var(--blue);font-size:20px;line-height:1}
.article-faq details[open] summary:after{content:"–"}
.article-faq details>div{padding:0 20px 18px;color:#34445a;font-size:15.5px;line-height:1.75}
.article-faq details>div p{margin:0 0 .8em}
.article-next-step__more{margin:10px 0 0;color:#b9cadb;font-size:13.5px}
.article-next-step__more a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.related-articles{max-width:1000px;margin:56px auto 0}
.related-articles--calc{max-width:none;margin-top:44px}
.related-articles h2{margin-bottom:18px;font-size:24px}
.related-articles__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.related-articles__grid article{display:flex;flex-direction:column;gap:8px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:16px;transition:transform .2s,border-color .2s,box-shadow .2s}
.related-articles__grid article:hover{transform:translateY(-2px);border-color:#b9cdf5;box-shadow:var(--shadow)}
.related-articles__grid h3{font-size:16px;line-height:1.35}
.related-articles__grid h3 a:hover{color:var(--blue)}
.related-articles__grid p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.55}
@media(max-width:900px){.related-articles__grid{grid-template-columns:1fr}}

/* ===== Glossary ===== */
.glossary-definition{max-width:720px;margin:18px 0 0;padding:16px 20px;color:#34445a;font-size:17px;line-height:1.65;background:var(--sky-2);border:1px solid var(--line);border-radius:14px}
.glossary-definition strong{color:var(--navy)}
.glossary-page .asset-crumbs{margin-bottom:22px}
.glossary-related{max-width:760px;margin:44px auto 0}
.glossary-related h2{margin-bottom:12px;font-size:20px}
.chip-row{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;align-items:center;padding:8px 14px;color:var(--navy);font-size:13.5px;font-weight:700;background:#fff;border:1px solid var(--line);border-radius:999px;transition:.2s}
.chip:hover{color:var(--blue);border-color:#9db8ea;background:var(--sky-2)}
.chip--primary{color:#fff;background:var(--blue);border-color:var(--blue)}
.chip--primary:hover{color:#fff;background:var(--blue-dark);border-color:var(--blue-dark)}
.glossary-az{position:sticky;top:70px;z-index:5;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 34px;padding:10px 0;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.glossary-az a{display:grid;place-items:center;width:34px;height:34px;color:var(--navy);font-size:13px;font-weight:700;background:var(--sky-2);border:1px solid var(--line);border-radius:9px}
.glossary-az a:hover{color:#fff;background:var(--blue);border-color:var(--blue)}
.glossary-group{margin-bottom:34px;scroll-margin-top:130px}
.glossary-group h2{margin-bottom:14px;padding-bottom:8px;color:var(--blue);font-size:30px;border-bottom:1px solid var(--line)}
.glossary-group dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
.glossary-item{padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:14px;transition:border-color .2s,box-shadow .2s}
.glossary-item:hover{border-color:#b9cdf5;box-shadow:var(--shadow)}
.glossary-item dt{margin:0 0 6px;font-size:17px;font-weight:700}
.glossary-item dt a{color:var(--navy)}
.glossary-item dt a:hover{color:var(--blue)}
.glossary-item dd{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
@media(max-width:760px){.glossary-group dl{grid-template-columns:1fr}.glossary-az{top:68px}}

/* ===== Hub pages ===== */
.hub-page .section-heading{margin-bottom:22px}
.hub-page .asset-list{margin-bottom:56px}
.hub-body.article-body{max-width:780px;margin:0 auto}
.hub-updated{margin-top:12px!important;color:var(--muted);font-size:13px!important}
.asset-aside .aside-card--clubs p{margin:0 0 12px;color:var(--muted);font-size:13.5px}

/* ===== Editorial / trust ===== */
.trust-line{margin:0 0 6px;color:var(--muted);font-size:12.5px}
.trust-line a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}

/* ===== Analytics consent notice ===== */
.consent{position:fixed;right:16px;bottom:16px;left:16px;z-index:60;display:flex;align-items:center;gap:18px;max-width:640px;margin-left:auto;padding:16px 18px;color:#e6eefb;background:var(--navy);border:1px solid rgba(255,255,255,.12);border-radius:16px;box-shadow:0 18px 50px rgba(11,31,58,.35)}
.consent[hidden]{display:none}
.consent p{margin:0;color:#c9d9ea;font-size:13.5px;line-height:1.55}
.consent a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.consent__actions{display:flex;flex:none;gap:8px}
.consent__btn{padding:9px 16px;color:var(--navy);font-size:13px;font-weight:700;background:#fff;border:1px solid #fff;border-radius:10px;cursor:pointer;transition:.2s}
.consent__btn:hover{background:var(--sky)}
.consent__btn--ghost{color:#fff;background:transparent;border-color:rgba(255,255,255,.35)}
.consent__btn--ghost:hover{background:rgba(255,255,255,.1)}
@media(max-width:600px){.consent{flex-direction:column;align-items:stretch;gap:12px}.consent__actions{justify-content:flex-end}}

/* ===== Lists inside long-form content (Tailwind's reset removes bullets) ===== */
.article-body ul,.hub-body ul,.legal-content ul{list-style:disc}
.article-body ol,.hub-body ol,.legal-content ol{list-style:decimal}
.article-body ul ul,.hub-body ul ul{list-style:circle}
.article-toc ol.is-long{columns:2;column-gap:32px}
.article-toc ol.is-long li{break-inside:avoid}
@media(max-width:700px){.article-toc ol.is-long{columns:1}}

/* ===== Calculator tools: toolbar, mobile result bar ===== */
.calc-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 26px;padding:12px 14px;background:var(--sky-2);border:1px solid var(--line);border-radius:14px}
.calc-toolbar__cur{display:flex;align-items:center;gap:8px;margin:0;color:#36475e;font-size:12px;font-weight:700}
.calc-toolbar__cur select{min-height:36px;padding:0 10px;color:var(--navy);font-size:13px;background:#fff;border:1px solid #cbd7e6;border-radius:9px}
.calc-toolbar__actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.calc-toolbar button{min-height:36px;padding:0 14px;color:var(--navy);font-size:13px;font-weight:700;background:#fff;border:1px solid #cbd7e6;border-radius:9px;cursor:pointer;transition:.2s}
.calc-toolbar button:hover{color:var(--blue);border-color:#9db8ea;background:var(--sky)}
.calc-toolbar__status{flex-basis:100%;min-height:16px;margin:0;color:var(--positive);font-size:12.5px;font-weight:600}
.calc-toolbar__status:empty{display:none}
.calc-sticky{position:fixed;right:0;bottom:0;left:0;z-index:50;display:none;align-items:center;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));color:#fff;background:var(--navy);box-shadow:0 -10px 30px rgba(11,31,58,.28)}
.calc-sticky.is-visible{display:flex}
.calc-sticky__label{flex:none;color:#b9cadb;font-size:12.5px}
.calc-sticky__value{flex:1;min-width:0;overflow:hidden;color:#fff;font-size:20px;letter-spacing:-.02em;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.calc-sticky__up{flex:none;width:36px;height:36px;color:var(--navy);font-size:18px;font-weight:700;background:#fff;border:0;border-radius:10px;cursor:pointer}

/* ===== Focus visibility ===== */
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(37,99,235,.5);outline-offset:2px}

/* ===== Print: calculator results on paper ===== */
@media print{
  .site-header,.site-footer,.calc-toolbar,.calc-sticky,.consent,.skip-link,.related-articles,.article-next-step,.view-switcher,.nav-toggle{display:none!important}
  body{background:#fff}
  .calculator-content,.article-page,.asset-page{padding:0!important;border:0!important;box-shadow:none!important}
  .calculator-content canvas{max-height:none}
  .collapse-content{display:block!important}
  a{color:inherit;text-decoration:none}
}

/* ===== Explore hub ===== */
.explore-page .page-hero{padding-bottom:30px}
.explore-feature{display:flex;align-items:center;justify-content:space-between;gap:32px;margin:0 0 70px;padding:40px 46px;color:#fff;background:linear-gradient(125deg,var(--navy),#123765);border-radius:24px;transition:transform .2s,box-shadow .2s}
.explore-feature:hover{transform:translateY(-2px);box-shadow:0 24px 60px rgba(11,31,58,.25)}
.explore-feature h2{max-width:660px;margin:10px 0 8px;color:#fff;font-size:clamp(24px,3vw,34px)}
.explore-feature p{max-width:560px;margin:0;color:#b9cadb}
.explore-feature .button{flex:none;margin-top:0}
.explore-section{margin-bottom:76px}
.explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.explore-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.explore-card{--group-tint:color-mix(in srgb,var(--group) 6%,#fff);--group-line:color-mix(in srgb,var(--group) 24%,#fff);display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px;background:var(--group-tint);border:1px solid var(--group-line);border-radius:20px;transition:transform .2s,box-shadow .2s,border-color .2s}
a.explore-card:hover{transform:translateY(-3px);border-color:var(--group);box-shadow:var(--shadow)}
.explore-card h3{font-size:19px}
.explore-card p{flex:1;margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.explore-card__meta{color:var(--group);font-size:13px;font-weight:700}
.explore-card--soon{background:#fff;border-style:dashed}
@media(max-width:1000px){.explore-grid,.explore-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.explore-feature{flex-direction:column;align-items:flex-start;padding:30px}}
@media(max-width:600px){.explore-grid,.explore-grid--4{grid-template-columns:1fr}.explore-section{margin-bottom:56px}}

/* ===== Start here: step path ===== */
.steps-page .page-hero{padding-bottom:20px}
.steps-intro.article-body{max-width:720px;margin:0 0 40px}
.steps-list{position:relative;margin:0 0 48px;padding:0;list-style:none}
.steps-list:before{position:absolute;top:24px;bottom:24px;left:23px;width:2px;background:var(--line);content:""}
.steps-item{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:22px;margin:0 0 22px}
.steps-item__num{z-index:1;display:grid;place-items:center;width:48px;height:48px;color:#fff;font-size:18px;font-weight:800;background:var(--blue);border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 1px var(--line)}
.steps-item__body{padding:22px 26px;background:#fff;border:1px solid var(--line);border-radius:18px}
.steps-item__body h2{margin:0 0 8px;font-size:22px}
.steps-item__body p{margin:0 0 14px;color:var(--muted);font-size:15.5px;line-height:1.65}
.steps-links{display:flex;flex-wrap:wrap;gap:8px}
.steps-link{display:flex;flex-direction:column;padding:8px 14px;background:var(--sky-2);border:1px solid var(--line);border-radius:12px;transition:.2s}
.steps-link small{color:var(--blue);font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.steps-link span{color:var(--navy);font-size:13.5px;font-weight:700;line-height:1.3}
.steps-link:hover{background:#fff;border-color:#9db8ea}
.steps-link--calculator small{color:var(--positive)}
.steps-link--glossary small{color:#7c3aed}
.steps-link--page small{color:#d97706}
.steps-done{margin-top:18px;padding:32px;background:linear-gradient(180deg,var(--sky-2),var(--sky));border:1px solid var(--line);border-radius:20px}
.steps-done h2{margin:0 0 8px;font-size:24px}
.steps-done p{max-width:680px;margin:0 0 16px;color:#34445a}
@media(max-width:600px){.steps-item{grid-template-columns:36px minmax(0,1fr);gap:14px}.steps-item__num{width:36px;height:36px;font-size:15px}.steps-list:before{left:17px}.steps-item__body{padding:18px}}

/* ===== Broker checklist ===== */
.brokers-note{margin:0 0 54px;padding:18px 22px;color:#34445a;font-size:15px;line-height:1.65;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px}
.brokers-note a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.criteria-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.criteria-card{display:grid;grid-template-columns:40px minmax(0,1fr);gap:6px 16px;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:18px}
.criteria-card__num{display:grid;grid-row:1/4;place-items:center;width:40px;height:40px;color:var(--blue);font-weight:800;background:var(--sky);border-radius:12px}
.criteria-card h3{font-size:18px}
.criteria-card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.6}
.criteria-card p.criteria-card__ask{padding-top:6px;color:var(--navy)}
.brokers-soon{--group:#2563eb;--group-tint:color-mix(in srgb,var(--group) 6%,#fff);--group-line:color-mix(in srgb,var(--group) 24%,#fff)}
.brokers-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px}
.brokers-table{width:100%;border-collapse:collapse;font-size:14px}
.brokers-table th,.brokers-table td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.brokers-table thead th{color:var(--muted);font-size:11px;letter-spacing:.07em;text-transform:uppercase;background:var(--sky-2)}
.brokers-table tbody th{color:var(--navy)}
.brokers-table small{display:block;margin-top:3px;color:var(--muted);font-size:11.5px;font-weight:400}
.brokers-two{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.brokers-two__col{padding:26px;background:#fff;border:1px solid var(--line);border-radius:18px}
.brokers-two__col h2{margin-bottom:12px;font-size:22px}
.brokers-two__col ul{margin:0;padding-left:1.2em;list-style:disc}
.brokers-two__col li{margin:.55em 0;color:#34445a;font-size:15px;line-height:1.6}
.brokers-two__col--check{background:var(--sky-2)}
.brokers-two__col ul.checklist{padding:0;list-style:none}
.checklist label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.checklist input{flex:none;width:18px;height:18px;margin-top:3px;accent-color:var(--blue)}
.brokers-body.article-body{max-width:780px;margin:0 auto}
@media(max-width:900px){.criteria-grid,.brokers-two{grid-template-columns:1fr}}

/* ===== Space between the page content and the footer ===== */
.explore-page,.steps-page,.brokers-page,.hub-page,.glossary-index{padding-bottom:100px}
@media(max-width:760px){.explore-page,.steps-page,.brokers-page,.hub-page,.glossary-index{padding-bottom:70px}}

/* ===== Sample portfolios ===== */
.portfolios-page,.quiz-page,.compare-index{padding-bottom:100px}
.pfs-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin:0 0 34px;padding:24px 28px;background:var(--sky-2);border:1px solid var(--line);border-radius:18px}
.pfs-controls h2{margin:0 0 4px;font-size:22px}
.pfs-controls p{margin:0;color:var(--muted);font-size:14px}
.pfs-amount{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.pfs-amount label{color:#36475e;font-size:12px;font-weight:700}
.pfs-amount input{width:170px;min-height:46px;padding:0 14px;color:var(--navy);font-size:16px;font-weight:700;background:#fff;border:1px solid #cbd7e6;border-radius:11px}
.pfs-presets{display:flex;gap:6px}
.pfs-presets button{min-height:36px;padding:0 12px;color:var(--navy);font-size:13px;font-weight:700;background:#fff;border:1px solid #cbd7e6;border-radius:9px;cursor:pointer;transition:.2s}
.pfs-presets button:hover{color:var(--blue);border-color:#9db8ea;background:var(--sky)}
.pfs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:56px}
.pfs-card{--tint:color-mix(in srgb,var(--group) 6%,#fff);--line2:color-mix(in srgb,var(--group) 24%,#fff);display:flex;flex-direction:column;gap:16px;padding:26px;background:var(--tint);border:1px solid var(--line2);border-radius:22px;scroll-margin-top:96px}
.pfs-card__tag{display:inline-block;padding:3px 11px;color:var(--group);font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#fff;border:1px solid var(--line2);border-radius:999px}
.pfs-card h2{margin:10px 0 6px;font-size:26px}
.pfs-card__head p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.pfs-bar{display:flex;height:14px;overflow:hidden;background:#fff;border-radius:999px}
.pfs-bar i{display:block;height:100%;background:color-mix(in srgb,var(--group) calc(100% - var(--shade) * 17%),#fff)}
.pfs-table{width:100%;border-collapse:collapse;font-size:13px}
.pfs-table th,.pfs-table td{padding:9px 6px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line2)}
.pfs-table thead th{color:var(--muted);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}
.pfs-table tbody th{color:var(--navy);font-weight:700}
.pfs-table tbody th a:hover{color:var(--blue);text-decoration:underline}
.pfs-table small{display:block;margin-top:2px;color:var(--muted);font-size:11.5px;font-weight:400}
.pfs-dot{display:inline-block;width:9px;height:9px;margin-right:7px;background:color-mix(in srgb,var(--group) calc(100% - var(--shade) * 17%),#fff);border-radius:50%}
.pfs-amt{white-space:nowrap}
.pfs-result{display:grid;gap:8px;margin:0;padding:16px;background:#fff;border:1px solid var(--line2);border-radius:14px}
.pfs-result>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.pfs-result dt{color:var(--muted);font-size:12.5px}
.pfs-result dd{margin:0;color:var(--navy);font-size:16px;font-weight:700}
.pfs-result__main dd{color:var(--group);font-size:26px;letter-spacing:-.02em}
.pfs-watch{margin:0;color:#34445a;font-size:13px;line-height:1.55}
.pfs-open{margin-top:auto!important;width:100%}
@media(max-width:1100px){.pfs-grid{grid-template-columns:1fr}.pfs-controls{flex-direction:column;align-items:stretch}}

/* ===== Comparison pages ===== */
.compare-intro.article-body{max-width:760px;margin-bottom:34px}
.compare-table-wrap{margin:0 auto 36px;max-width:960px}
.compare-table-wrap h2,.compare-diff h2{margin-bottom:14px;font-size:26px}
.compare-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff}
.compare-table{width:100%;min-width:560px;border-collapse:collapse;font-size:14.5px}
.compare-table th,.compare-table td{padding:14px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.compare-table thead th,.compare-table thead td{background:var(--sky-2)}
.compare-table tbody th{width:150px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.compare-table tbody tr:last-child td,.compare-table tbody tr:last-child th{border-bottom:0}
.compare-head{display:flex;flex-direction:column;gap:3px}
.compare-head img{width:auto;max-width:100px;height:28px;margin-bottom:6px;object-fit:contain;object-position:left center}
.compare-head__mono{margin-bottom:6px;color:var(--navy);font-size:20px;font-weight:800}
.compare-head strong{color:var(--navy);font-size:15px;line-height:1.3}
.compare-head small{color:var(--muted);font-size:12px}
.compare-chart{max-width:960px;margin:0 auto 40px}
.compare-diff{max-width:960px;margin:0 auto 40px}
.compare-diff__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.compare-diff__grid article{padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:16px}
.compare-diff__grid h3{margin-bottom:6px;font-size:17px}
.compare-diff__grid p{margin:0;color:#34445a;font-size:14.5px;line-height:1.65}
.compare-decide{max-width:960px;margin:0 auto 40px}
.compare-decide__note{margin:14px 0 0;color:var(--muted);font-size:13px}
.compare-logos{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.compare-logos span{display:inline-flex;align-items:center;height:30px;padding:0 10px;background:#fff;border:1px solid var(--line);border-radius:9px}
.compare-logos img{width:auto;max-width:70px;height:20px;object-fit:contain}
.compare-logos b{color:var(--navy);font-size:12px}
@media(max-width:700px){.compare-diff__grid{grid-template-columns:1fr}}

/* ===== Quiz ===== */
.quiz{max-width:720px;margin:0 0 40px}
.quiz[hidden],.quiz-result[hidden]{display:none}
.quiz__progress{height:8px;margin-bottom:14px;overflow:hidden;background:var(--sky);border-radius:999px}
.quiz__progress i{display:block;width:0;height:100%;background:var(--blue);border-radius:999px;transition:width .3s}
.quiz__count{margin:0 0 14px;color:var(--muted);font-size:13px;font-weight:700}
.quiz fieldset{margin:0;padding:0;border:0}
.quiz legend{margin-bottom:18px;padding:0;color:var(--navy);font-size:clamp(22px,3vw,30px);font-weight:700;letter-spacing:-.025em;line-height:1.2}
.quiz legend:focus{outline:0}
.quiz__option{display:flex;align-items:center;gap:12px;margin:0 0 10px;padding:16px 18px;color:var(--navy);font-size:16px;font-weight:600;background:#fff;border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:border-color .2s,background .2s}
.quiz__option:hover{border-color:#9db8ea;background:var(--sky-2)}
.quiz__option input{flex:none;width:18px;height:18px;accent-color:var(--blue)}
.quiz__option:has(input:checked){border-color:var(--blue);background:var(--sky)}
.quiz__nav{display:flex;gap:10px;margin-top:22px}
.quiz__btn{min-height:46px;padding:0 22px;color:#fff;font-size:14px;font-weight:700;background:var(--navy);border:1px solid var(--navy);border-radius:12px;cursor:pointer;transition:.2s}
.quiz__btn:hover:not(:disabled){background:var(--blue-dark);border-color:var(--blue-dark)}
.quiz__btn:disabled{opacity:.4;cursor:not-allowed}
.quiz__btn--ghost{color:var(--navy);background:#fff;border-color:#cbd7e6}
.quiz__btn--ghost:hover:not(:disabled){color:var(--blue);background:var(--sky-2);border-color:#9db8ea}
.quiz-result{max-width:820px;margin:0 0 40px;padding:34px;background:linear-gradient(180deg,var(--sky-2),var(--sky));border:1px solid var(--line);border-radius:24px}
.quiz-result:focus{outline:0}
.quiz-result h2{margin:10px 0 12px;font-size:clamp(28px,4vw,40px)}
.quiz-result>p{max-width:640px;color:#34445a;font-size:16.5px;line-height:1.7}
.quiz-result h3{margin:26px 0 12px;font-size:18px}
.quiz-result__traits{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none}
.quiz-result__traits li{padding:6px 14px;color:var(--navy);font-size:13px;font-weight:700;background:#fff;border:1px solid var(--line);border-radius:999px}
.quiz-result__style{margin-top:8px}
.quiz-result__style p{margin:0 0 12px;color:#34445a}
.quiz-result__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:30px}
.quiz-result__actions #quiz-status{color:var(--positive);font-size:13px;font-weight:600}
.quiz-result__note{margin:20px 0 0;color:var(--muted);font-size:12.5px}

/* ===== Home redesign (v8.3) ===== */
.home-hero{min-height:0;padding:64px 0 56px;gap:56px;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center}
.hero-live{position:relative;padding:26px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 80px rgba(11,31,58,.12)}
.hero-live:before{position:absolute;z-index:-1;inset:-18px -18px 18px 18px;background:linear-gradient(135deg,#eaf2ff,#f6f9fd);border-radius:28px;content:""}
.hero-live__head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:18px}
.hero-live__head strong{color:var(--navy);font-size:17px;letter-spacing:-.02em}
.hero-live__badge{padding:4px 10px;color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--sky);border-radius:999px}
.hero-live__fields{display:grid;grid-template-columns:1.3fr 1fr;gap:12px}
.hero-live__fields label{display:grid;gap:6px;margin:0}
.hero-live__fields label>span{color:#516176;font-size:12px;font-weight:700}
.hero-live__input{display:flex;align-items:center;gap:6px;min-height:52px;padding:0 14px;background:var(--sky-2);border:1.5px solid var(--line);border-radius:12px;transition:.2s}
.hero-live__input:focus-within{background:#fff;border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.hero-live__input b{color:#7b899d;font-weight:600}
.hero-live__input input{width:100%;min-width:0;padding:0;color:var(--navy);font-size:18px;font-weight:700;background:transparent;border:0;outline:0;-moz-appearance:textfield}
.hero-live__input input::-webkit-outer-spin-button,.hero-live__input input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}
.hero-live__result{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;margin-top:14px;padding:20px;color:#fff;background:var(--navy);border-radius:16px}
.hero-live__result span{display:block;color:#adbed1;font-size:12px}
.hero-live__result strong{display:block;margin-top:4px;font-size:clamp(28px,3.4vw,40px);letter-spacing:-.04em;line-height:1.05;overflow-wrap:anywhere}
.hero-live__result div+div strong{font-size:clamp(20px,2.2vw,26px);margin-top:10px;color:#cfe0f5}
.hero-live__link{display:inline-flex;gap:6px;margin-top:16px;color:var(--blue);font-size:14px;font-weight:700}
.hero-live__link:hover{color:var(--blue-dark)}
.hero-live__note{margin:10px 0 0;color:#7b899d;font-size:11.5px;line-height:1.5}

.home-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 26px;background:#fff;border:1px solid var(--line);border-radius:18px}
.home-stats>div{padding:20px 24px;border-right:1px solid var(--line)}
.home-stats>div:last-child{border-right:0}
.home-stats strong{display:block;color:var(--navy);font-size:28px;letter-spacing:-.04em;line-height:1.1}
.home-stats span{display:block;margin-top:4px;color:var(--muted);font-size:12.5px}

.home-tools{grid-template-columns:repeat(3,1fr);gap:14px}
.home-tool{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:16px;transition:.2s}
.home-tool:hover{border-color:#a9c3ef;box-shadow:var(--shadow);transform:translateY(-3px)}
.home-tool__icon{display:grid;place-items:center;width:44px;height:44px;color:var(--blue);font-size:19px;font-weight:700;background:var(--sky);border-radius:12px}
.home-tool__body{display:grid;gap:3px;min-width:0}
.home-tool__body small{color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.home-tool__body strong{color:var(--navy);font-size:16.5px;letter-spacing:-.02em;line-height:1.25}
.home-tool__body>span{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:13px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.home-tool__arrow{color:#9aa9bd;font-size:18px;transition:.2s}
.home-tool:hover .home-tool__arrow{color:var(--blue);transform:translateX(3px)}

@media(max-width:1000px){
  .home-hero{grid-template-columns:1fr;gap:34px;padding:34px 0 40px}
  .hero-live:before{inset:-10px -10px 10px 10px}
  .home-tools{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .home-stats{grid-template-columns:repeat(2,1fr);margin-bottom:8px}
  .home-stats>div{padding:16px 18px}
  .home-stats>div:nth-child(2){border-right:0}
  .home-stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .home-stats strong{font-size:24px}
  .home-tools{grid-template-columns:1fr;gap:10px}
  .home-tool{padding:16px;gap:12px}
  .home-tool__icon{width:40px;height:40px}
  .dividend-basics__grid{gap:10px}
  .dividend-card{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;padding:18px}
  .dividend-card__icon{grid-row:1/4;margin:0}
  .dividend-card h3{margin:0}
  .dividend-card p{margin:0}
}
@media(max-width:480px){
  .home-hero{padding-top:22px;gap:26px}
  .home-hero__copy h1{margin:14px 0 16px;font-size:40px}
  .hero-live{padding:20px 16px}
  .hero-live:before{display:none}
  .hero-live__fields{grid-template-columns:1fr 1fr;gap:10px}
  .hero-live__input{min-height:48px;padding:0 12px}
  .hero-live__input input{font-size:16px}
  .hero-live__result{grid-template-columns:1fr;gap:12px;padding:16px}
  .hero-live__result div+div{display:flex;justify-content:space-between;align-items:baseline;padding-top:12px;border-top:1px solid rgba(255,255,255,.14)}
  .hero-live__result div+div strong{margin:0}
}

/* ===== Mobile calculator UX (v8.3) ===== */
@media(max-width:760px){
  .home-section{padding:46px 0}
  .home-cta{margin-bottom:40px}
  .home-section .section-heading{gap:12px;margin-bottom:22px}

  /* header: get to the calculator faster */
  .calculator-page{padding-bottom:56px}
  .calculator-page .page-hero{padding:26px 0 18px}
  .calculator-page .page-hero h1{margin:8px 0 10px;font-size:32px;line-height:1.08}
  .calculator-page .page-hero p{font-size:15px;line-height:1.6}

  /* less nesting, more room for the inputs */
  .calculator-page .page-shell,.calculator-page{width:min(100% - 20px)}
  .calculator-content{padding:10px;border-radius:18px;box-shadow:0 10px 30px rgba(11,31,58,.07)}
  .calculator-content .my-10{margin-top:14px;margin-bottom:14px}
  .calculator-content .card-body{padding:16px 14px}
  .calculator-content .card-title{font-size:20px}
  .calculator-content>.max-w-5xl.grid,.calculator-content>.max-w-4xl>.grid:first-of-type,.calculator-workbench{padding:14px;border-radius:16px}
  .calculator-content [class*="max-w-3xl"][class*="py-"],.calculator-content [class*="max-w-4xl"][class*="py-"]{padding-top:18px!important;padding-bottom:18px!important}
  .calculator-content h2{font-size:22px}

  /* disclaimer note: small, not a block of text above the tool */
  .calculator-content .alert{align-items:flex-start;gap:8px;margin-top:0;padding:9px 12px;font-size:12px;line-height:1.5}
  .calculator-content .alert svg{width:16px;height:16px;margin-top:2px}

  /* toolbar: one tidy row */
  .calc-toolbar{flex-wrap:nowrap;gap:8px;margin:0 0 12px;padding:8px 10px}
  .calc-toolbar__cur span{display:none}
  .calc-toolbar__cur select{min-height:40px;font-size:15px}
  .calc-toolbar__actions{flex-wrap:nowrap;margin-left:auto}
  .calc-toolbar button{min-height:40px;padding:0 12px;white-space:nowrap}
  .calc-toolbar button[data-act="print"]{display:none}
  .calc-toolbar__status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

  /* inputs: 16px stops iOS zooming the page on focus; comfortable tap targets */
  .calculator-content input:not([type=range]):not([type=checkbox]):not([type=radio]),.calculator-content select,.calculator-content .input,.calculator-content .select{min-height:48px;font-size:16px}
  .calculator-content label,.calculator-content .label-text{font-size:13px}
  .calculator-content input[type=range]{height:32px;margin:6px 0}
  .calculator-content .btn{min-height:46px}

  /* results: never clip a number */
  .calculator-content .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));overflow:hidden}
  .calculator-content .stat{min-width:0;padding:14px 16px;border:0;border-bottom:1px solid var(--line)}
  .calculator-content .stat-title{font-size:12px;white-space:normal}
  .calculator-content .stat-value{font-size:24px;overflow-wrap:anywhere;white-space:normal}

  /* tables scroll sideways with a visible hint */
  .calculator-content .overflow-x-auto{-webkit-overflow-scrolling:touch;background:linear-gradient(90deg,#fff 30%,rgba(255,255,255,0)) left/24px 100% no-repeat local,linear-gradient(270deg,#fff 30%,rgba(255,255,255,0)) right/24px 100% no-repeat local,linear-gradient(90deg,rgba(11,31,58,.14),rgba(11,31,58,0)) left/10px 100% no-repeat scroll,linear-gradient(270deg,rgba(11,31,58,.14),rgba(11,31,58,0)) right/10px 100% no-repeat scroll}
  .calculator-content .table{font-size:12.5px}
  .calculator-content .table :where(th,td){padding:10px 12px;white-space:nowrap}
  .calculator-content canvas{padding:8px;max-height:300px}

  /* portfolio rows: inputs line up even when a label wraps */
  .pf-row{align-items:end}
  .pf-card{padding:14px 12px}

  /* consent: compact so it doesn't cover the tool */
  .consent{right:10px;bottom:10px;left:10px;flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px;border-radius:14px}
  .consent p{font-size:12px;line-height:1.5}
  .consent__actions{justify-content:flex-end}
  .consent__btn{padding:8px 14px;font-size:12.5px}
}
@media(min-width:1001px){.home-hero__copy h1{font-size:clamp(48px,5vw,68px);line-height:1}.home-section{padding-top:64px;padding-bottom:64px}.section-heading--home h2{max-width:none}}

/* ===== Stock & ETF dividend income calculator ===== */
.sdc-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.sdc-panel{padding:24px;background:#fff;border:1px solid var(--line);border-radius:20px}
.sdc-panel h2{margin:0 0 16px;font-size:19px}
.sdc-panel--result{position:sticky;top:90px;background:var(--sky-2)}
.sdc-field{display:grid;gap:6px;margin:0 0 14px}
.sdc-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;align-items:start}
.sdc-field{align-content:start}
.sdc-fields .sdc-check{grid-column:1/-1}
.sdc-hint{color:#7b899d;font-size:11.5px;line-height:1.45}
.sdc-check{display:flex;align-items:flex-start;gap:12px;margin:4px 0 0;padding:14px;background:var(--sky-2);border:1px solid var(--line);border-radius:12px;cursor:pointer}
.sdc-check span{display:grid;gap:2px;color:var(--navy);font-size:14px;font-weight:600}
.sdc-check small{color:var(--muted);font-size:12px;font-weight:400}
.sdc-quote{margin:0 0 18px}
.sdc-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin:0 0 10px!important;padding:0!important;overflow:hidden;list-style:none;background:var(--line);border:1px solid var(--line);border-radius:12px}
.sdc-facts li{display:grid;gap:2px;margin:0;padding:10px 12px;background:#fff}
.sdc-facts span{color:#7b899d;font-size:11px;font-weight:600}
.sdc-facts strong{color:var(--navy);font-size:14.5px}
.sdc-rank{margin:0 0 8px;color:var(--muted);font-size:12.5px}
.sdc-profile{font-size:13.5px}
.sdc-error{margin:8px 0 0;padding:10px 12px;color:#9a3412;font-size:13px;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px}
.sdc-hero{padding:22px;color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy-2));border-radius:16px}
.sdc-hero span{display:block;color:#adbed1;font-size:13px}
.sdc-hero strong{display:block;margin:4px 0 2px;font-size:clamp(34px,4.4vw,48px);letter-spacing:-.04em;line-height:1.05;overflow-wrap:anywhere}
.sdc-hero em{color:#cfe0f5;font-size:14px;font-style:normal}
.sdc-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 0}
.sdc-stats>div{display:grid;align-content:start;gap:3px;min-width:0;margin:0;padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px}
.sdc-stats dt{color:#7b899d;font-size:12px;font-weight:600}
.sdc-stats dd{margin:0;color:var(--navy);font-size:19px;font-weight:700;letter-spacing:-.02em;overflow-wrap:anywhere}
.sdc-stats small{color:#7b899d;font-size:11.5px;line-height:1.4}
.sdc-goal{margin-top:16px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px}
.sdc-goal h3{margin:0 0 10px;font-size:16px}
.sdc-goal .sdc-field{margin-bottom:8px}
.sdc-goal p{margin:0;color:#34445a;font-size:13.5px;line-height:1.65}
.sdc-charts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:18px}
.sdc-chart{min-width:0;padding:20px;background:#fff;border:1px solid var(--line);border-radius:20px}
.sdc-chart h3{margin:0 0 12px;font-size:16px}
.sdc-chart__box{position:relative;height:300px}
.sdc-chart canvas{height:100%!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important}
.sdc-note{margin:10px 0 0;color:#7b899d;font-size:12.5px;line-height:1.55}
.sdc-table-title{margin:26px 0 10px}
.sdc-source{margin:12px 0 0;color:#7b899d;font-size:12px}
@media(max-width:1000px){.sdc-layout,.sdc-charts{grid-template-columns:1fr}.sdc-panel--result{position:static}}
@media(max-width:760px){
  .sdc-panel{padding:16px 14px;border-radius:16px}
  .sdc-fields{grid-template-columns:1fr 1fr;gap:0 10px}
  .sdc-stats>div{padding:12px}
  .sdc-stats dd{font-size:17px}
  .sdc-chart{padding:14px}
  .sdc-chart__box{height:240px}
}
@media(max-width:420px){.sdc-fields{grid-template-columns:1fr}.sdc-facts li{padding:9px 10px}}

/* searchable stock/ETF picker */
.sdc-combo__box{position:relative}
.sdc-combo__box>input[role=combobox]{padding-right:38px;text-overflow:ellipsis}
.sdc-combo__chev{position:absolute;top:50%;right:14px;color:#7b899d;font-size:18px;line-height:1;pointer-events:none;transform:translateY(-60%)}
.sdc-combo__list{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:40;max-height:min(340px,52vh);margin:0!important;padding:6px!important;overflow-y:auto;overscroll-behavior:contain;list-style:none;background:#fff;border:1px solid #cbd7e6;border-radius:14px;box-shadow:0 18px 50px rgba(11,31,58,.18)}
.sdc-combo__list[hidden]{display:none}
.sdc-combo__list li{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:10px;margin:0;padding:10px 12px;border-radius:9px;cursor:pointer}
.sdc-combo__list li b{color:var(--navy);font-size:14px}
.sdc-combo__list li span{overflow:hidden;color:var(--muted);font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}
.sdc-combo__list li span small{margin-left:4px;padding:1px 6px;color:var(--blue);font-size:10px;font-weight:700;background:var(--sky);border-radius:6px}
.sdc-combo__list li em{color:#7b899d;font-size:12px;font-style:normal;font-variant-numeric:tabular-nums}
.sdc-combo__list li.is-active{background:var(--sky)}
.sdc-combo__list li[aria-selected=true] b{color:var(--blue)}
.sdc-combo__list li.sdc-combo__group{display:block;position:sticky;top:-6px;z-index:1;margin:0;padding:8px 12px 6px;color:#7b899d;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;background:#fff;cursor:default}
.sdc-combo__list li.sdc-combo__empty{display:block;color:var(--muted);font-size:13px;line-height:1.5;cursor:default}
@media(max-width:760px){.sdc-combo__list li{grid-template-columns:54px minmax(0,1fr) auto;padding:12px 10px}}

/* explanatory text at the end of the page: give it room to breathe */
.sdc>h2{margin:48px 0 14px;font-size:24px}
.sdc>p:not([class]){max-width:760px;margin:0 0 16px;color:#34445a;font-size:15.5px;line-height:1.8}
.sdc>ul{max-width:760px;margin:0 0 20px;padding-left:22px;list-style:disc;color:#34445a;font-size:15.5px;line-height:1.75}
.sdc>ul li{margin:0 0 8px;padding-left:4px}
.sdc>p.sdc-note{max-width:760px;margin-top:22px;padding:14px 16px;background:var(--sky-2);border:1px solid var(--line);border-radius:12px;font-size:13px}
.sdc>.sdc-source{margin:14px 0 0}

/* ===== Market tools: screener, calendar, compare tool, income planner, profile snapshot (v8.6) ===== */
.mk-page{padding-bottom:90px}
.mk-page .asset-crumbs{margin-top:28px}
.mk-hero{padding:38px 0 30px}
.mk-hero h1{max-width:780px;font-size:clamp(34px,4.6vw,56px)}
.mk-panel{margin:0 0 20px;padding:26px;background:#fff;border:1px solid var(--line);border-radius:20px}
.mk-panel--soft{background:var(--sky-2)}
.mk-panel h2{margin:0 0 16px;font-size:20px}
.mk-copy{max-width:760px;margin:34px 0 10px}
.mk-copy h2{margin:34px 0 12px;font-size:24px}
.mk-copy p{margin:0 0 16px;color:#34445a;font-size:15.5px;line-height:1.8}
.mk-copy ul,.mk-copy ol{margin:0 0 18px;padding-left:22px;color:#34445a;font-size:15.5px;line-height:1.75}
.mk-copy ul{list-style:disc}.mk-copy ol{list-style:decimal}
.mk-copy li{margin:0 0 8px;padding-left:4px}
.mk-copy a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.mk-note{margin:12px 0 0;color:#7b899d;font-size:12.5px;line-height:1.6}
.mk-note strong{color:#516176}
.mk-empty{padding:22px 8px;color:var(--muted);font-size:14px;text-align:center}
.mk-more{margin-top:34px}
.mk-all{max-width:760px;margin:24px 0 0;color:var(--muted);font-size:13px}
.mk-all summary{cursor:pointer;font-weight:600}
.mk-all ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 18px;margin:12px 0 0;padding:0;list-style:none}
.mk-all a{color:var(--blue)}

.mk-controls{display:grid;grid-template-columns:1.4fr auto repeat(3,1fr);gap:14px;align-items:end}
.mk-controls--goal{grid-template-columns:repeat(2,1fr)}
.mk-field{display:grid;gap:6px;margin:0;min-width:0}
.mk-field>span{color:#516176;font-size:12px;font-weight:700}
.mk-field .input,.mk-field .select{width:100%;min-height:46px;font-size:15px}
.mk-seg{display:inline-flex;padding:3px;background:var(--sky-2);border:1px solid var(--line);border-radius:12px}
.mk-seg button{min-height:38px;padding:0 15px;color:#516176;font-size:13.5px;font-weight:700;background:transparent;border:0;border-radius:9px;cursor:pointer;transition:.15s}
.mk-seg button.is-on{color:var(--navy);background:#fff;box-shadow:0 1px 4px rgba(11,31,58,.14)}
.mk-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;margin:16px 0 10px;color:var(--muted);font-size:13px}
.mk-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.mk-btn{min-height:42px;padding:0 16px;color:#fff;font-size:13.5px;font-weight:700;background:var(--blue);border:1px solid var(--blue);border-radius:10px;cursor:pointer;transition:.15s}
.mk-btn:hover{background:var(--blue-dark)}
.mk-btn--ghost{color:var(--navy);background:#fff;border-color:#cbd7e6}
.mk-btn--ghost:hover{color:var(--blue);background:var(--sky)}
.mk-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:20px;align-items:start}
.mk-layout--goal{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}

.mk-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:14px}
.mk-table{width:100%;min-width:560px;border-collapse:collapse;font-size:14px}
.mk-table th,.mk-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.mk-table thead th,.mk-table thead td{position:sticky;top:0;color:#516176;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:var(--sky-2)}
.mk-table thead button{padding:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;background:none;border:0;cursor:pointer}
.mk-table thead button:hover{color:var(--blue)}
.mk-table thead button.is-sorted{color:var(--blue)}
.mk-table thead button[data-dir=desc]:after{content:" ↓"}
.mk-table thead button[data-dir=asc]:after{content:" ↑"}
.mk-table tbody tr:last-child th,.mk-table tbody tr:last-child td{border-bottom:0}
.mk-table tbody tr:hover{background:#f8fafd}
.mk-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.mk-table .mk-rank{width:44px;color:#7b899d;text-align:center}
.mk-table small{color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.04em}
.mk-name{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px;color:inherit}
.mk-name b{color:var(--navy);font-size:14.5px}
.mk-name span{overflow:hidden;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.mk-name:hover b{color:var(--blue)}
.mk-flag{display:inline-block;margin-left:6px;padding:2px 7px;color:#9a3412;font-size:10.5px;font-weight:700;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;white-space:nowrap}

/* calendar and basket */
.cal-holdings{display:grid;gap:8px;margin:14px 0 0!important;padding:0!important;list-style:none}
.cal-holdings li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;margin:0;padding:10px 12px;background:var(--sky-2);border:1px solid var(--line);border-radius:12px}
.cal-holdings--plain li{grid-template-columns:minmax(0,1fr) auto}
.cal-holdings__name{display:grid;min-width:0}
.cal-holdings__name b{color:var(--navy);font-size:14.5px}
.cal-holdings__name small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.cal-holdings__amt{display:flex;align-items:center;gap:4px;margin:0;padding:0 10px;background:#fff;border:1.5px solid var(--line);border-radius:10px}
.cal-holdings__amt input{width:92px;min-height:40px;padding:0;color:var(--navy);font-size:15px;font-weight:600;background:transparent;border:0;outline:0}
.cal-holdings__amt:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.cal-holdings__rm{width:34px;height:34px;color:#7b899d;font-size:20px;line-height:1;background:transparent;border:0;border-radius:8px;cursor:pointer}
.cal-holdings__rm:hover{color:#b91c1c;background:#fee2e2}
.cal-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 16px}
.cal-summary>div{display:grid;gap:3px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px}
.cal-summary span{color:#7b899d;font-size:12px;font-weight:600}
.cal-summary strong{color:var(--navy);font-size:20px;letter-spacing:-.02em}
.cal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cal-month{display:grid;align-content:start;gap:6px;min-width:0;padding:12px;background:#fff;border:1px solid var(--line);border-radius:12px}
.cal-month.is-empty{background:transparent;border-style:dashed}
.cal-month h3{margin:0;color:#7b899d;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}
.cal-month strong{color:var(--navy);font-size:19px;letter-spacing:-.02em}
.cal-month.is-empty strong{color:#b4bfcd}
.cal-month__bar{height:5px;overflow:hidden;background:#eaf0f8;border-radius:3px}
.cal-month__bar i{display:block;height:100%;background:var(--blue);border-radius:3px}
.cal-month ul{margin:0!important;padding:0!important;list-style:none;color:var(--muted);font-size:12px;line-height:1.55}
.cal-month ul li{margin:0}
.cal-month ul b{color:var(--navy)}
.cal-month__none{color:#b4bfcd}
.cal-gaps{margin-top:18px}
.cal-gaps h3{margin:0 0 4px;font-size:16px}
.cal-gaps__ok{margin:0;padding:12px 14px;color:#166534;font-size:14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px}
.cal-gap{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.cal-gap>b{min-width:36px;color:var(--navy);font-size:13px}
.cal-gap .chip{cursor:pointer;border:1px solid var(--line);background:#fff}
.mk-basket{position:sticky;top:90px}
.mk-basket .button{width:100%;margin-top:14px;justify-content:center}

/* compare tool */
.cmp-pick{display:grid;grid-template-columns:1fr auto 1fr 150px 100px;gap:14px;align-items:end}
.cmp-vs{padding-bottom:10px;color:#7b899d;font-size:13px;font-weight:700;text-align:center}
.cmp-popular{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.cmp-popular>span{color:#7b899d;font-size:12px;font-weight:700}
.cmp-popular .chip{cursor:pointer;border:1px solid var(--line);background:#fff}
.cmp-heads{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-bottom:18px}
.cmp-head{display:grid;gap:2px;padding:16px;border:1px solid var(--line);border-top:4px solid var(--c);border-radius:14px;color:inherit}
.cmp-head:hover{box-shadow:var(--shadow)}
.cmp-head b{color:var(--navy);font-size:22px;letter-spacing:-.02em}
.cmp-head span{color:var(--muted);font-size:13.5px}
.cmp-head small{margin-top:4px;color:var(--blue);font-size:12px;font-weight:600}
.cmp-table{min-width:0}
.cmp-table thead th{font-size:13px;letter-spacing:0;text-transform:none;color:var(--navy)}
.cmp-table tbody th{width:34%;color:#516176;font-size:13px;font-weight:600}
.cmp-table td.is-higher{color:var(--navy);font-weight:700;background:#eef4ff;box-shadow:inset 3px 0 0 var(--blue)}
.cmp-full{margin:14px 0 0}

/* profile snapshot */
.mk-snap__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;align-items:center}
.mk-snap__facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;overflow:hidden;background:var(--line);border:1px solid var(--line);border-radius:12px}
.mk-snap__facts>div{display:grid;gap:2px;margin:0;padding:12px 14px;background:#fff}
.mk-snap__facts dt{color:#7b899d;font-size:11.5px;font-weight:600}
.mk-snap__facts dd{margin:0;color:var(--navy);font-size:17px;font-weight:700;letter-spacing:-.02em}
.mk-snap__chart{margin:0}
.mk-snap__chart svg{display:block;width:100%;height:auto}
.mk-snap__chart figcaption{margin-top:6px;color:#7b899d;font-size:12px;text-align:center}
.mk-snap__v{fill:#516176;font-size:10px;font-weight:600}
.mk-snap__y{fill:#7b899d;font-size:10px}
.mk-snap__links{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}
.mk-snap__links .chip{border:1px solid var(--line);background:#fff}

@media(max-width:1000px){
  .mk-layout,.mk-layout--goal{grid-template-columns:1fr}
  .mk-basket{position:static}
  .mk-controls{grid-template-columns:1fr 1fr}
  .mk-field--search{grid-column:1/-1}
  .cmp-pick{grid-template-columns:1fr 1fr}
  .cmp-pick .cmp-vs{display:none}
  .mk-snap__body{grid-template-columns:1fr}
}
@media(max-width:760px){
  .mk-hero{padding:20px 0 16px}
  .mk-panel{padding:16px 14px;border-radius:16px}
  .mk-page .asset-crumbs{margin-top:16px}
  .mk-table{min-width:0;font-size:13.5px}
  .mk-table th,.mk-table td{padding:11px 10px}
  .mk-table .hide-sm,.hide-sm{display:none}
  .mk-name{grid-template-columns:1fr;gap:0}
  .mk-name span{max-width:150px}
  .mk-flag{display:block;margin:3px 0 0;width:max-content}
  .cal-grid{grid-template-columns:repeat(2,1fr)}
  .cmp-heads{grid-template-columns:1fr 1fr}
  .cmp-heads .cmp-vs{display:none}
  .cmp-head{padding:12px}
  .cmp-head b{font-size:19px}
  .cmp-head span{font-size:12.5px}
  .mk-controls--goal{grid-template-columns:1fr}
  .mk-snap__facts{grid-template-columns:1fr 1fr}
  .cal-holdings li{grid-template-columns:minmax(0,1fr) auto auto;gap:8px}
  .cal-holdings__amt input{width:76px}
}
@media(max-width:420px){.cmp-pick{grid-template-columns:1fr}.cal-grid{grid-template-columns:1fr 1fr}.mk-controls{grid-template-columns:1fr}}

.home-datatools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;padding:16px 18px;background:var(--sky-2);border:1px solid var(--line);border-radius:16px}
.home-datatools>span{margin-right:6px;color:#516176;font-size:13px;font-weight:700}
.home-datatools a{padding:8px 14px;color:var(--navy);font-size:13.5px;font-weight:600;background:#fff;border:1px solid var(--line);border-radius:999px;transition:.15s}
.home-datatools a:hover{color:var(--blue);border-color:#9db8ea}
@media(max-width:760px){
  .mk-table .mk-idx{display:none}
  .mk-table thead th,.mk-table thead td{font-size:10.5px;letter-spacing:.03em}
  .mk-table th,.mk-table td{padding:10px 8px}
  .mk-table .num{white-space:normal}
  .cal-summary{grid-template-columns:repeat(3,1fr);gap:8px}
  .cal-summary>div{padding:10px}
  .cal-summary strong{font-size:16px}
  .cal-summary span{font-size:11px}
  .cmp-popular{flex-wrap:nowrap;margin-right:-14px;padding-right:14px;padding-bottom:6px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .cmp-popular .chip,.cmp-popular>span{flex:none}
  .home-datatools{padding:14px}
}

/* ===== Home: calmer rhythm for the lower half (v8.7) ===== */
.home-section{padding:76px 0}
.home-section .section-heading--home h2{font-size:clamp(30px,3.6vw,42px)}
.home-section .section-heading{margin-bottom:30px}
.home-section--markets{padding-top:24px}
.home-section--lists{padding-top:24px}
.dividend-basics{margin-top:12px}
.home-section--guides{padding-top:70px}
@media(max-width:760px){
  .home-section{padding:44px 0}
  .home-section--markets,.home-section--lists{padding-top:12px}
  .home-section .section-heading{margin-bottom:20px}
  .home-section .explore-card{padding:18px}
}
.home-section--learn{padding-top:24px}
@media(max-width:600px){
  .home-section--learn .explore-grid,.home-band .explore-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .home-section--learn .explore-card,.home-band .explore-card{gap:6px;padding:14px}
  .home-section--learn .explore-card h3,.home-band .explore-card h3{font-size:15.5px}
  .home-section--learn .explore-card p,.home-band .explore-card p{font-size:12.5px;line-height:1.5}
  .home-section--learn .explore-card__meta,.home-band .explore-card__meta{font-size:12px}
  .home-section--learn .calc-group__icon,.home-band .calc-group__icon{width:36px;height:36px;font-size:16px}
}

/* ===== Big dividend calendar (v8.8) ===== */
.bc-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 20px;margin-bottom:16px}
.bc-head h2{margin:0}
.bc-head .mk-note{margin-top:4px}
.bc-nav{display:flex;align-items:center;gap:8px}
.bc-nav strong{min-width:150px;color:var(--navy);font-size:18px;letter-spacing:-.02em;text-align:center}
.bc-nav .mk-btn{min-width:42px;padding:0 14px}
.bc-nav .mk-btn:disabled{opacity:.4;cursor:not-allowed}
.bc-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:14px}
.bc-mine{display:inline-flex;align-items:center;gap:7px;margin:0;color:#516176;font-size:13px;font-weight:600;cursor:pointer}
.bc-mine input{width:16px;height:16px}
.bc-filters .input{min-height:42px;max-width:220px;font-size:14px}
.bc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--line);gap:1px}
.bc-wd{padding:9px 6px;color:#7b899d;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-align:center;text-transform:uppercase;background:var(--sky-2)}
.bc-cell{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0;min-height:112px;padding:8px;color:inherit;text-align:left;background:#fff;border:0;border-radius:0;cursor:default}
.bc-cell.is-blank{background:#f6f9fd}
.bc-cell.is-weekend:not(.is-blank){background:#fbfcfe}
.bc-cell.has-events{cursor:pointer}
.bc-cell.has-events:hover{background:#f3f7ff}
.bc-cell.is-picked{background:#eaf2ff;box-shadow:inset 0 0 0 2px var(--blue)}
.bc-num{display:inline-grid;place-items:center;width:26px;height:26px;color:#516176;font-size:13px;font-weight:700;border-radius:50%}
.bc-cell.is-today .bc-num{color:#fff;background:var(--blue)}
.bc-chips{display:flex;flex-wrap:wrap;gap:4px}
.bc-chip{display:inline-block;padding:2px 7px;color:var(--navy);font-size:11.5px;font-weight:700;line-height:1.5;background:#eaf2ff;border:1px solid #c7dafb;border-radius:6px}
.bc-chip--estimate{color:#516176;font-weight:600;background:#fff;border:1px dashed #b8c6da}
.bc-chip.is-mine{color:#fff;background:var(--blue);border:1px solid var(--blue)}
.bc-chip--estimate.is-mine{color:var(--blue);background:#eaf2ff;border:1px dashed var(--blue)}
.bc-more{padding:2px 4px;color:#7b899d;font-size:11.5px;font-weight:700}
.bc-day{margin-top:14px}
.bc-day:empty{display:none}
.bc-day h3{margin:0 0 10px;font-size:17px}
.bc-day h3 small{margin-left:6px;color:#7b899d;font-size:12.5px;font-weight:600}
.bc-day ul{display:grid;gap:8px;margin:0!important;padding:0!important;list-style:none}
.bc-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto auto;align-items:center;gap:12px;margin:0;padding:12px 14px;background:var(--sky-2);border:1px solid var(--line);border-radius:12px}
.bc-row--estimate{background:#fff;border-style:dashed}
.bc-row__what{color:var(--muted);font-size:12.5px}
.bc-row strong{color:var(--navy);font-size:15px;white-space:nowrap}
.bc-row strong small{color:#7b899d;font-size:11px;font-weight:600}
.bc-row__mine{color:var(--blue);font-size:13px;font-weight:700;white-space:nowrap}
.bc-agenda{display:none;margin:0!important;padding:0!important;list-style:none}
.bc-agenda li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;margin:0;padding:12px 0;border-bottom:1px solid var(--line)}
.bc-agenda li b{color:var(--navy);font-size:14px}
.bc-agenda li>span{display:flex;flex-wrap:wrap;gap:6px 12px}
.bc-ag{display:inline-flex;align-items:center;gap:6px;color:inherit}
.bc-ag small{color:#7b899d;font-size:12px}
.bc-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:16px;color:var(--muted);font-size:12.5px}
.bc-legend span{display:inline-flex;align-items:center;gap:7px}
.bc-key{display:inline-block;width:22px;height:14px;border-radius:5px}
.bc-key--solid{background:#eaf2ff;border:1px solid #c7dafb}
.bc-key--est{background:#fff;border:1px dashed #b8c6da}
.bc-key--mine{background:var(--blue);border:1px solid var(--blue)}
@media(max-width:1000px){.bc-cell{min-height:92px;padding:6px}.bc-row{grid-template-columns:minmax(0,1fr) auto}.bc-row__what{grid-column:1/-1;order:3}}
@media(max-width:760px){
  .bc-grid,.bc-day{display:none!important}
  .bc-agenda{display:block}
  .bc-nav{width:100%;justify-content:space-between}
  .bc-nav strong{min-width:0;flex:1;font-size:17px}
  .bc-filters .mk-seg{width:100%}
  .bc-filters .mk-seg button{flex:1;padding:0 8px}
  .bc-filters .input{max-width:none;width:100%}
}

/* ===== Listing filters (v8.9) ===== */
.fl{display:grid;gap:14px;margin:0 0 26px;padding:20px;background:var(--sky-2);border:1px solid var(--line);border-radius:18px}
.fl__top{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.fl__search{flex:1;min-width:220px;margin:0}
.fl__search .input{width:100%;min-height:46px;font-size:15px;background:#fff}
.fl__row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 14px}
.fl__label{flex:0 0 64px;padding-top:8px;color:#7b899d;font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.fl__chips{display:flex;flex:1;flex-wrap:wrap;gap:8px;min-width:0}
.fl__chip{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 14px;color:var(--navy);font-size:13.5px;font-weight:600;background:#fff;border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:.15s}
.fl__chip small{color:#7b899d;font-size:11.5px;font-weight:700}
.fl__chip:hover{border-color:#9db8ea;color:var(--blue)}
.fl__chip.is-on{color:#fff;background:var(--blue);border-color:var(--blue)}
.fl__chip.is-on small{color:#cfe0ff}
.fl__empty{margin:10px 0 60px;padding:26px;color:var(--muted);text-align:center;background:#fff;border:1px dashed var(--line);border-radius:16px}
.asset-list-card[hidden]{display:none}
@media(max-width:760px){.fl{padding:14px;gap:12px}.fl__row{flex-direction:column;gap:6px}.fl__label{flex:none;padding-top:0}.fl__chips{flex-wrap:nowrap;margin-right:-14px;padding-right:14px;padding-bottom:4px;overflow-x:auto;-webkit-overflow-scrolling:touch}.fl__chip{flex:none}}

/* ===== Dividend tracker (v8.9) ===== */
.tr-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.tr-head h2{margin:0}
.tr-head .mk-actions{margin:0}
.tr-add{margin-bottom:14px}
.tr-table{overflow-x:auto}
.tr-row{display:grid;grid-template-columns:minmax(150px,1.6fr) 110px 120px repeat(3,minmax(90px,1fr)) 40px;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--line)}
.tr-row--head{padding:8px 4px;color:#7b899d;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--line)}
.tr-row--head span:nth-child(n+4):not(:last-child){text-align:right}
.tr-name{display:grid;min-width:0}
.tr-name b{color:var(--navy);font-size:15px}
.tr-name small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.tr-in{margin:0}
.tr-in input{width:100%;min-height:40px;padding:0 10px;color:var(--navy);font-size:14.5px;background:#fff;border:1.5px solid var(--line);border-radius:10px;outline:0}
.tr-in input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.tr-lbl{display:none}
.tr-num{color:var(--navy);font-size:14.5px;font-variant-numeric:tabular-nums;text-align:right}
.tr-paste{margin-top:14px;color:var(--muted);font-size:13px}
.tr-paste summary{cursor:pointer;font-weight:600}
.tr-paste textarea{display:block;width:100%;margin:10px 0;padding:10px 12px;color:var(--navy);font:13.5px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff;border:1.5px solid var(--line);border-radius:10px;outline:0}
.tr-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0 0 20px}
.tr-summary>div{display:grid;gap:3px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:16px}
.tr-summary>div:first-child{color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy-2));border-color:transparent}
.tr-summary span{color:#7b899d;font-size:12px;font-weight:600}
.tr-summary>div:first-child span,.tr-summary>div:first-child small{color:#adbed1}
.tr-summary strong{color:var(--navy);font-size:24px;letter-spacing:-.03em;overflow-wrap:anywhere}
.tr-summary>div:first-child strong{color:#fff}
.tr-summary small{color:#7b899d;font-size:11.5px;line-height:1.4}
.tr-sub{margin:18px 0 10px;font-size:15px}
.tr-sub small{margin-left:6px;color:#7b899d;font-size:11.5px;font-weight:500}
.tr-bar{display:grid;gap:5px;margin-bottom:10px}
.tr-bar__label{display:flex;justify-content:space-between;gap:10px;font-size:13px}
.tr-bar__label b{color:var(--navy)}
.tr-bar__label span{color:var(--muted);text-align:right}
.tr-bar__track{position:relative;height:10px;background:#eaf0f8;border-radius:5px}
.tr-bar__track i{display:block;height:100%;border-radius:5px}
.tr-bar__track u{position:absolute;top:-3px;width:3px;height:16px;background:var(--navy);border-radius:2px;text-decoration:none}
.tr-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;align-items:end;height:170px}
.tr-month{display:grid;grid-template-rows:1fr auto auto;justify-items:center;gap:3px;height:100%;min-width:0}
.tr-month i{align-self:end;width:100%;min-height:3px;background:var(--blue);border-radius:4px 4px 0 0}
.tr-month.is-empty i{background:#d9e2ef}
.tr-month span{color:#7b899d;font-size:10.5px;font-weight:700}
.tr-month b{color:var(--navy);font-size:10px;font-weight:600}
.tr-next{display:grid;gap:8px;margin:0!important;padding:0!important;list-style:none}
.tr-next li{display:grid;grid-template-columns:54px 52px minmax(0,1fr) auto;align-items:center;gap:8px;margin:0;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:10px;font-size:13px}
.tr-next b{color:var(--navy)}.tr-next a{color:var(--blue);font-weight:700}.tr-next span{color:var(--muted)}
@media(max-width:900px){
  .tr-row{grid-template-columns:1fr 1fr 40px;grid-template-areas:"name name rm" "sh co co" "va in yi";gap:8px 10px;padding:14px 2px}
  .tr-row--head{display:none}
  .tr-row .tr-name{grid-area:name}.tr-row .cal-holdings__rm{grid-area:rm}
  .tr-row>:nth-child(2){grid-area:sh}.tr-row>:nth-child(3){grid-area:co}
  .tr-row>:nth-child(4){grid-area:va}.tr-row>:nth-child(5){grid-area:in}.tr-row>:nth-child(6){grid-area:yi}
  .tr-lbl{display:block;color:#7b899d;font-size:11px;font-weight:600}
  .tr-num{text-align:left}
  .tr-months{height:140px;gap:3px}.tr-month b{display:none}
}

/* ===== Goal path calculator (v9.0) ===== */
.gp-sub{margin:20px 0 6px;font-size:16px}
.gp .gp-table{margin-top:8px}
.gp .gp-table .table{font-size:13.5px}
.gp .gp-table th[scope=row]{color:#516176;font-weight:600;white-space:nowrap}
.gp-yes{color:#166534;font-weight:700}.gp-no{color:#9a3412}
.gp-scen{margin-top:18px}
.gp-save{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.gp-name{flex:1;min-width:200px}
.gp-list{display:grid;gap:8px;margin:14px 0!important;padding:0!important;list-style:none}
.gp-list li{display:grid;grid-template-columns:12px minmax(0,1fr) auto auto;align-items:center;gap:12px;margin:0;padding:10px 14px;background:var(--sky-2);border:1px solid var(--line);border-radius:12px}
.gp-dot{width:12px;height:12px;border-radius:50%}
.gp-list__name{display:grid;min-width:0}
.gp-list__name b{color:var(--navy);font-size:14.5px}
.gp-list__name small{color:var(--muted);font-size:12px}
.gp-best{padding:2px 7px;color:#166534;font-size:10.5px;font-weight:700;text-transform:uppercase;background:#dcfce7;border-radius:999px}
.gp-scen .sdc-chart{margin-top:16px;border:0;padding:0}
.gp>h2{margin:44px 0 12px;font-size:24px}
.gp>p:not([class]){max-width:760px;margin:0 0 16px;color:#34445a;font-size:15.5px;line-height:1.8}
.gp-bar{height:10px;margin:12px 0 4px;overflow:hidden;background:#e1e9f4;border-radius:6px}.gp-bar i{display:block;width:0;height:100%;background:var(--blue);border-radius:6px;transition:width .3s}
.gp-presets{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 6px}.gp-presets span{color:#7b899d;font-size:12px;font-weight:700}.gp-presets .chip{cursor:pointer;border:1px solid var(--line);background:#fff}
.gp .gp-table tr.gp-on td{font-weight:700;background:#eef4ff}
.gp .mk-seg{margin-bottom:14px}
.gp>h3.gp-sub{margin:26px 0 8px}

/* ===== Goal guides ===== */
.explore-feature--goals{background:linear-gradient(125deg,#0f5a45,#16845b)}
.explore-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1100px){.explore-grid--5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.explore-grid--5{grid-template-columns:1fr}}
.gg-hub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:48px}
.gg-hubcard{--tint:color-mix(in srgb,var(--group) 6%,#fff);--line2:color-mix(in srgb,var(--group) 24%,#fff);display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:26px;background:var(--tint);border:1px solid var(--line2);border-radius:22px;transition:transform .2s,box-shadow .2s,border-color .2s}
.gg-hubcard:hover{transform:translateY(-3px);border-color:var(--group);box-shadow:var(--shadow)}
.gg-hubcard__icon{display:grid;place-items:center;width:44px;height:44px;color:#fff;font-size:20px;font-weight:800;background:var(--group);border-radius:13px}
.gg-hubcard__goal{color:var(--group);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.gg-hubcard h2{margin:0;font-size:22px}
.gg-hubcard p{flex:1;margin:0;color:var(--muted);font-size:14.5px;line-height:1.6}
@media(max-width:1000px){.gg-hub{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.gg-hub{grid-template-columns:1fr}}
.guide-page{--blue:var(--group)}
.guide-page .steps-item__num{background:var(--group)}
.gg-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 36px}
.gg-facts>div{padding:20px 22px;background:color-mix(in srgb,var(--group) 6%,#fff);border:1px solid color-mix(in srgb,var(--group) 24%,#fff);border-radius:16px}
.gg-facts dt{color:var(--muted);font-size:12.5px;font-weight:700}
.gg-facts dd{margin:4px 0 2px;color:var(--group);font-size:28px;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.gg-facts small{color:var(--muted);font-size:12.5px}
.gg-math,.gg-portfolio,.gg-watch{margin:0 0 48px;padding:28px 30px;background:#fff;border:1px solid var(--line);border-radius:20px}
.gg-math h2,.gg-portfolio h2,.gg-watch h2{margin:0 0 8px;font-size:24px}
.gg-math>p,.gg-portfolio>p{max-width:720px;color:var(--muted);font-size:15.5px;line-height:1.65}
.gg-h2{margin:0 0 20px;font-size:26px}
.gg-tablewrap{overflow-x:auto;margin:16px 0}
.gg-table{width:100%;border-collapse:collapse;font-size:14.5px}
.gg-table th,.gg-table td{padding:11px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.gg-table thead th{color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.gg-table tbody th{color:var(--navy);font-weight:700}
.gg-table tbody th a:hover{color:var(--group);text-decoration:underline}
.gg-table small{display:block;margin-top:2px;color:var(--muted);font-size:12px;font-weight:400}
.gg-table td strong{color:var(--group)}
.gg-table--text td{color:#34445a;line-height:1.55}
.gg-note{max-width:720px;margin:12px 0 16px;color:#34445a;font-size:14px;line-height:1.65}
.gg-pf{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;align-items:start}
.gg-result{display:grid;gap:8px;margin:16px 0;padding:18px;background:color-mix(in srgb,var(--group) 6%,#fff);border:1px solid color-mix(in srgb,var(--group) 24%,#fff);border-radius:14px}
.gg-result>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.gg-result dt{color:var(--muted);font-size:12.5px}
.gg-result dd{margin:0;color:var(--navy);font-size:16px;font-weight:700;white-space:nowrap}
.gg-result__main dd{color:var(--group);font-size:26px;letter-spacing:-.02em}
.gg-watch{background:#fffbeb;border-color:#fde68a}
.gg-watch ul{margin:12px 0 0;padding-left:20px;color:#34445a;font-size:15px;line-height:1.7}
.gg-watch li{margin-bottom:6px}
.gg-tools h3{margin:14px 0 8px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.guide-page .article-faq{margin-bottom:0}
.guide-page .related-articles{margin-bottom:40px}
@media(max-width:900px){.gg-facts{grid-template-columns:1fr}.gg-pf{grid-template-columns:1fr}.gg-math,.gg-portfolio,.gg-watch{padding:22px 18px}}
.guide-page .glossary-related,.guide-page .article-faq,.guide-page .related-articles{max-width:none;margin-right:0;margin-left:0}
.guide-page .glossary-related{margin-bottom:48px}
.guides-page{padding-bottom:110px}
.guides-page .hub-body{margin-bottom:56px}
.guides-page .hub-body table{width:100%;margin:18px 0;border-collapse:collapse;font-size:15px}
.guides-page .hub-body th,.guides-page .hub-body td{padding:11px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.guides-page .hub-body th{color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:760px){.guides-page{padding-bottom:70px}.guides-page .hub-body table{display:block;overflow-x:auto}}
/* space between the disclaimer and the footer; pages that already pad their bottom keep their own spacing */
.site-disclaimer{margin-bottom:72px}
.explore-page .site-disclaimer,.steps-page .site-disclaimer,.brokers-page .site-disclaimer,.hub-page .site-disclaimer,.glossary-index .site-disclaimer,.guides-page .site-disclaimer{margin-bottom:0}
.explore-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 56px}
.explore-features .explore-feature{flex-direction:column;align-items:flex-start;justify-content:space-between;gap:18px;margin:0;padding:26px 28px;border-radius:20px}
.explore-features .explore-feature h2{margin:8px 0 6px;font-size:clamp(20px,2vw,24px)}
.explore-features .explore-feature p{font-size:14.5px;line-height:1.55}
.explore-features .explore-feature .button{min-height:40px;padding:0 16px;font-size:13px}
@media(max-width:760px){.explore-features{grid-template-columns:1fr;margin-bottom:44px}}
