.brand[data-astro-cid-7eczacpb]{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none}.brand-mark[data-astro-cid-7eczacpb]{border-radius:9px;box-shadow:0 2px 8px #00000040}.brand-text[data-astro-cid-7eczacpb]{font-family:var(--serif);font-weight:700;font-size:1.18rem;letter-spacing:-.02em;line-height:1}.brand-name[data-astro-cid-7eczacpb]{color:#fff}.brand-tld[data-astro-cid-7eczacpb]{color:var(--teal-bright)}:root{--abyss: #07151f;--deep: #0c2230;--ocean: #12455c;--teal: #1f8a9b;--teal-bright:#34c7d6;--foam: #d8f1f4;--sand: #f4ead7;--sunrise: #ff7a3d;--sunrise-deep:#e85c1c;--gold: #f2b13c;--paper: #fbfaf7;--card: #ffffff;--ink: #14242e;--ink-soft: #4a5d67;--line: #e4e6e0;--ok: #2e9e6b;--warn: #c9462b;--step--1: clamp(.83rem, .8rem + .15vw, .92rem);--step-0: clamp(1rem, .96rem + .2vw, 1.12rem);--step-1: clamp(1.2rem, 1.1rem + .5vw, 1.45rem);--step-2: clamp(1.5rem, 1.3rem + 1vw, 2rem);--step-3: clamp(1.9rem, 1.5rem + 2vw, 2.9rem);--step-4: clamp(2.4rem, 1.8rem + 3.5vw, 4.2rem);--serif: ui-serif, "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--wrap: 72ch;--wrap-wide: 1180px;--radius: 14px;--shadow: 0 1px 2px rgba(7, 21, 31, .06), 0 8px 30px rgba(7, 21, 31, .08);--shadow-lg: 0 20px 60px rgba(7, 21, 31, .18)}:root[data-theme=dark]{--paper: #0b1a23;--card: #11242f;--ink: #e8f0f2;--ink-soft: #9db4be;--line: #1d3543}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--step-0);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--serif);line-height:1.12;letter-spacing:-.01em;color:var(--ink)}h1{font-size:var(--step-4);margin:0 0 .4em}h2{font-size:var(--step-3);margin:2.2rem 0 .6em}h3{font-size:var(--step-2);margin:1.8rem 0 .5em}p{margin:0 0 1.1em}a{color:var(--teal);text-underline-offset:3px}a:hover{color:var(--ocean)}img{max-width:100%;height:auto;display:block}strong{font-weight:700}hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}small{font-size:var(--step--1);color:var(--ink-soft)}.wrap{width:100%;max-width:var(--wrap-wide);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.prose{max-width:var(--wrap)}.prose>*+*{margin-top:0}.stack>*+*{margin-top:1.1rem}.lead{font-size:var(--step-1);color:var(--ink-soft);line-height:1.55}.skip-link{position:absolute;left:-999px;top:0;background:var(--sunrise);color:#fff;padding:.6rem 1rem;border-radius:0 0 var(--radius) 0;z-index:100}.skip-link:focus{left:0}:where(a,button,input,select,[tabindex]):focus-visible{outline:3px solid var(--teal-bright);outline-offset:2px;border-radius:4px}.btn{display:inline-flex;align-items:center;gap:.5rem;font:inherit;font-weight:650;cursor:pointer;padding:.72rem 1.25rem;border-radius:999px;border:1px solid transparent;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(180deg,var(--sunrise),var(--sunrise-deep));color:#fff;box-shadow:0 6px 18px #e85c1c59}.btn-primary:hover{color:#fff;box-shadow:0 8px 26px #e85c1c73}.btn-ghost{background:transparent;border-color:color-mix(in srgb,var(--teal) 45%,transparent);color:var(--teal)}.btn-ghost:hover{background:color-mix(in srgb,var(--teal) 8%,transparent)}.btn-on-dark{background:#ffffff1a;color:var(--foam);border-color:#ffffff38}.btn-on-dark:hover{background:#ffffff2e;color:#fff}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(1.1rem,3vw,1.6rem)}.card-link{text-decoration:none;color:inherit;transition:transform .14s ease,box-shadow .14s ease}.card-link:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);color:inherit}.grid{display:grid;gap:clamp(1rem,2.5vw,1.6rem)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:var(--step--1);font-weight:700;color:var(--teal);font-family:var(--sans)}.pill{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--step--1);font-weight:650;padding:.25rem .65rem;border-radius:999px;background:color-mix(in srgb,var(--teal) 12%,transparent);color:var(--ocean)}.pill-handson{background:color-mix(in srgb,var(--ok) 16%,transparent);color:#1d7a52}.pill-warn{background:color-mix(in srgb,var(--gold) 22%,transparent);color:#8a5a04}.site-head{background:linear-gradient(180deg,var(--abyss),var(--deep));color:var(--foam);border-bottom:1px solid rgba(255,255,255,.08)}.site-head a{color:var(--foam)}.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.7rem}.nav-links{display:flex;gap:.25rem;flex-wrap:wrap;list-style:none;margin:0;padding:0}.nav-links a{text-decoration:none;font-weight:600;font-size:var(--step--1);padding:.45rem .7rem;border-radius:8px;color:var(--foam);opacity:.85}.nav-links a:hover,.nav-links a[aria-current=page]{opacity:1;background:#ffffff14;color:#fff}.nav-toggle{display:none;background:none;border:0;color:var(--foam);cursor:pointer;padding:.4rem}@media(max-width:720px){.nav-toggle{display:inline-flex}.nav-links{position:absolute;inset-inline:0;top:100%;flex-direction:column;gap:0;background:var(--deep);padding:.5rem 1rem 1rem;border-bottom:1px solid rgba(255,255,255,.1)}.nav-links[hidden]{display:none}.nav{position:relative}}.hero{position:relative;isolation:isolate;overflow:clip;background:radial-gradient(1200px 500px at 70% -10%,rgba(52,199,214,.18),transparent 60%),linear-gradient(160deg,var(--deep) 0%,var(--abyss) 70%);color:var(--foam)}.hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(52,199,214,.4),transparent)}.hero-inner{padding-block:clamp(3rem,9vw,6.5rem);max-width:46ch}.hero h1{color:#fff}.hero .lead{color:var(--foam);opacity:.92}.hero-cta{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.6rem}.site-foot{background:linear-gradient(180deg,var(--deep),var(--abyss));color:var(--foam);margin-top:5rem;padding-block:3rem 2rem}.site-foot a{color:var(--foam);opacity:.82;text-decoration:none}.site-foot a:hover{opacity:1;text-decoration:underline}.foot-cols{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.foot-cols h4{color:var(--teal-bright);font-family:var(--sans);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.1em}.foot-cols ul{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.4rem}.disclosure{font-size:var(--step--1);color:var(--ink-soft);background:color-mix(in srgb,var(--teal) 6%,transparent);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem 1rem;margin:1.4rem 0}.callout{border-left:4px solid var(--teal);background:color-mix(in srgb,var(--teal) 6%,transparent);padding:1rem 1.2rem;border-radius:0 var(--radius) var(--radius) 0;margin:1.4rem 0}.callout-warn{border-left-color:var(--warn);background:color-mix(in srgb,var(--warn) 7%,transparent)}.callout h4{margin:0 0 .3rem;font-family:var(--sans);font-size:var(--step-0)}.buy{display:inline-flex;align-items:center;gap:.5rem;font-weight:650;padding:.65rem 1.1rem;border-radius:10px;text-decoration:none;background:linear-gradient(180deg,var(--sunrise),var(--sunrise-deep));color:#fff;box-shadow:0 5px 16px #e85c1c52}.buy:hover{color:#fff;box-shadow:0 7px 22px #e85c1c6b}.buy small{color:#ffffffd9;font-weight:500}.byline{display:flex;align-items:center;gap:.6rem;color:var(--ink-soft);font-size:var(--step--1);margin:0 0 1.5rem}.reviewed{color:var(--ink-soft);font-size:var(--step--1)}.js-reveal .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}.js-reveal .reveal.reveal-in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.js-reveal .reveal{opacity:1;transform:none;transition:none}}.tbl{width:100%;border-collapse:collapse;font-size:var(--step--1)}.tbl th,.tbl td{text-align:left;padding:.6rem .7rem;border-bottom:1px solid var(--line)}.tbl th{font-family:var(--sans);color:var(--ink-soft);font-weight:650}
