/* ===== FlairLab — vetrina ===== */
:root{
  --cyan:#31CFEA; --cyan-hi:#48DBF2; --blue:#2E6BD6; --blue-2:#1B5FC2; --blue-soft:#2E97EC;
  --navy:#0b1626; --navy-2:#0E1B2A; --navy-3:#12314f;
  --ink:#EAF2F8; --muted:#93A7BA; --line:rgba(255,255,255,.09);
  --grad:linear-gradient(120deg,#48DBF2 0%,#2E97EC 48%,#2E6BD6 100%);
  --grad-soft:linear-gradient(120deg,rgba(72,219,242,.16),rgba(46,107,214,.16));
  --maxw:1160px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--navy); color:var(--ink);
  overflow-x:hidden; -webkit-font-smoothing:antialiased; line-height:1.55;
  /* leggera grana */
  background-image:radial-gradient(1200px 700px at 50% -10%,#13314f 0%,#0b1626 55%);
}
h1,h2,h3{font-family:"Space Grotesk",Inter,sans-serif; line-height:1.05; letter-spacing:-.02em; font-weight:700}
a{color:inherit; text-decoration:none}
img,svg{display:block}
section{position:relative; z-index:1}

/* ===== gradient text ===== */
.grad-text{
  background:linear-gradient(100deg,#7fe8f7,#48DBF2,#4aa3ff,#7fe8f7);
  background-size:220% 100%;
  -webkit-background-clip:text; background-clip:text; color:transparent;
  animation:shine 7s linear infinite;
}
@keyframes shine{to{background-position:220% 0}}

/* ===== aurora background ===== */
.bg-aurora{position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none}
.blob{position:absolute; border-radius:50%; filter:blur(90px); opacity:.5; mix-blend-mode:screen}
.blob.b1{width:620px;height:620px; top:-160px; left:-120px; background:radial-gradient(circle,#2E6BD6,transparent 70%); animation:drift 22s var(--ease) infinite alternate}
.blob.b2{width:560px;height:560px; top:8%; right:-160px; background:radial-gradient(circle,#31CFEA,transparent 70%); opacity:.35; animation:drift 26s var(--ease) infinite alternate-reverse}
.blob.b3{width:520px;height:520px; bottom:-200px; left:30%; background:radial-gradient(circle,#7A5AF8,transparent 70%); opacity:.28; animation:drift 30s var(--ease) infinite alternate}
@keyframes drift{to{transform:translate3d(80px,60px,0) scale(1.15)}}

/* ===== cursor glow ===== */
.cursor-glow{position:fixed; width:520px;height:520px; left:0;top:0; z-index:0; pointer-events:none;
  transform:translate(-50%,-50%); border-radius:50%;
  background:radial-gradient(circle,rgba(49,207,234,.10),transparent 62%); transition:opacity .3s; opacity:0}

/* ===== nav ===== */
.nav{position:fixed; top:0; left:0; right:0; z-index:50; display:flex; align-items:center; justify-content:space-between;
  padding:20px clamp(18px,5vw,54px); transition:padding .3s var(--ease), background .3s, backdrop-filter .3s, border-color .3s;
  border-bottom:1px solid transparent}
.nav.scrolled{padding:12px clamp(18px,5vw,54px); background:rgba(11,22,38,.72); backdrop-filter:blur(14px); border-bottom-color:var(--line)}
.brand{display:inline-flex; align-items:center; gap:11px}
.brand-mark{width:34px; height:auto; filter:drop-shadow(0 4px 14px rgba(46,151,236,.45))}
.brand-word{font-family:"Space Grotesk",sans-serif; font-weight:700; font-size:21px; letter-spacing:-.01em}
.brand-word b{color:#EAF2F8} .brand-word i{color:var(--cyan); font-style:normal} .brand-word u{color:#8296AA; text-decoration:none}
.nav-links{display:flex; align-items:center; gap:clamp(14px,2.4vw,34px)}
.nav-links a{color:var(--muted); font-size:15px; font-weight:500; transition:color .2s}
.nav-links a:hover{color:var(--ink)}

/* ===== buttons ===== */
.btn{display:inline-flex; align-items:center; gap:9px; font-family:"Space Grotesk",sans-serif; font-weight:600;
  padding:14px 26px; border-radius:999px; font-size:15px; cursor:pointer; border:1px solid transparent; transition:transform .25s var(--ease), box-shadow .3s, background .3s}
.btn .arrow{transition:transform .25s var(--ease)}
.btn:hover .arrow{transform:translateX(4px)}
.btn-primary{background:var(--grad); color:#08131f; box-shadow:0 10px 34px rgba(46,107,214,.42), inset 0 1px 0 rgba(255,255,255,.35)}
.btn-primary:hover{transform:translateY(-3px); box-shadow:0 18px 48px rgba(49,207,234,.5)}
.btn-ghost{background:rgba(255,255,255,.04); color:var(--ink); border-color:var(--line); backdrop-filter:blur(6px)}
.btn-ghost:hover{background:rgba(255,255,255,.09); transform:translateY(-3px)}
.btn-sm{padding:9px 18px; font-size:14px}
.btn-lg{padding:17px 34px; font-size:17px}

/* ===== hero ===== */
.hero{min-height:100svh; display:flex; align-items:center; justify-content:center; text-align:center; padding:120px 20px 80px; overflow:hidden}
.hero-canvas{position:absolute; inset:0; z-index:0; width:100%; height:100%}
.hero-inner{position:relative; z-index:2; max-width:920px}
.eyebrow{font-size:13px; letter-spacing:.32em; font-weight:600; color:var(--cyan); margin-bottom:24px}
.hero h1{font-size:clamp(2.7rem,8vw,6rem); margin-bottom:22px; text-shadow:0 2px 40px rgba(0,0,0,.4)}
.hero-sub{font-size:clamp(1.05rem,2.2vw,1.32rem); color:#B7C6D4; max-width:640px; margin:0 auto 38px}
.hero-sub b{color:var(--ink)}
.hero-cta{display:flex; gap:14px; justify-content:center; flex-wrap:wrap}
.hero-badge{position:absolute; z-index:1; top:-140px; left:50%; transform:translateX(-50%); opacity:.9}
.orb{width:150px; height:150px; border-radius:34px; display:grid; place-items:center;
  background:linear-gradient(160deg,rgba(72,219,242,.14),rgba(46,107,214,.06));
  border:1px solid rgba(72,219,242,.22); backdrop-filter:blur(6px);
  box-shadow:0 30px 80px rgba(46,107,214,.35); animation:float 6s var(--ease) infinite alternate}
@keyframes float{to{transform:translateY(-16px)}}

/* scroll cue */
.scroll-cue{position:absolute; bottom:28px; left:50%; transform:translateX(-50%); z-index:2;
  width:26px; height:42px; border:2px solid rgba(255,255,255,.28); border-radius:14px; display:grid; justify-items:center; padding-top:7px}
.scroll-cue span{width:4px; height:8px; background:var(--cyan); border-radius:2px; animation:cue 1.6s infinite}
@keyframes cue{0%{opacity:0; transform:translateY(-4px)}40%{opacity:1}100%{opacity:0; transform:translateY(12px)}}

/* ===== marquee ===== */
.marquee{position:relative; z-index:1; border-block:1px solid var(--line); background:rgba(255,255,255,.02); overflow:hidden; padding:22px 0}
.marquee-track{display:flex; align-items:center; gap:36px; width:max-content; animation:scrollx 26s linear infinite; white-space:nowrap}
.marquee-track span{font-family:"Space Grotesk",sans-serif; font-weight:600; font-size:clamp(1.3rem,3vw,2rem); color:#5f7c8e}
.marquee-track i{color:var(--cyan); font-size:.8rem; font-style:normal}
@keyframes scrollx{to{transform:translateX(-50%)}}

/* ===== manifesto ===== */
.manifesto{max-width:var(--maxw); margin:0 auto; padding:clamp(90px,14vw,160px) 24px; text-align:center}
.manifesto h2{font-size:clamp(2rem,5.5vw,4rem); margin-bottom:20px}
.manifesto p{color:var(--muted); font-size:clamp(1rem,2vw,1.25rem); max-width:620px; margin:0 auto}

/* ===== section head ===== */
.section-head{text-align:center; max-width:720px; margin:0 auto clamp(40px,6vw,64px)}
.tag-line{display:inline-block; font-size:12px; letter-spacing:.28em; font-weight:700; color:var(--cyan);
  padding:7px 15px; border:1px solid rgba(49,207,234,.28); border-radius:999px; background:rgba(49,207,234,.06); margin-bottom:18px}
.section-head h2{font-size:clamp(1.8rem,4.5vw,3.1rem)}

/* ===== agents ===== */
.agents{max-width:var(--maxw); margin:0 auto; padding:0 24px clamp(60px,10vw,120px)}
.agent-flow{display:grid; grid-template-columns:repeat(5,1fr); gap:16px}
.agent-card{position:relative; background:rgba(255,255,255,.035); border:1px solid var(--line); border-radius:20px; padding:26px 20px;
  transition:transform .3s var(--ease), border-color .3s, background .3s; transform-style:preserve-3d}
.agent-card::after{content:""; position:absolute; inset:0; border-radius:20px; padding:1px; background:var(--grad);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:0; transition:opacity .3s}
.agent-card:hover{background:rgba(255,255,255,.06); transform:translateY(-8px)}
.agent-card:hover::after{opacity:.7}
.agent-ic{width:50px;height:50px; border-radius:14px; display:grid; place-items:center; margin-bottom:16px; background:var(--grad);
  box-shadow:0 10px 26px rgba(46,107,214,.4)}
.agent-ic svg{width:24px;height:24px; fill:none; stroke:#08131f; stroke-width:2; stroke-linecap:round; stroke-linejoin:round}
.agent-card.is-human .agent-ic{background:linear-gradient(150deg,#F0B24B,#D98315); box-shadow:0 10px 26px rgba(227,154,43,.4)}
.agent-card h3{font-size:1.18rem; margin-bottom:8px}
.agent-card h3 em{font-style:normal; font-size:.62em; color:#F0B24B; font-weight:600; letter-spacing:.06em; text-transform:uppercase; margin-left:6px}
.agent-card p{color:var(--muted); font-size:.9rem}

/* ===== stats ===== */
.stats{max-width:var(--maxw); margin:0 auto; padding:clamp(50px,8vw,90px) 24px; display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
  border-block:1px solid var(--line)}
.stat{text-align:center}
.stat .num{font-family:"Space Grotesk",sans-serif; font-weight:700; font-size:clamp(2.6rem,6vw,4.4rem); line-height:1;
  background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent}
.stat .lbl{color:var(--muted); margin-top:10px; font-size:.95rem}

/* ===== features ===== */
.features{max-width:var(--maxw); margin:0 auto; padding:clamp(70px,11vw,130px) 24px}
.feature-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.feature{position:relative; background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid var(--line); border-radius:22px; padding:30px; transition:transform .3s var(--ease), box-shadow .3s, border-color .3s;
  transform-style:preserve-3d}
.feature:hover{border-color:rgba(49,207,234,.35); box-shadow:0 24px 60px rgba(11,22,38,.6), 0 0 0 1px rgba(49,207,234,.15)}
.f-ic{width:52px;height:52px; border-radius:15px; margin-bottom:20px; box-shadow:0 12px 30px rgba(46,107,214,.35)}
.f-ic.g1{background:linear-gradient(135deg,#48DBF2,#2E6BD6)}
.f-ic.g2{background:linear-gradient(135deg,#31CFEA,#7A5AF8)}
.f-ic.g3{background:linear-gradient(135deg,#4aa3ff,#1B5FC2)}
.f-ic.g4{background:linear-gradient(135deg,#7A5AF8,#2E97EC)}
.f-ic.g5{background:linear-gradient(135deg,#F0B24B,#E5484D)}
.f-ic.g6{background:linear-gradient(135deg,#1FA97A,#31CFEA)}
.feature h3{font-size:1.28rem; margin-bottom:8px}
.feature p{color:var(--muted); font-size:.96rem}

/* ===== cta ===== */
.cta{padding:clamp(40px,8vw,90px) 24px clamp(80px,12vw,140px)}
.cta-panel{max-width:var(--maxw); margin:0 auto; text-align:center; position:relative; overflow:hidden;
  border-radius:36px; padding:clamp(56px,9vw,100px) 30px;
  background:linear-gradient(150deg,rgba(46,107,214,.22),rgba(49,207,234,.12));
  border:1px solid rgba(72,219,242,.24)}
.cta-panel::before{content:""; position:absolute; width:560px;height:560px; border-radius:50%; top:-260px; left:50%; transform:translateX(-50%);
  background:radial-gradient(circle,rgba(49,207,234,.35),transparent 70%); filter:blur(30px)}
.cta-panel h2{position:relative; font-size:clamp(2rem,5.5vw,3.6rem); margin-bottom:16px}
.cta-panel p{position:relative; color:#C4D2DE; font-size:clamp(1rem,2vw,1.2rem); margin-bottom:32px}
.cta-panel .btn{position:relative}

/* ===== lead form ===== */
.lead-form{position:relative; max-width:560px; margin:34px auto 0; text-align:left}
.lead-form .row{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.lead-form input,.lead-form textarea{
  width:100%; margin-top:14px; padding:14px 16px; border-radius:12px; font:inherit; color:var(--ink);
  background:rgba(9,17,28,.5); border:1px solid var(--line); transition:border-color .2s, box-shadow .2s; resize:vertical}
.lead-form .row input{margin-top:0}
.lead-form input::placeholder,.lead-form textarea::placeholder{color:#6f8598}
.lead-form input:focus,.lead-form textarea:focus{outline:none; border-color:rgba(49,207,234,.6); box-shadow:0 0 0 3px rgba(49,207,234,.14)}
.lead-form .hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0}
.lead-form .btn{width:100%; justify-content:center; margin-top:18px}
.lead-form .btn[disabled]{opacity:.6; cursor:default}
.form-msg{min-height:20px; margin-top:14px; text-align:center; font-size:.95rem; font-weight:500}
.form-msg.ok{color:#5fe0b6} .form-msg.err{color:#ff8a8f}

/* ===== footer ===== */
.foot{border-top:1px solid var(--line); padding:56px 24px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:12px}
.foot .brand-mark{width:30px}
.foot p{color:var(--muted); font-size:.95rem}
.foot p b{color:var(--ink)}
.foot small{color:#5f7285; font-size:.82rem}
.foot .legal a{color:#8296AA}
.foot .legal .ph{color:#4a6072; font-style:italic}

/* ===== reveal ===== */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease)}
.reveal.in{opacity:1; transform:none}

/* ===== responsive ===== */
@media(max-width:900px){
  .agent-flow{grid-template-columns:repeat(2,1fr)}
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr); gap:36px 20px}
  .nav-links a:not(.btn){display:none}
  .hero-badge{display:none}
}
@media(max-width:560px){
  .agent-flow{grid-template-columns:1fr}
  .feature-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important; transition:none!important}
  .reveal{opacity:1; transform:none}
}
