
:root{--bg:#F3F6F5;--card:#fff;--ink:#14262A;--muted:#4D5E6B;--brand:#0F5E5A;--brand2:#13807A;--accent:#E8B04B;--line:#D5DCE3;--soft:#DDEBE8;--danger:#A3262A;--ok:#2F7A4F;--onbrand:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0D141C;--card:#16202B;--ink:#E8EEF2;--muted:#A9B7C3;--brand:#7FD1C8;--brand2:#A8E3DC;--line:#26333F;--soft:#1C2A36;--danger:#F08A8D;--ok:#8BCBA8;--onbrand:#0D141C}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.6 "Atkinson Hyperlegible",system-ui,sans-serif}
h1,h2,h3,.brand{font-family:"Fraunces",Georgia,serif;line-height:1.15;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,6vw,3.4rem);margin:.2em 0 .3em}h2{font-size:clamp(1.5rem,4vw,2.1rem);margin:0 0 .5em}h3{font-size:1.2rem;margin:0 0 .35em}
a{color:var(--brand)}a:hover{color:var(--brand2)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}
header.top{position:sticky;top:0;z-index:10;background:var(--hdr);color:var(--hdrink);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;gap:14px;min-height:64px;position:relative}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:inherit;text-decoration:none;font-size:1.05rem}
nav.main{display:flex;gap:4px;margin-left:auto;align-items:center;flex-wrap:wrap}
nav.main a{text-decoration:none;color:inherit;padding:8px 10px;border-radius:10px;font-size:.95rem}
nav.main a:hover{background:rgba(127,127,127,.15)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:14px;font-weight:700;text-decoration:none;border:2px solid var(--brand);color:var(--brand);background:transparent;font-size:1rem;cursor:pointer;font-family:inherit}
.btn.primary{background:var(--brand);color:var(--onbrand)}.btn.primary:hover{background:var(--brand2);border-color:var(--brand2);color:var(--onbrand)}
.btn.accent{background:var(--accent);border-color:var(--accent);color:#111}
nav.main .btn{padding:8px 14px}
.menu-toggle{display:none;color:inherit;border-color:currentColor}
@media (max-width:860px){nav.main{display:none;position:absolute;top:64px;left:0;right:0;background:var(--hdr);flex-direction:column;align-items:stretch;padding:10px 20px 18px;border-bottom:1px solid var(--line)}
 nav.main.open{display:flex}.menu-toggle{display:inline-flex;margin-left:auto;padding:8px 12px}}
.hero{padding:56px 0 40px;background:var(--herobg);color:var(--heroink)}
.hero .lead{color:inherit;opacity:.9}
.lead{font-size:1.2rem;color:var(--muted);max-width:660px}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 8px}
section{padding:44px 0}.alt{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;color:inherit}
a.card{text-decoration:none;display:block}a.card:hover{border-color:var(--brand)}
.alt .card{background:var(--bg)}
.card p{margin:.3em 0}.muted{color:var(--muted)}.small{font-size:.9rem}
.tag{display:inline-block;font-size:.8rem;font-weight:700;background:var(--soft);color:var(--brand);padding:3px 10px;border-radius:99px;margin-bottom:8px}
.hero .tag{background:rgba(255,255,255,.16);color:inherit}
.price{font-family:"Fraunces",Georgia,serif;font-size:3rem;font-weight:800;color:var(--brand)}
ul.ticks{list-style:none;padding:0;margin:0}ul.ticks li{padding:6px 0 6px 30px;position:relative}
ul.ticks li:before{content:"";position:absolute;left:4px;top:13px;width:12px;height:7px;border-left:3px solid var(--ok);border-bottom:3px solid var(--ok);transform:rotate(-45deg)}
details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin:10px 0}
summary{cursor:pointer;font-weight:700}
.banner{background:#FFF4E0;border:1px solid #E8A93B;color:#4A3200;border-radius:14px;padding:14px 18px}
@media (prefers-color-scheme:dark){.banner{background:#3A2A10;color:#FBE3B8}}
.crumbs{font-size:.9rem;margin:24px auto 0}.crumbs a{text-decoration:none}
article h2{margin-top:1.4em}article p,article li{max-width:68ch}
.tbl{width:100%;border-collapse:collapse}.tbl td,.tbl th{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.store{display:inline-flex;align-items:center;gap:10px;background:#000;color:#fff;border-radius:12px;padding:10px 18px;text-decoration:none;font-weight:700;border:1px solid #444}
.store:hover{color:#fff;background:#222}.store small{display:block;font-weight:400;font-size:.72rem;line-height:1}
footer{padding:40px 0 60px;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}
footer .grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}footer a{color:var(--muted)}footer ul{list-style:none;padding:0;margin:0}footer li{padding:3px 0}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.calc label{display:block;font-weight:700;margin:12px 0 4px}.calc input,.calc select{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);font:inherit;background:var(--bg);color:var(--ink)}
.result{font-family:"Fraunces",Georgia,serif;font-size:2rem;font-weight:800;color:var(--brand);margin:14px 0 4px}
:root{--hdr:var(--bg);--hdrink:var(--brand);--herobg:transparent;--heroink:var(--ink)}