/* home.css — estilos exclusivos da home (o resto vem de base.css) */

/* ============ HERO ============ */
.hero{padding:40px 0 32px;position:relative;overflow:hidden;}
.hero-glow{position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(60% 55% at 78% 8%, rgba(255,183,101,.30), transparent 60%),
    radial-gradient(45% 45% at 10% 90%, rgba(247,107,21,.10), transparent 60%);
}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:0.88fr 1.12fr;gap:56px;align-items:center;}
.hero-badge{display:inline-flex;align-items:center;gap:9px;background:var(--white);border:1px solid var(--line);
  padding:7px 14px 7px 8px;border-radius:100px;font-family:var(--sans);font-weight:600;font-size:13px;color:var(--ink-2);box-shadow:var(--shadow);}
.hero-badge b{color:var(--ink);}
.pin{display:inline-flex;align-items:center;gap:6px;background:var(--peach);color:var(--orange-deep);font-weight:700;
  padding:3px 9px;border-radius:100px;font-size:11.5px;letter-spacing:.02em;}
h1.hero-title{font-size:clamp(2.4rem,4.7vw,4rem);line-height:1.07;margin:6px 0 0;}
.hero-title .line{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em;}
.hero-title .fill{display:block;transform:translateY(105%);animation:rise .9s cubic-bezier(.2,.8,.2,1) forwards;}
.hero-title .fill.d2{animation-delay:.09s;}
.hero-title .fill.d3{animation-delay:.18s;}
.hero-title .fill.d4{animation-delay:.27s;}
@keyframes rise{to{transform:translateY(0);}}
.hero-sub{margin-top:20px;max-width:48ch;opacity:0;animation:fade .8s ease .5s forwards;}
.hero-actions{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap;opacity:0;animation:fade .8s ease .62s forwards;}
.hero-trust{display:flex;align-items:center;gap:16px;margin-top:22px;opacity:0;animation:fade .8s ease .74s forwards;}
.avatars{display:flex;}
.avatars span{width:34px;height:34px;border-radius:50%;border:2.5px solid var(--porcelain);margin-left:-10px;
  background:var(--peach);display:grid;place-items:center;font-family:var(--sans);font-weight:800;font-size:12px;color:var(--orange-deep);}
.avatars span:first-child{margin-left:0;}
.hero-trust p{font-size:13.5px;color:var(--ink-2);line-height:1.35;}
.hero-trust b{color:var(--ink);font-family:var(--sans);}
.stars{color:var(--amber);letter-spacing:1px;font-size:13px;}
@keyframes fade{to{opacity:1;}}

/* ---- HERO SIGNATURE: connected modules ---- */
.constellation{position:relative;aspect-ratio:1/1;max-width:620px;margin:0 auto;width:100%;}
.constellation svg.threads{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible;}
.thread{fill:none;stroke:var(--orange);stroke-width:1.5;opacity:.4;stroke-dasharray:2.6 4;stroke-linecap:round;}
.pulse{fill:none;stroke:var(--orange);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:6 300;opacity:.95;
  filter:drop-shadow(0 0 5px rgba(247,107,21,.6));animation:flow 3.4s linear infinite;}
@keyframes flow{to{stroke-dashoffset:-306;}}
.node{position:absolute;z-index:2;background:var(--white);border:1px solid var(--line);border-radius:14px;
  padding:8px 12px;box-shadow:var(--shadow);display:flex;align-items:center;gap:9px;white-space:nowrap;
  font-family:var(--sans);font-weight:700;font-size:12px;transform:translate(-50%,-50%);
  opacity:0;animation:pop .6s cubic-bezier(.2,1.3,.4,1) forwards;}
