
:root {
  --brand: #241f8f;
  --brand-dark: #17135f;
  --brand-light: #eef1ff;
  --brand-mid: #dfe5ff;
  --ink: #1f2333;
  --muted: #667085;
  --bg: #f5f7fc;
  --line: #dfe4f2;
  --warning-bg: #fff7df;
  --critical-bg: #fff4f4;
  --critical-text: #a12222;
  --shadow-sm: 0 8px 20px rgba(0,0,0,0.04);
  --shadow-md: 0 12px 28px rgba(0,0,0,0.06);
  --shadow-lg: 0 14px 36px rgba(31,41,55,0.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(180deg,#eef2ff 0%, var(--bg) 220px, var(--bg) 100%);color:var(--ink)}
a{color:var(--brand)}
a:hover{color:var(--brand-dark)}
.app-shell{max-width:1120px;margin:0 auto;padding:24px 16px 40px}
.brand-row{display:flex;align-items:center;gap:18px;margin-bottom:16px}
.logo{width:132px;height:auto;display:block;filter:drop-shadow(0 6px 14px rgba(36,31,143,.12))}
.eyebrow{margin:0 0 8px;color:var(--brand);text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.9rem}
h1,h2,h3{margin:0 0 10px;line-height:1.14}
h1{font-size:clamp(2rem,3.5vw,3rem)}
h2{font-size:clamp(1.55rem,2.5vw,2.1rem)}
h3{font-size:clamp(1.1rem,1.9vw,1.3rem)}
.subtitle,.muted{color:var(--muted)}
.site-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:12px;background:rgba(255,255,255,.88);border:1px solid rgba(36,31,143,.1);border-radius:18px;backdrop-filter:blur(10px);box-shadow:var(--shadow-lg);position:sticky;top:0;z-index:10}
.nav-btn{border:0;background:var(--brand-light);color:var(--brand);font-weight:700;padding:10px 14px;border-radius:999px;cursor:pointer}
.nav-btn.active,.nav-btn:hover{background:var(--brand);color:#fff}
.final-progress-wrap{position:sticky;top:78px;z-index:9;background:#fff;border:1px solid #e6e6f0;border-radius:16px;padding:14px 16px;margin:0 0 22px;box-shadow:var(--shadow-sm)}
.final-progress-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:700;color:var(--brand)}
.final-progress-bar{height:12px;background:#dfe5ff;border-radius:999px;overflow:hidden}
.final-progress-fill{width:0;height:100%;background:linear-gradient(90deg,#6c7cff 0%, var(--brand) 60%, #1fae66 100%);transition:width .3s ease}
.page{display:none;opacity:0;transform:translateY(12px);padding-top:10px}.page.active{display:block;animation:fadeSlideIn .35s ease;opacity:1;transform:translateY(0)}
@keyframes fadeSlideIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.breadcrumb{color:var(--brand);font-weight:700;margin:0 0 12px}
.hero-card,.card{background:#fff;border-radius:20px;border:1px solid #e8e8f0;padding:22px;margin-bottom:18px;box-shadow:var(--shadow-sm);transition:all .2s ease}.hero-card:hover,.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.hero-card{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;background:radial-gradient(circle at 85% 18%, rgba(36,31,143,.10), transparent 28%), linear-gradient(180deg,#ffffff 0%,#fbfcff 100%);box-shadow:var(--shadow-lg)}
.card h2{padding-bottom:8px;border-bottom:1px solid #f0f0f5;margin-bottom:15px}
.tile-intro{margin:0 0 8px;color:var(--ink)}
.flow-grid{display:grid;gap:10px}
.flow-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:16px;padding:14px 16px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}
.flow-card:hover,.flow-card.current{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--brand);background:var(--brand-light)}
.flow-card span{display:block;line-height:1.4}.flow-card strong{display:block;margin-bottom:3px}
.flow-icon,.step-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:var(--brand-light);color:var(--brand);font-weight:800}.flow-icon{width:34px;height:34px;border-radius:10px}.step-badge{width:32px;height:32px;border-radius:50%}
.alert{border-radius:14px;padding:15px 16px;margin-bottom:18px;border-left:4px solid var(--brand);background:#f7f8ff}.alert.warning{background:var(--warning-bg);border-left:4px solid #e3a400}.alert.critical{background:var(--critical-bg);border-left:4px solid #d64545;color:var(--critical-text)}
.clean-list{margin:0;padding-left:1.2rem}.clean-list li{margin:0 0 10px}
.policy-list{list-style:none;padding:0;margin:0}.policy-list li{background:#f9f9ff;border:1px solid #eee;border-radius:12px;padding:15px;margin-bottom:10px}.policy-list ul{margin-top:10px}
.steps-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.step-item{background:#fbfcff;border:1px solid var(--line);border-radius:18px;padding:16px}.step-content{display:flex;align-items:flex-start;gap:12px}.step-note{background:transparent;border:0;padding:0}
.checklist{margin-top:15px}.checklist label{display:flex;align-items:center;gap:12px;padding:14px;background:#f9f9ff;border:1px solid #e6e6f2;border-radius:12px;margin-bottom:10px;cursor:pointer;transition:all .2s ease}.checklist label:hover{border-color:var(--brand);background:#f4f6ff}.checklist input[type="checkbox"]{width:18px;height:18px;accent-color:var(--brand)}.checklist input[type="checkbox"]:checked + span{text-decoration:line-through;color:#888}
.button{border:1px solid transparent;border-radius:999px;min-height:44px;padding:11px 18px;font-weight:600;letter-spacing:.2px;cursor:pointer;text-decoration:none;transition:transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--brand);color:#fff;box-shadow:0 6px 14px rgba(36,31,143,.2)}.button.primary:hover{background:var(--brand-dark)}.button.secondary{background:#fff;color:var(--brand);border-color:var(--brand-mid)}.button.secondary:hover{background:var(--brand-light)}
.tools-row{display:flex;gap:12px;flex-wrap:wrap}
.footer{margin-top:50px;padding:25px;background:#f7f8ff;border-top:1px solid #e6e6f0;text-align:center;font-size:14px;border-radius:18px}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}
@media (max-width:900px){.hero-card{grid-template-columns:1fr}}
@media (max-width:640px){.app-shell{padding:16px 12px 28px}.logo{width:185px}.brand-row{flex-direction:column;align-items:center;text-align:center;gap:10px}.site-nav,.final-progress-wrap{position:static}.tools-row{flex-direction:column}.button{width:100%}}
