:root{
  --bg:#ffffff;
  --ink:#0f172a;
  --muted:#64748b;
  --line:#e5e7eb;
  --brand:#2563eb;
  --brand-ink:#0b4ed6;
  --card:#ffffff;
  --soft:#f8fafc;
  --radius:18px;
  --shadow:0 6px 24px rgba(15,23,42,.08)
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--ink);
  background:linear-gradient(180deg,#fff, var(--soft));
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial
}
img{max-width:100%;display:block}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1160px;margin:0 auto;padding:0 20px}
.shell{min-height:100%;display:flex;flex-direction:column}

.topbar{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);
  backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)
}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:68px}
.brand{font-weight:800;font-size:20px;letter-spacing:.4px;color:var(--ink)}
.menu{display:flex;gap:18px;flex-wrap:wrap}
.menu a{font-size:14px;color:var(--ink);opacity:.8}
.menu a:hover{opacity:1}

.mast{padding:28px 0 10px;border-bottom:1px solid var(--line);background:#fff}
.grid{display:grid;gap:24px}
.hero-grid{grid-template-columns:1.1fr .9fr;align-items:center}
.hero-media p{margin:0}
.movie{width:100%;aspect-ratio:16/9;border:0;border-radius:16px;box-shadow:var(--shadow)}

.content{display:grid;grid-template-columns:280px 1fr;gap:28px;padding:36px 20px}
.toc{position:sticky;top:92px;height:fit-content}
.toc-card{
  background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);
  padding:18px;display:grid;gap:10px
}
.toc-title{font-weight:700;font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}

.sections{display:grid;gap:28px}
.card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:26px
}
.flow>*+*{margin-top:12px}

.split{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}
.list{padding:0}
.list .list-title{padding:18px 18px 0;font-weight:700}
.list ul{margin:0;padding:12px 24px 22px}
.list li{padding:10px 0;border-bottom:1px dashed var(--line)}
.list li:last-child{border-bottom:none}

.grid.two{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}
.accent{background:linear-gradient(180deg,#f8fbff,#eef4ff);border-color:#dbeafe}
.badge{display:inline-block;background:#dbeafe;color:var(--brand);font-weight:700;padding:8px 12px;border-radius:999px}
.accent-body{margin-top:10px;font-size:15px}

.footer{margin-top:auto;border-top:1px solid var(--line);background:#fff}
.foot-grid{display:grid;grid-template-columns:1fr auto;gap:16px;padding:22px 20px}
.logo{font-weight:800}
.muted{color:var(--muted)}
.foot-links{display:flex;gap:14px}
.map{border-top:1px solid var(--line)}
.map iframe{width:100%;height:340px;border:0;display:block}
.legal{text-align:center;color:var(--muted);padding:12px 0;font-size:13px}

@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr}
  .content{grid-template-columns:1fr}
  .split,.grid.two{grid-template-columns:1fr}
  .menu{gap:12px}
}