.node .ic{width:30px;height:30px;border-radius:9px;background:var(--peach-soft);display:grid;place-items:center;flex:none;}
.node .ic svg{width:17px;height:17px;stroke:var(--orange-deep);}
.node.core{background:var(--ink);color:#fff;border-color:var(--ink);padding:16px 20px;font-size:15px;box-shadow:var(--shadow-lg);}
.node.core .logo-dot{width:26px;height:26px;}
@keyframes pop{to{opacity:1;transform:translate(-50%,-50%) scale(1);}from{opacity:0;transform:translate(-50%,-50%) scale(.7);}}
/* módulos ao redor do núcleo (arco superior com mais folga) */
.m1{top:8.0%;left:50.0%;animation-delay:0.5s;}
.m2{top:16.9%;left:74.0%;animation-delay:0.59s;}
.m3{top:34.9%;left:86.4%;animation-delay:0.68s;}
.m4{top:58.0%;left:88.3%;animation-delay:0.77s;}
.m5{top:78.1%;left:79.0%;animation-delay:0.86s;}
.m6{top:90.4%;left:60.7%;animation-delay:0.95s;}
.m7{top:90.4%;left:39.3%;animation-delay:1.04s;}
.m8{top:78.1%;left:21.0%;animation-delay:1.13s;}
.m9{top:58.0%;left:11.7%;animation-delay:1.22s;}
.m10{top:34.9%;left:13.6%;animation-delay:1.31s;}
.m11{top:16.9%;left:26.0%;animation-delay:1.4s;}
.mcore{top:50%;left:50%;animation-delay:.35s;}
.float{animation:pop .6s cubic-bezier(.2,1.3,.4,1) forwards, bob 6s ease-in-out infinite;}
@keyframes bob{0%,100%{margin-top:0;}50%{margin-top:-9px;}}

/* ============ MARQUEE / TRUST ============ */
.proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;background:var(--porcelain-2);overflow:hidden;}
.proof-label{font-family:var(--sans);font-weight:700;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);display:block;text-align:center;margin-bottom:22px;}
.proof-marquee{position:relative;overflow:hidden;width:100%;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
.proof-track{display:flex;align-items:center;gap:70px;width:max-content;animation:proof-scroll 45s linear infinite;}
.proof-track img{height:30px;width:auto;opacity:.55;transition:opacity .2s ease;flex:none;}
.proof-track img:hover{opacity:.9;}
.proof-marquee:hover .proof-track{animation-play-state:paused;}
@keyframes proof-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.proof-track{animation:none;flex-wrap:wrap;justify-content:center;}}

/* ============ SECTION HEAD ============ */
.shead{max-width:60ch;}
.shead h2{font-size:clamp(2rem,3.8vw,3.1rem);margin:20px 0 0;}
.shead p{margin-top:18px;}
.shead.center{margin:0 auto;text-align:center;}
.shead.center .eyebrow{justify-content:center;}
.shead.center p{margin-left:auto;margin-right:auto;}

