:root {
  --primary-color: #7f1d1d;
  --primary-light: #fee2e2;
  --secondary-color: #4d7c0f;
  --dark-color: #221414;
  --text-color: #422626;
  --muted-color: #775f5f;
  --bg-color: #fff7f7;
  --surface-color: #ffffff;
  --border-color: #ead3d3;
  --radius-sm: 3px;
  --radius-md: 16px;
  --radius-lg: 32px;
  --shadow-soft: 0 18px 45px rgba(15, 23, 42, 0.10);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family: Arial, Helvetica, sans-serif; color:var(--text-color); background:var(--bg-color); line-height:1.6; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
.container { width:min(100% - 32px, 1240px); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.92); border-bottom:1px solid var(--border-color); backdrop-filter: blur(10px); }
.nav-wrap { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:22px; }
.brand-link { display:flex; align-items:center; gap:12px; font-weight:800; color:var(--dark-color); letter-spacing:-.02em; }
.logo { width:42px; height:42px; }
.main-nav { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.main-nav a { padding:9px 12px; border-radius:var(--radius-sm); color:var(--muted-color); font-size:15px; }
.main-nav a:hover, .main-nav a:focus { background:var(--primary-light); color:var(--dark-color); outline:none; }
.nav-login { border:1px solid var(--border-color); color:var(--primary-color)!important; }
.menu-toggle { display:none; width:42px; height:42px; border:1px solid var(--border-color); border-radius:var(--radius-sm); background:var(--surface-color); }
.menu-toggle span { display:block; width:20px; height:2px; background:var(--dark-color); margin:4px auto; }
.hero { padding:74px 0 58px; background:linear-gradient(135deg,var(--surface-color),var(--primary-light)); position:relative; overflow:hidden; }
.hero::after { content:""; position:absolute; inset:auto -10% -40% 55%; height:420px; background:radial-gradient(circle,var(--primary-light),transparent 65%); }
.hero-grid { display:flex; flex-direction:row-reverse; align-items:center; gap:44px; position:relative; z-index:1; }
.hero-copy, .hero-art { flex:1 1 0; }
.eyebrow { display:inline-flex; color:var(--primary-color); background:var(--primary-light); padding:7px 11px; border-radius:999px; font-size:13px; font-weight:700; margin-bottom:14px; }
h1 { font-size:clamp(34px,5vw,62px); line-height:1.04; letter-spacing:-.04em; margin:0 0 18px; color:var(--dark-color); }
h2 { font-size:clamp(26px,3vw,40px); line-height:1.15; letter-spacing:-.03em; color:var(--dark-color); margin:0 0 14px; }
h3 { color:var(--dark-color); margin:0 0 8px; }
p { margin:0 0 14px; }
.hero-copy p { font-size:18px; color:var(--muted-color); max-width:680px; }
.button-row { display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }
.btn { display:inline-flex; align-items:center; justify-content:center; padding:13px 18px; border-radius:var(--radius-sm); font-weight:800; border:1px solid transparent; cursor:pointer; transition:.2s ease; }
.btn.primary { background:var(--primary-color); color:#fff; box-shadow:var(--shadow-soft); }
.btn.secondary { background:var(--surface-color); color:var(--primary-color); border-color:var(--border-color); }
.btn:hover, .btn:focus { transform:translateY(-2px); outline:2px solid transparent; filter:brightness(.98); }
.hero-art { background:rgba(255,255,255,.55); border:1px solid var(--border-color); border-radius:var(--radius-lg); padding:20px; box-shadow:var(--shadow-soft); }
.hero-note { margin-top:14px; color:var(--muted-color); font-size:14px; }
.section { padding:70px 0; }
.section-heading { max-width:820px; margin-bottom:28px; }
.section-heading p { color:var(--muted-color); font-size:17px; }
.split-layout { display:grid; grid-template-columns: .9fr 1.1fr; gap:36px; align-items:start; }
.card-grid, .quick-grid, .feature-grid, .stats-grid, .indicator-grid, .help-grid, .steps-grid, .facts-grid { display:grid; gap:18px; }
.card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.card-grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.card-grid.single { grid-template-columns:1fr; }
.quick-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.quick-grid a, .info-card, .topic-card, .feature-grid article, .stat-card, .indicator-grid article, .help-grid article, .steps-grid article, .note-card, .doc-box, .mini-form, .contact-cards article { background:var(--surface-color); border:1px solid var(--border-color); border-radius:var(--radius-md); padding:22px; box-shadow:var(--shadow-soft); }
.quick-grid img, .feature-grid img { width:34px; height:34px; margin-bottom:16px; }
.quick-grid span { display:block; font-weight:800; color:var(--dark-color); margin-bottom:4px; }
.quick-grid small { color:var(--muted-color); }
.stats-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.stat-card strong { display:block; color:var(--primary-color); font-size:42px; line-height:1; margin-bottom:12px; }
.stat-card span { font-weight:800; color:var(--dark-color); }
.feature-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.path-list { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.path-list li { background:var(--surface-color); border:1px solid var(--border-color); border-radius:var(--radius-md); padding:24px; }
.path-list span, .steps-grid span { width:38px; height:38px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:var(--primary-light); color:var(--primary-color); font-weight:900; margin-bottom:14px; }
.faq-list { display:grid; gap:12px; }
.faq-item { border:1px solid var(--border-color); border-radius:var(--radius-md); background:var(--surface-color); overflow:hidden; }
.faq-question { width:100%; text-align:left; padding:18px 20px; border:0; background:transparent; color:var(--dark-color); font-weight:800; cursor:pointer; }
.faq-answer { display:none; padding:0 20px 18px; color:var(--muted-color); }
.faq-item.open .faq-answer { display:block; }
.strip-inner, .cta-inner { background:linear-gradient(135deg,var(--dark-color),var(--primary-color)); color:#fff; border-radius:var(--radius-lg); padding:34px; display:flex; justify-content:space-between; align-items:center; gap:22px; }
.strip-inner h2, .cta-inner h2 { color:#fff; }
.account-grid, .interface-grid, .contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:26px; align-items:start; }
.input-ghost { background:var(--bg-color); border:1px dashed var(--border-color); padding:13px; border-radius:var(--radius-sm); margin-bottom:12px; color:var(--muted-color); }
.phone-preview { max-width:280px; margin:auto; background:var(--surface-color); border:1px solid var(--border-color); border-radius:32px; padding:28px 20px; box-shadow:var(--shadow-soft); min-height:360px; }
.phone-preview span { display:block; width:70px; height:6px; border-radius:99px; background:var(--border-color); margin:0 auto 36px; }
.check-list { margin:0; padding:0; list-style:none; display:grid; gap:12px; }
.check-list li { background:var(--surface-color); border:1px solid var(--border-color); border-radius:var(--radius-sm); padding:14px 16px; }
.indicator-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.indicator-grid span { display:block; width:24px; height:24px; border-radius:50%; background:var(--secondary-color); margin-bottom:12px; }
.doc-box { max-width:900px; }
.doc-box hr { border:0; border-top:1px solid var(--border-color); margin:22px 0; }
.help-grid, .steps-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.map-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.map-list a { background:var(--surface-color); border:1px solid var(--border-color); border-radius:var(--radius-md); padding:18px; font-weight:800; }
.map-list span { display:block; color:var(--primary-color); margin-bottom:8px; }
.notes-grid { display:grid; grid-template-columns:1.2fr .9fr .9fr; gap:18px; }
.notes-grid article { background:var(--surface-color); border:1px solid var(--border-color); border-radius:var(--radius-md); padding:22px; }
.ui-panel { min-height:260px; background:var(--surface-color); border:1px solid var(--border-color); border-radius:var(--radius-lg); padding:22px; box-shadow:var(--shadow-soft); display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ui-panel div { border-radius:var(--radius-md); background:linear-gradient(135deg,var(--primary-light),#fff); border:1px solid var(--border-color); }
.ui-panel div:first-child { grid-row:span 2; }
.ui-panel span { grid-column:1/-1; font-weight:900; color:var(--primary-color); }
.facts-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.facts-grid article span { display:block; color:var(--muted-color); margin-bottom:8px; }
.facts-grid article strong { color:var(--dark-color); }
.page-hero.small { padding:58px 0; background:linear-gradient(135deg,var(--primary-light),var(--surface-color)); }
.contact-cards { display:grid; gap:16px; }
.site-form { background:var(--surface-color); border:1px solid var(--border-color); border-radius:var(--radius-lg); padding:26px; box-shadow:var(--shadow-soft); display:grid; gap:12px; }
.site-form label { font-weight:800; color:var(--dark-color); }
.site-form input, .site-form textarea { width:100%; padding:13px 14px; border:1px solid var(--border-color); border-radius:var(--radius-sm); font:inherit; background:#fff; color:var(--text-color); }
.site-form input:focus, .site-form textarea:focus { outline:3px solid var(--primary-light); border-color:var(--primary-color); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.check { display:flex; align-items:flex-start; gap:10px; font-weight:400!important; color:var(--muted-color)!important; }
.check input { width:auto; margin-top:5px; }
.form-status { color:var(--secondary-color); font-weight:800; min-height:22px; }
.form-shell { max-width:760px; }
.form-shell.compact { max-width:600px; display:grid; gap:18px; }
.legal-text { max-width:900px; background:var(--surface-color); border:1px solid var(--border-color); border-radius:var(--radius-lg); padding:32px; }
.site-footer { background:var(--dark-color); color:#dbe3ef; padding:44px 0; }
.footer-grid { display:grid; grid-template-columns:1.2fr .7fr 1fr; gap:28px; }
.footer-logo { width:44px; height:44px; margin-bottom:14px; }
.site-footer h3 { color:#fff; }
.site-footer a { display:block; color:#dbe3ef; margin-bottom:8px; }
.narrow { max-width:880px; }
