/* ── TOKENS ─────────────────────────────────────────────── */
:root{
  --sand:#E8D7C3; --sand-l:#F5EDE3; --sand-d:#D0BBA8;
  --char:#1E1E1E; --char2:#2A2420;
  --taupe:#836E62; --taupe-l:#A8978B; --taupe-d:#5C4F47;
  --cream:#FBF6F0;
  --ease-out: cubic-bezier(.16,1,.3,1);
  /* Tipografia da marca (00_AMANI_OS.md §5) */
  --f-display:'Fraunces',Georgia,serif;
  --f-body:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
}

/* ── RESET & BASE ────────────────────────────────────────── */
*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;}
html{scroll-behavior:smooth;font-size:16px;}
body{
  font-family:var(--f-body);font-weight:400;
  background:var(--cream);color:var(--char);overflow-x:hidden;
}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}

/* ── CURSOR ──────────────────────────────────────────────── */
.cursor{
  position:fixed;width:10px;height:10px;border-radius:50%;
  background:var(--taupe);pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);transition:transform .1s,width .25s,height .25s,background .25s;
  mix-blend-mode:multiply;
}
.cursor.expanded{width:40px;height:40px;background:var(--sand);}

/* ── SCROLL REVEAL ───────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);}
.reveal.visible{opacity:1;transform:none;}
.reveal-d1{transition-delay:.1s;}
.reveal-d2{transition-delay:.2s;}
.reveal-d3{transition-delay:.3s;}
.reveal-d4{transition-delay:.4s;}

/* ── NAV ─────────────────────────────────────────────────── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.2rem 5vw;
  transition:background .4s,backdrop-filter .4s,padding .4s;
}
nav.scrolled{
  background:rgba(30,30,30,.92);backdrop-filter:blur(12px);
  padding:.9rem 5vw;
}
.nav-logo{display:flex;align-items:center;gap:.9rem;}
.nav-logo img{width:38px;height:38px;border-radius:8px;}
.nav-brand{
  font-weight:600;font-size:.88rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--sand-l);
}
.nav-cta{
  display:flex;align-items:center;gap:.5rem;
  background:var(--sand-l);color:var(--char);
  padding:.6rem 1.4rem;border-radius:2px;
  font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  transition:background .2s,color .2s;
}
.nav-cta:hover{background:var(--sand);}
.nav-cta svg{width:14px;height:14px;}

/* ── HERO ────────────────────────────────────────────────── */
.hero{
  min-height:100vh;background:var(--char);
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 5vw 7vh;position:relative;overflow:hidden;
}
/* Ghost A background */
.hero-ghost{
  position:absolute;right:-5%;top:50%;transform:translateY(-52%);
  width:65vmin;height:65vmin;opacity:.045;
  animation:float 14s ease-in-out infinite;
}
@keyframes float{0%,100%{transform:translateY(-52%);}50%{transform:translateY(-55%);}}

.hero-eyebrow{
  font-size:.7rem;letter-spacing:.55em;text-transform:uppercase;
  color:var(--taupe-l);margin-bottom:1.6rem;
  animation:fadeUp .9s var(--ease-out) .2s both;
}
.hero-headline{
  font-family:var(--f-display);
  font-size:clamp(3.4rem,9.5vw,9rem);
  font-weight:300;line-height:.95;letter-spacing:-.02em;
  color:var(--sand-l);margin-bottom:2.4rem;
}
.hero-headline em{font-style:italic;color:var(--taupe-l);}
.hero-headline span{display:block;}
.hl1{animation:fadeUp 1s var(--ease-out) .3s both;}
.hl2{animation:fadeUp 1s var(--ease-out) .45s both;}
.hl3{animation:fadeUp 1s var(--ease-out) .6s both;}

.hero-sub{
  display:flex;align-items:center;gap:2rem;flex-wrap:wrap;
  animation:fadeUp .9s var(--ease-out) .75s both;
}
.hero-tags{display:flex;gap:1rem;flex-wrap:wrap;}
.hero-tag{
  font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--taupe-l);padding:.4rem .9rem;
  border:1px solid rgba(232,215,195,.2);border-radius:2px;
}
.hero-btns{
  display:flex;gap:1rem;flex-wrap:wrap;
  animation:fadeUp .9s var(--ease-out) .9s both;
  margin-top:3rem;
}
.btn-primary{
  display:inline-flex;align-items:center;gap:.6rem;
  background:var(--sand-l);color:var(--char);
  padding:.85rem 1.8rem;border-radius:2px;
  font-size:.8rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  transition:background .2s,transform .2s;
}
.btn-primary:hover{background:var(--sand);transform:translateY(-1px);}
.btn-ghost{
  display:inline-flex;align-items:center;gap:.6rem;
  border:1px solid rgba(232,215,195,.3);color:var(--sand-l);
  padding:.85rem 1.8rem;border-radius:2px;
  font-size:.8rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;
  transition:border-color .2s,background .2s;
}
.btn-ghost:hover{border-color:var(--taupe-l);background:rgba(232,215,195,.06);}
.btn-primary svg,.btn-ghost svg{width:14px;height:14px;flex-shrink:0;}

.hero-scroll{
  position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:.5rem;
  animation:fadeUp .9s var(--ease-out) 1.2s both;
}
.scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,var(--taupe-l),transparent);animation:scrollPulse 2s ease-in-out infinite;}
@keyframes scrollPulse{0%{opacity:.4;transform:scaleY(.6)translateY(-20%);}100%{opacity:0;transform:scaleY(1)translateY(20%);}}
.scroll-txt{font-size:.6rem;letter-spacing:.35em;text-transform:uppercase;color:var(--taupe-l);}

@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:none;}}

/* ── MARQUEE ─────────────────────────────────────────────── */
.marquee-wrap{
  background:var(--taupe-d);padding:.9rem 0;overflow:hidden;
  display:flex;
}
.marquee-track{
  display:flex;gap:3rem;white-space:nowrap;
  animation:marquee 22s linear infinite;
}
.marquee-track span{
  font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;
  color:var(--sand);opacity:.8;
}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ── SERVICES ────────────────────────────────────────────── */
.services{background:var(--cream);padding:9rem 5vw;}
.section-header{margin-bottom:4.5rem;}
.section-header .eyebrow{
  font-size:.66rem;letter-spacing:.5em;text-transform:uppercase;
  color:var(--taupe);margin-bottom:.8rem;
}
.section-header h2{
  font-family:var(--f-display);
  font-size:clamp(2.2rem,5vw,3.8rem);font-weight:400;
  line-height:1.05;letter-spacing:-.01em;
}
.services-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--sand-d);border:1px solid var(--sand-d);
}
.svc-card{
  background:var(--cream);padding:2.8rem 2.4rem;
  position:relative;overflow:hidden;
  transition:background .3s;
}
.svc-card::before{
  content:'';position:absolute;inset:0;
  background:var(--char);transform:scaleY(0);transform-origin:bottom;
  transition:transform .4s var(--ease-out);z-index:0;
}
.svc-card:hover::before{transform:scaleY(1);}
.svc-card>*{position:relative;z-index:1;}
.svc-num{
  font-family:var(--f-display);font-style:italic;
  font-size:2.8rem;color:var(--sand-d);line-height:1;
  margin-bottom:1.5rem;transition:color .3s;
}
.svc-card:hover .svc-num{color:var(--taupe);}
.svc-icon{margin-bottom:1.2rem;transition:filter .3s;}
.svc-icon svg{width:28px;height:28px;stroke:var(--taupe);fill:none;stroke-width:1.4;transition:stroke .3s;}
.svc-card:hover .svc-icon svg{stroke:var(--taupe-l);}
.svc-name{
  font-weight:500;font-size:1.1rem;letter-spacing:.02em;
  margin-bottom:.7rem;transition:color .3s;
}
.svc-card:hover .svc-name{color:var(--sand-l);}
.svc-desc{font-size:.88rem;line-height:1.65;color:var(--taupe-d);transition:color .3s;}
.svc-card:hover .svc-desc{color:var(--taupe-l);}
.svc-list{list-style:none;margin-top:1rem;}
.svc-list li{
  font-size:.78rem;color:var(--taupe-d);padding:.3rem 0;
  border-bottom:1px solid var(--sand-d);
  transition:color .3s,border-color .3s;
}
.svc-card:hover .svc-list li{color:var(--taupe-l);border-color:rgba(131,110,98,.25);}
.svc-list li:last-child{border:none;}

/* ── PROCESS ─────────────────────────────────────────────── */
.process{background:var(--char);padding:9rem 5vw;}
.process .section-header h2,.process .section-header .eyebrow{color:var(--sand-l);}
.process .section-header .eyebrow{color:var(--taupe-l);}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;}
.step{border-top:1px solid rgba(232,215,195,.15);padding-top:1.8rem;}
.step-n{
  font-family:var(--f-display);font-style:italic;
  font-size:2.8rem;color:var(--taupe);line-height:1;margin-bottom:1rem;
}
.step-name{font-weight:500;font-size:.95rem;color:var(--sand-l);letter-spacing:.04em;margin-bottom:.5rem;}
.step-desc{font-size:.84rem;color:var(--taupe-l);line-height:1.6;}

