.site-header[data-astro-cid-nen7h5rs]{border-bottom:1px solid var(--line);background:var(--bg)}.bar[data-astro-cid-nen7h5rs]{flex-wrap:wrap;align-items:center;gap:.8rem 2rem;padding-block:1.1rem;display:flex}.brand[data-astro-cid-nen7h5rs]{font-family:var(--font-heading);letter-spacing:-.01em;color:var(--ink);font-size:1.3rem;font-weight:600;text-decoration:none}nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{flex-wrap:wrap;gap:.4rem 1.5rem;margin:0;padding:0;list-style:none;display:flex}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--ink-muted);font-size:.95rem;text-decoration:none}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--ink)}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{font-weight:600}.tools[data-astro-cid-nen7h5rs]{align-items:center;gap:1.2rem;margin-left:auto;display:flex}.how[data-astro-cid-nen7h5rs]{color:var(--ink-muted);font-size:.92rem;text-decoration:none}.how[data-astro-cid-nen7h5rs]:hover{color:var(--ink)}.search[data-astro-cid-nen7h5rs] input[data-astro-cid-nen7h5rs]{border:1px solid var(--line);background:var(--surface);width:13rem;color:var(--ink);font:inherit;border-radius:999px;padding:.45rem 1rem;font-size:.9rem}.visually-hidden[data-astro-cid-nen7h5rs]{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=52rem){.tools[data-astro-cid-nen7h5rs]{width:100%;margin-left:0}.search[data-astro-cid-nen7h5rs]{flex:1}.search[data-astro-cid-nen7h5rs] input[data-astro-cid-nen7h5rs]{width:100%}}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);margin-top:4rem}.bar[data-astro-cid-jo6i4kqk]{color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:2rem;font-size:.85rem;display:flex}.bar[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{margin:0}ul[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:1.2rem;margin:0;padding:0;list-style:none;display:flex}a[data-astro-cid-jo6i4kqk]{color:var(--ink-faint);text-decoration:none}a[data-astro-cid-jo6i4kqk]:hover{color:var(--ink)}.cookie-banner[data-astro-cid-kror3uvh]{inset-inline:0;z-index:50;background:var(--surface);border-top:1px solid var(--line);position:fixed;bottom:0;box-shadow:0 -4px 16px #00000014}.bar[data-astro-cid-kror3uvh]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:1rem;display:flex}.bar[data-astro-cid-kror3uvh] p[data-astro-cid-kror3uvh]{color:var(--ink-muted);margin:0;font-size:.85rem}button[data-astro-cid-kror3uvh]{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;flex-shrink:0;padding:.5rem 1.1rem;font-size:.85rem}button[data-astro-cid-kror3uvh]:hover{background:var(--accent-strong)}:root{--bg:#f6f3ee;--surface:#fffdf9;--surface-alt:#efeae1;--ink:#1c1a17;--ink-muted:#5f5a52;--ink-faint:#8b857b;--line:#e3ddd2;--accent:#1f6b4a;--accent-strong:#154d35;--accent-soft:#e3f0e8;--good:#1f7a4d;--good-soft:#e2f2e8;--bad:#a93f2f;--bad-soft:#f8e8e3;--warn:#9a5c0c;--warn-soft:#fbeed6;--dark:#1e1c19;--dark-ink:#f4efe6;--dark-muted:#b9b0a2;--font-heading:"Fraunces", Georgia, "Iowan Old Style", serif;--font-body:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--content-width:42rem;--page-width:72rem}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#151412;--surface:#1d1b18;--surface-alt:#24221e;--ink:#f1ece3;--ink-muted:#b3ab9e;--ink-faint:#857e72;--line:#34302a;--accent:#6fc79c;--accent-strong:#9edcbc;--accent-soft:#18291f;--good:#6fce9f;--good-soft:#17281f;--bad:#e58f7c;--bad-soft:#2e1d18;--warn:#e3b066;--warn-soft:#2d2312;--dark:#0f0e0c;--dark-ink:#f1ece3;--dark-muted:#a79f92}}:root[data-theme=dark]{--bg:#151412;--surface:#1d1b18;--surface-alt:#24221e;--ink:#f1ece3;--ink-muted:#b3ab9e;--ink-faint:#857e72;--line:#34302a;--accent:#6fc79c;--accent-strong:#9edcbc;--accent-soft:#18291f;--good:#6fce9f;--good-soft:#17281f;--bad:#e58f7c;--bad-soft:#2e1d18;--warn:#e3b066;--warn-soft:#2d2312;--dark:#0f0e0c;--dark-ink:#f1ece3;--dark-muted:#a79f92}*{box-sizing:border-box}html{color-scheme:light dark}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.65}h1,h2,h3,h4{font-family:var(--font-heading);text-wrap:balance;color:var(--ink);font-weight:600;line-height:1.25}p{text-wrap:pretty}a{color:var(--accent)}a:hover{color:var(--accent-strong)}code{font-family:var(--font-mono);background:var(--surface-alt);border-radius:4px;padding:.15em .4em;font-size:.9em}pre{background:var(--surface-alt);border-radius:8px;padding:1rem 1.2rem;overflow-x:auto}pre code{background:0 0;padding:0}img{border-radius:8px;max-width:100%;height:auto}.wrap{max-width:var(--page-width);margin:0 auto;padding:0 1.5rem}.prose{max-width:47.5rem;margin:0 auto}.prose>*+*{margin-top:1.1em}.prose h2{letter-spacing:-.025em;border-top:0;margin-top:3.75rem;margin-bottom:1.1rem;padding-top:0;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.18}.prose h3{margin-top:1.6em;font-size:1.2rem}.article-body{font-size:1.125rem;line-height:1.78}.article-body>p:first-of-type{border-bottom:1px solid var(--line);color:var(--ink);margin-top:2rem;margin-bottom:2.75rem;padding-bottom:1.75rem;font-size:1.3rem;font-weight:500;line-height:1.55}.editorial-figure{margin:3.25rem 0}.editorial-figure img{aspect-ratio:3/2;object-fit:cover;border:1px solid var(--line);border-radius:8px;width:100%;display:block}.editorial-figure figcaption{color:var(--ink-muted);text-align:center;margin-top:.7rem;font-size:.8rem;line-height:1.5}@media (width<=48rem){.article-body{font-size:1.0625rem}.article-body>p:first-of-type{font-size:1.18rem}.prose h2{margin-top:3rem}}table{border-collapse:collapse;border:1px solid var(--line);border-radius:10px;width:100%;margin:1.6rem 0;display:block;overflow-x:auto}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.65rem .9rem}thead th{text-transform:uppercase;letter-spacing:.05em;color:var(--ink);background:var(--accent-soft);border-bottom:1px solid var(--line);font-size:.78rem;font-weight:600}tbody tr:nth-child(2n) td{background:var(--surface-alt)}tbody tr:last-child td{border-bottom:none}td{font-variant-numeric:tabular-nums}.pricecards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin:1.8rem 0;display:grid}.pricecard{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.3rem 1.3rem 1.5rem;position:relative}.pricecard.featured{border:2px solid var(--accent)}.pricecard .badge{background:var(--accent-soft);color:var(--accent-strong);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.25rem .6rem;font-size:.65rem;position:absolute;top:-.65rem;left:1.1rem}.pricecard .name{font-family:var(--font-heading);margin:.4rem 0 .15rem;font-size:1.08rem;font-weight:600}.pricecard .price{font-family:var(--font-mono);font-variant-numeric:tabular-nums;align-items:baseline;gap:.3rem;margin:.4rem 0 .9rem;font-size:1.5rem;display:flex}.pricecard .price small{color:var(--ink-muted);font-size:.7rem;font-family:var(--font-body)}.pricecard .rows{margin:0;padding:0;list-style:none}.pricecard .rows li{border-top:1px solid var(--line);justify-content:space-between;gap:.8rem;padding:.5rem 0;font-size:.86rem;display:flex}.pricecard .rows li .k{color:var(--ink-muted)}.pricecard .rows li .v{text-align:right;font-weight:500}.pricecard .rows li .v.good{color:var(--good)}.pricecard .rows li .v.bad{color:var(--bad)}.verdictbar{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:flex-start;gap:1rem;margin:1.8rem 0;padding:1.1rem 1.3rem;display:flex}.verdictbar .mark{font-family:var(--font-mono);color:var(--accent);padding-top:.15rem;font-size:.8rem}.verdictbar p{margin:0}.verdictbar strong{color:var(--ink)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.disclosure-note{color:var(--ink-muted);font-size:.85em}.disclosure-note a{color:inherit}.product-card{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;align-items:center;gap:1.25rem;margin:1.75rem 0;padding:1.1rem 1.3rem;display:flex;box-shadow:0 1px 2px #0000000d}.product-card__image{border:1px solid var(--line);background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:168px;height:168px;padding:.6rem;display:flex}.product-card__image img{object-fit:contain;max-width:100%;max-height:100%}.product-card__body{flex:1;min-width:0}.product-card__eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:.3rem;font-size:.7rem;font-weight:600;display:block}.product-card__title{font-family:var(--font-heading);color:var(--ink);margin:0 0 .35rem;font-size:1.05rem;line-height:1.3}.product-card__desc{color:var(--ink-muted);margin:0 0 .85rem;font-size:.88rem;line-height:1.45}.product-card__row{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.product-card__price{font-family:var(--font-mono);color:var(--ink);font-size:.95rem;font-weight:600}.product-card__cta{background:var(--accent);white-space:nowrap;border-radius:7px;padding:.55rem 1.05rem;font-size:.85rem;font-weight:600;display:inline-block;color:#fff!important;text-decoration:none!important}.product-card__cta:hover{background:var(--accent-strong)}@media (width<=30rem){.product-card{flex-direction:column;align-items:flex-start}.product-card__image{width:100%;height:200px}}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.vbadge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.22rem .6rem;font-size:.68rem;font-weight:600;display:inline-flex}.vbadge:before{content:"";background:currentColor;border-radius:50%;width:.45rem;height:.45rem}.vbadge.not-needed{background:var(--good-soft);color:var(--good)}.vbadge.depends{background:var(--warn-soft);color:var(--warn)}.vbadge.required{background:var(--bad-soft);color:var(--bad)}.article-shell{grid-template-columns:minmax(0,47.5rem);justify-content:center;gap:4rem;margin:2rem auto 0;padding-bottom:4rem;display:grid}@media (width>=72rem){.article-shell{grid-template-columns:minmax(0,47.5rem) 15rem}}.article-head{margin:1.2rem 0 2rem}.article-head h1{letter-spacing:-.025em;margin:.9rem 0 1.2rem;font-size:clamp(2.1rem,4.4vw,3.1rem);line-height:1.08}.article-tags{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.article-tags li{color:var(--ink-muted);border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:.18rem .75rem;font-size:.8rem}.byline{align-items:center;gap:.75rem;display:flex}.byline p{color:var(--ink-muted);margin:0;font-size:.9rem}.byline a{color:var(--ink);text-underline-offset:3px;font-weight:500}.byline .dot{color:var(--ink-faint);margin:0 .45rem}.avatar{background:var(--accent-soft);width:2.1rem;height:2.1rem;color:var(--accent-strong);letter-spacing:.03em;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:inline-flex}.verdict-box{border:1.5px solid var(--good);background:var(--surface);border-radius:14px;grid-template-columns:12rem minmax(0,1fr);margin:0 0 .8rem;display:grid;overflow:hidden}.verdict-box.depends{border-color:var(--warn)}.verdict-box.required{border-color:var(--bad)}.vb-answer{background:var(--good-soft);color:var(--good);flex-direction:column;justify-content:center;gap:.3rem;padding:1.6rem 1.4rem;display:flex}.verdict-box.depends .vb-answer{background:var(--warn-soft);color:var(--warn)}.verdict-box.required .vb-answer{background:var(--bad-soft);color:var(--bad)}.vb-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.vb-word{font-family:var(--font-heading);letter-spacing:-.03em;font-size:3.4rem;font-weight:600;line-height:1}.verdict-box.depends .vb-word{font-size:2.4rem}.vb-note{font-size:.85rem;line-height:1.35}.vb-text{padding:1.5rem 1.6rem 1.2rem;font-size:1.02rem;line-height:1.65}.vb-text p{margin:0}.vb-foot{border-top:1px solid var(--line);color:var(--ink-muted);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:.4rem 1.5rem;margin:0;padding:.8rem 1.6rem;font-size:.85rem;display:flex}.vb-foot .mono{color:var(--ink)}.vb-disclosure{margin:0 0 2rem}.vb-disclosure .disclosure-note{margin:0;font-size:.8rem}@media (width<=40rem){.verdict-box{grid-template-columns:1fr}.vb-answer{flex-flow:wrap;align-items:baseline;gap:.2rem .8rem;padding:1.1rem 1.2rem}.vb-label{width:100%}.vb-word,.verdict-box.depends .vb-word{font-size:2.2rem}.vb-text{padding:1.1rem 1.2rem}.vb-foot{padding:.8rem 1.2rem}}.quick-answer{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;padding:1.1rem 1.3rem}.quick-answer .tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:.4rem;font-size:.7rem;display:block}.quick-answer p{margin:0}.verified{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--surface);color:var(--ink-muted);border-radius:.4rem;margin:0 0 2rem;padding:.9rem 1.1rem;font-size:.86rem}.verified strong{color:var(--ink)}.verified time{font-family:var(--font-mono);color:var(--accent-strong)}.article-aside{display:none}@media (width>=72rem){.article-aside{display:block}.toc-mobile{display:none}}.toc-side{padding-top:7.5rem;position:sticky;top:2rem}.toc-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);margin:0 0 .8rem;font-size:.7rem}.toc-side ol,.toc-mobile ol{margin:0;padding:0;list-style:none}.toc-side li a{border-left:2px solid var(--line);color:var(--ink-muted);padding:.35rem 0 .35rem .9rem;font-size:.88rem;line-height:1.35;text-decoration:none;display:block}.toc-side li a:hover,.toc-side li a[aria-current=true]{color:var(--ink);border-left-color:var(--ink)}.toc-mobile{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 2rem;padding:.9rem 0}.toc-mobile summary{cursor:pointer;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);font-size:.75rem}.toc-mobile ol{gap:.45rem;margin-top:.7rem;display:grid}.toc-mobile a{color:var(--ink-muted);font-size:.95rem;text-decoration:none}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;color:var(--ink);justify-content:space-between;gap:1rem;padding:1rem 0;font-weight:500;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font-family:var(--font-mono);color:var(--ink-faint)}.faq-list details[open] summary:after{content:"−"}.faq-answer{color:var(--ink-muted);padding:0 0 1.1rem;font-size:1rem}.related{border-top:1px solid var(--line);margin-top:4rem;padding-top:2rem}.related h2{margin:0 0 1.2rem;font-size:1.5rem}.related-grid{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:1rem;display:grid}.costcalc{background:var(--dark);color:var(--dark-ink);border-radius:14px;margin:2rem 0;padding:1.6rem 1.7rem 1.4rem}.cc-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.3rem;display:flex}.cc-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--dark-muted);margin:0;font-size:.7rem}.cc-years{font-family:var(--font-heading);color:var(--dark-ink);margin:.2rem 0 0;font-size:1.7rem;font-weight:600}.cc-slider{font-family:var(--font-mono);color:var(--dark-muted);align-items:center;gap:.6rem;font-size:.75rem;display:flex}.cc-slider input{accent-color:#6fc79c;width:10rem}.cc-rows{gap:.8rem;display:grid}.cc-row{grid-template-columns:11rem minmax(0,1fr) 5.5rem;align-items:center;gap:1rem;display:grid}.cc-name{flex-direction:column;font-size:.92rem;line-height:1.3;display:flex}.cc-name small{color:var(--dark-muted);font-size:.75rem}.cc-bar{background:#ffffff1a;border-radius:999px;height:.7rem;overflow:hidden}.cc-bar span{background:#cfc6b6;border-radius:999px;height:100%;transition:width .2s;display:block}.cc-low .cc-bar span{background:#6fc79c}.cc-total{text-align:right;font-family:var(--font-mono);font-weight:600}.cc-note{color:var(--dark-muted);border-top:1px solid #ffffff1f;margin:1.2rem 0 0;padding-top:.9rem;font-size:.82rem}@media (width<=40rem){.costcalc{padding:1.3rem 1.2rem}.cc-row{grid-template-columns:minmax(0,1fr) auto}.cc-bar{grid-area:2/1/auto/-1}}