/* ============ PROBLEM ============ */
.problem{background:var(--white);border-top:1px solid var(--line);}
.split{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:56px;}
.panel{border-radius:var(--radius-lg);padding:34px;position:relative;overflow:hidden;}
.panel-before{background:var(--porcelain-2);border:1px solid var(--line);}
.panel-after{background:linear-gradient(160deg,#2b1c12,var(--espresso));color:#fff;border:1px solid var(--espresso-2);}
.panel h3{font-size:1.35rem;}
.panel .tag{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;}
.panel-before .tag{color:var(--ink-3);}
.panel-after .tag{color:var(--amber);}
.chaos{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.chaos li{list-style:none;background:var(--white);border:1px solid var(--line);border-radius:11px;padding:9px 13px;
  font-size:13.5px;font-weight:500;color:var(--ink-2);display:flex;align-items:center;gap:8px;transform:rotate(var(--r,0deg));}
.chaos li .x{color:#c0392b;font-weight:700;}
.tidy{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px;}
.tidy li{display:flex;align-items:center;gap:12px;font-size:15px;color:rgba(255,255,255,.9);font-weight:500;}
.tidy li .ck{width:22px;height:22px;border-radius:7px;background:var(--orange);display:grid;place-items:center;flex:none;}
.tidy li .ck svg{width:13px;height:13px;stroke:#fff;stroke-width:3;}
.panel-after .mini-stat{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);display:flex;gap:30px;}
.panel-after .mini-stat b{font-family:var(--sans);font-weight:800;font-size:1.7rem;display:block;letter-spacing:-.03em;}
.panel-after .mini-stat span{font-size:12.5px;color:rgba(255,255,255,.6);}

/* ============ MODULES / BENTO ============ */
.modules{background:var(--porcelain);}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:56px;}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s;position:relative;overflow:hidden;}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--peach);}
.card .cic{width:44px;height:44px;border-radius:12px;background:var(--peach-soft);display:grid;place-items:center;margin-bottom:18px;}
.card .cic svg{width:22px;height:22px;stroke:var(--orange-deep);stroke-width:1.9;fill:none;}
.card h3{font-size:1.15rem;letter-spacing:-.02em;}
.card p{margin-top:9px;font-size:14.5px;color:var(--ink-2);line-height:1.5;}
.card .chip{position:absolute;top:20px;right:20px;font-family:var(--sans);font-weight:700;font-size:10.5px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--orange-deep);background:var(--peach);padding:4px 8px;border-radius:100px;}
.c-6{grid-column:span 6;}.c-4{grid-column:span 4;}.c-3{grid-column:span 3;}.c-2{grid-column:span 2;}
/* feature (wide) card */
.card-wide{grid-column:span 3;background:linear-gradient(150deg,var(--orange),var(--orange-deep));color:#fff;border-color:transparent;
  display:flex;flex-direction:column;justify-content:space-between;padding:26px;border-radius:var(--radius);position:relative;overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease;}
.card-wide:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.card-wide .cic{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.2);display:grid;place-items:center;margin:14px 0 18px;}
.card-wide .cic svg{width:22px;height:22px;stroke:#fff;stroke-width:1.9;fill:none;}
.card-wide h3{font-size:1.15rem;letter-spacing:-.02em;}
.card-wide p{margin-top:9px;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.92);}
.card-wide .chip{position:static;align-self:flex-start;}
.card-wide .wide-cta{margin-top:22px;font-family:var(--sans);font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:7px;}

/* ============ LIFECYCLE STRIP ============ */
.flow-strip{margin-top:26px;display:flex;align-items:stretch;gap:0;background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;flex-wrap:wrap;}
.flow-step{flex:1;min-width:150px;padding:22px 24px;position:relative;border-right:1px solid var(--line);}
.flow-step:last-child{border-right:0;}
.flow-step .num{font-family:var(--sans);font-weight:800;font-size:12px;color:var(--orange);letter-spacing:.05em;}
.flow-step h4{font-family:var(--sans);font-weight:800;font-size:15px;letter-spacing:-.02em;margin:8px 0 4px;}
.flow-step p{font-size:12.5px;color:var(--ink-2);line-height:1.4;}
.flow-step .arrow{position:absolute;right:-10px;top:50%;transform:translateY(-50%);z-index:2;width:20px;height:20px;
  background:var(--orange);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 4px var(--porcelain);}
.flow-step .arrow svg{width:11px;height:11px;stroke:#fff;stroke-width:3;}
.flow-step:last-child .arrow{display:none;}

/* ============ DIFERENCIAIS ============ */
.diff{background:var(--white);border-top:1px solid var(--line);}
.diff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:52px;}
.diff-item{display:flex;gap:20px;padding:28px;border-radius:var(--radius);background:var(--porcelain);border:1px solid var(--line);transition:.2s;}
.diff-item:hover{background:var(--peach-soft);border-color:var(--peach);}
.diff-item .big{font-family:var(--sans);font-weight:800;font-size:2.6rem;line-height:1;letter-spacing:-.04em;color:var(--orange);flex:none;min-width:90px;}
.diff-item h3{font-size:1.15rem;}
.diff-item p{margin-top:8px;font-size:14.5px;color:var(--ink-2);}

