/* ═══════════════════════════════════════════
   QUANTUMX TECHNOLOGIES — Dark & Light Themes
   Aesthetic: Dark techy with cyan/teal accents
   ═══════════════════════════════════════════ */

:root {
    --font-display: 'Outfit', -apple-system, sans-serif;
    --font-mono: 'JetBrains Mono', monospace;
    --ease: cubic-bezier(0.16, 1, 0.3, 1);
    --transition: 0.4s var(--ease);
}

/* ── DARK THEME (default) ── */
[data-theme="dark"] {
    --bg-primary: #060B14;
    --bg-secondary: #0A1120;
    --bg-tertiary: #0E1628;
    --bg-card: #0C1322;
    --bg-card-hover: #111A2E;
    --accent: #00D4FF;
    --accent-light: #4DE8FF;
    --accent-dark: #0099BB;
    --accent-muted: rgba(0, 212, 255, 0.12);
    --accent-border: rgba(0, 212, 255, 0.25);
    --text-primary: #E8EDF5;
    --text-secondary: #8896AB;
    --text-muted: #4A5568;
    --border: rgba(255, 255, 255, 0.06);
    --border-card: rgba(0, 212, 255, 0.12);
    --nav-bg: rgba(6, 11, 20, 0.92);
    --nav-mobile-bg: rgba(6, 11, 20, 0.98);
    --shadow-card: 0 4px 32px rgba(0, 0, 0, 0.4);
    --shadow-glow: 0 0 40px rgba(0, 212, 255, 0.08);
    --hero-grid-line: rgba(0, 212, 255, 0.04);
    --hero-orb1: rgba(0, 212, 255, 0.12);
    --hero-orb2: rgba(0, 100, 200, 0.06);
    --toggle-track: #1A2236;
    --toggle-icon-sun: #4A5568;
    --toggle-icon-moon: #00D4FF;
    --input-bg: #0A1120;
    --input-border: rgba(0, 212, 255, 0.15);
    --input-focus: rgba(0, 212, 255, 0.4);
}

/* ── LIGHT THEME ── */
[data-theme="light"] {
    --bg-primary: #F4F7FC;
    --bg-secondary: #E8EEF6;
    --bg-tertiary: #DCE4F0;
    --bg-card: #FFFFFF;
    --bg-card-hover: #F0F4FA;
    --accent: #0088AA;
    --accent-light: #00A8D4;
    --accent-dark: #006680;
    --accent-muted: rgba(0, 136, 170, 0.08);
    --accent-border: rgba(0, 136, 170, 0.2);
    --text-primary: #0D1B2A;
    --text-secondary: #4A5568;
    --text-muted: #718096;
    --border: rgba(13, 27, 42, 0.08);
    --border-card: rgba(0, 136, 170, 0.15);
    --nav-bg: rgba(244, 247, 252, 0.94);
    --nav-mobile-bg: rgba(244, 247, 252, 0.98);
    --shadow-card: 0 2px 20px rgba(13, 27, 42, 0.06);
    --shadow-glow: none;
    --hero-grid-line: rgba(13, 27, 42, 0.03);
    --hero-orb1: rgba(0, 136, 170, 0.06);
    --hero-orb2: rgba(13, 27, 42, 0.04);
    --toggle-track: #DCE4F0;
    --toggle-icon-sun: #0088AA;
    --toggle-icon-moon: #718096;
    --input-bg: #FFFFFF;
    --input-border: rgba(0, 136, 170, 0.2);
    --input-focus: rgba(0, 136, 170, 0.4);
}

