:root{--cream:#FFF7E8;--green:#006B3F;--blue:#0067B1;--sun:#F9B800;--coral:#FF6B4A;--ink:#123C5B;--white:#fff;--mint:#EAF6DF;--sky:#E8F5FF;--butter:#FFF2C2;--peach:#FFE9DF;--line:#D9CFB8;color-scheme:light}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Nunito',system-ui,sans-serif;font-size:18px;line-height:1.45}
.band-top{height:10px;background:var(--green)}
.band-bot{height:12px;background:var(--blue)}
.wrap{max-width:960px;margin:0 auto;padding:22px max(16px,env(safe-area-inset-left,0px)) 36px}
header.top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.logo{width:110px;height:auto;flex:none}
h1,h2,h3{font-family:'Baloo 2','Nunito',system-ui,sans-serif;font-weight:800;line-height:1.1;margin:0;color:var(--green);text-wrap:balance}
h1{font-size:clamp(30px,6.5vw,48px)}
h2{font-size:clamp(24px,4.5vw,32px);margin:30px 0 12px}
h3{font-size:22px;color:var(--ink)}
p{margin:8px 0}
.sub{font-size:19px;margin-top:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:800;font-size:20px;min-height:54px;border-radius:16px;border:2px solid transparent;padding:10px 22px;cursor:pointer;text-decoration:none;background:var(--green);color:#fff;transition:transform .1s}
.btn:hover{transform:translateY(-2px)}
.btn.alt{background:var(--sun);color:var(--ink)}
.btn.ghost{background:#fff;color:var(--green);border-color:var(--green)}
.btn:disabled{opacity:.6;cursor:wait}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.card{display:flex;flex-direction:column;gap:6px;background:var(--white);border:2px solid var(--line);border-radius:22px;padding:18px 20px;text-decoration:none;color:var(--ink);transition:transform .12s,border-color .12s}
a.card:hover{transform:translateY(-3px);border-color:var(--blue)}
.card .ic{font-size:44px;line-height:1}
.card .tag{align-self:flex-start;font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:99px;padding:3px 10px;background:var(--sky);color:var(--blue)}
.card.soon{opacity:.55;border-style:dashed}
.card.c1{background:var(--mint)}.card.c2{background:var(--sky)}.card.c3{background:var(--butter)}.card.c4{background:var(--peach)}
.panel{background:var(--white);border:2px solid var(--line);border-radius:24px;padding:clamp(18px,4vw,32px)}
.note{background:var(--butter);border-radius:14px;padding:10px 14px;font-size:16px}
label{display:block;font-weight:800;font-size:16px;margin:12px 0 4px}
input[type=text],input[type=email],input[type=password]{width:100%;font:inherit;font-size:19px;min-height:52px;border:2px solid var(--line);border-radius:14px;padding:8px 14px;background:#fff;color:var(--ink)}
input:focus{outline:3px solid #BFDDF3;border-color:var(--blue)}
.tabs{display:flex;gap:8px;margin-bottom:8px}
.tab{flex:1;font:inherit;font-weight:800;font-size:18px;min-height:48px;border-radius:14px;border:2px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.tab[aria-selected=true]{background:var(--green);border-color:var(--green);color:#fff}
.err{background:#FFE3DC;color:#8A2410;border-radius:12px;padding:10px 14px;font-weight:700;margin:12px 0}
.ok{background:var(--mint);color:#0B4A2C;border-radius:12px;padding:10px 14px;font-weight:700;margin:12px 0}
.hide{display:none!important}
.row{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.hello{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:clamp(26px,5vw,38px);color:var(--green)}
a{color:var(--blue)}
@media print{.noprint{display:none!important}}