@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/space-grotesk.woff2) format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/inter.woff2) format('woff2');}

:root{
  --bg:#0E0E11;
  --surface:#17171B;
  --elevated:#202024;
  --ink:#F8F8F8;
  --purple:#8000B0;
  --glow:#B44DFF;
  --muted:#A8A3AD;
  --glass-border:rgba(255,255,255,.12);
  --glow-shadow:0 0 24px rgba(180,77,255,.55);
  --light-bg:#FBF8FC;
  --light-ink:#241A29;
  --light-muted:#5B5462;
  --light-border:rgba(128,0,176,.14);
  --orange:#E67832;
  --blue:#3282B4;
  --green:#3CDC8C;
  --cyan:#32AAAA;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Inter',sans-serif;background:var(--bg);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;font-weight:700;text-wrap:balance;margin:0;letter-spacing:-.01em;}
p{margin:0;}
a{color:inherit;}
img,svg{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;}
:focus-visible{outline:2px solid var(--glow);outline-offset:3px;}
::selection{background:var(--purple);color:#fff;}

.wrap{max-width:1080px;margin:0 auto;padding:0 40px;}
@media (max-width:640px){.wrap{padding:0 22px;}}

/* ---------- nav ---------- */
nav.topnav{position:sticky;top:0;z-index:100;background:rgba(14,14,17,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between;padding:16px 40px;}
nav.topnav .brand{display:flex;align-items:center;gap:10px;}
nav.topnav .brand img{height:26px;width:auto;}
nav.topnav .tagline{font-family:'Inter';font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-left:1px solid var(--glass-border);padding-left:12px;margin-left:2px;}
@media (max-width:640px){nav.topnav .tagline{display:none;} nav.topnav{padding:14px 20px;}}

/* ---------- generic block rhythm ---------- */
.eyebrow{font-family:'Inter';font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--glow);}
.block{position:relative;padding:96px 0;}
.block h2{font-size:clamp(26px,3.6vw,38px);color:var(--ink);}
.block .lede{color:var(--muted);font-size:15.5px;margin-top:12px;max-width:620px;line-height:1.65;}
.block.light{background:var(--light-bg);color:var(--light-ink);}
.block.light h2,.block.light h3,.block.light h4{color:var(--light-ink);}
.block.light .eyebrow{color:var(--purple);}
.block.light .lede{color:var(--light-muted);}
.center{text-align:center;}
.center .lede{margin-left:auto;margin-right:auto;}
@media (max-width:640px){.block{padding:64px 0;}}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* ---------- hero ---------- */
.hero{position:relative;padding:168px 0 96px;overflow:hidden;text-align:center;}
.hero::before{content:"";position:absolute;top:-260px;left:50%;transform:translateX(-50%);width:900px;height:900px;border-radius:50%;background:radial-gradient(circle,rgba(128,0,176,.5),transparent 68%);filter:blur(60px);pointer-events:none;}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:180px;background:linear-gradient(180deg,transparent,var(--bg));pointer-events:none;}
.hero .in{position:relative;z-index:2;max-width:760px;margin:0 auto;}
.hero .eyebrow{display:inline-block;}
.hero h1{font-size:clamp(2.5rem,7.4vw,4.6rem);line-height:1.06;margin-top:18px;}
.hero h1 .accent{color:var(--glow);text-shadow:0 0 30px rgba(180,77,255,.5);}
.hero .sub{font-family:'Space Grotesk';font-weight:400;font-size:clamp(1.05rem,2.3vw,1.4rem);color:rgba(248,248,248,.66);margin-top:18px;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.55;}
.hero .ctas{margin-top:34px;}
.hero .rule{margin-top:22px;font-family:'Space Grotesk';font-style:italic;font-weight:500;font-size:14px;color:var(--muted);letter-spacing:.02em;}
.hero .trust{margin-top:34px;font-size:12px;color:var(--muted);display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;}
.hero .trust span:not(:last-child)::after{content:"·";margin-left:10px;color:var(--glass-border);}

/* ---------- buttons ---------- */
.btn-espectro{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:16px 32px;border-radius:14px;border:none;background:rgba(10,8,20,.6);cursor:pointer;font-family:'Space Grotesk';font-weight:700;font-size:15px;color:#fff;letter-spacing:.02em;text-decoration:none;transition:background .3s;}
.btn-espectro::before{content:"";position:absolute;inset:0;border-radius:14px;padding:1.5px;background:linear-gradient(90deg,#ff6b35,#cc2244,#8000b0,#4d7cff,#00c896);-webkit-mask:linear-gradient(#fff 0 0) content-box exclude,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box exclude,linear-gradient(#fff 0 0);}
.btn-espectro::after{content:"";position:absolute;bottom:-16px;left:10%;width:80%;height:16px;background:linear-gradient(90deg,#ff6b35,#cc2244,#8000b0,#4d7cff,#00c896);filter:blur(12px);opacity:.55;border-radius:50%;z-index:-1;transition:opacity .3s;}
.btn-espectro:hover{background:rgba(128,0,176,.18);}
.btn-espectro:hover::after{opacity:.85;}

/* ---------- stats ---------- */
.stats-plain{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px;padding-top:36px;border-top:1px solid var(--light-border);text-align:left;}
.stats-plain .num{font-family:'Space Grotesk';font-weight:700;font-size:clamp(30px,4vw,40px);color:var(--purple);letter-spacing:-.01em;}
.stats-plain .lbl{font-size:13px;color:var(--light-muted);margin-top:8px;line-height:1.5;max-width:220px;}
.stats-plain .src{display:block;font-size:10.5px;color:#9c96a3;margin-top:5px;letter-spacing:.03em;}
@media (max-width:720px){.stats-plain{grid-template-columns:1fr;gap:24px;}}

/* ---------- manifesto ---------- */
.manifesto{max-width:640px;margin:0 auto;text-align:center;}
.manifesto h2{font-size:clamp(28px,5vw,46px);}
.manifesto p{font-size:15.5px;color:var(--muted);line-height:1.75;margin-top:22px;}
.manifesto .final-word{margin-top:26px;font-family:'Space Grotesk';font-style:italic;font-size:14px;color:var(--muted);}

/* ---------- framework / method ---------- */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;}
.method-step{background:var(--surface);border:1px solid var(--glass-border);border-radius:20px;padding:32px 26px;text-align:left;}
.block.light .method-step{background:#fff;border-color:var(--light-border);box-shadow:0 10px 28px rgba(80,40,110,.06);}
.method-step .step-num{font-family:'Space Grotesk';font-weight:700;font-size:12.5px;color:var(--glow);letter-spacing:1.5px;}
.block.light .method-step .step-num{color:var(--purple);}
.method-step h3{font-family:'Space Grotesk';font-weight:600;font-size:19px;color:#fff;margin-top:12px;}
.block.light .method-step h3{color:var(--light-ink);}
.method-step p{font-size:13.5px;color:rgba(248,248,248,.66);line-height:1.6;margin-top:10px;}
.block.light .method-step p{color:var(--light-muted);}
@media (max-width:820px){.grid3{grid-template-columns:1fr;}}

/* ---------- skills ---------- */
.skill-row{display:grid;grid-template-columns:1fr 1fr;gap:32px 40px;margin-top:44px;}
.skill-item{display:flex;gap:16px;align-items:flex-start;}
.skill-num{font-family:'Space Grotesk';font-weight:700;font-size:20px;color:var(--purple);flex-shrink:0;line-height:1.3;}
.skill-item h4{font-size:15.5px;margin-bottom:5px;color:var(--light-ink);}
.skill-item p{font-size:13px;color:var(--light-muted);line-height:1.6;margin:0;}
@media (max-width:720px){.skill-row{grid-template-columns:1fr;}}

/* ---------- journey (el camino) ---------- */
.journey{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:48px;}
.jstep{position:relative;padding-left:26px;border-left:2px solid var(--glass-border);}
.jstep:first-child{border-left:2px solid var(--purple);}
.jstep .jnum{font-family:'Space Grotesk';font-weight:700;font-size:13px;color:var(--glow);letter-spacing:1.5px;}
.jstep h3{font-family:'Space Grotesk';font-size:20px;margin-top:10px;color:#fff;}
.jstep p{font-size:13.5px;color:var(--muted);line-height:1.65;margin-top:10px;}
@media (max-width:820px){.journey{grid-template-columns:1fr;gap:34px;}.jstep{border-left:2px solid var(--purple) !important;}}

/* ---------- chips ---------- */
.keyword-row{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:28px;}
.center .keyword-row{justify-content:center;}
.pillar{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;}
.pillar .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}

.phase-closing{margin-top:28px;font-family:'Space Grotesk';font-weight:500;font-size:16px;color:var(--glow);}
.block.light .phase-closing{color:var(--purple);}

/* ---------- community ---------- */
.commgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px;}
.commcard{position:relative;aspect-ratio:3/4;border-radius:16px;overflow:hidden;padding:16px;display:flex;align-items:flex-end;background:linear-gradient(160deg,var(--elevated),var(--surface));border:1px solid var(--glass-border);}
.commcard::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,var(--card-glow,rgba(180,77,255,.35)),transparent 60%);opacity:.6;}
.commcard span{position:relative;z-index:2;font-family:'Space Grotesk';font-weight:700;font-size:13.5px;color:#fff;line-height:1.3;}
@media (max-width:820px){.commgrid{grid-template-columns:repeat(2,1fr);}}

/* ---------- 6 reasons ---------- */
.method-card{background:var(--surface);border:1px solid var(--glass-border);border-radius:24px;padding:52px 44px;}
.values-row{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:40px;}
.value-item{text-align:center;}
.value-icon{margin:0 auto 16px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;}
.value-item h3{font-family:'Space Grotesk';font-weight:600;font-size:16.5px;margin-bottom:8px;color:#fff;}
.value-item p{color:var(--muted);font-size:13.5px;line-height:1.65;max-width:250px;margin:0 auto;}
@media (max-width:820px){.values-row{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.values-row{grid-template-columns:1fr;}}

/* ---------- final cta ---------- */
.cta-final{position:relative;padding:120px 0 90px;overflow:hidden;text-align:center;}
.cta-final::before{content:"";position:absolute;top:-220px;right:-160px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(180,77,255,.3),transparent 70%);filter:blur(60px);}
.cta-final::after{content:"";position:absolute;bottom:-220px;left:-160px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(128,0,176,.32),transparent 70%);filter:blur(60px);}
.cta-final .in{position:relative;z-index:2;max-width:640px;margin:0 auto;}
.cta-final h2{font-size:clamp(28px,4.6vw,44px);}

/* ---------- footer ---------- */
footer{padding:44px 0 60px;border-top:1px solid var(--glass-border);}
footer .fwrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;}
footer .flogo{display:flex;align-items:center;gap:10px;}
footer .flogo img{height:20px;width:auto;}
footer .flineage{font-size:12px;color:var(--muted);}
footer .flineage a{color:var(--glow);text-decoration:none;}
footer .flineage a:hover{text-decoration:underline;}
footer .fcopy{font-size:11.5px;color:#66626c;}
@media (max-width:560px){footer .fwrap{flex-direction:column;align-items:flex-start;}}

/* ---------- hero (split, photo) ---------- */
.hero{padding:150px 0 0;text-align:left;}
.hero::after{display:none;}
.hero-orb{position:absolute;top:-260px;left:50%;transform:translateX(-50%);width:900px;height:900px;border-radius:50%;background:radial-gradient(circle,rgba(128,0,176,.5),transparent 68%);filter:blur(60px);pointer-events:none;}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding-bottom:70px;}
.hero-col-text .eyebrow{display:inline-block;}
.hero-col-text h1{font-size:clamp(2.3rem,4.6vw,3.7rem);line-height:1.07;margin-top:18px;}
.hero-col-text h1 .accent{color:var(--glow);text-shadow:0 0 30px rgba(180,77,255,.5);}
.hero-col-text .sub{font-family:'Space Grotesk';font-weight:400;font-size:clamp(1rem,1.6vw,1.2rem);color:rgba(248,248,248,.66);margin-top:16px;max-width:480px;line-height:1.55;}
.hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.hero-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:100px;background:var(--surface);border:1px solid var(--glass-border);font-family:'Space Grotesk';font-size:12.5px;font-weight:600;color:var(--ink);}
.hero-chip-dot{width:6px;height:6px;border-radius:50%;background:var(--glow);box-shadow:0 0 8px var(--glow);}
.hero .ctas{margin-top:28px;}
.hero .rule{margin-top:20px;font-family:'Space Grotesk';font-style:italic;font-weight:500;font-size:14px;color:var(--muted);letter-spacing:.02em;}
.hero-stats{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-top:28px;border-top:1px solid var(--glass-border);max-width:520px;}
.hero-stats .num{font-family:'Space Grotesk';font-weight:700;font-size:clamp(24px,2.8vw,32px);color:var(--glow);letter-spacing:-.01em;}
.hero-stat-lbl{font-size:11.5px;color:var(--muted);margin-top:6px;line-height:1.5;}
.hero-col-visual{position:relative;}
.hero-photo-wrap{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 30px 70px rgba(0,0,0,.5);}
.hero-photo{width:100%;height:100%;object-fit:cover;}
.hero-mariposa{position:absolute;bottom:-30px;left:-40px;width:130px;opacity:.9;filter:drop-shadow(0 10px 24px rgba(0,0,0,.4));}
.hero-badge{position:absolute;top:18px;right:18px;display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:100px;background:rgba(14,14,17,.72);backdrop-filter:blur(10px);border:1px solid var(--glass-border);font-family:'Space Grotesk';font-size:12px;font-weight:600;color:#fff;}
.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);}
@media (max-width:900px){
  .hero{padding-top:120px;}
  .hero-grid{grid-template-columns:1fr;gap:40px;}
  .hero-col-visual{order:-1;max-width:360px;margin:0 auto;}
  .hero-stats{grid-template-columns:1fr 1fr 1fr;max-width:none;gap:14px;}
}
@media (max-width:560px){.hero-stats{grid-template-columns:1fr;}}

/* ---------- manifesto background photo ---------- */
.manifesto-bg{position:relative;padding:110px 0;overflow:hidden;}
.manifesto-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.manifesto-bg-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,14,17,.88),rgba(14,14,17,.94) 60%,var(--bg)),radial-gradient(circle at 50% 30%,rgba(128,0,176,.35),transparent 60%);}
.manifesto-bg .manifesto{position:relative;z-index:2;}
@media (max-width:640px){.manifesto-bg{padding:80px 0;}}