/* ── RESET ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; -webkit-font-smoothing:antialiased; }
body { font-family:var(--font-display); background:var(--bg-primary); color:var(--text-primary); line-height:1.7; overflow-x:hidden; }
.container { max-width:1240px; margin:0 auto; padding:0 2rem; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; }

/* Theme transition */
body, body *, .nav, .partner-card, .metric-card, .why-card, .pillar-card, .risk-card, .license-card, .value-card, .contact-form, .form-input {
    transition: background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

/* ── THEME TOGGLE ── */
.theme-toggle { position:relative; width:52px; height:28px; background:var(--toggle-track); border:1px solid var(--border); border-radius:14px; cursor:pointer; padding:0; margin-left:0.75rem; flex-shrink:0; }
.theme-toggle__thumb { position:absolute; top:2px; left:2px; width:22px; height:22px; background:var(--accent); border-radius:50%; transition:transform 0.3s var(--ease); }
[data-theme="light"] .theme-toggle__thumb { transform:translateX(24px); }
.theme-toggle__sun, .theme-toggle__moon { position:absolute; top:50%; transform:translateY(-50%); font-size:13px; line-height:1; }
.theme-toggle__sun { left:6px; color:var(--toggle-icon-sun); }
.theme-toggle__moon { right:6px; color:var(--toggle-icon-moon); }
.theme-toggle--desktop { display:none; }
@media(min-width:961px) { .theme-toggle--desktop { display:block; } .nav__right-controls .theme-toggle { display:none; } }

/* ── UTILITY ── */
.text-accent { color: var(--accent); }
.section-label { font-family:var(--font-mono); font-size:0.75rem; font-weight:600; text-transform:uppercase; letter-spacing:0.15em; color:var(--accent); display:block; margin-bottom:0.75rem; }
.section-title { font-size:clamp(1.75rem, 4vw, 2.75rem); font-weight:700; line-height:1.15; margin-bottom:1rem; }
.section__subtitle { color:var(--text-secondary); font-size:1.05rem; max-width:700px; margin:0 auto; }
.section__header { text-align:center; margin-bottom:3rem; }
.disclaimer-text { color:var(--text-muted); font-size:0.8rem; line-height:1.6; }

/* ── BUTTONS ── */
.btn { display:inline-flex; align-items:center; gap:0.5rem; padding:0.85rem 2rem; border-radius:6px; font-family:var(--font-display); font-weight:600; font-size:0.9rem; letter-spacing:0.02em; cursor:pointer; transition:all 0.3s var(--ease); border:none; text-decoration:none; }
.btn--primary { background:var(--accent); color:#060B14; }
.btn--primary:hover { background:var(--accent-light); transform:translateY(-1px); box-shadow:0 4px 20px rgba(0,212,255,0.3); }
.btn--outline { background:transparent; color:var(--accent); border:1.5px solid var(--accent-border); }
.btn--outline:hover { border-color:var(--accent); background:var(--accent-muted); }
.btn--full { width:100%; justify-content:center; }
.btn--lg { padding:1rem 2.5rem; font-size:1rem; }
.btn__icon { display:flex; }

/* ── NAVIGATION ══ */
.nav { position:fixed; top:0; left:0; right:0; z-index:1000; background:transparent; transition:background 0.3s, backdrop-filter 0.3s; }
.nav--scrolled { background:var(--nav-bg); backdrop-filter:blur(16px); border-bottom:1px solid var(--border); }
.nav__inner { display:flex; align-items:center; justify-content:space-between; max-width:1240px; margin:0 auto; padding:1rem 2rem; }
.nav__logo-img { height:120px; width:120px; border-radius:50%; object-fit:cover; }
.nav__links { display:flex; align-items:center; gap:0.25rem; }
.nav__link { padding:0.5rem 1rem; font-size:0.88rem; font-weight:500; color:var(--text-secondary); border-radius:6px; transition:color 0.2s, background 0.2s; }
.nav__link:hover, .nav__link.active { color:var(--text-primary); }
.nav__link.active { color:var(--accent); }
.nav__link--cta { background:var(--accent); color:#060B14 !important; font-weight:600; margin-left:0.5rem; }
.nav__link--cta:hover { background:var(--accent-light); }
.nav__toggle { display:none; background:none; border:none; cursor:pointer; padding:0.5rem; }
.nav__toggle span { display:block; width:22px; height:2px; background:var(--text-primary); margin:5px 0; transition:all 0.3s; border-radius:2px; }
.nav__right-controls { display:flex; align-items:center; gap:0.5rem; }

@media(max-width:960px) {
    .nav__toggle { display:block; }
    .nav__links { position:fixed; top:0; right:-100%; width:280px; height:100vh; flex-direction:column; background:var(--nav-mobile-bg); backdrop-filter:blur(20px); padding:5rem 2rem 2rem; gap:0.5rem; transition:right 0.4s var(--ease); align-items:stretch; border-left:1px solid var(--border); }
    .nav__links.active { right:0; }
    .nav__link { padding:0.75rem 1rem; font-size:1rem; }
    .nav__link--cta { text-align:center; margin-left:0; margin-top:0.5rem; }
    .theme-toggle--desktop { display:block !important; align-self:flex-start; margin-top:1rem; margin-left:1rem; }
    .nav__toggle.active span:nth-child(1) { transform:rotate(45deg) translate(5px, 5px); }
    .nav__toggle.active span:nth-child(2) { opacity:0; }
    .nav__toggle.active span:nth-child(3) { transform:rotate(-45deg) translate(5px, -5px); }
}

/* ── HERO ══ */
.hero { position:relative; min-height:100vh; display:flex; align-items:center; justify-content:center; overflow:hidden; padding:6rem 2rem 4rem; }
.hero__bg { position:absolute; inset:0; z-index:0; }
.hero__grid-overlay { position:absolute; inset:0; background-image:linear-gradient(var(--hero-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--hero-grid-line) 1px, transparent 1px); background-size:60px 60px; opacity:0.6; }
.hero__orb { position:absolute; border-radius:50%; filter:blur(80px); pointer-events:none; }
.hero__orb--1 { width:500px; height:500px; background:var(--hero-orb1); top:-10%; right:-5%; animation:orbFloat 12s ease-in-out infinite; }
.hero__orb--2 { width:400px; height:400px; background:var(--hero-orb2); bottom:-5%; left:-5%; animation:orbFloat 15s ease-in-out infinite reverse; }
.hero__particles { position:absolute; inset:0; z-index:1; width:100%; height:100%; }
@keyframes orbFloat { 0%,100%{transform:translate(0,0)} 50%{transform:translate(20px,-20px)} }

.hero__content { position:relative; z-index:2; text-align:center; max-width:900px; }
.hero__eyebrow { display:flex; align-items:center; justify-content:center; gap:1rem; font-family:var(--font-mono); font-size:0.95rem; font-weight:600; text-transform:uppercase; letter-spacing:0.18em; color:var(--accent); margin-bottom:1.5rem; }
.hero__eyebrow-line { width:50px; height:1px; background:var(--accent-border); }
.hero__title { font-size:clamp(2.5rem, 7vw, 5rem); font-weight:800; line-height:1.05; margin-bottom:1.5rem; }
.hero__title-accent { color:var(--accent); }
.hero__subtitle { font-size:1.15rem; color:var(--text-secondary); max-width:680px; margin:0 auto 2.5rem; line-height:1.7; }
.hero__actions { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-bottom:3.5rem; }
.hero__stats { display:flex; align-items:center; justify-content:center; gap:0; flex-wrap:wrap; }
.hero__stat { text-align:center; padding:0 1.5rem; }
.hero__stat-value { display:block; font-family:var(--font-mono); font-size:clamp(1.5rem, 3vw, 2rem); font-weight:700; color:var(--accent); }
.hero__stat-label { font-size:0.75rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.1em; margin-top:0.25rem; }
.hero__stat-divider { width:1px; height:40px; background:var(--border); }
.hero__scroll { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:0.5rem; color:var(--text-muted); font-size:0.7rem; text-transform:uppercase; letter-spacing:0.15em; }
.hero__scroll-line { width:1px; height:40px; background:linear-gradient(to bottom, var(--accent), transparent); animation:scrollPulse 2s ease-in-out infinite; }
@keyframes scrollPulse { 0%,100%{opacity:0.3; transform:scaleY(0.7)} 50%{opacity:1; transform:scaleY(1)} }

/* ── SECTIONS ══ */
.section { padding:6rem 0; }
.section--alt { background:var(--bg-secondary); }

/* ── PAGE HERO ══ */
.page-hero { position:relative; padding:10rem 0 4rem; text-align:center; overflow:hidden; }
.page-hero__bg { position:absolute; inset:0; z-index:0; }
.page-hero__title { font-size:clamp(2rem, 5vw, 3.25rem); font-weight:800; line-height:1.1; margin-bottom:1rem; position:relative; z-index:1; }
.page-hero__subtitle { color:var(--text-secondary); font-size:1.1rem; position:relative; z-index:1; }

/* ── OVERVIEW ══ */
.overview__grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.overview__heading { font-size:1.1rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:var(--accent); margin-bottom:1rem; }
.overview__lead { font-size:1.1rem; color:var(--text-secondary); margin-bottom:2rem; line-height:1.7; }
.overview__features { display:flex; flex-direction:column; gap:0.75rem; }
.overview__feature { display:flex; align-items:center; gap:0.75rem; font-size:0.95rem; color:var(--text-secondary); }
.overview__feature-icon { color:var(--accent); font-size:0.5rem; }
.value-cards { display:flex; flex-direction:column; gap:1rem; }
.value-card { display:flex; gap:1rem; align-items:flex-start; padding:1.25rem; background:var(--bg-card); border:1px solid var(--border-card); border-radius:10px; transition:all 0.3s; }
.value-card:hover { border-color:var(--accent); box-shadow:var(--shadow-glow); }
.value-card__icon { color:var(--accent); flex-shrink:0; margin-top:2px; }
.value-card strong { display:block; margin-bottom:0.25rem; font-size:0.95rem; }
.value-card p { font-size:0.82rem; color:var(--text-muted); line-height:1.5; margin:0; }
@media(max-width:768px) { .overview__grid { grid-template-columns:1fr; gap:2.5rem; } }

/* ── PARTNERS ══ */
.partners__grid { display:flex; flex-wrap:wrap; justify-content:center; gap:1.5rem; }
.partner-card { width:calc(33.333% - 1rem); min-width:250px; }
.partner-card { background:var(--bg-card); border:1px solid var(--border-card); border-radius:12px; padding:2rem 1.5rem; text-align:center; transition:all 0.3s; }
.partner-card:hover { border-color:var(--accent); transform:translateY(-4px); box-shadow:var(--shadow-glow); }
.partner-card__icon { color:var(--accent); margin-bottom:1rem; }
.partner-card h3 { font-size:1.05rem; font-weight:700; margin-bottom:0.75rem; }
.partner-card p { font-size:0.85rem; color:var(--text-secondary); line-height:1.6; margin-bottom:1rem; }
.partner-card__range { font-family:var(--font-mono); font-size:0.8rem; font-weight:600; color:var(--accent); }

/* ── GATED PREVIEW ══ */
.gated-preview { position:relative; border-radius:16px; overflow:hidden; border:1px solid var(--border-card); min-height:350px; }
.gated-preview__metrics { display:flex; justify-content:center; gap:2rem; padding:4rem 2rem; flex-wrap:wrap; filter:blur(3px); opacity:0.4; }
.gated-metric { text-align:center; }
.gated-metric__value { display:block; font-family:var(--font-mono); font-size:2.5rem; font-weight:700; color:var(--accent); }
.gated-metric__label { font-size:0.75rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.1em; }
.gated-preview__overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(6,11,20,0.6); backdrop-filter:blur(2px); }
[data-theme="light"] .gated-preview__overlay { background:rgba(244,247,252,0.7); }
.gated-preview__lock { text-align:center; padding:2.5rem; }
.gated-preview__lock svg { color:var(--accent); margin-bottom:1rem; }
.gated-preview__lock h3 { font-size:1.3rem; margin-bottom:0.75rem; }
.gated-preview__lock p { color:var(--text-secondary); font-size:0.9rem; max-width:500px; margin:0 auto 1.5rem; line-height:1.6; }

/* ── METRICS ══ */
.metrics__hero-row { display:flex; justify-content:center; gap:1.5rem; flex-wrap:wrap; margin-bottom:3rem; }
.metric-card { text-align:center; padding:1.75rem 1.5rem; background:var(--bg-card); border:1px solid var(--border-card); border-radius:12px; min-width:150px; flex:1; max-width:220px; }
.metric-card--hero { border-color:var(--accent-border); }
.metric-card--hero:hover { box-shadow:var(--shadow-glow); }
.metric-card__value { display:block; font-family:var(--font-mono); font-size:1.75rem; font-weight:700; color:var(--accent); margin-bottom:0.25rem; }
.metric-card__label { font-size:0.7rem; text-transform:uppercase; letter-spacing:0.12em; color:var(--text-muted); font-weight:600; }

/* ── WHY CARDS ══ */
.why__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:1.5rem; }
.why-card { background:var(--bg-card); border:1px solid var(--border); border-radius:12px; padding:2rem; transition:all 0.3s; }
.why-card:hover { border-color:var(--accent-border); box-shadow:var(--shadow-glow); }
.why-card__num { font-family:var(--font-mono); font-size:0.8rem; font-weight:700; color:var(--accent); display:block; margin-bottom:0.75rem; }
.why-card h3 { font-size:1.1rem; font-weight:700; margin-bottom:0.75rem; }
.why-card p { font-size:0.9rem; color:var(--text-secondary); line-height:1.7; }

/* ── PILLAR CARDS ══ */
.pillars__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:1.5rem; }
.pillar-card { background:var(--bg-card); border:1px solid var(--border-card); border-radius:12px; padding:2rem; position:relative; overflow:hidden; transition:all 0.3s; }
.pillar-card:hover { border-color:var(--accent); transform:translateY(-3px); box-shadow:var(--shadow-glow); }
.pillar-card__number { font-family:var(--font-mono); font-size:2.5rem; font-weight:800; color:var(--accent-muted); position:absolute; top:1rem; right:1.25rem; line-height:1; }
[data-theme="dark"] .pillar-card__number { color:rgba(0,212,255,0.08); }
.pillar-card h3 { font-size:1.05rem; font-weight:700; margin-bottom:0.75rem; color:var(--accent); }
.pillar-card p { font-size:0.88rem; color:var(--text-secondary); line-height:1.7; }

