:root{--ink:#182e2c;--muted:#536561;--forest:#124c3d;--forest-dark:#0c352d;--mint:#edf5ee;--lime:#d9ed91;--cream:#faf9f5;--line:#dce2dc;--white:#fff;--orange:#f8e2ce;--lavender:#e9e8f6;--radius:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--forest);text-underline-offset:4px}a:hover{color:#081f19}a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #aa4c0f;outline-offset:5px;border-radius:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:500}h1{font-size:clamp(2.6rem,5.5vw,4.9rem);margin-bottom:25px}h2{font-size:clamp(1.9rem,3vw,2.8rem);margin-bottom:20px}h3{font-size:1.25rem;line-height:1.3;font-weight:650;margin-bottom:14px}p{margin-bottom:20px}ul,ol{padding-left:25px}li{margin-bottom:10px}.wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}.skip{position:absolute;top:0;left:20px;padding:12px;background:white;transform:translateY(-150%);z-index:9}.skip:focus{transform:translateY(0)}.topbar{border-bottom:1px solid var(--line);background:white}.header-main{display:flex;justify-content:space-between;align-items:center;padding-block:22px;gap:20px}.wordmark{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:1.55rem;font-weight:750;letter-spacing:-1px;color:var(--forest-dark)}.brand-icon{display:inline-flex;background:var(--forest);color:var(--lime);width:32px;height:32px;align-items:center;justify-content:center;font-size:25px;transform:rotate(-8deg);border-radius:8px}.brand-icon span{transform:rotate(8deg);line-height:1}.header-note{display:flex;gap:25px;align-items:center;font-size:.8rem;letter-spacing:.025em}.header-note a{font-size:.85rem}.desktop-nav{display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-top:1px solid #eef0ec}.desktop-nav a{font-size:.86rem;text-decoration:none;font-weight:600}.desktop-nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}.mobile-nav{display:none}.eyebrow{display:block;color:var(--forest);font-size:.7rem;font-weight:750;letter-spacing:.16em;margin-bottom:20px}.hero{padding:76px 0 68px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:70px}.hero h1{max-width:630px}.hero h1 em{color:var(--forest);font-style:normal;position:relative}.lede{color:var(--muted);font-size:1.13rem;line-height:1.7;max-width:670px}.button{display:inline-flex;gap:30px;justify-content:space-between;align-items:center;background:var(--forest);color:white;border-radius:7px;padding:14px 21px;font-size:.86rem;font-weight:650;text-decoration:none;line-height:1.4;border:1px solid transparent}.button:hover{background:var(--forest-dark);color:white}.button.light{background:var(--lime);color:var(--forest-dark)}.button.secondary{background:transparent;color:var(--forest);border-color:var(--line)}.hero-links{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:30px}.hero-links>a:not(.button){font-size:.85rem;font-weight:600}.hero-art{background:var(--mint);border-radius:45% 45% 18% 18%;padding:38px 30px 25px;position:relative}.art-title{font-size:.7rem;letter-spacing:.17em;text-align:center;font-weight:700;margin-bottom:23px}.stack-card{padding:21px;background:#fff;box-shadow:0 7px 26px #2444380b;border:1px solid #e1e9de;border-radius:13px;margin:12px 0;display:flex;gap:17px;align-items:center}.stack-card:nth-of-type(2){transform:rotate(-3deg);margin-left:-12px}.stack-card:nth-of-type(3){transform:rotate(2deg);margin-right:-12px}.stack-card strong{font-size:1rem;display:block}.stack-card span:not(.iconbox){font-size:.76rem;color:var(--muted)}.stack-arrow{margin-left:auto;font-size:24px}.art-bottom{display:flex;gap:10px;justify-content:center;align-items:center;font-size:.75rem;margin-top:22px}.tiny-dot{width:7px;height:7px;background:var(--forest);border-radius:50%}.principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;gap:30px;margin-bottom:70px}.principles div{display:flex;gap:12px;align-items:baseline}.principles strong{font-size:.85rem;white-space:nowrap}.principles span{font-size:.78rem;color:var(--muted)}.section{margin:70px auto}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:30px}.section-heading h2{margin-bottom:0}.section-heading p{max-width:370px;font-size:.92rem;color:var(--muted);margin-bottom:0}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tile{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px;text-decoration:none;display:flex;flex-direction:column;min-height:235px;transition:transform .15s,border-color .15s}.tile:hover{transform:translateY(-3px);border-color:#658879}.iconbox{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:var(--mint);flex-shrink:0;color:var(--forest)}.iconbox svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.tile:nth-child(2n) .iconbox{background:var(--orange)}.tile:nth-child(3n) .iconbox{background:var(--lavender)}.tile h3{margin:23px 0 8px}.tile p{font-size:.85rem;line-height:1.6;color:var(--muted);margin-bottom:12px}.tile-arrow{margin-top:auto;font-size:.8rem;font-weight:650}.feature-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px}.feature{border-radius:var(--radius);padding:29px;border:1px solid var(--line);background:white;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;min-height:280px}.feature:first-child{background:var(--forest-dark);color:white;border-color:var(--forest-dark)}.feature:first-child .eyebrow,.feature:first-child p{color:#cfddd4}.feature h3{font:500 1.7rem/1.2 Georgia,serif}.feature p{font-size:.9rem;color:var(--muted)}.feature .tile-arrow{padding-top:15px}.editorial-band{padding:45px;display:grid;grid-template-columns:1fr 1.1fr;gap:70px;background:#eaf0e5;border-radius:var(--radius);align-items:center}.editorial-band h2{margin-bottom:0}.editorial-band p{color:var(--muted);font-size:.95rem}.disclosure{padding:14px 20px;background:#f0f3ed;border-left:3px solid #587959;font-size:.78rem;color:#42554e;margin:0 0 32px;line-height:1.7}.disclosure a{font-weight:600}.breadcrumbs{font-size:.75rem;color:var(--muted);padding-top:30px;margin-bottom:35px;display:flex;gap:10px;flex-wrap:wrap}.article-head{max-width:920px;padding-bottom:27px}.article-head h1{font-size:clamp(2.4rem,4.7vw,4rem);max-width:900px}.meta{display:flex;gap:14px;flex-wrap:wrap;font-size:.74rem;color:var(--muted);align-items:center;margin-top:24px}.meta span+span:before{content:'·';margin-right:14px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:56px;align-items:start;padding-bottom:75px}.article-body{min-width:0}.article-body section{margin:44px 0}.article-body h2{font-size:2rem}.article-body p,.article-body li{font-size:1rem}.verdict{background:var(--mint);border:1px solid #d4e3d5;border-radius:var(--radius);padding:27px 30px;margin-bottom:36px}.verdict h2{font:600 1.05rem/1.3 system-ui,sans-serif;letter-spacing:0;margin-bottom:11px}.verdict p{margin-bottom:0;font-size:1rem}.aside{position:sticky;top:25px}.toc{border:1px solid var(--line);border-radius:13px;background:white;padding:23px}.toc h2{font:700 .7rem/1.4 system-ui,sans-serif;letter-spacing:.14em}.toc a{display:block;font-size:.78rem;margin:14px 0;line-height:1.5;text-decoration:none}.toc a:hover{text-decoration:underline}.aside-note{font-size:.76rem;line-height:1.7;color:var(--muted);padding:22px 2px}.aside-note strong{display:block;color:var(--ink);margin-bottom:6px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:white;margin:20px 0 12px}table{width:100%;border-collapse:collapse;font-size:.84rem;text-align:left;min-width:600px}th{background:#eef1eb;font-size:.67rem;letter-spacing:.06em;text-transform:uppercase}th,td{padding:18px 15px;vertical-align:top;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}td strong{display:block;font-size:.9rem;color:var(--forest);margin-bottom:7px}.table-note{font-size:.74rem!important;color:var(--muted)}.product{background:white;border:1px solid var(--line);border-radius:var(--radius);margin:24px 0;padding:28px}.product-top{display:flex;gap:17px;align-items:flex-start;margin-bottom:22px}.product-number{font:500 1.5rem Georgia,serif;color:var(--forest);border:1px solid #c3d7c7;border-radius:10px;background:var(--mint);padding:8px 12px}.product h3{font-size:1.45rem;margin:0 0 5px}.product-fit{font-size:.78rem;color:var(--muted)}.price{font-size:.94rem;font-weight:650;line-height:1.5;margin-bottom:22px}.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding-block:18px;border-block:1px solid var(--line);margin:20px 0}.pros-cons span{display:block;font-size:.64rem;letter-spacing:.1em;font-weight:750;margin-bottom:7px;color:var(--forest)}.pros-cons p{font-size:.83rem;line-height:1.65;margin-bottom:0}.pros-cons>div:last-child span{color:#8b470f}.product p{font-size:.92rem}.product-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap}.product-actions>a:not(.button){font-size:.8rem}.link-label{font-size:.66rem;color:var(--muted);margin:7px 0 0!important}.source-mini{font-size:.73rem!important;margin-bottom:20px!important}.source-mini a{margin-right:9px}.source-list{font-size:.82rem}.source-list li{margin-bottom:12px}.source-list a{overflow-wrap:anywhere}.sources{border-top:1px solid var(--line);padding-top:30px}.sources p{color:var(--muted);font-size:.8rem}.related{background:#edf0e8;padding:30px;border-radius:14px;margin-top:40px}.related h2{font-size:1.5rem}.related a{display:block;padding-block:8px;font-size:.9rem}.legal-layout{max-width:790px;margin:auto;padding-bottom:80px}.legal-layout section{margin-block:40px}.legal-layout h2{font-size:1.8rem}.legal-layout p{font-size:1rem}.legal-head{max-width:790px;margin:auto}.footer{background:var(--forest-dark);color:white;padding:50px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:60px;padding-bottom:35px;border-bottom:1px solid #36564a}.footer .wordmark{color:white}.footer-brand p{color:#c1d0c6;font-size:.83rem;max-width:320px;margin:18px 0 0}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 36px}.footer a:not(.wordmark){color:#d9e3dc;font-size:.79rem}.footer-bottom{font-size:.7rem;color:#b9cdc0;padding-top:22px;display:flex;justify-content:space-between;gap:30px}.home-note{font-size:.74rem;color:var(--muted);margin-top:28px;max-width:800px}.not-found{text-align:center;padding:100px 20px}.not-found h1{font-size:3rem}@media(min-width:1450px){.hero{padding-block:90px}}@media(max-width:1050px){.hero{gap:38px}.header-note>span{display:none}.principles div{display:block}.principles strong,.principles span{display:block}.article-layout{grid-template-columns:minmax(0,1fr) 210px;gap:30px}.feature-grid{grid-template-columns:1fr 1fr}.feature:first-child{grid-column:span 2;min-height:230px}.editorial-band{gap:40px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}body{font-size:16px}.header-main{padding-block:18px}.wordmark{font-size:1.35rem}.header-note{display:none}.desktop-nav{display:none}.mobile-nav{display:block;border-top:1px solid var(--line);padding:12px 0;font-size:.84rem}.mobile-nav summary{font-weight:650;cursor:pointer;min-height:28px}.mobile-nav nav{display:grid;grid-template-columns:1fr 1fr;padding-top:15px;gap:4px 20px}.mobile-nav nav a{padding:9px 0;text-decoration:none;font-size:.82rem}.hero{grid-template-columns:1fr;padding:40px 0 32px;gap:37px}.hero h1{font-size:3.2rem;max-width:570px}.lede{font-size:1rem}.hero-art{max-width:490px;width:100%;margin:auto;padding:23px 24px 20px;border-radius:30px}.stack-card{padding:15px;margin:10px 0}.stack-card strong{font-size:.94rem}.art-title{margin-bottom:15px}.principles{gap:13px;margin-bottom:45px;padding:20px 0}.principles strong{font-size:.73rem;white-space:normal;line-height:1.4}.principles span{font-size:.67rem;line-height:1.5;margin-top:6px}.section{margin-block:45px}.section-heading{display:block}.section-heading p{margin-top:15px}.tiles{grid-template-columns:1fr 1fr;gap:12px}.tile{padding:19px;min-height:230px}.tile h3{font-size:1.1rem;margin-top:18px}.tile p{font-size:.77rem}.tile .iconbox{width:40px;height:40px}.feature-grid{grid-template-columns:1fr}.feature:first-child{grid-column:auto}.feature{min-height:225px}.editorial-band{padding:28px;grid-template-columns:1fr;gap:20px}.editorial-band h2{font-size:2rem}.article-head{padding-bottom:15px}.article-head h1{font-size:2.7rem}.breadcrumbs{padding-top:22px;margin-bottom:27px}.article-layout{display:flex;flex-direction:column-reverse;gap:20px;padding-bottom:45px}.article-body,.aside{width:100%}.aside{position:static}.aside-note{display:none}.toc{padding:15px 18px}.toc h2{margin:0 0 10px}.toc nav{display:flex;gap:10px 20px;flex-wrap:wrap}.toc a{font-size:.73rem;margin:4px 0}.disclosure{padding:13px 14px;margin-bottom:25px;font-size:.72rem}.verdict{padding:22px}.article-body h2{font-size:1.8rem}.article-body p,.article-body li{font-size:.95rem}.product{padding:21px}.product h3{font-size:1.3rem}.product p{font-size:.88rem}.pros-cons{gap:17px}.pros-cons p{font-size:.78rem}.product-actions{gap:15px}.footer{padding-top:35px}.footer-top{flex-direction:column;gap:30px}.footer-links{gap:12px 24px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:9px}.legal-layout{padding-bottom:45px}}@media(max-width:380px){.hero h1{font-size:2.8rem}.wrap{width:calc(100% - 32px)}.tiles{grid-template-columns:1fr}.tile{min-height:205px}.pros-cons{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tile{transition:none}.tile:hover{transform:none}}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Readable secondary text at all breakpoints; 14px minimum, AA-contrast colors. */
.disclosure{font-size:14px;color:#354c42;line-height:1.75}
.meta{font-size:14px;color:#43564f;line-height:1.7}
.footer-brand p,.footer a:not(.wordmark),.footer-bottom{font-size:14px;line-height:1.75}
.footer-bottom{color:#d3e1d6}
.footer a:not(.wordmark){color:#e2ece5;overflow-wrap:anywhere}
.home-note,.table-note,.source-mini,.link-label{font-size:14px!important;color:#43564f;line-height:1.75}