/* ── ABOUT ───────────────────────────────────────────────── */
.about{
  display:grid;grid-template-columns:1fr 1fr;min-height:70vh;
}
.about-img{
  background:var(--char2);display:flex;align-items:center;justify-content:center;
  padding:5rem;position:relative;overflow:hidden;
}
.about-img::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 30% 60%,rgba(131,110,98,.2),transparent 60%);
}
.about-avatar{
  width:min(320px,70%);height:auto;aspect-ratio:1;border-radius:20px;
  box-shadow:0 30px 80px rgba(0,0,0,.5);
  position:relative;z-index:1;
}
.about-content{
  background:var(--sand-l);padding:6rem 5rem;display:flex;
  flex-direction:column;justify-content:center;
}
.about-content .eyebrow{font-size:.66rem;letter-spacing:.5em;text-transform:uppercase;color:var(--taupe);margin-bottom:1.2rem;}
.about-content h2{
  font-family:var(--f-display);font-weight:500;
  font-size:clamp(1.8rem,3.5vw,2.8rem);line-height:1.1;
  margin-bottom:1.4rem;
}
.about-content p{font-size:.95rem;color:#3a342f;line-height:1.75;margin-bottom:1rem;}
.about-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;}
.about-tag{
  font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--taupe);border:1px solid var(--sand-d);padding:.35rem .85rem;border-radius:2px;
}

/* ── NUMBERS ─────────────────────────────────────────────── */
.numbers{
  background:var(--char);padding:6rem 5vw;
  display:grid;grid-template-columns:repeat(4,1fr);gap:2px;
}
.num-card{
  background:rgba(255,255,255,.03);padding:2.5rem 2rem;
  border-top:1px solid rgba(232,215,195,.1);
  text-align:center;
}
.num-val{
  font-family:var(--f-display);font-size:3.5rem;
  font-weight:300;color:var(--sand-l);line-height:1;
}
.num-unit{font-size:1.2rem;color:var(--taupe);}
.num-label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe-l);margin-top:.6rem;}

/* ── CTA ─────────────────────────────────────────────────── */
.cta-section{
  background:var(--sand);padding:9rem 5vw;
  display:grid;grid-template-columns:1fr auto;gap:5rem;align-items:center;
}
.cta-section h2{
  font-family:var(--f-display);font-weight:400;
  font-size:clamp(2rem,5vw,4rem);line-height:1.05;
  letter-spacing:-.01em;margin-bottom:1.2rem;
}
.cta-section p{font-size:1rem;color:var(--taupe-d);margin-bottom:2rem;max-width:48ch;}
.cta-btns{display:flex;gap:1rem;flex-wrap:wrap;}
.btn-dark{
  display:inline-flex;align-items:center;gap:.6rem;
  background:var(--char);color:var(--sand-l);
  padding:.9rem 2rem;border-radius:2px;
  font-size:.8rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  transition:background .2s,transform .2s;
}
.btn-dark:hover{background:var(--char2);transform:translateY(-1px);}
.cta-qr img{width:160px;border-radius:8px;box-shadow:0 8px 30px rgba(0,0,0,.12);}
.cta-qr-label{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);text-align:center;margin-top:.6rem;}

/* ── FOOTER ──────────────────────────────────────────────── */
footer{
  background:var(--char);padding:4rem 5vw;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:2rem;
}
.footer-logo{display:flex;align-items:center;gap:.8rem;}
.footer-logo img{width:36px;height:36px;border-radius:7px;}
.footer-brand{font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--sand-l);font-weight:500;}
.footer-links{display:flex;gap:2rem;}
.footer-links a{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe-l);transition:color .2s;}
.footer-links a:hover{color:var(--sand-l);}
.footer-copy{font-size:.7rem;color:var(--taupe-d);letter-spacing:.05em;}

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media(max-width:900px){
  .services-grid,.steps,.numbers,.values-grid{grid-template-columns:1fr 1fr;}
  .about{grid-template-columns:1fr;}
  .about-img{min-height:300px;}
  .cta-section{grid-template-columns:1fr;}
  .cta-qr{display:none;}
}
@media(max-width:600px){
  .services-grid,.steps,.numbers,.values-grid{grid-template-columns:1fr;}
  .hero-headline{font-size:3rem;}
  .hero{padding:0 6vw 6vh;}
}

/* ── VISION & VALUES ─────────────────────────────────────── */
.vision{background:var(--cream);padding:9rem 5vw;}
.vision-statement{
  font-family:var(--f-display);font-weight:400;
  font-size:clamp(1.6rem,3.2vw,2.5rem);line-height:1.3;
  max-width:52ch;color:var(--char);margin-bottom:5rem;
}
.vision-statement em{font-style:italic;color:var(--taupe);}
.values-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--sand-d);border:1px solid var(--sand-d);
}
.val-card{
  background:var(--cream);padding:2.6rem 2.2rem;
  position:relative;overflow:hidden;transition:background .3s;
}
.val-card::before{
  content:'';position:absolute;inset:0;
  background:var(--char);transform:scaleY(0);transform-origin:bottom;
  transition:transform .4s var(--ease-out);z-index:0;
}
.val-card:hover::before{transform:scaleY(1);}
.val-card>*{position:relative;z-index:1;}
.val-num{
  font-family:var(--f-display);font-style:italic;
  font-size:2.4rem;color:var(--sand-d);line-height:1;
  margin-bottom:1.3rem;transition:color .3s;
}
.val-card:hover .val-num{color:var(--taupe);}
.val-name{
  font-weight:500;font-size:1rem;letter-spacing:.03em;
  margin-bottom:.6rem;transition:color .3s;
}
.val-card:hover .val-name{color:var(--sand-l);}
.val-desc{font-size:.85rem;line-height:1.65;color:var(--taupe-d);transition:color .3s;}
.val-card:hover .val-desc{color:var(--taupe-l);}

/* ══ ANIMAÇÕES ADICIONAIS ═══════════════════════════════════ */

/* Barra de progresso de scroll */
.scroll-progress{
  position:fixed;top:0;left:0;height:2px;width:100%;z-index:200;
  background:linear-gradient(90deg,var(--taupe),var(--sand));
  transform-origin:left;transform:scaleX(0);pointer-events:none;
}

/* Nav esconde ao descer / mostra ao subir */
nav{transition:background .4s,backdrop-filter .4s,padding .4s,transform .45s var(--ease-out);}
nav.hidden{transform:translateY(-105%);}

/* Hero — máscara por linha */
.hero-headline span{overflow:hidden;}
.hl1,.hl2,.hl3{animation:none;}
.hl-in{display:block;transform:translateY(112%);animation:lineUp 1.15s var(--ease-out) both;}
.hl1 .hl-in{animation-delay:.30s;}
.hl2 .hl-in{animation-delay:.44s;}
.hl3 .hl-in{animation-delay:.58s;}
@keyframes lineUp{to{transform:none;}}

/* Hero — eyebrow "aperta" o tracking */
.hero-eyebrow{animation:trackIn 1.4s var(--ease-out) .15s both;}
@keyframes trackIn{from{opacity:0;letter-spacing:.9em;}to{opacity:1;letter-spacing:.55em;}}

/* Ghost A — respiração + parallax via variáveis (JS) */
.hero-ghost{
  animation:none;
  transform:translateY(-52%);
  translate:var(--gx,0) var(--gy,0);
  will-change:translate;
  transition:opacity 1.6s ease .4s;
}

/* Botões — brilho a varrer */
.btn-primary,.btn-dark,.nav-cta{position:relative;overflow:hidden;}
.btn-primary::after,.btn-dark::after,.nav-cta::after{
  content:'';position:absolute;top:0;left:-80%;width:50%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-20deg);transition:left .6s var(--ease-out);pointer-events:none;
}
.btn-primary:hover::after,.btn-dark:hover::after,.nav-cta:hover::after{left:130%;}
.magnet{transition:translate .35s var(--ease-out);will-change:translate;}

/* Marquee — pausa no hover */
.marquee-wrap:hover .marquee-track{animation-play-state:paused;}

/* Section header — linha do eyebrow cresce */
.section-header .eyebrow{display:inline-flex;align-items:center;gap:.9rem;}
.section-header .eyebrow::before{
  content:'';width:42px;height:1px;background:currentColor;opacity:.55;
  transform:scaleX(0);transform-origin:left;
  transition:transform .9s var(--ease-out) .15s;
}
.section-header.visible .eyebrow::before{transform:scaleX(1);}

