:root{
    --bg:#050507;
    --bg-2:#0A0A0E;
    --glass:rgba(255,255,255,.045);
    --glass-strong:rgba(255,255,255,.075);
    --glass-border:rgba(255,255,255,.10);
    --glass-border-soft:rgba(255,255,255,.06);
    --teal:#4CE8A0;
    --teal-glow:rgba(76,232,160,.28);
    --text:#F4F6F9;
    --text-dim:#98A1B3;
    --text-faint:#5B6377;
    --r-lg:28px;
    --r-md:20px;
    --r-sm:13px;
    --r-pill:100px;
    --shadow:0 24px 70px -24px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.035);
    --ease:cubic-bezier(.16,1,.3,1);
    --maxw:1180px;
    font-family:'Space Grotesk',sans-serif;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--text);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  body::before{
    content:'';
    position:fixed; inset:0; z-index:0; pointer-events:none;
    opacity:.5; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/></svg>");
  }
  body::after{
    content:'';
    position:fixed; top:-30%; right:-25%; width:110%; height:70%; z-index:0; pointer-events:none;
    background:linear-gradient(122deg, transparent 42%, rgba(76,232,160,.07) 50%, transparent 58%);
    transform:rotate(-6deg);
  }
  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}
  button{font-family:inherit;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px; position:relative; z-index:1;}
  @media (max-width:600px){.wrap{padding:0 20px;}}

  /* ---------- glow blobs ---------- */
  .glow{position:absolute; border-radius:50%; filter:blur(90px); pointer-events:none; z-index:0;}
  .glow--teal{background:radial-gradient(circle, var(--teal-glow), transparent 70%);}

  /* ---------- glass ---------- */
  .glass{
    position:relative; overflow:hidden;
    background:var(--glass);
    backdrop-filter:blur(26px) saturate(160%);
    -webkit-backdrop-filter:blur(26px) saturate(160%);
    border:1px solid var(--glass-border);
    border-radius:var(--r-lg);
    box-shadow:var(--shadow);
  }
  .glass::before{
    content:'';
    position:absolute; inset:0; pointer-events:none; z-index:0;
    background:linear-gradient(125deg, transparent 35%, rgba(255,255,255,.05) 48%, transparent 62%);
  }

  /* ---------- reveal on scroll ---------- */
  .reveal{
    opacity:0; transform:translateY(26px) scale(.985);
    transition:opacity .8s var(--ease), transform .8s var(--ease);
    transition-delay:var(--stagger, 0s);
  }
  .reveal.in-view{opacity:1; transform:translateY(0) scale(1);}
  .reveal h2{clip-path:inset(0 100% 0 0); transition:clip-path 1s .08s var(--ease);}
  .reveal.in-view h2{clip-path:inset(0 0 0 0);}

  .reveal-left{opacity:0; transform:translateX(-38px); transition:opacity .85s var(--ease), transform .85s var(--ease); transition-delay:var(--stagger,0s);}
  .reveal-left.in-view{opacity:1; transform:translateX(0);}
  .reveal-right{opacity:0; transform:translateX(38px); transition:opacity .85s var(--ease), transform .85s var(--ease); transition-delay:var(--stagger,0s);}
  .reveal-right.in-view{opacity:1; transform:translateX(0);}

  @media (prefers-reduced-motion:reduce){
    *{transition:none !important; animation:none !important;}
    .reveal, .reveal-left, .reveal-right{opacity:1; transform:none; clip-path:none;}
  }

  /* ---------- buttons ---------- */
  .btn{
    display:inline-flex; align-items:center; gap:8px; justify-content:center;
    font-weight:600; font-size:14.5px; padding:14px 26px; border-radius:var(--r-pill);
    border:1px solid transparent; cursor:pointer; white-space:nowrap;
    transition:transform .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{background:linear-gradient(135deg, #8CFFCE, #34D999); color:#06180F;}
  .btn-primary:hover{background:linear-gradient(135deg, #9CFFD8, #3EE8AC); box-shadow:0 12px 34px -8px rgba(76,232,160,.45);}
  .btn-glass{background:var(--glass-strong); border-color:var(--glass-border); color:var(--text); backdrop-filter:blur(20px);}
  .btn-glass:hover{border-color:rgba(255,255,255,.28);}
  .btn-sm{padding:10px 18px; font-size:13px;}
  .btn svg{width:16px; height:16px;}

  /* ---------- nav ---------- */
  .nav{position:sticky; top:0; z-index:50; transition:background .3s ease, border-color .3s ease, backdrop-filter .3s ease;
       border-bottom:1px solid transparent;}
  .nav.is-scrolled{background:rgba(5,5,7,.65); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border-color:var(--glass-border-soft);}
  .nav-inner{display:flex; align-items:center; justify-content:space-between; padding:20px 32px; max-width:var(--maxw); margin:0 auto; transition:padding .35s var(--ease);}
  .nav.is-scrolled .nav-inner{padding:13px 32px;}
  .logo__img{transition:transform .35s var(--ease);}
  .nav.is-scrolled .logo__img{transform:scale(.92);}
  .logo{display:flex; align-items:center; gap:9px;}
  .logo__img{height:26px; width:auto; display:block;}
  .nav-links{display:flex; align-items:center; gap:34px;}
  .nav-links a{font-size:14.5px; color:var(--text-dim); font-weight:500; transition:color .25s;}
  .nav-links a:hover{color:var(--text);}
  .nav-links a.is-active{color:var(--text);}
  .nav-vip{
    display:inline-flex; align-items:center; gap:6px;
    color:var(--teal) !important; font-weight:600;
    padding:7px 14px; border-radius:var(--r-pill);
    border:1px solid rgba(76,232,160,.35); background:rgba(76,232,160,.07);
    transition:background .25s, border-color .25s, transform .25s;
  }
  .nav-vip span{transition:transform .25s;}
  .nav-vip:hover{background:rgba(76,232,160,.14); border-color:rgba(76,232,160,.55); transform:translateY(-1px);}
  .nav-vip:hover span{transform:translate(2px,-2px);}
  @media (max-width:860px){
    .nav-vip{background:none; border:none; padding:16px 32px !important; border-radius:0;}
  }
  .nav-actions{display:flex; align-items:center; gap:16px;}
  .nav-toggle{display:none; flex-direction:column; justify-content:center; gap:5px; width:36px; height:36px; background:none; border:none; cursor:pointer;}
  .nav-toggle span{display:block; width:20px; height:1.5px; background:var(--text); margin:0 auto; transition:transform .3s, opacity .3s;}
  body.nav-open .nav-toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  body.nav-open .nav-toggle span:nth-child(2){opacity:0;}
  body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

  @media (max-width:860px){
    .nav-links{
      position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:flex-start; gap:0;
      background:rgba(6,7,10,.92); backdrop-filter:blur(20px); border-bottom:1px solid var(--glass-border-soft);
      max-height:0; overflow:hidden; transition:max-height .35s var(--ease);
    }
    body.nav-open .nav-links{max-height:320px;}
    .nav-links a{width:100%; padding:16px 32px; border-bottom:1px solid var(--glass-border-soft); display:block;}
    .nav-actions .btn-primary{display:none;}
    .nav-toggle{display:flex;}
  }

  /* ---------- pages ---------- */
  .page{display:none;}
  .page.is-active{display:block; opacity:1; transition:opacity .3s ease;}
  .page.fade-out{opacity:0;}
  section{position:relative; z-index:1;}
  .section-pad{padding:96px 0;}
  @media (max-width:700px){.section-pad{padding:64px 0;}}
  .divider-top{border-top:1px solid var(--glass-border-soft);}

  h1{font-size:clamp(34px,5.6vw,58px); font-weight:600; line-height:1.08; letter-spacing:-.02em;}
  h2{font-size:clamp(26px,3.4vw,38px); font-weight:600; line-height:1.16; letter-spacing:-.015em;}
  h3{font-size:18px; font-weight:600;}
  .muted{color:var(--text-dim); font-weight:500;}
  .lead{color:var(--text-dim); font-size:17px; max-width:600px;}
  .center{text-align:center; margin-left:auto; margin-right:auto;}

  /* ---------- hero ---------- */
  .hero{padding:110px 0 70px; position:relative;}
  .hero .glow--teal{width:640px; height:420px; top:-160px; left:50%; transform:translateX(-50%);}
  .hero-grid{display:block; text-align:center; position:relative; z-index:1;}
  .hero-text{max-width:720px; margin:0 auto;}
  .hero-text .lead{margin:20px auto 0;}
  .hero-ctas{display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; justify-content:center;}
  .hero-subctas{display:flex; gap:10px; margin-top:22px; flex-wrap:wrap; font-size:13.5px; color:var(--text-faint); justify-content:center;}
  .hero-subctas a{color:var(--text-dim); transition:color .2s;}
  .hero-subctas a:hover{color:var(--teal);}
  .hero-subctas__sep{opacity:.5;}
  .hero-media{display:flex; justify-content:center;}
  @media (max-width:900px){.hero-media{margin-top:44px;}}
  .hero-media__img{
    width:100%; max-width:420px; aspect-ratio:4/5; object-fit:cover;
    border-radius:var(--r-lg); border:1px solid var(--glass-border); box-shadow:var(--shadow);
  }

  /* ---------- marquee ticker (loop infinito real) ---------- */
  .marquee{
    overflow:hidden; white-space:nowrap; padding:15px 0;
    border-bottom:1px solid var(--glass-border-soft); position:relative; z-index:1;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  }
  .marquee__track{display:flex; width:max-content; animation:marqueeLoop 28s linear infinite; will-change:transform;}
  .marquee__group{display:flex; align-items:center; flex-shrink:0;}
  .marquee__group span{
    font-size:13px; letter-spacing:.14em; text-transform:uppercase; font-weight:600;
    color:var(--text-faint); padding:0 18px; display:inline-block;
  }
  .marquee__group span b{color:var(--teal); font-weight:600;}
  .marquee__dot{color:var(--teal) !important; opacity:.5; padding:0 !important;}
  @keyframes marqueeLoop{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
  @media (prefers-reduced-motion:reduce){.marquee__track{animation:none;}}

  /* ---------- stat cards ---------- */
  .stat-cards{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:64px;}
  @media (max-width:900px){.stat-cards{grid-template-columns:1fr 1fr;}}
  @media (max-width:520px){.stat-cards{grid-template-columns:1fr;}}
  .stat-card{padding:24px; text-align:left;}
  .stat-card__icon{width:34px; height:34px; border-radius:10px; background:rgba(76,232,160,.09); border:1px solid rgba(76,232,160,.18); display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
  .stat-card__icon svg{width:16px; height:16px; stroke:var(--teal); fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
  .stat-card__num{font-size:22px; font-weight:600;}
  .stat-card__txt{font-size:12.5px; color:var(--text-dim); margin-top:8px; line-height:1.5;}

  /* ---------- orbit diagram ---------- */
  .orbit-wrap{position:relative; display:flex; justify-content:center; padding:20px 0;}
  .orbit-svg{width:100%; max-width:640px; height:auto; overflow:visible;}
  .orbit-ring{fill:none; stroke:rgba(255,255,255,.055); stroke-width:1;}
  .orbit-line{stroke:rgba(255,255,255,.14); stroke-width:1.2;}
  .orbit-line--partner{stroke:rgba(255,255,255,.09); stroke-width:1.2; stroke-dasharray:3 5;}
  .orbit-center-circle{fill:#081616; stroke:rgba(45,212,191,.45); stroke-width:1.3;}
  .orbit-node-circle{fill:#0B0D12; stroke:var(--glass-border); stroke-width:1.2;}
  .orbit-node-circle--partner{fill:#0B0D12; stroke:rgba(255,255,255,.14); stroke-width:1.2; stroke-dasharray:3 4;}
  .orbit-icon{stroke:var(--text); stroke-width:1.4; fill:none; stroke-linecap:round; stroke-linejoin:round;}
  .orbit-label{fill:var(--text); font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:12.5px;}
  .orbit-label-sub{fill:var(--text-faint); font-family:'Space Grotesk',sans-serif; font-size:9.5px; letter-spacing:.03em;}
  .orbit-mark path{stroke:var(--teal); stroke-width:2.2;}
  /* ---------- orbit animation ---------- */
  @keyframes orbitSpin{to{transform:rotate(360deg);}}
  @keyframes orbitPulse{0%{transform:scale(1); opacity:.55;} 100%{transform:scale(1.9); opacity:0;}}
  .orbit-spin{transform-origin:320px 320px; animation:orbitSpin 70s linear infinite;}
  .orbit-node{animation:orbitSpin 70s linear infinite reverse;}
  .orbit-node-circle, .orbit-node-circle--partner{transform-box:fill-box; transform-origin:center; transition:transform .45s var(--ease), stroke .45s var(--ease), fill .45s var(--ease);}
  .orbit-node{cursor:default;}
  .orbit-node:hover .orbit-node-circle, .orbit-node:hover .orbit-node-circle--partner{transform:scale(1.12); stroke:rgba(76,232,160,.65); fill:#0d1714;}
  .orbit-node .orbit-icon{transition:stroke .45s var(--ease);}
  .orbit-node:hover .orbit-icon{stroke:var(--teal);}
  .orbit-wrap:hover .orbit-spin, .orbit-wrap:hover .orbit-node{animation-play-state:paused;}
  .orbit-ring--dash{stroke:rgba(255,255,255,.07); stroke-dasharray:2 9; transform-origin:320px 320px; animation:orbitSpin 110s linear infinite reverse;}
  .orbit-comet{fill:none; stroke:var(--teal); stroke-width:1.6; stroke-linecap:round; stroke-dasharray:110 1272; opacity:.75; transform-origin:320px 320px; animation:orbitSpin 14s linear infinite; filter:drop-shadow(0 0 6px rgba(76,232,160,.7));}
  .orbit-comet--b{stroke-width:1.2; stroke-dasharray:60 883; opacity:.45; animation-duration:20s; animation-direction:reverse;}
  .orbit-dot{fill:var(--teal); filter:drop-shadow(0 0 4px rgba(76,232,160,.9));}
  .orbit-pulse{fill:none; stroke:rgba(76,232,160,.5); stroke-width:1.2; transform-box:fill-box; transform-origin:center; animation:orbitPulse 3.6s var(--ease) infinite;}
  .orbit-pulse--b{animation-delay:1.8s;}
  @media (prefers-reduced-motion:reduce){
    .orbit-spin, .orbit-node, .orbit-ring--dash, .orbit-comet, .orbit-pulse{animation:none;}
    .orbit-dot, .orbit-pulse, .orbit-comet{display:none;}
  }


  /* ---------- grids ---------- */
  .grid-5{display:grid; grid-template-columns:repeat(5,1fr); gap:14px;}
  @media (max-width:980px){.grid-5{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.grid-5{grid-template-columns:1fr;}}

  .card{
    padding:26px; display:flex; flex-direction:column; gap:12px;
    transition:transform .35s var(--ease), border-color .35s var(--ease);
  }
  .card:hover{transform:translateY(-5px); border-color:rgba(255,255,255,.18);}
  .card--partner{border-style:dashed; opacity:.9;}
  .card-icon{width:38px; height:38px; border-radius:11px; background:rgba(76,232,160,.09); border:1px solid rgba(76,232,160,.18); display:flex; align-items:center; justify-content:center;}
  .card-icon svg{width:18px; height:18px; stroke:var(--teal); fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
  .card p{color:var(--text-dim); font-size:14px; flex-grow:1;}
  .pill-tag{font-size:11.5px; color:var(--text-faint); border:1px solid var(--glass-border); border-radius:var(--r-pill); padding:4px 11px; width:fit-content;}

  /* ---------- section head ---------- */
  .section-head{max-width:640px; margin-bottom:48px;}
  .section-head.center{margin-left:auto; margin-right:auto; text-align:center;}

  /* ---------- two column feature ---------- */
  .feature-row{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
  @media (max-width:860px){.feature-row{grid-template-columns:1fr; gap:36px;}}
  .feature-row.reverse .feature-visual{order:2;}
  @media (max-width:860px){.feature-row.reverse .feature-visual{order:0;}}
  .feature-visual{padding:36px; min-height:220px; display:flex; align-items:center; justify-content:center;}
  .feature-visual.map-frame{padding:0; min-height:0; height:360px;}
  @media (max-width:860px){.feature-visual.map-frame{height:280px;}}
  .feature-text .lead{margin-top:14px;}
  .feature-text .btn{margin-top:24px;}
  .timeline-mini{display:flex; flex-direction:column; gap:22px; width:100%;}
  .timeline-mini__row{display:flex; align-items:baseline; gap:16px;}
  .timeline-mini__dot{width:8px; height:8px; border-radius:50%; background:var(--teal); flex-shrink:0; box-shadow:0 0 10px var(--teal-glow);}
  .timeline-mini__year{font-weight:600; font-size:14px; min-width:70px;}
  .timeline-mini__txt{color:var(--text-dim); font-size:13.5px;}

  /* ---------- article grid ---------- */
  .content-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
  @media (max-width:900px){.content-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:600px){.content-grid{grid-template-columns:1fr;}}
  .article-card{padding:22px; display:flex; flex-direction:column; gap:14px;}
  .article-card__img{
    height:120px; border-radius:var(--r-sm);
    background:linear-gradient(135deg, rgba(76,232,160,.13), rgba(255,255,255,.02));
    border:1px solid var(--glass-border-soft);
    display:flex; align-items:center; justify-content:center; overflow:hidden;
  }
  .article-card__img svg{width:78%; height:78%; stroke:var(--teal); fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
  .article-card__cat{font-size:11.5px; color:var(--teal); font-weight:600;}
  .article-card h3{font-size:16px; line-height:1.3;}
  .article-card p{color:var(--text-dim); font-size:13.5px;}
  .article-card__meta{font-size:12px; color:var(--text-faint); display:flex; justify-content:space-between;}

  /* ---------- cta banner ---------- */
  /* ---------- área do cliente (vip) ---------- */
  .vip-banner{
    position:relative; padding:52px 40px; text-align:center; overflow:hidden;
    border-radius:var(--r-lg); background:linear-gradient(160deg, rgba(76,232,160,.09), rgba(255,255,255,.015));
    border:1px solid rgba(76,232,160,.28);
  }
  .vip-banner::before{
    content:''; position:absolute; top:-60%; left:50%; width:140%; height:200%;
    background:radial-gradient(ellipse at center, rgba(76,232,160,.10), transparent 60%);
    transform:translateX(-50%); pointer-events:none;
  }
  .vip-banner__tag{
    position:relative; z-index:1; display:inline-block; font-size:11px; letter-spacing:.14em;
    text-transform:uppercase; color:var(--teal); border:1px solid rgba(76,232,160,.4);
    border-radius:100px; padding:6px 16px; margin-bottom:22px; font-weight:600;
  }
  .vip-banner h2{position:relative; z-index:1; margin-bottom:14px;}
  .vip-banner .lead{position:relative; z-index:1; margin:0 auto 28px;}
  .vip-banner__btn{position:relative; z-index:1;}
  .vip-banner__btn span{display:inline-block; transition:transform .25s var(--ease);}
  .vip-banner__btn:hover span{transform:translateX(4px);}

  .cta-banner{position:relative; padding:64px 40px; text-align:center; overflow:hidden;}
  .cta-banner .glow--teal{width:520px; height:340px; top:-140px; left:50%; transform:translateX(-50%);}
  .cta-banner h2{position:relative; z-index:1;}
  .cta-banner p{position:relative; z-index:1; margin-top:14px;}
  .cta-banner .btn{position:relative; z-index:1; margin-top:28px;}

  /* ---------- pillars ---------- */
  .pillars{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  @media (max-width:700px){.pillars{grid-template-columns:1fr;}}
  .pillar-card{padding:30px;}
  .pillar-card h3{margin-top:14px;}
  .pillar-card p{color:var(--text-dim); font-size:14.5px; margin-top:10px;}

  /* ---------- accordion list ---------- */
  .accordion{padding:8px 0;}
  .accordion-row{border-bottom:1px solid var(--glass-border-soft);}
  .accordion-row:last-child{border-bottom:none;}
  .accordion-head{
    display:flex; align-items:center; gap:16px; padding:24px 28px; cursor:pointer;
  }
  .accordion-head__icon{width:38px; height:38px; border-radius:11px; background:rgba(76,232,160,.09); border:1px solid rgba(76,232,160,.18); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .accordion-head__icon svg{width:18px; height:18px; stroke:var(--teal); fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
  .accordion-head h3{flex-grow:1;}
  .chevron{width:18px; height:18px; stroke:var(--text-dim); fill:none; stroke-width:1.6; transition:transform .3s var(--ease);}
  .accordion-row.is-open .chevron{transform:rotate(180deg);}
  .accordion-body{max-height:0; overflow:hidden; transition:max-height .35s var(--ease);}
  .accordion-row.is-open .accordion-body{max-height:280px;}
  .accordion-body-inner{padding:0 28px 26px 82px;}
  .accordion-body p{color:var(--text-dim); font-size:14px; max-width:560px;}
  .chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px;}
  .chip{font-size:12px; color:var(--text); background:var(--glass-strong); border:1px solid var(--glass-border); border-radius:var(--r-pill); padding:6px 13px;}

  .partner-panel{padding:28px; margin-top:20px; display:flex; align-items:flex-start; gap:18px;}
  .partner-panel__icon{width:42px; height:42px; border-radius:12px; background:var(--glass-strong); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .partner-panel__icon svg{width:20px; height:20px; stroke:var(--text-dim); fill:none; stroke-width:1.5;}
  .partner-panel p{color:var(--text-dim); font-size:14px; margin-top:6px; max-width:560px;}

  /* ---------- filter pills ---------- */
  .filters{display:flex; gap:10px; flex-wrap:wrap;}
  .filter-pill{font-size:13px; color:var(--text-dim); background:var(--glass); border:1px solid var(--glass-border); border-radius:var(--r-pill); padding:9px 18px; cursor:pointer; transition:all .25s;}
  .filter-pill.is-active{background:var(--text); color:#0A0B0D; border-color:var(--text);}

  .coming-soon{padding:48px; text-align:center; margin-top:36px;}

  /* ---------- conteúdos: card de coleção ---------- */
  .collection-card{
    display:grid; grid-template-columns:1fr 1.3fr; gap:0; margin-top:36px;
    border-radius:var(--r-lg); overflow:hidden; background:var(--glass); backdrop-filter:blur(20px);
    border:1px solid var(--glass-border); transition:transform .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
  }
  .collection-card:hover{transform:translateY(-4px); border-color:rgba(76,232,160,.35); box-shadow:0 24px 54px -24px rgba(76,232,160,.28);}
  @media (max-width:760px){.collection-card{grid-template-columns:1fr;}}
  .collection-card__cover{position:relative; min-height:220px; overflow:hidden;}
  .collection-card__cover img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s var(--ease);}
  .collection-card:hover .collection-card__cover img{transform:scale(1.06);}
  .collection-card__year{
    position:absolute; top:16px; left:16px; background:rgba(5,7,10,.65); backdrop-filter:blur(6px);
    color:var(--teal); font-weight:700; font-size:13px; padding:6px 12px; border-radius:100px;
    border:1px solid rgba(76,232,160,.35);
  }
  .collection-card__body{padding:36px; display:flex; flex-direction:column; justify-content:center;}
  .collection-card__body p{color:var(--text-dim); font-size:14.5px; margin-top:10px;}
  .collection-card__cta{display:inline-flex; align-items:center; gap:6px; margin-top:22px; font-weight:600; color:var(--teal);}
  .collection-card__cta span{display:inline-block; transition:transform .3s var(--ease);}
  .collection-card:hover .collection-card__cta span{transform:translateX(5px);}

  /* ---------- imersão: back link ---------- */
  .back-link{display:inline-block; font-size:13.5px; color:var(--text-dim); transition:color .2s;}
  .back-link:hover{color:var(--teal);}

  /* ---------- imersão: grid de formações ---------- */
  .formation-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:36px;}
  @media (max-width:980px){.formation-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:600px){.formation-grid{grid-template-columns:1fr;}}
  .formation-card{
    border-radius:var(--r-lg); overflow:hidden; background:var(--glass); backdrop-filter:blur(20px);
    border:1px solid var(--glass-border); transition:transform .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
  }
  .formation-card:hover{transform:translateY(-6px); border-color:rgba(76,232,160,.35); box-shadow:0 22px 48px -22px rgba(76,232,160,.26);}
  .formation-card__cover{position:relative; height:170px; overflow:hidden; background:var(--panel-2);}
  .formation-card__cover img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s var(--ease);}
  .formation-card:hover .formation-card__cover img{transform:scale(1.07);}
  .formation-card__cover--placeholder{display:flex; align-items:center; justify-content:center;}
  .formation-card__cover--placeholder svg{width:34px; height:34px; stroke:var(--text-faint); fill:none; stroke-width:1.4; opacity:.5;}
  .formation-card__type{
    position:absolute; top:12px; right:12px; background:rgba(5,7,10,.7); backdrop-filter:blur(6px);
    color:var(--teal); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.04em;
    padding:5px 11px; border-radius:100px; border:1px solid rgba(76,232,160,.3);
  }
  .formation-card--soon .formation-card__type{color:var(--text-faint); border-color:var(--glass-border);}
  .formation-card__body{padding:22px;}
  .formation-card__body h3{font-size:16.5px; line-height:1.3;}
  .formation-card__speaker{color:var(--text-dim); font-size:13.5px; margin-top:6px;}
  .formation-card__view{
    display:inline-flex; align-items:center; gap:6px; margin-top:18px; font-weight:600; font-size:14px;
    color:var(--teal); background:none; border:none; cursor:pointer; padding:0; font-family:inherit;
  }
  .formation-card__view span{display:inline-block; transition:transform .3s var(--ease);}
  .formation-card:hover .formation-card__view span{transform:translateX(5px);}
  .formation-card__view--disabled{color:var(--text-faint); cursor:default;}

  /* ---------- visualizador de apresentação ---------- */
  .modal-panel.deck-viewer{max-width:900px; background:#08090c;}
  .deck-viewer__body{position:relative; background:#000; display:flex; align-items:center; justify-content:center; min-height:220px;}
  .deck-viewer__body img{width:100%; height:auto; display:block;}
  .deck-nav{
    position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; border-radius:50%;
    background:rgba(5,7,10,.6); border:1px solid var(--glass-border); color:var(--text); font-size:20px;
    display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s, border-color .2s;
  }
  .deck-nav:hover{background:rgba(76,232,160,.18); border-color:rgba(76,232,160,.4);}
  .deck-nav--prev{left:14px;}
  .deck-nav--next{right:14px;}
  .deck-viewer__footer{padding:14px 22px; text-align:center; font-size:12.5px; color:var(--text-faint); border-top:1px solid var(--glass-border-soft);}
  .coming-soon__icon{width:52px; height:52px; border-radius:50%; background:var(--glass-strong); display:flex; align-items:center; justify-content:center; margin:0 auto 20px;}
  .coming-soon__icon svg{width:24px; height:24px; stroke:var(--teal); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;}
  .coming-soon p{color:var(--text-dim); font-size:14.5px; max-width:480px; margin:10px auto 0;}

  .newsletter{padding:36px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
  .newsletter p{color:var(--text-dim); font-size:14px; margin-top:6px;}

  /* ---------- contact ---------- */
  .contact-grid{display:grid; grid-template-columns:1.25fr 1fr; gap:32px; align-items:start;}
  @media (max-width:860px){.contact-grid{grid-template-columns:1fr;}}
  .form-card{padding:34px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
  @media (max-width:520px){.form-row{grid-template-columns:1fr;}}
  .field{display:flex; flex-direction:column; gap:7px;}
  .field label{font-size:12px; color:var(--text-faint);}
  .field input, .field select, .field textarea{
    background:rgba(255,255,255,.03); border:1px solid var(--glass-border); border-radius:var(--r-sm);
    padding:12px 15px; color:var(--text); font-family:inherit; font-size:14.5px; transition:border-color .25s, background .25s;
  }
  .field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:rgba(45,212,191,.5); background:rgba(255,255,255,.05);}
  .field textarea{resize:vertical; min-height:100px;}
  .field select option{background:#0B0D12;}
  .form-note{font-size:12px; color:var(--text-faint); margin-top:16px;}

  .info-card{padding:26px; margin-bottom:16px;}
  .info-row{display:flex; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--glass-border-soft); font-size:14px;}
  .info-row:last-child{border-bottom:none;}
  .info-row span:first-child{color:var(--text-faint); font-size:12.5px;}
  .info-row a{color:var(--text); font-weight:500;}
  .info-row a:hover{color:var(--teal);}
  .map-placeholder{
    height:150px; border-radius:var(--r-md); border:1px dashed var(--glass-border);
    display:flex; align-items:center; justify-content:center; font-size:12px; color:var(--text-faint);
  }
  .social-row{display:flex; gap:10px; margin-top:16px;}
  .social-btn{
    width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    background:var(--glass); border:1px solid var(--glass-border); transition:border-color .25s, transform .25s;
  }
  .social-btn:hover{transform:translateY(-2px); border-color:rgba(76,232,160,.4);}
  .social-btn svg{width:17px; height:17px; stroke:var(--text-dim); fill:none; stroke-width:1.6; transition:stroke .2s;}
  .social-btn:hover svg{stroke:var(--teal);}

  /* ---------- footer ---------- */
  .footer{padding:70px 0 32px;}
  .footer-cols{display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr 1fr; gap:28px;}
  @media (max-width:1000px){.footer-cols{grid-template-columns:1fr 1fr 1fr;}}
  @media (max-width:640px){.footer-cols{grid-template-columns:1fr 1fr;}}
  .footer-col h4{font-size:12.5px; color:var(--text-faint); font-weight:600; margin-bottom:16px; letter-spacing:.02em;}
  .footer-col ul li{margin-bottom:11px;}
  .footer-col ul li a{font-size:14px; color:var(--text-dim); transition:color .2s;}
  .footer-col ul li a:hover{color:var(--teal);}
  .footer-brand p{color:var(--text-dim); font-size:13.5px; margin-top:14px; max-width:250px;}
  .footer-bottom{
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;
    margin-top:56px; padding-top:26px; border-top:1px solid var(--glass-border-soft);
    font-size:11.5px; line-height:1.6; color:var(--text-faint);
  }
  .footer-bottom span{max-width:640px;}
  .disclosure-box{margin-top:44px; padding:18px 22px;}
  .disclosure-box p{font-size:12.5px; line-height:1.6; color:var(--text-dim); max-width:820px;}

  /* ---------- calculadora simples nacional ---------- */
  .calc-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:24px; margin-top:40px; align-items:start;}
  @media (max-width:860px){.calc-grid{grid-template-columns:1fr;}}
  .calc-result{padding:32px; min-height:300px; display:flex; align-items:center; justify-content:center;}
  .calc-result__body{width:100%;}
  .calc-result__highlight{text-align:center; padding:16px 0 24px; border-bottom:1px solid var(--glass-border-soft); margin-bottom:8px;}
  .calc-result__highlight .num{font-size:32px; font-weight:600; color:var(--teal);}
  .calc-result__highlight .lbl{font-size:12.5px; color:var(--text-faint); margin-top:6px;}
  .calc-result__row{display:flex; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--glass-border-soft); font-size:13.5px;}
  .calc-result__row:last-child{border-bottom:none;}
  .calc-result__row span:first-child{color:var(--text-faint); font-size:12.5px;}
  .calc-result__note{font-size:12.5px; color:var(--teal); margin-top:16px; line-height:1.5;}
  .calc-table-wrap{padding:6px; overflow-x:auto;}
  .calc-table{width:100%; border-collapse:collapse; min-width:540px;}
  .calc-table th, .calc-table td{padding:13px 18px; text-align:left; font-size:13px; border-bottom:1px solid var(--glass-border-soft);}
  .calc-table th{color:var(--text-faint); font-weight:600; font-size:11px; text-transform:uppercase; letter-spacing:.04em;}
  .calc-table td{color:var(--text-dim);}
  .calc-table tr:last-child td{border-bottom:none;}
  .calc-table tr.is-current{background:rgba(76,232,160,.07);}
  .calc-table tr.is-current td{color:var(--text); font-weight:600;}

  .btn:active{transform:translateY(0) scale(.97);}
  a, button, select, input, .accordion-head, .filter-pill, .card, .article-card{-webkit-tap-highlight-color:transparent;}
  :focus-visible{outline:2px solid var(--teal); outline-offset:3px; border-radius:4px;}
  .nav-links a{cursor:pointer;}
  .accordion-head:hover .accordion-head__icon{border-color:rgba(76,232,160,.4);}
  .filter-pill:hover{border-color:rgba(255,255,255,.28); color:var(--text);}

  ::selection{background:var(--teal); color:#04211D;}
  /* ---------- modal (calculadora / cookies) ---------- */
  .modal-overlay{
    position:fixed; inset:0; z-index:200; display:none;
    background:rgba(4,6,10,.6); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
    align-items:center; justify-content:center; padding:20px;
  }
  .modal-overlay.is-open{display:flex;}
  .modal-panel{
    width:100%; max-width:460px; max-height:88vh; overflow-y:auto;
    padding:0; animation:modalIn .3s var(--ease);
  }
  .modal-panel.client-modal{max-width:960px;}
  @keyframes modalIn{ from{opacity:0; transform:translateY(16px) scale(.98);} to{opacity:1; transform:translateY(0) scale(1);} }

  /* ---------- área do cliente: cards de acesso ---------- */
  .client-cards{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  @media (max-width:700px){.client-cards{grid-template-columns:1fr;}}
  .client-card{
    position:relative; display:block; padding:34px 28px; border-radius:var(--r-lg);
    background:var(--glass); backdrop-filter:blur(20px); border:1px solid var(--glass-border); overflow:hidden;
    transition:transform .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
  }
  .client-card::after{
    content:''; position:absolute; inset:0; opacity:0; transition:opacity .4s; pointer-events:none;
    background:radial-gradient(circle at 30% 15%, rgba(76,232,160,.16), transparent 62%);
  }
  .client-card:hover{transform:translateY(-6px) scale(1.015); border-color:rgba(76,232,160,.45); box-shadow:0 26px 54px -22px rgba(76,232,160,.3);}
  .client-card:hover::after{opacity:1;}
  .client-card--primary{background:linear-gradient(160deg, rgba(76,232,160,.11), rgba(255,255,255,.02)); border-color:rgba(76,232,160,.3);}
  .client-card__tag{
    position:absolute; top:22px; right:22px; font-size:10.5px; text-transform:uppercase;
    letter-spacing:.08em; color:var(--teal); border:1px solid rgba(76,232,160,.4);
    border-radius:100px; padding:4px 11px; font-weight:600;
  }
  .client-card__icon{
    position:relative; z-index:1; width:52px; height:52px; border-radius:14px;
    background:rgba(76,232,160,.1); border:1px solid rgba(76,232,160,.25);
    display:flex; align-items:center; justify-content:center; margin-bottom:22px;
    transition:transform .4s var(--ease);
  }
  .client-card__icon svg{width:24px; height:24px; stroke:var(--teal); fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
  .client-card:hover .client-card__icon{transform:scale(1.08) rotate(-4deg);}
  .client-card h3{position:relative; z-index:1; font-size:19px; margin-bottom:10px;}
  .client-card p{position:relative; z-index:1; color:var(--text-dim); font-size:14px; line-height:1.6;}
  .client-card__chips{position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:7px; margin-top:16px;}
  .client-card__cta{
    position:relative; z-index:1; display:inline-flex; align-items:center; gap:6px;
    margin-top:24px; font-weight:600; font-size:14.5px; color:var(--text);
  }
  .client-card--primary .client-card__cta{color:var(--teal);}
  .client-card__cta span{display:inline-block; transition:transform .35s var(--ease);}
  .client-card:hover .client-card__cta span{transform:translateX(5px);}

  .modal-header{
    display:flex; align-items:center; justify-content:space-between;
    padding:22px 24px; border-bottom:1px solid var(--glass-border-soft);
    position:sticky; top:0; background:rgba(10,13,20,.85); backdrop-filter:blur(10px); z-index:1;
  }
  .modal-header h3{font-size:17px;}
  .modal-close{
    width:32px; height:32px; border-radius:50%; background:var(--glass-strong); border:1px solid var(--glass-border);
    display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0; transition:border-color .2s, transform .2s;
  }
  .modal-close:hover{border-color:rgba(255,255,255,.28); transform:rotate(90deg);}
  .modal-close svg{width:14px; height:14px; stroke:var(--text); fill:none; stroke-width:1.8; stroke-linecap:round;}
  .modal-body{padding:22px 24px 26px;}
  .modal-body details summary{list-style:none;}
  .modal-body details summary::-webkit-details-marker{display:none;}

  /* ---------- floating action buttons ---------- */
  .fab-stack{position:fixed; bottom:22px; z-index:120; display:flex; flex-direction:column; gap:12px; transition:bottom .3s var(--ease);}
  .fab-stack--left{left:22px;}
  .fab-stack--right{right:22px;}
  .fab-stack.is-lifted{bottom:118px;}
  @media (max-width:640px){.fab-stack.is-lifted{bottom:190px;}}
  .fab{
    display:inline-flex; align-items:center; gap:9px; padding:14px 20px; border-radius:var(--r-pill);
    border:1px solid var(--glass-border); cursor:pointer; font-weight:600; font-size:14px;
    box-shadow:0 14px 34px -12px rgba(0,0,0,.55); transition:transform .25s var(--ease), box-shadow .25s var(--ease);
  }
  .fab:hover{transform:translateY(-3px); box-shadow:0 18px 40px -12px rgba(0,0,0,.6);}
  .fab:active{transform:translateY(-1px) scale(.98);}
  .fab svg{width:18px; height:18px; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0;}
  .fab-calc{background:var(--glass-strong); backdrop-filter:blur(20px); color:var(--text);}
  .fab-calc svg{stroke:var(--teal);}
  .fab-whats{background:linear-gradient(135deg, #8CFFCE, #34D999); color:#06180F;}
  .fab-whats svg{stroke:#06180F;}
  @media (max-width:640px){
    .fab-stack{bottom:16px;}
    .fab-stack--left{left:16px;}
    .fab-stack--right{right:16px;}
    .fab span{display:none;}
    .fab{padding:14px; border-radius:50%;}
  }

  /* ---------- cookie banner ---------- */
  .cookie-banner{
    position:fixed; left:22px; right:22px; bottom:22px; z-index:150;
    max-width:640px; margin:0 auto; padding:22px 24px; display:none;
    flex-direction:column; gap:16px;
  }
  .cookie-banner.is-visible{display:flex; animation:modalIn .35s var(--ease);}
  .cookie-banner__text strong{font-size:14.5px;}
  .cookie-banner__text p{font-size:13px; color:var(--text-dim); margin-top:6px; line-height:1.5;}
  .cookie-banner__actions{display:flex; gap:10px; flex-wrap:wrap;}
  @media (max-width:640px){
    .cookie-banner{left:12px; right:12px; bottom:12px; padding:18px;}
    .cookie-banner__actions{flex-direction:column;}
    .cookie-banner__actions .btn{width:100%;}
  }

  .cookie-pref-row{display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:16px 0; border-bottom:1px solid var(--glass-border-soft);}
  .cookie-pref-row:last-of-type{border-bottom:none;}
  .cookie-pref-row h4{font-size:14px;}
  .cookie-pref-row p{font-size:12.5px; color:var(--text-dim); margin-top:4px;}
  .switch{position:relative; display:inline-block; width:40px; height:23px; flex-shrink:0;}
  .switch input{opacity:0; width:0; height:0;}
  .switch__track{position:absolute; inset:0; background:var(--glass-strong); border:1px solid var(--glass-border); border-radius:100px; transition:background .25s;}
  .switch__track::before{content:''; position:absolute; width:17px; height:17px; left:2px; top:2px; background:var(--text-dim); border-radius:50%; transition:transform .25s;}
  .switch input:checked + .switch__track{background:rgba(76,232,160,.35); border-color:rgba(76,232,160,.5);}
  .switch input:checked + .switch__track::before{transform:translateX(17px); background:var(--teal);}
  .switch--locked{opacity:.6;}
