:root{--bg:#fbfbfd;--alt:#f2f0ea;--card:#fff;--ink:#1d1d1f;--mut:#6e6e73;--pri:#0f6e8c;--acc:#e8893a;--line:#e3e0d8;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#000;--alt:#111618;--card:#1c1c1e;--ink:#f5f5f7;--mut:#a1a1a6;--pri:#4fb6d6;--acc:#f0a15f;--line:#2c2c2e}}
:root[data-theme="dark"]{--bg:#000;--alt:#111618;--card:#1c1c1e;--ink:#f5f5f7;--mut:#a1a1a6;--pri:#4fb6d6;--acc:#f0a15f;--line:#2c2c2e}
html{scroll-behavior:smooth;scroll-padding-top:calc(92px + env(safe-area-inset-top,0px))}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.55 -apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Helvetica,Arial,sans-serif;overflow-x:hidden}
a{color:var(--pri)}
#pg{position:fixed;top:0;left:0;height:3px;width:0;background:var(--acc);z-index:20}
header{position:fixed;top:calc(10px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 20px));z-index:30;border-radius:999px;background:color-mix(in srgb,var(--bg) 62%,transparent);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);box-shadow:0 8px 30px rgba(0,0,0,.12);transition:background .3s,box-shadow .3s}
header.sc{background:color-mix(in srgb,var(--bg) 90%,transparent);box-shadow:0 10px 36px rgba(0,0,0,.22)}
nav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px}
.br{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:700;letter-spacing:-.01em;padding-right:8px}
.br img{height:46px;width:46px;border-radius:50%;box-shadow:0 0 0 2px var(--card)}
.lk{display:flex;gap:2px}
.lk a{text-decoration:none;color:var(--ink);font-size:.92rem;padding:9px 15px;border-radius:999px;transition:background .25s,color .25s;opacity:.85}
.lk a:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
.lk a.on{background:var(--ink);color:var(--bg);opacity:1}
.rt{display:flex;align-items:center;gap:8px}
.lg{display:inline-flex;background:color-mix(in srgb,var(--ink) 8%,transparent);border-radius:999px;padding:3px}
.lg button{background:none;border:0;color:var(--ink);border-radius:999px;padding:5px 10px;cursor:pointer;font-weight:600;font-size:.75rem;font-family:inherit}
.lg button.on{background:var(--pri);color:#fff}
.cta{background:var(--acc);color:#fff;text-decoration:none;font-weight:600;font-size:.92rem;padding:10px 20px;border-radius:999px}
.bg{display:none;width:44px;height:44px;border:0;border-radius:50%;background:color-mix(in srgb,var(--ink) 8%,transparent);cursor:pointer;position:relative}
.bg i,.bg i:before{content:"";position:absolute;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s}
.bg i{left:13px;top:21px}.bg i:before{left:0;top:-6px}
.bg.x i{transform:rotate(45deg)}.bg.x i:before{transform:translateY(6px) rotate(-90deg)}
#mm{position:fixed;inset:0;z-index:25;background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;opacity:0;pointer-events:none;transition:opacity .35s}
#mm.o{opacity:1;pointer-events:auto}
#mm a.m{font-size:clamp(1.8rem,8vw,2.6rem);font-weight:700;letter-spacing:-.03em;color:var(--ink);text-decoration:none;padding:6px 20px;transform:translateY(16px);opacity:0;transition:transform .5s,opacity .5s}
#mm.o a.m{transform:none;opacity:1}
#mm .lg{margin-top:22px}
@media(max-width:1060px){.br span{display:none}}
@media(max-width:900px){.lk,.rt .cta,.rt .lg{display:none}.bg{display:block}}
.tg{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}
.sc2{background:var(--card);border:1px solid var(--line);border-radius:28px;overflow:hidden}
.sh{padding:24px 26px;display:flex;align-items:center;gap:16px}
.sh .l{flex:none;width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;font-size:1.7rem;font-weight:800}
.sh h3{margin:0;font-size:1.3rem}
.sh small{display:block;opacity:.85;font-size:.82rem;line-height:1.35;margin-top:2px}
.sA{background:linear-gradient(135deg,#6fd6f5,#2aa3c4);color:#06303d}
.sB{background:linear-gradient(135deg,#fde66a,#f2b92f);color:#3b2a00}
.sC{background:linear-gradient(135deg,#f79a57,#e2552b);color:#fff}
.pr{padding:8px 26px 18px}
.pr>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}
.pr>div:last-child{border:0}
.pr span{color:var(--mut);font-size:.98rem}
.pr b{font-size:1.3rem;letter-spacing:-.02em}
.pr b.fr{color:#25a35a;font-size:.95rem}
.ex{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.ex .card{text-align:center}
.ex b{display:block;font-size:2.2rem;letter-spacing:-.03em;background:linear-gradient(135deg,var(--pri),var(--acc));-webkit-background-clip:text;background-clip:text;color:transparent}
.nt{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:26px}
.nt>div{display:flex;gap:12px;align-items:flex-start;color:var(--mut);font-size:.95rem;background:color-mix(in srgb,var(--ink) 5%,transparent);padding:16px 18px;border-radius:18px}
.nt p{margin:0}.nt span{font-size:1.4rem}
.fq{max-width:760px;margin:auto}
.fq details{background:var(--card);border:1px solid var(--line);border-radius:20px;margin-bottom:12px;padding:0 22px}
.fq summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:600;font-size:1.05rem;display:flex;justify-content:space-between;gap:12px}
.fq summary::-webkit-details-marker{display:none}
.fq summary:after{content:"+";font-size:1.5rem;line-height:1;color:var(--acc);transition:transform .3s}
.fq details[open] summary:after{transform:rotate(45deg)}
.fq p{margin:0 0 18px;color:var(--mut)}
.mb{text-align:center;margin:34px 0 0}
.fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:20;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.fab>button{width:58px;height:58px;border-radius:50%;border:0;background:#25a35a;color:#fff;font-size:1.7rem;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.fab a{background:var(--card);color:var(--ink);text-decoration:none;font-weight:600;padding:10px 18px;border-radius:999px;border:1px solid var(--line);box-shadow:0 6px 18px rgba(0,0,0,.2);font-size:.95rem;opacity:0;transform:translateY(10px);pointer-events:none;transition:.3s}
.fab.o a{opacity:1;transform:none;pointer-events:auto}
.hero{background-size:cover;background-position:center;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:80px 24px;background:radial-gradient(circle at 50% 108%,#f6d08a 0,#f0a15f 14%,#2aa3c4 42%,#0b4f6c 78%,#06293b 100%);position:relative;overflow:hidden}
.hero .lo{width:clamp(130px,24vw,200px);height:clamp(130px,24vw,200px);border-radius:50%;margin:0 auto 28px;display:block;box-shadow:0 0 0 5px rgba(255,255,255,.92),0 14px 44px rgba(0,0,0,.45)}
.hero>div{will-change:transform,opacity}
.hero h1{font-size:clamp(2.6rem,9vw,6.4rem);line-height:1.02;letter-spacing:-.035em;margin:0 0 20px;font-weight:700;max-width:900px}
.hero p{max-width:600px;margin:0 auto 34px;font-size:clamp(1.05rem,2.4vw,1.4rem);opacity:.95}
.hero .sc{position:absolute;bottom:26px;left:50%;width:22px;height:36px;border:2px solid #fff9;border-radius:12px;margin-left:-11px}
.hero .sc:after{content:"";position:absolute;left:8px;top:7px;width:4px;height:7px;border-radius:2px;background:#fff;animation:sc 1.6s infinite}
@keyframes sc{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(12px)}}
.btn{display:inline-block;background:var(--acc);color:#fff;border:0;padding:14px 30px;border-radius:980px;font-size:1.05rem;font-weight:600;text-decoration:none;cursor:pointer}
section{padding:110px max(22px,calc((100vw - 1000px)/2))}
section:nth-of-type(even){background:var(--alt)}
h2{font-size:clamp(2.2rem,6.5vw,4rem);line-height:1.05;letter-spacing:-.03em;margin:0 0 14px;text-align:center;font-weight:700}
.sub strong{display:block;color:var(--ink);font-size:1.35em;letter-spacing:-.02em;margin-bottom:6px}
.sub{color:var(--mut);margin:0 auto 56px;text-align:center;max-width:620px;font-size:1.2rem}
.stats{display:flex;justify-content:center;gap:clamp(30px,10vw,140px);flex-wrap:wrap;text-align:center;background:var(--bg);padding:90px 22px}
.stats b{display:block;font-size:clamp(3.4rem,12vw,7rem);line-height:1;letter-spacing:-.04em;background:linear-gradient(135deg,var(--pri),var(--acc));-webkit-background-clip:text;background-clip:text;color:transparent}
.stats span{color:var(--mut);font-size:1.1rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:26px;padding:30px}
.card h3{margin:0 0 8px;font-size:1.25rem;letter-spacing:-.01em}
.card p{margin:0;color:var(--mut);font-size:1rem}
.ic{font-size:2.4rem;margin-bottom:8px}
.hs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;padding-bottom:14px;margin:0 calc(-1*max(22px,calc((100vw - 1000px)/2)));padding-inline:max(22px,calc((100vw - 1000px)/2));scrollbar-width:none}
.hs::-webkit-scrollbar{display:none}
.ph{flex:0 0 min(82%,640px);scroll-snap-align:center;aspect-ratio:16/10;border-radius:30px;margin:0;position:relative;overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover;display:block}
.ph figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 22px 18px;color:#fff;font-weight:600;background:linear-gradient(transparent,rgba(0,0,0,.65))}
.hero.ph0{background-size:cover;background-position:center}
.wrap{overflow-x:auto;border-radius:22px;border:1px solid var(--line)}
table{width:100%;border-collapse:collapse;background:var(--card);font-size:1rem}
th,td{padding:14px 14px;text-align:center;border:1px solid var(--line)}
.wrap table{border:0}
td:first-child{text-align:left;font-weight:600}
.ta{background:#7fdcf8;color:#111}.tb{background:#fce94f;color:#111}.tc{background:#ee6a2d;color:#fff}
.pd{font-weight:400;font-size:.82rem;color:var(--mut)}
h3.cd{text-align:center;margin:44px 0 16px;font-size:1.5rem}
.note{font-size:.9rem;color:var(--mut);margin:8px 0;text-align:center}
form{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:30px;padding:32px;max-width:760px;margin:auto}
form .full{grid-column:1/-1}
label{display:block;font-size:.85rem;margin-bottom:5px;color:var(--mut)}
input,select,textarea{width:100%;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font:inherit}
@media(max-width:600px){form{grid-template-columns:1fr;padding:22px}section{padding-top:80px;padding-bottom:80px}}
.ct{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;max-width:760px;margin:24px auto 0}
.ct .btn{margin:8px 8px 0 0;padding:10px 20px;font-size:.95rem}
footer{text-align:center;padding:36px 20px;color:var(--mut);font-size:.9rem}
.rv{opacity:0;transform:translateY(46px) scale(.98);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.hero .sc:after{animation:none}}
#fm{min-height:1.5em;margin-top:14px;font-weight:600;color:var(--pri)}
.fab{width:58px;height:58px;border-radius:50%;background:#25a35a;color:#fff;font-size:1.7rem;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.3)}
#pu{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .3s}
#pu.o{opacity:1;pointer-events:auto}
#pu .pb{background:var(--card);color:var(--ink);border-radius:30px;padding:36px 30px 30px;max-width:420px;width:100%;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.4);transform:scale(.88);transition:transform .45s cubic-bezier(.2,1.3,.3,1)}
#pu.o .pb{transform:none}
.ck{width:90px;height:90px;margin:0 auto 14px;display:block}
.ck circle{fill:none;stroke:#25a35a;stroke-width:3;stroke-dasharray:151;stroke-dashoffset:151}
.ck path{fill:none;stroke:#25a35a;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60}
.ck .x{display:none}
#pu.o .ck circle{animation:dr .6s .1s forwards}
#pu.o .ck path{animation:dr .4s .6s forwards}
#pu.ko .ck circle,#pu.ko .ck path{stroke:#d64545}
#pu.ko .ck .c{display:none}
#pu.ko .ck .x{display:inline}
@keyframes dr{to{stroke-dashoffset:0}}
#pu h3{margin:0 0 8px;font-size:1.5rem;letter-spacing:-.02em}
#pu p{margin:0 0 22px;color:var(--mut)}
#fm.okb,#fm.kob{padding:14px 18px;border-radius:16px;color:var(--ink);max-width:760px;margin:16px auto 0}
#fm.okb{background:rgba(37,163,90,.18);border:1px solid #25a35a}
#fm.kob{background:rgba(214,69,69,.16);border:1px solid #d64545}
.btn.done{background:#25a35a}
