:root{
  --brand-blue:#123A8A;
  --brand-pink:#E91E63;
  --brand-panel:#F4F7FF;
}

.brand.brand--enhanced,.footer-brand.footer-brand--enhanced{gap:12px;align-items:center}
.brand-logo{width:46px;height:46px;object-fit:contain;border-radius:12px;background:#fff;box-shadow:0 10px 24px rgba(18,58,138,.12)}
.brand-copy{display:flex;flex-direction:column;line-height:1.02}
.brand-copy strong{font-family:var(--serif);font-size:25px;color:var(--brand-blue)}
.brand-copy small{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-pink)}
.footer-brand--enhanced .brand-logo{width:52px;height:52px}
.footer-brand--enhanced .brand-copy strong{font-size:24px;color:#fff}
.footer-brand--enhanced .brand-copy small{color:var(--marigold)}

.hero.hero-enhanced{grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.hero-badge-row{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.hero-chip{padding:8px 14px;border-radius:999px;background:#fff;border:1px solid rgba(18,58,138,.14);font-weight:700;font-size:13px;color:var(--brand-blue)}
.hero-visual{display:grid;gap:20px}
.hero-brand-card{background:linear-gradient(135deg,#fff 0%,#f9fbff 55%,#ffeef6 100%);border:2px solid var(--ink);border-radius:28px;box-shadow:var(--shadow-lg);padding:22px;position:relative;overflow:hidden}
.hero-brand-card::after{content:"";position:absolute;inset:auto -35px -35px auto;width:150px;height:150px;background:radial-gradient(circle,var(--brand-pink),transparent 70%);opacity:.15}
.hero-brand-top{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.hero-brand-top img.logo-big{width:96px;height:96px;object-fit:contain;background:#fff;border-radius:24px;padding:8px;box-shadow:0 14px 28px rgba(18,58,138,.12)}
.hero-brand-top .hero-brand-text strong{display:block;font-family:var(--serif);font-size:34px;color:var(--brand-blue);line-height:1}
.hero-brand-top .hero-brand-text span{display:block;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-pink);margin-top:6px}
.hero-brand-top .hero-brand-text small{display:block;margin-top:10px;font-size:13px;color:var(--ink-soft)}
.hero-person{display:flex;align-items:center;gap:14px;padding:14px;border-radius:22px;background:#fff;border:1px solid rgba(18,58,138,.12)}
.circle-avatar{width:78px;height:78px;border-radius:50%;overflow:hidden;flex-shrink:0;border:4px solid #fff;box-shadow:0 8px 24px rgba(18,58,138,.18)}
.circle-avatar img{width:100%;height:100%;object-fit:cover}
.hero-person strong{display:block;font-size:18px}
.hero-person span{display:block;color:var(--muted);font-size:13px}
.hero-person .mini-cta{margin-top:6px;color:var(--brand-pink);font-weight:700;font-size:13px}

.teacher-photo.circle{aspect-ratio:1;border-radius:50%;max-width:340px;justify-self:center;border:8px solid rgba(255,255,255,.18);box-shadow:0 18px 34px rgba(0,0,0,.22);background:#fff}
.teacher-photo.circle img{width:100%;height:100%;object-fit:cover}
.teacher-strip.teacher-strip--photo{grid-template-columns:.9fr 1.1fr}
@media (max-width:860px){.teacher-strip.teacher-strip--photo{grid-template-columns:1fr}}

.product-card{padding:16px;gap:14px}
.product-thumb{aspect-ratio:1/1;border-radius:18px;overflow:hidden;border:1px solid rgba(18,58,138,.08);background:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.product-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.product-card:hover .product-thumb img{transform:scale(1.04)}
.product-card .badge{margin-bottom:4px}
.product-bullets{display:grid;gap:8px;margin-top:10px}
.product-bullets li{display:flex;gap:8px;font-size:13px;color:var(--ink-soft);line-height:1.45}
.product-bullets li::before{content:"✦";color:var(--brand-pink);font-size:12px;margin-top:1px}

.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:980px){.feature-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:580px){.feature-grid{grid-template-columns:1fr}}
.feature-card{background:#fff;border:1.5px solid var(--ink);border-radius:20px;padding:24px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}
.feature-card .icon{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:22px;background:linear-gradient(135deg,#edf3ff,#ffeaf4)}
.feature-card h3{font-size:18px;margin:0}
.feature-card p{font-size:14px;color:var(--muted);margin:0}

.app-install-band{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;background:linear-gradient(135deg,#0e2f79,#1b2a4a 55%,#4d1644 100%);border-radius:28px;padding:34px;color:#fff;box-shadow:var(--shadow-lg);margin:30px 0 10px}
@media (max-width:900px){.app-install-band{grid-template-columns:1fr}}
.install-copy p{color:rgba(255,255,255,.82);max-width:54ch}
.install-points{display:grid;gap:12px;margin:22px 0}
.install-points li{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:rgba(255,255,255,.88)}
.install-points li::before{content:"✓";color:#fff;background:rgba(255,255,255,.12);width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:800}
.install-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px}
.install-note{font-size:12.5px;color:rgba(255,255,255,.72);margin-top:12px}
.app-preview{display:flex;align-items:center;justify-content:center}
.phone-shell{width:280px;max-width:100%;border-radius:34px;background:#0c1733;padding:14px;border:1px solid rgba(255,255,255,.18);box-shadow:0 26px 60px rgba(0,0,0,.35)}
.phone-inner{background:linear-gradient(180deg,#f6f9ff,#fff0f7);border-radius:24px;padding:18px;min-height:470px;color:var(--ink);position:relative;overflow:hidden}
.phone-notch{width:106px;height:18px;border-radius:0 0 16px 16px;background:#0c1733;margin:-18px auto 18px}
.phone-app-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.phone-app-head img{width:52px;height:52px;border-radius:16px;background:#fff;padding:4px;object-fit:contain;box-shadow:0 10px 20px rgba(18,58,138,.12)}
.phone-app-head strong{display:block;font-size:18px;color:var(--brand-blue)}
.phone-app-head span{font-size:12px;font-weight:700;color:var(--brand-pink)}
.phone-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}
.phone-stat{background:#fff;border-radius:18px;padding:14px;box-shadow:0 8px 18px rgba(18,58,138,.08)}
.phone-stat b{display:block;font-size:20px;color:var(--brand-blue)}
.phone-stat span{font-size:12px;color:var(--muted)}
.phone-teacher{display:flex;align-items:center;gap:12px;margin-top:16px;background:#fff;border-radius:20px;padding:12px;box-shadow:0 8px 18px rgba(18,58,138,.08)}
.phone-teacher img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.phone-teacher small{display:block;color:var(--muted)}
.phone-pill-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.phone-pill{padding:7px 11px;border-radius:999px;background:#fff;border:1px solid rgba(18,58,138,.1);font-size:12px;font-weight:700;color:var(--brand-blue)}

.detail-visual{display:grid;gap:18px}
.detail-cover-card{background:#fff;border:2px solid var(--ink);border-radius:24px;padding:18px;box-shadow:var(--shadow);overflow:hidden}
.detail-cover-card img{width:100%;border-radius:18px;display:block}
.detail-meta-panel{background:#f8fbff;border:1px solid rgba(18,58,138,.1);border-radius:18px;padding:16px}
.detail-meta-panel h4{margin-bottom:10px}
.detail-meta-panel ul{display:grid;gap:10px}
.detail-meta-panel li{display:flex;gap:10px;font-size:14px;color:var(--ink-soft)}
.detail-meta-panel li::before{content:"•";color:var(--brand-pink);font-size:22px;line-height:1}
.info-chip-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.info-chip{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid rgba(18,58,138,.12);font-size:12px;font-weight:700;color:var(--brand-blue)}
.store-note-card{background:#fff7fb;border:1px solid rgba(233,30,99,.16);border-radius:20px;padding:18px 20px;margin-bottom:20px;display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
.store-note-card p{margin:0;color:var(--ink-soft)}

.install-btn-inline{display:inline-flex;align-items:center;gap:8px}
.install-btn-inline.hidden{display:none}
