/* Resource pages share Elev8's navy, mint and violet palette. Existing layout
   utilities remain scoped here so the shared lead modal keeps its own theme. */
.seo-site { color-scheme: dark; margin: 0; background: #080e1c; color: #c3cde0; font-family: Inter, system-ui, sans-serif; line-height: 1.65; }
.seo-site * { box-sizing: border-box; }
.seo-site #e8CourseModal[data-theme="light"] { color-scheme: light; }
.seo-site #e8OfferModal { color-scheme: light; }
.seo-site #e8OfferEmail { background: #fff; color: #0f172a; }
.seo-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.4rem; }
.seo-hero-actions > a:not(.seo-button) { font-size: .9rem; color: #9cebd3; }
.seo-lead-offer { padding: 1.5rem; border: 1px solid #4d507a; border-radius: 1.15rem; background: linear-gradient(135deg, #152b35, #24203b); }
.seo-lead-offer h2 { margin: .6rem 0; color: #f4f7ff; font-size: 1.35rem; font-weight: 750; line-height: 1.35; }
.seo-lead-offer p { color: #c3cee3; font-size: .92rem; }
.seo-lead-offer .seo-button { margin-top: 1.1rem; text-align: center; }
.seo-lead-offer .seo-lead-note { margin-top: .8rem; font-size: .76rem; }
.seo-lead-note a, .seo-lead-alternative { color: #9cebd3; text-decoration: underline; }
.seo-lead-alternative { display: inline-block; margin-top: .9rem; font-size: .85rem; }
.seo-site main, .seo-site header, .seo-site footer { --seo-border: #29334a; }
.seo-site main { background: radial-gradient(ellipse at 85% 0, #30224b66, transparent 34rem), #080e1c; }
.seo-site main > section:first-child { background: transparent; }
.seo-site header { background: #0b1222f5; backdrop-filter: blur(16px); }
.seo-desktop-nav { display: none; }
@media (min-width: 1024px) { .seo-desktop-nav { display: flex; } .seo-mobile-toggle, #seo-mobile-nav { display: none; } }
.seo-site :is(main, header) :is(.text-slate-900, .text-slate-800) { color: #f3f6ff; }
.seo-site :is(main, header) .text-slate-700 { color: #d4dcef; }
.seo-site :is(main, header) :is(.text-slate-600, .text-slate-500, .text-slate-400) { color: #a6b4cc; }
.seo-site :is(main, header) :is(.bg-white, .bg-slate-50, .bg-slate-200) { background-color: #111b2e; }
.seo-site :is(main, header) :is(.border-slate-100, .border-slate-200, .border-slate-300), .seo-site header { border-color: var(--seo-border); }
.seo-site :is(main, header) :is(.hover\:bg-slate-50, .hover\:bg-slate-100):hover { background: #202e46; }
.seo-site :is(main, header) :is(.hover\:text-slate-900, .hover\:text-slate-700):hover { color: #fff; }
.seo-site main :is(.text-emerald-800, .text-emerald-700, .text-emerald-600, .text-blue-700, .text-indigo-700) { color: #79e3c3; }
.seo-site main :is(.bg-emerald-50, .bg-indigo-50) { background: #193335; }
.seo-site main :is(.border-emerald-200, .border-indigo-200) { border-color: #37525a; }
.seo-site main :is(.bg-indigo-100, .bg-emerald-100) { background: transparent; }
.seo-site main :is(.bg-emerald-500, .bg-cyan-600, .bg-blue-600), .seo-button { color: #071923; background: #6ee7bc; }
.seo-site main :is(.bg-emerald-500, .bg-cyan-600, .bg-blue-600):hover, .seo-button:hover { background: #99f4d4; }
.seo-site a { text-underline-offset: .2em; }
.seo-site a:hover { text-decoration: underline; }
.seo-site :focus-visible { outline: 3px solid #bba4ff; outline-offset: 4px; }
.seo-site [id] { scroll-margin-top: 6rem; }
.seo-site .seo-brand-logo { width: 38px; height: 38px; object-fit: contain; }
.seo-panel-card { border: 1px solid #29334a; background: #101829; border-radius: 1.15rem; }
.seo-hero-shell { border: 1px solid #34405b; background: linear-gradient(135deg, #14273b, #171d33 62%, #27213c); border-radius: 1.5rem; }
.seo-site main h1 { color: #f6f8ff; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.12; letter-spacing: -.035em; text-wrap: balance; }
.seo-site .seo-hero-intro { font-size: 1.06rem; line-height: 1.8; color: #c5d2e7; }
.seo-kicker-pill { display: inline-flex; align-items: center; gap: .5rem; color: #86eacb; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.seo-media-frame { display: flex; align-items: center; justify-content: center; aspect-ratio: 16/10; background: #091222; border: 1px solid #34405b; }
.seo-media-img { display: block; width: 100%; height: 100%; object-fit: contain; }
.seo-media-img--cover { object-fit: cover; }
.seo-reveal { opacity: 1; transform: none; }
.seo-article { min-width: 0; }
.seo-article h2 { font-size: 1.5rem; line-height: 1.3; font-weight: 750; color: #f3f6ff; margin: 2.5rem 0 1rem; letter-spacing: -.025em; }
.seo-article h2:first-child { margin-top: 0; }
.seo-article h3 { font-size: 1rem; line-height: 1.5; font-weight: 650; color: #e3eafa; margin-bottom: .5rem; }
.seo-article p, .seo-article li { font-size: .96rem; line-height: 1.8; }
.seo-article a { text-decoration: underline; }
.seo-article input { background: #080e1c; color: #fff; }
.seo-site .seo-calculator { border-color: #355d56; background: #11262b; }
.seo-calculator [aria-live] { min-height: 3rem; }
.seo-calculator label { display: block; color: #d4dcef; font-size: .88rem; }
.seo-calculator input { display: block; box-sizing: border-box; width: 100%; min-width: 0; margin-top: .45rem; padding: .65rem .75rem; border: 1px solid #45606d; border-radius: .6rem; }
.seo-calculator-output { margin-top: 1rem; display: grid; gap: .8rem; }
.seo-drawdown-result { padding: 1rem; border: 1px solid #395966; border-radius: .8rem; background: #0c1926; }
.seo-guide-note, .seo-editorial-note { margin-top: 1.5rem; padding: 1rem; border-left: 3px solid #a68ce5; background: #161e32; border-radius: .4rem; color: #b7c5dc; }
.seo-article .seo-editorial-note p { font-size: .85rem; }
.seo-article .seo-editorial-note h2 { font-size: 1.05rem; }
.seo-walkthrough { margin-top: 2rem; }
.seo-walkthrough figure { margin: 1rem 0; }
.seo-walkthrough img { width: 100%; height: auto; border-radius: .75rem; border: 1px solid #43516a; }
.seo-walkthrough figcaption { margin-top: .65rem; font-size: .8rem; color: #aebdd4; line-height: 1.6; }
.seo-walkthrough-notes { list-style: decimal; padding-left: 1.4rem; }
.seo-walkthrough-notes li { margin: 1rem 0; padding-left: .4rem; }
.seo-walkthrough-notes li::marker { color: #89e7ce; font-weight: bold; }
.seo-faq details { margin-top: .6rem; }
.seo-faq details[open] { border-color: #6d5f9e; background: #171e33; }
.seo-faq summary { cursor: pointer; padding-right: .25rem; }
.seo-faq summary::marker { color: #a591e2; }
.seo-glossary dt { margin-top: 1.1rem; font-weight: 650; color: #e3eafa; font-size: .9rem; }
.seo-glossary dd { margin: .3rem 0 0; font-size: .87rem; line-height: 1.75; color: #aebdd4; }
.seo-toc { display: flex; flex-wrap: wrap; gap: .6rem 1.3rem; padding: 1.2rem 0; border-bottom: 1px solid #29334a; }
.seo-toc a { font-size: .85rem; color: #85e8ca; }
.seo-meta { color: #a6b4cc; font-size: .78rem; margin-top: 1rem; }
.seo-button { display: inline-flex; align-items: center; justify-content: center; padding: .85rem 1.25rem; border-radius: .75rem; font-size: .88rem; font-weight: 700; }
.seo-breadcrumb { display: flex; flex-wrap: wrap; gap: .4rem .7rem; font-size: .76rem; color: #afbbd2; margin-bottom: 1.2rem; }
.seo-breadcrumb a { color: #87e2ca; }
.seo-products { display: grid; gap: 1rem; margin-top: 1.25rem; }
.seo-product-link { display: block; border: 1px solid #33425a; border-radius: .8rem; padding: 1rem; background: #111e31; }
.seo-product-link strong { display: block; color: #93edce; font-size: .95rem; }
.seo-product-link span { display: block; color: #bac7dc; font-size: .86rem; margin-top: .35rem; }
.seo-site .seo-product-link { text-decoration: none; }
.seo-product-link:hover strong { text-decoration: underline; }
.seo-footer-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.seo-footer-risk { max-width: 72rem; margin: auto; padding: 0 1.5rem 2rem; font-size: .78rem; color: #a6b4cc; }
.seo-footer-risk a { text-decoration: underline; }
.seo-skip-link { position: absolute; z-index: 10001; top: .5rem; left: 1rem; transform: translateY(-200%); padding: .7rem; background: #6ee7bc; color: #071923; }
.seo-skip-link:focus { transform: none; }
@media (max-width: 767px) { .seo-footer-links { grid-template-columns: 1fr 1fr; } .seo-hero-shell { border-radius: 1rem; } .seo-site main h1 { font-size: 2rem; } }
@media (prefers-reduced-motion: reduce) { .seo-site *, .seo-site *::before, .seo-site *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
.seo-comparison { margin: 2rem 0; }
.seo-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid #43516a; border-radius: 12px; }
.seo-table-wrap:focus-visible { outline: 3px solid #bba4ff; outline-offset: 3px; }
.seo-table-wrap table { width: 100%; border-collapse: collapse; font-size: .875rem; line-height: 1.6; }
.seo-table-wrap caption { padding: 12px 16px; text-align: left; font-weight: 700; color: #f3f6ff; background: #161e32; }
.seo-table-wrap th, .seo-table-wrap td { padding: 12px; border-top: 1px solid #43516a; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.seo-table-wrap thead { background: #29233f; color: #dfd4ff; }
.seo-table-wrap tbody th { font-weight: 600; color: #e3eafa; background: #152238; }
