/* Edukanatomy · portal */
.p-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.p-hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 75% 45%,rgba(44,201,230,.22),transparent 45%),radial-gradient(circle at 15% 85%,rgba(252,230,98,.25),transparent 40%),radial-gradient(circle at 90% 90%,rgba(108,76,224,.12),transparent 40%)}
.p-hero-bg canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.p-hero-in{position:relative;max-width:1440px;margin:0 auto;padding:clamp(28px,5vw,64px) clamp(14px,3vw,32px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center}
@media (max-width:980px){.p-hero-in{grid-template-columns:1fr}}
.p-kicker{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font:700 .85rem var(--font);margin:0 0 18px}
.p-pulse{width:10px;height:10px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 0 rgba(44,201,230,.6);animation:h3dBeat 1.2s infinite}
.p-hero h1{font-size:clamp(2.6rem,6vw,4.8rem);margin:0 0 16px;line-height:1.02}
.p-grad{background:linear-gradient(100deg,#0A7690,#2CC9E6 45%,#6C4CE0);-webkit-background-clip:text;background-clip:text;color:transparent}
.p-lead{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--muted);max-width:620px;margin:0 0 24px}
.p-cta{display:flex;gap:12px;flex-wrap:wrap}
.p-demo-note{margin:14px 0 0;font-size:.9rem;color:var(--muted)}
.p-demo-msg{margin:8px 0 0;font-weight:700}
.p-hero-3d{position:relative;height:min(64vh,620px);min-height:380px}
.p-heart{position:absolute;inset:0}
.p-heart .h3d-canvas{cursor:grab}
.p-float{position:absolute;z-index:2;display:grid;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.9);border:1px solid var(--line);box-shadow:var(--shadow);font-size:.85rem;animation:pFloat 6s ease-in-out infinite}
.p-float b{font:800 1.05rem var(--display)}
.p-float small{color:var(--muted)}
.p-float.f1{left:2%;top:12%}.p-float.f2{right:2%;top:30%;animation-delay:-2s}.p-float.f3{left:8%;bottom:10%;animation-delay:-4s}
@keyframes pFloat{50%{transform:translateY(-10px)}}
.p-band{max-width:1440px;margin:0 auto;padding:22px clamp(14px,3vw,32px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.p-band div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px;display:grid}
.p-band b{font:800 2.2rem var(--display);color:var(--teal)}
.p-band span{color:var(--muted);font-weight:600}
@media (max-width:760px){.p-band{grid-template-columns:repeat(2,minmax(0,1fr))}}
.p-sec{max-width:1440px;margin:0 auto;padding:clamp(34px,5vw,64px) clamp(14px,3vw,32px)}
.p-alt{background:linear-gradient(180deg,rgba(44,201,230,.06),transparent)}
.p-sec-head{max-width:760px;margin-bottom:26px}
.p-sec-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:0}
.p-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:980px){.p-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.p-grid{grid-template-columns:1fr}}
.p-card{display:block;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;text-decoration:none;color:var(--ink)!important;transition:transform .25s,box-shadow .25s,border-color .25s}
a.p-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--cyan)}
.p-card h3{margin:14px 0 6px;font-size:1.15rem}
.p-card p{margin:0;color:var(--muted)}
.p-ico{display:inline-flex;width:48px;height:48px;border-radius:14px;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(44,201,230,.2),rgba(252,230,98,.35))}
.p-ico svg{width:26px;height:26px;stroke:#0D2131;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.p-who{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
@media (max-width:1100px){.p-who{grid-template-columns:repeat(2,minmax(0,1fr))}}
.p-who div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}
.p-who h3{margin:0 0 6px;font-size:1.05rem}
.p-who p{margin:0;color:var(--muted);font-size:.95rem}
.p-center{text-align:center;margin-top:24px}
.p-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:900px){.p-status{grid-template-columns:1fr}}
.p-status>div{border-radius:20px;padding:20px;border:1px solid var(--line);background:#fff}
.p-status h3{margin:0 0 10px}
.p-status ul{margin:0;padding-left:18px;color:var(--muted);display:grid;gap:6px}
.p-status .ok{border-top:5px solid #1F9D61}.p-status .wip{border-top:5px solid #E2B200}.p-status .next{border-top:5px solid var(--violet)}