/* ============ BP IA SPOTLIGHT ============ */
.ia{background:linear-gradient(165deg,var(--espresso),#1a110b);color:#fff;position:relative;overflow:hidden;}
.ia::before{content:"";position:absolute;inset:0;
  background:radial-gradient(50% 60% at 85% 20%, rgba(247,107,21,.30), transparent 60%);pointer-events:none;}
.ia-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.ia .eyebrow{color:var(--amber);}
.ia .eyebrow::before{background:var(--amber);}
.ia h2{font-size:clamp(2rem,3.6vw,3rem);margin-top:20px;}
.ia p.lead{color:rgba(255,255,255,.72);margin-top:20px;}
.ia-feats{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:14px;}
.ia-feats li{display:flex;gap:12px;align-items:flex-start;color:rgba(255,255,255,.85);font-size:15px;}
.ia-feats .ck{width:22px;height:22px;border-radius:7px;background:rgba(247,107,21,.22);display:grid;place-items:center;flex:none;margin-top:2px;}
.ia-feats .ck svg{width:12px;height:12px;stroke:var(--amber);stroke-width:3;}
/* chat mockup */
.chat{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:24px;backdrop-filter:blur(6px);}
.chat-head{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:18px;}
.chat-head .bot{width:40px;height:40px;border-radius:12px;background:linear-gradient(150deg,var(--orange),var(--orange-deep));display:grid;place-items:center;}
.chat-head b{font-family:var(--sans);font-weight:800;font-size:15px;}
.chat-head span{font-size:12px;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:6px;}
.chat-head .dot{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80;}
.bubble{max-width:82%;padding:12px 15px;border-radius:15px;font-size:14px;line-height:1.45;margin-bottom:12px;}
.bubble.q{background:rgba(255,255,255,.1);border-bottom-right-radius:4px;margin-left:auto;color:#fff;}
.bubble.a{background:var(--white);color:var(--ink);border-bottom-left-radius:4px;box-shadow:var(--shadow);}
.bubble.a b{font-family:var(--sans);}
.typing{display:inline-flex;gap:4px;padding:12px 15px;background:var(--white);border-radius:15px;border-bottom-left-radius:4px;}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--orange);animation:blink 1.2s infinite;}
.typing i:nth-child(2){animation-delay:.2s;}.typing i:nth-child(3){animation-delay:.4s;}
@keyframes blink{0%,60%,100%{opacity:.3;transform:translateY(0);}30%{opacity:1;transform:translateY(-3px);}}

/* ============ STATS ============ */
.stats{background:var(--orange);color:#fff;}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center;max-width:820px;margin-left:auto;margin-right:auto;}
.stat b{font-family:var(--sans);font-weight:800;font-size:clamp(2.6rem,5vw,3.8rem);line-height:1;letter-spacing:-.04em;display:block;}
.stat span{display:block;margin-top:10px;font-size:14px;color:rgba(255,255,255,.82);font-weight:500;max-width:22ch;margin-left:auto;margin-right:auto;}
.stat{position:relative;}
.stat:not(:last-child)::after{content:"";position:absolute;right:-10px;top:14%;height:72%;width:1px;background:rgba(255,255,255,.22);}

/* ============ TESTIMONIAL ============ */
.quote-sec{background:var(--porcelain);}
.quote-card{max-width:840px;margin:0 auto;text-align:center;}
.quote-mark{font-family:var(--serif);font-style:italic;font-size:4.5rem;color:var(--orange);line-height:.4;display:block;}
.quote-card blockquote{font-family:var(--sans);font-weight:700;font-size:clamp(1.4rem,2.8vw,2.1rem);letter-spacing:-.025em;
  line-height:1.28;margin:14px 0 0;}
.quote-card blockquote em{font-family:var(--serif);font-weight:400;color:var(--orange-deep);}
.quote-author{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:30px;}
.quote-author .ph{width:52px;height:52px;border-radius:50%;background:var(--peach);display:grid;place-items:center;
  font-family:var(--sans);font-weight:800;color:var(--orange-deep);font-size:17px;}
.quote-author .who b{font-family:var(--sans);font-weight:800;display:block;font-size:15px;}
.quote-author .who span{font-size:13px;color:var(--ink-2);}
/* featured quote as a card */
.quote-card.featured{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:48px 52px;box-shadow:var(--shadow);}
.quote-card .stars{color:var(--amber);letter-spacing:2px;font-size:15px;}
/* testimonial cards grid */
.tst-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:940px;margin:22px auto 0;}
.tst{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:30px;
  display:flex;flex-direction:column;transition:transform .2s ease, box-shadow .2s ease, border-color .2s;}
.tst:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--peach);}
.tst .stars{color:var(--amber);letter-spacing:2px;font-size:14px;}
.tst blockquote{margin:16px 0 0;font-size:1.02rem;line-height:1.55;color:var(--ink);font-weight:500;flex:1;}
.tst blockquote em{font-family:var(--serif);font-weight:400;font-style:italic;color:var(--orange-deep);}
.tst .who{display:flex;align-items:center;gap:13px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line);}
.tst .who .ph{width:46px;height:46px;border-radius:50%;background:var(--peach);display:grid;place-items:center;
  font-family:var(--sans);font-weight:800;color:var(--orange-deep);font-size:15px;flex:none;}
