/* =========================================================================
   Cosmica — Redesign layer (loaded after home.css; overrides where needed)
   Locked hero language: deep black, Manrope, the data-field, warm-gold core.
   Protected sections (products, endorsements) are NOT styled here.
   ========================================================================= */

:root{
  --warm-gold: #F5C242;
  --warm: #FF8A5C;
  --warm-orange: #F35A2A;
  --soft: #B9C0EC;
}

/* ---------- HERO (replaces the old cosmic-field hero) ---------- */
.rhero{
  position: relative;
  height: 100vh;
  min-height: 680px;
  overflow: hidden;
  background: var(--bg);
}
#rviz{ position:absolute; inset:0; z-index:1; }
.rhero-scrim{
  position:absolute; inset:0; z-index:2; pointer-events:none;
  background: radial-gradient(ellipse 46% 42% at 50% 49%, rgba(6,6,12,.74) 0%, rgba(6,6,12,.32) 45%, transparent 72%);
}
.rhero-vignette{
  position:absolute; inset:0; z-index:2; pointer-events:none;
  background: radial-gradient(ellipse 96% 96% at 50% 50%, transparent 60%, rgba(6,6,12,.5) 100%);
}
.rhero-wrap{
  position:absolute; inset:0; z-index:5;
  display:flex; align-items:center; justify-content:center;
  pointer-events:none;
}
.rhero-content{ max-width:760px; text-align:center; padding:0 28px; transform:translateY(-1%); }
.rhero-kicker{
  font-size:17px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--soft); font-weight:600; margin-bottom:30px;
  opacity:0; animation:fadeUp .9s ease .2s forwards;
}
.rhero h1{
  font-family: var(--display);
  font-weight:600; font-size:clamp(40px,4.2vw,62px); line-height:1.05; letter-spacing:-.035em;
  text-shadow:0 2px 40px rgba(6,6,12,.85), 0 1px 8px rgba(6,6,12,.9);
}
.rhero h1 .ln{ display:block; overflow:hidden; padding-bottom:.2em; margin-bottom:-.2em; }
.rhero h1 .ln i{
  font-style:normal; display:inline-block; transform:translateY(110%); opacity:0;
  animation:lineReveal 1.1s cubic-bezier(.16,1,.3,1) forwards;
}
.rhero h1 .ln:nth-child(1) i{ animation-delay:.3s; }
.rhero h1 .ln:nth-child(2) i{ animation-delay:.44s; }
.rhero .warm{
  font-weight:300;
  background:linear-gradient(100deg,var(--warm-gold),var(--warm) 60%,var(--warm-orange));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.rhero-sub{
  margin:28px auto 0; max-width:50ch; color:#AEB2C2;
  font-size:clamp(15px,1.2vw,17.5px); line-height:1.62; font-weight:400;
  text-shadow:0 1px 14px rgba(6,6,12,.9);
  opacity:0; animation:fadeUp 1s ease .95s forwards;
}
.rhero-ctas{
  margin-top:40px; display:flex; gap:26px; align-items:center; justify-content:center;
  pointer-events:auto; opacity:0; animation:fadeUp 1s ease 1.15s forwards;
}
.rhero-btn{
  display:inline-flex; align-items:center; gap:9px;
  background:var(--text-primary); color:#06060a; border-radius:100px;
  padding:13px 24px; font-weight:600; font-size:14px; text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease;
}
.rhero-btn:hover{ transform:translateY(-2px); box-shadow:0 12px 32px rgba(245,194,66,.22); }
.rhero-btn svg{ transition:transform .2s ease; }
.rhero-btn:hover svg{ transform:translateX(3px); }
.rhero-tlink{
  color:var(--text-secondary); text-decoration:none; font-size:14px; font-weight:500;
  border-bottom:1px solid transparent; padding-bottom:2px; transition:color .2s ease, border-color .2s ease;
}
.rhero-tlink:hover{ color:var(--text-primary); border-color:var(--warm); }
.rhero-foot{
  position:absolute; left:56px; right:56px; bottom:30px; z-index:5;
  display:flex; justify-content:space-between; gap:24px;
  color:rgba(139,144,162,.7); font-size:18px!important; letter-spacing:.02em;
  opacity:0; animation:fadeUp 1s ease 1.4s forwards;
}

.rhero-foot .rhero-foot-text {
  font-size: 16px !important;
  line-height: 1.45;
  font-weight: 500;
}


@media (max-width:820px){
  .rhero-foot{ display:none; }
  .rhero-content{ transform:none; }
}

/* ---------- INTERVENTION (OptimAge) — redesigned pipeline ---------- */
.iv2-section{ position:relative; padding:150px 56px; background:var(--bg); overflow:hidden; }
.iv2-glow{ position:absolute; top:50%; left:62%; transform:translate(-50%,-50%);
  width:760px; height:760px; pointer-events:none;
  background:radial-gradient(circle, rgba(245,162,60,0.08) 0%, transparent 60%); }
.iv2-inner{ position:relative; z-index:2; max-width:1280px; margin:0 auto;
  display:grid; grid-template-columns:0.82fr 1.18fr; gap:56px; align-items:center; }
.iv2-eyebrow{ font-size:12px; letter-spacing:.32em; text-transform:uppercase; font-weight:600;
  color:var(--warm-gold); margin-bottom:22px; }
.iv2-headline{ font-family:var(--display); font-weight:600; font-size:clamp(34px,3.6vw,52px);
  line-height:1.06; letter-spacing:-.03em; color:var(--text-primary); }
.iv2-headline .warm{ font-weight:300;
  background:linear-gradient(100deg,var(--warm-gold),var(--warm) 60%,var(--warm-orange));
  -webkit-background-clip:text; background-clip:text; color:transparent; }
.iv2-desc{ margin-top:24px; max-width:46ch; color:var(--text-secondary);
  font-size:16.5px; line-height:1.62; }
.iv2-tag{ margin-top:30px; display:flex; width:fit-content; align-items:center; gap:9px;
  border:1px solid rgba(245,194,66,0.32); border-radius:100px; padding:8px 16px;
  font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#F2D89A; }
.iv2-tag-dot{ width:6px; height:6px; border-radius:50%; background:var(--warm-gold);
  box-shadow:0 0 10px var(--warm-gold); animation:pulse 2.4s ease-in-out infinite; }
.iv2-cta{ margin-top:28px; display:inline-flex; align-items:center; gap:8px;
  color:var(--text-primary); text-decoration:none; font-size:15px; font-weight:500;
  border-bottom:1px solid var(--border-strong); padding-bottom:4px; transition:color .2s, border-color .2s; }
.iv2-cta:hover{ color:var(--warm-gold); border-color:var(--warm-gold); }
.iv2-cta svg{ transition:transform .2s; } .iv2-cta:hover svg{ transform:translateX(3px); }
.iv2-figure{ position:relative; }
.iv2-svg{ width:100%; height:auto; display:block; }
.iv2-svg-cap{ font-family:var(--body); font-size:10px; letter-spacing:.22em; font-weight:600;
  fill:rgba(168,168,184,0.6); text-transform:uppercase; }
.iv2-svg-label{ font-family:var(--body); font-size:14px; }
.iv2-svg-sub{ font-family:var(--body); font-size:10.5px; }
.iv2-core{ transform-origin:322px 280px; animation:iv2Breathe 5s ease-in-out infinite; }
.iv2-core-pulse{ transform-origin:322px 280px; animation:iv2Pulse 3s ease-in-out infinite; }
.iv2-node{ animation:pulse 2.6s ease-in-out infinite; }
.iv2-flow{ stroke-dasharray:3 9; animation:iv2Flow 1.6s linear infinite; }
@keyframes iv2Flow{ to{ stroke-dashoffset:-24; } }
@keyframes iv2Breathe{ 0%,100%{ transform:scale(1); opacity:.95; } 50%{ transform:scale(1.05); opacity:1; } }
@keyframes iv2Pulse{ 0%,100%{ opacity:.55; transform:scale(1);} 50%{ opacity:1; transform:scale(1.3);} }
@media (max-width:900px){
  .iv2-inner{ grid-template-columns:1fr; gap:40px; }
  .iv2-section{ padding:100px 28px; }
}
@media (prefers-reduced-motion: reduce){
  .iv2-flow,.iv2-core,.iv2-core-pulse,.iv2-node,.iv2-tag-dot{ animation:none; }
}

/* ---------- PURPOSE — the flywheel (Research · Intelligence · Technology) ---------- */
.pp2-section{ position:relative; padding:92px 56px 150px; background:var(--bg); overflow:hidden; }
.pp2-head{ position:relative; z-index:3; max-width:940px; margin:0 auto; text-align:center; }
.pp2-headline{ font-family:var(--display); font-weight:600; font-size:clamp(36px,4.4vw,64px);
  line-height:1.05; letter-spacing:-.035em; color:var(--text-primary); }
.pp2-headline .warm{ font-weight:300;
  background:linear-gradient(100deg,var(--warm-gold),var(--warm) 60%,var(--warm-orange));
  -webkit-background-clip:text; background-clip:text; color:transparent; }
.pp2-para{ margin:26px auto 0; max-width:60ch; color:var(--text-secondary); font-size:17px; line-height:1.62; }
.pp2-stage{ position:relative; max-width:1060px; margin:60px auto 0; height:600px; }
#ppViz{ position:absolute; inset:0; width:100%; height:100%; z-index:1; }
.pp2-node{ position:absolute; z-index:3; max-width:250px; }
.pp2-node.research{ top:-8px; left:50%; transform:translateX(-50%); text-align:center; }
.pp2-node.intelligence{ bottom:4px; left:0; text-align:left; }
.pp2-node.technology{ bottom:4px; right:0; text-align:right; }
.pp2-num{ font-size:12px; letter-spacing:.24em; font-weight:600; color:var(--warm-gold); margin-bottom:12px; }
.pp2-title{ font-family:var(--display); font-size:30px; font-weight:600; letter-spacing:-.02em;
  color:var(--text-primary); margin-bottom:10px; text-shadow:0 2px 22px rgba(6,6,12,.85); }
.pp2-desc{ font-size:14.5px; line-height:1.55; color:var(--text-secondary); max-width:240px;
  text-shadow:0 1px 12px rgba(6,6,12,.9); }
.pp2-node.research .pp2-desc{ margin:0 auto; }
.pp2-node.technology .pp2-desc{ margin-left:auto; }
@media (max-width:880px){
  .pp2-section{ padding:100px 28px 110px; }
  .pp2-stage{ height:auto; display:flex; flex-direction:column; gap:40px; margin-top:44px; }
  #ppViz{ display:none; }
  .pp2-node{ position:static; max-width:100%; transform:none; text-align:center; }
  .pp2-node .pp2-desc{ margin:0 auto; max-width:42ch; }
}

/* ---------- Seam blending: feather the products colour block into black ---------- */
/* Mirror of the existing .product-half::before top fade, so the amber/blue
   halves melt into the base bg at the bottom edge instead of hard-cutting. */
.product-half::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:170px;
  background:linear-gradient(to top, var(--bg) 0%, var(--bg) 8%, transparent 100%);
  pointer-events:none; z-index:1;
}
/* Soften the intervention's warm glow so it never reaches a section edge */
.iv2-glow{ filter:blur(8px); }

/* ---------- Stats interlude — restore visibility (reveal JS retired) + recolor warm ---------- */
#stats .stat-block{ opacity:1; transform:none; animation:fadeUp .8s ease both; }
#stats .stat-block:nth-child(2){ animation-delay:.08s; }
#stats .stat-block:nth-child(3){ animation-delay:.16s; }
#stats .stat-block:nth-child(4){ animation-delay:.24s; }
#stats .stat-block-value{
  background:linear-gradient(120deg, var(--starlight) 0%, var(--warm-gold) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.stats-interlude-glow{
  background:radial-gradient(ellipse 70% 80% at 50% 50%, rgba(245,160,70,0.07) 0%, transparent 60%) !important;
}
.stats-interlude::before, .stats-interlude::after{
  background:linear-gradient(to right, transparent 0%, rgba(228,196,140,0.38) 50%, transparent 100%) !important;
}

/* ---------- Tighten vertical rhythm: endorsements → stats → purpose ---------- */
#endorsements{ padding-bottom:64px !important; }
.stats-interlude{ padding-top:58px !important; padding-bottom:58px !important; }
