
:root{--teal:#0f766e;--teal-dark:#115e59;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--bg:#f8fafc;--card:#fff}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
header.site{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
header.site .wrap{display:flex;align-items:center;gap:22px;height:60px}
.logo{font-weight:800;font-size:20px;color:var(--teal);letter-spacing:-.02em}
.logo:hover{text-decoration:none}
nav.main{margin-left:auto;display:flex;gap:18px;align-items:center;font-size:15px}
nav.main a{color:var(--ink)}
.btn{display:inline-block;background:var(--teal);color:#fff;padding:10px 18px;border-radius:8px;font-weight:600;border:0;cursor:pointer;font-size:15px}
.btn:hover{background:var(--teal-dark);text-decoration:none}
.btn:disabled{background:#94a3b8;cursor:not-allowed}
.btn.ghost{background:#fff;color:var(--teal);border:1.5px solid var(--teal)}
.hero{background:linear-gradient(180deg,#f0fdfa,#fff);border-bottom:1px solid var(--line);padding:52px 0 40px}
.hero h1{font-size:38px;line-height:1.15;margin:0 0 10px;letter-spacing:-.02em}
.hero h1 .brand{color:var(--teal)}
.hero p.sub{font-size:18px;color:var(--muted);margin:0 0 24px;max-width:640px}
.searchbar{display:flex;gap:10px;max-width:640px}
.searchbar input{flex:1;padding:14px 16px;font-size:16px;border:1.5px solid var(--line);border-radius:10px}
.searchbar .btn{padding:14px 22px;font-size:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:14px;color:var(--ink)}
.chip b{color:var(--teal)}
.chip:hover{border-color:var(--teal);text-decoration:none}
section.block{padding:34px 0 6px}
h2.sec{font-size:22px;margin:0 0 16px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;display:block;color:var(--ink)}
.card:hover{border-color:var(--teal);text-decoration:none;box-shadow:0 4px 18px rgba(15,118,110,.08)}
.card h3{margin:0 0 4px;font-size:17px;line-height:1.3}
.card .co{color:var(--muted);font-size:14px;margin-bottom:8px}
.meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13.5px;color:var(--muted)}
.meta .sal{color:var(--teal-dark);font-weight:600}
.strip{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;margin:10px 0 6px}
.strip .names{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:15px}
.detail{display:grid;grid-template-columns:1fr 320px;gap:26px;padding:30px 0}
.detail h1{font-size:30px;margin:0 0 6px;line-height:1.2}
.sidebox{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;position:sticky;top:80px;height:fit-content}
.sidebox dl{margin:0 0 16px}
.sidebox dt{font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:10px}
.sidebox dd{margin:2px 0 0;font-weight:600}
.sidebox .btn{width:100%;text-align:center;padding:13px;font-size:16px}
.helper{font-size:13px;color:var(--muted);margin-top:10px;text-align:center}
.src{font-size:13.5px;color:var(--muted)}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.filters input,.filters select{padding:11px 13px;font-size:16px;border:1.5px solid var(--line);border-radius:9px;background:#fff}
.filters input{flex:1;min-width:220px}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.plan{background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:24px;position:relative}
.plan.featured{border-color:var(--teal)}
.badge{position:absolute;top:-12px;right:16px;background:var(--teal);color:#fff;font-size:12px;font-weight:700;letter-spacing:.06em;padding:4px 10px;border-radius:999px}
.plan .price{font-size:34px;font-weight:800;margin:6px 0}
.plan ul{padding-left:18px;color:var(--muted);font-size:14.5px}
.plan ul li.no{opacity:.55}
.trustrow{display:flex;flex-wrap:wrap;gap:8px 22px;background:#f0fdfa;border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-top:18px;font-size:14.5px;font-weight:600;color:var(--teal-dark)}
form.post{display:grid;grid-template-columns:1fr 340px;gap:26px;align-items:start}
form.post .fields{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px}
.field{margin-bottom:16px}
.field label{display:block;font-weight:600;font-size:14.5px;margin-bottom:5px}
.field input,.field select,.field textarea{width:100%;padding:11px 13px;font-size:16px;border:1.5px solid var(--line);border-radius:9px}
.field .err{display:none;color:#dc2626;font-size:13px;margin-top:4px}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#dc2626}
.field.invalid .err{display:block}
.plansel{display:flex;gap:10px;margin-bottom:6px}
.plansel label{flex:1;border:1.5px solid var(--line);border-radius:10px;padding:12px;cursor:pointer;font-weight:600}
.plansel input{margin-right:7px}
.plansel label.sel{border-color:var(--teal);background:#f0fdfa}
.summary{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;position:sticky;top:80px}
.summary .row{display:flex;justify-content:space-between;margin:7px 0;font-size:15px}
.summary .total{border-top:1px solid var(--line);padding-top:10px;font-weight:800;font-size:17px}
.fineprint{font-size:13px;color:var(--muted)}
footer.site{border-top:1px solid var(--line);background:#fff;margin-top:44px;padding:26px 0;font-size:13.5px;color:var(--muted)}
footer.site .cols{display:flex;flex-wrap:wrap;gap:8px 26px;margin-bottom:12px}
.prose{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;margin:26px 0}
.prose h1{margin-top:0}
@media(max-width:820px){.detail{grid-template-columns:1fr}.sidebox{position:static}form.post{grid-template-columns:1fr}.summary{position:static}.hero h1{font-size:30px}nav.main a:not(.btn){display:none}}
:focus-visible{outline:2.5px solid var(--teal);outline-offset:2px}
