:root{--ink:#14202b;--mut:#4f5f6c;--acc:#0b6a5c;--acc2:#084d43;--bg:#f7f9f8;--line:#d9e1de;--card:#fff;--soft:#eef6f3}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--acc)}a:hover{color:var(--acc2)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #f0a500;outline-offset:2px}
.wrap{max-width:960px;margin:0 auto;padding:1rem 1.25rem}
.skip{position:absolute;left:-9999px;top:0;background:#fff;padding:.5rem 1rem;z-index:10}.skip:focus{left:.5rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
header.site{background:#fff;border-bottom:1px solid var(--line)}
.nav{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;justify-content:space-between}
.brand{font-weight:700;color:var(--ink);text-decoration:none;font-size:1.1rem}
.nav ul,.foot{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem 1rem}
.nav ul a{text-decoration:none;color:var(--ink);padding:.2rem 0}.nav ul a[aria-current]{border-bottom:2px solid var(--acc)}
.banner{margin:0;background:var(--soft);color:var(--acc2);text-align:center;font-size:.85rem;padding:.35rem 1rem}
h1{font-size:clamp(1.9rem,5vw,2.8rem);line-height:1.15;margin:.6em 0 .3em}
h2{font-size:1.4rem;margin:1.8rem 0 .6rem}h3{margin:.2em 0}
.hero{padding:2.5rem 0 1rem}.lead{font-size:1.2rem;color:var(--mut)}
.btn{display:inline-block;background:var(--acc);color:#fff;border:2px solid var(--acc);border-radius:8px;padding:.7rem 1.15rem;font:inherit;font-size:1rem;text-decoration:none;cursor:pointer;margin:.15rem .2rem .15rem 0}
.btn:hover{background:var(--acc2);color:#fff}.btn.ghost{background:transparent;color:var(--acc)}.btn.sm{padding:.4rem .8rem;font-size:.9rem}
.small{font-size:.88rem;color:var(--mut)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem;padding:0;list-style:none}
.grid.two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid>li,.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem}
.card h2{margin-top:0}.price .amt{font-size:1.6rem;font-weight:700;margin:.2rem 0}.price .amt span{font-size:.9rem;color:var(--mut)}
.panel{background:#10202a;color:#e8f1ee;border-radius:12px;padding:1.2rem 1.3rem;margin:1.5rem 0}
.panel h2{margin-top:0;color:#fff}.panel a{color:#8fe3cf}.panel .small{color:#b9c9c4}
.panel .btn{background:#8fe3cf;border-color:#8fe3cf;color:#10202a}
.skipline{margin:.4rem 0;font-size:.9rem}
pre,.code{background:#0d1a22;color:#d6efe7;border-radius:8px;padding:.8rem 1rem;overflow-x:auto;font:14px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre}
code{font:.92em ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#e7eeeb;padding:.05em .3em;border-radius:4px}pre code{background:none}
.panel code{background:#22343f}
.ticks{padding-left:1.2rem}.ticks li{margin:.35rem 0}
.addon{margin-top:1.2rem;background:var(--soft);border:1px dashed var(--acc);border-radius:10px;padding:.2rem 1.1rem}
.note{background:#fff6dd;border:1px solid #e9c46a;border-radius:8px;padding:.6rem .9rem}
.cta{background:var(--soft);border-radius:12px;padding:.4rem 1.2rem 1rem;margin:2rem 0}
table{border-collapse:collapse;width:100%;background:#fff;display:block;overflow-x:auto}
th,td{border:1px solid var(--line);padding:.5rem .7rem;text-align:left;vertical-align:top}
details{background:#fff;border:1px solid var(--line);border-radius:8px;padding:.6rem .9rem;margin:.5rem 0}summary{cursor:pointer;font-weight:600}
.form{display:grid;gap:.45rem;max-width:560px}
.form input,.form select,.form textarea{font:inherit;padding:.6rem;border:1px solid #b9c5c1;border-radius:6px;width:100%;background:#fff}
.form .chk{display:flex;gap:.55rem;align-items:flex-start;margin:.3rem 0}.form .chk input{width:auto;margin-top:.35rem}
.form button{justify-self:start;margin-top:.4rem}fieldset{border:1px solid var(--line);border-radius:8px}
.hp{position:absolute;left:-9999px}
.phases{list-style:none;padding:0;border-left:3px solid var(--line)}.phases li{padding:.2rem 0 .2rem 1.1rem;position:relative}
.phases li.now{border-left:3px solid var(--acc);margin-left:-3px}.phases h2{font-size:1.15rem;margin:.8rem 0 .2rem}
footer.site{border-top:1px solid var(--line);margin-top:3rem;background:#fff}
.foot{font-size:.92rem;margin-bottom:.6rem}
@media (max-width:600px){body{font-size:16px}.nav ul{gap:.1rem .8rem;font-size:.92rem}.hero{padding-top:1.5rem}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Homepage pricing preview (dark). Contrast ratios are in CHANGELOG 2026-10-16 17:30. */
.pp{--pp-bg:#0e1a21;--pp-card:#172833;--pp-feat:#1e3a45;--pp-ink:#f2f7f5;--pp-mut:#b9cac5;--pp-acc:#8fe3cf;
  background:var(--pp-bg);color:var(--pp-ink);border-radius:14px;padding:1.6rem 1.4rem 1.3rem;margin:2rem 0}
.pp h2{color:var(--pp-ink);margin:.1rem 0 .4rem;font-size:clamp(1.5rem,3.5vw,2rem)}
.pp-kicker{margin:0;color:var(--pp-acc);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.pp-lead{color:var(--pp-mut);max-width:44rem;margin:0 0 1.2rem}.pp-lead strong{color:var(--pp-ink)}
.pp-tiers{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:stretch}
.pp-tier{background:var(--pp-card);border:1px solid #2c4350;border-radius:12px;padding:1.1rem 1.1rem 1rem;display:flex;flex-direction:column}
.pp-tier h3{font-size:1.05rem;color:var(--pp-ink);margin:0 0 .3rem}
.pp-price{margin:0;display:flex;align-items:baseline;gap:.2rem;flex-wrap:wrap}
.pp-amt{font-size:2.1rem;font-weight:800;line-height:1.1;color:var(--pp-ink);font-variant-numeric:tabular-nums}
.pp-per,.pp-from{color:var(--pp-mut);font-size:.95rem}
.pp-for{color:var(--pp-mut);margin:.35rem 0 .6rem;font-size:.95rem}
.pp-feat{list-style:none;margin:auto 0 0;padding:.6rem 0 0;border-top:1px solid #2c4350;font-size:.93rem}
.pp-feat li{padding:.15rem 0 .15rem 1.2rem;position:relative;color:var(--pp-ink)}
.pp-feat li::before{content:"✓";position:absolute;left:0;color:var(--pp-acc);font-weight:700}
.pp-featured{background:var(--pp-feat);border:2px solid var(--pp-acc);box-shadow:0 0 0 4px rgba(143,227,207,.15),0 8px 24px rgba(0,0,0,.35)}
.pp-badge{align-self:flex-start;margin:0 0 .5rem;background:var(--pp-acc);color:var(--pp-bg);font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px}
.pp-extra{margin-top:1.1rem;padding:.4rem 1rem;border:1px dashed #3f5a67;border-radius:10px;color:var(--pp-mut);font-size:.95rem}
.pp-extra strong{color:var(--pp-ink)}
.pp a,.pp-link{color:var(--pp-acc);font-weight:600;text-underline-offset:3px}.pp a:hover{color:#c4f2e6}
.pp-link{display:inline-block;margin:.9rem 1.2rem 0 0}
.pp a:focus-visible{outline:3px solid #f0a500;outline-offset:3px;border-radius:3px}
@media (max-width:600px){.pp{padding:1.2rem 1rem;border-radius:10px}.pp-amt{font-size:1.85rem}}
@media (forced-colors:active){.pp-featured{border:3px solid CanvasText}}
/* Live meters strip (dark, matches .pp). Contrast in CHANGELOG 2026-10-16 17:45. */
.meters{background:#0e1a21;color:#f2f7f5;border-radius:14px;padding:1.1rem 1.3rem 1rem;margin:1.2rem 0 1.6rem}
.mt-title{margin:0 0 .6rem;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8fe3cf}
.mt-grid{margin:0;display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.mt{background:#172833;border:1px solid #2c4350;border-radius:12px;padding:.8rem 1rem}
.mt dt{font-weight:700;color:#f2f7f5}.mt dd{margin:0}
.mt-val{font-size:2.2rem;font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums;color:#f2f7f5}
.mt-note{color:#b9cac5;font-size:.88rem;margin-top:.2rem}
.mt-foot{margin:.8rem 0 0;color:#b9cac5;font-size:.85rem}
.meters a{color:#8fe3cf;font-weight:600;text-underline-offset:3px}.meters a:hover{color:#c4f2e6}
.meters a:focus-visible{outline:3px solid #f0a500;outline-offset:3px;border-radius:3px}
.notice{background:var(--soft);border:1px solid #b9d9cf;border-radius:8px;padding:.2rem 1rem .4rem;font-size:.92rem;margin:.6rem 0}
.notice h2{font-size:1rem;margin:.6rem 0 .2rem}