/* ── EXECUTION FLOW ══ */
.execution-flow { display:flex; align-items:center; justify-content:center; gap:0.75rem; flex-wrap:wrap; }
.exec-step { background:var(--bg-card); border:1px solid var(--border-card); border-radius:10px; padding:1.5rem 1.25rem; text-align:center; min-width:140px; flex:1; max-width:180px; }
.exec-step__badge { font-family:var(--font-mono); font-size:0.75rem; font-weight:700; color:var(--accent); background:var(--accent-muted); width:28px; height:28px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; margin-bottom:0.75rem; }
.exec-step h4 { font-size:0.9rem; font-weight:700; margin-bottom:0.35rem; }
.exec-step p { font-size:0.75rem; color:var(--text-muted); }
.exec-step__arrow { color:var(--accent); font-size:1.25rem; font-weight:700; }
@media(max-width:768px) { .execution-flow { flex-direction:column; } .exec-step__arrow { transform:rotate(90deg); } .exec-step { max-width:100%; } }

/* ── APPROACH ══ */
.approach__grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.approach__cycle { display:flex; flex-direction:column; gap:1rem; }
.cycle-step { display:flex; align-items:flex-start; gap:1rem; padding:1rem; border-left:2px solid var(--accent-border); transition:all 0.3s; }
.cycle-step:hover { border-left-color:var(--accent); background:var(--accent-muted); border-radius:0 8px 8px 0; }
.cycle-step__badge { font-family:var(--font-mono); font-size:0.7rem; font-weight:700; color:var(--accent); background:var(--accent-muted); padding:0.3rem 0.6rem; border-radius:4px; flex-shrink:0; }
.cycle-step p { font-size:0.9rem; color:var(--text-secondary); }
.approach__sidebar { background:var(--bg-card); border:1px solid var(--border-card); border-radius:12px; padding:2rem; }
.approach__sidebar h4 { font-size:1rem; font-weight:700; margin-bottom:0.75rem; }
.approach__sidebar p { font-size:0.9rem; color:var(--text-secondary); margin-bottom:1rem; }
.approach__sidebar ul { list-style:none; padding:0; }
.approach__sidebar li { font-size:0.88rem; color:var(--text-secondary); padding:0.4rem 0; padding-left:1.25rem; position:relative; }
.approach__sidebar li::before { content:''; position:absolute; left:0; top:50%; width:6px; height:6px; background:var(--accent); border-radius:50%; transform:translateY(-50%); }
@media(max-width:768px) { .approach__grid { grid-template-columns:1fr; } }

