:root{--ink:#143039;--muted:#52656a;--brand:#00685b;--brand-dark:#004b42;--line:#c9d8d5;--paper:#f3f7f5;--card:#fff;--focus:#bf7217}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}main{max-width:1080px;margin:auto;padding:32px 24px 64px}header{border-bottom:1px solid var(--line);padding:22px 0 28px}.eyebrow{font-size:.78rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase;color:var(--brand)}h1{font-size:clamp(2.3rem,5vw,4rem);line-height:1.06;letter-spacing:-.04em;max-width:750px;margin:.6rem 0 1rem}h2{font-size:1.75rem;line-height:1.2;margin:0 0 .85rem}h3{font-size:1.18rem;margin:0 0 .45rem}p{max-width:760px}.muted{color:var(--muted)}nav{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.4rem}a{color:var(--brand);text-underline-offset:3px}a:hover{color:var(--brand-dark)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.button{display:inline-block;padding:.7rem 1rem;border-radius:.45rem;background:var(--brand);color:#fff;font-weight:700;text-decoration:none}.button:hover{background:var(--brand-dark);color:#fff}section{padding-top:2.7rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.card{padding:1.35rem;background:var(--card);border:1px solid var(--line);border-radius:.75rem}.tag{display:inline-block;padding:.15rem .55rem;border-radius:2rem;background:#e3efeb;color:#145047;font-size:.78rem;font-weight:750}.price{font-size:2.1rem;font-weight:800;margin:.45rem 0}.list li{margin:.45rem 0}.notice{border-left:4px solid var(--brand);padding:.85rem 1rem;background:#e9f2ee;max-width:800px}.downloads{padding-left:1.1rem}.downloads li{margin:.45rem 0}details{background:#fff;border:1px solid var(--line);border-radius:.55rem;padding:.8rem 1rem;margin:.8rem 0}summary{cursor:pointer;font-weight:700}footer{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.25rem;color:var(--muted);font-size:.9rem}.columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.prose{max-width:800px}.prose h2{margin-top:2.1rem}.prose h3{margin-top:1.5rem}@media(max-width:600px){main{padding:20px 16px 42px}.card{padding:1.1rem}}
