@font-face{font-family:"Montserrat";font-weight:400;font-style:normal;font-display:swap;src:url("/assets/fonts/Montserrat-Regular.woff2") format("woff2")}
@font-face{font-family:"Montserrat";font-weight:600;font-style:normal;font-display:swap;src:url("/assets/fonts/Montserrat-SemiBold.woff2") format("woff2")}
@font-face{font-family:"Montserrat";font-weight:700;font-style:normal;font-display:swap;src:url("/assets/fonts/Montserrat-Bold.woff2") format("woff2")}
@font-face{font-family:"Montserrat";font-weight:800;font-style:normal;font-display:swap;src:url("/assets/fonts/Montserrat-ExtraBold.woff2") format("woff2")}
:root{
  --ink:#10242b; --muted:#53686f; --bg:#f4f9fa; --card:#ffffff; --line:#dbe8eb;
  --brand:#0b3b4a; --brand2:#12a4b8; --accent:#0b3b4a;
}
*{box-sizing:border-box;margin:0}
body{font-family:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}
a{color:inherit}
.wrap{max-width:960px;margin:0 auto;padding:0 16px}
header.hero{background:linear-gradient(160deg,var(--brand),#0f6a7d 70%,var(--brand2));color:#fff;padding:44px 0 56px;text-align:center}
header.hero.biz{background:linear-gradient(160deg,var(--accent),var(--deep,var(--brand)) 160%)}
.logo{font-weight:800;font-size:1.1rem;letter-spacing:.04em;opacity:.95;text-decoration:none;display:inline-flex;align-items:center;gap:.6rem}
.logo .mark{width:40px;height:40px;border-radius:10px;display:block;background:#fff}
.family{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:14px 0 4px}
.family a{display:block;border-radius:12px;background:#fff;padding:3px;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.family img{width:46px;height:46px;border-radius:9px;display:block}
.card .head{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.card .head .tag{margin-bottom:0}
.cardicon{width:48px;height:48px;border-radius:10px;flex:none;object-fit:contain}
.crumb{display:block;margin-top:6px;font-size:.9rem;opacity:.85}
h1{font-size:clamp(1.8rem,5vw,2.8rem);line-height:1.15;margin:14px 0 10px;font-weight:800}
.hero p{max-width:560px;margin:0 auto 22px;opacity:.92}
.btn{display:inline-block;text-decoration:none;font-weight:700;border-radius:999px;padding:12px 22px;border:2px solid transparent;cursor:pointer;font-size:1rem;text-align:center}
.btn-light{background:#fff;color:var(--brand)}
.btn-ghost{border-color:rgba(255,255,255,.7);color:#fff}
.stores{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:12px}
main{margin-top:-30px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 6px 18px rgba(16,36,43,.06);display:flex;flex-direction:column;border-top:6px solid var(--accent,var(--brand2))}
.card h2{font-size:1.25rem;margin-bottom:2px}
.card h2 a{text-decoration:none}
.tag{font-size:.85rem;color:var(--muted);margin-bottom:10px}
.card p{color:var(--muted);font-size:.97rem;flex:1}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.btn-main{background:var(--accent,var(--brand));color:#fff}
.btn-alt{border-color:var(--line);color:var(--ink);background:#fff;font-size:.9rem;padding:10px 14px}
.btn[aria-disabled="true"]{opacity:.45;pointer-events:none}
section{padding:40px 0}
h3.sec{font-size:1.4rem;margin-bottom:16px;text-align:center}
.steps{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}
.step b{display:block;color:var(--brand2);font-size:1.4rem}
.area{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;text-align:center;color:var(--muted)}
.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 6px 18px rgba(16,36,43,.06);border-top:6px solid var(--accent)}
.panel ul{list-style:none;padding:0;display:grid;gap:10px;margin-top:8px}
.panel li{padding-left:28px;position:relative}
.panel li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:14px;border-radius:50%;background:var(--accent)}
.cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.others{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.others a{text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:.92rem}
footer{background:var(--brand);color:#cfe3e8;text-align:center;padding:28px 16px;font-size:.9rem}
footer a{color:#fff}
footer .abn{margin-top:6px}
.center{text-align:center}