/* ── RISK CARDS ══ */
.risk__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:1.5rem; }
.risk-card { background:var(--bg-card); border:1px solid var(--border-card); border-radius:12px; padding:2rem; border-top:3px solid var(--accent); transition:all 0.3s; }
.risk-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-glow); }
.risk-card h3 { font-size:1rem; font-weight:700; margin-bottom:0.75rem; }
.risk-card p { font-size:0.88rem; color:var(--text-secondary); line-height:1.7; }
.risk__tagline { text-align:center; margin-top:2.5rem; font-family:var(--font-mono); font-size:0.85rem; font-weight:600; color:var(--text-secondary); letter-spacing:0.12em; text-transform:uppercase; }
.risk__tagline-sep { color:var(--accent); }

/* ── LICENSING CARDS ══ */
.licensing__grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1.5rem; margin-bottom:2rem; }
.license-card { background:var(--bg-card); border:1px solid var(--border-card); border-radius:14px; overflow:hidden; transition:all 0.3s; }
.license-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-glow); }
.license-card--featured { border-color:var(--accent); position:relative; }
.license-card--featured::before { content:''; position:absolute; inset:-1px; border-radius:14px; background:linear-gradient(135deg, var(--accent), transparent); opacity:0.1; pointer-events:none; }
.license-card__header { padding:2rem 1.5rem; text-align:center; border-bottom:1px solid var(--border); }
.license-card__tag { font-family:var(--font-mono); font-size:0.7rem; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--accent); display:block; margin-bottom:0.75rem; }
.license-card__price { font-family:var(--font-mono); font-size:2.25rem; font-weight:800; display:block; margin-bottom:0.25rem; }
.license-card--featured .license-card__price { color:var(--accent); }
.license-card__term { font-size:0.8rem; color:var(--text-muted); }
.license-card__body { padding:1.5rem; }
.license-card__body ul { list-style:none; padding:0; }
.license-card__body li { font-size:0.88rem; color:var(--text-secondary); padding:0.5rem 0; padding-left:1.5rem; position:relative; border-bottom:1px solid var(--border); }
.license-card__body li:last-child { border-bottom:none; }
.license-card__body li::before { content:'✓'; position:absolute; left:0; color:var(--accent); font-weight:700; }
.licensing__tagline { text-align:center; font-family:var(--font-mono); font-size:0.85rem; font-weight:600; color:var(--text-secondary); letter-spacing:0.12em; text-transform:uppercase; }
@media(max-width:768px) { .licensing__grid { grid-template-columns:1fr; } }

