/* --------------------------------------------------
   Brochure Styles (Modern 2025 Aesthetic)
   - Bold contrast + ultra-minimal core
   - Subtle retro orbital motifs
   - Print-friendly adjustments
----------------------------------------------------- */
:root {
  --bg: #0e0f14;
  --bg-alt: #151821;
  --bg-alt2: #1d222d;
  --surface: #232a35;
  --surface-soft: #2c3542;
  --text: #f5f7fa;
  --text-dim: #b4bcc7;
  --brand: linear-gradient(90deg,#7f5af0,#7048e8 40%,#5b3fcf 70%,#4732b3);
  --brand-accent: #7f5af0;
  --brand-accent-rgb: 127,90,240;
  --accent: #00d8ff;
  --danger: #ff4d4f;
  --warn: #ffb347;
  --success: #48d597;
  --radius: 18px;
  --shadow: 0 4px 16px -4px rgba(0,0,0,.4), 0 2px 6px -1px rgba(0,0,0,.3);
  --gradient-soft: radial-gradient(circle at 30% 50%,rgba(127,90,240,.15),transparent 60%),radial-gradient(circle at 80% 20%,rgba(0,216,255,.12),transparent 55%);
  --font-sans: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-serif: 'Playfair Display', Georgia, serif;
}

[data-theme="light"] {
  --bg: #fafbff;
  --bg-alt: #f1f4fa;
  --bg-alt2: #e9eef5;
  --surface: #ffffff;
  --surface-soft: #f5f7fb;
  --text: #1b212b;
  --text-dim: #5d6673;
  --shadow: 0 4px 20px -4px rgba(0,0,0,.08),0 2px 8px -2px rgba(0,0,0,.06);
  --gradient-soft: radial-gradient(circle at 25% 45%,rgba(127,90,240,.18),transparent 60%),radial-gradient(circle at 80% 25%,rgba(0,216,255,.16),transparent 55%);
}

/* Light theme contrast adjustments */
[data-theme="light"] .section-contrast { background: linear-gradient(135deg,#eef1f9,#dde3f0 55%,#d6dde9); }
[data-theme="light"] .panel-glow { background: linear-gradient(135deg,#ffffff,#f1f5fa); border-color: rgba(0,0,0,.06); }
[data-theme="light"] .panel-glow:before { background: radial-gradient(circle at 20% 30%,rgba(127,90,240,.20),transparent 65%),radial-gradient(circle at 80% 70%,rgba(0,216,255,.15),transparent 60%); }
[data-theme="light"] .final-cta { background: linear-gradient(140deg,#eef2f8,#e2e8f3 50%,#dde4ef); }
[data-theme="light"] .cta-panel { background:#fff; border-color: rgba(0,0,0,.08); }
[data-theme="light"] .cost-item { background: linear-gradient(90deg,rgba(255,77,79,.15),rgba(255,77,79,.05)); border-color: rgba(255,77,79,.45); }
[data-theme="light"] .objection-card { background:linear-gradient(140deg,rgba(127,90,240,.15),rgba(0,216,255,.08)); border-color:rgba(0,0,0,.06); }
[data-theme="light"] .radar { background:radial-gradient(circle at 50% 55%,#d0d7e3 0%,#b7c2d1 55%,#a6b3c4 75%); box-shadow:0 0 0 1px rgba(0,0,0,.08),0 35px 70px -28px rgba(0,0,0,.28); }
[data-theme="light"] .radar-circle { border-color:rgba(60,70,90,.35); }
[data-theme="light"] .radar-sweep { background:conic-gradient(from 0deg, rgba(40,55,90,.55), rgba(40,55,90,0.04) 55%, rgba(40,55,90,0) 70%); mix-blend-mode:multiply; }
[data-theme="light"] .radar-ping { background:radial-gradient(circle,#2d6bff 0%,rgba(45,107,255,.05) 70%); box-shadow:0 0 0 4px rgba(45,107,255,.25),0 0 22px -2px #2d6bff; }
[data-theme="light"] .radar-ping::after { content:""; position:absolute; inset:0; border-radius:50%; border:2px solid rgba(45,107,255,.5); animation: ping-outline 2.6s ease-out infinite; }
@keyframes ping-outline { 0% { transform:scale(.6); opacity:.6;} 70% { opacity:0;} 100% { transform:scale(1.6); opacity:0;} }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img, svg { max-width: 100%; display: block; }

h1,h2,h3,h4 { font-weight: 700; line-height: 1.15; letter-spacing: -.02em; }
h1 { font-size: clamp(2.5rem,6vw,4.2rem); font-family: var(--font-serif); }
h2 { font-size: clamp(1.9rem,4vw,3rem); }
h3 { font-size: 1.15rem; font-weight: 600; }

p,li { line-height: 1.55; }
.lead { font-size: clamp(1.1rem,2vw,1.4rem); font-weight: 500; color: var(--text-dim); max-width: 62ch; }
.small { font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; opacity: .7; }

.gradient-text { background: var(--brand); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Layout helpers */
.container { width: min(1240px,100% - 2.5rem); margin-inline: auto; }
.section { position: relative; padding: clamp(3.5rem,8vw,6.5rem) 0; background: transparent; }
.section-alt { background: var(--bg-alt); }
.section-contrast { background: linear-gradient(135deg,#1a101f,#0f1d29 55%,#101925); }
.section-title { margin: 0 0 1rem; }
.section-intro { margin: 0 0 2.4rem; color: var(--text-dim); max-width: 70ch; }

/* Toolbar */
.toolbar { position: sticky; top:0; z-index:50; backdrop-filter: blur(12px); background: rgba(20,22,30,.7); border-bottom: 1px solid rgba(255,255,255,.06); }
[data-theme="light"] .toolbar { background: rgba(255,255,255,.7); }
.toolbar-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; height:64px; }
.branding { display:flex; align-items:center; gap:.65rem; font-weight:600; }
.logo-shape { width:34px; height:34px; border-radius:10px; background: var(--brand); box-shadow:0 0 0 1px rgba(255,255,255,.08),0 4px 12px -2px rgba(0,0,0,.4); position:relative; }
.logo-shape:after { content:""; position:absolute; inset:4px; border-radius:7px; background:linear-gradient(145deg,#151821,#2a3140); mix-blend-mode:overlay; }
.brand-name { font-size:1.05rem; letter-spacing:.02em; }
.toolbar-actions { display:flex; gap:.5rem; align-items:center; }
.lang-btn, .theme-btn { cursor:pointer; font:inherit; border:1px solid rgba(255,255,255,.12); background:var(--surface-soft); color:var(--text); padding:.55rem .95rem; border-radius: 40px; font-size:.7rem; letter-spacing:.08em; font-weight:600; text-transform:uppercase; display:inline-flex; align-items:center; gap:.4rem; position:relative; }
.lang-btn[aria-pressed="true"] { background: var(--brand); border-color: rgba(255,255,255,.22); }
.lang-btn:not([aria-pressed="true"]):hover, .theme-btn:hover { background: var(--surface); }
.theme-btn { font-size:1rem; width:40px; height:40px; padding:0; display:flex; justify-content:center; }

/* Hero */
.hero { background: var(--gradient-soft); overflow:hidden; }
.hero-grid { display:grid; gap:clamp(2rem,4vw,3.5rem); align-items:center; }
@media (min-width: 880px) { .hero-grid { grid-template-columns: 1fr 1fr; } }
.hero-copy { position:relative; z-index:2; }
.hero-highlights { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.35rem; }
.pill { background: var(--surface-soft); color: var(--text-dim); padding:.55rem .85rem; font-size:.65rem; letter-spacing:.08em; border-radius: 40px; text-transform:uppercase; font-weight:600; position:relative; overflow:hidden; }
.pill:before { content:""; position:absolute; inset:0; background: linear-gradient(120deg,rgba(var(--brand-accent-rgb),.35),transparent); opacity:0; transition:.4s; }
.pill:hover:before { opacity:1; }
.hero-art { position:relative; min-height:380px; display:flex; align-items:center; justify-content:center; }
/* Radar hero animation */
.radar { position:relative; width:320px; height:320px; border-radius:50%; background:radial-gradient(circle at 50% 50%,#101826 0%,#06090d 70%); box-shadow:0 0 0 1px rgba(255,255,255,.06),0 30px 70px -30px rgba(0,0,0,.8); overflow:hidden; }
.radar-circle { position:absolute; inset:0; border:1px solid rgba(127,90,240,.15); border-radius:50%; animation: pulse-ring 6s linear infinite; }
.radar-circle.r2 { inset:14%; animation-delay: .8s; }
.radar-circle.r3 { inset:28%; animation-delay: 1.6s; }
@keyframes pulse-ring { 0% { opacity:.1; transform:scale(.9);} 50% { opacity:.35; } 100% { opacity:.05; transform:scale(1);} }
.radar-sweep { position:absolute; inset:0; background:conic-gradient(from 0deg, rgba(127,90,240,.55), rgba(127,90,240,0.05) 55%, rgba(127,90,240,0) 70%); animation: sweep 5s linear infinite; mix-blend-mode:screen; }
@keyframes sweep { to { transform:rotate(360deg); } }
.radar-ping { position:absolute; width:14px; height:14px; background:radial-gradient(circle,#00d8ff 0%,rgba(0,216,255,.05) 70%); border-radius:50%; animation: ping 4.5s ease-in-out infinite; box-shadow:0 0 0 4px rgba(0,216,255,.15),0 0 18px -2px #00d8ff; }
.radar-ping.p1 { top:18%; left:65%; animation-delay:.4s; }
.radar-ping.p2 { top:58%; left:30%; animation-delay:1.4s; }
.radar-ping.p3 { top:40%; left:78%; animation-delay:2.2s; }
@keyframes ping { 0% { transform:scale(.6); opacity:.2;} 40% { opacity:1;} 70% { opacity:.25;} 100% { transform:scale(1.4); opacity:0;} }

/* Reason Grid */
.reason-grid { display:grid; gap:1.4rem; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); }
.reason-card { position:relative; padding:1.25rem 1.2rem 1.45rem; background: var(--surface); border:1px solid rgba(255,255,255,.06); border-radius: var(--radius); box-shadow: var(--shadow); overflow:hidden; isolation:isolate; }
.reason-card:before { content:""; position:absolute; inset:0; background:linear-gradient(140deg,rgba(var(--brand-accent-rgb),.12),transparent 60%); opacity:0; transition:.5s; }
.reason-card:hover:before { opacity:1; }
.reason-card h3 { margin:0 0 .5rem; font-size:1rem; font-weight:600; letter-spacing:.01em; }
.reason-card p { margin:0; font-size:.85rem; color:var(--text-dim); }

/* Value Section */
.value-layout { display:grid; gap:3rem; align-items:start; }
@media (min-width: 960px) { .value-layout { grid-template-columns: 1.1fr .9fr; } }
.value-stats { display:grid; gap:1.1rem; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); }
.stat-block { background: var(--surface); border:1px solid rgba(255,255,255,.07); padding:1.25rem 1rem 1.4rem; border-radius: calc(var(--radius) - 4px); position:relative; overflow:hidden; }
.stat-block:after { content:""; position:absolute; inset:0; background: linear-gradient(140deg,rgba(127,90,240,.18),transparent 60%); opacity:0; transition:.5s; }
.stat-block:hover:after { opacity:1; }
.stat-number { font-size:2rem; font-weight:700; background: var(--brand); -webkit-background-clip:text; background-clip:text; color:transparent; letter-spacing:-.02em; }
.stat-label { font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--text-dim); margin-top:.35rem; }
.value-list { list-style:none; padding:0; margin:1.75rem 0 0; display:grid; gap:.75rem; }
.value-list li { position:relative; padding-left:1.4rem; font-size:.95rem; color:var(--text-dim); }
.value-list li:before { content:""; position:absolute; left:0; top:.55rem; width:.65rem; height:.65rem; background:linear-gradient(135deg,#00d8ff,#7f5af0); border-radius:50%; box-shadow:0 0 0 4px rgba(127,90,240,.15); }

/* Cost Section */
.cost-grid { display:grid; gap:3rem; }
@media (min-width: 980px) { .cost-grid { grid-template-columns: 1fr .7fr; } }
.cost-list { display:grid; gap:.85rem; margin-top:1.85rem; }
.cost-item { padding:.95rem 1rem; background: linear-gradient(90deg,rgba(255,77,79,.12),rgba(255,77,79,.04)); border:1px solid rgba(255,77,79,.35); border-radius:14px; font-size:.9rem; position:relative; }
.cost-item:before { content:"✕"; font-weight:700; margin-right:.65rem; color:var(--danger); }
.cta-panel { background: var(--surface); border:1px solid rgba(255,255,255,.08); border-radius: var(--radius); padding:2rem 1.6rem 2.2rem; box-shadow: var(--shadow); position:relative; overflow:hidden; }
.cta-panel:after { content:""; position:absolute; inset:0; background:linear-gradient(140deg,rgba(0,216,255,.15),transparent 65%); mix-blend-mode:overlay; }
.cta-panel h3 { margin:0 0 .85rem; font-size:1.25rem; }
.cta-panel p { margin:0 0 1.4rem; color:var(--text-dim); font-size:.95rem; }

/* Timeline */
.timeline { list-style:none; margin:2.5rem 0 0; padding:0; position:relative; }
.timeline:before { content:""; position:absolute; left:20px; top:0; bottom:0; width:2px; background:linear-gradient(var(--brand-accent),transparent); opacity:.5; }
.timeline-step { position:relative; display:flex; gap:1.2rem; padding:0 0 2.2rem 0; }
.timeline-step:last-child { padding-bottom:0; }
.step-index { width:40px; height:40px; background:var(--brand); border-radius:12px; display:flex; align-items:center; justify-content:center; font-weight:600; font-size:.95rem; box-shadow:0 4px 18px -4px rgba(127,90,240,.5); position:relative; z-index:2; }
.step-content h3 { margin:0 0 .4rem; font-size:1rem; font-weight:600; }
.step-content p { margin:0; font-size:.85rem; color:var(--text-dim); max-width:60ch; }
@media (min-width: 900px) {
  .timeline { display:grid; grid-template-columns: repeat(4,1fr); column-gap:2.2rem; }
  .timeline:before { display:none; }
  .timeline-step { flex-direction:column; padding:0; }
  .step-index { margin-bottom:1rem; }
  .step-content p { font-size:.8rem; }
}

/* Objections */
.objections-grid { display:grid; gap:3rem; }
@media (min-width: 1100px) { .objections-grid { grid-template-columns: 1.1fr .9fr; } }
.objection-list { display:grid; gap:1rem; }
.objection-card { background:linear-gradient(140deg,rgba(var(--brand-accent-rgb),.12),rgba(0,216,255,.05)); border:1px solid rgba(255,255,255,.08); border-radius:18px; padding:1rem 1.1rem 1.15rem; box-shadow: var(--shadow); position:relative; overflow:hidden; }
.objection-card:before { content:""; position:absolute; inset:0; background:linear-gradient(120deg,rgba(255,255,255,.18),transparent 70%); mix-blend-mode:overlay; opacity:0; transition:.5s; }
.objection-card:hover:before { opacity:.7; }
.objection-card h3 { margin:0 0 .55rem; font-size:.9rem; letter-spacing:.01em; font-weight:600; }
.objection-card p { margin:0; font-size:.8rem; color: var(--text-dim); }
.panel-glow { background: linear-gradient(135deg,#1a2533,#111923); border:1px solid rgba(255,255,255,.07); border-radius: var(--radius); padding:2rem 1.7rem 2.2rem; position:relative; overflow:hidden; }
.panel-glow:before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 20% 30%,rgba(127,90,240,.25),transparent 65%),radial-gradient(circle at 80% 70%,rgba(0,216,255,.18),transparent 60%); opacity:.55; }
.panel-glow h3 { margin:0 0 1rem; }
.checklist { list-style:none; padding:0; margin:0; display:grid; gap:.65rem; }
.checklist li { font-size:.8rem; padding-left:1.2rem; position:relative; color: var(--text-dim); }
.checklist li:before { content:"✔"; position:absolute; left:0; top:.05rem; font-size:.75rem; color: var(--success); }

/* Final CTA */
.final-cta { text-align:center; background: linear-gradient(140deg,#151821,#1c1f2a 50%,#171c26); position:relative; overflow:hidden; }
.final-cta:before, .final-cta:after { content:""; position:absolute; width:480px; height:480px; border-radius:50%; background: radial-gradient(circle at 30% 30%,rgba(127,90,240,.35),transparent 70%); top:-120px; left:-120px; filter:blur(30px); opacity:.5; }
.final-cta:after { left:auto; right:-160px; top:auto; bottom:-140px; background: radial-gradient(circle at 70% 70%,rgba(0,216,255,.3),transparent 65%); }
.final-heading { margin:0 0 1.1rem; }
.final-sub { margin:0 auto 2.1rem; max-width:62ch; color: var(--text-dim); }
.cta-actions { display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; }

/* Buttons */
.btn-primary,.btn-outline { --btn-pad:.95rem 1.6rem; font-size:.9rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; border-radius:46px; text-decoration:none; display:inline-flex; align-items:center; gap:.65rem; position:relative; overflow:hidden; padding: var(--btn-pad); }
.btn-large { --btn-pad:1.45rem 2.8rem; font-size:1.05rem; letter-spacing:.1em; }
.btn-primary { background: var(--brand); color:#fff; border:1px solid rgba(255,255,255,.18); box-shadow:0 4px 16px -4px rgba(127,90,240,.5); }
.btn-primary:before { content:""; position:absolute; inset:0; background: linear-gradient(120deg,rgba(255,255,255,.3),transparent); mix-blend-mode:overlay; opacity:0; transition:.5s; }
.btn-primary:hover:before { opacity:1; }
.btn-outline { background: var(--surface-soft); color: var(--text); border:1px solid rgba(255,255,255,.2); }
.btn-outline:hover { background: var(--surface); }

/* Footer */
.footer { background: var(--bg-alt2); padding:2.2rem 0; }
.footer-inner { display:flex; flex-wrap:wrap; gap:1.2rem; justify-content:space-between; align-items:center; }

/* Utility */
.panel, .card { background: var(--surface); border:1px solid rgba(255,255,255,.08); border-radius: var(--radius); box-shadow: var(--shadow); }

/* Print Styles */
@media print {
  body { background:#fff; color:#111; }
  .toolbar, .theme-btn { display:none !important; }
  .hero-art, .orbit, .planet { display:none !important; }
  .section, .section-alt, .section-contrast, .final-cta { background:#fff !important; box-shadow:none !important; }
  .reason-card, .stat-block, .cta-panel, .panel-glow, .timeline-step, .objection, .final-cta-inner { border:1px solid #999 !important; }
  a[href^="mailto"], a[href^="tel"] { text-decoration:underline; }
  .btn-primary, .btn-outline { background:#222 !important; color:#fff !important; box-shadow:none !important; }
  .gradient-text { color:#000; background:none; -webkit-background-clip:initial; background-clip:initial; }
}
