.campaign-page { background: #f6f9ff; }
.campaign-page h1 strong { color: transparent; background: linear-gradient(135deg, #e63445, #1762a5); -webkit-background-clip: text; background-clip: text; }
.campaign-header { position: fixed; }
.campaign-hero { position: relative; min-height: 94vh; display: flex; align-items: center; overflow: hidden; padding: 150px 0 90px; background: linear-gradient(115deg,#fff8f9 0%,#f4faff 50%,#e8f5ff 100%); }
.campaign-orb { position:absolute; border-radius:50%; filter:blur(8px); pointer-events:none; }
.campaign-orb-red { width:560px; height:560px; left:-230px; top:80px; background:radial-gradient(circle,rgba(217,31,53,.24),transparent 68%); }
.campaign-orb-blue { width:700px; height:700px; right:-280px; top:-70px; background:radial-gradient(circle,rgba(23,98,165,.25),transparent 68%); }
.campaign-hero-grid { position:relative; display:grid; grid-template-columns:minmax(0,1.06fr) minmax(390px,.74fr); align-items:center; gap:clamp(38px,6vw,100px); }
.campaign-copy h1 { max-width:900px; font-size:clamp(48px,6vw,88px); line-height:.96; }
.campaign-copy .lead { max-width:820px; }
.availability-pill { display:inline-flex; align-items:center; gap:9px; margin-bottom:22px; padding:10px 15px; border:1px solid rgba(23,98,165,.12); border-radius:999px; background:rgba(255,255,255,.7); color:#344258; font-weight:800; font-size:14px; box-shadow:0 12px 34px rgba(31,45,70,.08); }
.availability-pill span { width:9px; height:9px; border-radius:50%; background:#28a66a; box-shadow:0 0 0 6px rgba(40,166,106,.12); }
.hero-trust-row { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:26px; color:#4d5c70; font-size:14px; font-weight:750; }
.credit-card { position:relative; padding:clamp(26px,3.5vw,46px); background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(255,255,255,.46)); overflow:hidden; }
.credit-card::after { content:""; position:absolute; width:220px; height:220px; right:-80px; top:-90px; border-radius:50%; background:linear-gradient(135deg,rgba(217,31,53,.14),rgba(23,98,165,.18)); }
.credit-card-top { position:relative; z-index:1; display:flex; justify-content:space-between; gap:12px; align-items:center; }
.credit-label { color:#25334a; font-weight:950; letter-spacing:.13em; font-size:12px; }
.credit-status { padding:7px 10px; border-radius:999px; background:#eafff7; color:#16764c; font-size:10px; font-weight:950; }
.credit-amount { position:relative; z-index:1; margin:28px 0 8px; color:#172033; font-size:28px; font-weight:900; }
.credit-amount span { font-size:clamp(58px,6vw,88px); letter-spacing:-.07em; }
.price-example { margin:28px 0 18px; padding:20px; border-radius:24px; background:rgba(255,255,255,.66); border:1px solid rgba(255,255,255,.9); }
.price-example div { display:flex; justify-content:space-between; gap:18px; padding:10px 0; color:#58667a; }
.price-example .discount { color:#c72439; }
.price-example .total { margin-top:6px; padding-top:16px; border-top:1px solid rgba(23,32,51,.1); color:#172033; font-size:18px; }
.credit-card small { display:block; color:#7b8798; line-height:1.55; }
.proof-strip { padding:26px 0; background:#101b2d; color:#fff; }
.proof-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.proof-grid div { padding:10px 24px; border-right:1px solid rgba(255,255,255,.12); }
.proof-grid div:last-child { border-right:0; }
.proof-grid strong,.proof-grid span { display:block; }
.proof-grid strong { font-size:24px; }
.proof-grid span { margin-top:4px; color:#aebdd0; font-size:13px; }
.process-section { background:linear-gradient(180deg,#fff,#f5f9ff); }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.process-card { position:relative; min-height:310px; padding:34px; background:rgba(255,255,255,.7); }
.step-number { display:block; margin-bottom:50px; color:#1762a5; font-size:13px; font-weight:950; letter-spacing:.16em; }
.featured-step { background:linear-gradient(145deg,rgba(255,232,236,.9),rgba(231,244,255,.9)); transform:translateY(-12px); }
.use-section { padding:clamp(78px,9vw,140px) 0; background:radial-gradient(circle at 12% 10%,rgba(217,31,53,.12),transparent 28%),linear-gradient(135deg,#fff4f5,#edf8ff 55%,#f4f1ff); }
.use-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(36px,7vw,110px); align-items:start; }
.use-copy { position:sticky; top:150px; }
.text-link { color:#1762a5; font-weight:900; }
.use-cards { display:grid; gap:14px; }
.use-cards article { display:grid; grid-template-columns:58px 1fr; gap:20px; align-items:start; padding:25px 28px; border:1px solid rgba(255,255,255,.86); border-radius:26px; background:rgba(255,255,255,.62); box-shadow:0 18px 48px rgba(31,45,70,.08); }
.use-cards article>span { display:grid; place-items:center; width:52px; height:52px; border-radius:18px; background:linear-gradient(135deg,#ffe8ec,#e7f4ff); color:#1762a5; font-weight:950; }
.use-cards h3 { margin-bottom:7px; font-size:21px; }
.use-cards p { margin:0; }
.conditions-section { background:#fff; }
.conditions-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(30px,6vw,90px); align-items:center; }
.conditions-card { padding:clamp(30px,5vw,62px); }
.check-list { list-style:none; padding:0; margin:30px 0 0; }
.check-list li { position:relative; padding:16px 0 16px 42px; border-bottom:1px solid rgba(23,32,51,.08); color:#536176; line-height:1.6; }
.check-list li::before { content:"✓"; position:absolute; left:0; top:15px; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#eafff7; color:#168455; font-weight:950; }
.not-for-everyone { padding:20px; }
.not-for-everyone h3 { font-size:clamp(30px,3vw,48px); }
.mini-label { display:inline-block; margin-bottom:18px; color:#d91f35; font-size:11px; font-weight:950; letter-spacing:.16em; }
.comparison-section { padding:clamp(72px,8vw,120px) 0; background:#101b2d; }
.comparison-section h2,.comparison-section .eyebrow { color:#fff; }
.comparison-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(30px,6vw,90px); align-items:center; }
.comparison-table { padding:16px; background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.13); }
.comparison-row { display:grid; grid-template-columns:1.2fr 1fr 1.15fr; gap:12px; padding:18px 20px; border-bottom:1px solid rgba(255,255,255,.09); color:#dae4f1; }
.comparison-row:last-child { border-bottom:0; }
.header-row { color:#91a4bb; font-size:13px; }
.accent-row b:last-child { color:#ff8d9a; }
.total-row { margin-top:8px; border-radius:18px; background:rgba(255,255,255,.1); color:#fff; font-size:18px; }
.faq-section { background:linear-gradient(180deg,#fff,#f7f9ff); }
.faq-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(38px,7vw,110px); }
.faq-intro { position:sticky; top:145px; align-self:start; }
.faq-list { display:grid; gap:12px; }
.faq-list details { border:1px solid rgba(23,98,165,.1); border-radius:22px; background:#fff; box-shadow:0 14px 38px rgba(31,45,70,.06); }
.faq-list summary { cursor:pointer; list-style:none; padding:23px 58px 23px 24px; color:#172033; font-weight:900; position:relative; }
.faq-list summary::after { content:"+"; position:absolute; right:24px; top:16px; font-size:30px; color:#1762a5; }
.faq-list details[open] summary::after { content:"–"; }
.faq-list details p { padding:0 24px 24px; margin:0; }
.application-section { padding:clamp(78px,9vw,140px) 0; background:radial-gradient(circle at 15% 20%,rgba(217,31,53,.16),transparent 32%),radial-gradient(circle at 88% 10%,rgba(23,98,165,.2),transparent 34%),linear-gradient(135deg,#fff0f2,#eff8ff); }
.application-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(34px,7vw,100px); align-items:start; }
.application-copy { padding-top:28px; }
.response-box { margin-top:34px; padding:24px; border-radius:24px; background:rgba(255,255,255,.56); }
.response-box span { font-weight:900; color:#172033; }
.response-box ul { margin:14px 0 0; padding-left:20px; color:#607086; line-height:1.8; }
.campaign-form { padding:clamp(24px,4vw,44px); background:rgba(255,255,255,.72); display:grid; gap:17px; }
.campaign-form select { width:100%; border:1px solid rgba(255,255,255,.9); border-radius:18px; padding:15px 16px; background:rgba(255,255,255,.82); color:#172033; font:inherit; outline:none; }
.form-submit { width:100%; }
.form-assurance { margin:0; text-align:center; font-size:13px; }
.campaign-footer .footer-bottom { line-height:1.6; }

@media (max-width:1100px) {
  .campaign-hero-grid,.use-grid,.conditions-grid,.comparison-grid,.faq-grid,.application-grid { grid-template-columns:1fr; }
  .campaign-copy h1 { max-width:1000px; }
  .credit-card { max-width:680px; }
  .process-grid { grid-template-columns:repeat(2,1fr); }
  .use-copy,.faq-intro { position:static; }
}
@media (max-width:820px) {
  .campaign-hero { min-height:auto; padding-top:125px; }
  .campaign-hero-grid { gap:30px; }
  .campaign-copy h1 { font-size:clamp(42px,11vw,66px); }
  .proof-grid { grid-template-columns:repeat(2,1fr); }
  .proof-grid div:nth-child(2) { border-right:0; }
  .proof-grid div:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.12); }
  .process-grid { grid-template-columns:1fr; }
  .featured-step { transform:none; }
  .campaign-header .primary-nav.is-open { display:flex; }
}
@media (max-width:560px) {
  .campaign-copy h1 { font-size:42px; }
  .campaign-copy .lead { font-size:18px; }
  .hero-trust-row { display:grid; }
  .credit-card-top { align-items:flex-start; flex-direction:column; }
  .credit-amount span { font-size:58px; }
  .proof-grid { grid-template-columns:1fr 1fr; }
  .proof-grid div { padding:14px 12px; }
  .proof-grid strong { font-size:20px; }
  .use-cards article { grid-template-columns:1fr; }
  .comparison-row { grid-template-columns:1.1fr .85fr 1fr; padding:15px 10px; font-size:12px; }
  .comparison-row b { overflow-wrap:anywhere; }
  .form-row { grid-template-columns:1fr; }
}