/* ---------- video section ---------- */
.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.video-frame{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 70px rgba(0,0,0,.5);border:1px solid var(--glass-border);}
.video-frame video{width:100%;height:100%;object-fit:cover;display:block;}
.video-badge{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:8px 16px;border-radius:100px;background:var(--surface);border:1px solid var(--glass-border);font-family:'Space Grotesk';font-size:12px;font-weight:600;color:var(--muted);}
.video-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--glow);box-shadow:0 0 8px var(--glow);}
.video-text h2{font-size:clamp(24px,3.4vw,32px);margin-top:12px;}
.video-stat{margin-top:26px;padding-top:22px;border-top:1px solid var(--glass-border);}
.video-stat-num{font-family:'Space Grotesk';font-weight:700;font-size:clamp(26px,3vw,34px);color:var(--glow);}
.video-stat-lbl{font-size:12.5px;color:var(--muted);margin-top:6px;max-width:260px;line-height:1.5;}
@media (max-width:820px){.video-grid{grid-template-columns:1fr;gap:32px;}}

/* ---------- framework editorial rows ---------- */
.framework-editorial{margin-top:56px;display:flex;flex-direction:column;gap:64px;}
.framework-row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.framework-row:nth-child(even){direction:rtl;}
.framework-row:nth-child(even) > *{direction:ltr;}
.framework-row-text h3{font-size:clamp(20px,2.4vw,26px);margin-top:14px;}
.framework-row-text p{font-size:14.5px;color:var(--light-muted);line-height:1.7;margin-top:14px;max-width:420px;}
.framework-tag{display:inline-flex;align-items:center;padding:6px 14px;border-radius:100px;font-family:'Space Grotesk';font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;}
.framework-tag--mindset{background:rgba(128,0,176,.12);color:var(--purple);}
.framework-tag--networking{background:rgba(50,130,180,.12);color:var(--blue);}
.framework-tag--ai{background:rgba(230,120,50,.14);color:var(--orange);}
.framework-row-photo{border-radius:20px;overflow:hidden;aspect-ratio:5/4;box-shadow:0 20px 46px rgba(80,40,110,.14);}
.framework-row-photo img{width:100%;height:100%;object-fit:cover;display:block;}
@media (max-width:780px){
  .framework-row,.framework-row:nth-child(even){direction:ltr;grid-template-columns:1fr;gap:22px;}
  .framework-row-photo{order:-1;}
}

