:root{--ink:#182b31;--muted:#5d6d70;--paper:#fbfaf7;--surface:#fff;--line:#e0e6e1;--accent:#176b68;--accent-2:#d17a4b;--soft:#edf4f0;--shadow:0 18px 60px rgba(22,45,43,.08);--radius:22px;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--accent);text-underline-offset:3px}a:hover{color:#0e4c4a}button,a{touch-action:manipulation}.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;padding:10px 14px;z-index:100}.skip-link:focus{left:12px}.site-header{background:rgba(251,250,247,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.header-inner{max-width:var(--max);margin:auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);min-width:240px}.brand-mark{width:43px;height:43px;display:grid;place-items:center;background:var(--accent);color:white;border-radius:14px;font-weight:800;font-size:18px;letter-spacing:-1px;box-shadow:0 5px 14px rgba(23,107,104,.22)}.brand strong{display:block;font-size:17px;line-height:1.2;letter-spacing:-.3px}.brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin-top:3px}.primary-nav{display:flex;align-items:center;gap:7px}.nav-link{font-size:13px;font-weight:650;text-decoration:none;color:#475b5d;padding:9px 12px;border-radius:999px;white-space:nowrap}.nav-link:hover,.nav-link.active{background:var(--soft);color:var(--accent)}.nav-about{border:1px solid var(--line)}.menu-toggle{display:none;border:1px solid var(--line);background:white;border-radius:12px;padding:8px 12px;font-weight:700;color:var(--ink)}.page-shell{max-width:var(--max);margin:auto;padding:30px 24px 78px}.breadcrumbs{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--muted);margin:0 0 16px}.breadcrumbs a{text-decoration:none}.hero{background:linear-gradient(120deg,#f0f5f0 0%,#f8f4ed 100%);border:1px solid #e2e9e2;border-radius:30px;padding:54px 56px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.75fr);align-items:center;gap:24px;position:relative;overflow:hidden}.hero-copy{position:relative;z-index:2}.eyebrow{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:0 0 13px}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(35px,4vw,55px);line-height:1.08;letter-spacing:-1.6px;max-width:770px;margin:0 0 18px;font-weight:600}.hero-lead{font-size:17px;line-height:1.65;color:#45585a;max-width:760px;margin:0}.hero-meta{display:flex;gap:10px;align-items:center;margin:18px 0 24px;color:#657576;font-size:12px;font-weight:600}.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border-radius:999px;text-decoration:none;font-size:13px;font-weight:800;transition:transform .18s,box-shadow .18s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:white;box-shadow:0 8px 18px rgba(23,107,104,.2)}.button-primary:hover{color:white}.button-secondary{background:white;border:1px solid var(--line);color:var(--accent)}.text-link{font-size:13px;font-weight:700;text-decoration:none}.hero-art{min-height:220px;position:relative;display:grid;place-items:center}.art-orbit{position:absolute;border:1px solid rgba(23,107,104,.16);border-radius:50%;transform:rotate(-20deg)}.orbit-a{width:300px;height:176px}.orbit-b{width:240px;height:230px;transform:rotate(35deg)}.art-bed{position:relative;width:215px;height:115px;background:linear-gradient(150deg,#277c78,#155e5b);border-radius:26px 26px 35px 35px;transform:perspective(450px) rotateX(20deg) rotateZ(-8deg);box-shadow:0 28px 32px rgba(28,88,81,.24);border:7px solid rgba(255,255,255,.26)}.art-bed span{position:absolute;left:15px;right:15px;top:14px;height:55px;border-radius:17px;background:#e8eee4;box-shadow:inset 0 6px 10px rgba(28,50,45,.08)}.art-bed i{position:absolute;left:18px;right:18px;bottom:-15px;height:16px;border-radius:50%;background:rgba(16,61,57,.32);filter:blur(4px)}.art-bed b{position:absolute;right:27px;top:29px;width:31px;height:31px;border-radius:50%;background:var(--accent-2);opacity:.8}.art-caption{position:absolute;bottom:4px;right:2px;color:#687977;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:50px;margin-top:42px;align-items:start}.article-body{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:42px 48px;box-shadow:0 8px 35px rgba(34,56,48,.035)}.article-intro{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:27px}.article-intro .eyebrow{margin-bottom:4px}.keywords{font-size:11px;color:#82908d;margin:0;word-break:break-word}.article-body h2{font-family:Georgia,"Times New Roman",serif;font-size:26px;line-height:1.2;letter-spacing:-.4px;margin:34px 0 12px;color:#20383b}.article-body h2:first-of-type{margin-top:0}.article-body h3{font-size:17px;line-height:1.3;margin:26px 0 8px}.article-body p{margin:0 0 15px;color:#405356}.article-body li{margin:7px 0;color:#405356}.article-body ul,.article-body ol{padding-left:23px;margin:12px 0 20px}.article-body strong{color:#243b3e}.article-body .notice,.article-body .callout{padding:17px 19px;border-left:4px solid var(--accent);background:var(--soft);border-radius:0 14px 14px 0;margin:18px 0 25px;color:#344f50}.article-body .notice p:last-child,.article-body .callout p:last-child{margin-bottom:0}.table-wrap{overflow-x:auto;margin:18px 0 25px;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;min-width:540px;font-size:13px;line-height:1.55}th{background:#f0f5f1;color:#2d4a4a;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.07em}th,td{padding:13px 15px;vertical-align:top;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}td{color:#42575a}.checklist{list-style:none;padding-left:0!important}.checklist li{position:relative;padding-left:30px}.checklist li:before{content:"✓";position:absolute;left:0;top:0;color:var(--accent);font-weight:900}.sources{margin-top:38px;padding-top:24px;border-top:1px solid var(--line)}.sources h2{font-size:21px;margin:0 0 12px}.sources ul{padding-left:20px}.sources a{font-size:13px;font-weight:650}.small-note{font-size:11px!important;color:#82908d!important}.sidebar{position:sticky;top:100px;display:flex;flex-direction:column;gap:16px}.side-card{background:white;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 8px 24px rgba(34,56,48,.035)}.side-card h2{font:600 23px/1.15 Georgia,serif;margin:0 0 12px}.side-card h3{margin:0 0 10px;font-size:15px}.side-card p{font-size:13px;color:var(--muted);margin:0 0 18px}.side-accent{background:#eef5f0;border-color:#dce9e0}.side-accent .eyebrow{margin-bottom:9px}.related{list-style:none;padding:0;margin:0}.related li{border-top:1px solid var(--line);padding:9px 0}.related a{text-decoration:none;font-size:13px;font-weight:650}.side-note{font-size:12px;line-height:1.55;color:#687977;padding:2px 5px}.side-note p{margin:6px 0}.site-footer{background:#1b3538;color:#dbe7e1;padding:42px 24px 18px}.footer-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:50px}.footer-brand{color:#fff;margin-bottom:14px}.footer-brand small{color:#adbfba}.footer-brand .brand-mark{background:#e1a16e;color:#173a3a}.footer-inner p{max-width:420px;color:#b9cbc4;font-size:13px}.footer-inner h3{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#fff;margin:6px 0 13px}.footer-inner>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start;gap:8px}.footer-inner a:not(.brand){color:#c7d8d1;font-size:13px;text-decoration:none}.footer-inner a:hover{color:white;text-decoration:underline}.footer-bottom{max-width:var(--max);margin:32px auto 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;gap:20px;color:#9fb4ac;font-size:11px}.faq-list h2{font-size:22px;margin-top:26px}.faq-list p{margin-bottom:22px}.legal-shell{max-width:820px;margin:40px auto;background:white;border:1px solid var(--line);border-radius:22px;padding:42px;box-shadow:var(--shadow)}.legal-shell h1{font:600 40px/1.1 Georgia,serif}.legal-shell h2{font:600 23px/1.2 Georgia,serif;margin-top:28px}.legal-shell p,.legal-shell li{color:#45585a}.legal-shell .eyebrow{margin-bottom:10px}.badge-note{background:#f8f1e8;border:1px solid #eee0cf;border-radius:12px;padding:12px 15px;color:#6e563c;font-size:12px}.theme-ivdd{--accent:#315d45;--accent-2:#c77a56;--soft:#edf3ed}.theme-ivdd .brand-mark{border-radius:50% 50% 50% 12px}.theme-ivdd .hero{background:linear-gradient(120deg,#edf4ed 0%,#f7f1e9 100%)}.theme-ivdd .art-bed{background:linear-gradient(150deg,#527b58,#315d45);border-radius:18px 18px 28px 28px}.theme-ivdd .button-primary{background:#315d45}.theme-ivdd .button-primary:hover{background:#254834}.theme-ivdd .side-accent{background:#edf4ed}.theme-ivdd .side-accent .button-secondary{color:#315d45}.theme-ivdd .nav-link:hover,.theme-ivdd .nav-link.active{color:#315d45;background:#edf3ed}
@media(max-width:900px){.header-inner{padding:11px 18px}.menu-toggle{display:inline-flex;gap:9px;align-items:center}.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:12px 18px 18px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 16px 24px rgba(22,45,43,.08);flex-wrap:wrap}.primary-nav.open{display:flex}.nav-link{padding:10px 12px}.hero{padding:38px 34px;grid-template-columns:minmax(0,1.4fr) minmax(180px,.6fr)}.hero-art{transform:scale(.82)}.content-grid{grid-template-columns:minmax(0,1fr) 240px;gap:25px}.article-body{padding:32px 30px}}
@media(max-width:680px){.brand{min-width:0}.brand strong{font-size:15px}.brand small{font-size:9px}.brand-mark{width:39px;height:39px}.page-shell{padding:18px 14px 48px}.hero{padding:31px 23px;display:block;border-radius:22px}.hero h1{font-size:36px;letter-spacing:-1px}.hero-lead{font-size:15px}.hero-art{min-height:155px;margin-top:13px;transform:scale(.76)}.hero-actions{gap:13px}.content-grid{display:flex;flex-direction:column;margin-top:24px;gap:20px}.article-body{padding:27px 22px;border-radius:17px}.article-body h2{font-size:24px}.sidebar{position:static;display:grid;grid-template-columns:1fr 1fr}.side-note{grid-column:1/-1}.footer-inner{grid-template-columns:1fr 1fr;gap:25px}.footer-inner>div:first-child{grid-column:1/-1}.footer-bottom{display:block;line-height:1.8}.legal-shell{margin:20px 14px;padding:28px 23px}.legal-shell h1{font-size:33px}}
@media(max-width:420px){.sidebar{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr}.footer-inner>div:first-child{grid-column:auto}.hero-meta{flex-wrap:wrap}.text-link{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}


/* v2 editorial enhancements */
.announcement-bar{background:#165c3e;color:#fff;text-align:center;padding:8px 16px;font-size:12px;font-weight:750;letter-spacing:.025em}
.theme-ivdd .announcement-bar{background:#173e5b}
.header-inner{gap:18px}.brand{min-width:225px}.primary-nav{gap:4px}.nav-link{font-size:12px;padding:9px 10px}
.hero{grid-template-columns:minmax(0,1.25fr) minmax(280px,.8fr);padding:40px 42px;min-height:360px}
.hero-media{margin:0;position:relative;z-index:1;align-self:stretch;min-height:270px;border-radius:22px;overflow:hidden;background:#e9efeb;border:1px solid rgba(23,107,104,.14);box-shadow:0 16px 40px rgba(22,45,43,.12)}
.hero-media img{display:block;width:100%;height:100%;min-height:270px;max-height:370px;object-fit:cover;object-position:center;aspect-ratio:4/3}
.theme-ivdd .hero-media{background:#edf3f8}.theme-ivdd .hero-media img{object-fit:contain;padding:10px}
.benefit-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:22px 0 26px;border:1px solid var(--line);border-radius:18px;background:#f2f6f1;overflow:hidden}
.theme-ivdd .benefit-strip{background:#eef4f9}
.benefit{padding:15px 18px;text-align:center;border-right:1px solid var(--line);font-size:13px;font-weight:750;color:#294748}
.benefit:last-child{border-right:0}.benefit small{display:block;font-size:11px;font-weight:500;color:var(--muted);margin-top:2px}
.quick-guides{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0 32px}
.quick-card{display:block;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 21px;text-decoration:none;color:var(--ink);box-shadow:0 8px 28px rgba(34,56,48,.035);transition:transform .15s,box-shadow .15s}
.quick-card:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(34,56,48,.09);color:var(--ink)}
.quick-card .eyebrow{margin-bottom:8px}.quick-card h2{font:600 21px/1.17 Georgia,serif;margin:0 0 9px;color:#20383b}.quick-card p{font-size:13px;line-height:1.55;color:var(--muted);margin:0 0 12px}.quick-card span:last-child{font-size:12px;font-weight:800;color:var(--accent)}
.diagram{margin:22px 0 28px;padding:16px;background:#f8faf8;border:1px solid var(--line);border-radius:17px}
.diagram img{display:block;width:100%;height:auto;max-height:410px;object-fit:contain;aspect-ratio:auto}
.diagram figcaption{margin:10px 3px 0;font-size:11px;line-height:1.5;color:#6c7a77}
.affiliate-panel{margin:27px 0;padding:24px 25px;border:1px solid #d9e4da;border-radius:18px;background:linear-gradient(135deg,#f2f7f1,#fbfaf7)}
.theme-ivdd .affiliate-panel{border-color:#d5e3ed;background:linear-gradient(135deg,#f0f6fa,#fbfaf7)}
.affiliate-panel h2{margin:0 0 8px!important;font-size:24px!important}.affiliate-panel p{font-size:13px}.affiliate-disclosure-note{font-size:11px!important;color:#6d7e75!important}
.affiliate-list{margin:14px 0 4px!important;padding:0!important;list-style:none!important;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.affiliate-list li{margin:0!important;padding:8px 0;border-bottom:1px solid rgba(76,108,90,.16);font-size:13px}
.affiliate-list a{font-weight:750;text-decoration:underline;text-underline-offset:3px;color:var(--accent)}
.inline-editorial-link{font-weight:750;text-decoration:underline;text-underline-offset:3px}
.article-body .sources{background:#fbfcfa;border-radius:14px;padding:22px 24px;border:1px solid var(--line)}
.article-body figure.diagram + h2{margin-top:26px}
.hero-meta span:first-child{font-weight:750;color:#526a65}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:0}.hero-media{min-height:0}.hero-media img{min-height:0;max-height:300px}.quick-guides{grid-template-columns:1fr 1fr}.benefit-strip{grid-template-columns:1fr 1fr}.benefit:nth-child(2){border-right:0}.benefit:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:560px){.announcement-bar{font-size:10px}.hero{padding:26px 20px}.hero h1{font-size:34px}.hero-media img{aspect-ratio:5/4}.quick-guides{grid-template-columns:1fr}.benefit-strip{grid-template-columns:1fr 1fr}.benefit{padding:12px 8px;font-size:12px}.affiliate-list{grid-template-columns:1fr}.affiliate-panel{padding:20px 17px}.diagram{padding:10px}}

/* v2 editorial additions */
.hero-photo{position:relative;overflow:hidden;border-radius:22px;min-height:240px;background:#e8eee8;border:1px solid var(--line);box-shadow:var(--shadow)}.hero-photo img{display:block;width:100%;height:100%;min-height:240px;max-height:360px;object-fit:cover;object-position:center;border-radius:22px}.hero-photo figcaption{position:absolute;left:12px;bottom:10px;background:rgba(255,255,255,.88);color:#314c45;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:700}.editorial-figure{margin:26px 0;padding:14px;background:#f8faf8;border:1px solid var(--line);border-radius:18px}.editorial-figure svg{display:block;width:100%;height:auto;max-width:760px;margin:auto}.editorial-figure figcaption{font-size:12px;color:var(--muted);margin:10px 8px 2px}.deep-guide{margin-top:30px;padding-top:4px}.deep-guide h2{scroll-margin-top:90px}.affiliate-listings{margin:28px 0;padding:20px 22px;background:#f6f8f5;border:1px solid var(--line);border-radius:18px}.affiliate-listings h3{margin:0 0 6px}.affiliate-listings p{margin:6px 0 10px}.affiliate-link-cloud{display:flex;flex-wrap:wrap;gap:8px 14px;line-height:1.9}.affiliate-text-link{font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px;color:var(--accent)}.affiliate-text-link:hover{color:#103c39}.article-body .affiliate-text-link{display:inline}.editorial-note{padding:15px 18px;border:1px solid #d5e5da;background:#f1f7f2;border-radius:14px;margin:20px 0}.meta-row{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--muted);font-size:12px;margin:14px 0 20px}.hero-photo{margin:0}@media(max-width:760px){.hero-photo img{min-height:200px;max-height:250px}.editorial-figure{padding:8px}.affiliate-listings{padding:16px}.affiliate-link-cloud{display:block}.affiliate-link-cloud a{display:inline-block;margin:0 8px 6px 0}}

/* v2.2 topic-specific hero illustrations */
.hero-media.hero-diagram{display:flex;align-items:center;justify-content:center;padding:12px;background:#edf3f0;box-shadow:none;min-height:250px}
.hero-media.hero-diagram img{display:block;width:100%;height:auto;min-height:0;max-height:315px;object-fit:contain;object-position:center;padding:0;aspect-ratio:auto}
@media(max-width:900px){.hero-media.hero-diagram{min-height:190px;margin-top:16px;padding:8px}.hero-media.hero-diagram img{max-height:250px}}
@media(max-width:680px){.hero-media.hero-diagram{min-height:150px}.hero-media.hero-diagram img{max-height:220px}}
