:root{--ink:#17251f;--muted:#5c655e;--line:#d9ddd5;--paper:#f7f6f2;--green:#244f3e;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:26px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:4px}
a:hover{color:#377254}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #648b58;outline-offset:5px}
img{display:block;max-width:100%;height:auto}
button,input,select{font:inherit}
button,a{touch-action:manipulation}
h1,h2,h3,h4,p,figure{margin:0}
p+p{margin-top:15px}
h2{font-family:var(--serif);font-size:32px;line-height:1.19;font-weight:400;letter-spacing:-.025em}
h3{font-size:27px;line-height:1.25;letter-spacing:-.035em}
h4{font-size:21px;line-height:1.3}
strong{font-weight:650}
.wrap{width:min(1180px,calc(100% - 88px));margin-inline:auto}
.skip{position:absolute;top:-80px;left:20px;z-index:10;background:white;padding:12px}
.skip:focus{top:10px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.masthead{background:#17251f;color:#fff}
.masthead-inner{height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{text-decoration:none}
.publication-name{font-size:23px;font-weight:700;letter-spacing:-1px}
.publication-dot{color:#b7dda5}
.masthead nav{display:flex;gap:27px;font-size:13px}
.masthead nav a{text-decoration:none;color:#e4e9e0}
.publisher{font-size:11px;color:#bbc6ba;border-left:1px solid #5c675c;padding-left:22px}
.eyebrow{font-size:10px;line-height:1.5;font-weight:700;letter-spacing:1.8px;color:var(--green)}
.editorial-head{padding:42px 0 28px}
.editorial-head .eyebrow{display:flex;align-items:center;gap:8px}
.edition-mark{width:7px;height:7px;background:var(--green);display:inline-block}
.editorial-head h1{font-family:var(--serif);font-size:clamp(45px,4.8vw,70px);font-weight:400;letter-spacing:-2.9px;line-height:1.04;margin-top:19px;max-width:1050px}
.editorial-head h1 em{font-weight:400;color:#345f47}
.dek{font-size:18px;line-height:1.6;max-width:720px;color:#515c54;margin-top:20px}
.byline{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;margin-top:19px;color:#48534b}
.byline span+span{position:relative}
.byline span+span:before{content:'·';position:absolute;left:-12px;color:#8a948a}
.disclosure{font-size:11px;color:#667067;margin-top:7px}
.disclosure a{color:#3f5144}
.section-heading{border-top:2px solid #263c2d;padding-top:16px;margin-bottom:15px;display:flex;justify-content:space-between;gap:20px;align-items:baseline}
.section-heading h2{font-size:24px}
.section-heading>span{font-size:11px;color:var(--muted)}
.comparison-wrap{border:1px solid #d5dbd1;background:#fff}
.comparison{width:100%;border-collapse:collapse;font-size:13px;line-height:1.5;text-align:left}
.comparison thead{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#657062;background:#f0f2eb}
.comparison th,.comparison td{padding:15px 20px;border-bottom:1px solid #e0e4dc}
.comparison tbody tr:last-child>*{border-bottom:0}
.comparison th:first-child{width:29%}
.comparison td:nth-child(2){width:32%}
.comparison td:nth-child(3){color:#687166}
.comparison .featured-row{background:#eaf0e5}
.product-name{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:16px;line-height:1.3;font-weight:650}
.product-name small{display:block;font-size:10px;font-weight:400;margin-top:5px;color:#65705f}
.product-logo{width:34px;height:34px;object-fit:contain;flex-shrink:0}
.product-logo.wordmark{width:52px;height:34px}
.product-name .wordmark{width:34px}
.row-arrow{display:grid;place-items:center;width:29px;height:29px;border:1px solid #c9d2c2;border-radius:50%;text-decoration:none;font-size:17px}
.featured-row .row-arrow{background:#244f3e;color:#fff;border-color:#244f3e}
.reading-layout{display:grid;grid-template-columns:minmax(0,810px) 235px;gap:90px;padding-top:40px}
.article-column{min-width:0}
.editor-note{border-bottom:1px solid var(--line);padding:0 0 30px}
.editor-note h2{margin:9px 0 15px}
.editor-note p:not(.eyebrow){font-size:15px;color:#4a554d}
.review-section-heading{padding:34px 0 5px}
.review-section-heading h2{margin-top:9px;font-size:37px}
.product-review{padding:30px 0 32px;border-bottom:1px solid #d1d8cc;scroll-margin-top:22px}
.review-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.review-identity{display:flex;gap:12px;align-items:center}
.review-identity .product-logo{width:38px;height:38px}
.review-identity .wordmark{width:65px}
.fit-label{font-size:10px;color:#45603f;background:#e9eddf;padding:5px 9px;border-radius:3px;line-height:1.4}
.review-deck{font-family:var(--serif);font-size:23px;line-height:1.4;margin:17px 0 21px;color:#354c3b}
.product-review>p:not(.review-deck){font-size:15px}
.portacode-detail{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:30px;align-items:start;font-size:14px}
.phone-evidence{background:#16271f;border:1px solid #273b2e;border-radius:5px;padding:15px 13px 10px;text-align:center}
.phone-label{font-size:7px;letter-spacing:1.1px;color:#d4dfcd;display:flex;justify-content:center;align-items:center;gap:6px;margin-bottom:12px}
.status-dot{height:5px;width:5px;border-radius:50%;background:#a4d590}
.phone-evidence>img{max-height:280px;width:auto;margin:auto;border-radius:13px}
.phone-evidence figcaption{font-size:9px;line-height:1.5;color:#c4cfbf;padding-top:11px}
.review-points{margin:21px 0;font-size:13px;line-height:1.6;display:grid;grid-template-columns:105px 1fr;gap:10px 12px}
.review-points dt{font-weight:700;color:#2a4632}
.review-points dd{margin:0;color:#596357}
.portacode-detail .review-points{display:block;font-size:12px}
.portacode-detail .review-points dt{margin-top:12px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;background:#254e3c;color:#fff;border:1px solid #254e3c;padding:13px 16px;text-decoration:none;font-size:12px;font-weight:600;line-height:1.5;border-radius:3px;cursor:pointer}
.button:hover{background:#193a2b;color:#fff}
.button:disabled{opacity:.5;cursor:default}
.button.secondary{background:transparent;color:var(--green)}
.portacode-detail .button{font-size:11px;gap:12px}
.concrete-example{margin-top:27px;background:#edece4;padding:21px 24px;border-left:3px solid #648c58}
.example-label{font-size:8px;letter-spacing:1.5px;color:#47613d;font-weight:700}
.concrete-example h4{font-family:var(--serif);font-weight:400;margin:5px 0 9px;font-size:23px}
.concrete-example p{font-size:13px}
.concrete-example .example-caption{font-size:10px;color:#68715f;margin-top:9px}
.product-evidence{background:#eeede7;border:1px solid #dfdfd4;border-radius:4px;padding:15px 15px 0;margin-bottom:19px}
.product-evidence>img{width:100%;height:245px;object-fit:contain;object-position:center;background:#f4f4ef}
.product-evidence figcaption{font-size:10px;color:#697260;padding:9px 0 10px}
.airtable-evidence{background:#eef1f4}
.airtable-evidence>img{background:#eef1f4;height:210px;width:auto;margin:auto}
.article-sidebar{min-width:0}
.sidebar-sticky{position:sticky;top:25px}
.article-sidebar nav{margin:13px 0 26px;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.article-sidebar nav a{font-size:12px;text-decoration:none;border-bottom:1px solid var(--line);padding:9px 0;color:#5b655a}
.sidebar-recommendation{background:#e8ede2;border:1px solid #d6dfcc;padding:23px}
.sidebar-recommendation>.eyebrow{font-size:8px;letter-spacing:1px}
.sidebar-recommendation .product-logo{margin:21px 0 14px;width:34px;height:34px}
.sidebar-recommendation h2{font-size:25px;line-height:1.22}
.sidebar-recommendation p{font-size:12px;line-height:1.7;margin-top:13px;color:#606b58}
.sidebar-recommendation>a{display:block;font-size:11px;font-weight:600;margin-top:19px;color:#254c31}
.sidebar-disclosure{font-size:9px;line-height:1.7;margin-top:13px;color:#7c8377}
.choose-section{padding:32px 0;border-bottom:1px solid var(--line)}
.choose-section h2{margin:10px 0 17px}
.choose-section>p:not(.eyebrow){font-size:14px}
.decision-list{padding-left:22px;font-size:14px;margin:20px 0}
.decision-list li{padding-left:5px;margin:12px 0}
.article-faq{padding:31px 0}
.article-faq h2{font-size:27px;margin-bottom:15px}
details{border-top:1px solid var(--line);font-size:13px}
details:last-child{border-bottom:1px solid var(--line)}
summary{padding:14px 28px 14px 0;font-weight:600;cursor:pointer;list-style:none;position:relative}
summary:after{content:'+';position:absolute;right:4px;font-size:18px;font-weight:400;top:9px}
details[open]>summary:after{content:'−'}
details p{padding:0 22px 17px 0;color:#5a6559}
.reading-next{padding:12px 0 22px}
.reading-next .eyebrow{margin-bottom:13px}
.reading-next a{font-family:var(--serif);font-size:21px;line-height:1.3;display:flex;justify-content:space-between;gap:22px;padding:16px 0;text-decoration:none;border-top:1px solid var(--line)}
.source-note{font-size:10px;color:#737c6d;line-height:1.8;padding:20px 0 35px}
.footer{background:#17251f;color:#e1e8da;margin-top:35px;padding:35px 0}
.footer-row{display:flex;justify-content:space-between;gap:24px;align-items:center}
.footer nav{display:flex;gap:22px;font-size:11px}
.footer .wrap>p{font-size:10px;color:#adb8a6;max-width:760px;line-height:1.7;margin-top:20px}
.footer a:hover,.masthead a:hover{color:#c4e7ae}
.footer .publication-name{font-size:20px}
.crumbs{display:flex;gap:12px;font-size:11px;color:#687260;padding:25px 0 0}
.article-head{padding:32px 0;border-bottom:1px solid var(--line)}
.article-head h1{font-family:var(--serif);font-size:clamp(36px,4vw,57px);font-weight:400;line-height:1.08;max-width:850px;letter-spacing:-1.6px;margin:13px 0 20px}
.lead{font-size:18px;max-width:790px;color:#66705f}
.meta{display:flex;gap:22px;font-size:11px;color:#687260;margin-top:18px}
.article-layout{display:grid;grid-template-columns:220px minmax(0,760px);gap:65px;margin-top:35px}
.toc{align-self:start;position:sticky;top:24px;display:flex;flex-direction:column;font-size:12px;gap:13px}
.toc strong{font-size:10px;text-transform:uppercase;letter-spacing:1px}
.toc a{text-decoration:none}
.article-body section{margin-bottom:30px}
.article-body section h2{margin:8px 0 14px;font-size:29px}
.article-body p{font-size:15px}
.label{font-size:9px;letter-spacing:1.4px;color:#46623e;font-weight:650}
.checklist{background:#e9ede2;padding:25px}
.checklist ul{padding-left:18px}
.tool-invite{background:#eceee5;padding:25px;margin-top:25px;display:flex;justify-content:space-between;align-items:center;gap:25px}
.tool-invite h3{font-size:22px;margin:8px 0}
.tool-invite p{font-size:13px}
.tool-invite .button{flex-shrink:0}
.closing{margin:40px 0;background:#e9ede2;border-top:2px solid #416237;padding:30px;display:flex;justify-content:space-between;gap:30px;align-items:center}
.closing h2{font-size:30px;margin:10px 0}
.closing p{font-size:13px}
.closing .eyebrow{font-size:9px}
.closing .button{flex-shrink:0}
.plain-page{max-width:790px;padding:30px 0}
.plain-page h2{font-size:28px;margin:25px 0 13px}
.plain-page p{font-size:15px}
.sources-list{padding-left:19px;font-size:13px}
.sources-list li{padding-bottom:13px}
.sources-list small{display:block;color:#7a8171;font-size:10px}
.not-found{padding:70px 0}
.not-found h1{font-family:var(--serif);font-weight:400;font-size:55px;line-height:1.1;margin:18px 0}
.actions{display:flex;gap:15px;margin-top:25px}
.planner-layout{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin:35px 0}
.planner-form fieldset{border:0;padding:0;margin:0 0 20px}
.planner-form legend{font-weight:650;font-size:17px;margin-bottom:16px}
.choice{display:flex;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);margin:9px 0;cursor:pointer;font-size:13px}
.choice:has(input:checked){background:#e4ecd9;border-color:#69865d}
.select-label{display:block;font-size:12px;font-weight:600;margin:18px 0 6px}
select,input[type=number]{width:100%;padding:10px;background:white;border:1px solid #aab6a0;border-radius:2px}
.planner-form>.button{margin-top:24px}
.small-note{font-size:11px;line-height:1.7;color:#737e6c;margin-top:14px}
.planner-results>h2{font-size:29px;margin:10px 0 16px}
.planner-results>p{font-size:12px}
.result-card{margin:18px 0;padding:22px;background:#eeefe8;border:1px solid #d5dccb}
.result-card h3{font-size:23px;margin:8px 0}
.result-card p,.result-card ol{font-size:13px}
.selection-note{white-space:pre-line}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.guide-card{display:block;padding:22px;border-top:1px solid var(--line);text-decoration:none}
.guide-card h3{font-family:var(--serif);font-size:24px;font-weight:400;margin:12px 0}
.guide-card p{font-size:13px}
.read{display:block;font-size:11px;margin-top:18px}
[hidden]{display:none!important}
::selection{background:#c4d9b5;color:#132a16}
@media(min-width:1600px){.wrap{max-width:1240px}
.reading-layout{grid-template-columns:minmax(0,840px) 245px;gap:100px}
}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}
.reading-layout{gap:42px;grid-template-columns:minmax(0,1fr) 210px}
.portacode-detail{grid-template-columns:minmax(0,1fr) 180px;gap:21px}
.comparison th,.comparison td{padding:13px}
.product-name{font-size:14px}
.product-name small{font-size:9px}
.publisher{display:none}
.product-evidence>img{height:220px}
.review-heading{gap:9px}
.fit-label{font-size:9px}
.sidebar-recommendation{padding:18px}
.article-layout{gap:30px;grid-template-columns:180px 1fr}
}
@media(max-width:760px){.wrap{width:calc(100% - 38px)}
.masthead-inner{height:66px;gap:15px}
.publication-name{font-size:20px}
.masthead nav{gap:14px;font-size:10px}
.masthead nav a:last-child{display:none}
.editorial-head{padding:28px 0 23px}
.editorial-head h1{font-size:48px;letter-spacing:-2px;margin-top:15px;line-height:1.04}
.desktop-break{display:none}
.dek{font-size:15px;line-height:1.6;margin-top:16px}
.byline{font-size:9px;gap:15px;margin-top:17px}
.byline span+span:before{left:-9px}
.disclosure{font-size:9px;line-height:1.6;margin-top:9px}
.editorial-head .eyebrow{font-size:8px;letter-spacing:1.4px}
.section-heading{padding-top:13px;margin-bottom:13px}
.section-heading h2{font-size:23px}
.section-heading>span{display:none}
.comparison-wrap{border:0;background:transparent}
.comparison,.comparison tbody,.comparison tr,.comparison th,.comparison td{display:block;width:100%!important}
.comparison thead{display:none}
.comparison tbody{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.comparison tr{position:relative;background:#fff;border:1px solid #d7ddcf;min-width:0;padding:14px 13px}
.comparison tr.featured-row{background:#eaf0e5;border-color:#b4c5a5}
.comparison th,.comparison td{border:0;padding:0}
.comparison td:nth-child(2){font-size:11px;line-height:1.5;margin-top:13px;padding-right:10px}
.comparison td:nth-child(3){display:none}
.comparison td:last-child{height:0}
.row-arrow{position:absolute;right:10px;top:13px;width:21px;height:21px;font-size:13px}
.product-name{display:block;padding-right:17px;font-size:14px}
.product-logo,.product-name .wordmark{width:28px;height:28px}
.product-name .product-logo{margin-bottom:10px}
.product-name small{font-size:8px;margin-top:4px;line-height:1.5}
.reading-layout{display:block;padding-top:28px}
.article-sidebar{display:none}
.editor-note{padding-bottom:23px}
.editor-note h2{font-size:29px;margin-top:9px}
.editor-note p:not(.eyebrow){font-size:14px}
.review-section-heading{padding-top:27px}
.review-section-heading h2{font-size:33px}
.product-review{padding-top:25px;padding-bottom:25px}
.review-heading{align-items:flex-start;flex-direction:column;gap:11px}
.review-identity h3{font-size:27px}
.fit-label{font-size:9px}
.review-deck{font-size:22px;margin:15px 0 18px}
.portacode-detail{grid-template-columns:1fr;gap:22px;font-size:14px}
.phone-evidence{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:15px;padding:19px}
.phone-evidence .phone-label{grid-column:1;display:block;line-height:2;margin:0;font-size:9px;text-align:left}
.phone-label .status-dot{display:inline-block;margin-right:5px}
.phone-evidence>img{grid-column:2;grid-row:1/3;max-height:260px;width:auto}
.phone-evidence figcaption{grid-column:1;text-align:left;font-size:10px;padding:0;align-self:start}
.portacode-detail .review-points{font-size:12px}
.portacode-detail .button{font-size:11px;width:100%;padding:13px}
.concrete-example{padding:19px}
.concrete-example h4{font-size:23px}
.concrete-example p{font-size:12px}
.review-points{grid-template-columns:85px 1fr;font-size:12px;gap:9px 10px}
.product-evidence{padding:9px 9px 0}
.product-evidence>img{height:185px}
.product-evidence figcaption{font-size:9px}
.product-review>p:not(.review-deck){font-size:14px}
.choose-section h2{font-size:30px}
.article-faq h2{font-size:27px}
.reading-next a{font-size:21px}
.footer{padding-top:28px}
.footer-row{display:block}
.footer nav{margin-top:18px;gap:20px;font-size:10px}
.footer .wrap>p{font-size:9px}
.article-head{padding-top:26px}
.article-head h1{font-size:40px}
.lead{font-size:16px}
.article-layout{display:block}
.toc{position:static;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:26px}
.article-body section h2{font-size:28px}
.closing{padding:22px;display:block}
.closing h2{font-size:28px}
.closing .button{margin-top:20px}
.tool-invite{display:block}
.tool-invite .button{margin-top:17px}
.planner-layout{display:block}
.planner-results{margin-top:35px}
.cards{grid-template-columns:1fr}
.plain-page p{font-size:14px}
}
@media(max-width:360px){.wrap{width:calc(100% - 30px)}
.publication-name{font-size:18px}
.masthead nav{font-size:9px;gap:10px}
.editorial-head h1{font-size:41px}
.comparison tr{padding:12px 10px}
.product-name{font-size:13px}
.comparison td:nth-child(2){font-size:10px}
.byline{gap:12px;font-size:8px}
.row-arrow{right:7px;top:11px}
.phone-evidence{padding:14px;gap:12px}
.phone-evidence>img{max-height:230px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}


/* Let the product interface, rather than an empty image mat, fill the figure. */
.product-evidence>img{height:auto;max-height:360px;width:100%;background:transparent}
.airtable-evidence>img{height:auto;max-height:340px;width:100%}
@media(max-width:760px){.product-evidence>img{height:auto;max-height:260px}
}

.fit-summary{list-style:none;padding:0;margin:17px 0 0;font-size:15px;color:#4a554d}.fit-summary li{position:relative;padding:0 0 0 20px;margin:13px 0}.fit-summary li:before{content:"→";position:absolute;left:0;color:#728066}.fit-summary a{font-weight:650}.textlink{font-size:13px;font-weight:650}.portacode-evidence{background:#e8ece6}.product-evidence>img{width:100%;height:auto;max-height:none}.airtable-evidence>img{width:100%;height:auto;max-height:none}@media(max-width:760px){.fit-summary{font-size:14px}.product-evidence>img{width:100%;height:auto;max-height:none}}

/* Keep long publication names and operating calculators readable at every size. */
.publication-name{display:inline-block;line-height:1.15}
.calculator{padding:30px;background:#e9ede2;margin:35px 0;border:1px solid var(--line)}
.calculator h2{font-size:30px;margin:10px 0 16px}.calculator p{font-size:14px}
.calculator .fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:22px}
.calculator label{font-size:12px;display:block;margin-bottom:6px}.calculator output{display:block;font-size:24px;line-height:1.5;margin-top:25px}
.choose-section>.textlink{display:inline-block;margin-top:18px}.review-deck{max-width:720px}
@media(max-width:760px){.masthead-inner{height:auto;min-height:76px;align-items:flex-start;flex-direction:column;gap:13px;padding-block:18px}.masthead nav{width:100%;justify-content:flex-start;gap:23px}.masthead nav a:last-child{display:block}.publication-name{font-size:22px}.calculator{padding:22px}.calculator .fields{grid-template-columns:repeat(2,minmax(0,1fr))}.calculator output{font-size:21px}}
@media(max-width:380px){.publication-name{font-size:20px}.calculator .fields{grid-template-columns:1fr}.crumbs{flex-wrap:wrap}.actions{flex-wrap:wrap}.tool-invite .button{max-width:100%}}

/* Product marks use rounded app-icon corners throughout the comparison. */
.product-logo{border-radius:24%;border:1px solid #dde2da;background:#fff;overflow:hidden}

:root{--accent:#2458c5;--pale:#e1eafb;--bg:#f7f9fc;}
.enhanced-only{display:none}.js .enhanced-only{display:inline-flex}