/* ── IMPLEMENTATION FLOW ══ */
.implementation-flow { display:flex; align-items:center; justify-content:center; gap:1.5rem; flex-wrap:wrap; margin-bottom:3rem; }
.impl-step { background:var(--bg-card); border:1px solid var(--accent-border); border-radius:12px; padding:2rem 1.5rem; text-align:center; flex:1; min-width:200px; max-width:280px; }
.impl-step__badge { font-family:var(--font-mono); font-size:0.7rem; font-weight:700; color:var(--text-muted); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:0.5rem; }
.impl-step h3 { font-size:1.1rem; font-weight:700; margin-bottom:0.5rem; }
.impl-step p { font-size:0.85rem; color:var(--text-secondary); }
.impl-step__arrow { color:var(--accent); font-size:1.5rem; font-weight:700; }
.impl-channels__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:1.25rem; }
.impl-channel { background:var(--bg-card); border:1px solid var(--border-card); border-radius:10px; padding:1.5rem; }
.impl-channel h4 { font-size:0.95rem; font-weight:700; margin-bottom:0.5rem; color:var(--accent); }
.impl-channel p { font-size:0.85rem; color:var(--text-secondary); line-height:1.6; }
@media(max-width:768px) { .implementation-flow { flex-direction:column; } .impl-step__arrow { transform:rotate(90deg); } .impl-step { max-width:100%; } }

