/* ReignVoIP v2 — light overrides for the v2 blocks (v2.css, v2-home.css, v2-story.css, v2-wow.css). Loaded last. */

/* ---------- Header: v1 white glass ---------- */
.header { background: rgba(255, 255, 255, .85); border-bottom-color: transparent; }
.header.scrolled { background: rgba(255, 255, 255, .95); border-bottom-color: #e2e8f0; box-shadow: 0 4px 12px rgba(15, 23, 42, .06); }
.header .nav-link, .header .nav-dropdown-trigger { color: #64748b; }
.header .nav-link:hover, .header .nav-link.active, .header .nav-dropdown-trigger:hover { color: #0f172a; }
.header .nav-link::after { background: #2563eb; }
.header .btn-secondary.btn-sm { color: #0f172a; border: 1.5px solid #e2e8f0; background: #fff; }
.header .btn-secondary.btn-sm:hover { border-color: #2563eb; color: #2563eb; }
.header .btn-primary.btn-sm { background: linear-gradient(135deg, #2563eb, #38bdf8); color: #fff; box-shadow: 0 8px 22px rgba(37, 99, 235, .25); }
.header .mobile-toggle span { background: #0f172a; }

/* ---------- Intro: white screen, dark digits, blue waveform ---------- */
.js-intro .intro { background: #ffffff; }
.intro-num { color: #0f172a; }
.intro-num::after { background: #2563eb; }
.intro-wave path { stroke: #2563eb; }

/* ---------- Hero ---------- */
.hero2 { background: radial-gradient(1200px 640px at 75% 15%, #e3eeff 0%, #f5f8fd 55%, #ffffff 100%); color: #0f172a; }
.hero2-shade { background: linear-gradient(90deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .7) 40%, rgba(255, 255, 255, 0) 64%); }
.globe-on .hero2-shade { background: linear-gradient(90deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .72) 38%, rgba(255, 255, 255, 0) 62%); }
.hero2-title { color: #0f172a; }
.hero2-desc { color: #475569; }
.hero2-badge { background: rgba(37, 99, 235, .07); border-color: rgba(37, 99, 235, .22); color: #2563eb; }
.hero2-badge .dot { background: #2563eb; box-shadow: 0 0 0 0 rgba(37, 99, 235, .3); }
@keyframes ring2 { to { box-shadow: 0 0 0 12px rgba(37, 99, 235, 0); } }
.hero2 .btn-ghost { color: #0f172a; border: 1.5px solid #cbd5e1; background: #fff; backdrop-filter: none; }
.hero2 .btn-ghost:hover { border-color: #2563eb; color: #2563eb; }
.hero-facts { color: #64748b; }
.hero-facts svg { color: #2563eb; }
.hero2-scroll { border-color: rgba(15, 23, 42, .25); }
.hero2-scroll::after { background: #2563eb; }
@media (max-width: 1100px) {
  .globe-on .hero2-shade { background: linear-gradient(180deg, rgba(255, 255, 255, .9) 0%, rgba(255, 255, 255, .6) 55%, rgba(255, 255, 255, .05) 100%); }
}

/* ---------- Photos, glass cards ---------- */
.photo-frame { border-color: rgba(15, 23, 42, .08); box-shadow: 0 30px 70px rgba(15, 23, 42, .14); }
.glass { background: rgba(255, 255, 255, .92); border-color: #e2e8f0; box-shadow: 0 20px 50px rgba(15, 23, 42, .12); }
.about-badge span { color: #64748b; }

/* ---------- Stats strip + events ticker ---------- */
.stats2 { color: #0f172a; border-color: #e2e8f0; }
.stat2 + .stat2::before { background: #e2e8f0; }
.stat2 strong { background: linear-gradient(120deg, #2563eb, #38bdf8); -webkit-background-clip: text; background-clip: text; color: transparent; }
.stat2 span { color: #64748b; }
.marquee2 { background: #ffffff; border-top-color: #e2e8f0; }
.marquee2-cap { color: #64748b; }
.marquee2-track span { color: #0f172a; }
.marquee2-track span::after { color: #38bdf8; }

/* ---------- Generic v2 section text ---------- */
.v2-section .section-title, .callpath .section-title, .signal .section-title, .mosaic2-sec .section-title { color: #0f172a; }
.v2-section .section-desc, .callpath .section-desc { color: #64748b; }
.v2-section .section-label { color: #2563eb; }

/* ---------- Platform suite (the app windows stay dark: they depict the product UI) ---------- */
.suite-tab { background: #fff; border-color: #e2e8f0; color: #0f172a; }
.suite-tab:hover { border-color: #2563eb; }
.suite-tab[aria-selected="true"] { color: #fff; }
.suite-copy h3 { color: #0f172a; }
.suite-copy > p, .suite-note { color: #64748b; }
.suite-list li { color: #0f172a; }
.suite-list svg { color: #2563eb; }
.app-win {
  --v2-card: #0f172a; --v2-text: #e2e8f0; --v2-muted: #94a3b8; --v2-border: rgba(148, 163, 184, .18);
  background: #0f172a; border-color: #1e293b; box-shadow: 0 30px 70px rgba(15, 23, 42, .22);
}
.app-win .stat-trio strong { color: #fff; }

/* ---------- Call path ---------- */
.callpath { background: #ffffff; }
.cp-dot { background: #fff; }
.cp-node.is-on .cp-dot { color: #fff; box-shadow: 0 0 0 8px rgba(37, 99, 235, .12); }
.cp-signal { background: #2563eb; box-shadow: 0 0 0 6px rgba(37, 99, 235, .18), 0 0 24px 6px rgba(56, 189, 248, .45); }
.cp-panel h3 { color: #0f172a; }
.cp-panel p, .cp-desc { color: #64748b; }
/* call scene: keypad -> signal -> phone, driven by scroll progress in v2-motion.js */
.cp-scene { display: block; width: 100%; max-width: 880px; height: auto; max-height: 30vh; margin: 32px auto 0; overflow: visible; }
.cps-key rect { fill: #fff; stroke: #bfdbfe; stroke-width: 2; transition: fill .25s, stroke .25s; }
.cps-key text { font: 700 15px Manrope, sans-serif; fill: #2563eb; text-anchor: middle; transition: fill .25s; }
.cps-key.is-on rect { fill: #2563eb; stroke: #2563eb; }
.cps-key.is-on text { fill: #fff; }
.cps-base { fill: none; stroke: #cbd5e1; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 2 9; }
.cps-beam { fill: none; stroke: url(#cpBeam); stroke-width: 5; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
.cps-wp { fill: #fff; stroke: #cbd5e1; stroke-width: 3; transition: fill .3s, stroke .3s; }
.cps-wp.is-on { fill: #38bdf8; stroke: #2563eb; }
.cps-sig { fill: #2563eb; transition: opacity .2s; }
.cps-sig-glow { fill: #38bdf8; opacity: .55; transition: opacity .2s; }
.cps-body { fill: #fff; stroke: #0f172a; stroke-width: 3; }
.cps-screen { fill: #f1f5f9; transition: fill .3s; }
.cps-notch { fill: #0f172a; }
.cps-btn { fill: #cbd5e1; transition: fill .3s; }
.cps-glyph { fill: none; stroke: #fff; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.cps-label { font: 700 12px Manrope, sans-serif; fill: #059669; text-anchor: middle; opacity: 0; transition: opacity .3s; }
.cps-ring { fill: none; stroke: #10b981; stroke-width: 2; opacity: 0; transform-box: fill-box; transform-origin: center; }
.is-ringing .cps-btn { fill: #10b981; }
.is-ringing .cps-screen { fill: #ecfdf5; }
.is-ringing .cps-label { opacity: 1; }
.is-ringing .cps-ring { animation: cpsRing 1.8s ease-out infinite; }
.is-ringing .cps-ring.r2 { animation-delay: .9s; }
@keyframes cpsRing { 0% { opacity: .7; transform: scale(.82); } 100% { opacity: 0; transform: scale(1.45); } }
@media (max-width: 899px) { .cp-scene { margin: 4px 0 28px; max-height: none; } }
@media (prefers-reduced-motion: reduce) { .is-ringing .cps-ring { animation: none; opacity: .3; } .is-ringing .cps-ring.r2 { opacity: 0; } }

/* ---------- Softphone section: the device stays dark ---------- */
.phone {
  --line: rgba(148, 163, 184, .16); --line-strong: rgba(148, 163, 184, .28); --paper: #e8edf5; --mist: #8a97ad; --gold: #38bdf8;
  box-shadow: 0 40px 90px rgba(15, 23, 42, .28);
}
.dial-copy p { color: #475569; }
.dial-try button { background: #fff; }

/* ---------- About / values / team ---------- */
.about-copy p { color: #475569; }
.value { background: #f8fafc; border-color: #e2e8f0; }
.value:hover { border-color: rgba(37, 99, 235, .4); background: rgba(37, 99, 235, .04); }
.value h4 { color: #0f172a; }
.value p { color: #64748b; }
.person { background: #fff; border-color: #e2e8f0; }
.person:hover { border-color: rgba(37, 99, 235, .4); box-shadow: 0 30px 70px rgba(15, 23, 42, .18); }
.person-role { color: #7dd3fc; }

/* ---------- Timeline ---------- */
.timeline h3 { color: #0f172a; }
.tl-year { color: #2563eb; }
.tl-item::before { background: #fff; border-color: #2563eb; }

/* ---------- Events ---------- */
.event-tag { color: #0284c7; }
.event.award .event-tag { color: #2563eb; }
.event h4 { color: #0f172a; }
.event-part { color: #059669; }

/* ---------- Particle wordmark ---------- */
.signal { background: #f8fafc; border-top-color: #e2e8f0; }
.signal p { color: #64748b; }

/* ---------- Kinetic marquee ---------- */
.kmarq { background: #ffffff; border-top-color: #e2e8f0; }
.kmarq-track span { color: #0f172a; }
.kmarq-row.outline .kmarq-track span { -webkit-text-stroke-color: #2563eb; }

/* ---------- Gallery mosaic (captions stay white over the photo gradient) ---------- */
.mosaic2-sec { background: #ffffff; border-top-color: #e2e8f0; }
.mosaic2-intro p { color: #64748b; }
.m-tile { border-color: #e2e8f0; box-shadow: 0 18px 40px rgba(15, 23, 42, .1); }

/* ---------- Contacts ---------- */
.contact-card { background: #fff; border-color: #e2e8f0; color: #0f172a; box-shadow: 0 4px 12px rgba(15, 23, 42, .04); }
.contact-card:hover { border-color: rgba(37, 99, 235, .45); box-shadow: 0 14px 34px rgba(15, 23, 42, .1); }
.contact-card span { color: #64748b; }

/* ---------- Language menu on light ---------- */
.langm-btn > svg:first-child { color: #64748b; }
