/* ============================================================
   home.css — cosmic-editorial homepage layer (index.html only)
   Loaded AFTER site.css. Reshapes the homepage toward the
   reference direction (ARV cosmic serif · Rekreate editorial
   framing · Chase product cards) while reusing every site.css
   component + app.js hook. Nothing here touches other pages.
   ============================================================ */

/* ---------- deepen the base into true space ---------- */
.home{
  --bg:#070A12; --bg2:#0A0E18; --surface:#111725; --surface2:#18202F;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --grad-cool:linear-gradient(105deg,var(--accent2-bright),var(--accent2-cyan));
  --ease-rev:cubic-bezier(.22,1,.36,1);
  background-color:#05070e;
  background-image:
    radial-gradient(60% 50% at 50% 26%,rgba(92,141,240,.16),transparent 62%),
    radial-gradient(46% 42% at 80% 12%,rgba(233,118,62,.10),transparent 60%),
    radial-gradient(115% 92% at 50% 40%,#111f3d 0%,#0a1226 42%,#070c18 72%,#04060c 100%);
  background-attachment:fixed;
}
/* real WebGL cosmos (webgl-bg.js) replaces the CSS star layers on the homepage */
.home .field{display:none}
/* sections transparent so the 3D canvas shows through everywhere */
.home section.blk,.home section.blk.alt{background:transparent}
.home .stats,.home .stat,.home .stats .wrap{background:transparent}
.home .marquee{background:transparent}

/* ---------- cosmic field: starfield + nebula glows ---------- */
/* two drifting star layers via field pseudo-elements (no markup change) */
/* 3D depth vignette: luminous blue core at ~36%, near-black edges */
.home .field{background:radial-gradient(110% 90% at 50% 36%,#18274f 0%,#0d1630 38%,#080d1a 70%,#04060c 100%)}
.home .field .stars,.home .field .stars2{
  position:absolute;inset:-18%;pointer-events:none;will-change:transform;transition:transform .3s var(--ease);
  -webkit-mask:radial-gradient(120% 108% at 50% 42%,#000 46%,rgba(0,0,0,.5) 76%,transparent 100%);
          mask:radial-gradient(120% 108% at 50% 42%,#000 46%,rgba(0,0,0,.5) 76%,transparent 100%);
}
/* scattered SVG starfields → real elements, parallax-ready */
.home .field .stars{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1400' height='1400' viewBox='0 0 1400 1400'%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='60' cy='90' r='1' opacity='.9'/%3E%3Ccircle cx='210' cy='40' r='.7' opacity='.5'/%3E%3Ccircle cx='330' cy='160' r='1.3' opacity='1'/%3E%3Ccircle cx='120' cy='300' r='.8' opacity='.6'/%3E%3Ccircle cx='470' cy='70' r='.9' opacity='.8'/%3E%3Ccircle cx='560' cy='230' r='.6' opacity='.4'/%3E%3Ccircle cx='690' cy='120' r='1.2' opacity='.95'/%3E%3Ccircle cx='800' cy='300' r='.8' opacity='.6'/%3E%3Ccircle cx='930' cy='80' r='1' opacity='.85'/%3E%3Ccircle cx='1050' cy='210' r='.7' opacity='.5'/%3E%3Ccircle cx='1200' cy='120' r='1.4' opacity='1'/%3E%3Ccircle cx='1320' cy='280' r='.8' opacity='.6'/%3E%3Ccircle cx='40' cy='520' r='1.1' opacity='.9'/%3E%3Ccircle cx='250' cy='470' r='.7' opacity='.5'/%3E%3Ccircle cx='390' cy='600' r='1' opacity='.8'/%3E%3Ccircle cx='620' cy='440' r='.9' opacity='.7'/%3E%3Ccircle cx='740' cy='560' r='.6' opacity='.4'/%3E%3Ccircle cx='880' cy='500' r='1.3' opacity='1'/%3E%3Ccircle cx='1010' cy='620' r='.8' opacity='.6'/%3E%3Ccircle cx='1160' cy='470' r='1' opacity='.85'/%3E%3Ccircle cx='1300' cy='600' r='.7' opacity='.5'/%3E%3Ccircle cx='100' cy='760' r='.9' opacity='.75'/%3E%3Ccircle cx='300' cy='840' r='1.2' opacity='.95'/%3E%3Ccircle cx='450' cy='720' r='.7' opacity='.5'/%3E%3Ccircle cx='580' cy='860' r='1' opacity='.8'/%3E%3Ccircle cx='720' cy='780' r='.8' opacity='.6'/%3E%3Ccircle cx='900' cy='880' r='.6' opacity='.4'/%3E%3Ccircle cx='1080' cy='760' r='1.3' opacity='1'/%3E%3Ccircle cx='1240' cy='840' r='.8' opacity='.6'/%3E%3Ccircle cx='1360' cy='720' r='1' opacity='.8'/%3E%3Ccircle cx='70' cy='1010' r='1' opacity='.8'/%3E%3Ccircle cx='230' cy='1120' r='.7' opacity='.5'/%3E%3Ccircle cx='410' cy='990' r='1.1' opacity='.9'/%3E%3Ccircle cx='560' cy='1150' r='.8' opacity='.6'/%3E%3Ccircle cx='700' cy='1040' r='.6' opacity='.4'/%3E%3Ccircle cx='860' cy='1180' r='1.2' opacity='.95'/%3E%3Ccircle cx='1020' cy='1020' r='.8' opacity='.6'/%3E%3Ccircle cx='1180' cy='1140' r='1' opacity='.8'/%3E%3Ccircle cx='1330' cy='1010' r='.7' opacity='.5'/%3E%3Ccircle cx='160' cy='1290' r='.9' opacity='.7'/%3E%3Ccircle cx='480' cy='1320' r='1' opacity='.8'/%3E%3Ccircle cx='780' cy='1300' r='.7' opacity='.5'/%3E%3Ccircle cx='1100' cy='1330' r='1.1' opacity='.9'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:repeat;background-size:1400px 1400px;opacity:.8;
  animation:starPanA 240s linear infinite;
}
.home .field .stars2{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1400' height='1400' viewBox='0 0 1400 1400'%3E%3Cg%3E%3Ccircle cx='180' cy='210' r='1.4' fill='%23cfe0ff' opacity='.9'/%3E%3Ccircle cx='520' cy='150' r='1.6' fill='%23ffffff' opacity='1'/%3E%3Ccircle cx='880' cy='260' r='1.5' fill='%23ffe4cc' opacity='.9'/%3E%3Ccircle cx='1240' cy='180' r='1.4' fill='%23ffffff' opacity='.85'/%3E%3Ccircle cx='340' cy='560' r='1.6' fill='%23ffffff' opacity='1'/%3E%3Ccircle cx='760' cy='620' r='1.4' fill='%23cfe0ff' opacity='.85'/%3E%3Ccircle cx='1120' cy='520' r='1.5' fill='%23ffffff' opacity='.9'/%3E%3Ccircle cx='240' cy='900' r='1.5' fill='%23ffe4cc' opacity='.9'/%3E%3Ccircle cx='620' cy='980' r='1.6' fill='%23ffffff' opacity='1'/%3E%3Ccircle cx='1000' cy='880' r='1.4' fill='%23ffffff' opacity='.85'/%3E%3Ccircle cx='1300' cy='1000' r='1.5' fill='%23cfe0ff' opacity='.9'/%3E%3Ccircle cx='440' cy='1240' r='1.5' fill='%23ffffff' opacity='.9'/%3E%3Ccircle cx='900' cy='1300' r='1.6' fill='%23ffffff' opacity='1'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:repeat;background-size:1650px 1650px;opacity:.9;
  animation:starPanB 320s linear infinite, twinkle 6s ease-in-out infinite;
}
@keyframes starPanA{from{background-position:0 0}to{background-position:0 -1400px}}
@keyframes starPanB{from{background-position:0 0}to{background-position:0 1650px}}
@keyframes twinkle{0%,100%{opacity:.42}50%{opacity:.22}}
/* repurpose blueprint grid → faint deep nebula */
.home .field .grid{
  background-image:radial-gradient(60% 50% at 78% 8%,rgba(var(--accent-rgb),.10),transparent 60%),
                   radial-gradient(55% 45% at 20% 30%,rgba(var(--accent2-rgb),.12),transparent 62%);
  background-size:100% 100%;background-repeat:no-repeat;
  -webkit-mask:none;mask:none;will-change:transform;transition:transform .5s var(--ease);
}
.home .field .aura{background:radial-gradient(circle,rgba(var(--accent2-rgb),.18),transparent 66%)}
.home .field .aura2{background:radial-gradient(circle,rgba(var(--accent-rgb),.13),transparent 66%)}
.home .field .ripple{display:none}
/* cursor-reactive nebula glow (moved by app.js) — bluish, larger, brand-warm core */
.home .cursorlight{width:560px;height:560px;
  background:radial-gradient(circle,rgba(var(--accent2-rgb),.10),rgba(var(--accent-rgb),.05) 42%,transparent 66%)}

/* ---------- serif-forward type system ---------- */
.home h1,
.home .shead h2,
.home .ctaband h2{font-family:var(--serif);font-weight:540;letter-spacing:-.012em}
.home h1{font-size:clamp(2.9rem,6.2vw,5.4rem);line-height:1.02;font-optical-sizing:auto}
.home .shead h2{font-size:clamp(2.1rem,4vw,3.35rem);line-height:1.08}
.home .ctaband h2{font-size:clamp(1.9rem,3.2vw,2.7rem);line-height:1.1}

/* emphasis words — italic serif with gradient fill (amber default, cool variant) */
.home .em,.home .em .em-in,
.home .emn,.home .accent-it,.home .serif-it{font-family:"Instrument Serif",var(--serif);font-style:italic;font-weight:400}
.home .emn,.home .em .em-in{
  background:var(--grad-accent);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.home .emn.cool,.home .em.cool .em-in{background:var(--grad-cool);-webkit-background-clip:text;background-clip:text;color:transparent}

/* mono eyebrows — a touch more editorial */
.home .kick{color:var(--accent);letter-spacing:.24em;font-size:.68rem;display:inline-flex;align-items:center;gap:.6rem}
.home .kick::before{content:"";width:16px;height:1px;background:var(--accent);opacity:.8}


/* ---------- cinematic hero: hook up top, Jeremy rising from the cosmos below ---------- */
.home .hero.cine{padding:clamp(1.4rem,3vw,2.4rem) 0 0;min-height:calc(100vh - 66px);display:flex;align-items:stretch;overflow:hidden}
.home .hero.cine .wrap{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}
.home .hero-top{display:flex;flex-direction:column;align-items:center;max-width:940px;padding-top:clamp(1rem,3.5vw,3rem)}
.home .h-eyebrow{display:inline-flex;align-items:center;gap:.65rem;font-family:"JetBrains Mono",monospace;
  font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--mut);margin-bottom:1.4rem}
.home .h-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px 1px rgba(var(--accent-rgb),.8)}
.home .hero.cine h1{font-size:clamp(2.7rem,6.6vw,5.8rem);line-height:1.0;max-width:15ch;margin:0 auto}
.home .hero.cine .lead{font-size:clamp(1.05rem,1.35vw,1.22rem);color:var(--mut);max-width:60ch;margin:1.6rem auto 0}
.home .hero.cine .hcta{justify-content:center;margin-top:2rem}

/* white-pill primary (reference signature), amber ring on hover */
.home .hcta .btn-primary{background:#F6F7FB;color:#0b0d14;box-shadow:0 10px 40px -12px rgba(255,255,255,.25)}
.home .hcta .btn-primary:hover{background:#fff;box-shadow:0 0 0 1px rgba(var(--accent-rgb),.5),0 16px 46px -12px rgba(var(--accent-rgb),.5)}

/* the figure: bottom-anchored, emerging from the starfield */
.home .hero-figure{position:relative;flex:1 1 auto;display:flex;align-items:flex-end;justify-content:center;
  width:100%;min-height:min(48vh,460px);margin-top:clamp(1.4rem,3vw,2.4rem)}
.home .portrait-cine{position:relative;width:min(440px,74vw);display:flex;align-items:flex-end;justify-content:center}
.home .portrait-cine::before{content:"";position:absolute;left:50%;bottom:-4%;transform:translateX(-50%);
  width:170%;height:135%;z-index:-1;filter:blur(8px);pointer-events:none;
  background:radial-gradient(58% 52% at 50% 72%,rgba(var(--accent-rgb),.30),transparent 62%),
             radial-gradient(46% 44% at 50% 54%,rgba(var(--accent2-rgb),.22),transparent 66%)}
.home .portrait-cine img{width:100%;height:auto;display:block;object-fit:contain;object-position:bottom center;
  /* dissolve the rectangular amber studio backdrop into the cosmos on all sides */
  -webkit-mask:radial-gradient(76% 80% at 50% 38%,#000 50%,rgba(0,0,0,.4) 74%,transparent 90%);
          mask:radial-gradient(76% 80% at 50% 38%,#000 50%,rgba(0,0,0,.4) 74%,transparent 90%);
  filter:drop-shadow(0 30px 60px rgba(0,0,0,.5));transition:transform .3s var(--ease)}

/* spatial mono labels flanking the figure (ARV editorial) */
.home .hlabel{position:absolute;bottom:32%;display:flex;flex-direction:column;gap:.15rem;line-height:1.5;
  font-family:"JetBrains Mono",monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.home .hlabel b{color:var(--mut);font-weight:500;font-size:.74rem;letter-spacing:.08em}
.home .hlabel::before{content:"";width:26px;height:1px;background:var(--accent);opacity:.7;margin-bottom:.5rem}
.home .hl-left{left:clamp(1rem,7vw,8rem);text-align:right;align-items:flex-end}
.home .hl-right{right:clamp(1rem,7vw,8rem);text-align:left;align-items:flex-start}

/* scroll cue (lower-left, clear of the figure) */
.home .scrollcue{position:absolute;bottom:7%;left:clamp(1rem,7vw,8rem);z-index:3;color:var(--faint);
  font-family:"JetBrains Mono",monospace;font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;
  display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}
.home .scrollcue .cue{width:1px;height:32px;background:linear-gradient(var(--accent),transparent);animation:cuePulse 2.1s ease-in-out infinite}
@keyframes cuePulse{0%,100%{opacity:.25;transform:scaleY(.65)}50%{opacity:1;transform:scaleY(1)}}

@media(max-width:880px){
  .home .hero.cine{min-height:auto;padding-bottom:1rem}
  .home .hero-figure{min-height:min(52vh,400px)}
  .home .hlabel{display:none}
  .home .portrait-cine{width:min(320px,80vw)}
}

/* ---------- marquee eyebrow tone ---------- */
.home .marquee .cap{letter-spacing:.28em}

/* ---------- stats: sit over the cosmos, brighter numerals ---------- */
.home .stat{background:rgba(255,255,255,.015)}
.home .stat .n{font-family:var(--serif);font-weight:560}

/* ---------- dark-glass cards, editorial numbering ---------- */
.home .card{border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012));
  border-color:rgba(255,255,255,.09);transition:transform .16s ease-out,border-color .35s}
.home .card:hover{border-color:rgba(var(--accent-rgb),.35)}
.home .card h3{font-family:var(--serif);font-weight:560;font-size:1.24rem;letter-spacing:-.01em}
.home .card .code{font-size:.72rem;letter-spacing:.18em;color:var(--faint)}
.home .card.feat{border-color:rgba(var(--accent-rgb),.4);
  background:radial-gradient(120% 90% at 0% 0%,rgba(var(--accent-rgb),.12),transparent 55%),linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012))}
.home .card .big{font-family:var(--serif);font-weight:600}
.home .card .ic{border-radius:8px}

/* comparison + steps + faq headings → serif for cohesion */
.home .step h3,.home .faq .qa h3,.home .cmp-head .me,.home .cmp-head .them{font-family:var(--serif);font-weight:560}
.home .step .sn{font-family:var(--serif);font-weight:600}
.home .step{border-radius:6px}
.home .quote{border-radius:6px}
.home .cmp{border-radius:8px}

/* ---------- bio (section 7): floating portrait, emerges from cosmos instead of a frame ---------- */
.home .about .ph{background:transparent;border:0;border-radius:0;aspect-ratio:auto;overflow:visible}
.home .about .ph::before{content:"";position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);
  width:118%;height:114%;z-index:-1;filter:blur(10px);pointer-events:none;
  background:radial-gradient(54% 54% at 50% 56%,rgba(var(--accent-rgb),.28),transparent 62%),
             radial-gradient(44% 44% at 50% 46%,rgba(var(--accent2-rgb),.20),transparent 66%)}
.home .about .ph img{border-radius:0;
  -webkit-mask:radial-gradient(72% 80% at 50% 42%,#000 50%,rgba(0,0,0,.4) 74%,transparent 90%);
          mask:radial-gradient(72% 80% at 50% 42%,#000 50%,rgba(0,0,0,.4) 74%,transparent 90%);
  filter:drop-shadow(0 26px 54px rgba(0,0,0,.5))}
.home .about h2{font-family:var(--serif)!important;font-weight:540!important}

/* ---------- CTA band ---------- */
.home .ctaband .card2{border-radius:10px}
.home .ctaband .btn-primary{background:#F6F7FB;color:#0b0d14}
.home .ctaband .btn-primary:hover{background:#fff;box-shadow:0 0 0 1px rgba(var(--accent-rgb),.5),0 16px 46px -12px rgba(var(--accent-rgb),.55)}

/* ---------- right-edge section progress rail ---------- */
.railnav{position:fixed;right:clamp(.6rem,1.6vw,1.4rem);top:50%;transform:translateY(-50%);z-index:40;
  display:flex;flex-direction:column;align-items:flex-end;gap:.85rem;pointer-events:none;
  background:transparent;border:0;backdrop-filter:none;-webkit-backdrop-filter:none}
.railnav a{pointer-events:auto;display:flex;align-items:center;gap:.6rem;color:var(--faint);
  font-family:"JetBrains Mono",monospace;font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;
  opacity:.5;transition:opacity .3s,color .3s}
.railnav a .tick{width:22px;height:1px;background:currentColor;transition:width .3s,background .3s}
.railnav a .rl{opacity:0;transform:translateX(6px);transition:opacity .3s,transform .3s}
.railnav a:hover,.railnav a.on{opacity:1;color:var(--accent-bright)}
.railnav a:hover .rl,.railnav a.on .rl{opacity:1;transform:none}
.railnav a.on .tick{width:34px;background:var(--accent)}
@media(max-width:1180px){.railnav{display:none}}

/* ---------- reveal: match the reference (expo-out, 1s, no stagger, mask wipe) ---------- */
.home .rise{transform:translateY(28px)}
.home .rise.in{transition:opacity 1s var(--ease-rev),transform 1s var(--ease-rev)}
.home .hero .rise{transition-delay:0s!important}
/* heading mask wipe: each heading clipped, its inner line slides up from behind */
.home .ln{display:block;overflow:hidden}
.home .lni{display:block;transform:translateY(112%);transition:transform 1.05s var(--ease-rev)}
.home .ln.in .lni{transform:none}

/* ---------- de-slop: drop geometric icons, glowing dots, radio-button marks ---------- */
.home .card .ic{display:none}
.home .h-eyebrow .dot{display:none}
.home .h-eyebrow{gap:0}
.home .card ul li::before{width:14px;height:1px;border-radius:0;margin-top:.62rem;background:var(--accent);opacity:.5}

@media(prefers-reduced-motion:reduce){
  .home .field .stars,.home .field .stars2{animation:none;transform:none!important}
  .home .rise,.home .lni{opacity:1!important;transform:none!important}
}