/* ── DATA ROOM ══ */
.data-room { display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
.data-room__lock-icon { color:var(--accent); margin-bottom:1rem; }
.data-room__title { font-size:clamp(1.5rem, 3vw, 2.25rem); font-weight:800; margin-bottom:1rem; }
.data-room__text { color:var(--text-secondary); font-size:0.95rem; margin-bottom:1.5rem; line-height:1.7; }
.data-room__list { list-style:none; padding:0; margin-bottom:2rem; }
.data-room__list li { font-size:0.9rem; color:var(--text-secondary); padding:0.4rem 0; padding-left:1.5rem; position:relative; }
.data-room__list li::before { content:'✓'; position:absolute; left:0; color:var(--accent); font-weight:700; }
.data-room__contact { padding-top:1rem; border-top:1px solid var(--border); }
.data-room__contact p { color:var(--text-muted); font-size:0.85rem; margin-bottom:0.5rem; }
.data-room__contact a { display:block; color:var(--accent); font-size:0.9rem; margin-bottom:0.25rem; }
@media(max-width:768px) { .data-room { grid-template-columns:1fr; } }

/* ── CONTACT ══ */
.contact__grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; }
.contact__text { color:var(--text-secondary); font-size:1rem; line-height:1.7; margin-bottom:2rem; }
.contact__info-block { margin-bottom:2rem; }
.contact__info-block h4 { font-size:1.05rem; font-weight:700; margin-bottom:0.25rem; }
.contact__info-role { font-size:0.85rem; color:var(--text-muted); display:block; margin-bottom:0.75rem; }
.contact__info-item { display:flex; align-items:center; gap:0.5rem; font-size:0.9rem; margin-bottom:0.4rem; }
.contact__info-item svg { color:var(--accent); flex-shrink:0; }
.contact__info-item a { color:var(--accent); }
.contact__schedule { background:var(--bg-card); border:1px solid var(--accent-border); border-radius:12px; padding:1.5rem; margin-top:1rem; }
.contact__schedule h4 { font-size:1rem; font-weight:700; margin-bottom:0.5rem; color:var(--accent); }
.contact__schedule p { font-size:0.88rem; color:var(--text-secondary); margin-bottom:1rem; }
@media(max-width:768px) { .contact__grid { grid-template-columns:1fr; } }