.tst .who b{font-family:var(--sans);font-weight:800;display:block;font-size:14.5px;letter-spacing:-.01em;}
.tst .who span{font-size:12.5px;color:var(--ink-2);}

/* ============ COMPARE STRIP ============ */
.compare{background:var(--white);border-top:1px solid var(--line);}
.compare-card{background:var(--porcelain-2);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:44px;display:flex;align-items:center;justify-content:space-between;gap:34px;flex-wrap:wrap;}
.compare-card h3{font-size:clamp(1.5rem,3vw,2.1rem);max-width:20ch;}
.compare-card p{margin-top:12px;color:var(--ink-2);max-width:44ch;}

/* ============ RESPONSIVE ============ */
@media(max-width:960px){
  .hero-grid,.ia-grid{grid-template-columns:1fr;gap:40px;}
  .constellation{max-width:440px;margin:0 auto;}
  .split,.diff-grid,.tst-grid{grid-template-columns:1fr;}
  .lf-row{display:block;margin-bottom:0;}
  .lf-row .lf-field{margin-bottom:14px;}
  .quote-card.featured{padding:34px 26px;}
  .bento{grid-template-columns:repeat(2,1fr);}
  .c-6,.c-4,.c-3,.c-2,.card-wide{grid-column:span 2;}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:36px 20px;}
  .stat:not(:last-child)::after{display:none;}
  .footer-top{grid-template-columns:repeat(4,minmax(0,1fr));}
  .footer-top>div:first-child{grid-column:1/-1;}
  .nav-links{display:none;}
  .burger{display:block;}
}
@media(max-width:560px){
  .section{padding:68px 0;}
  body{font-size:16px;}
  /* mobile: constelação vira nuvem de chips com o núcleo (TagguiRH) no topo */
  .constellation{position:static;aspect-ratio:auto;max-width:none;display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:8px;padding:2px 0;}
  .constellation .threads{display:none;}
  .node{position:static;transform:none;opacity:1;animation:none;font-size:12.5px;padding:9px 12px;box-shadow:0 4px 14px rgba(36,24,18,.07);}
  .node .ic{width:24px;height:24px;}
  .node .ic svg{width:14px;height:14px;}
  .node.core.mcore{flex:0 0 100%;justify-content:center;padding:13px 18px;font-size:14px;margin-bottom:4px;}
  .bento{grid-template-columns:1fr;}
  .c-6,.c-4,.c-3,.c-2,.card-wide{grid-column:span 1;}
  .stats-grid{grid-template-columns:1fr 1fr;}
  .panel{padding:26px;}
  .compare-card{padding:30px;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .nav-cta .btn{padding:12px 18px;}
  .hero-badge{font-size:12px;}
}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
  .hero-title .fill{transform:none!important;}
  .hero-sub,.hero-actions,.hero-trust,.node{opacity:1!important;}
  .reveal{opacity:1;transform:none;}
}

/* focus */
a:focus-visible,.btn:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:6px;}
