:root{--surface-0:#fff;--surface-muted:#fcfcfd;--surface-tile:#f4f4f6;--surface-inverse:#1b1c26;--ink-strong:#292c3d;--ink:#4f5260;--ink-muted:#90929d;--ink-inverse:#fff;--border:#ebebed;--brand:#2e928b;--brand-strong:#226b66;--brand-hover:#277b6b;--brand-active:#195046;--brand-deep:#184c3c;--brand-logo:#427a69;--brand-tint:#2e928b33;--success:#19c06a;--warning:#fe952c;--danger:#ccba3a;--font-display:Raleway, "Helvetica Neue", Arial, sans-serif;--font-body:Roboto, "Helvetica Neue", Arial, sans-serif;--font-accent:"PT Serif", Georgia, serif;--space-1:5px;--space-2:10px;--space-3:15px;--space-4:20px;--space-5:30px;--space-6:40px;--space-7:70px;--radius-sm:2px;--radius-pill:500px;--shadow-card:2px 15px 50px #292c3d1a;--shadow-brand:2px 6px 15px #2e928b59;--shadow-brand-hover:2px 4px 12px #2e928b73;--shadow-feature:2px 15px 50px #2e928b59;--container-max:1200px;--control-height:40px;--gutter:var(--space-3);--brand-gradient:linear-gradient(135deg, var(--brand), var(--brand-deep));--noise:url(/images/ds/noise.png);--mountain:#2b4259;--snow:#fff}@media (width>=960px){:root{--gutter:var(--space-6)}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--surface-0:#1b1c26;--surface-muted:#232532;--surface-tile:#13131a;--surface-inverse:#13131a;--ink-strong:#fff;--ink:#ffffffb3;--ink-muted:#ffffff80;--border:#ffffff26;--brand-strong:#3fb3aa;--brand-tint:#2e928b4d;--shadow-card:2px 15px 50px #0006;--mountain:#5b7a9c;color-scheme:dark}}:root[data-theme=dark]{--surface-0:#1b1c26;--surface-muted:#232532;--surface-tile:#13131a;--surface-inverse:#13131a;--ink-strong:#fff;--ink:#ffffffb3;--ink-muted:#ffffff80;--border:#ffffff26;--brand-strong:#3fb3aa;--brand-tint:#2e928b4d;--shadow-card:2px 15px 50px #0006;--mountain:#5b7a9c;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font:400 15px/1.73 var(--font-body);color:var(--ink);background:var(--surface-0);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}img{max-width:100%;height:auto}a{color:var(--brand-strong);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink-strong);margin:0 0 var(--space-4)}.wrap{max-width:calc(var(--container-max) + 2 * var(--gutter));padding-inline:var(--gutter);margin:0 auto}.narrow{max-width:calc(780px + 2 * var(--gutter))}:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.site-header{z-index:20;background:var(--surface-0);box-shadow:var(--shadow-card);transition:background .15s,box-shadow .15s;position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:0 var(--space-5);flex-wrap:wrap;min-height:80px;display:flex}.brand{padding-block:var(--space-2);line-height:0;display:block}.brand img{width:auto;height:53px}.brand .mark-small{height:27px;display:none}.nav{flex-wrap:wrap;display:flex}.nav a{padding:var(--space-1) var(--space-3);color:var(--ink-muted);line-height:40px;font:700 11px/40px var(--font-display);text-transform:uppercase;letter-spacing:1.8px;text-decoration:none;transition:color .1s;position:relative}.nav a:hover,.nav a[aria-current]{color:var(--ink-strong)}.nav a[aria-current]:after{content:"";left:var(--space-3);right:var(--space-3);background:var(--brand);height:1px;position:absolute;bottom:8px}.site-header.over-hero:not(.is-solid){box-shadow:none;background:0 0;position:absolute;inset-inline:0}.site-header.over-hero:not(.is-solid) .nav a{color:#ffffffd9}.site-header.over-hero:not(.is-solid) .nav a:hover,.site-header.over-hero:not(.is-solid) .nav a[aria-current]{color:#fff}.site-header.over-hero:not(.is-solid) .brand img{filter:brightness(0)invert()}@media (width<=900px){.site-header .wrap{min-height:0}.nav{scrollbar-width:none;width:100%;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);width:calc(100% + 2 * var(--gutter));flex-wrap:nowrap;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{padding-inline:var(--space-2);flex:none}.nav a[aria-current]:after{left:var(--space-2);right:var(--space-2)}}@media (width<=640px){.brand .mark-wide{display:none}.brand .mark-small{display:block}.brand{padding-block:var(--space-3) var(--space-1)}}.hero{background:var(--surface-inverse) center/cover no-repeat;color:var(--ink-inverse);text-align:center;padding:150px 0 130px;position:relative}.hero-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero:before{content:"";background:var(--surface-inverse);opacity:.6;z-index:1;position:absolute;inset:0}.hero .wrap{z-index:2;position:relative}.hero h1{color:var(--ink-inverse);font:700 clamp(30px, 6.4vw, 72px)/1.1 var(--font-display);letter-spacing:clamp(2px,.6vw,6px);text-transform:uppercase;max-width:16ch;margin:0 auto var(--space-4);text-wrap:balance}.hero.page{padding:140px 0 110px}.hero.page h1{letter-spacing:clamp(2px,.4vw,4px);max-width:22ch;font-size:clamp(28px,4.6vw,52px)}.hero .lead{font:italic 400 clamp(17px, 2.2vw, 24px)/1.4 var(--font-body);color:var(--ink-inverse);margin:0 0 var(--space-5)}.hero .meta{font:italic 400 14px/1.4 var(--font-accent);color:#ffffffd9;margin:0}.hero .kicker{font:700 11px/1 var(--font-display);text-transform:uppercase;letter-spacing:1.8px;margin:0 0 var(--space-3);opacity:.9}.torn{z-index:3;width:100%;height:34px;color:var(--surface-0);pointer-events:none;display:block;position:absolute;bottom:-1px;left:0;right:0}@media (width<=900px){.hero{padding:170px 0 100px}.hero.page{padding:150px 0 90px}}.btn{height:var(--control-height);padding:0 var(--space-5);border-radius:var(--radius-pill);font:700 11px/38px var(--font-display);text-transform:uppercase;letter-spacing:1.8px;text-align:center;cursor:pointer;background:var(--brand-gradient);color:var(--ink-inverse);box-shadow:var(--shadow-brand);border:1px solid #0000;text-decoration:none;transition:box-shadow .1s,filter .1s;display:inline-block}.btn:hover{box-shadow:var(--shadow-brand-hover);filter:brightness(.95)}.btn:active{filter:brightness(.85)}.btn.secondary{color:var(--brand-strong);border-color:var(--brand);box-shadow:inset 0 0 8px var(--brand-tint), 0 0 8px var(--brand-tint);background:0 0}.btn.secondary:hover{border-color:var(--brand-strong);filter:none}.hero .btn.secondary{color:var(--ink-inverse);box-shadow:none;margin-left:var(--space-2);border-color:#ffffffd9}.hero .btn.secondary:hover{background:#ffffff1f}.section{padding-block:var(--space-7)}@media (width<=640px){.section{padding-block:var(--space-6)}}.section.muted{background:var(--surface-muted) var(--noise) 50% 0}main.page{padding-block:var(--space-7) 90px}@media (width<=640px){main.page{padding-block:var(--space-6) var(--space-7)}}.section-heading{text-align:center;margin:0 auto var(--space-6);max-width:640px}.section-heading h2{font:500 32px/1.3 var(--font-display);margin:0 0 var(--space-3);text-transform:capitalize}.section-heading .brush{width:70px;height:8px;margin:0 auto var(--space-4);display:block}.section-heading h3{font:500 22px/1.4 var(--font-display);color:var(--ink);text-transform:none;margin:0}.more{text-align:center;margin-top:var(--space-6)}.grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));display:grid}.grid.two{grid-template-columns:repeat(auto-fill,minmax(min(100%,460px),1fr))}.card{background:var(--surface-0);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);text-align:center;flex-direction:column;display:flex;position:relative;overflow:hidden}.card .thumb{aspect-ratio:920/288;background:var(--surface-tile);display:block;overflow:hidden}.card img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.card:hover img{transform:scale(1.03)}.card .body{padding:var(--space-4)}.card h3{font:500 18px/1.4 var(--font-display);margin:0 0 var(--space-1);text-transform:capitalize}.card h3 a{color:var(--ink-strong);text-decoration:none}.card h3 a:after{content:"";position:absolute;inset:0}.card:hover h3 a{color:var(--brand-strong)}.card .meta{font:italic 400 14px/1.4 var(--font-accent);color:var(--ink-muted);margin:0}.card.feature{background:var(--brand-gradient);box-shadow:var(--shadow-feature);text-align:left}.card.feature .body{padding:var(--space-5)}.card.feature h3{font:400 clamp(22px, 2.6vw, 32px)/1.3 var(--font-display);margin-bottom:var(--space-2)}.card.feature h3 a,.card.feature:hover h3 a{color:var(--ink-inverse)}.card.feature .meta{color:#ffffffe6}.prose{color:var(--ink)}.prose>:first-child{margin-top:0}.prose h2{font:500 27px/1.3 var(--font-display);margin:2em 0 var(--space-3);text-transform:capitalize}.prose h3{font:500 22px/1.4 var(--font-display);margin:1.8em 0 var(--space-2);text-transform:capitalize}.prose p,.prose ul,.prose ol{margin:0 0 var(--space-4)}.prose li{margin-bottom:var(--space-1)}.prose strong{color:var(--ink-strong);font-weight:500}.prose img{border-radius:var(--radius-sm)}.prose table{border-collapse:collapse;width:100%;margin-bottom:var(--space-4);display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--border);padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top}.prose th{font:700 11px/1.4 var(--font-display);text-transform:uppercase;letter-spacing:1.8px;color:var(--ink-strong);background:var(--surface-tile)}.prose blockquote{margin:var(--space-5) 0;padding:0 var(--space-4);border-left:3px solid var(--brand);font:italic 400 20px/1.5 var(--font-display);color:var(--ink-strong)}.prose a[data-affiliate]{font-weight:500}.prose p>a[data-affiliate]:only-child{height:var(--control-height);padding:0 var(--space-5);border-radius:var(--radius-pill);background:var(--brand-gradient);color:var(--ink-inverse);box-shadow:var(--shadow-brand);font:700 11px/40px var(--font-display);text-transform:uppercase;letter-spacing:1.8px;text-decoration:none;display:inline-block}.prose p>a[data-affiliate]:only-child:hover{box-shadow:var(--shadow-brand-hover);filter:brightness(.95)}.disclosure{background:var(--surface-tile);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5);color:var(--ink);font-size:13px;line-height:1.5}.disclosure strong{color:var(--ink-strong)}.crumbs{font:italic 400 14px/1.4 var(--font-accent);margin-bottom:var(--space-4);color:var(--ink-muted)}.crumbs a{color:var(--ink-muted)}.toppicks{background:var(--surface-0);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);padding:var(--space-4) var(--space-4) var(--space-2);margin-bottom:var(--space-6);border-top:3px solid var(--brand)}.toppicks h2{font:700 11px/1.4 var(--font-display);text-transform:uppercase;letter-spacing:1.8px;color:var(--brand-strong);margin:0 0 var(--space-2)}.toppicks ul{margin:0;padding:0;list-style:none}.toppicks li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border);display:flex}.toppicks li:first-child{border-top:0}.toppicks li>div{min-width:0;display:grid}.toppicks .name{font:500 18px/1.4 var(--font-display);color:var(--ink-strong);text-decoration:none}.toppicks .name:hover{color:var(--brand-strong)}.toppicks .for{font:italic 400 14px/1.4 var(--font-accent);color:var(--ink-muted)}.toppicks .btn{flex:none}.prose .pick{margin:var(--space-5) 0;padding:var(--space-4) var(--space-5) var(--space-2);background:var(--surface-0);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);scroll-margin-top:90px}.prose .pick h3{margin-top:0}.prose .pick .best-for{font:700 11px/1 var(--font-display);text-transform:uppercase;letter-spacing:1.2px;color:var(--brand-strong);background:var(--brand-tint);border-radius:var(--radius-pill);margin-bottom:var(--space-3);padding:7px 12px;display:inline-block}.prose .pick .best-for strong{color:inherit;font-weight:700}.prose .pick ul{padding-left:0;list-style:none}.prose .pick li{padding-left:22px;position:relative}.prose .pick li:before{content:"";background:var(--brand);border-radius:50%;width:8px;height:8px;position:absolute;top:.7em;left:4px}.related{margin-top:var(--space-7)}.related h2{font:500 27px/1.3 var(--font-display);text-align:center;margin-bottom:var(--space-5)}.stickybar{z-index:30;background:var(--surface-0);padding-bottom:env(safe-area-inset-bottom,0px);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 24px #292c3d26}.stickybar[hidden]{display:none}.stickybar .wrap{justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:var(--space-2);display:flex}.stickybar p{min-width:0;font:500 15px/1.3 var(--font-display);color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.stickybar .lbl{font:700 10px/1 var(--font-display);text-transform:uppercase;letter-spacing:1.5px;color:var(--brand-strong);margin-right:var(--space-2)}.stickybar .btn{flex:none}@media (width>=960px){.stickybar{display:none!important}}@media (width<=640px){.toppicks{padding-inline:var(--space-3)}.toppicks .name{font-size:16px}.toppicks .btn{padding:0 var(--space-4)}.prose .pick{padding-inline:var(--space-4)}}.calc{gap:var(--space-3);max-width:420px;margin:var(--space-4) 0;display:grid}.calc label{gap:var(--space-1);color:var(--ink-strong);font-weight:500;display:grid}.calc input{height:var(--control-height);padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);font:400 15px var(--font-body);color:var(--ink);background:var(--surface-0)}.calc input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint);outline:none}.calc .row{gap:var(--space-2);flex-wrap:wrap;display:flex}.site-footer{background:var(--surface-inverse) var(--noise) 50% 0;color:#ffffffb3;padding:var(--space-7) 0 var(--space-6);font-size:13px;line-height:1.5}.site-footer a{color:var(--ink-inverse)}.site-footer .cols{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));display:grid}.site-footer p{margin:0 0 var(--space-2)}.site-footer .tagline{font:italic 400 20px/1.4 var(--font-body);color:var(--ink-inverse)}.site-footer .fnav{gap:var(--space-1) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.site-footer .fnav a{font:700 11px/1.7 var(--font-display);text-transform:uppercase;letter-spacing:1.8px;text-decoration:none}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media (width<=959px){body:has(.stickybar){padding-bottom:64px}}.prose .pick img{width:auto;max-width:100%;max-height:220px;margin:0 0 var(--space-4);display:block}@media (width<=1180px) and (width>=901px){.nav a{padding-inline:var(--space-2)}.site-header .wrap{gap:0 var(--space-3)}}.divider{padding-block:var(--space-5)}.mountains{width:min(100%,540px);height:auto;color:var(--mountain);margin:0 auto;display:block}.footer-ridge{z-index:1;margin:0 0 -2px;line-height:0;position:relative}.footer-ridge .mountains{width:min(100%,1100px);color:var(--surface-inverse)}
