/* ============================================================
   InfyTech V7 — Premium White Editorial Theme
   Scoped to body.theme-white. Flips theme vars + restyles
   hardcoded components for a light, image-first presentation.
   Footer stays dark. GPU-only motion. Reduced-motion safe.
   ============================================================ */

body.theme-white{
  --text:#050505; --text-2:#555555; --text-3:#8A8A8A;
  --border:rgba(5,5,5,0.08); --border-2:rgba(5,5,5,0.12);
  --deep:#FFFFFF; --navy:#FFFFFF; --navy-2:#F2F5FA; --navy-3:#FFFFFF;
  --surface:#FFFFFF; --surface-2:#F7F9FC;
  background:#FFFFFF; color:#050505;
}

/* ---------- Navigation (light) ---------- */
body.theme-white .nav{ background:rgba(255,255,255,0.72); border-bottom:1px solid rgba(5,5,5,0.06); }
body.theme-white .nav.scrolled{ background:rgba(255,255,255,0.9) !important;
  box-shadow:0 6px 26px rgba(5,5,5,0.07) !important; border-bottom-color:rgba(5,5,5,0.08) !important; }
body.theme-white .nav a, body.theme-white .nav .nav-links a{ color:#0A0A0A; }
body.theme-white .nav .nav-links a::after{ background:var(--gradient); }

/* ---------- Generic light surfaces / text ---------- */
body.theme-white h1, body.theme-white h2, body.theme-white h3, body.theme-white h4, body.theme-white h5{ color:#050505; }
body.theme-white .eyebrow{ color:#2563eb; }
body.theme-white .lead{ color:#555; }
body.theme-white .section-paper{ background:#FFFFFF; }

/* cards -> white with soft shadow */
body.theme-white .card{ background:#FFFFFF !important;
  border:1px solid rgba(5,5,5,0.07) !important; box-shadow:0 12px 36px rgba(5,5,5,0.06); }
body.theme-white .card:hover{ box-shadow:0 22px 56px rgba(5,5,5,0.10); }
body.theme-white .card h3, body.theme-white .card h4{ color:#050505; }
body.theme-white .card p, body.theme-white .card .pso p, body.theme-white .card .pso .l{ color:#555; }
body.theme-white .card-icon{ background:rgba(0,174,239,0.08); color:var(--blue); border:1px solid rgba(0,174,239,0.18); }
body.theme-white .card-link{ color:#2563eb; }
body.theme-white .pso .l{ color:#2563eb; }
/* the mask-gradient border on cards (from motion.css) -> softer on light */
body.theme-white .card::after, body.theme-white .ind::after{ opacity:0; }

/* proof brandmark chips */
body.theme-white .case-feature-brandmark{ box-shadow:0 4px 14px rgba(5,5,5,0.06); }
body.theme-white .portfolio-tag{ background:rgba(0,174,239,0.08); color:#2563eb; border:1px solid rgba(0,174,239,0.18); }

/* comparison table (Why InfyTech) -> light */
body.theme-white .cmp-cell{ color:#0A0A0A; border-color:rgba(5,5,5,0.08); }
body.theme-white .cmp-dim{ color:#555; }
body.theme-white .cmp-head{ color:#555; }
body.theme-white .cmp-head.us{ color:#2563eb; }
body.theme-white .cmp-us{ background:rgba(0,174,239,0.06); color:#050505; }
body.theme-white .cmp-them{ color:#9AA3B0; }

/* footer stays dark — re-flip vars within footer */
body.theme-white .footer{ --text:#F8FAFC; --text-2:#B8C5D6; --text-3:#6E809A;
  --border:rgba(255,255,255,0.08); background:#04101F; color:#F8FAFC; }
body.theme-white .footer h4{ color:#FFFFFF; }
body.theme-white .footer a, body.theme-white .footer p{ color:#B8C5D6; }
body.theme-white .footer a:hover{ color:#FFFFFF; }

/* ============================================================
   White Editorial Hero
   ============================================================ */
.hero-white{ position:relative; background:#FFFFFF; padding:clamp(120px,16vh,200px) 0 clamp(70px,9vw,120px);
  overflow:hidden; }
.hero-white .container{ max-width:1080px; }
.hw-eyebrow{ display:inline-flex; align-items:center; gap:10px; font-family:var(--font-mono);
  font-size:13px; letter-spacing:0.08em; text-transform:uppercase; color:#2563eb; margin-bottom:30px; }
.hw-dot{ width:8px; height:8px; border-radius:50%; background:var(--gradient); box-shadow:0 0 0 4px rgba(0,174,239,0.12);
  animation: hw-pulse 2.4s ease-in-out infinite; }
@keyframes hw-pulse{ 0%,100%{ box-shadow:0 0 0 4px rgba(0,174,239,0.12); } 50%{ box-shadow:0 0 0 8px rgba(0,174,239,0); } }

.hw-title{ font-family:var(--font-display); font-weight:800; color:#050505;
  font-size:clamp(44px, 7.4vw, 104px); line-height:1.0; letter-spacing:-0.035em; margin:0 0 34px; }
.hw-line{ display:block; opacity:0; transform:translateY(42px); animation: hw-line 1s cubic-bezier(.16,1,.3,1) forwards; }
.hw-line:nth-child(1){ animation-delay:.12s; }
.hw-line:nth-child(2){ animation-delay:.30s; }
.hw-line:nth-child(3){ animation-delay:.48s; }
@keyframes hw-line{ to{ opacity:1; transform:none; } }
.hw-accent{ background:var(--gradient); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* rotating service words */
.hw-rotator{ display:flex; align-items:baseline; gap:14px; font-family:var(--font-display); font-weight:800;
  font-size:clamp(24px, 3.6vw, 46px); letter-spacing:-0.02em; margin:0 0 32px; opacity:0;
  animation: hw-fade 1s ease .68s forwards; }
.hw-rot-pre{ color:#9AA3B0; font-weight:600; }
.hw-rot{ display:inline-block; height:1.18em; line-height:1.18em; overflow:hidden; position:relative; }
.hw-rot-list{ display:flex; flex-direction:column; animation: hw-rotwords 15s cubic-bezier(.7,0,.3,1) infinite; }
.hw-rot-list b{ height:1.18em; line-height:1.18em; display:block; font-weight:800;
  background:var(--gradient-2); -webkit-background-clip:text; background-clip:text; color:transparent; white-space:nowrap; }
@keyframes hw-rotwords{
  0%,11.5%      { transform:translateY(0); }
  14.3%,25.8%   { transform:translateY(-1.18em); }
  28.6%,40.1%   { transform:translateY(-2.36em); }
  42.9%,54.4%   { transform:translateY(-3.54em); }
  57.2%,68.7%   { transform:translateY(-4.72em); }
  71.5%,83.0%   { transform:translateY(-5.90em); }
  85.8%,100%    { transform:translateY(-7.08em); }
}

.hw-sub{ font-size:clamp(17px,1.5vw,21px); line-height:1.6; color:#555; max-width:560px; margin:0 0 38px;
  opacity:0; animation: hw-fade 1s ease .84s forwards; }
.hw-actions{ display:flex; align-items:center; gap:26px; flex-wrap:wrap;
  opacity:0; animation: hw-fade 1s ease 1s forwards; }
.hw-link{ font-weight:600; font-size:15px; color:#050505; display:inline-flex; align-items:center; gap:7px;
  transition:gap .2s ease; }
.hw-link:hover{ gap:11px; color:#2563eb; }
@keyframes hw-fade{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:none; } }

@media(max-width:760px){
  .hero-white{ padding:clamp(118px,16vh,140px) 0 60px; }
  .hw-title{ font-size:clamp(38px,11vw,56px); }
  .hw-rotator{ font-size:clamp(22px,7vw,30px); flex-wrap:wrap; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  .hw-line, .hw-rotator, .hw-sub, .hw-actions{ opacity:1 !important; transform:none !important; animation:none !important; }
  .hw-rot-list{ animation:none !important; }
  .hw-dot{ animation:none !important; }
}

/* ============================================================
   V7 White — INNER PAGES (heroes + signature dark sections)
   ============================================================ */
/* page-head hero -> light editorial; remove injected grid background */
body.theme-white .page-head{ background:#FFFFFF !important; }
body.theme-white .hero-fx{ display:none !important; }
body.theme-white .page-head .eyebrow{ color:#2563eb; }
body.theme-white .page-head .lead, body.theme-white .svc-hero .lead{ color:#555; }

/* transformation / before-after table */
body.theme-white .xform{ background:#FFFFFF !important; border-color:rgba(5,5,5,0.08) !important; box-shadow:0 14px 40px rgba(5,5,5,0.05); }
body.theme-white .xform-head{ background:#FFFFFF !important; color:#050505 !important; }
body.theme-white .xform-row{ border-color:rgba(5,5,5,0.06) !important; }
body.theme-white .xform-t{ color:#050505 !important; }
body.theme-white .xform-b, body.theme-white .xform-a{ color:#555 !important; }

/* ecosystem / integration diagram */
body.theme-white .eco-node{ background:#FFFFFF !important; border-color:rgba(5,5,5,0.08) !important; box-shadow:0 8px 24px rgba(5,5,5,0.05); }
body.theme-white .eco-node.eco-here, body.theme-white .eco-here{ background:rgba(0,174,239,0.06) !important; border-color:rgba(0,174,239,0.25) !important; }
body.theme-white .eco-lbl{ color:#050505 !important; }
body.theme-white .eco-num{ color:#2563eb !important; }
body.theme-white .eco-conn{ background:rgba(5,5,5,0.12) !important; }

/* impact / stats band */
body.theme-white .impact-band{ background:#FFFFFF !important; border-color:rgba(5,5,5,0.08) !important; box-shadow:0 14px 40px rgba(5,5,5,0.05); }
body.theme-white .impact-cell, body.theme-white .impact-band > div{ border-color:rgba(5,5,5,0.06) !important; }
body.theme-white .impact-band b{ color:#050505 !important; }

/* tech badges */
body.theme-white .techb{ background:#FFFFFF !important; border-color:rgba(5,5,5,0.08) !important; box-shadow:0 8px 22px rgba(5,5,5,0.04); }
body.theme-white .techb:hover{ box-shadow:0 16px 40px rgba(5,5,5,0.08); }
body.theme-white .techb b, body.theme-white .techb-grid b{ color:#050505 !important; }

/* process / flow / steps */
body.theme-white .flow-step, body.theme-white .process-step, body.theme-white .ptl-step{ background:#FFFFFF !important; border-color:rgba(5,5,5,0.08) !important; box-shadow:0 8px 24px rgba(5,5,5,0.05); }

/* pain points */
body.theme-white .pain-grid > *, body.theme-white .pain-card{ background:#FFFFFF !important; border-color:rgba(5,5,5,0.08) !important; box-shadow:0 8px 22px rgba(5,5,5,0.04); }

/* CTA box (blue glow) -> soft light tint */
body.theme-white .cta-box{ background:linear-gradient(135deg, rgba(0,174,239,0.06), rgba(123,97,255,0.05)) !important; border-color:rgba(0,174,239,0.25) !important; }
body.theme-white .cta-glow{ opacity:.45 !important; }
body.theme-white .cta-box h2, body.theme-white .cta-box h3{ color:#050505 !important; }

/* abstract site-mock (if any remain elsewhere) */
body.theme-white .site-mock{ background:#FFFFFF !important; border-color:rgba(5,5,5,0.08) !important; box-shadow:0 14px 40px rgba(5,5,5,0.06); }
body.theme-white .site-bar{ background:#EEF2F7 !important; }
body.theme-white .site-body, body.theme-white .site-card, body.theme-white .site-h, body.theme-white .site-p{ background:#F2F5FA !important; }

/* sticky mobile CTA bar -> keep readable on light */
body.theme-white .sticky-mobile-cta{ background:rgba(255,255,255,0.94) !important; border-top:1px solid rgba(5,5,5,0.08) !important; }

/* ============================================================
   V7 White — FINAL POLISH: whitespace, narrow text, big screenshots
   ============================================================ */
body.theme-white section:not(.hero-white):not(.page-head){
  padding-top:clamp(78px,9vw,140px) !important; padding-bottom:clamp(78px,9vw,140px) !important; }
body.theme-white .section-head{ margin-bottom:clamp(40px,4.6vw,66px); }
body.theme-white .section-head p, body.theme-white .lead{ max-width:600px; }
body.theme-white .section-head{ } /* section-head is centered; narrow p centers with it */
body.theme-white .section-head p{ margin-left:auto; margin-right:auto; }
/* preview screenshots larger / more dominant */
.proj-mini-img{ aspect-ratio:1400/1010 !important; }
.proj-mini-grid{ gap:30px !important; }

/* ---------- Premium hero scroll indicator (CSS-only, reduced-motion safe) ---------- */
.hw-scroll{ position:absolute; bottom:30px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:11px; text-decoration:none;
  opacity:0; animation: hw-fade 1s ease 1.35s forwards; }
.hw-scroll-line{ width:1.5px; height:46px; border-radius:2px; position:relative; overflow:hidden;
  background:linear-gradient(to bottom, rgba(5,5,5,0.16), rgba(5,5,5,0)); }
.hw-scroll-dot{ position:absolute; top:-10px; left:50%; transform:translateX(-50%);
  width:4px; height:10px; border-radius:3px; background:var(--gradient);
  animation: hw-scrolldot 2.1s cubic-bezier(.7,0,.3,1) infinite; }
@keyframes hw-scrolldot{ 0%{ top:-10px; opacity:0; } 25%{ opacity:1; } 72%{ opacity:1; } 100%{ top:46px; opacity:0; } }
.hw-scroll-label{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.2em;
  text-transform:uppercase; color:#9AA3B0; transition:color .2s ease; }
.hw-scroll:hover .hw-scroll-label{ color:#2563eb; }
@media(max-width:760px){ .hw-scroll{ display:none; } }
@media (prefers-reduced-motion: reduce){ .hw-scroll-dot{ animation:none; top:6px; } }

/* ============================================================
   HYBRID 3D LAYER — hero canvas scene + soft purple accent + tilt depth
   Subtle purple, white-dominant. Enterprise, not neon.
   ============================================================ */
body.theme-white .hero-white{ position:relative; overflow:hidden; }
body.theme-white .hero-white .container{ position:relative; z-index:2; }
body.theme-white .hero-3d{ position:absolute; top:0; right:0; width:56%; height:100%; z-index:1; pointer-events:none; }
/* soft purple accent glow behind the scene (does not overpower white) */
body.theme-white .hero-white::after{ content:""; position:absolute; top:-14%; right:-8%; width:62%; height:96%;
  background:radial-gradient(circle at 62% 42%, rgba(123,97,255,0.17), rgba(139,92,246,0.07) 38%, rgba(123,97,255,0) 64%); z-index:0; pointer-events:none; }
@media(max-width:860px){
  body.theme-white .hero-3d{ display:none; }
  body.theme-white .hero-white::after{ width:100%; right:0; top:-8%; opacity:.55; }
}
/* tilt-depth premium hover shadows (purple-tinted) */
body.theme-white [data-tilt]{ transform-style:preserve-3d; }
body.theme-white .ed-detail[data-tilt]:hover{ box-shadow:0 30px 72px rgba(123,97,255,0.13), 0 16px 40px rgba(5,5,5,0.07) !important; }
body.theme-white .proj-v2-shot[data-tilt]{ transition:box-shadow .3s ease, transform .3s cubic-bezier(.2,.8,.2,1) !important; }
body.theme-white .proj-v2-shot[data-tilt]:hover{ box-shadow:0 46px 96px rgba(123,97,255,0.17), 0 30px 60px rgba(5,5,5,0.15) !important; }
/* premium button hover depth */
body.theme-white .btn-primary{ transition:transform .2s cubic-bezier(.2,.8,.2,1), box-shadow .2s ease, filter .2s ease; }
body.theme-white .btn-primary:hover{ transform:translateY(-2px); box-shadow:0 14px 34px rgba(123,97,255,0.28); }

/* ============================================================
   SEAMLESS HEADER + HERO  (one continuous white surface)
   Nav uses the EXACT hero background (#FAFAFA), no border,
   subtle 12px glass blur, ultra-soft shadow only when scrolled.
   ============================================================ */
body.theme-white .nav{
  background:rgba(255,255,255,0.82) !important;
  border-bottom:1px solid transparent !important;
  box-shadow:none !important;
  backdrop-filter:blur(12px) saturate(160%) !important;
  -webkit-backdrop-filter:blur(12px) saturate(160%) !important;
  transition:background .3s ease, box-shadow .3s ease, padding .3s ease !important;
}
body.theme-white .nav.scrolled{
  background:rgba(255,255,255,0.85) !important;
  border-bottom:1px solid transparent !important;
  box-shadow:0 6px 28px rgba(5,5,5,0.05) !important;   /* ultra-subtle, no harsh line */
}
/* hero shares the identical surface — no top divider */
body.theme-white .hero-white{ border-top:0 !important; }

/* ============================================================
   PREMIUM EXECUTIVE BUTTONS  (Stripe / Linear / Vercel / Apple feel)
   Pill, soft depth, refined purple gradient, elegant hover lift + glow.
   No neon, no bright sweep.
   ============================================================ */
body.theme-white .btn-primary,
body.theme-white .nav-cta,
body.theme-white .popup-submit{
  background:linear-gradient(135deg,#6E54F7 0%,#8B5CF6 100%) !important;
  color:#fff !important;
  border:none !important;
  border-radius:100px !important;
  box-shadow:0 6px 20px rgba(123,97,255,0.26), inset 0 1px 0 rgba(255,255,255,0.20) !important;
  transition:transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .26s ease, filter .2s ease !important;
}
body.theme-white .btn-primary{ padding:15px 32px !important; font-size:15px !important; font-weight:600 !important; letter-spacing:-0.008em !important; }
body.theme-white .nav-cta{ padding:11px 24px !important; font-size:14px !important; font-weight:600 !important; letter-spacing:-0.005em !important; }
body.theme-white .btn-primary::before{ display:none !important; }   /* kill the cheap sheen sweep */
body.theme-white .btn-primary:hover,
body.theme-white .nav-cta:hover,
body.theme-white .popup-submit:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 14px 36px rgba(123,97,255,0.40), 0 0 0 4px rgba(123,97,255,0.07), inset 0 1px 0 rgba(255,255,255,0.22) !important;
  filter:saturate(1.05) !important;
}
body.theme-white .btn-primary:active,
body.theme-white .nav-cta:active,
body.theme-white .popup-submit:active{ transform:translateY(0) scale(0.98) !important; }
/* refined secondary / ghost on white */
body.theme-white .btn-ghost,
body.theme-white .hw-link{
  background:#fff !important; color:#0A0A0A !important;
  border:1px solid rgba(5,5,5,0.10) !important; border-radius:100px !important;
  box-shadow:0 2px 8px rgba(5,5,5,0.04) !important;
  transition:transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, border-color .25s ease, color .25s ease !important;
}
body.theme-white .btn-ghost{ padding:14px 28px !important; font-weight:600 !important; }
body.theme-white .btn-ghost:hover,
body.theme-white .hw-link:hover{
  border-color:rgba(123,97,255,0.40) !important; color:#7B61FF !important;
  transform:translateY(-2px) !important; box-shadow:0 10px 24px rgba(123,97,255,0.13) !important; background:#fff !important;
}


/* ============================================================
   PURE WHITE CANVAS — remove global grid + glow tints, lift card
   definition slightly so nothing disappears on #FFFFFF.
   ============================================================ */
body.theme-white::before{ display:none !important; }   /* kill faint blue grid */
body.theme-white::after{ display:none !important; }    /* kill blue glow orb   */
body.theme-white{ background:#FFFFFF !important; }
body.theme-white .card{ box-shadow:0 8px 30px rgba(10,10,10,0.05) !important; border-color:rgba(5,5,5,0.08) !important; }
body.theme-white .ed-detail{ box-shadow:0 10px 34px rgba(10,10,10,0.05) !important; border-color:rgba(5,5,5,0.09) !important; }
body.theme-white .proj-v2-shot{ box-shadow:0 30px 70px rgba(10,10,10,0.10) !important; }

/* ============================================================
   FINAL POLISH PASS
   ============================================================ */

/* --- 1. Secondary CTA: white premium pill, SAME height as primary --- */
body.theme-white .hw-link{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  gap:8px !important; min-height:52px !important; padding:15px 30px !important;
  font-size:15px !important; font-weight:600 !important; letter-spacing:-0.008em !important;
  background:#FFFFFF !important; color:#0A0A0A !important;
  border:1px solid rgba(5,5,5,0.12) !important; border-radius:100px !important;
  box-shadow:0 4px 14px rgba(10,10,10,0.05) !important;
  transition:transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .26s ease, border-color .26s ease, color .26s ease !important;
}
body.theme-white .hw-link:hover{
  transform:translateY(-2px) !important; color:#7B61FF !important;
  border-color:rgba(123,97,255,0.45) !important;
  box-shadow:0 12px 30px rgba(123,97,255,0.16), 0 0 0 4px rgba(123,97,255,0.05) !important;
}

/* --- 2. STABLE pure-white header: no bg change / shadow / border on scroll, no backdrop cost --- */
body.theme-white .nav,
body.theme-white .nav.scrolled{
  background:#FFFFFF !important;
  border-bottom:1px solid transparent !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
}
body.theme-white .nav-wrap{ max-width:1240px !important; padding-left:40px !important; padding-right:40px !important; }
body.theme-white .nav-links{ gap:34px !important; }
@media(max-width:640px){ body.theme-white .nav-wrap{ padding-left:20px !important; padding-right:20px !important; } }

/* --- 3. Hero never hidden behind navbar --- */
.hero-white{ padding-top:clamp(140px,17vh,210px) !important; }
@media(max-width:900px){ .hero-white{ padding-top:128px !important; } }

/* --- 6. PREMIUM PORTFOLIO DEVICE STAGE (depth, glass, floating badges) --- */
.proj-v2-stage{ position:relative; transform-style:preserve-3d; transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.proj-v2-stage::before{ content:""; position:absolute; inset:-10% -8% -16% -8%; z-index:0; pointer-events:none;
  background:radial-gradient(58% 58% at 52% 42%, rgba(123,97,255,0.18), rgba(123,97,255,0) 70%); filter:blur(18px); }
.proj-v2-stage::after{ content:""; position:absolute; left:10%; right:10%; bottom:-7%; height:42px; z-index:0; pointer-events:none;
  background:radial-gradient(50% 100% at 50% 0%, rgba(10,10,10,0.18), rgba(10,10,10,0) 76%); filter:blur(11px); }
body.theme-white .proj-v2-shot{ position:relative; z-index:1; overflow:hidden;
  box-shadow:0 34px 80px rgba(10,10,10,0.14), 0 10px 28px rgba(10,10,10,0.08) !important; }
.proj-v2-shot::after{ content:""; position:absolute; inset:0; z-index:3; pointer-events:none;
  background:linear-gradient(116deg, rgba(255,255,255,0) 42%, rgba(255,255,255,0.22) 50%, rgba(255,255,255,0) 58%);
  opacity:0; transform:translateX(-26%); transition:opacity .5s ease, transform .85s ease; }
.proj-v2-stage:hover .proj-v2-shot::after{ opacity:1; transform:translateX(26%); }
.proj-v2-img{ overflow:hidden; }
.proj-v2-img img{ transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.proj-v2-stage:hover .proj-v2-img img{ transform:scale(1.04); }
.pv-badge{ position:absolute; z-index:5; display:inline-flex; align-items:center; gap:6px;
  background:rgba(255,255,255,0.74); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,0.92); border-radius:100px; padding:8px 14px;
  font-size:12.5px; font-weight:600; color:#0A0A0A; letter-spacing:-0.01em; white-space:nowrap;
  box-shadow:0 12px 32px rgba(10,10,10,0.12), 0 0 0 1px rgba(123,97,255,0.06);
  transform:translateZ(55px); animation:pvFloat 5.5s ease-in-out infinite; }
.pv-badge svg{ width:14px; height:14px; color:#7B61FF; flex-shrink:0; }
.pv-b1{ top:-3.5%; right:13%; animation-delay:0s; }
.pv-b2{ bottom:-4%; left:11%; animation-delay:1.4s; }
.pv-b3{ top:42%; left:7%; animation-delay:2.6s; }
@keyframes pvFloat{ 0%,100%{ transform:translateZ(55px) translateY(0);} 50%{ transform:translateZ(55px) translateY(-7px);} }
@media(max-width:760px){ .pv-badge{ display:none; } .proj-v2-stage::before{ inset:-6% -4% -10% -4%; } }
@media(prefers-reduced-motion:reduce){ .pv-badge{ animation:none; } }

/* ============================================================
   HEADER (final) — clean layout, pure white, smart scroll-collapse
   ============================================================ */
body.theme-white .nav{ background:#FFFFFF !important; border-bottom:none !important; box-shadow:none !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  transition:transform .4s cubic-bezier(.2,.8,.2,1) !important; }
body.theme-white .nav.scrolled{ background:#FFFFFF !important; border-bottom:none !important; box-shadow:none !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important; }
/* logo hard-left, CTA hard-right, comfortable wide container */
body.theme-white .nav-wrap{ max-width:1320px !important;
  padding-left:clamp(22px,4vw,44px) !important; padding-right:clamp(22px,4vw,44px) !important;
  display:flex !important; align-items:center !important; justify-content:space-between !important; gap:24px !important; }
body.theme-white .nav-logo{ flex-shrink:0 !important; }
/* desktop: collapse links + CTA on scroll-down (visibility:hidden keeps space => no reflow) */
@media (min-width:961px){
  body.theme-white .nav-links{ gap:clamp(20px,2vw,30px) !important; align-items:center !important;
    transition:opacity .35s cubic-bezier(.2,.8,.2,1), transform .42s cubic-bezier(.2,.8,.2,1), visibility .35s !important; }
  body.theme-white .nav.nav-min .nav-links{ opacity:0 !important; transform:translateY(-10px) !important;
    visibility:hidden !important; pointer-events:none !important; }
}
