:root {
  --bg: #f4efe6;
  --ink: #12202c;
  --muted: #5b6b78;
  --line: #d7cfc2;
  --navy: #16324a;
  --cta: #c45c26;
  --paper: #fffdf8;
  --font: "Segoe UI Variable Text", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space: 1rem;
  --space-lg: 1.25rem;
  --space-xl: 1.5rem;
  --pad: 1rem;
}
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); }
a { color: var(--navy); }
.skip {
  position: absolute; left: -999px; top: 0;
}
.skip:focus { left: var(--space-xs); top: var(--space-xs); background: #fff; padding: 0.4rem 0.6rem; z-index: 9; }
.ad-wrap { width: min(1120px, calc(100% - 1.5rem)); margin-inline: auto; }
.ad-top { background: var(--navy); color: #f7f4ef; }
.ad-top a { color: inherit; text-decoration: none; }
.ad-top-inner { min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm); }
.ad-brand { display: flex; align-items: center; gap: var(--space-xs); font-weight: 750; }
.ad-brand span {
  width: 1.6rem; height: 1.6rem; border-radius: 8px; display: grid; place-items: center;
  background: #f7f4ef; color: var(--navy); font-size: 0.85rem;
}
.ad-top nav { display: flex; gap: var(--space-sm); font-size: 0.9rem; font-weight: 650; }
.ad-hero { padding: var(--space-xl) 0 0; margin-bottom: var(--space-lg); }
.ad-hero h1 { margin: var(--space-xs) 0 var(--space-sm); font-size: clamp(1.7rem, 6vw, 2.6rem); letter-spacing: -0.03em; }
.ad-hero .lede { font-size: 1.05rem; max-width: 40rem; color: var(--muted); margin: 0; }
.ad-kicker { margin: 0; font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 750; color: var(--cta); }
.ad-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin: var(--space) 0 0; }
.ad-btn {
  min-height: 44px; padding: 0.55rem 0.95rem; border-radius: 10px; text-decoration: none;
  display: inline-grid; place-items: center; font-weight: 700; border: 1px solid transparent;
}
.ad-btn.primary { background: var(--cta); color: #fffaf6; }
.ad-btn.ghost { background: var(--paper); color: var(--navy); border-color: var(--line); }
.ad-points { display: grid; gap: var(--space); margin-bottom: var(--space-lg); }
@media (min-width: 720px) { .ad-points { grid-template-columns: 1fr 1fr 1fr; } }
.ad-points article, .ad-card, .ad-form {
  background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: var(--pad);
}
.ad-points h2, .ad-card h2, .ad-form h2 { margin: 0 0 var(--space-xs); font-size: 1.05rem; }
.ad-live { margin-bottom: var(--space-lg); display: grid; gap: var(--space); }
.ad-live h2 { margin: 0; }
.ad-frame-wrap {
  border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: #fff;
  box-shadow: 0 10px 30px rgba(18, 32, 44, 0.08);
}
.ad-frame-wrap iframe { width: 100%; height: min(78vh, 820px); min-height: 480px; border: 0; background: #eef1f4; }
.ad-money { margin-bottom: var(--space-xl); display: grid; gap: var(--space); }
.ad-money > div { display: grid; gap: var(--space); align-content: start; }
@media (min-width: 860px) { .ad-money { grid-template-columns: 1fr 1fr; } }
.ad-form { display: grid; gap: var(--space-sm); }
.ad-form .field { display: grid; gap: 0.25rem; margin: 0; }
.ad-form label { font-weight: 650; font-size: 0.9rem; }
.ad-form input, .ad-form textarea {
  min-height: 44px; border: 1px solid var(--line); border-radius: 10px; padding: 0.45rem 0.65rem;
  font: inherit; width: 100%;
}
.ad-form button {
  min-height: 44px; border: 0; border-radius: 10px; background: var(--navy); color: #f7f4ef;
  font: inherit; font-weight: 700; padding: 0.5rem 0.9rem; cursor: pointer;
}
.ad-flash { padding: 0.6rem 0.8rem; border-radius: 10px; background: #e7f4ec; margin: 0; }
.ad-flash.err { background: #fdecea; }
.ad-foot { border-top: 1px solid var(--line); padding: var(--space) 0 var(--space-xl); color: var(--muted); font-size: 0.88rem; }
.ad-foot a { margin-right: var(--space-sm); }
.ad-note { color: var(--muted); font-size: 0.88rem; margin: 0; }