/* ---------- skill icons ---------- */
.skill-item{align-items:flex-start;}
.skill-icon{flex-shrink:0;width:34px;height:34px;color:var(--glow);}
.skill-item h4{color:var(--ink);}
.skill-item p{color:var(--muted);}

/* ---------- phase support photo ---------- */
.phase-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;}
.phase-grid--rev{grid-template-columns:.8fr 1.2fr;}
.phase-grid--rev .phase-text{order:2;}
.phase-grid--rev .phase-photo{order:1;}
.phase-photo{border-radius:20px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 20px 50px rgba(0,0,0,.35);}
.phase-photo img{width:100%;height:100%;object-fit:cover;display:block;}
@media (max-width:820px){
  .phase-grid,.phase-grid--rev{grid-template-columns:1fr;gap:26px;}
  .phase-grid--rev .phase-text,.phase-grid--rev .phase-photo{order:initial;}
  .phase-photo{aspect-ratio:16/10;}
}

/* ---------- community marquee ---------- */
.marquee-wrap{margin-top:52px;display:flex;flex-direction:column;gap:16px;overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.marquee-track{display:flex;gap:16px;width:max-content;animation:marquee-scroll 42s linear infinite;}
.marquee-track--rev{animation-direction:reverse;animation-duration:48s;}
@keyframes marquee-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.marquee-card{position:relative;width:260px;aspect-ratio:4/5;border-radius:18px;overflow:hidden;flex-shrink:0;}
.marquee-card img{width:100%;height:100%;object-fit:cover;display:block;}
.marquee-cap{position:absolute;left:0;right:0;bottom:0;padding:16px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.75));display:flex;flex-direction:column;gap:4px;}
.marquee-tag{font-family:'Space Grotesk';font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--glow);}
.marquee-title{font-family:'Space Grotesk';font-size:14px;font-weight:600;color:#fff;}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none;overflow-x:auto;}}
@media (max-width:640px){.marquee-card{width:200px;}}

/* ---------- testimonials ---------- */
.testi-row{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.testi-card{background:#fff;border:1px solid var(--light-border);border-radius:20px;padding:30px 26px;box-shadow:0 14px 34px rgba(80,40,110,.07);}
.testi-quote{font-family:'Space Grotesk';font-size:15px;line-height:1.6;color:var(--light-ink);}
.testi-quote::before{content:"\201C";}
.testi-quote::after{content:"\201D";}
.testi-author{margin-top:20px;display:flex;align-items:center;gap:12px;}
.testi-avatar{width:42px;height:42px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk';font-weight:700;font-size:14px;color:#fff;}
.testi-name{font-family:'Space Grotesk';font-size:13.5px;font-weight:700;color:var(--light-ink);}
.testi-role{font-size:11.5px;color:var(--light-muted);margin-top:2px;}
.testi-note{margin-top:28px;font-size:11.5px;color:var(--light-muted);opacity:.75;font-style:italic;}
@media (max-width:820px){.testi-row{grid-template-columns:1fr;}}

/* ---------- hero kicker / tech-fact copy additions ---------- */
.hero-kicker{margin-top:10px;font-family:'Space Grotesk';font-weight:600;font-size:16px;color:var(--glow);letter-spacing:.01em;}
.stats-followup{margin-top:28px;padding-top:24px;border-top:1px solid var(--light-border);font-size:14px;color:var(--light-muted);line-height:1.75;max-width:700px;}
.stats-followup strong{color:var(--purple);}
.stats-followup .src{color:#9c96a3;font-size:12px;}

.framework-skills{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.framework-skills span{display:inline-flex;align-items:center;padding:5px 12px;border-radius:100px;background:rgba(128,0,176,.06);border:1px solid var(--light-border);font-family:'Space Grotesk';font-size:11px;font-weight:600;color:var(--purple);}
.framework-fact{margin-top:14px;font-size:12px;font-style:italic;color:var(--light-muted);}
.framework-fact .src{color:#9c96a3;font-style:normal;}

.skill-tag{display:inline-block;margin-left:8px;padding:3px 10px;border-radius:100px;background:var(--surface);border:1px solid var(--glass-border);font-family:'Space Grotesk';font-size:10px;font-weight:700;letter-spacing:.02em;color:var(--glow);vertical-align:middle;white-space:nowrap;}

/* ---------- whatsapp float ---------- */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:200;width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--glow));display:flex;align-items:center;justify-content:center;font-size:24px;text-decoration:none;box-shadow:0 10px 26px rgba(128,0,176,.45);transition:transform .25s;}
.wa-float:hover{transform:scale(1.08);}
@media (max-width:640px){.wa-float{right:16px;bottom:16px;width:48px;height:48px;font-size:20px;}}