/* Process — linhas desenham-se em cascata */
.step{border-top:none;position:relative;}
.step::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:rgba(232,215,195,.28);
  transform:scaleX(0);transform-origin:left;
  transition:transform 1.1s var(--ease-out);
}
.step.visible::before{transform:scaleX(1);}
.steps .step:nth-child(2)::before{transition-delay:.12s;}
.steps .step:nth-child(3)::before{transition-delay:.24s;}
.steps .step:nth-child(4)::before{transition-delay:.36s;}
.step .step-n{opacity:0;transform:translateX(-14px);transition:opacity .8s var(--ease-out) .2s,transform .8s var(--ease-out) .2s;}
.step.visible .step-n{opacity:1;transform:none;}

/* Serviços — ícones desenham o traço (JS define dasharray) */
.svc-icon svg *{transition:stroke-dashoffset 1.3s var(--ease-out) .25s;}

/* About — foto revela com clip */
.about-img img{clip-path:inset(14% 10% 14% 10% round 20px);opacity:0;transform:scale(1.06);
  transition:clip-path 1.2s var(--ease-out),opacity 1s ease,transform 1.4s var(--ease-out);}
.about-img.visible img{clip-path:inset(0 0 0 0 round 20px);opacity:1;transform:none;}

/* Números — leve subida do valor ao revelar */
.num-val{display:inline-block;}
.num-card.visible .num-val{animation:numPop .9s var(--ease-out) both;}
@keyframes numPop{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

/* QR flutua suavemente */
.cta-qr img{animation:qrFloat 6s ease-in-out infinite;}
@keyframes qrFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}

/* Acessibilidade — reduzir movimento */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
  .hero-ghost{translate:0 0;}
  html{scroll-behavior:auto;}
}


/* ══ LIQUID GLASS (estilo iOS) ══════════════════════════════ */

/* Nav — cápsula de vidro flutuante quando faz scroll */
nav.scrolled{
  top:.9rem;left:2.5vw;right:2.5vw;
  padding:.75rem 1.6rem;
  border-radius:100px;
  background:rgba(30,26,22,.48);
  -webkit-backdrop-filter:blur(26px) saturate(1.8);
  backdrop-filter:blur(26px) saturate(1.8);
  border:1px solid rgba(245,237,227,.14);
  box-shadow:0 18px 50px rgba(0,0,0,.35),
             inset 0 1px 0 rgba(255,255,255,.16),
             inset 0 -1px 0 rgba(0,0,0,.2);
}
nav.hidden{transform:translateY(-140%);}

/* Chips do hero — vidro sobre o "A" fantasma (refracta ao passar) */
.hero-tag{
  background:rgba(245,237,227,.055);
  -webkit-backdrop-filter:blur(14px) saturate(1.6);
  backdrop-filter:blur(14px) saturate(1.6);
  border:1px solid rgba(245,237,227,.16);
  border-radius:100px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  transition:background .3s,border-color .3s;
}
.hero-tag:hover{background:rgba(245,237,227,.11);border-color:rgba(245,237,227,.3);}

/* Botão ghost — vidro verdadeiro */
.btn-ghost{
  background:rgba(245,237,227,.06);
  -webkit-backdrop-filter:blur(18px) saturate(1.7);
  backdrop-filter:blur(18px) saturate(1.7);
  border:1px solid rgba(245,237,227,.2);
  border-radius:100px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
}
.btn-ghost:hover{background:rgba(245,237,227,.12);}
.btn-primary,.btn-dark,.nav-cta{border-radius:100px;}

/* Cursor — lente líquida */
.cursor{mix-blend-mode:normal;}
.cursor.expanded{
  width:44px;height:44px;
  background:rgba(232,215,195,.16);
  -webkit-backdrop-filter:blur(5px) saturate(1.9) brightness(1.12);
  backdrop-filter:blur(5px) saturate(1.9) brightness(1.12);
  border:1px solid rgba(255,255,255,.35);
  box-shadow:inset 0 1px 2px rgba(255,255,255,.4),0 6px 18px rgba(0,0,0,.18);
}

/* Números — brilho ambiente atrás + cartões de vidro por cima */
.numbers{
  gap:14px;padding:6rem 5vw;position:relative;
  background:
    radial-gradient(38rem 22rem at 18% 30%,rgba(131,110,98,.32),transparent 65%),
    radial-gradient(30rem 20rem at 82% 75%,rgba(232,215,195,.14),transparent 60%),
    var(--char);
  background-size:200% 200%,200% 200%,auto;
  animation:glowDrift 18s ease-in-out infinite alternate;
}
@keyframes glowDrift{
  from{background-position:0% 0%,100% 100%,0 0;}
  to{background-position:60% 40%,40% 60%,0 0;}
}
.num-card{
  border:1px solid rgba(245,237,227,.13);
  border-radius:22px;
  background:rgba(245,237,227,.05);
  -webkit-backdrop-filter:blur(22px) saturate(1.7);
  backdrop-filter:blur(22px) saturate(1.7);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),
             inset 0 -1px 0 rgba(0,0,0,.25),
             0 14px 40px rgba(0,0,0,.28);
  transition:transform .5s var(--ease-out),background .4s;
}
.num-card:hover{transform:translateY(-5px);background:rgba(245,237,227,.09);}

/* Tags do "Sobre" — vidro claro sobre areia */
.about-tag{
  background:rgba(255,255,255,.28);
  -webkit-backdrop-filter:blur(10px) saturate(1.5);
  backdrop-filter:blur(10px) saturate(1.5);
  border:1px solid rgba(255,255,255,.5);
  border-radius:100px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}

/* Cartão do QR — vidro branco sobre a secção sand */
.cta-qr{
  padding:1.4rem 1.4rem 1.1rem;
  border-radius:26px;
  background:rgba(255,255,255,.32);
  -webkit-backdrop-filter:blur(18px) saturate(1.5);
  backdrop-filter:blur(18px) saturate(1.5);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 20px 50px rgba(92,79,71,.18);
}
.cta-qr img{border-radius:14px;box-shadow:none;}

/* Fallback sem backdrop-filter */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  nav.scrolled{background:rgba(30,26,22,.94);}
  .num-card{background:rgba(255,255,255,.05);}
  .btn-ghost,.hero-tag{background:rgba(245,237,227,.09);}
  .cta-qr,.about-tag{background:rgba(255,255,255,.75);}
}


/* ══ CURSOR SÓ EM DESKTOP + GRÃO + SPOTLIGHT ═══════════════ */

/* Cursor personalizado apenas com ponteiro fino */
.cursor{display:none;}
@media (pointer:fine){
  body{cursor:none;}
  .cursor{display:block;}
}

/* Grão de filme — acabamento impresso */
body::after{
  content:'';position:fixed;inset:-50%;z-index:998;pointer-events:none;
  opacity:.045;mix-blend-mode:overlay;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="220" height="220"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.85" numOctaves="2" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23n)"/></svg>');
  background-size:220px 220px;
  animation:grainShift 9s steps(6) infinite;
}
@keyframes grainShift{
  0%{transform:translate(0,0);}   20%{transform:translate(-4%,3%);}
  40%{transform:translate(3%,-5%);} 60%{transform:translate(-5%,-2%);}
  80%{transform:translate(4%,4%);}  100%{transform:translate(0,0);}
}

/* Spotlight — brilho que segue o rato nos cartões */
.num-card{position:relative;}
.svc-card::after,.num-card::after{
  content:'';position:absolute;inset:0;z-index:2;pointer-events:none;
  border-radius:inherit;opacity:0;transition:opacity .45s;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),
             rgba(232,215,195,.15),transparent 65%);
}
@media (pointer:fine){
  .svc-card:hover::after,.num-card:hover::after{opacity:1;}
}

@media (prefers-reduced-motion:reduce){
  body::after{animation:none;}
}


/* ══ PROJECTOS — MOCK-UPS DE PROVA ══════════════════════════ */
.projects{background:var(--cream);padding:9rem 5vw;}
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem;}
.proj{display:flex;flex-direction:column;gap:1.3rem;}
.proj-frame{
  border-radius:14px;overflow:hidden;
  box-shadow:0 24px 60px rgba(30,30,30,.14),0 2px 8px rgba(30,30,30,.08);
  transition:transform .6s var(--ease-out),box-shadow .6s var(--ease-out);
  background:#fff;
}
.proj:hover .proj-frame{transform:translateY(-8px) rotate(-.6deg);box-shadow:0 34px 80px rgba(30,30,30,.2);}
.proj-meta{padding:0 .2rem;}
.proj-name{font-family:var(--f-display);font-size:1.35rem;font-weight:600;margin-bottom:.15rem;}
.proj-kind{font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--taupe);margin-bottom:.6rem;}
.proj-desc{font-size:.84rem;line-height:1.6;color:var(--taupe-d);margin-bottom:.8rem;}
.proj-stack{display:flex;gap:.4rem;flex-wrap:wrap;}
.proj-stack span{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--taupe);
  border:1px solid var(--sand-d);border-radius:100px;padding:.22rem .6rem;}