/* ── FORMS ══ */
.contact-form h3 { font-size:1.2rem; font-weight:700; margin-bottom:1.5rem; }
.form-group { margin-bottom:1rem; }
.form-input { width:100%; padding:0.85rem 1rem; background:var(--input-bg); border:1px solid var(--input-border); border-radius:8px; color:var(--text-primary); font-family:var(--font-display); font-size:0.9rem; transition:border-color 0.3s, box-shadow 0.3s; outline:none; }
.form-input:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--input-focus); }
.form-input::placeholder { color:var(--text-muted); }
select.form-input { cursor:pointer; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234A5568' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; }
textarea.form-input { resize:vertical; min-height:80px; }
.form-note { font-size:0.75rem; color:var(--text-muted); margin-top:0.75rem; text-align:center; }

/* ── CTA SECTION ══ */
.cta-section { padding:5rem 0; background:var(--bg-secondary); }
.cta__inner { text-align:center; max-width:650px; margin:0 auto; }
.cta__title { font-size:clamp(1.75rem, 4vw, 2.5rem); font-weight:800; margin-bottom:1rem; }
.cta__text { color:var(--text-secondary); font-size:1.05rem; margin-bottom:2rem; line-height:1.7; }
.cta__actions { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* ── FOOTER ══ */
.footer { background:var(--bg-secondary); border-top:1px solid var(--border); padding:3rem 0 2rem; }
.footer__top { display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr; gap:2rem; margin-bottom:2.5rem; }
.footer__brand .nav__logo-img { height:70px; width:70px; border-radius:50%; object-fit:cover; margin-bottom:0.75rem; }
.footer__tagline { font-size:0.85rem; color:var(--text-muted); line-height:1.6; }
.footer__links-group h4 { font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--text-muted); margin-bottom:0.75rem; }
.footer__links-group a { display:block; font-size:0.85rem; color:var(--text-secondary); margin-bottom:0.4rem; transition:color 0.2s; }
.footer__links-group a:hover { color:var(--accent); }
.footer__bottom { padding-top:2rem; border-top:1px solid var(--border); }
.footer__disclaimer { font-size:0.7rem; color:var(--text-muted); line-height:1.7; margin-bottom:1rem; }
.footer__copy { font-size:0.75rem; color:var(--text-muted); }
@media(max-width:768px) { .footer__top { grid-template-columns:1fr 1fr; } }
@media(max-width:480px) { .footer__top { grid-template-columns:1fr; } }

/* ── SCROLL ANIMATIONS ══ */
.animate-section { opacity:0; transform:translateY(30px); transition:opacity 0.8s var(--ease), transform 0.8s var(--ease); }
.animate-section.visible { opacity:1; transform:translateY(0); }
.animate-item { opacity:0; transform:translateY(20px); transition:opacity 0.6s var(--ease), transform 0.6s var(--ease); }
.animate-item.visible { opacity:1; transform:translateY(0); }

/* ── LEGAL PAGES ══ */
.page-hero--compact { padding:8rem 0 3rem; }
.legal-content { max-width:800px; margin:0 auto; }
.legal-intro { font-size:1.05rem; color:var(--text-secondary); line-height:1.8; margin-bottom:2rem; }
.legal-section { margin-bottom:2.5rem; padding-bottom:2.5rem; border-bottom:1px solid var(--border); }
.legal-section:last-child { border-bottom:none; padding-bottom:0; }
.legal-section h2 { font-size:1.2rem; font-weight:700; margin-bottom:1rem; color:var(--text-primary); }
.legal-section h3 { font-size:1rem; font-weight:600; color:var(--accent); margin-top:1.25rem; margin-bottom:0.5rem; }
.legal-section p { font-size:0.92rem; color:var(--text-secondary); line-height:1.8; margin-bottom:0.75rem; }
.legal-section ul { list-style:none; padding:0; margin-bottom:1rem; }
.legal-section li { font-size:0.92rem; color:var(--text-secondary); padding:0.35rem 0; padding-left:1.5rem; position:relative; line-height:1.6; }
.legal-section li::before { content:''; position:absolute; left:0; top:0.7rem; width:6px; height:6px; background:var(--accent); border-radius:50%; }
.legal-section a { color:var(--accent); }
.legal-callout { background:var(--bg-card); border:1px solid var(--accent-border); border-left:3px solid var(--accent); border-radius:8px; padding:1.25rem 1.5rem; margin-bottom:2rem; }
.legal-callout p { margin-bottom:0; font-size:0.95rem; color:var(--text-secondary); line-height:1.7; }
.legal-divider { height:1px; background:linear-gradient(to right, transparent, var(--accent-border), transparent); margin:3rem 0; }
.legal-major-heading { margin-bottom:2rem; }
.legal-major-title { font-size:1.6rem; font-weight:800; color:var(--accent); padding-bottom:0.75rem; border-bottom:2px solid var(--accent-border); display:inline-block; }

/* ── AFFILIATE PAGES ══ */
.affiliate-login-banner { display:flex; align-items:center; justify-content:space-between; background:var(--bg-card); border:1px solid var(--accent-border); border-radius:14px; padding:2.5rem; gap:2rem; flex-wrap:wrap; }
.affiliate-login-banner__left h2 { font-size:1.3rem; font-weight:700; margin-bottom:0.5rem; }
.affiliate-login-banner__left p { color:var(--text-secondary); font-size:0.95rem; }

.affiliate-steps { display:grid; grid-template-columns:repeat(3, 1fr); gap:2rem; }
.affiliate-step { background:var(--bg-card); border:1px solid var(--border-card); border-radius:12px; padding:2rem; text-align:center; transition:all 0.3s; }
.affiliate-step:hover { border-color:var(--accent); transform:translateY(-3px); box-shadow:var(--shadow-glow); }
.affiliate-step__num { font-family:var(--font-mono); font-size:2rem; font-weight:800; color:var(--accent); margin-bottom:0.75rem; }
.affiliate-step h3 { font-size:1.05rem; font-weight:700; margin-bottom:0.75rem; }
.affiliate-step p { font-size:0.88rem; color:var(--text-secondary); line-height:1.7; }
@media(max-width:768px) { .affiliate-steps { grid-template-columns:1fr; } }

.affiliate-roles { display:grid; grid-template-columns:repeat(3, 1fr); gap:1.5rem; }
.affiliate-role { background:var(--bg-card); border:1px solid var(--border-card); border-radius:12px; padding:2rem; text-align:center; transition:all 0.3s; }
.affiliate-role:hover { border-color:var(--accent); box-shadow:var(--shadow-glow); }
.affiliate-role__icon { color:var(--accent); margin-bottom:1rem; }
.affiliate-role h3 { font-size:1.05rem; font-weight:700; margin-bottom:0.75rem; }
.affiliate-role p { font-size:0.88rem; color:var(--text-secondary); line-height:1.7; }
@media(max-width:768px) { .affiliate-roles { grid-template-columns:1fr; } }

.benefits__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:1.5rem; }
.benefit-card { background:var(--bg-card); border:1px solid var(--border-card); border-radius:12px; padding:2rem; border-top:3px solid var(--accent); transition:all 0.3s; }
.benefit-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-glow); }
.benefit-card h3 { font-size:1rem; font-weight:700; margin-bottom:0.75rem; }
.benefit-card p { font-size:0.88rem; color:var(--text-secondary); line-height:1.7; }

.affiliate-register { display:grid; grid-template-columns:1fr 1fr; gap:4rem; }
.affiliate-register__text { color:var(--text-secondary); font-size:0.95rem; line-height:1.7; margin-bottom:1rem; }
.affiliate-register__contact { margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--border); }
.affiliate-register__contact p { color:var(--text-muted); font-size:0.85rem; margin-bottom:0.5rem; }
.affiliate-register__contact a { display:block; color:var(--accent); font-size:0.9rem; margin-bottom:0.25rem; }
@media(max-width:768px) { .affiliate-register { grid-template-columns:1fr; } .affiliate-login-banner { flex-direction:column; text-align:center; } }
