:root{--forest:#164739;--forest-dark:#10382d;--ink:#20322b;--muted:#5d6b64;--line:#d8dfda;--soft:#f3f6f3;--gold:#d4c093;--mono:Consolas,'Liberation Mono',monospace;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:1.0625rem;line-height:1.75;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,dl,dd,figure{margin:0}h1,h2,h3,h4{font-weight:400}h2{font-family:var(--serif);font-size:clamp(2.15rem,3.3vw,3rem);line-height:1.2;letter-spacing:-.035em}h2 em{color:var(--forest);font-weight:400}p+p{margin-top:19px}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:#346b56}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,pre:focus-visible{outline:3px solid #709882;outline-offset:5px}[hidden]{display:none!important}.container{width:min(1240px,calc(100% - 80px));margin-inline:auto}.section{padding-block:88px}.eyebrow{font-size:.8125rem;line-height:1.6;letter-spacing:.09em;text-transform:uppercase;color:var(--forest);margin-bottom:22px}.eyebrow.light{color:#d3e0d7}.lead{font-size:1.2rem;line-height:1.75;letter-spacing:-.015em}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:48px;border:1px solid var(--forest);border-radius:6px;background:var(--forest);color:#fff;padding:12px 23px;font-size:.9375rem;line-height:1.5;text-decoration:none;transition:background .18s}.button:hover{background:var(--forest-dark);color:#fff}.button-outline,.button-light{background:transparent;color:var(--forest);border-color:#94ab9b}.button-outline:hover,.button-light:hover{background:#e7eee8;color:var(--forest)}.button-cream{background:#e2d2af;border-color:#e2d2af;color:#26372b}.button-cream:hover{background:#f0e3c7;color:#26372b}.link-button{border:0;border-bottom:1px solid currentColor;background:none;padding:0;color:inherit;text-align:left;line-height:1.7}.skip-link{position:absolute;top:-100px;left:18px;background:var(--forest);color:white;padding:12px 20px;z-index:100}.skip-link:focus{top:10px}.site-header{background:#fff}.header-row{display:flex;align-items:center;gap:30px;min-height:108px}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;font-size:1rem;letter-spacing:.08em;line-height:1.2}.brand-divider{color:#81998a;margin-inline:5px}.brand small{display:block;color:var(--muted);font-size:.75rem;letter-spacing:.02em;margin-top:7px}.main-nav{display:flex;gap:27px;margin-left:auto}.main-nav a{font-size:.875rem;text-decoration:none;padding:13px 0}.edition{font-size:.8125rem;color:var(--muted);border-left:1px solid var(--line);padding-left:24px;white-space:nowrap}
.hero{display:grid;grid-template-columns:1fr 1fr;border-radius:18px;overflow:hidden;background:var(--forest);color:#fff;min-height:620px}.hero-copy{padding:53px 52px 37px;display:flex;flex-direction:column;align-items:flex-start}.hero h1{font-family:var(--serif);font-size:clamp(2.75rem,4.3vw,4.1rem);line-height:1.13;letter-spacing:-.035em;font-weight:400;margin:15px 0 24px}.hero h1 em{font-weight:400;color:#e1d1ad}.hero-lead{max-width:390px;font-size:1.0625rem;line-height:1.8;color:#e0e9e2}.hero-copy .button{margin-top:29px}.hero-details{width:100%;display:flex;justify-content:space-between;gap:16px;border-top:1px solid #487361;padding-top:20px;margin-top:auto;font-size:.8125rem;color:#d1ded6;line-height:1.5}.hero-figure{position:relative;min-width:0;background:#e5e8e3}.hero-figure picture{display:block;width:100%;height:100%}.hero-figure img{height:100%;width:100%;object-fit:cover;object-position:center 62%;position:absolute;inset:0}.hero-figure figcaption{position:absolute;bottom:21px;left:24px;right:24px;padding:16px 18px;border-radius:7px;background:#fffffff0;color:#284234;backdrop-filter:blur(8px);font-size:.875rem;line-height:1.5}.hero-figure figcaption span{display:block;font-size:.75rem;color:#687b6d;margin-top:4px}.hero-foot{display:flex;justify-content:space-between;gap:20px;padding-top:20px;font-size:.8125rem;color:var(--muted)}.hero-foot a{text-decoration:none;border-bottom:1px solid #9aada0}.intro{display:grid;grid-template-columns:1fr 1.35fr;gap:80px}.intro-text>p:not(.lead){color:var(--muted);font-size:1rem;line-height:1.8}.disclaimer{border-top:1px solid var(--line);margin-top:27px;padding-top:22px}.disclaimer h3{font-size:.9375rem;margin-bottom:9px}.disclaimer p{font-size:.875rem;line-height:1.85;color:#647269}.section-head-row{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:35px}.section-head-row>p{max-width:430px;font-size:1rem;color:var(--muted);line-height:1.8}.section-head-row h2{margin-bottom:0}.comparison{background:var(--soft);padding-block:66px;border-block:1px solid #e5eae5}.code-box{border:1px solid #b6c8bb;border-radius:9px;overflow:hidden;background:#fff}.code-label{display:flex;justify-content:space-between;gap:20px;background:#e9efea;padding:13px 26px;color:#486050;font-family:var(--mono);font-size:.8125rem;border-bottom:1px solid #c9d6cc;line-height:1.6}.code-box pre{font-family:var(--mono);font-size:1.0625rem;line-height:2.8;font-weight:400;padding:24px 28px;margin:0;overflow-x:auto}.code-box code{font:inherit;color:#284a36}.table-legend{font-size:.875rem;color:#536b5c;line-height:1.8;margin-top:21px}.table-footnote{font-size:.875rem;color:#647469;line-height:1.8;margin-top:9px}.company-card{border:1px solid #bdcfc2;border-radius:12px;margin-top:31px;overflow:hidden;scroll-margin-top:26px}.company-top{display:flex;justify-content:space-between;gap:22px;font-size:.8125rem;padding:15px 29px;border-bottom:1px solid #d7e2da;color:#536e5d;line-height:1.6;background:#f3f7f3}.company-layout{display:grid;grid-template-columns:325px minmax(0,1fr)}.company-profile{border-right:1px solid #dbe4dc;padding:31px 28px;display:flex;flex-direction:column;align-items:flex-start}.company-kind{font-size:.8125rem;color:var(--muted);line-height:1.6;margin-bottom:12px}.company-profile h3{font-family:var(--serif);font-size:2.05rem;font-weight:400;line-height:1.2;letter-spacing:-.025em}.company-site{font-size:.875rem;line-height:1.8;margin-top:14px;overflow-wrap:anywhere}.company-site a{color:#32654e}.company-facts{width:100%;margin-top:27px}.company-facts>div{padding:20px 0;border-top:1px solid #e1e7e2}.company-facts dt{font-size:.8125rem;color:#466b55;line-height:1.6;margin-bottom:8px}.company-facts dd{font-size:.9375rem;line-height:1.8;color:#576e5f}.company-link{display:flex;align-items:center;justify-content:space-between;width:100%;border-top:1px solid #cfdbd2;border-bottom:1px solid #cfdbd2;padding:14px 0;text-decoration:none;font-size:.9375rem;line-height:1.5;margin-top:auto}.company-link span{font-size:1.2rem}.company-description{padding:31px 38px 32px;min-width:0}.company-block+.company-block{margin-top:24px}.company-description h4{font-size:1.0625rem;line-height:1.5;color:#2a4b37;margin-bottom:10px;font-weight:400}.company-description p{font-size:1rem;line-height:1.8;color:#53695c}.company-before{margin-top:27px;padding:22px 24px;background:#f4f6f3;border-radius:7px;border-left:2px solid #acbea7}.company-before h4{font-size:.9375rem}.company-before p{font-size:.9375rem;line-height:1.85}.method{background:#f4f6f3;border-block:1px solid #e0e6df;padding:74px 0}.method-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:75px}.method-grid>div>p:not(.eyebrow){font-size:1rem;line-height:1.85;color:#546c5d;margin-top:25px}.formula{margin-top:28px;border-color:#b6c8bb}.formula pre{font-size:1rem;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;padding:21px 24px}.formula .code-label{padding-inline:24px}.method-grid .method-note{font-size:.875rem;line-height:1.8}.criteria{border-top:1px solid #c7d4c8}.criterion{display:grid;grid-template-columns:53px 1fr;gap:19px;padding:23px 0;border-bottom:1px solid #c7d4c8}.criterion>span{font-family:var(--serif);font-size:2.1rem;line-height:1.1;color:#698471}.criterion h3{font-size:1.0625rem;margin-bottom:9px;line-height:1.5}.criterion p{font-size:.9375rem;color:#5d7363;line-height:1.8}.conclusion-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:80px}.conclusion-grid>div>p:last-child{font-size:1rem;color:var(--muted);line-height:1.9}.questions{background:#164739;color:#f4f7f1}.qa-grid{display:grid;grid-template-columns:1fr 1.65fr;gap:75px}.questions .eyebrow{color:#d7c69f}.questions h2{font-size:2.8rem}.qa-grid>div>p:last-child:not(.eyebrow){font-size:.9375rem;color:#c4d8cb;line-height:1.8;margin-top:23px}.question{border-top:1px solid #527d67}.question:last-child{border-bottom:1px solid #527d67}.question summary{display:grid;grid-template-columns:25px 1fr 23px;gap:17px;align-items:center;padding:22px 0;list-style:none;cursor:pointer;font-size:1.0625rem;line-height:1.6;min-height:76px}.question summary::-webkit-details-marker{display:none}.question-number{font-size:.8125rem;color:#bdcfbc}.plus{font-size:1.8rem;line-height:1;text-align:center;transition:transform .15s}.question[open] .plus{transform:rotate(45deg)}.answer{padding:0 40px 27px 42px;color:#d0e0d3;font-size:1rem;line-height:1.9}.sources-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 45px;padding-top:26px;border-top:1px solid var(--line)}.source-group h3{font-size:1rem;margin-bottom:15px;font-weight:400}.source-group ul{padding:0;margin:0;list-style:none;display:grid;gap:10px}.source-group li{font-size:.9375rem;line-height:1.7;color:#5d7565}.source-group a{text-decoration-color:#a7bdab}.site-footer{border-top:1px solid var(--line);background:#f4f6f3;padding:36px 0 22px}.footer-top{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:32px}.footer-brand{font-size:.9375rem;text-decoration:none;letter-spacing:.08em}.footer-top>p{font-size:.875rem;line-height:1.8;color:#647b69}.footer-links{display:grid;gap:10px;justify-items:start;font-size:.875rem;color:#466451}.footer-bottom{margin-top:28px;border-top:1px solid #d5dfd5;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:.8125rem;color:#647b69}.footer-bottom a{text-decoration:none}.cookie-banner{position:fixed;z-index:90;bottom:18px;left:50%;transform:translateX(-50%);width:min(1000px,calc(100% - 36px));padding:21px 23px;display:flex;gap:24px;align-items:center;background:#fff;border:1px solid #b8cdbd;border-radius:11px;box-shadow:0 8px 35px #18382924}.cookie-copy{flex:1;min-width:0}.cookie-copy p{font-size:.9375rem;line-height:1.6}.cookie-copy a{color:var(--forest)}.cookie-copy strong{font-weight:600}.cookie-copy .cookie-detail{font-size:.8125rem;color:var(--muted);margin-top:5px}.cookie-actions{display:flex;gap:10px;flex-shrink:0}.cookie-actions .button{padding:11px 16px;font-size:.875rem;white-space:nowrap;min-height:44px}.noscript-note{background:#eef3ec;color:var(--ink);text-align:center;padding:18px;font-size:.9375rem}.policy{max-width:930px;padding:30px 0 80px}.back-link{display:inline-block;font-size:.875rem;margin-bottom:36px}.policy .section-label{font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:#5d7866;margin-bottom:22px}.policy h1{font-family:var(--serif);font-size:clamp(2.8rem,5vw,4.25rem);line-height:1.15;letter-spacing:-.04em;overflow-wrap:anywhere}.policy-date{color:var(--muted);font-size:.875rem;margin-top:20px}.policy .lead{margin-top:28px}.policy section{margin-top:33px;padding-top:33px;border-top:1px solid var(--line)}.policy h2{font-family:Arial,Helvetica,sans-serif;font-size:1.5rem;line-height:1.5;letter-spacing:-.02em;margin-bottom:20px}.policy section>p{font-size:1rem;line-height:1.85;color:#536b5b}.policy code{font-family:var(--mono);font-size:.91em;overflow-wrap:anywhere}.cookie-list{margin:22px 0}.cookie-list>div{display:grid;grid-template-columns:220px 1fr;gap:26px;padding:14px 0;border-top:1px solid var(--line);font-size:1rem}.cookie-list>div:last-child{border-bottom:1px solid var(--line)}.cookie-list dd{color:#567260}.settings-box{background:#edf3eb;padding:25px;border:1px solid #bdcebd;border-radius:9px;margin-block:24px}.settings-box>p{font-size:1rem}.settings-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
@media(max-width:1150px){.container{width:calc(100% - 64px)}.edition{display:none}.hero{min-height:610px}.hero-copy{padding:41px 34px 30px}.hero h1{font-size:4.4vw}.hero-lead{font-size:1rem}.hero-details{font-size:.75rem;gap:10px}.intro,.conclusion-grid{gap:48px}.company-layout{grid-template-columns:285px minmax(0,1fr)}.company-profile{padding:28px 24px}.company-description{padding:28px 30px}.company-profile h3{font-size:1.9rem}.method-grid{gap:44px}.qa-grid{gap:50px}.sources-grid{gap:32px}.hero-figure figcaption{left:19px;right:19px}.main-nav{gap:23px}}
@media(max-width:899px){.container{width:calc(100% - 44px)}.header-row{min-height:96px;gap:24px}.brand{font-size:.875rem}.brand img{width:37px;height:37px}.main-nav{gap:18px}.main-nav a{font-size:.8125rem}.hero{min-height:565px;grid-template-columns:1.05fr 1fr}.hero-copy{padding:32px 27px}.hero h1{font-size:4.75vw;margin-top:13px}.hero .eyebrow{font-size:.75rem;margin-bottom:12px}.hero-lead{font-size:.9375rem}.hero-copy .button{padding:12px 18px;gap:20px;margin-top:24px}.hero-details{display:block;padding-top:16px;margin-top:30px}.hero-details span{display:block}.hero-details span+span{margin-top:5px}.hero-figure figcaption{padding:13px;font-size:.8125rem}.section{padding-block:65px}.intro{grid-template-columns:1fr 1.25fr;gap:36px}.intro h2{font-size:2.1rem}.intro .lead{font-size:1.1rem}.comparison{padding-block:52px}.section-head-row{gap:28px}.section-head-row>p{max-width:300px;font-size:.9375rem}.company-layout{grid-template-columns:240px minmax(0,1fr)}.company-profile{padding:27px 20px}.company-description{padding:27px 24px}.company-top{padding:14px 22px}.company-profile h3{font-size:1.75rem}.company-description p{font-size:1rem;line-height:1.85}.company-before{padding:19px}.company-facts dd{font-size:.9375rem}.method-grid{grid-template-columns:1fr;gap:34px}.method{padding:60px 0}.method-grid>div:first-child{max-width:740px}.formula pre{font-size:1.0625rem}.criteria{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.criterion{grid-template-columns:44px 1fr;gap:16px}.conclusion-grid{gap:36px;grid-template-columns:1fr 1.25fr}.qa-grid{gap:38px;grid-template-columns:1fr 1.8fr}.questions h2{font-size:2.3rem}.question summary{font-size:1rem;gap:12px}.answer{font-size:1rem;padding:0 24px 25px 37px}.sources-grid{grid-template-columns:1fr 1fr}.footer-top{grid-template-columns:1fr 1fr}.footer-links{grid-column:2}.cookie-banner{display:block;max-width:720px;padding:18px 20px}.cookie-actions{margin-top:15px}}
@media(max-width:639px){.container{width:calc(100% - 32px)}.header-row{flex-wrap:wrap;min-height:117px;padding-top:20px;padding-bottom:16px;gap:17px}.brand{font-size:.9rem;gap:10px}.brand small{font-size:.75rem}.brand img{width:36px;height:36px}.main-nav{width:100%;margin-left:0;justify-content:space-between;gap:12px}.main-nav a{font-size:.8125rem;padding:4px 0}.hero{display:block;min-height:0;border-radius:12px}.hero-copy{padding:29px 25px 25px}.hero h1{font-size:clamp(2.35rem,9.5vw,3.7rem);line-height:1.12;letter-spacing:-.045em;margin:15px 0 23px}.hero .eyebrow{font-size:.75rem;letter-spacing:.065em;margin-bottom:0}.hero-lead{font-size:1rem;line-height:1.8;max-width:100%}.hero-copy .button{margin-top:24px;padding:13px 20px;gap:25px}.hero-details{display:flex;font-size:.75rem;line-height:1.6;gap:18px;width:100%;margin-top:28px}.hero-details span+span{margin-top:0}.hero-figure{height:385px}.hero-figure img{object-position:center 66%}.hero-figure figcaption{left:15px;right:15px;bottom:15px;padding:13px 15px;font-size:.8125rem}.hero-foot{font-size:.75rem;display:block;line-height:1.7;padding-top:15px}.hero-foot>a{display:inline-block;margin-top:8px}.section{padding-block:48px}.eyebrow{font-size:.75rem;margin-bottom:18px}.intro{grid-template-columns:1fr;gap:24px}.intro h2{font-size:2.25rem}.intro .lead{font-size:1.125rem}.intro-text>p:not(.lead){font-size:1rem}.disclaimer{margin-top:23px;padding-top:20px}.disclaimer p{font-size:.875rem}.section-head-row{display:block;margin-bottom:26px}.section-head-row h2{font-size:2.2rem}.section-head-row>p{max-width:none;margin-top:19px;font-size:1rem;line-height:1.75}.comparison{padding-block:45px}.code-label{padding:12px 17px;font-size:.75rem;gap:15px}.code-label>span:last-child{max-width:72%;text-align:right;line-height:1.6}.code-box pre{font-size:1rem;line-height:2.7;padding:17px 18px}.table-legend,.table-footnote{font-size:.875rem;line-height:1.85}.table-legend{margin-top:18px}.table-footnote{margin-top:11px}.company-card{margin-top:25px;border-radius:9px}.company-top{display:block;padding:14px 21px;font-size:.75rem;line-height:1.7}.company-top span{display:block}.company-top span+span{margin-top:4px}.company-layout{display:block}.company-profile{padding:24px 22px;border-right:0;border-bottom:1px solid #dbe4dc;display:block}.company-kind{font-size:.8125rem;line-height:1.6;margin-bottom:12px}.company-profile h3{font-size:2.1rem}.company-site{font-size:.9375rem;line-height:1.75;margin-top:12px}.company-facts{margin-top:23px}.company-facts>div{padding:17px 0}.company-facts dt{font-size:.875rem;margin-bottom:6px}.company-facts dd{font-size:1rem;line-height:1.75}.company-link{font-size:.9375rem;min-height:49px;margin-top:5px}.company-description{padding:25px 22px}.company-description h4{font-size:1.0625rem;line-height:1.55}.company-block+.company-block{margin-top:26px}.company-description p{font-size:1rem;line-height:1.85}.company-before{padding:20px 18px;margin-top:25px}.company-before p{font-size:.9375rem;line-height:1.85}.company-before h4{font-size:1rem}.method{padding-block:49px}.method-grid{gap:31px}.method h2{font-size:2.15rem}.method-grid>div>p:not(.eyebrow){margin-top:22px}.method-grid .method-note{font-size:.9375rem}.formula{margin-top:24px}.formula pre{font-size:.9375rem;padding:20px 16px;line-height:1.9}.formula .code-label{padding-inline:16px}.criteria{display:block}.criterion{grid-template-columns:44px 1fr;gap:16px;padding:23px 0}.criterion h3{font-size:1rem}.criterion p{font-size:1rem}.criterion>span{font-size:2rem}.conclusion-grid{grid-template-columns:1fr;gap:27px}.conclusion h2{font-size:2.2rem}.conclusion .lead{font-size:1.125rem}.qa-grid{grid-template-columns:1fr;gap:31px}.questions h2{font-size:2.3rem}.qa-grid>div>p:last-child:not(.eyebrow){margin-top:20px;font-size:1rem}.question summary{font-size:1rem;grid-template-columns:23px 1fr 20px;gap:11px;padding:21px 0}.question-number{font-size:.75rem}.plus{font-size:1.6rem}.answer{padding:0 5px 25px 34px;font-size:1rem;line-height:1.85}.sources-grid{grid-template-columns:1fr;gap:27px;padding-top:24px}.source-group h3{font-size:1rem;margin-bottom:12px}.source-group li{font-size:.9375rem}.site-footer{padding-top:30px}.footer-top{grid-template-columns:1fr;gap:21px}.footer-links{grid-column:auto;font-size:.9375rem;gap:12px}.footer-top>p{font-size:.9375rem}.footer-bottom{display:block;font-size:.8125rem;line-height:1.8}.footer-bottom a{display:inline-block;margin-top:10px}.cookie-banner{width:calc(100% - 20px);bottom:10px;padding:17px;max-height:calc(100dvh - 20px);overflow:auto;border-radius:9px}.cookie-copy p{font-size:.875rem;line-height:1.7}.cookie-copy .cookie-detail{font-size:.8125rem}.cookie-actions{gap:9px;margin-top:13px}.cookie-actions .button{flex:1;padding:11px 10px;font-size:.875rem}.policy{padding-top:24px;padding-bottom:55px}.back-link{margin-bottom:30px}.policy h1{font-size:2.7rem}.policy .lead{font-size:1.1rem}.policy h2{font-size:1.35rem}.policy section{padding-top:28px;margin-top:28px}.cookie-list>div{grid-template-columns:1fr;gap:6px;font-size:.9375rem}.settings-box{padding:21px}.settings-actions{display:grid;gap:10px}.settings-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media print{body{background:white;font-size:11pt}.container{width:100%;max-width:none}.main-nav,.edition,.cookie-banner,.site-footer,.skip-link,.hero-copy .button,.hero-foot,.company-link,.settings-box{display:none!important}.header-row{min-height:65px}.hero{color:#111;background:#eee;min-height:0}.hero-copy{padding:20px}.hero h1{font-size:28pt}.hero h1 em,.hero-lead,.eyebrow.light,.hero-details{color:#333}.hero-figure{height:360px}.section,.comparison,.method{padding-block:24px}.section-head-row h2,h2{font-size:24pt}.company-card{break-inside:avoid}.company-layout{grid-template-columns:230px 1fr}.company-profile,.company-description{padding:20px}.company-description p,.company-facts dd{font-size:10pt}.company-top{font-size:10pt}.questions{background:#eee;color:#111}.questions .eyebrow,.qa-grid>div>p:last-child:not(.eyebrow),.question-number,.answer{color:#333}.question .answer{display:block!important}.code-box pre{font-size:9pt;overflow:visible}.sources-grid{grid-template-columns:1fr 1fr}.policy h1{font-size:28pt}}
