/* ============================================================
   WS Digital — "Growth Engine" · futurista / índigo-navy
   ============================================================ */
:root{
  --void:   #080A14;   /* base deep indigo-navy */
  --ink:    #0B0F1E;
  --panel:  #10182E;   /* glass panels */
  --panel2: #0D1424;
  --line:   rgba(232,238,251,.09);
  --line-2: rgba(232,238,251,.05);
  --white:  #EAEEFB;
  --slate:  #8C96B6;
  --dim:    #59637F;
  --volt:   #7C6BFF;   /* electric indigo */
  --volt-2: #9E8CFF;
  --aqua:   #2FE6E0;   /* cyan */
  --pink:   #FF5DA8;   /* sparingly */
  --grad:   linear-gradient(100deg, var(--volt) 0%, #6E8BFF 40%, var(--aqua) 100%);

  --ff-disp: "Space Grotesk", system-ui, sans-serif;
  --ff-body: "Inter", system-ui, sans-serif;
  --ff-mono: "JetBrains Mono", ui-monospace, monospace;

  --maxw: 1180px;
  --pad: clamp(1.15rem, 4.5vw, 4.5rem);
  --r: 16px;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0; background:var(--void); color:var(--white);
  font-family:var(--ff-body); font-weight:400; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
::selection{ background:var(--volt); color:#fff; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }

/* ---------- backgrounds ---------- */
.grid-bg{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(var(--line-2) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-2) 1px, transparent 1px);
  background-size:54px 54px;
  mask-image:radial-gradient(120% 90% at 50% 0%, #000 30%, transparent 85%);
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0%, #000 30%, transparent 85%);
}
.aurora{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(50% 40% at 82% 8%, rgba(124,107,255,.22), transparent 60%),
    radial-gradient(45% 45% at 12% 20%, rgba(47,230,224,.12), transparent 60%),
    radial-gradient(60% 50% at 50% 120%, rgba(124,107,255,.12), transparent 60%);
  animation:aur 22s ease-in-out infinite alternate;
}
@keyframes aur{ from{ transform:translate3d(-1%,0,0) scale(1);} to{ transform:translate3d(2%,1.5%,0) scale(1.06);} }
.noise{
  position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.scanline{ position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.4;
  background:repeating-linear-gradient(0deg, transparent 0 3px, rgba(0,0,0,.04) 3px 4px); }

/* ---------- progress ---------- */
.progress{ position:fixed; top:0; left:0; right:0; height:2px; z-index:60; background:rgba(232,238,251,.05); }
.progress span{ display:block; height:100%; width:0; background:var(--grad); box-shadow:0 0 12px rgba(124,107,255,.6); }

/* ---------- led ---------- */
.led{ width:8px; height:8px; border-radius:50%; background:var(--dim); display:inline-block; }
.led--on{ background:var(--aqua); box-shadow:0 0 8px var(--aqua); animation:blink 2.4s steps(1) infinite; }
@keyframes blink{ 0%,70%{opacity:1} 71%,100%{opacity:.3} }

/* ---------- nav ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:50; display:flex; align-items:center; gap:1.4rem;
  padding:1rem var(--pad); transition:background .3s, backdrop-filter .3s, padding .3s, border-color .3s;
  border-bottom:1px solid transparent;
}
.nav.is-stuck{ background:rgba(8,10,20,.72); backdrop-filter:blur(16px) saturate(1.3); border-bottom-color:var(--line); padding-top:.7rem; padding-bottom:.7rem; }
.brand{ display:flex; align-items:center; gap:.55rem; margin-right:auto; }
.brand__mark{ display:grid; place-items:center; }
.brand__txt{ font-family:var(--ff-disp); font-weight:700; letter-spacing:.04em; font-size:1rem; }
.brand__dot{ color:var(--volt); margin:0 1px; }
.nav__links{ display:flex; gap:1.7rem; }
.nav__links a{ font-family:var(--ff-mono); font-size:.8rem; color:var(--slate); transition:color .2s; position:relative; }
.nav__links a:hover{ color:var(--white); }
.nav__links a::after{ content:""; position:absolute; left:0; bottom:-6px; height:1px; width:0; background:var(--grad); transition:width .25s; }
.nav__links a:hover::after{ width:100%; }
@media(max-width:860px){ .nav__links{ display:none; } }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.5rem; cursor:pointer; white-space:nowrap;
  font-family:var(--ff-mono); font-weight:500; font-size:.82rem; letter-spacing:.02em;
  padding:.8rem 1.35rem; border-radius:100px; border:1px solid transparent;
  color:#0a0713; background:var(--grad); position:relative; overflow:hidden;
  transition:transform .18s, box-shadow .25s, filter .2s;
  box-shadow:0 6px 26px -8px rgba(124,107,255,.7);
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 12px 36px -8px rgba(124,107,255,.85); filter:brightness(1.06); }
.btn__ico{ font-size:.9em; }
.btn--lg{ padding:1rem 1.8rem; font-size:.9rem; }
.btn--sm{ padding:.58rem 1.05rem; font-size:.74rem; }
.btn--ghost{ background:transparent; color:var(--white); border:1px solid var(--line); box-shadow:none; }
.btn--ghost:hover{ background:rgba(232,238,251,.04); border-color:rgba(158,140,255,.5); box-shadow:none; }
.btn--wa{ background:linear-gradient(100deg,#25D366,#12b850); color:#04220f; box-shadow:0 6px 26px -8px rgba(37,211,102,.7); }

/* ---------- shared bits ---------- */
.mono-eyebrow{ font-family:var(--ff-mono); font-size:.78rem; letter-spacing:.08em; color:var(--slate); margin:0 0 1.3rem; }
.mono-eyebrow .prompt{ color:var(--aqua); margin-right:.4rem; }
.grad{ background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.head{ max-width:var(--maxw); margin:0 auto; }
.h2{ font-family:var(--ff-disp); font-weight:600; font-size:clamp(1.9rem,4.6vw,3.1rem); line-height:1.02; letter-spacing:-.02em; margin:0; }
.lead{ color:var(--slate); font-size:1.02rem; max-width:56ch; margin:1rem 0 0; }

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative; z-index:2; min-height:100svh; display:grid; align-items:center; gap:clamp(2rem,5vw,4rem);
  grid-template-columns:1.05fr .95fr; padding:8rem var(--pad) 4rem; max-width:1320px; margin:0 auto;
}
.hero__title{
  font-family:var(--ff-disp); font-weight:600; font-size:clamp(2.6rem,5.6vw,4.6rem);
  line-height:1.0; letter-spacing:-.03em; margin:0;
}
.hero__title span{ display:block; }
.hero__sub{ color:#B8C0D8; font-weight:300; font-size:clamp(1.02rem,1.5vw,1.2rem); max-width:44ch; margin:1.7rem 0 0; }
.hero__sub strong{ color:var(--white); font-weight:500; }
.hero__cta{ display:flex; gap:.8rem; flex-wrap:wrap; margin-top:2.1rem; }
.hero__chips{ list-style:none; padding:0; margin:2.2rem 0 0; display:flex; flex-direction:column; gap:.6rem;
  font-family:var(--ff-mono); font-size:.78rem; color:var(--slate); }
.hero__chips li{ display:flex; align-items:center; gap:.6rem; }

/* SIGNATURE console */
.console{
  border:1px solid var(--line); border-radius:var(--r); overflow:hidden;
  background:linear-gradient(180deg, rgba(20,28,52,.9), rgba(11,15,30,.92));
  backdrop-filter:blur(8px);
  box-shadow:0 30px 80px -30px rgba(0,0,0,.8), 0 0 0 1px rgba(124,107,255,.06),
             inset 0 1px 0 rgba(255,255,255,.04);
}
.console__bar{ display:flex; align-items:center; gap:.7rem; padding:.7rem 1rem; border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.02); font-family:var(--ff-mono); font-size:.72rem; color:var(--slate); }
.console__dots{ display:flex; gap:5px; }
.console__dots i{ width:9px; height:9px; border-radius:50%; background:rgba(232,238,251,.16); }
.console__dots i:first-child{ background:var(--pink); } .console__dots i:nth-child(2){ background:#F5C451; } .console__dots i:nth-child(3){ background:var(--aqua); }
.console__path{ margin-right:auto; }
.console__status{ display:flex; align-items:center; gap:.4rem; color:var(--aqua); }
.console__body{ padding:1.4rem 1.3rem 1.2rem; }

.pipeline{ display:flex; flex-direction:column; }
.node{ display:flex; align-items:center; gap:.9rem; padding:.85rem 1rem; border:1px solid var(--line);
  border-radius:12px; background:rgba(255,255,255,.02); position:relative; transition:border-color .3s, background .3s; }
.node.is-active{ border-color:rgba(124,107,255,.55); background:rgba(124,107,255,.08); box-shadow:0 0 24px -6px rgba(124,107,255,.5); }
.node__ico{ width:38px; height:38px; flex:none; display:grid; place-items:center; border-radius:9px;
  background:rgba(124,107,255,.12); color:var(--volt-2); border:1px solid rgba(124,107,255,.25); }
.node.is-active .node__ico{ color:var(--aqua); background:rgba(47,230,224,.12); border-color:rgba(47,230,224,.35); }
.node__txt{ display:flex; flex-direction:column; line-height:1.2; }
.node__txt b{ font-family:var(--ff-disp); font-weight:600; font-size:.98rem; }
.node__txt i{ font-style:normal; font-family:var(--ff-mono); font-size:.68rem; color:var(--slate); }
.node__tag{ margin-left:auto; font-family:var(--ff-mono); font-size:.68rem; color:var(--dim); }
.link{ height:20px; width:2px; margin-left:calc(1rem + 19px); background:var(--line); position:relative; overflow:hidden; }
.link .pulse{ position:absolute; left:-1px; top:-20px; width:4px; height:14px; border-radius:4px;
  background:linear-gradient(var(--aqua), transparent); filter:blur(.3px); animation:flow 2.6s linear infinite; }
.link:nth-of-type(4) .pulse{ animation-delay:.6s } .link:nth-of-type(6) .pulse{ animation-delay:1.2s }
@keyframes flow{ 0%{ transform:translateY(0); opacity:0 } 15%{opacity:1} 85%{opacity:1} 100%{ transform:translateY(60px); opacity:0 } }

.readout{ display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; margin-top:1.2rem; }
.readout__cell{ border:1px solid var(--line); border-radius:10px; padding:.7rem .8rem; background:rgba(255,255,255,.015); }
.readout__k{ display:block; font-family:var(--ff-mono); font-size:.64rem; letter-spacing:.08em; color:var(--dim); text-transform:uppercase; }
.readout__v{ font-family:var(--ff-disp); font-weight:600; font-size:1.15rem; margin-top:.2rem; display:flex; align-items:baseline; gap:.25rem; }
.readout__v i{ font-style:normal; font-size:.7rem; color:var(--slate); }
.readout__v .up{ color:var(--aqua); font-size:.6rem; }

@media(max-width:900px){
  .hero{ grid-template-columns:1fr; padding-top:7rem; min-height:auto; }
  .hero__col--engine{ order:2; }
}

/* ============================================================
   STATS
   ============================================================ */
.stats{ position:relative; z-index:2; max-width:var(--maxw); margin:0 auto; padding:2rem var(--pad) 4rem;
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line-2);
  border:1px solid var(--line-2); border-radius:var(--r); overflow:hidden; margin-top:1rem; }
.stat{ background:rgba(11,15,30,.6); padding:1.8rem 1.4rem; display:flex; flex-direction:column; gap:.4rem; }
.stat__v{ font-family:var(--ff-disp); font-weight:700; font-size:clamp(2rem,4vw,2.8rem); line-height:1; }
.stat__v--txt{ background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stat__k{ font-family:var(--ff-mono); font-size:.72rem; color:var(--slate); letter-spacing:.02em; }
.stats{ padding-block:0; }
.stats .stat{ padding:1.8rem 1.4rem; }
@media(max-width:720px){ .stats{ grid-template-columns:repeat(2,1fr); } }

/* section rhythm */
.services,.projects,.process,.about{ position:relative; z-index:2; padding:6rem var(--pad); }
.services{ border-top:1px solid var(--line); }

/* ============================================================
   SERVIÇOS
   ============================================================ */
.cards{ max-width:var(--maxw); margin:3rem auto 0; display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; }
.card{ position:relative; border:1px solid var(--line); border-radius:var(--r); padding:2rem 1.8rem;
  background:linear-gradient(180deg, rgba(20,28,52,.35), rgba(11,15,30,.35)); overflow:hidden; transition:border-color .3s, transform .3s; }
.card::before{ content:""; position:absolute; inset:0; background:radial-gradient(80% 60% at 100% 0%, rgba(124,107,255,.10), transparent 60%); opacity:0; transition:opacity .3s; }
.card:hover{ transform:translateY(-3px); border-color:rgba(158,140,255,.35); }
.card:hover::before{ opacity:1; }
.card__num{ position:absolute; top:1.3rem; right:1.5rem; font-family:var(--ff-mono); font-size:.72rem; color:var(--dim); }
.card__ico{ display:grid; place-items:center; width:48px; height:48px; border-radius:12px; color:var(--aqua);
  background:rgba(47,230,224,.08); border:1px solid rgba(47,230,224,.2); margin-bottom:1.3rem; }
.card h3{ font-family:var(--ff-disp); font-weight:600; font-size:1.25rem; margin:0 0 .55rem; }
.card p{ margin:0; color:var(--slate); font-size:.94rem; line-height:1.55; }
@media(max-width:720px){ .cards{ grid-template-columns:1fr; } }

/* ============================================================
   PROJETOS
   ============================================================ */
.projects{ border-top:1px solid var(--line); }
.projects__grid{ max-width:var(--maxw); margin:3rem auto 0; display:grid; grid-template-columns:repeat(2,1fr); gap:1.6rem; }
.proj{ display:flex; flex-direction:column; }
.proj__frame{ position:relative; display:block; border:1px solid var(--line); border-radius:14px; overflow:hidden;
  background:var(--panel2); aspect-ratio:16/10; transition:border-color .3s, transform .3s, box-shadow .3s; }
.proj__frame:hover{ transform:translateY(-4px); border-color:rgba(158,140,255,.45); box-shadow:0 30px 60px -30px rgba(124,107,255,.5); }
.win{ position:absolute; top:0; left:0; right:0; z-index:2; height:34px; display:flex; align-items:center; gap:6px;
  padding:0 12px; background:rgba(8,10,20,.85); backdrop-filter:blur(6px); border-bottom:1px solid var(--line);
  font-family:var(--ff-mono); font-size:.66rem; color:var(--slate); }
.win i{ width:8px; height:8px; border-radius:50%; background:rgba(232,238,251,.18); }
.win i:first-child{ background:var(--pink); } .win i:nth-child(2){ background:#F5C451; } .win i:nth-child(3){ background:var(--aqua); }
.win b{ margin-left:8px; font-weight:400; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.proj__frame picture,.proj__frame img{ position:absolute; inset:0; width:100%; height:100%; }
.proj__frame img{ object-fit:cover; object-position:top center; padding-top:34px; }
.proj__go{ position:absolute; bottom:12px; right:12px; z-index:3; font-family:var(--ff-mono); font-size:.72rem;
  color:var(--white); background:rgba(124,107,255,.9); padding:.4rem .7rem; border-radius:8px; opacity:0; transform:translateY(6px); transition:.3s; }
.proj__frame:hover .proj__go{ opacity:1; transform:none; }

/* system UI mockups */
.proj__frame--sys{ background:linear-gradient(160deg,#141c34,#0a0f1e); }
.sysui{ position:absolute; inset:34px 0 0; padding:1.3rem; display:flex; flex-direction:column; gap:.7rem; justify-content:center; }
.sysui--game .reels{ display:flex; gap:.6rem; justify-content:center; font-size:2.2rem; }
.sysui--game .reels span{ width:64px; height:64px; display:grid; place-items:center; border-radius:12px;
  background:rgba(124,107,255,.1); border:1px solid rgba(124,107,255,.3); box-shadow:inset 0 0 20px rgba(124,107,255,.15); }
.sysbar{ height:8px; border-radius:6px; background:rgba(232,238,251,.06); overflow:hidden; }
.sysbar span{ display:block; height:100%; width:var(--w); background:var(--grad); }
.sysrow{ display:flex; gap:.5rem; justify-content:center; font-family:var(--ff-mono); font-size:.68rem; color:var(--slate); }
.sysrow em{ font-style:normal; border:1px solid var(--line); padding:.2rem .5rem; border-radius:6px; }
.sysui--dash .pillars{ display:flex; flex-direction:column; gap:.75rem; }
.sysui--dash .pillars span{ display:flex; align-items:center; gap:.8rem; font-family:var(--ff-mono); font-size:.74rem; color:var(--slate); }
.sysui--dash .pillars em{ font-style:normal; width:92px; flex:none; color:var(--white); }
.sysui--dash .pillars i{ flex:1; height:9px; border-radius:6px; background:rgba(232,238,251,.06); position:relative; overflow:hidden; }
.sysui--dash .pillars i::after{ content:""; position:absolute; inset:0; width:var(--w); background:var(--grad); border-radius:6px; }
.sysui--dash .core{ margin-top:1rem; display:flex; align-items:center; gap:.5rem; font-family:var(--ff-mono);
  font-size:.7rem; color:var(--slate); border-top:1px dashed var(--line); padding-top:.8rem; }

/* CRM Dra. Mabyan — agenda + WhatsApp */
.sysui--crm{ gap:.9rem; }
.sysui--crm .crm-agenda{ display:flex; flex-direction:column; gap:.5rem; }
.sysui--crm .slot{ display:flex; align-items:center; gap:.6rem; font-family:var(--ff-mono); font-size:.72rem; color:var(--slate);
  border:1px solid var(--line); border-radius:9px; padding:.5rem .7rem; background:rgba(255,255,255,.015); }
.sysui--crm .slot em{ font-style:normal; color:var(--white); }
.sysui--crm .slot b{ margin-left:auto; font-weight:500; font-size:.62rem; padding:.2rem .5rem; border-radius:6px; }
.sysui--crm .slot .ok{ color:#25D366; background:rgba(37,211,102,.12); }
.sysui--crm .slot .wait{ color:#F5C451; background:rgba(245,196,81,.12); }
.sysui--crm .crm-wa{ display:flex; align-items:center; gap:.5rem; font-family:var(--ff-mono); font-size:.7rem; color:var(--slate);
  border-top:1px dashed var(--line); padding-top:.8rem; }
.sysui--crm .wa-dot{ color:#25D366; letter-spacing:-1px; }

/* Dezenas CRM — funil + broadcast */
.sysui--funnel{ gap:.9rem; }
.sysui--funnel .funnel{ display:flex; flex-direction:column; gap:.55rem; align-items:flex-start; }
.sysui--funnel .funnel span{ display:flex; align-items:center; gap:.7rem; height:32px; width:var(--w); min-width:130px;
  background:linear-gradient(100deg, rgba(124,107,255,.4), rgba(47,230,224,.16)); border:1px solid rgba(158,140,255,.28);
  border-radius:8px; padding:0 .75rem; font-family:var(--ff-mono); font-size:.72rem; color:var(--white); }
.sysui--funnel .funnel em{ font-style:normal; }
.sysui--funnel .funnel i{ margin-left:auto; font-style:normal; opacity:.85; font-size:.66rem; }
.sysui--funnel .broadcast{ display:flex; align-items:center; gap:.5rem; font-family:var(--ff-mono); font-size:.7rem; color:var(--slate);
  border-top:1px dashed var(--line); padding-top:.8rem; }
.is-locked{ cursor:default; }
.proj__lock{ position:absolute; bottom:12px; right:12px; z-index:3; font-family:var(--ff-mono); font-size:.68rem; color:var(--slate);
  background:rgba(8,10,20,.7); padding:.35rem .6rem; border-radius:8px; border:1px solid var(--line); }

.proj__meta{ padding:1.1rem .3rem 0; }
.proj__meta > div{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.proj__tag{ font-family:var(--ff-mono); font-size:.68rem; color:var(--aqua); letter-spacing:.02em; }
.proj__meta h3{ font-family:var(--ff-disp); font-weight:600; font-size:1.3rem; margin:.2rem 0 0; }
.proj__meta p{ color:var(--slate); font-size:.92rem; margin:.5rem 0 0; }
@media(max-width:760px){ .projects__grid{ grid-template-columns:1fr; } }

/* ============================================================
   PROCESSO
   ============================================================ */
.process{ border-top:1px solid var(--line); }
.steps{ list-style:none; padding:0; margin:3rem auto 0; max-width:var(--maxw);
  display:grid; grid-template-columns:repeat(5,1fr); gap:1.2rem; }
.step{ padding-top:2.4rem; border-top:1px solid; border-image:var(--grad) 1; position:relative; }
.step__n{ position:absolute; top:-.1rem; left:0; font-family:var(--ff-mono); font-size:.8rem; color:var(--aqua); }
.step h3{ font-family:var(--ff-disp); font-weight:600; font-size:1.1rem; margin:0 0 .5rem; }
.step p{ margin:0; color:var(--slate); font-size:.86rem; line-height:1.5; }
@media(max-width:900px){ .steps{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px){ .steps{ grid-template-columns:1fr; } }

/* ============================================================
   SOBRE
   ============================================================ */
.about{ border-top:1px solid var(--line); display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,5vw,4rem); align-items:center; max-width:var(--maxw); margin:0 auto; }
.about__photo{ position:relative; aspect-ratio:4/5; border-radius:var(--r); overflow:hidden;
  border:1px solid var(--line); background:
    radial-gradient(90% 70% at 50% 0%, rgba(124,107,255,.28), transparent 60%),
    linear-gradient(160deg,#131b33,#0a0f1e);
  display:grid; place-items:center; box-shadow:0 30px 70px -30px rgba(124,107,255,.4); }
.about__ph{ font-family:var(--ff-disp); font-weight:700; font-size:clamp(3rem,7vw,5rem); letter-spacing:.05em;
  background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; opacity:.85; }
.about__badge{ position:absolute; bottom:14px; left:14px; display:flex; align-items:center; gap:.5rem;
  font-family:var(--ff-mono); font-size:.72rem; color:var(--white); background:rgba(8,10,20,.7);
  border:1px solid var(--line); padding:.4rem .7rem; border-radius:100px; backdrop-filter:blur(6px); }
.about__lead{ color:#B8C0D8; font-weight:300; font-size:1.05rem; margin:1.1rem 0 0; max-width:52ch; }
.about__lead strong{ color:var(--white); font-weight:500; }
.about__facts{ display:flex; flex-wrap:wrap; gap:.6rem; margin:1.8rem 0; }
.about__facts span{ font-family:var(--ff-mono); font-size:.74rem; color:var(--slate); border:1px solid var(--line);
  border-radius:100px; padding:.5rem .9rem; }
.about__facts b{ color:var(--aqua); font-weight:500; margin-right:.35rem; }
@media(max-width:820px){ .about{ grid-template-columns:1fr; } .about__portrait{ max-width:320px; } }

/* ============================================================
   CTA
   ============================================================ */
.cta{ position:relative; z-index:2; overflow:hidden; text-align:center; padding:8rem var(--pad); border-top:1px solid var(--line); }
.cta__glow{ position:absolute; inset:0; z-index:0; background:radial-gradient(50% 70% at 50% 50%, rgba(124,107,255,.2), transparent 60%); }
.cta > *{ position:relative; z-index:2; }
.cta .mono-eyebrow{ display:inline-block; }
.cta__title{ font-family:var(--ff-disp); font-weight:600; font-size:clamp(2.4rem,7vw,5rem); line-height:.98; letter-spacing:-.03em; margin:0; }
.cta__lead{ color:#B8C0D8; font-weight:300; max-width:46ch; margin:1.5rem auto 0; font-size:1.08rem; }
.cta__actions{ display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap; margin-top:2.3rem; }

/* ============================================================
   footer
   ============================================================ */
.foot{ position:relative; z-index:2; border-top:1px solid var(--line); padding:2.4rem var(--pad);
  display:flex; align-items:center; justify-content:space-between; gap:1.2rem; flex-wrap:wrap; }
.foot__links{ display:flex; gap:1.6rem; font-family:var(--ff-mono); font-size:.78rem; }
.foot__links a{ color:var(--slate); transition:color .2s; }
.foot__links a:hover{ color:var(--aqua); }
.foot__copy{ width:100%; font-family:var(--ff-mono); font-size:.68rem; color:var(--dim); margin:.5rem 0 0; }

/* ---------- reveals ---------- */
.reveal,.reveal-up{ opacity:0; }
.reveal{ transform:translateY(16px); } .reveal-up{ transform:translateY(28px); }
.reveal.is-in,.reveal-up.is-in{ opacity:1; transform:none;
  transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--d,0s), transform .7s cubic-bezier(.2,.7,.2,1) var(--d,0s); }
@media (prefers-reduced-motion: reduce){
  .reveal,.reveal-up{ opacity:1 !important; transform:none !important; }
  .aurora,.led--on,.link .pulse{ animation:none !important; }
}
a:focus-visible,.btn:focus-visible{ outline:2px solid var(--aqua); outline-offset:3px; border-radius:8px; }
