:root{--ink:#0B1220;--paper:#F3F4F6;--paper2:#ECEFF3;--warm:#FBF7F2;--warm2:#F4EFE8;--glass:rgba(255,255,255,.60);--stroke:rgba(11,18,32,.10);--shadow:0 18px 50px rgba(11,18,32,.10);--shadow2:0 10px 26px rgba(11,18,32,.10)}
body{background:var(--paper);color:var(--ink)}.text-ink{color:var(--ink)}
.bg-layer{position:fixed;inset:-20%;background:radial-gradient(800px 520px at 18% 14%,rgba(37,99,235,.10),transparent 60%),radial-gradient(760px 540px at 85% 16%,rgba(20,184,166,.08),transparent 62%),radial-gradient(820px 600px at 70% 85%,rgba(245,158,11,.06),transparent 62%),linear-gradient(to bottom,var(--paper),var(--paper2));z-index:-3;pointer-events:none}
.bg-layer.warm{background:radial-gradient(820px 560px at 18% 16%,rgba(245,158,11,.10),transparent 60%),radial-gradient(760px 540px at 84% 18%,rgba(236,72,153,.05),transparent 62%),radial-gradient(860px 620px at 70% 85%,rgba(20,184,166,.06),transparent 62%),linear-gradient(to bottom,var(--warm),var(--warm2))}
.bg-net{position:fixed;inset:0;background-image:linear-gradient(to right,rgba(11,18,32,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(11,18,32,.04) 1px,transparent 1px);background-size:44px 44px;opacity:.18;mask-image:radial-gradient(circle at 30% 10%,#000 0,rgba(0,0,0,.55) 45%,transparent 75%);z-index:-2;pointer-events:none}
.bg-glow{position:fixed;inset:0;background:radial-gradient(800px 520px at 50% -10%,rgba(0,0,0,.08),transparent 65%),radial-gradient(900px 700px at 50% 110%,rgba(0,0,0,.10),transparent 65%);opacity:.25;z-index:-1;pointer-events:none}.bg-glow.warm{opacity:.20}
.glass{background:var(--glass);border:1px solid var(--stroke);box-shadow:var(--shadow2);backdrop-filter:blur(16px)}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:14px;background:#0B1220;color:#fff;font-weight:600;box-shadow:0 12px 30px rgba(11,18,32,.18);transition:transform .15s ease,box-shadow .15s ease}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 18px 40px rgba(11,18,32,.22)}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.70);border:1px solid var(--stroke);color:var(--ink);font-weight:600;transition:transform .15s ease,box-shadow .15s ease}.btn-secondary:hover{transform:translateY(-1px);box-shadow:var(--shadow2)}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.55);border:1px solid var(--stroke);color:var(--ink);font-weight:600}
.navlink{position:relative;padding:6px 0}.navlink:after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:rgba(11,18,32,.85);transition:width .18s ease}.navlink:hover:after,.navlink.active:after{width:100%}
.dot{width:8px;height:8px;border-radius:999px;background:rgba(20,184,166,.95);box-shadow:0 0 0 4px rgba(20,184,166,.18)}
.mini-ic{width:22px;height:22px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.65);border:1px solid var(--stroke)}
.hero-frame{border-radius:32px;border:1px solid rgba(11,18,32,.10);background:rgba(255,255,255,.55);box-shadow:var(--shadow);overflow:hidden;min-height:380px}
.hero-img{width:100%;display:block}.hero-glow{position:absolute;inset:-20%;background:radial-gradient(500px 340px at 50% 40%,rgba(37,99,235,.18),transparent 65%),radial-gradient(420px 320px at 35% 55%,rgba(20,184,166,.14),transparent 65%);opacity:.75}
.hero-chips{position:absolute;left:16px;bottom:16px;display:flex;flex-wrap:wrap;gap:8px}.chip{font-size:12px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.75);border:1px solid rgba(11,18,32,.10)}
.pill{border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.65);border:1px solid rgba(11,18,32,.12);font-weight:600;font-size:13px;color:rgba(11,18,32,.85);transition:transform .12s ease}.pill:hover{transform:translateY(-1px)}.pill.active{background:rgba(11,18,32,.92);color:#fff;border-color:transparent}.pill.small{padding:6px 10px;font-size:12px}
.cat-card{border-radius:22px;border:1px solid rgba(11,18,32,.10);background:rgba(255,255,255,.60);box-shadow:var(--shadow2);transition:transform .16s ease,box-shadow .16s ease}.cat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.cat-top{padding:16px 16px 10px}.cat-title{font-weight:900}.cat-sub{margin-top:6px;color:rgba(11,18,32,.65);font-size:13px}
.cat-foot{padding:12px 16px 16px;display:flex;justify-content:space-between;align-items:center}.cat-link{font-size:13px;font-weight:800;color:rgba(11,18,32,.85)}.cat-badge{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid rgba(11,18,32,.10);background:rgba(255,255,255,.65)}
.signature-bg{position:absolute;inset:-20%;background:radial-gradient(500px 340px at 20% 20%,rgba(37,99,235,.10),transparent 65%),radial-gradient(540px 380px at 80% 20%,rgba(20,184,166,.08),transparent 65%),radial-gradient(560px 420px at 50% 85%,rgba(245,158,11,.07),transparent 70%);opacity:.8}
.tag{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid rgba(11,18,32,.10);background:rgba(255,255,255,.65)}.mini-card{border-radius:18px;padding:14px;border:1px solid rgba(11,18,32,.10);background:rgba(255,255,255,.62);font-weight:800}
.rail{display:flex;gap:14px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.rail::-webkit-scrollbar{height:10px}.rail::-webkit-scrollbar-thumb{background:rgba(11,18,32,.18);border-radius:999px}
.rail-card{flex:0 0 auto;width:310px;scroll-snap-align:start;border-radius:22px;overflow:hidden;border:1px solid rgba(11,18,32,.10);background:rgba(255,255,255,.60);box-shadow:var(--shadow2);transition:transform .16s ease,box-shadow .16s ease}.rail-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.rail-img{width:100%;height:170px;object-fit:cover;display:block}.rail-body{padding:14px 14px 16px}.rail-title{font-weight:900}.rail-desc{margin-top:6px;font-size:13px;color:rgba(11,18,32,.65)}.rail-cta{margin-top:10px;display:inline-flex;gap:8px;align-items:center;font-weight:900;font-size:13px;color:rgba(11,18,32,.85)}
.rail-progress{min-width:160px}.rail-track{height:8px;width:160px;border-radius:999px;background:rgba(11,18,32,.12);overflow:hidden}.rail-bar{height:100%;width:10%;background:rgba(11,18,32,.85);border-radius:999px}
.family-band{background:rgba(255,255,255,.60);border:1px solid rgba(11,18,32,.10);box-shadow:var(--shadow2);display:grid;grid-template-columns:1.1fr 1.2fr}
.family-left{padding:26px}.family-left .label{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:rgba(11,18,32,.60)}
.family-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:16px}.family-grid img{width:100%;height:160px;object-fit:cover;border-radius:16px;border:1px solid rgba(11,18,32,.10);background:#fff}
@media(max-width:900px){.family-band{grid-template-columns:1fr}.family-grid img{height:150px}}
.updates{border:1px solid rgba(11,18,32,.10);background:radial-gradient(700px 420px at 20% 10%,rgba(37,99,235,.08),transparent 60%),radial-gradient(700px 420px at 80% 10%,rgba(20,184,166,.06),transparent 62%),linear-gradient(to bottom,rgba(255,255,255,.70),rgba(255,255,255,.45));box-shadow:var(--shadow2)}
.news-card{border-radius:22px;border:1px solid rgba(11,18,32,.10);background:rgba(255,255,255,.65);padding:16px}.news-title{font-weight:900}.news-item{margin-top:8px;font-size:13px;color:rgba(11,18,32,.70)}.news-link{display:inline-block;margin-top:10px;font-size:13px;font-weight:900;color:rgba(11,18,32,.85)}
.form-card{border-radius:22px;border:1px solid rgba(11,18,32,.10);background:rgba(255,255,255,.70);padding:16px;box-shadow:var(--shadow2)}
.field{display:block;margin-top:10px}.field span{display:block;font-size:12px;color:rgba(11,18,32,.60);font-weight:900}
.field input,.field select{margin-top:6px;width:100%;padding:10px 12px;border-radius:14px;border:1px solid rgba(11,18,32,.12);background:rgba(255,255,255,.85);outline:none}
.consent{display:flex;gap:10px;align-items:flex-start;margin-top:10px;font-size:12px;color:rgba(11,18,32,.70)}
.inner-warm .bg-net{display:none}.content-card{border-radius:22px;border:1px solid rgba(11,18,32,.10);background:rgba(255,255,255,.62);padding:18px;box-shadow:var(--shadow2)}
.cap{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:rgba(11,18,32,.55)}
.mascot{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:flex-end;gap:12px;border:0;background:transparent;cursor:pointer}
.mascot img{width:78px;height:78px;filter:drop-shadow(0 18px 26px rgba(11,18,32,.18));animation:floaty 3.2s ease-in-out infinite}
.mascot-bubble{max-width:260px;padding:10px 12px;border-radius:16px;border:1px solid rgba(11,18,32,.10);background:rgba(255,255,255,.80);box-shadow:var(--shadow2);font-size:13px;color:rgba(11,18,32,.85);backdrop-filter:blur(10px)}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.signature-bg, .hero-glow { pointer-events: none; }