:root {
  --lp-bg: #07101c;
  --lp-panel: #0d1a2b;
  --lp-panel-2: #13243a;
  --lp-line: rgba(255,255,255,.12);
  --lp-text: #f7f9fc;
  --lp-muted: #b6c2d2;
  --lp-red: #f02f3d;
  --lp-red-deep: #c91627;
}

body.campaign-page { background: var(--lp-bg); color: var(--lp-text); }
.campaign-page .site-header { background: rgba(7,16,28,.92); border-bottom-color: var(--lp-line); backdrop-filter: blur(18px); }
.campaign-page .campaign-shell { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.campaign-page .campaign-hero { padding: 72px 0 54px; position: relative; overflow: hidden; }
.campaign-page .campaign-hero::before { content:""; position:absolute; inset:-30% -10% auto 40%; height:620px; background:radial-gradient(circle, rgba(240,47,61,.26), transparent 62%); pointer-events:none; }
.campaign-page .campaign-grid { display:grid; grid-template-columns: 1.08fr .92fr; gap:64px; align-items:center; position:relative; }
.campaign-page .campaign-kicker { display:inline-flex; align-items:center; gap:9px; color:#ff7280; font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.campaign-page .campaign-kicker::before { content:""; width:28px; height:2px; background:var(--lp-red); }
.campaign-page h1 { font-size:clamp(2.7rem, 6vw, 5.8rem); line-height:.94; letter-spacing:-.055em; margin:18px 0 22px; max-width:760px; }
.campaign-page .campaign-lead { font-size:1.15rem; line-height:1.7; color:var(--lp-muted); max-width:650px; }
.campaign-page .hero-points { display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:28px 0 0; list-style:none; }
.campaign-page .hero-points li { border:1px solid var(--lp-line); background:rgba(255,255,255,.04); border-radius:999px; padding:9px 13px; color:#dbe5f1; font-size:.85rem; }
.campaign-page .action-row { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
.campaign-page .call-action, .campaign-page .form-action { min-height:54px; display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:12px; padding:0 22px; font-weight:850; }
.campaign-page .call-action { background:var(--lp-red); color:white; box-shadow:0 14px 34px rgba(240,47,61,.28); }
.campaign-page .form-action { border:1px solid var(--lp-line); color:white; background:rgba(255,255,255,.05); }
.campaign-page .call-unavailable { background:#26364a; box-shadow:none; opacity:.88; }
.campaign-page .campaign-visual { min-height:540px; border:1px solid var(--lp-line); border-radius:32px; position:relative; overflow:hidden; background:linear-gradient(145deg,#13243a,#080f1a); box-shadow:0 32px 80px rgba(0,0,0,.35); }
.campaign-page .campaign-visual img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; opacity:.78; }
.campaign-page .campaign-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,rgba(7,16,28,.92)); }
.campaign-page .visual-note { position:absolute; z-index:2; left:26px; right:26px; bottom:26px; padding:20px; border:1px solid rgba(255,255,255,.18); border-radius:18px; background:rgba(7,16,28,.72); backdrop-filter:blur(12px); }
.campaign-page .visual-note strong { display:block; font-size:1.15rem; margin-bottom:4px; }
.campaign-page .visual-note span { color:var(--lp-muted); font-size:.9rem; }
.campaign-page .trust-strip { border-top:1px solid var(--lp-line); border-bottom:1px solid var(--lp-line); background:#0a1524; }
.campaign-page .trust-strip .campaign-shell { display:grid; grid-template-columns:repeat(3,1fr); }
.campaign-page .trust-item { padding:20px; text-align:center; border-right:1px solid var(--lp-line); color:var(--lp-muted); }
.campaign-page .trust-item:last-child { border-right:0; }
.campaign-page .trust-item strong { color:white; display:block; font-size:1.05rem; }
.campaign-page .campaign-section { padding:74px 0; }
.campaign-page .section-heading { max-width:720px; margin-bottom:34px; }
.campaign-page .section-heading h2 { font-size:clamp(2rem,4vw,3.5rem); line-height:1; letter-spacing:-.04em; margin:0 0 14px; }
.campaign-page .section-heading p { color:var(--lp-muted); margin:0; font-size:1.05rem; }
.campaign-page .benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.campaign-page .benefit { padding:28px; border:1px solid var(--lp-line); border-radius:20px; background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015)); }
.campaign-page .benefit b { width:38px; height:38px; border-radius:11px; display:grid; place-items:center; background:rgba(240,47,61,.15); color:#ff7b87; margin-bottom:34px; }
.campaign-page .benefit h3 { margin:0 0 8px; font-size:1.25rem; }
.campaign-page .benefit p { margin:0; color:var(--lp-muted); line-height:1.65; }
.campaign-page .lead-zone { background:#091524; border-top:1px solid var(--lp-line); border-bottom:1px solid var(--lp-line); }
.campaign-page .lead-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; align-items:start; }
.campaign-page .lead-copy { position:sticky; top:110px; }
.campaign-page .lead-copy h2 { font-size:clamp(2.2rem,4vw,4rem); line-height:.98; letter-spacing:-.045em; margin:14px 0 18px; }
.campaign-page .lead-copy p { color:var(--lp-muted); line-height:1.7; }
.campaign-page .campaign-form { background:#f7f9fc; color:#111827; border-radius:24px; padding:30px; box-shadow:0 30px 80px rgba(0,0,0,.3); }
.campaign-page .step-meta { display:flex; justify-content:space-between; gap:12px; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:#5b6472; }
.campaign-page .step-track { height:5px; background:#dfe5ed; border-radius:999px; margin:12px 0 28px; overflow:hidden; }
.campaign-page .step-track span { display:block; height:100%; background:var(--lp-red); transition:width .25s ease; }
.campaign-page .form-step h3 { font-size:1.55rem; margin:0 0 20px; }
.campaign-page .option-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:22px; }
.campaign-page .option { position:relative; }
.campaign-page .option input { position:absolute; opacity:0; }
.campaign-page .option label { display:flex; min-height:64px; padding:13px 15px; align-items:center; border:1px solid #ccd5e1; border-radius:12px; background:white; cursor:pointer; font-weight:750; }
.campaign-page .option input:checked + label { border-color:var(--lp-red); box-shadow:0 0 0 3px rgba(240,47,61,.12); color:var(--lp-red-deep); }
.campaign-page .campaign-form .field input, .campaign-page .campaign-form .field select { min-height:50px; border-radius:10px; background:white; }
.campaign-page .campaign-form .field-wide { grid-column:1 / -1; }
.campaign-page .form-nav { display:flex; gap:10px; margin-top:10px; }
.campaign-page .form-nav button { min-height:50px; border:0; border-radius:10px; font:inherit; font-weight:850; padding:0 20px; cursor:pointer; }
.campaign-page .next-button, .campaign-page .submit-button { background:var(--lp-red); color:white; flex:1; }
.campaign-page .back-button { background:#e7ebf1; color:#273244; }
.campaign-page .consent { color:#626d7c; font-size:.74rem; line-height:1.5; margin:14px 0 0; }
.campaign-page .inbound-panel { text-align:center; border:1px solid var(--lp-line); border-radius:28px; padding:56px 28px; background:linear-gradient(145deg,#14263c,#0a1524); }
.campaign-page .inbound-panel h3 { font-size:clamp(2rem,4vw,3.5rem); margin:0 0 14px; }
.campaign-page .inbound-panel p { max-width:620px; margin:0 auto 28px; color:var(--lp-muted); }
.campaign-page .inbound-panel .call-action { font-size:1.1rem; min-height:62px; padding:0 30px; }
.campaign-page .page-disclosure { color:#8290a3; font-size:.76rem; line-height:1.6; margin-top:28px; }
.campaign-page .site-footer { border-top:1px solid var(--lp-line); }

@media (max-width:900px) {
  .campaign-page .campaign-grid, .campaign-page .lead-layout { grid-template-columns:1fr; }
  .campaign-page .campaign-visual { min-height:420px; }
  .campaign-page .lead-copy { position:static; }
  .campaign-page .benefit-grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .campaign-page .campaign-shell { width:min(100% - 24px,1160px); }
  .campaign-page .campaign-hero { padding-top:50px; }
  .campaign-page .campaign-visual { min-height:340px; border-radius:22px; }
  .campaign-page .trust-strip .campaign-shell { grid-template-columns:1fr; }
  .campaign-page .trust-item { border-right:0; border-bottom:1px solid var(--lp-line); }
  .campaign-page .option-grid { grid-template-columns:1fr; }
  .campaign-page .campaign-form { padding:20px; }
}