.proj-note{margin-top:3rem;font-size:.72rem;color:var(--taupe);letter-spacing:.04em;font-style:italic;}

/* Moldura browser */
.mock-browser .m-bar{display:flex;align-items:center;gap:.35rem;background:var(--char);padding:.5rem .7rem;}
.m-dot{width:7px;height:7px;border-radius:50%;background:rgba(245,237,227,.25);}
.m-url{flex:1;margin-left:.4rem;background:rgba(245,237,227,.1);border-radius:100px;
  font-size:.55rem;color:var(--taupe-l);padding:.22rem .7rem;letter-spacing:.03em;}

/* Kaya — plataforma de operações */
.kaya-body{display:flex;height:236px;background:#F7F4EF;font-size:.6rem;}
.kaya-side{width:26%;background:var(--char2);padding:.7rem .6rem;display:flex;flex-direction:column;gap:.55rem;}
.kaya-logo{color:var(--sand-l);font-weight:600;letter-spacing:.18em;font-size:.55rem;margin-bottom:.3rem;}
.kaya-nav{color:rgba(245,237,227,.5);padding:.28rem .4rem;border-radius:5px;white-space:nowrap;overflow:hidden;}
.kaya-nav.on{background:rgba(232,215,195,.14);color:var(--sand-l);}
.kaya-main{flex:1;padding:.7rem;display:flex;flex-direction:column;gap:.6rem;overflow:hidden;}
.kaya-stats{display:flex;gap:.45rem;}
.kaya-stat{flex:1;background:#fff;border:1px solid #E7E0D6;border-radius:8px;padding:.45rem .5rem;
  opacity:0;transform:translateY(10px);transition:.7s var(--ease-out);}
.proj.visible .kaya-stat{opacity:1;transform:none;}
.proj.visible .kaya-stat:nth-child(2){transition-delay:.12s;}
.proj.visible .kaya-stat:nth-child(3){transition-delay:.24s;}
.kaya-stat b{display:block;font-family:var(--f-display);font-size:1.05rem;color:var(--char);}
.kaya-stat i{font-style:normal;color:var(--taupe);font-size:.52rem;letter-spacing:.06em;}
.kaya-cols{display:flex;gap:.45rem;flex:1;}
.kaya-col{flex:1;background:#EFEAE1;border-radius:8px;padding:.4rem;display:flex;flex-direction:column;gap:.35rem;}
.kaya-col h5{font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);font-weight:500;}
.kaya-card{background:#fff;border-radius:6px;padding:.4rem .45rem;box-shadow:0 1px 3px rgba(0,0,0,.06);
  line-height:1.45;color:#4a423b;
  opacity:0;transform:translateX(-12px);transition:.7s var(--ease-out) .35s;}
.proj.visible .kaya-card{opacity:1;transform:none;}
.proj.visible .kaya-card:nth-child(3){transition-delay:.5s;}
.kaya-gps{display:flex;align-items:center;gap:.3rem;color:#1c7c43;font-size:.52rem;margin-top:.15rem;}
.kaya-gps::before{content:'';width:5px;height:5px;border-radius:50%;background:#22a55a;
  box-shadow:0 0 0 0 rgba(34,165,90,.5);animation:gpsPulse 2s infinite;}
@keyframes gpsPulse{70%{box-shadow:0 0 0 6px rgba(34,165,90,0);}100%{box-shadow:0 0 0 0 rgba(34,165,90,0);}}

/* Moldura telemóvel */
.mock-phone{max-width:210px;margin:0 auto;border-radius:26px;border:6px solid var(--char);
  overflow:hidden;background:#fff;}
.proj-frame.phone-wrap{background:transparent;box-shadow:none;padding:.6rem 0;}
.proj:hover .phone-wrap{transform:translateY(-8px) rotate(.6deg);box-shadow:none;}
.proj:hover .phone-wrap .mock-phone{box-shadow:0 30px 70px rgba(30,30,30,.22);}
.mock-phone{transition:box-shadow .6s var(--ease-out);box-shadow:0 20px 50px rgba(30,30,30,.15);}

/* Nandi — agente WhatsApp */
.wa-head{display:flex;align-items:center;gap:.45rem;background:#075E54;padding:.5rem .6rem;color:#fff;}
.wa-av{width:20px;height:20px;border-radius:50%;background:var(--sand);color:var(--char);
  display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:600;}
.wa-head b{display:block;font-size:.6rem;font-weight:500;}
.wa-head i{font-style:normal;font-size:.48rem;opacity:.75;}
.wa-body{background:#EDE6DD;height:238px;padding:.6rem .55rem;display:flex;flex-direction:column;gap:.4rem;font-size:.58rem;line-height:1.5;}
.wa-bub{max-width:82%;padding:.4rem .55rem;border-radius:9px;box-shadow:0 1px 1px rgba(0,0,0,.08);
  opacity:0;transform:translateY(10px) scale(.96);transition:.6s var(--ease-out);}
.proj.visible .wa-bub{opacity:1;transform:none;}
.wa-in{background:#fff;border-top-left-radius:2px;align-self:flex-start;}
.wa-out{background:#DCF6C8;border-top-right-radius:2px;align-self:flex-end;}
.proj.visible .wa-b1{transition-delay:.25s;}
.proj.visible .wa-b2{transition-delay:.75s;}
.proj.visible .wa-b3{transition-delay:1.25s;}
.wa-chips{display:flex;gap:.35rem;align-self:flex-end;
  opacity:0;transition:.6s var(--ease-out) 1.7s;}
.proj.visible .wa-chips{opacity:1;}
.wa-chips span{border:1px solid #1FAF6B;color:#0d7c49;border-radius:100px;padding:.2rem .55rem;font-size:.52rem;}
.wa-ai{margin-top:auto;align-self:center;font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--taupe);background:#fff;border-radius:100px;padding:.22rem .6rem;box-shadow:0 1px 3px rgba(0,0,0,.08);}

/* Força Viva — app fitness */
.fv-body{background:#161311;height:266px;color:#EDE4D8;padding:.7rem .65rem;display:flex;flex-direction:column;gap:.55rem;font-size:.58rem;}
.fv-hi{font-size:.68rem;}
.fv-hi b{font-weight:500;}
.fv-ring{display:flex;align-items:center;gap:.6rem;background:#211C18;border-radius:12px;padding:.55rem .6rem;}
.fv-ring svg{width:52px;height:52px;transform:rotate(-90deg);}
.fv-ring circle{fill:none;stroke-width:5;}
.fv-track{stroke:rgba(237,228,216,.12);}
.fv-prog{stroke:var(--sand);stroke-linecap:round;stroke-dasharray:163.4;stroke-dashoffset:163.4;
  transition:stroke-dashoffset 1.6s var(--ease-out) .5s;}
.proj.visible .fv-prog{stroke-dashoffset:52.3;}
.fv-ring b{display:block;font-family:var(--f-display);font-size:1.15rem;font-weight:500;}
.fv-ring i{font-style:normal;color:rgba(237,228,216,.55);font-size:.52rem;letter-spacing:.08em;}
.fv-card{background:#211C18;border-radius:12px;padding:.55rem .6rem;line-height:1.5;}
.fv-card b{font-weight:500;}
.fv-card i{font-style:normal;color:rgba(237,228,216,.5);font-size:.52rem;display:block;}
.fv-btn{background:var(--sand);color:var(--char);text-align:center;border-radius:100px;
  padding:.45rem;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;}
.fv-pay{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:.35rem;
  font-size:.52rem;color:rgba(237,228,216,.55);}
.fv-pay::before{content:'';width:5px;height:5px;border-radius:50%;background:#e0393f;}

@media(max-width:900px){.projects-grid{grid-template-columns:1fr;gap:3rem;}}


/* ══ PROVA — animações reforçadas + CTA ═════════════════════ */

/* Link de conversão */
.proj-cta{
  display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;
  font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
  color:var(--char);border-bottom:1px solid var(--sand-d);padding-bottom:.3rem;
  transition:gap .35s var(--ease-out),border-color .3s,color .3s;
}
.proj-cta:hover{gap:1rem;border-color:var(--taupe);color:var(--taupe-d);}
.proj-arrow{transition:transform .35s var(--ease-out);}
.proj-cta:hover .proj-arrow{transform:translateX(2px);}

/* Tilt 3D nas molduras (JS define --rx/--ry) */
.proj-frame{
  transform:perspective(900px) translateY(var(--lift,0px))
            rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transition:transform .25s ease-out,box-shadow .6s var(--ease-out);
  will-change:transform;
}
.proj:hover .proj-frame{--lift:-8px;box-shadow:0 34px 80px rgba(30,30,30,.2);}
.proj:hover .phone-wrap{transform:perspective(900px) translateY(var(--lift,-8px))
            rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));box-shadow:none;}

/* Reflexo a varrer o ecrã quando revela */
.mock-browser,.mock-phone{position:relative;}
.mock-browser::after,.mock-phone::after{
  content:'';position:absolute;inset:0;z-index:6;pointer-events:none;
  background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.3) 50%,transparent 60%);
  transform:translateX(-130%);
}
.proj.visible .mock-browser::after,.proj.visible .mock-phone::after{
  animation:glare 1.5s var(--ease-out) 1s both;
}
@keyframes glare{to{transform:translateX(130%);}}

/* Kaya — sidebar entra em cascata */
.kaya-side>.kaya-nav{opacity:0;transform:translateX(-9px);transition:.6s var(--ease-out);}
.proj.visible .kaya-side>.kaya-nav{opacity:1;transform:none;}
.proj.visible .kaya-side>:nth-child(3){transition-delay:.1s;}
.proj.visible .kaya-side>:nth-child(4){transition-delay:.2s;}
.proj.visible .kaya-side>:nth-child(5){transition-delay:.3s;}

/* Kaya — barra de URL com cursor a escrever */
.m-url.typing{border-right:1px solid var(--sand);animation:caret .7s steps(1) infinite;}
@keyframes caret{50%{border-color:transparent;}}

/* Nandi — indicador "a escrever…" antes da resposta */
.wa-typing{
  align-self:flex-end;display:flex;gap:3px;align-items:center;
  background:#DCF6C8;border-radius:9px;border-top-right-radius:2px;
  padding:.42rem .55rem;max-height:0;opacity:0;overflow:hidden;margin-top:-.4rem;
}
.proj.visible .wa-typing{animation:waTyping .58s ease .28s both;}
@keyframes waTyping{
  0%{max-height:0;opacity:0;margin-top:-.4rem;}
  20%,80%{max-height:26px;opacity:1;margin-top:0;padding:.42rem .55rem;}
  100%{max-height:0;opacity:0;margin-top:-.4rem;padding:0 .55rem;}
}
.wa-typing i{width:4px;height:4px;border-radius:50%;background:#6f9a5c;animation:dotB .9s infinite;}
.wa-typing i:nth-child(2){animation-delay:.15s;}
.wa-typing i:nth-child(3){animation-delay:.3s;}
@keyframes dotB{0%,60%,100%{transform:translateY(0);opacity:.5;}30%{transform:translateY(-3px);opacity:1;}}

/* Nandi — vistos de entrega que ficam azuis */
.wa-out{position:relative;}
.wa-out::after{content:'✓✓';font-size:.42rem;color:#9AAF97;margin-left:.35rem;letter-spacing:-1px;}
.proj.visible .wa-out::after{animation:tickBlue .3s ease 2s both;}
@keyframes tickBlue{to{color:#53BDEB;}}

/* Força Viva — aceno + botão a pulsar */
.wave{display:inline-block;transform-origin:70% 70%;}
.proj.visible .wave{animation:wave 2s ease .9s 2;}
@keyframes wave{
  0%,100%{transform:rotate(0);}15%{transform:rotate(16deg);}30%{transform:rotate(-8deg);}
  45%{transform:rotate(14deg);}60%{transform:rotate(-4deg);}75%{transform:rotate(8deg);}
}
.proj.visible .fv-btn{animation:fvPulse 2.8s ease-in-out 2s infinite;}
@keyframes fvPulse{0%,100%{box-shadow:0 0 0 0 rgba(232,215,195,0);}50%{box-shadow:0 0 0 7px rgba(232,215,195,.14);}}
.fv-card{opacity:0;transform:translateY(10px);transition:.7s var(--ease-out) .8s;}
.proj.visible .fv-card{opacity:1;transform:none;}


/* ══ FAQ ═════════════════════════════════════════════════════ */
.faq{background:var(--cream);padding:9rem 5vw;}
.faq-list{max-width:760px;}
.faq-item{border-bottom:1px solid var(--sand-d);}
.faq-item summary{
  list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:1.4rem;
  padding:1.5rem 0;font-size:1.05rem;font-weight:400;color:var(--char);
  transition:color .3s;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary:hover{color:var(--taupe-d);}
.faq-n{
  font-family:var(--f-display);font-style:italic;
  font-size:1.15rem;color:var(--taupe);min-width:2rem;flex-shrink:0;
}
.faq-x{
  margin-left:auto;flex-shrink:0;width:22px;height:22px;position:relative;
  transition:transform .45s var(--ease-out);
}
.faq-x::before,.faq-x::after{
  content:'';position:absolute;top:50%;left:50%;background:var(--taupe);
  transform:translate(-50%,-50%);
}
.faq-x::before{width:14px;height:1px;}
.faq-x::after{width:1px;height:14px;transition:transform .45s var(--ease-out),opacity .3s;}
.faq-item[open] .faq-x{transform:rotate(90deg);}
.faq-item[open] .faq-x::after{transform:translate(-50%,-50%) scaleY(0);opacity:0;}
.faq-item[open] summary{color:var(--taupe-d);}
.faq-a{
  padding:0 0 1.7rem calc(2rem + 1.4rem);
  font-size:.92rem;line-height:1.75;color:var(--taupe-d);max-width:60ch;
}
.faq-item[open] .faq-a{animation:faqIn .55s var(--ease-out);}
@keyframes faqIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
@media(max-width:600px){
  .faq-item summary{gap:.9rem;font-size:.95rem;}
  .faq-a{padding-left:0;}
}


/* ══ PROVA — 3 NOVOS MOCK-UPS ═══════════════════════════════ */

/* Verde Vivo — website institucional */
.vv-body{height:236px;display:flex;flex-direction:column;font-size:.58rem;background:#fff;overflow:hidden;}
.vv-hero{background:var(--char2);color:var(--sand-l);padding:.9rem .8rem;flex:1;
  display:flex;flex-direction:column;gap:.4rem;justify-content:center;}
.vv-eyebrow{font-size:.46rem;letter-spacing:.28em;text-transform:uppercase;color:#8FBF9A;
  opacity:0;transform:translateY(8px);transition:.7s var(--ease-out) .15s;}
.vv-h1{font-family:var(--f-display);font-size:1.05rem;line-height:1.15;font-weight:500;
  opacity:0;transform:translateY(10px);transition:.8s var(--ease-out) .3s;}
.vv-cta{align-self:flex-start;background:#2E8B57;color:#fff;border-radius:100px;
  padding:.32rem .75rem;font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;
  opacity:0;transform:translateY(10px);transition:.8s var(--ease-out) .5s;}
.proj.visible .vv-eyebrow,.proj.visible .vv-h1,.proj.visible .vv-cta{opacity:1;transform:none;}
.proj.visible .vv-cta{animation:fvPulse 3s ease-in-out 2.2s infinite;}
.vv-strip{display:flex;gap:.35rem;padding:.5rem .8rem;border-bottom:1px solid #EDE9E1;}
.vv-chip{border:1px solid #DDE7DD;color:#3d6b4d;border-radius:100px;padding:.18rem .5rem;font-size:.48rem;
  opacity:0;transform:translateY(6px);transition:.6s var(--ease-out);}
.proj.visible .vv-chip{opacity:1;transform:none;}
.proj.visible .vv-chip:nth-child(2){transition-delay:.1s;}
.proj.visible .vv-chip:nth-child(3){transition-delay:.2s;}
.proj.visible .vv-chip:nth-child(4){transition-delay:.3s;}
.vv-form{display:flex;gap:.4rem;align-items:center;padding:.55rem .8rem;}
.vv-input{flex:1;border:1px solid #E3DED4;border-radius:6px;padding:.32rem .5rem;color:#B0A79A;}
.vv-send{background:var(--char);color:var(--sand-l);border-radius:6px;padding:.32rem .6rem;font-size:.5rem;letter-spacing:.08em;}

/* Baía Sunset — Instagram / marca & eventos */
.bs-body{background:#fff;height:266px;display:flex;flex-direction:column;font-size:.55rem;color:#262626;}
.bs-head{display:flex;align-items:center;gap:.6rem;padding:.65rem .7rem .45rem;}
.bs-av{width:34px;height:34px;border-radius:50%;flex-shrink:0;
  background:conic-gradient(from 200deg,var(--sand),#C88A5B,var(--char2),var(--taupe),var(--sand));
  border:2px solid #fff;outline:1.5px solid #C88A5B;}
.bs-id b{display:block;font-size:.62rem;font-weight:600;}
.bs-id i{font-style:normal;color:#8e8e8e;font-size:.5rem;}
.bs-stats{display:flex;gap:.9rem;padding:0 .7rem .45rem;}
.bs-stats b{font-size:.62rem;}
.bs-stats i{font-style:normal;color:#8e8e8e;font-size:.48rem;margin-left:.2rem;}
.bs-follow{margin:0 .7rem .55rem;background:#C88A5B;color:#fff;text-align:center;
  border-radius:7px;padding:.3rem;font-size:.54rem;font-weight:500;letter-spacing:.04em;}
.bs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;flex:1;}
.bs-tile{opacity:0;transform:scale(.8);transition:.55s var(--ease-out);}
.proj.visible .bs-tile{opacity:1;transform:none;}
.bs-t1{background:linear-gradient(135deg,#2A2320,#5C4632);}
.bs-t2{background:linear-gradient(135deg,#C88A5B,#E8D7C3);}
.bs-t3{background:linear-gradient(135deg,#7A5F42,#2A2320);}
.bs-t4{background:linear-gradient(135deg,#E8D7C3,#C88A5B);}
.bs-t5{background:linear-gradient(135deg,#3A2F28,#836E62);display:flex;align-items:center;justify-content:center;
  color:var(--sand-l);font-family:var(--f-display);font-style:italic;font-size:.7rem;}
.bs-t6{background:linear-gradient(135deg,#5C4632,#E8D7C3);}
.bs-t7{background:linear-gradient(135deg,#836E62,#2A2320);}
.bs-t8{background:linear-gradient(135deg,#E8D7C3,#7A5F42);}
.bs-t9{background:linear-gradient(135deg,#2A2320,#C88A5B);}
.proj.visible .bs-tile:nth-child(1){transition-delay:.15s;}
.proj.visible .bs-tile:nth-child(2){transition-delay:.25s;}
.proj.visible .bs-tile:nth-child(3){transition-delay:.35s;}
.proj.visible .bs-tile:nth-child(4){transition-delay:.45s;}
.proj.visible .bs-tile:nth-child(5){transition-delay:.55s;}
.proj.visible .bs-tile:nth-child(6){transition-delay:.65s;}
.proj.visible .bs-tile:nth-child(7){transition-delay:.75s;}
.proj.visible .bs-tile:nth-child(8){transition-delay:.85s;}
.proj.visible .bs-tile:nth-child(9){transition-delay:.95s;}
.bs-tix{text-align:center;padding:.4rem;font-size:.5rem;color:#8e8e8e;border-top:1px solid #efefef;}

/* Lima & Filhos — simulador financeiro */
.lf-body{height:236px;background:#FBF9F5;padding:.7rem .8rem;display:flex;flex-direction:column;gap:.55rem;font-size:.56rem;}
.lf-title{font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);}
.lf-stats{display:flex;gap:.45rem;}
.lf-stat{flex:1;background:#fff;border:1px solid #E9E2D6;border-radius:8px;padding:.4rem .5rem;}
.lf-stat b{display:block;font-family:var(--f-display);font-size:1rem;color:var(--char);}
.lf-stat i{font-style:normal;color:var(--taupe);font-size:.48rem;letter-spacing:.05em;}
.lf-chart{flex:1;display:flex;align-items:flex-end;gap:.45rem;padding:.3rem .2rem 0;}
.lf-bar{flex:1;border-radius:4px 4px 0 0;background:linear-gradient(180deg,var(--taupe),var(--char2));
  transform:scaleY(0);transform-origin:bottom;transition:transform .9s var(--ease-out);}
.proj.visible .lf-bar{transform:scaleY(1);}
.proj.visible .lf-bar:nth-child(2){transition-delay:.1s;}
.proj.visible .lf-bar:nth-child(3){transition-delay:.2s;}
.proj.visible .lf-bar:nth-child(4){transition-delay:.3s;}
.proj.visible .lf-bar:nth-child(5){transition-delay:.4s;}
.proj.visible .lf-bar:nth-child(6){transition-delay:.5s;}
.lf-slider{position:relative;height:3px;background:#E5DCCB;border-radius:100px;margin:.35rem .1rem .1rem;}
.lf-thumb{position:absolute;top:50%;left:8%;width:11px;height:11px;border-radius:50%;
  background:var(--char);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.25);
  transform:translate(-50%,-50%);transition:left 1.6s var(--ease-out) .6s;}
.proj.visible .lf-thumb{left:72%;}
.lf-fill{position:absolute;top:0;left:0;height:100%;border-radius:100px;background:var(--taupe);
  width:8%;transition:width 1.6s var(--ease-out) .6s;}
.proj.visible .lf-fill{width:72%;}
.lf-note{display:flex;justify-content:space-between;color:var(--taupe);font-size:.48rem;letter-spacing:.05em;}

/* -- AMANI ATENDE (produto) -------------------------------- */
.atende{background:var(--char);color:var(--sand-l);padding:9rem 5vw;position:relative;overflow:hidden;}
.atende .section-header h2{color:var(--sand-l);}
.atende .section-header .eyebrow{color:var(--taupe-l);}
.atende-lead{font-size:1.05rem;line-height:1.7;color:var(--taupe-l);max-width:52ch;margin-top:1.4rem;font-weight:400;}
.atende-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem;margin:4rem 0 4.8rem;}
.atende-feat .fic{width:30px;height:30px;margin-bottom:1rem;stroke:var(--sand);fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;}
.atende-feat h3{font-family:var(--f-display);font-weight:500;font-size:1.5rem;margin-bottom:.5rem;color:var(--sand-l);}
.atende-feat p{font-size:.85rem;line-height:1.65;color:var(--taupe-l);font-weight:400;}
.atende-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:3rem;}
.atende-tier{border:1px solid rgba(232,215,195,.16);border-radius:4px;padding:2.2rem 2rem;display:flex;flex-direction:column;background:rgba(232,215,195,.02);}
.atende-tier.feat{border-color:var(--sand);background:rgba(232,215,195,.06);}
.atende-tier .badge{align-self:flex-start;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--char);background:var(--sand);padding:.25rem .7rem;border-radius:2px;margin-bottom:1rem;font-weight:500;}
.atende-tier .tname{font-family:var(--f-display);font-size:1.7rem;color:var(--sand-l);margin-bottom:.5rem;}
.atende-tier .tprice{font-size:1.4rem;font-weight:400;color:var(--sand-l);}
.atende-tier .tprice small{font-size:.8rem;color:var(--taupe-l);}
.atende-tier .tsetup{font-size:.76rem;color:var(--taupe);margin:.25rem 0 1.5rem;letter-spacing:.04em;}
.atende-tier ul{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-bottom:0;flex:1;}
.atende-tier li{font-size:.8rem;color:var(--taupe-l);padding-left:1.3rem;position:relative;font-weight:400;}
.atende-tier li::before{content:'—';position:absolute;left:0;color:var(--taupe);}
.atende-cta{display:flex;gap:1.4rem;flex-wrap:wrap;align-items:center;}
.btn-wa{display:inline-flex;align-items:center;gap:.6rem;background:var(--sand);color:var(--char);padding:.95rem 2rem;border-radius:2px;font-size:.8rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;transition:background .2s,transform .2s;}
.btn-wa:hover{background:var(--sand-l);transform:translateY(-1px);}
.btn-wa svg{width:16px;height:16px;fill:var(--char);flex-shrink:0;}
.atende-guarantee{font-size:.78rem;color:var(--taupe-l);font-weight:400;letter-spacing:.02em;}
@media(max-width:860px){.atende-feats,.atende-tiers{grid-template-columns:1fr;}}

/* ── WHATSAPP FLOAT ──────────────────────────────────────── */
.wa-float{
  position:fixed;right:1.6rem;bottom:1.6rem;z-index:500;
  display:flex;align-items:center;gap:.7rem;
  background:var(--char);color:var(--sand-l);
  padding:.85rem 1.1rem;border-radius:100px;
  box-shadow:0 8px 28px rgba(0,0,0,.28);
  text-decoration:none;
  opacity:0;translate:0 12px;pointer-events:none;
  transition:opacity .4s var(--ease-out),translate .4s var(--ease-out),background .2s,transform .2s;
}
.wa-float.show{opacity:1;translate:0 0;pointer-events:auto;}
.wa-float:hover{background:var(--char2);transform:translateY(-2px);}
.wa-float svg{width:22px;height:22px;fill:var(--sand);flex-shrink:0;}
.wa-float .wa-label{
  font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  max-width:0;overflow:hidden;white-space:nowrap;
  transition:max-width .35s var(--ease-out),margin .35s var(--ease-out);
}
.wa-float:hover .wa-label{max-width:160px;margin-right:.1rem;}
@media(max-width:640px){
  .wa-float{right:1rem;bottom:1rem;padding:.8rem;}
  .wa-float .wa-label{display:none;}
}

/* ══ REDESENHO ILUSTRADO (30/09/2026) ═══════════════════════
   Menos palavras, mais desenho. A linguagem visual e a do Reel 01
   (SOCIAL MEDIA/POSTS/REEL_01_INSTITUCIONAL): porta de ferro, placa
   FECHADO, telemovel que acende. Tudo SVG/CSS, sem imagens externas. */

/* ── Hero: cena animada em loop ── */
.hero-ghost{display:none;}
.hero-scene{position:absolute;right:5vw;top:50%;transform:translateY(-50%);
  width:min(33vw,430px);aspect-ratio:420/520;z-index:1;}
.hero-scene svg{width:100%;height:100%;display:block;overflow:visible;
  filter:drop-shadow(0 30px 60px rgba(0,0,0,.5));
  animation:fadeUp 1.2s var(--ease-out) .5s both;}
@media(min-width:901px){
  .hero-headline{font-size:clamp(3.2rem,7vw,7.4rem);max-width:60vw;}
  .hero-eyebrow,.hero-sub,.hero-btns{max-width:58vw;}
}
.hs-door{animation:hsDoor 10s var(--ease-out) infinite;}
@keyframes hsDoor{0%,8%{transform:translateY(-242px)}28%,90%{transform:translateY(0)}100%{transform:translateY(-242px)}}
.hs-light{animation:hsLight 10s ease infinite;}
@keyframes hsLight{0%,8%{opacity:1}28%,90%{opacity:.25}100%{opacity:1}}
.hs-sign{transform-box:view-box;transform-origin:210px 262px;animation:hsSign 10s linear infinite;}
@keyframes hsSign{0%,27%{opacity:0;transform:translateY(-26px)}
  30%{opacity:1;transform:translateY(0) rotate(15deg)}34%{transform:rotate(-10deg)}38%{transform:rotate(6deg)}
  42%{transform:rotate(-3deg)}46%,88%{opacity:1;transform:rotate(0)}92%,100%{opacity:0;transform:rotate(0)}}
.hs-screen,.hs-time,.hs-glow{animation:hsScreen 10s ease infinite;}
@keyframes hsScreen{0%,46%{opacity:0}52%,88%{opacity:1}94%,100%{opacity:0}}
.hs-glow{animation-name:hsGlow;}
@keyframes hsGlow{0%,46%{opacity:0}52%,88%{opacity:.55}94%,100%{opacity:0}}
.hs-b{opacity:0;transform-box:fill-box;transform-origin:center;}
.hs-b1{animation:hsB1 10s ease infinite}.hs-b2{animation:hsB2 10s ease infinite}
.hs-b3{animation:hsB3 10s ease infinite}.hs-b4{animation:hsB4 10s ease infinite}
@keyframes hsB1{0%,55%{opacity:0;transform:translateY(6px)}58%,88%{opacity:1;transform:none}94%,100%{opacity:0}}
@keyframes hsB2{0%,63%{opacity:0;transform:translateY(6px)}66%,88%{opacity:1;transform:none}94%,100%{opacity:0}}
@keyframes hsB3{0%,71%{opacity:0;transform:translateY(6px)}74%,88%{opacity:1;transform:none}94%,100%{opacity:0}}
@keyframes hsB4{0%,79%{opacity:0;transform:translateY(6px)}82%,88%{opacity:1;transform:none}94%,100%{opacity:0}}

/* ── Marquee: tipos de negocio ── */
.marquee-track span.mq-dot{opacity:.4}

/* ── Servicos: vinhetas ilustradas ── */
.svc-illus{height:124px;margin:-.4rem 0 1.4rem;}
.svc-illus svg{width:100%;height:100%;display:block;overflow:visible}
.svc-illus .ln{fill:none;stroke:var(--taupe);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}
.svc-card:hover .svc-illus .ln{stroke:var(--taupe-l)}
.svc-illus .pop{opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.6)}
.svc-card.visible .svc-illus .pop{animation:vPop .5s var(--ease-out) forwards}
.svc-card.visible .pop.d1{animation-delay:.5s}.svc-card.visible .pop.d2{animation-delay:.9s}
.svc-card.visible .pop.d3{animation-delay:1.3s}.svc-card.visible .pop.d4{animation-delay:1.7s}
.svc-card.visible .pop.d5{animation-delay:2.1s}
@keyframes vPop{to{opacity:1;transform:none}}
.v-dot{animation:vDot 1.2s ease-in-out infinite}
.v-dot:nth-child(2){animation-delay:.15s}.v-dot:nth-child(3){animation-delay:.3s}
@keyframes vDot{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-3px)}}
.v-hand{transform-box:view-box;transform-origin:202px 34px;animation:vSpin 6s linear infinite}
@keyframes vSpin{to{transform:rotate(360deg)}}
.v-bar{transform-box:fill-box;transform-origin:bottom;transform:scaleY(0)}
.svc-card.visible .v-bar{animation:vGrow 1s var(--ease-out) forwards}
.svc-card.visible .v-bar:nth-of-type(2){animation-delay:.1s}.svc-card.visible .v-bar:nth-of-type(3){animation-delay:.2s}
.svc-card.visible .v-bar:nth-of-type(4){animation-delay:.3s}.svc-card.visible .v-bar:nth-of-type(5){animation-delay:.4s}
@keyframes vGrow{to{transform:scaleY(1)}}
.v-trend{stroke-dasharray:220;stroke-dashoffset:220}
.svc-card.visible .v-trend{transition:stroke-dashoffset 1.6s var(--ease-out) .6s;stroke-dashoffset:0}
.v-flow{stroke-dasharray:4 6;animation:vFlow 1.4s linear infinite}
@keyframes vFlow{to{stroke-dashoffset:-20}}
.v-lens{animation:vLens 6s var(--ease-out) infinite}
@keyframes vLens{0%,100%{transform:translate(0,0)}33%{transform:translate(80px,-18px)}66%{transform:translate(160px,12px)}}
.v-check{stroke-dasharray:30;stroke-dashoffset:30}
.svc-card.visible .v-check{transition:stroke-dashoffset .6s ease 2.2s;stroke-dashoffset:0}

/* ── Atende: conversa real + lista curta ── */
.atende-show{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:4.5rem;align-items:center;margin:3.6rem 0 4.8rem;}
.chat-live{background:#F5EDE3;border-radius:26px;overflow:hidden;color:var(--char);
  box-shadow:0 30px 70px rgba(0,0,0,.45),0 0 0 1px rgba(232,215,195,.12);}
.cl-head{display:flex;gap:.8rem;align-items:center;padding:1rem 1.2rem;background:#141210;color:var(--sand-l)}
.cl-av{width:38px;height:38px;border-radius:50%;background:var(--taupe);display:flex;align-items:center;justify-content:center;font-family:var(--f-display);color:var(--sand-l)}
.cl-head b{display:block;font-weight:600;font-size:.95rem}.cl-head i{font-style:normal;font-size:.72rem;color:var(--taupe-l)}
.cl-body{padding:1.3rem 1.1rem 1.5rem;display:flex;flex-direction:column;gap:.7rem;min-height:318px}
.cl-b{max-width:88%;padding:.75rem 1rem;border-radius:16px;font-size:.9rem;line-height:1.5;opacity:0;transform:translateY(10px);
  transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}
.cl-b.in{opacity:1;transform:none}
.cl-b p+p{margin-top:.5rem}
.cl-cli{align-self:flex-end;background:var(--sand);border-bottom-right-radius:4px;min-height:2.6em}
.cl-ate{align-self:flex-start;background:var(--char);color:var(--sand-l);border-bottom-left-radius:4px}
.cl-dots{align-self:flex-start;display:none;gap:5px;background:var(--char);padding:.8rem 1rem;border-radius:16px}
.cl-dots.in{display:flex}.cl-dots i{width:7px;height:7px;border-radius:50%;background:var(--taupe-l);animation:vDot 1s infinite}
.cl-dots i:nth-child(2){animation-delay:.15s}.cl-dots i:nth-child(3){animation-delay:.3s}
.cl-note{font-size:.72rem;color:var(--taupe-l);margin-top:1rem;text-align:center;letter-spacing:.02em}
.af-list{display:flex;flex-direction:column;gap:1.9rem}
.af-row{display:grid;grid-template-columns:52px 1fr;gap:1.1rem;align-items:center}
.af-ic{width:52px;height:52px;border-radius:50%;border:1px solid rgba(232,215,195,.22);display:flex;align-items:center;justify-content:center}
.af-ic svg{width:24px;height:24px;stroke:var(--sand);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.af-row h3{font-family:var(--f-display);font-weight:500;font-size:1.45rem;color:var(--sand-l);line-height:1.1}
.af-row p{font-size:.85rem;color:var(--taupe-l);margin-top:.2rem}
.af-camisola{margin-top:2.6rem;padding-top:2rem;border-top:1px solid rgba(232,215,195,.14)}
.af-camisola .t{font-family:var(--f-display);font-size:1.35rem;color:var(--sand-l)}
.af-camisola .t em{font-style:italic;color:var(--taupe-l)}
.af-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.af-chips span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sand);padding:.45rem .85rem;border-radius:100px;border:1px solid rgba(232,215,195,.22);background:rgba(232,215,195,.04)}
.atende-cta .demo-alt{font-size:.8rem;color:var(--taupe-l);text-decoration:underline;text-underline-offset:3px}
.atende-cta .demo-alt:hover{color:var(--sand-l)}

/* ── Metodo: linha do tempo que se preenche com o scroll ── */
.steps{position:relative;padding-top:2.4rem}
.steps-track{position:absolute;left:0;right:0;top:26px;height:2px;background:rgba(232,215,195,.12)}
.steps-fill{position:absolute;inset:0;background:linear-gradient(90deg,var(--taupe),var(--sand));transform-origin:left;transform:scaleX(var(--p,0))}
.step::before{display:none}
.step{border-top:none;padding-top:0}
.step-ic{width:54px;height:54px;border-radius:50%;background:var(--char);border:1px solid rgba(232,215,195,.25);
  display:flex;align-items:center;justify-content:center;margin:-2.4rem 0 1.4rem;position:relative;transition:background .4s,border-color .4s}
.step-ic svg{width:24px;height:24px;stroke:var(--sand);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.step.on .step-ic{background:var(--taupe-d);border-color:var(--sand)}

/* ── Quem somos: valores compactos (substitui a seccao Visao & Valores) ── */
.about-vals{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 1.6rem;margin-top:1.8rem}
.about-val{display:grid;grid-template-columns:34px 1fr;gap:.8rem;align-items:start}
.about-val svg{width:34px;height:34px;stroke:var(--taupe);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.about-val b{display:block;font-weight:600;font-size:.9rem;color:var(--char)}
.about-val span{font-size:.8rem;color:var(--taupe-d);line-height:1.45}

@media(max-width:900px){
  .hero-scene{position:relative;right:auto;top:auto;transform:none;width:min(72vw,320px);margin:6.5rem 0 1.8rem}
  .atende-show{grid-template-columns:1fr;gap:3rem}
  .steps-track{display:none}.step-ic{margin-top:0}.steps{padding-top:0}
  .about-vals{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .hs-door{animation:none!important;transform:none}
  .hs-light{animation:none!important;opacity:.25}
  .hs-sign,.hs-screen,.hs-time,.hs-b{animation:none!important;opacity:1;transform:none}
  .hs-glow{animation:none!important;opacity:.55}
  .svc-illus .pop,.v-bar{animation:none!important;opacity:1;transform:none}
  .v-trend,.v-check{stroke-dashoffset:0}
  .cl-b{opacity:1;transform:none}
}

/* ── AMANI Gestao (30/09/2026) ── */
.gestao{background:var(--cream);padding:9rem 5vw;}
.gestao-grid{display:grid;grid-template-columns:1fr minmax(0,560px);gap:4.5rem;align-items:center}
.gestao-lead{font-size:1.05rem;line-height:1.7;color:var(--taupe-d);max-width:44ch;margin-top:1.4rem}
.gestao .section-header{margin-bottom:2.6rem}
.gestao .section-header h2 em{font-style:italic;color:var(--taupe)}
.g-list{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem 2rem}
.g-row{display:grid;grid-template-columns:44px 1fr;gap:.9rem;align-items:start}
.g-ic{width:44px;height:44px;border-radius:50%;border:1px solid var(--sand-d);display:flex;align-items:center;justify-content:center}
.g-ic svg{width:21px;height:21px;stroke:var(--taupe);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.g-row h3{font-family:var(--f-display);font-weight:500;font-size:1.2rem;line-height:1.15}
.g-row p{font-size:.83rem;color:var(--taupe-d);margin-top:.2rem;line-height:1.45}
.g-cta{margin-top:2.6rem}
.g-app{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 30px 70px rgba(42,36,32,.16),0 0 0 1px var(--sand-d)}
.g-bar{display:flex;align-items:center;gap:6px;padding:.7rem 1rem;background:var(--sand-l);border-bottom:1px solid var(--sand-d)}
.g-bar i{width:9px;height:9px;border-radius:50%;background:var(--sand-d)}
.g-bar span{margin-left:.8rem;font-size:.72rem;color:var(--taupe);background:#fff;padding:.25rem .8rem;border-radius:20px}
.g-body{display:grid;grid-template-columns:118px 1fr;min-height:330px}
.g-side{background:var(--char);padding:1.1rem .9rem;display:flex;flex-direction:column;gap:.55rem}
.g-side b{font-family:var(--f-display);color:var(--sand-l);letter-spacing:.15em;font-size:.8rem;margin-bottom:.6rem}
.g-side span{font-size:.72rem;color:var(--taupe-l);padding:.35rem .5rem;border-radius:6px}
.g-side span.on{background:rgba(232,215,195,.12);color:var(--sand-l)}
.g-main{padding:1rem;display:flex;flex-direction:column;gap:1rem}
.g-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.g-kpis>div{border:1px solid var(--sand-l);border-radius:10px;padding:.6rem .7rem;background:var(--cream)}
.g-kpis em{display:block;font-style:normal;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--taupe)}
.g-kpis u{display:block;height:8px;border-radius:4px;background:var(--sand-d);margin-top:.7rem;width:0;transition:width 1.4s var(--ease-out) .4s}
.g-app.visible .g-kpis u{width:var(--w)}
.g-kpis svg{width:100%;height:26px;margin-top:.3rem}
.g-spark{fill:none;stroke:var(--taupe);stroke-width:2;stroke-linecap:round;stroke-dasharray:130;stroke-dashoffset:130;transition:stroke-dashoffset 1.6s var(--ease-out) .6s}
.g-app.visible .g-spark{stroke-dashoffset:0}
.g-kanban{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;flex:1}
.g-col{background:var(--sand-l);border-radius:10px;padding:.6rem;display:flex;flex-direction:column;gap:.45rem}
.g-col h5{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);font-weight:600;margin-bottom:.15rem}
.g-card{background:#fff;border-radius:7px;padding:.5rem .6rem;font-size:.72rem;color:var(--char);box-shadow:0 2px 6px rgba(42,36,32,.08);border-left:3px solid var(--sand-d)}
.g-won{border-left-color:var(--taupe)}
.g-kanban{--cw:calc((100% - 1.2rem) / 3)}
.g-move{position:absolute;top:70px;width:calc(var(--cw) - 1.2rem);left:calc(var(--cw) + 1.2rem);
  border-left-color:var(--taupe);box-shadow:0 10px 24px rgba(42,36,32,.18);animation:gMove 7s var(--ease-out) infinite}
@keyframes gMove{
  0%,22%{left:calc(var(--cw) + 1.2rem);transform:none;opacity:1}
  34%{transform:translateY(-8px) rotate(3deg);opacity:1}
  48%,84%{left:calc(2 * var(--cw) + 1.8rem);transform:none;opacity:1}
  92%{left:calc(2 * var(--cw) + 1.8rem);opacity:0}
  93%{left:calc(var(--cw) + 1.2rem);opacity:0}
  100%{left:calc(var(--cw) + 1.2rem);opacity:1}}
@media(max-width:900px){.gestao-grid{grid-template-columns:1fr;gap:3rem}.g-list{grid-template-columns:1fr}.g-body{grid-template-columns:1fr}.g-side{display:none}}
@media (prefers-reduced-motion:reduce){.g-move{animation:none!important}.g-kpis u{width:var(--w)}.g-spark{stroke-dashoffset:0}}

/* ── Quem somos: produto nacional, em modo mínimo (30/09/2026) ──
   Contorno de 1,5px que roda devagar pelas cores de Moçambique
   (verde, amarelo, vermelho, preto), com um halo muito ténue. */
@property --ang{syntax:'<angle>';inherits:false;initial-value:0deg}
.about-img{flex-direction:column;gap:2.2rem}
.logo-ring{position:relative;z-index:1;width:min(320px,70%);aspect-ratio:1;border-radius:22px}
.logo-ring .about-avatar{width:100%;height:100%;border-radius:20px}
.logo-ring::before,.logo-ring::after{content:'';position:absolute;inset:-1.5px;border-radius:22px;pointer-events:none;
  background:conic-gradient(from var(--ang),#007168,#FCE100 25%,#D21034 50%,#1E1E1E 75%,#007168);
  animation:ringSpin 14s linear infinite}
.logo-ring::before{padding:1.5px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;opacity:.85}
.logo-ring::after{inset:8%;z-index:-1;filter:blur(38px);opacity:.22}
@keyframes ringSpin{to{--ang:360deg}}
.nacional{position:relative;z-index:1;display:flex;align-items:baseline;gap:.7rem;
  font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--taupe-l)}
.nacional em{font-family:var(--f-display);font-style:italic;font-size:1.15rem;letter-spacing:0;text-transform:none;color:var(--sand-l)}
.nacional span{color:var(--taupe)}
@media (prefers-reduced-motion:reduce){.logo-ring::before,.logo-ring::after{animation:none}}
.logo-ring::before,.logo-ring::after{transition:opacity 1.4s ease .6s}
.about-img:not(.visible) .logo-ring::before,.about-img:not(.visible) .logo-ring::after{opacity:0}
.nacional{opacity:0;transform:translateY(10px);transition:opacity .9s var(--ease-out) .9s,transform .9s var(--ease-out) .9s}
.about-img.visible .nacional{opacity:1;transform:none}
