:root{--ink:#123f3c;--teal:#1f6b63;--sea:#3f9384;--mint:#cfe6dd;--paper:#f6f1e7;--paper2:#ede4d3;--text:#1f2a28;--muted:#5d6966;--coral:#c9472f;--amber:#e9a55b;--rule:#ddd2bf;
--serif:"Iowan Old Style","Charter","Palatino Linotype",Palatino,Georgia,serif;--sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace}
*{box-sizing:border-box}html{scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font:1.0625rem/1.7 var(--sans);text-rendering:optimizeLegibility}
h1,h2,h3{font-family:var(--serif);font-weight:600;color:var(--ink);letter-spacing:-.015em;line-height:1.15}
h1{font-size:clamp(2.1rem,1.4rem + 2.8vw,3.4rem)}h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);margin:2.6rem 0 .8rem}h3{font-size:1.3rem}
a{color:var(--teal);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--coral)}:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:200}
header.site{position:sticky;top:0;z-index:50;background:rgba(246,241,231,.92);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--rule)}
.bar{max-width:1140px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.5rem;gap:1rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);font:600 1.3rem/1 var(--serif);letter-spacing:-.01em}.brand em{color:var(--teal);font-weight:500}
nav{display:flex;gap:1.6rem}nav a{text-decoration:none;color:var(--text);font-size:.92rem;font-weight:500;padding:.3rem 0;border-bottom:2px solid transparent}nav a:hover,nav a[aria-current]{color:var(--teal);border-color:var(--amber)}
.wrap{max-width:1140px;margin:auto;padding:0 1.5rem}.prose{max-width:700px;margin:auto;padding:2.5rem 1.5rem 3rem}.prose p,.prose li{font-size:1.08rem}
.hero{padding:3.5rem 0 3rem;border-bottom:1px solid var(--rule)}.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;align-items:center}
.hero h1{margin:.6rem 0 1.1rem}.hero h1 em{color:var(--teal);font-weight:500}.lede{font-size:1.2rem;color:var(--muted);max-width:34rem}
.hero figure{margin:0;border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(18,63,60,.45);transform:rotate(1.2deg)}.hero svg{display:block;width:100%;height:auto}
.eyebrow{font:600 .75rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--coral)}
.btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--ink);color:#fff;padding:.8rem 1.35rem;border-radius:999px;text-decoration:none;font-weight:600;margin-top:.8rem;transition:background .2s}.btn:hover{background:var(--teal);color:#fff}.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);margin-left:.5rem}.btn.ghost:hover{background:var(--ink);color:#fff}
.sectionhead{display:flex;align-items:baseline;gap:1rem;margin-top:3.2rem}.sectionhead:after{content:"";flex:1;height:1px;background:var(--rule)}.sectionhead h2{margin:0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;margin:1.6rem 0 1rem}
.card{background:#fffdf8;border:1px solid var(--rule);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.25,1,.5,1),box-shadow .35s}
a.card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -24px rgba(18,63,60,.5);color:inherit}a.card:hover h3{color:var(--teal)}
.card svg{display:block;width:100%;height:auto;transition:transform .6s cubic-bezier(.25,1,.5,1)}a.card:hover svg{transform:scale(1.03)}.card .fig{overflow:hidden;border-bottom:1px solid var(--rule)}
.card .body{padding:1.1rem 1.3rem 1.4rem}.card h3{margin:.45rem 0 .45rem;transition:color .2s}.card p{margin:0;color:var(--muted);font-size:.96rem}.card.soon{opacity:.78}
.tag{font:600 .7rem/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--sea)}
.start{display:grid;grid-template-columns:1fr 2.2fr;gap:2.5rem;background:var(--paper2);border-radius:22px;padding:2.4rem;margin:3.2rem 0}.start h2{margin:.4rem 0}
.steps{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.6rem;counter-reset:s;list-style:none;margin:0;padding:0}
.steps li{padding-left:3rem;position:relative;font-size:.98rem}.steps li:before{counter-increment:s;content:counter(s,decimal-leading-zero);position:absolute;left:0;top:.1rem;font:600 1.3rem/1 var(--serif);color:var(--coral)}.steps strong{display:block;font-family:var(--serif);font-size:1.12rem;color:var(--ink)}
.method{display:flex;gap:1rem;border:1px solid var(--rule);background:#fffdf8;padding:1.1rem 1.3rem;border-radius:14px;margin:1.8rem 0;font-size:.97rem}.method:before{content:"";flex:none;width:6px;border-radius:3px;background:linear-gradient(var(--sea),var(--ink))}.method strong{color:var(--ink)}
.callout{position:relative;background:#fbefe1;border-radius:14px;padding:1.1rem 1.3rem 1.1rem 3.2rem;margin:1.8rem 0}.callout:before{content:"!";position:absolute;left:1.1rem;top:1.05rem;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--coral);color:#fff;font:700 .85rem/1.4rem var(--sans);text-align:center}
.callout.tip{background:#e3efe8}.callout.tip:before{content:"i";background:var(--teal)}
.tablewrap{overflow-x:auto;margin:1.8rem 0;border:1px solid var(--rule);border-radius:14px;background:#fffdf8}
table{border-collapse:collapse;width:100%;font-size:.93rem;font-variant-numeric:tabular-nums}caption{text-align:left;padding:.8rem 1rem 0;font:600 .72rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
th{font:600 .72rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:.9rem 1rem .7rem;border-bottom:2px solid var(--ink)}
td{padding:.8rem 1rem;border-bottom:1px solid var(--rule);vertical-align:top}tr:last-child td{border-bottom:0}td:first-child{font-weight:600;color:var(--ink)}tbody tr:hover td{background:#f3ede0}
.byline{display:flex;flex-wrap:wrap;gap:.3rem 1.4rem;color:var(--muted);font-size:.78rem;letter-spacing:.02em;font-family:var(--mono);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:.7rem 0;margin:1.2rem 0}
.prose h1{margin:.6rem 0 0}.prose ul{padding-left:1.2rem}.prose li{margin:.35rem 0}.prose li::marker{color:var(--coral)}.sources{font-size:.9rem;color:var(--muted);border-top:1px solid var(--rule);padding-top:1rem;margin-top:2.5rem}
footer.site{background:var(--ink);color:#c9ddd6;margin-top:4rem;padding:3rem 0 2.4rem;font-size:.92rem}footer.site a{color:#fff}.fgrid{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem}.fbrand{font:600 1.3rem var(--serif);color:#fff;display:flex;gap:.6rem;align-items:center;margin-bottom:.5rem}.fine{border-top:1px solid rgba(255,255,255,.15);margin-top:2rem;padding-top:1.2rem;font-size:.82rem;color:#9fbcb3}
@media(max-width:900px){.hero .wrap,.start{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.hero figure{transform:none}}
@media(max-width:640px){body{font-size:1rem}.bar{padding:.6rem 1.1rem}nav{gap:1.1rem;width:100%;overflow-x:auto}.wrap{padding:0 1.1rem}.cards,.steps,.fgrid{grid-template-columns:1fr}.hero{padding:2.2rem 0}.start{padding:1.6rem}.btn.ghost{margin-left:0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.sectionhead .more{order:2;white-space:nowrap;font-weight:600;color:var(--teal);text-decoration:none;padding-left:1rem}.sectionhead .more:hover{text-decoration:underline}
.pcard .fig{background:#efe7d6;display:flex;justify-content:center;padding:1.2rem}.pcard img{width:62%;height:auto;box-shadow:0 10px 24px -12px rgba(18,63,60,.45);border-radius:4px;background:#fff}.pcard .buy{display:flex;align-items:center;justify-content:space-between;margin-top:1rem}.pcard .price{font:700 1.3rem var(--serif);color:var(--ink)}.pcard .btn{margin:0}
