:root{
    --black:#0A0A0A;
    --graf:#161611;
    --graf2:#1F1F1A;
    --line:#2A2A22;
    --ink:#F2F2EC;
    --dim:#9A9A8E;
    --dim2:#6E6E63;
    --lime:#AAE500;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--black); color:var(--ink);
    font-family:'Inter',sans-serif; font-size:16px; line-height:1.6;
    overflow-x:hidden;
  }
  a{color:inherit;}
  :focus-visible{ outline:2px solid var(--lime); outline-offset:3px; }

  .display{ font-family:'Space Grotesk',sans-serif; }
  .mono{ font-family:'Space Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }

  .wrap{ max-width:1180px; margin:0 auto; padding:0 28px; }

  /* ---------- nav ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:50;
    background:rgba(10,10,10,.82); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  nav{ display:flex; align-items:center; justify-content:space-between; height:76px; }
  .logo{ display:flex; align-items:center; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:19px; }
  .logo .ast{ color:var(--lime); display:inline-flex; align-items:center; margin:0 1px; }
  .logo .ast svg{ width:.78em; height:.78em; }
  .navlinks{ display:flex; gap:30px; align-items:center; }
  .navlinks a{ font-size:14px; text-decoration:none; color:var(--dim); transition:color .15s; }
  .navlinks a:hover{ color:var(--ink); }
  .navlinks a.active{ color:var(--lime); }
  .nav-sep{ width:1px; height:16px; background:var(--line); }
  .nav-search{
    background:none; border:none; color:var(--dim); cursor:pointer; padding:4px;
    display:flex; align-items:center; transition:color .15s;
  }
  .nav-search:hover{ color:var(--lime); }
  .nav-search svg{ width:18px; height:18px; }

  .search-overlay{
    position:fixed; inset:0; background:rgba(10,10,10,.97); z-index:100;
    display:flex; align-items:center; justify-content:center;
    opacity:0; visibility:hidden; transition:opacity .25s ease, visibility .25s ease;
  }
  .search-overlay.open{ opacity:1; visibility:visible; }
  .search-close{
    position:absolute; top:28px; right:28px; background:none; border:none;
    color:var(--dim); font-size:22px; cursor:pointer; transition:color .15s;
  }
  .search-close:hover{ color:var(--lime); }
  .search-inner{ width:100%; max-width:640px; padding:0 28px; }
  .search-label{ color:var(--lime); font-size:12.5px; display:block; margin-bottom:18px; }
  #searchInput{
    width:100%; background:none; border:none; border-bottom:2px solid var(--line);
    color:var(--ink); font-family:'Space Grotesk',sans-serif; font-size:clamp(26px,4vw,40px);
    font-weight:500; padding:10px 0 18px; outline:none;
  }
  #searchInput:focus{ border-bottom-color:var(--lime); }
  #searchInput::placeholder{ color:var(--dim2); }
  .search-suggestions{ display:flex; flex-direction:column; gap:2px; margin-top:28px; }
  .search-suggestions a{
    color:var(--dim); text-decoration:none; font-size:16px; padding:12px 4px;
    border-bottom:1px solid var(--line); transition:color .15s, padding-left .15s;
  }
  .search-suggestions a:hover{ color:var(--lime); padding-left:10px; }
  .mobile-menu a{ color:var(--ink); text-decoration:none; font-size:16px; }
  .navtoggle{ display:none; background:none; border:none; color:var(--ink); font-size:26px; cursor:pointer; line-height:1; padding:4px; }
  .mobile-menu{
    display:none; position:fixed; top:76px; left:0; right:0; background:var(--black);
    border-bottom:1px solid var(--line); padding:20px 28px 28px; flex-direction:column; gap:20px;
    z-index:49;
  }
  .mobile-menu.open{ display:flex; }
  .mobile-actions{ display:none; align-items:center; gap:6px; }

  /* ---------- carrossel vitrine ---------- */
  .carousel-hero{
    position:relative; margin-top:76px; height:78vh; min-height:460px; max-height:720px;
    overflow:hidden; border-top:none;
  }
  .cslide{
    position:absolute; inset:0; opacity:0; transition:opacity 1s ease;
    display:flex; align-items:center; justify-content:center;
  }
  .cslide.active{ opacity:1; z-index:2; }
  .cslide-mark svg{ width:220px; height:220px; animation:spin 50s linear infinite; }
  .cslide-card{
    width:220px; height:300px; border-radius:20px; border:1px solid var(--line);
    background:linear-gradient(160deg,#111109,#0A0A0A);
    box-shadow:0 30px 60px rgba(0,0,0,.5);
  }
  .cslide-cards{ display:flex; }
  .cslide-cards::before, .cslide-cards::after{
    content:''; width:150px; height:210px; border-radius:14px; border:1px solid var(--line);
    background:#111109; margin-left:-40px; box-shadow:0 20px 40px rgba(0,0,0,.4);
  }
  .cslide-cards::before{ transform:rotate(-8deg); margin-left:0; }
  .cslide-cards::after{ transform:rotate(8deg); }

  /* voz - barras de onda sonora */
  .cslide-voice{ display:flex; align-items:center; gap:8px; height:160px; }
  .cslide-voice::before, .cslide-voice::after{ content:''; }
  .cslide-voice span{ display:block; width:10px; border-radius:6px; background:rgba(255,255,255,.85); }

  /* alma nascer - crescente de acolhimento */
  .cslide-moon{
    width:220px; height:220px; border-radius:50%;
    border:3px solid rgba(255,255,255,.55);
    box-shadow: -60px 0 0 -30px rgba(255,255,255,.15);
    position:relative;
  }
  .cslide-moon::after{
    content:''; position:absolute; inset:14px; border-radius:50%;
    border:1px dashed rgba(255,255,255,.4);
  }

  /* wilton gomes - facetas geometricas */
  .cslide-facets{
    width:240px; height:180px; position:relative;
  }
  .cslide-facets span{
    position:absolute; width:0; height:0;
    border-left:60px solid transparent; border-right:60px solid transparent;
    border-bottom:100px solid rgba(120,170,255,.35);
  }
  .cslide-facets span:nth-child(1){ top:0; left:0; transform:rotate(8deg); }
  .cslide-facets span:nth-child(2){ top:10px; left:70px; transform:rotate(-14deg) scale(.8); border-bottom-color:rgba(120,170,255,.5); }
  .cslide-facets span:nth-child(3){ top:40px; left:30px; transform:rotate(22deg) scale(.6); border-bottom-color:rgba(200,220,255,.4); }

  /* acempro - arvore estilizada, raizes firmes */
  .cslide-tree{ width:150px; height:150px; border-radius:50%; border:2px solid rgba(210,180,110,.75); position:relative; }
  .cslide-tree::before{
    content:''; position:absolute; left:50%; top:18%; width:2px; height:44%;
    background:rgba(210,180,110,.75); transform:translateX(-50%);
  }
  .cslide-tree::after{
    content:''; position:absolute; left:50%; bottom:14%; width:70%; height:30%;
    border-top:2px solid rgba(210,180,110,.6); border-radius:50% 50% 0 0/100% 100% 0 0;
    transform:translateX(-50%); opacity:.7;
  }

  /* metodo monta - ilustracao estatica do diagrama radial */
  .cslide-metodo-ill{ width:260px; height:260px; }
  .cslide-metodo-ill svg{ width:100%; height:100%; }

  .csel{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:5;
    display:flex; align-items:center; gap:10px; background:rgba(242,242,236,.94); color:#141410;
    padding:14px 22px; border-radius:100px; font-size:14px; text-transform:none; letter-spacing:normal;
    box-shadow:0 10px 30px rgba(0,0,0,.35); white-space:nowrap;
  }
  .csel-pill{
    background:#fff; padding:6px 14px; border-radius:100px; font-weight:700;
    transition:opacity .3s ease;
  }
  .ccaption{
    position:absolute; left:28px; bottom:26px; z-index:5; max-width:460px;
    display:flex; flex-direction:column; gap:4px;
  }
  .ccaption strong{ font-family:'Space Grotesk',sans-serif; font-size:16px; font-weight:600; color:var(--ink); transition:opacity .3s ease; }
  .ccaption span{ font-size:13px; color:var(--dim); transition:opacity .3s ease; }
  .cdots{ position:absolute; right:28px; bottom:30px; z-index:5; display:flex; gap:9px; }
  .cdots button{
    width:8px; height:8px; border-radius:50%; border:none; background:var(--line); padding:0; cursor:pointer;
    transition:background .2s ease, transform .2s ease;
  }
  .cdots button.active{ background:var(--lime); transform:scale(1.3); }

  @media (max-width:860px){
    .carousel-hero{ height:64vh; min-height:400px; }
    .csel{ font-size:12px; padding:10px 16px; gap:6px; }
    .csel-pill{ padding:5px 10px; }
    .ccaption{ left:20px; bottom:20px; max-width:70%; }
    .ccaption strong{ font-size:14px; }
    .ccaption span{ display:none; }
  }
  @media (prefers-reduced-motion: reduce){
    .cslide-mark svg{ animation:none; }
  }

  /* ---------- hero ---------- */
  .hero{
    min-height:100svh; display:flex; flex-direction:column; justify-content:center;
    position:relative; padding-top:76px; overflow:hidden;
  }
  .hero-glow{
    position:absolute; top:50%; left:50%; width:900px; height:900px;
    transform:translate(-50%,-50%);
    background:radial-gradient(circle, rgba(170,229,0,.09), transparent 65%);
    pointer-events:none;
  }
  .hero-ast{
    position:absolute; right:6%; top:50%; transform:translateY(calc(-50% + var(--pll,0px)));
    width:340px; height:340px; opacity:.9;
  }
  .hero-ast svg{ width:100%; height:100%; animation:spin 46s linear infinite; }
  @keyframes spin{ to{ transform:rotate(360deg); } }
  .eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    font-size:12.5px; color:var(--lime); margin-bottom:28px;
  }
  .eyebrow::before{ content:''; width:22px; height:1px; background:var(--lime); }
  h1{
    font-size:clamp(42px,6.4vw,84px); font-weight:600; line-height:1.03; letter-spacing:-.02em;
    max-width:820px;
  }
  h1 em{ font-style:normal; color:var(--dim2); }
  .hero p.lead{
    margin-top:28px; max-width:520px; font-size:18px; color:var(--dim); line-height:1.65;
  }
  .hero-actions{ display:flex; gap:16px; margin-top:44px; flex-wrap:wrap; }
  .btn{
    display:inline-flex; align-items:center; gap:10px; text-decoration:none;
    font-size:14.5px; font-weight:600; padding:15px 26px; border-radius:10px;
    transition:transform .12s, border-color .15s;
  }
  .btn:hover{ transform:translateY(-1px); }
  .btn-primary{ background:var(--lime); color:var(--black); }
  .btn-ghost{ border:1px solid var(--line); color:var(--ink); }
  .btn-ghost:hover{ border-color:var(--dim2); }

  .scroll-cue{
    position:absolute; bottom:36px; left:28px; display:flex; align-items:center; gap:10px;
    font-size:11.5px; color:var(--dim2);
  }
  .scroll-cue .line{ width:1px; height:34px; background:var(--dim2); position:relative; overflow:hidden; }
  .scroll-cue .line::after{
    content:''; position:absolute; top:-100%; left:0; width:100%; height:100%;
    background:var(--lime); animation:drip 2.2s ease-in-out infinite;
  }
  @keyframes drip{ 0%{ top:-100%; } 60%,100%{ top:100%; } }

  /* ---------- section shared ---------- */
  section{ padding:120px 0; border-top:1px solid var(--line); position:relative; }
  .sec-head{ max-width:640px; margin-bottom:64px; }
  .sec-eyebrow{ font-size:12px; color:var(--lime); margin-bottom:18px; display:block; }
  .sec-head h2{ font-family:'Space Grotesk',sans-serif; font-size:clamp(28px,3.6vw,42px); font-weight:600; letter-spacing:-.01em; line-height:1.15; }
  .sec-head p{ color:var(--dim); margin-top:18px; font-size:16.5px; max-width:520px; }

  .reveal{ opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
  .reveal.in{ opacity:1; transform:none; }
  .hero-line{ opacity:0; transform:translateY(36px); transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
  .hero-in .hero-line{ opacity:1; transform:none; }
  .hero-line:nth-child(1){ transition-delay:.05s; }
  .hero-line:nth-child(2){ transition-delay:.16s; }
  .hero-line:nth-child(3){ transition-delay:.27s; }
  .hero-line:nth-child(4){ transition-delay:.4s; }

  .ticker{
    margin-top:64px; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    padding:16px 0; overflow:hidden; white-space:nowrap; position:relative;
  }
  .ticker::before, .ticker::after{
    content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none;
  }
  .ticker::before{ left:0; background:linear-gradient(90deg, var(--black), transparent); }
  .ticker::after{ right:0; background:linear-gradient(270deg, var(--black), transparent); }
  .ticker-track{ display:inline-flex; gap:0; animation:ticker 26s linear infinite; }
  .ticker-track span{ font-family:'Space Mono',monospace; font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--dim2); padding:0 28px; display:inline-flex; align-items:center; gap:28px; }
  .ticker-track span::after{ content:'*'; color:var(--lime); }
  @keyframes ticker{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

  .stagger-child{ opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease; }
  .reveal.in .stagger-child{ opacity:1; transform:none; }

  @media (prefers-reduced-motion: reduce){
    .hero-line{ opacity:1; transform:none; transition:none; }
    .ticker-track{ animation:none; }
    .stagger-child{ opacity:1; transform:none; }
    .reveal{ opacity:1; transform:none; transition:none; }
    .hero-ast svg{ animation:none; }
    .scroll-cue .line::after{ animation:none; }
  }


  /* ---------- noticias ---------- */
  #noticias{ background:#EDEDE6; color:#141410; }
  #noticias .sec-head p{ color:#5a5a50; }
  #noticias .sec-eyebrow{ color:#5a7a00; }
  .news-filters{ display:flex; flex-wrap:wrap; gap:10px 40px; margin-bottom:52px; }
  .nfilter{
    display:flex; align-items:center; gap:10px; background:none; border:none; cursor:pointer;
    font-family:'Inter',sans-serif; font-size:14.5px; color:#5a5a50; padding:4px 0;
  }
  .nfilter .nradio{
    width:14px; height:14px; border-radius:50%; border:1.5px solid #9a9a8e; flex:none;
    transition:background .15s, border-color .15s;
  }
  .nfilter.active{ color:#141410; font-weight:600; }
  .nfilter.active .nradio{ background:#141410; border-color:#141410; }
  .nfilter:hover .nradio{ border-color:#141410; }

  .news-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px 48px; }
  .nitem-link{ display:block; text-decoration:none; color:inherit; }
  .nitem-link .nthumb{ transition:transform .3s ease; }
  .nitem-link:hover .nthumb{ transform:translateY(-4px); }
  .nitem-link:hover h3{ color:#5a7a00; }
  .nitem{ padding-bottom:32px; border-bottom:1px solid #d8d8cd; transition:opacity .25s ease; }
  .nitem.hidden{ display:none; }
  .nthumb{ width:100%; aspect-ratio:16/10; border-radius:10px; margin-bottom:18px; }
  .ntag{
    display:inline-block; background:#dcdccf; color:#5a5a50; font-size:11px;
    padding:4px 10px; border-radius:100px; margin-right:10px; letter-spacing:.04em;
  }
  .ndate{ font-size:12px; color:#8a8a7e; }
  .nitem h3{ font-family:'Space Grotesk',sans-serif; font-size:18px; font-weight:600; margin:12px 0 6px; }
  .nitem p{ font-size:14px; color:#5a5a50; line-height:1.55; }
  .news-empty{ text-align:center; padding:40px 0; color:#8a8a7e; font-size:13px; }

  @media (max-width:860px){
    .news-grid{ grid-template-columns:1fr; }
  }

  /* preview compacto de 4 noticias lado a lado (home) */
  .news-preview-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
  .news-preview-grid .nitem p{ display:none; }
  .news-preview-grid .nthumb{ aspect-ratio:4/3; margin-bottom:14px; }
  .news-preview-grid .nitem h3{ font-size:15.5px; }
  @media (max-width:960px){
    .news-preview-grid{ grid-template-columns:repeat(2,1fr); }
  }
  @media (max-width:560px){
    .news-preview-grid{ grid-template-columns:1fr; }
  }

  /* ---------- servicos (slider) ---------- */
  .slider-wrap{ position:relative; }
  .servicos-grid{
    display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:4px;
  }
  .servicos-grid::-webkit-scrollbar{ display:none; }
  .servico{
    background:var(--graf); border:1px solid var(--line); border-radius:14px; padding:32px 28px;
    flex:0 0 auto; width:min(300px, 80vw); scroll-snap-align:start;
  }
  .servicos-grid.reveal .servico{ opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease; }
  .servicos-grid.reveal.in .servico{ opacity:1; transform:none; }
  .servicos-grid .servico:nth-child(1){ transition-delay:.05s; }
  .servicos-grid .servico:nth-child(2){ transition-delay:.12s; }
  .servicos-grid .servico:nth-child(3){ transition-delay:.19s; }
  .servicos-grid .servico:nth-child(4){ transition-delay:.26s; }
  .servicos-grid .servico:nth-child(5){ transition-delay:.33s; }
  .servicos-grid .servico:nth-child(6){ transition-delay:.4s; }
  .servico .num{ font-family:'Space Mono',monospace; font-size:12px; color:var(--dim2); }
  .servico h3{ font-family:'Space Grotesk',sans-serif; font-size:21px; font-weight:600; margin:18px 0 12px; }
  .servico p{ color:var(--dim); font-size:14.5px; line-height:1.6; }
  .slider-arrow{
    position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; border-radius:50%;
    background:var(--black); border:1px solid var(--line); color:var(--ink); cursor:pointer;
    display:flex; align-items:center; justify-content:center; transition:border-color .15s, color .15s;
    flex-shrink:0; padding:0;
  }
  .slider-arrow svg{ width:18px; height:18px; flex-shrink:0; }
  .slider-arrow:hover{ border-color:var(--lime); color:var(--lime); }
  .slider-arrow.prev{ left:-20px; }
  .slider-arrow.next{ right:-20px; }
  @media (max-width:860px){
    .slider-arrow{ display:none; }
  }

  /* ---------- metodo (radial) ---------- */
  #metodo{ background:var(--graf); }
  .metodo-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
  .radial{ position:relative; width:100%; aspect-ratio:1/1; max-width:480px; margin:0 auto; }
  .radial svg{ width:100%; height:100%; }
  .fases-list{ display:flex; flex-direction:column; }
  .fase{ display:flex; gap:20px; padding:22px 0; border-top:1px solid var(--line); cursor:default; transition:background .2s ease, padding-left .2s ease; }
  .fase.active{ background:rgba(170,229,0,.05); padding-left:14px; }
  .fase.active h4{ color:var(--lime); }
  .fase:last-child{ border-bottom:1px solid var(--line); }
  .metodo-wrap.reveal .fase{ opacity:0; transform:translateX(18px); transition:opacity .55s ease, transform .55s ease; }
  .metodo-wrap.reveal.in .fase{ opacity:1; transform:none; }
  .fases-list .fase:nth-child(1){ transition-delay:.05s; }
  .fases-list .fase:nth-child(2){ transition-delay:.12s; }
  .fases-list .fase:nth-child(3){ transition-delay:.19s; }
  .fases-list .fase:nth-child(4){ transition-delay:.26s; }
  .fases-list .fase:nth-child(5){ transition-delay:.33s; }
  .fases-list .fase:nth-child(6){ transition-delay:.4s; }
  .fase .num{ font-family:'Space Mono',monospace; color:var(--lime); font-size:13px; padding-top:3px; flex:none; width:28px; }
  .fase h4{ font-family:'Space Grotesk',sans-serif; font-size:18px; font-weight:600; }
  .fase .tag{ font-family:'Space Mono',monospace; font-size:11px; color:var(--dim2); text-transform:uppercase; letter-spacing:.06em; margin:4px 0 6px; }
  .fase p{ color:var(--dim); font-size:14px; }

  /* ---------- trabalho: grade de cases ---------- */
  .cases-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px 48px; }
  .case-card{ text-decoration:none; color:inherit; display:block; group:case; }
  .case-thumb{
    width:100%; aspect-ratio:16/10; border-radius:14px; margin-bottom:18px; position:relative;
    overflow:hidden; transition:transform .3s ease;
  }
  .case-card:hover .case-thumb{ transform:translateY(-4px); }
  .case-thumb-view{
    position:absolute; right:16px; bottom:16px; display:flex; align-items:center; gap:8px;
    background:rgba(10,10,10,.72); backdrop-filter:blur(6px); color:var(--ink);
    font-family:'Space Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.06em;
    padding:8px 14px; border-radius:100px; opacity:0; transform:translateY(6px);
    transition:opacity .2s ease, transform .2s ease;
  }
  .case-card:hover .case-thumb-view{ opacity:1; transform:none; }
  .case-tag{
    display:inline-block; background:var(--graf2); color:var(--dim); font-size:11px;
    padding:4px 10px; border-radius:100px; margin-right:10px; letter-spacing:.04em;
  }
  .case-year{ font-family:'Space Mono',monospace; font-size:12px; color:var(--dim2); }
  .case-card h3{ font-family:'Space Grotesk',sans-serif; font-size:19px; font-weight:600; margin:14px 0 6px; transition:color .15s; }
  .case-card:hover h3{ color:var(--lime); }
  .case-card p{ font-size:14px; color:var(--dim); line-height:1.55; }
  @media (max-width:860px){
    .cases-grid{ grid-template-columns:1fr; }
  }

  /* ---------- sobre: modelo de operacao ---------- */
  .operating-model{ margin-top:56px; padding-top:56px; border-top:1px solid var(--line); max-width:640px; }
  .operating-model h3{ font-family:'Space Grotesk',sans-serif; font-size:clamp(22px,2.8vw,28px); font-weight:600; margin:14px 0 18px; }
  .operating-model p{ color:var(--dim); font-size:16px; line-height:1.7; margin-bottom:16px; }

  /* ---------- trabalho: prova social ---------- */
  .proof-section{ margin-top:96px; padding-top:80px; border-top:1px solid var(--line); }
  .proof-section h3{ font-family:'Space Grotesk',sans-serif; font-size:clamp(24px,3vw,32px); font-weight:600; margin:14px 0 18px; max-width:640px; }
  .proof-lead{ color:var(--dim); font-size:16px; max-width:560px; margin-bottom:44px; }
  .client-strip{ display:flex; flex-wrap:wrap; gap:16px; margin-bottom:56px; }
  .client-slot{
    flex:1 1 160px; height:72px; border:1px dashed var(--line); border-radius:10px;
    display:flex; align-items:center; justify-content:center; color:var(--dim2); font-size:11px;
  }
  .testimonial-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  .testimonial-card{ border:1px solid var(--line); border-radius:14px; padding:28px 26px; }
  .testimonial-card p{ color:var(--dim); font-size:15px; line-height:1.6; font-style:italic; margin-bottom:22px; }
  .testimonial-who strong{ display:block; font-family:'Space Grotesk',sans-serif; font-size:14.5px; font-weight:600; }
  .testimonial-who span{ font-size:12.5px; color:var(--dim2); }
  @media (max-width:860px){
    .testimonial-grid{ grid-template-columns:1fr; }
  }

  /* ---------- case (página individual) ---------- */
  .case-hero{
    margin-top:76px; height:52vh; min-height:340px; max-height:520px; position:relative;
    display:flex; align-items:flex-end; overflow:hidden;
  }
  .case-hero-inner{ position:relative; z-index:2; width:100%; padding-bottom:48px; }
  .case-breadcrumb{ font-size:12.5px; color:rgba(242,242,236,.7); text-decoration:none; display:inline-flex; align-items:center; gap:8px; margin-bottom:22px; }
  .case-breadcrumb:hover{ color:var(--lime); }
  .case-hero h1{ font-size:clamp(32px,4.6vw,58px); max-width:760px; }
  .case-meta{ display:flex; flex-wrap:wrap; gap:36px; margin:56px 0 0; }
  .case-meta div{ min-width:120px; }
  .case-meta span{ display:block; font-size:11.5px; color:var(--dim2); text-transform:uppercase; letter-spacing:.08em; font-family:'Space Mono',monospace; margin-bottom:6px; }
  .case-meta strong{ font-family:'Space Grotesk',sans-serif; font-size:16px; font-weight:600; }
  .case-body{ max-width:720px; }
  .case-body h2{ font-family:'Space Grotesk',sans-serif; font-size:clamp(24px,3vw,32px); font-weight:600; margin-bottom:20px; }
  .case-body p{ color:var(--dim); font-size:16.5px; line-height:1.75; margin-bottom:18px; }
  .case-gallery{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:24px; }
  .case-gallery-tile{ aspect-ratio:4/3; border-radius:14px; }
  .case-gallery-tile.wide{ grid-column:1 / -1; aspect-ratio:16/8; }
  .case-nav{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; padding-top:56px; margin-top:56px; border-top:1px solid var(--line); }
  .case-nav a{ text-decoration:none; color:var(--dim); font-size:14px; display:inline-flex; align-items:center; gap:8px; transition:color .15s; }
  .case-nav a:hover{ color:var(--lime); }
  @media (max-width:860px){
    .case-gallery{ grid-template-columns:1fr; }
    .case-gallery-tile.wide{ aspect-ratio:4/3; }
  }

  /* ---------- metodo: na pratica ---------- */
  .pratica{ margin-top:96px; padding-top:80px; border-top:1px solid var(--line); }
  .pratica h3{ font-family:'Space Grotesk',sans-serif; font-size:clamp(24px,3vw,32px); font-weight:600; margin:14px 0 18px; max-width:640px; }
  .pratica-lead{ color:var(--dim); font-size:16px; max-width:560px; margin-bottom:44px; }
  .pratica-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px 40px; }
  .pratica-step{ display:flex; gap:16px; }
  .pratica-step .num{ font-family:'Space Mono',monospace; color:var(--lime); font-size:13px; padding-top:3px; flex:none; width:24px; }
  .pratica-step h4{ font-family:'Space Grotesk',sans-serif; font-size:16px; font-weight:600; margin-bottom:6px; }
  .pratica-step p{ color:var(--dim); font-size:13.5px; line-height:1.55; }
  @media (max-width:860px){
    .pratica-steps{ grid-template-columns:1fr; }
  }

  /* ---------- provas / placeholder cases ---------- */
  .cases-note{
    border:1px dashed var(--line); border-radius:16px; padding:48px 40px; text-align:center;
    color:var(--dim2); font-size:14.5px;
  }
  .cases-note strong{ color:var(--dim); display:block; margin-bottom:8px; font-family:'Space Grotesk',sans-serif; font-size:18px; font-weight:600; }

  /* ---------- contato ---------- */
  #contato{ text-align:center; }
  #contato h2{ font-family:'Space Grotesk',sans-serif; font-size:clamp(30px,5vw,54px); font-weight:600; max-width:720px; margin:0 auto 24px; line-height:1.15; }
  #contato p{ color:var(--dim); max-width:460px; margin:0 auto 40px; font-size:16.5px; }

  footer{ border-top:1px solid var(--line); padding:56px 0 40px; }
  .foot-row{ display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:32px; }
  .foot-brand{ display:flex; align-items:center; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:18px; margin-bottom:14px; }
  .foot-brand .ast{ color:var(--lime); display:inline-flex; align-items:center; margin:0 1px; }
  .foot-brand .ast svg{ width:.78em; height:.78em; }
  .foot-col p, .foot-col a{ color:var(--dim2); font-size:13.5px; text-decoration:none; display:block; margin-bottom:8px; }
  .foot-col a:hover{ color:var(--lime); }
  .foot-col h5{ font-family:'Space Mono',monospace; font-size:11px; color:var(--dim2); text-transform:uppercase; letter-spacing:.08em; margin-bottom:14px; }
  .foot-bottom{ margin-top:48px; padding-top:24px; border-top:1px solid var(--line); font-size:12px; color:var(--dim2); font-family:'Space Mono',monospace; }

  .lang-switch{ display:flex; align-items:center; gap:2px; font-family:'Space Mono',monospace; font-size:11.5px; }
  .lang-switch a{ color:var(--dim2); text-decoration:none; padding:4px 7px; border-radius:6px; transition:color .15s, background .15s; }
  .lang-switch a:hover{ color:var(--ink); }
  .lang-switch a.active{ color:var(--lime); background:rgba(170,229,0,.08); }
  .lang-switch-mobile{ display:flex; gap:10px; margin-top:8px; font-family:'Space Mono',monospace; font-size:12px; }
  .lang-switch-mobile a{ color:var(--dim2); text-decoration:none; }
  .lang-switch-mobile a.active{ color:var(--lime); }

  /* ---------- servico modal ---------- */
  .servico{ cursor:pointer; transition:border-color .15s, transform .2s ease; }
  .servico:hover{ border-color:var(--lime); transform:translateY(-2px); }
  .servico-modal-overlay{
    position:fixed; inset:0; z-index:200; background:rgba(10,10,10,.86); backdrop-filter:blur(6px);
    display:flex; align-items:center; justify-content:center; padding:24px;
    opacity:0; pointer-events:none; transition:opacity .2s ease;
  }
  .servico-modal-overlay.open{ opacity:1; pointer-events:auto; }
  .servico-modal{
    background:var(--graf); border:1px solid var(--line); border-radius:18px; max-width:560px; width:100%;
    max-height:86vh; overflow-y:auto; position:relative; transform:translateY(16px); transition:transform .25s ease;
  }
  .servico-modal-overlay.open .servico-modal{ transform:translateY(0); }
  .servico-modal-img{ width:100%; aspect-ratio:16/9; border-radius:18px 18px 0 0; }
  .servico-modal-body{ padding:32px 36px 36px; }
  .servico-modal-body h3{ font-family:'Space Grotesk',sans-serif; font-size:24px; font-weight:600; margin-bottom:16px; }
  .servico-modal-body p{ color:var(--dim); font-size:15.5px; line-height:1.7; }
  .servico-modal-close{
    position:absolute; top:16px; right:16px; width:36px; height:36px; border-radius:50%;
    background:rgba(10,10,10,.6); border:1px solid var(--line); color:var(--ink); cursor:pointer;
    display:flex; align-items:center; justify-content:center; font-size:16px; z-index:2;
  }
  .servico-modal-close:hover{ border-color:var(--lime); color:var(--lime); }

  /* ---------- monta assist (chat) ---------- */
  .monta-chat-toggle{
    position:fixed; right:24px; bottom:24px; z-index:80; width:56px; height:56px; border-radius:50%;
    background:var(--lime); color:var(--black); border:none; cursor:pointer;
    display:flex; align-items:center; justify-content:center; box-shadow:0 12px 30px rgba(0,0,0,.4);
    transition:transform .15s ease;
  }
  .monta-chat-toggle:hover{ transform:scale(1.05); }
  .monta-chat-toggle svg{ width:24px; height:24px; }
  .monta-chat-toggle.open{ background:var(--graf2); color:var(--ink); }
  .monta-chat-panel{
    position:fixed; right:24px; bottom:92px; z-index:80; width:340px; max-width:calc(100vw - 48px);
    height:460px; max-height:calc(100vh - 140px); background:var(--black); border:1px solid var(--line);
    border-radius:16px; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 20px 50px rgba(0,0,0,.5);
  }
  .monta-chat-panel[hidden]{ display:none; }
  .monta-chat-head{
    display:flex; align-items:center; justify-content:space-between; padding:16px 18px;
    border-bottom:1px solid var(--line);
  }
  .monta-chat-head strong{ font-family:'Space Grotesk',sans-serif; font-size:14.5px; display:block; }
  .monta-chat-head span{ font-size:11.5px; color:var(--dim2); }
  .monta-chat-close{ background:none; border:none; color:var(--dim); cursor:pointer; font-size:16px; }
  .monta-chat-close:hover{ color:var(--lime); }
  .monta-chat-body{ flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:10px; }
  .monta-bubble{ max-width:88%; padding:10px 14px; border-radius:12px; font-size:13.5px; line-height:1.5; }
  .monta-bubble.bot{ background:var(--graf2); color:var(--ink); align-self:flex-start; border-bottom-left-radius:2px; }
  .monta-bubble.user{ background:var(--lime); color:var(--black); align-self:flex-end; border-bottom-right-radius:2px; }
  .monta-options{ display:flex; flex-direction:column; gap:8px; }
  .monta-option{
    background:none; border:1px solid var(--line); color:var(--ink); text-align:left; padding:10px 14px;
    border-radius:10px; font-size:13.5px; cursor:pointer; transition:border-color .15s, color .15s;
  }
  .monta-option:hover{ border-color:var(--lime); color:var(--lime); }
  .monta-cta{
    display:inline-flex; align-self:flex-start; background:var(--lime); color:var(--black); text-decoration:none;
    font-size:13.5px; font-weight:600; padding:10px 16px; border-radius:10px;
  }
  @media (max-width:480px){
    .monta-chat-panel{ right:16px; left:16px; width:auto; bottom:88px; }
    .monta-chat-toggle{ right:16px; bottom:16px; }
  }

  @media (max-width:860px){
    .navlinks{ display:none; }
    .mobile-actions{ display:flex; }
    .navtoggle{ display:block; }
    .hero-ast{ width:180px; height:180px; right:-30px; opacity:.5; }
    .metodo-wrap{ grid-template-columns:1fr; }
    section{ padding:80px 0; }
  }
