
:root{--ink:#183936;--deep:#13312f;--muted:#59716c;--cream:#faf8f2;--paper:#fffefb;--line:#dce5db;--accent:#e98f6f;--accent-dark:#cc6545;--mint:#d8e9db;--sage:#ecf1e8;--peach:#f9ddd0;--yellow:#f8edcc;--shadow:0 18px 52px rgba(29,61,54,.1);font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
::selection{background:#faad8f;color:#143d37}
a{color:inherit;text-underline-offset:3px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent-dark);outline-offset:3px}
h1,h2,h3,p,ul{margin-top:0}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.12;letter-spacing:-.035em;font-weight:500}
h1{font-size:clamp(3rem,6vw,5.5rem)}
h2{font-size:clamp(2rem,3.6vw,3.5rem)}
h3{font-size:1.45rem}
p{margin-bottom:1.2rem}
.container{width:min(1170px,calc(100% - 52px));margin-inline:auto}
.narrow{width:min(790px,100%);margin-inline:auto}
.skip-link{position:absolute;left:12px;top:-100px;padding:12px 20px;background:#fff;z-index:100}
.skip-link:focus{top:12px}
.site-header{height:88px;background:rgba(250,248,242,.97);border-bottom:1px solid rgba(23,60,53,.11);position:sticky;top:0;z-index:99;backdrop-filter:blur(16px)}
.nav-wrap{height:100%;max-width:1250px;margin:0 auto;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{font-size:23px;display:inline-flex;gap:11px;align-items:center;text-decoration:none;color:var(--ink);font-weight:750;letter-spacing:-.075em;white-space:nowrap}
.brand-light{font-weight:370;color:var(--accent-dark)}
.brand-mark{width:37px;height:37px;border:2px solid var(--ink);border-radius:45% 45% 45% 12%;display:grid;place-items:center;transform:rotate(-12deg);font-size:18px;line-height:1;background:var(--peach)}
.brand-mark::first-letter{transform:rotate(12deg)}
.nav-links{display:flex;align-items:center;gap:29px}
.nav-links a{text-decoration:none;font-size:.85rem;font-weight:700;white-space:nowrap}
.nav-links a:hover{color:var(--accent-dark)}
.nav-links .nav-about{border:1px solid var(--ink);padding:10px 18px;border-radius:100px}
.mobile-nav-toggle{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}
.mobile-nav-toggle span{display:block;width:23px;height:2px;background:var(--ink);margin:6px auto}
.eyebrow,.card-kicker,.topic-index,.affiliate-eyebrow{font-size:.7rem;line-height:1.4;letter-spacing:.17em;font-weight:800;text-transform:uppercase}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;border-radius:999px;padding:13px 25px;text-decoration:none;font-size:.86rem;font-weight:750;transition:transform .2s,background .2s;white-space:normal;text-align:center}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--deep);color:#fff;border:1px solid var(--deep)}
.button-primary:hover{background:#29534e}
.button-dark{background:var(--ink);color:#fff}
.text-button{font-size:.91rem;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}
.home-hero{background:radial-gradient(circle at 85% 15%,#f1c1a9 0,transparent 45%),linear-gradient(125deg,#faf7ef,#eaf0e8);overflow:hidden}
.hero-inner{min-height:660px;max-width:1250px;margin:auto;padding:80px 35px 92px;display:grid;grid-template-columns:56% 44%;align-items:center;gap:10px;position:relative}
.hero-copy{position:relative;z-index:1}
.hero-copy .eyebrow{color:var(--accent-dark);margin-bottom:26px}
.hero-copy h1{max-width:850px;letter-spacing:-.062em;font-size:clamp(3.5rem,6.4vw,6.5rem);line-height:1.08;margin-bottom:25px}
.hero-copy h1 em{color:#a65e4d;font-style:italic;font-weight:400}
.hero-copy>p{font-size:1.13rem;line-height:1.75;max-width:540px;color:#435c57;margin-bottom:34px}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.hero-small{font-size:.73rem;color:#5f7972;margin-top:47px;font-weight:650}
.hero-small span{padding:0 9px;color:var(--accent-dark)}
.hero-visual{height:490px;position:relative;isolation:isolate}
.visual-circle{position:absolute;border-radius:50%}
.circle-one{width:400px;height:400px;right:8px;top:50px;border:1px solid #c58f7e;background:linear-gradient(145deg,#f6e6d5 20%,#e7d7c1 95%);box-shadow:0 26px 50px #79604c21}
.circle-two{width:305px;height:305px;right:52px;top:97px;background:radial-gradient(circle at 40% 40%,#ecd3bf,#c8dbd3);border:1px solid #d7bbaa}
.note{position:absolute;z-index:2;box-shadow:var(--shadow);border-radius:17px;background:#fffcf8;font-size:.9rem;line-height:1.5}
.note-one{top:55px;left:0;display:flex;flex-direction:column;align-items:flex-start;padding:20px 24px;transform:rotate(-5deg);width:270px}
.note-one span:nth-child(2){font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:750;color:var(--muted)}
.note-one strong{font-family:Georgia,serif;font-size:1.24rem;line-height:1.3;margin-top:8px;font-weight:500}
.mini-dot{height:13px;width:13px;border-radius:50%;background:#e5a78e;margin-bottom:9px}
.note-two{right:0;top:230px;padding:24px 28px;transform:rotate(7deg);width:245px;display:flex;flex-direction:column;gap:9px}
.note-two strong{font:1.32rem Georgia,serif}.note-two span:last-child{color:var(--muted);font-size:.85rem}
.note-emoji{font-size:1.9rem;color:#cc745c}
.note-three{left:53px;bottom:25px;padding:15px 24px;transform:rotate(3deg);background:var(--ink);color:white}
.trust-strip{background:var(--ink);color:#e9f0e8}
.trust-strip .container{min-height:77px;display:flex;gap:36px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:.78rem}
.trust-strip span{opacity:.7}.trust-strip strong{font-weight:650}.trust-strip i{color:#e6ac8d;font-style:normal}
.section-pad{padding-top:93px;padding-bottom:20px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:33px}
.section-heading .eyebrow{color:var(--accent-dark);margin-bottom:13px}
.section-heading h2{margin:0}
.title-period{color:var(--accent)}
.section-heading>p{max-width:300px;margin:0;color:var(--muted);font-size:.93rem}
.section-link{font-weight:750;font-size:.86rem;text-decoration:none;border-bottom:1px solid;margin-bottom:12px}
.topics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.topic-card{padding:28px 24px;min-height:335px;display:flex;flex-direction:column;border-radius:13px;text-decoration:none;transition:transform .2s,box-shadow .2s;border:1px solid rgba(23,60,53,.06)}
.topic-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.topic-a{background:#ecf0e6}.topic-b{background:#f6e2d7}.topic-c{background:#eee5ee}.topic-d{background:#f9eecb}
.topic-index{font-size:.67rem;opacity:.72}
.topic-symbol{font-size:2.2rem;height:80px;display:flex;align-items:center;color:#b26951}
.topic-card h3{font-size:1.64rem;margin-bottom:12px}
.topic-card p{font-size:.85rem;line-height:1.65;color:#52635e;flex:1}
.topic-more{font-size:.78rem;font-weight:780;border-top:1px solid #0002;padding-top:16px;display:flex;justify-content:space-between}
.section-feature{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch;margin-top:80px}
.feature-copy{padding:50px 58px;background:#e5eee4;border-radius:15px 0 0 15px}
.feature-copy h2{max-width:420px;margin:18px 0 22px}
.feature-copy p{max-width:420px;color:#4a635c;margin-bottom:29px}
.feature-art{border-radius:0 15px 15px 0;background:radial-gradient(circle at 72% 76%,#e5ac88 0,transparent 36%),#d3e1cc;padding:42px;position:relative;overflow:hidden;min-height:410px}
.feature-art:after{content:"";position:absolute;width:330px;height:330px;border:1px solid #61886f;border-radius:50%;right:-70px;top:-40px}
.feature-art-label{font-size:.71rem;text-transform:uppercase;letter-spacing:.17em;font-weight:750}
.feature-word{font:clamp(3.9rem,6vw,6.5rem)/.91 Georgia,serif;letter-spacing:-.08em;position:relative;z-index:1;margin-top:37px}
.feature-word span{color:#c77958}
.feature-stamp{position:absolute;right:20px;bottom:21px;border:2px dashed #668a78;border-radius:50%;width:110px;height:110px;display:grid;place-content:center;text-align:center;font-size:.64rem;line-height:1.3;font-weight:800;letter-spacing:.07em;transform:rotate(-15deg)}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.article-card{display:flex;flex-direction:column;padding:29px 28px;min-height:285px;border:1px solid var(--line);border-radius:13px;text-decoration:none;background:#fffefb;transition:box-shadow .2s,transform .2s}
.article-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.article-card h3{font-size:1.45rem;line-height:1.18;margin:20px 0 13px}
.article-card p{font-size:.84rem;color:#63776f;line-height:1.6;flex:1}
.card-kicker{color:#b96c54;letter-spacing:.105em;display:flex;justify-content:space-between;gap:8px;font-size:.61rem}
.card-kicker span{color:#83948c;white-space:nowrap}
.read-more{font-size:.82rem;font-weight:750;display:flex;justify-content:space-between;padding-top:12px;border-top:1px solid #e8ece4}
.offer-spotlight{margin-top:93px;margin-bottom:45px;background:var(--peach);border-radius:15px;display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:65px 70px}
.offer-copy h2{margin:16px 0 22px}
.offer-copy p{color:#5d5f57;max-width:470px}
.offer-disclosure{font-size:.74rem;margin-top:18px;color:#685850}
.offer-mini{background:#fffaf5;border-radius:12px;padding:34px 34px;align-self:center}
.offer-mini>span{font-weight:800;font-size:.68rem;letter-spacing:.12em}
.offer-mini>div{padding:17px 0;border-bottom:1px solid #eee5db;font-size:1rem;font-weight:650}
.offer-mini>div:last-child{border:0}
.offer-mini b{font-size:.78rem;color:#c57c5f;margin-right:23px}
.editorial-callout{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:40px 0 95px;border-top:1px solid var(--line)}
.editorial-callout h2{font-size:2rem;margin:12px 0}
.editorial-callout p{max-width:700px;color:var(--muted);margin:0}
.editorial-callout a{white-space:nowrap;text-decoration:none;font-weight:750}
.site-footer{background:var(--deep);color:#f4f4e8;margin-top:30px}
.footer-inner{max-width:1200px;margin:auto;padding:65px 25px 25px}
.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:90px}
.footer-main>div{display:flex;flex-direction:column;gap:13px}
.footer-main .brand{color:white}.footer-main .brand-mark{border-color:white;color:var(--deep)}
.footer-main p{max-width:300px;font-size:.84rem;color:#b6c8c0;line-height:1.7;margin-top:10px}
.footer-main strong{font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;color:#efd2c3;margin-bottom:11px}
.footer-main a:not(.brand){text-decoration:none;font-size:.85rem;color:#d4e3dc}
.footer-main a:not(.brand):hover{text-decoration:underline}
.footer-bottom{margin-top:60px;padding-top:20px;border-top:1px solid #ffffff32;display:flex;justify-content:space-between;gap:20px;color:#bbd1c6;font-size:.74rem}
.footer-bottom a{color:inherit}
/* category hubs */
.hub-hero{background:linear-gradient(105deg,#eaf0e7,#fae5d8);padding:38px 0 70px}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:11px;color:#6c8177;font-size:.75rem;margin:17px 0 52px}
.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}
.hub-hero .eyebrow{color:#b5674e;margin-bottom:20px}
.hub-hero h1{font-size:clamp(3rem,5.8vw,5.8rem);margin-bottom:21px;max-width:870px}
.hub-hero p{font-size:1.12rem;line-height:1.7;max-width:680px;color:#556d64}
.hub-stats{display:flex;gap:26px;font-size:.78rem;font-weight:720;margin-top:35px;color:#697f74}
.hub-content{padding-top:76px;padding-bottom:85px}
.hub-next{border-top:1px solid var(--line);margin-top:50px;padding:26px 0;font-size:.94rem}
.hub-next strong{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
/* article */
.article-shell{width:min(1200px,calc(100% - 52px));margin:auto;padding-bottom:70px}
.article-shell>.breadcrumbs{margin:27px 0 35px}
.article-layout{display:grid;grid-template-columns:minmax(0,750px) minmax(210px,1fr);gap:76px}
.article-header{padding-bottom:30px;border-bottom:1px solid var(--line)}
.article-header .eyebrow{color:var(--accent-dark);display:flex;gap:14px;align-items:center}
.eyebrow-rule{width:27px;height:1px;background:#bb9b8b;display:inline-block}
.article-header h1{font-size:clamp(2.9rem,5vw,4.8rem);line-height:1.12;margin:23px 0}
.article-deck{font-size:1.16rem;color:#5c756b;line-height:1.65;max-width:670px}
.author-line{display:flex;gap:12px;align-items:center;font-size:.81rem;font-weight:750;margin-top:26px}
.author-line small{display:block;color:#82968c;font-size:.74rem;font-weight:400;margin-top:3px}
.author-dot{display:grid;place-items:center;width:41px;height:41px;background:var(--peach);color:#af654e;border-radius:50%;font-size:.8rem;font-weight:800}
.body-section{padding-top:34px;scroll-margin-top:110px}
.body-section h2,.faq-section h2{font-size:clamp(1.75rem,2.8vw,2.3rem);letter-spacing:-.04em;margin-bottom:18px}
.body-section p,.faq-section p{color:#465f56;line-height:1.85;font-size:1.015rem}
.body-section a{color:#ad593d;text-decoration-thickness:1px;font-weight:650}
.body-section ul,.simple-copy ul{padding-left:22px;margin-bottom:24px}
.body-section li,.simple-copy li{margin-bottom:12px;color:#456157}
.body-section li::marker{color:#cb7455}
.script{margin:18px 0 23px;padding:20px 23px;background:#edf1e8;border-left:4px solid #cc876c;border-radius:0 10px 10px 0;color:#28584e;font:italic 1.09rem/1.65 Georgia,serif}
.comparison{overflow-x:auto;border:1px solid var(--line);border-radius:11px;margin:24px 0}
.comparison>div{min-width:600px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;border-bottom:1px solid var(--line)}
.comparison>div:last-child{border:0}
.comparison>div:first-child{background:#e3ece3}
.comparison>div>strong,.comparison>div>span{padding:16px 12px;font-size:.79rem;border-right:1px solid var(--line);line-height:1.4}
.comparison>div>span:last-child,.comparison>div>strong:last-child{border-right:0}
.article-aside{min-width:0}
.sticky-panel{position:sticky;top:123px;border-left:1px solid var(--line);padding:5px 0 0 27px;display:flex;flex-direction:column;gap:14px}
.aside-label{font-size:.66rem;font-weight:800;letter-spacing:.15em;color:#a96850;margin-bottom:8px}
.sticky-panel>a{font-size:.82rem;line-height:1.4;text-decoration:none;color:#5c7369}
.sticky-panel>a:hover{color:var(--accent-dark)}
.aside-divider{height:1px;background:var(--line);margin-top:16px}
.sticky-panel p{font:italic 1.25rem Georgia,serif;line-height:1.3;margin:8px 0 0}
.sticky-panel .aside-cta{font-weight:800;color:#ae6148}
.disclosure-inline{border:1px solid #e9c7b4;background:#fff4ed;border-radius:10px;padding:16px 19px;margin-top:28px;color:#645c54;font-size:.8rem;line-height:1.6}
.affiliate-box{background:#e4eee3;border:1px solid #bcd3bf;padding:35px;border-radius:14px;margin:44px 0}
.affiliate-eyebrow{color:#ab705c}
.affiliate-box h3{font-size:2rem;margin:10px 0 12px}
.affiliate-box p{color:#546c61;max-width:590px}
.affiliate-disclosure{font-size:.79rem;color:#3d6052;margin:14px 0 19px}
.faq-section{margin-top:43px;padding-top:25px;border-top:1px solid var(--line);scroll-margin-top:110px}
.faq-section details{background:#fffefa;border:1px solid var(--line);border-radius:9px;margin:10px 0;padding:17px 19px}
.faq-section summary{cursor:pointer;font-weight:760;font-size:.97rem}
.faq-section p{margin:14px 0 0;font-size:.92rem}
.sources-mini{font-size:.81rem;color:#71837a;padding-top:35px}
.sources-mini h2{font:700 .73rem/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.sources-mini ul{padding-left:19px}
.sources-mini li{margin-bottom:7px}
.sources-mini a{color:#4e7467}
.sources-mini p{font-size:.73rem}
.related-section{margin-top:70px;padding-top:46px;border-top:1px solid var(--line)}
.related-section h2{font-size:2.4rem}
.related-section .article-card{min-height:260px}
/* simple legal */
.simple-main{padding:40px 25px 100px}
.simple-main .breadcrumbs{margin:17px 0 65px}
.simple-main .eyebrow{color:var(--accent-dark)}
.simple-main h1{margin:20px 0 25px}
.lead{font-size:1.14rem;color:var(--muted);line-height:1.7}
.simple-copy{border-top:1px solid var(--line);margin-top:38px;padding-top:20px;color:#496259;font-size:1.01rem}
.simple-copy h2{font-size:1.95rem;margin:36px 0 14px}
.simple-copy a{color:#a85642}
.simple-copy .source-directory{list-style:none;padding:0}
.source-directory li{background:white;border:1px solid var(--line);border-radius:9px;padding:16px;margin:10px 0!important}
.source-directory li strong{font-size:.79rem;color:#a36756}
@media(max-width:1000px){
 .nav-links{gap:17px}.nav-links a{font-size:.78rem}
 .hero-inner{grid-template-columns:1fr 42%;min-height:560px}.hero-copy h1{font-size:clamp(3.5rem,6.8vw,5.5rem)}
 .hero-visual{transform:scale(.85);transform-origin:center right}
 .topics-grid{grid-template-columns:repeat(2,1fr)}
 .article-layout{gap:35px;grid-template-columns:minmax(0,1fr) 210px}
 .offer-spotlight{padding:50px}
}
@media(max-width:760px){
 .site-header{height:72px}.nav-wrap{padding:0 22px}
 .brand{font-size:21px}.brand-mark{width:34px;height:34px}
 .mobile-nav-toggle{display:block}
 .nav-links{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;background:var(--cream);padding:18px 25px 25px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);align-items:flex-start;gap:19px}
 .nav-links.open{display:flex}.nav-links a{font-size:1rem}.nav-links .nav-about{padding:8px 16px}
 .container,.article-shell{width:min(100% - 36px,650px)}
 .hero-inner{display:flex;flex-direction:column;padding:74px 25px 42px;min-height:unset}
 .hero-copy h1{font-size:clamp(3.5rem,11vw,5.2rem)}
 .hero-copy>p{font-size:1.03rem}.hero-actions{gap:18px}
 .hero-small{margin-top:35px}.hero-visual{height:350px;transform:scale(.74);transform-origin:top center;width:500px;max-width:100%;margin-top:35px}
 .trust-strip .container{gap:10px 21px;padding:18px 0;line-height:1.3}.trust-strip span{width:100%;text-align:center}
 .section-pad{padding-top:60px}.section-heading{display:block}.section-heading>p{margin-top:12px;max-width:450px}
 .topics-grid{grid-template-columns:repeat(2,1fr)}
 .topic-card{min-height:310px;padding:23px 19px}.topic-card h3{font-size:1.47rem}
 .section-feature{display:block;margin-top:20px}
 .feature-copy{border-radius:14px 14px 0 0;padding:37px 29px}
 .feature-art{border-radius:0 0 14px 14px;min-height:340px}
 .card-grid{grid-template-columns:repeat(2,1fr)}
 .offer-spotlight{display:flex;flex-direction:column;gap:30px;margin-top:65px;padding:40px 25px}
 .editorial-callout{display:block;padding-bottom:60px}.editorial-callout a{display:inline-block;margin-top:18px}
 .article-layout{display:block}.article-aside{display:none}.article-header h1{font-size:clamp(2.65rem,8vw,4.5rem)}
 .article-shell>.breadcrumbs{margin:20px 0 25px}
 .body-section{padding-top:22px}
 .footer-main{grid-template-columns:1fr 1fr;gap:37px}.footer-main>div:first-child{grid-column:1/-1}
 .footer-bottom{display:block;line-height:2}
 .hub-hero{padding-bottom:40px}.hub-hero h1{font-size:clamp(2.9rem,8vw,4.2rem)}
}
@media(max-width:470px){
 .hero-copy h1{font-size:clamp(3rem,12vw,4rem)}
 .hero-visual{transform:scale(.6);height:290px;margin-left:-18px}
 .hero-small{line-height:2}
 .topics-grid,.card-grid{grid-template-columns:1fr}
 .topic-card{min-height:245px}
 .topic-symbol{height:53px}
 .article-card{min-height:240px}
 .feature-art{padding:30px;min-height:330px}
 .feature-word{font-size:3.7rem}
 .footer-main{grid-template-columns:1fr 1fr;gap:25px}
 .footer-main a:not(.brand){font-size:.8rem}
 .offer-mini{padding:22px}
 .article-header h1{font-size:2.6rem}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

/* Production conversion controls, buyer tables, hubs and contact */
.hero-affiliate-disclosure{font-size:.75rem;color:#5c7169;margin-top:12px;max-width:590px}
.spotlight-cta{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:21px}
.hub-offer-intro{display:flex;align-items:center;gap:19px;flex-wrap:wrap;margin-top:24px;padding:20px 22px;background:#fffaf5;border:1px solid #dbd8ca;border-radius:13px}
.hub-offer-intro p{flex:1 1 290px;font-size:.88rem;margin:0}
.hub-offer-intro .affiliate-disclosure{flex-basis:100%;margin:0;font-size:.7rem}
.hub-edu-link{font-size:.9rem;margin-top:22px}
.hub-explainer{padding:36px 0 45px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.hub-explainer h2{font-size:clamp(1.85rem,3vw,2.7rem);margin-bottom:20px}
.hub-explainer>p{max-width:850px;font-size:1.02rem;color:#46625a}
.hub-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:24px 0}
.hub-steps>div{padding:22px;background:#f1f4ec;border:1px solid var(--line);border-radius:12px}
.hub-steps strong{display:block;margin-bottom:8px}
.hub-steps p{font-size:.87rem;line-height:1.6;margin:0;color:#52695f}
.affiliate-box-compact{margin:44px 0;padding:30px}
.affiliate-secondary{margin:10px 0 0!important;font-size:.82rem}
.inline-commercial{margin:34px 0;border-radius:13px;padding:23px;background:#f1eee6;border:1px solid #d8dcce}
.inline-commercial p{font-size:.93rem;margin:10px 0}
.review-verdict{margin:30px 0;background:#e7efe4;border:1px solid #cbd8ca;border-radius:15px;padding:30px}
.review-verdict h2{font-size:clamp(1.9rem,3vw,2.6rem);margin:12px 0 18px}
.review-verdict>p{color:#38574f}
.verdict-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:26px 0}
.verdict-grid>div{background:#fffdf8;border-radius:9px;padding:16px}
.verdict-grid strong{font-size:.8rem}
.verdict-grid p{font-size:.79rem;line-height:1.5;margin:7px 0 0;color:#547168}
.decision-table{width:100%;border-collapse:collapse;margin:22px 0;font-size:.87rem;line-height:1.55;overflow-wrap:break-word}
.decision-table th,.decision-table td{border:1px solid #d6e0d6;text-align:left;vertical-align:top;padding:13px}
.decision-table thead{background:#e7efe4}
.decision-table tbody tr:nth-child(even){background:#fbfbf7}
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:24px 0}
.pros-cons>div{border-radius:11px;background:#f1f3ec;padding:20px}
.pros-cons>div:last-child{background:#fff0e9}
.pros-cons h3{font-size:1.3rem}
.purchase-panel{padding:32px;margin:40px 0;background:#f7e2d6;border-radius:13px}
.purchase-panel h3{margin:10px 0;font-size:1.9rem}
.purchase-panel p{color:#515953}
.contact-form{display:flex;flex-direction:column;gap:10px;background:#f2f4ee;border-radius:13px;padding:25px;margin:18px 0 45px}
.contact-form label{font-weight:700;font-size:.85rem}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;font:inherit;padding:12px 14px;border:1px solid #aebfb4;border-radius:7px;background:#fff}
.contact-form button{align-self:flex-start;cursor:pointer}
.contact-form .affiliate-disclosure{margin:9px 0 0}
@media(max-width:700px){
 .hub-steps,.pros-cons{grid-template-columns:1fr}
 .verdict-grid{grid-template-columns:1fr 1fr}
 .decision-table{font-size:.78rem}
 .decision-table th,.decision-table td{padding:8px}
 .hub-offer-intro{padding:17px}
}
@media(max-width:420px){
 .verdict-grid{grid-template-columns:1fr}
 .review-verdict,.purchase-panel{padding:20px}
 .hub-steps>div{padding:17px}
}


/* Surgical editorial tables and restrained non-modal affiliate nudge */
.table-scroll { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; margin:20px 0; }
.table-scroll .decision-table { min-width:600px; margin:0; }
.table-scroll[tabindex]:focus-visible { outline:3px solid #a66e55; outline-offset:3px; }
.offer-nudge { box-sizing:border-box; position:fixed; bottom:18px; right:18px; z-index:1500;
  width:min(350px, calc(100vw - 36px)); max-height:min(70dvh, 470px); overflow:auto;
  padding:21px; border:1px solid #b7cbbd; border-radius:14px; box-shadow:0 12px 35px #06221730;
  background:#fffdf8; color:var(--ink); }
.offer-nudge .eyebrow { font-size:.67rem; margin:0 38px 8px 0; color:var(--accent-dark); }
.offer-nudge h2 { font-size:1.38rem; line-height:1.22; margin:0 25px 8px 0; }
.offer-nudge .offer-nudge-summary { font-size:.85rem; line-height:1.45; margin:0 0 12px; color:#48675e; }
.offer-nudge .button { padding:11px 15px; font-size:.82rem; }
.offer-nudge .offer-nudge-review { display:inline-block; font-size:.79rem; margin-top:11px; }
.offer-nudge .affiliate-disclosure { font-size:.69rem; line-height:1.3; margin:10px 0 0; }
.offer-nudge-close {position:absolute; top:10px; right:10px; display:grid; place-items:center;
  width:35px; height:35px; border:1px solid #9fb7aa; background:#fff; color:#253c32;
  border-radius:50%; font-size:1.4rem; cursor:pointer; }
.offer-nudge-close:focus-visible { outline:3px solid #a66e55; }
@media(max-width:700px) {
  .offer-nudge { bottom:0; left:0; right:0; width:100%; max-height:48dvh; padding:18px 19px 15px;
    border-radius:15px 15px 0 0; box-shadow:0 -6px 25px #08251b33; }
  .offer-nudge h2 {font-size:1.2rem;}
  .offer-nudge .button { width:auto; max-width:100%; }
}
