/* ==========================================================================
   RAIP — site institucional · identidade do design system (06/10/2026)
   Tokens: tokens/raip-tokens.css do design system (primitivos → semânticos).
   Atmosfera: série escura da biblioteca de degradês (raip-gradiente-11…20),
   sem grão; texto direto só em branco sólido; conteúdo longo em vidro.
   ========================================================================== */

/* ---------- 1. Primitivos ---------- */
:root{
  --raip-color-black:#000;--raip-color-white:#fff;
  --raip-color-cyan:#00FFFF;--raip-color-magenta:#FF00FF;
  --raip-color-gray-900:#181818;--raip-color-gray-700:#636363;--raip-color-gray-600:#6D6D6D;
  --raip-color-gray-500:#808080;--raip-color-gray-400:#9A9A9A;--raip-color-project:#08090D;
  --raip-color-glass:rgba(0,0,0,.62);--raip-color-glass-header:rgba(0,0,0,.64);
  --raip-color-glass-line:rgba(255,255,255,.24);
  --raip-color-line-on-dark:rgba(255,255,255,.30);--raip-color-line-on-light:rgba(0,0,0,.22);
  --raip-color-control-on-dark:rgba(255,255,255,.50);--raip-color-control-on-light:rgba(0,0,0,.50);
  --raip-color-text-liquid:rgba(255,255,255,.76);
  --raip-color-erro:#FF8FA3; /* erro de formulário: rosa claro, legível sobre o vidro escuro (≥ 7:1) */
  --raip-color-field:rgba(0,0,0,.45);
  --raip-color-liquid-zone-line:rgba(255,255,255,.12);
  --raip-color-cyan-55:rgba(0,255,255,.55);
  --raip-color-cookie:rgba(55,55,55,.78);
  --raip-color-shimmer:rgba(255,255,255,.17);
  --raip-gradient-energy:linear-gradient(90deg,#00FFFF,#FF00FF);
  --raip-glow-cyan:radial-gradient(ellipse at 85% 10%,rgba(0,255,255,.30),transparent 65%);
  --raip-glow-magenta:radial-gradient(ellipse at 0% 100%,rgba(255,0,255,.25),transparent 60%);
  --raip-blur-glass:blur(18px) saturate(150%);
  --raip-blur-header:blur(22px) saturate(160%);

  /* Série escura (06/10/2026): variações 14, 16 e 19 da biblioteca. AVIF + WebP. */
  --raip-gradiente-14:image-set(url("../img/gradientes/raip-gradiente-14.avif") type("image/avif"),url("../img/gradientes/raip-gradiente-14.webp") type("image/webp"));
  --raip-gradiente-16:image-set(url("../img/gradientes/raip-gradiente-16.avif") type("image/avif"),url("../img/gradientes/raip-gradiente-16.webp") type("image/webp"));
  --raip-gradiente-19:image-set(url("../img/gradientes/raip-gradiente-19.avif") type("image/avif"),url("../img/gradientes/raip-gradiente-19.webp") type("image/webp"));

  --font-sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-system:system-ui,-apple-system,"Segoe UI",sans-serif;

  --raip-font-h2:clamp(45px,5.6vw,78px);
  --raip-font-h2-liquid:clamp(40px,4.5vw,64px);
  --raip-font-h2-intro:clamp(24px,3vw,39px);
  --raip-font-card-title:clamp(26px,2.6vw,34px);
  --raip-font-step-title:clamp(21px,2vw,27px);
  --raip-font-menu:clamp(39px,7vw,78px);
  --raip-font-body:18px;--raip-font-body-small:16px;--raip-font-ui:14px;--raip-font-eyebrow:12px;

  --raip-space-8:8px;--raip-space-12:12px;--raip-space-16:16px;--raip-space-24:24px;--raip-space-28:28px;
  --raip-space-32:32px;--raip-space-40:40px;--raip-space-46:46px;--raip-space-48:48px;--raip-space-56:56px;
  --raip-space-64:64px;--raip-space-68:68px;--raip-space-96:96px;--raip-space-152:152px;
  --container:min(100% - 96px,1078px);
  --header-height:66px;--header-top:16px;
  --raip-radius-pill:75px;--raip-radius-zone:24px;--raip-radius-card:20px;--raip-radius-glass:16px;--raip-radius-field:8px;

  --raip-ease:cubic-bezier(.19,1,.22,1);
  --raip-duration-long:1.25s;--raip-duration-medium:.8s;--raip-duration-short:.4s;
  --raip-reveal-distance:40px;
  --consent-height:0px;
}

/* ---------- 2. Semânticos: escuro (padrão) / claro ---------- */
:root,[data-tema="escuro"]{
  color-scheme:dark;
  --surface-page:var(--raip-color-black);
  --text-primary:var(--raip-color-white);
  --text-secondary:var(--raip-color-gray-400);
  --border-default:var(--raip-color-line-on-dark);
  --border-control:var(--raip-color-control-on-dark);
  --accent-energy:var(--raip-color-cyan);
  --focus-ring:var(--raip-color-white);--focus-gap:var(--raip-color-black);
  --malha-linha:rgba(255,255,255,.065);--malha-no:rgba(255,255,255,.1);--malha-pulso:rgba(255,255,255,.3);
}
[data-tema="claro"]{
  color-scheme:light;
  --surface-page:var(--raip-color-white);
  --text-primary:var(--raip-color-black);
  --text-secondary:var(--raip-color-gray-600);
  --border-default:var(--raip-color-line-on-light);
  --border-control:var(--raip-color-control-on-light);
  --accent-energy:var(--raip-color-black);
  --focus-ring:var(--raip-color-black);--focus-gap:var(--raip-color-white);
  --malha-linha:rgba(0,0,0,.055);--malha-no:rgba(0,0,0,.09);--malha-pulso:rgba(0,0,0,.28);
}
/* zonas sempre escuras e zonas sobre degradê: força os valores escuros */
.raip-theme-dark,.liquid-zone,#como-funciona,.menu-mobile{
  --surface-page:var(--raip-color-black);--text-primary:var(--raip-color-white);
  --text-secondary:var(--raip-color-gray-400);--border-default:var(--raip-color-line-on-dark);
  --border-control:var(--raip-color-control-on-dark);--accent-energy:var(--raip-color-cyan);
  --focus-ring:var(--raip-color-white);--focus-gap:var(--raip-color-black);
}

/* ---------- 3. Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-primary);font:400 var(--raip-font-body)/1.58 var(--font-sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
body.menu-open{overflow:hidden}
[hidden]{display:none!important}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none;transition:opacity var(--raip-duration-short) ease}
button,input,textarea{font:inherit}button{cursor:pointer}
p,h1,h2,h3,ul,figure,blockquote{margin:0}ul{padding:0;list-style:none}
h1,h2,h3{font-weight:400}
h2{font-size:var(--raip-font-h2);font-weight:300;line-height:1.1;letter-spacing:-.045em;text-wrap:balance}
h3{font-weight:300;letter-spacing:-.025em}
p{text-wrap:pretty}strong{font-weight:600}svg{display:block}
a,button{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid transparent;outline-offset:4px;box-shadow:0 0 0 2px var(--focus-gap),0 0 0 4px var(--focus-ring)}
.oculto-visual{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.pular{position:fixed;top:12px;left:12px;z-index:100;background:#fff;color:#000;padding:12px 28px;border-radius:var(--raip-radius-pill);transform:translateY(-200%)}
.pular:focus{transform:none}
.container{width:var(--container);margin-inline:auto}
.secao{padding-block:var(--raip-space-68);position:relative}
.secao+.secao{padding-top:var(--raip-space-46)}
.cabeca{margin-bottom:var(--raip-space-48);position:relative}
.sobrelinha{font-size:var(--raip-font-eyebrow);line-height:1.36;letter-spacing:.01em;text-transform:uppercase;margin-bottom:var(--raip-space-28)}
.section-stroke{display:block;width:64px;height:2px;background:var(--raip-gradient-energy);margin:0 0 24px;transform-origin:left}
.texto-corpo{font-size:var(--raip-font-body);line-height:1.58;color:var(--text-secondary)}
.acima-24{margin-top:var(--raip-space-28)}.acima-32{margin-top:var(--raip-space-40)}

/* Botão: pílula contornada, brilho diagonal no hover */
.botoes{display:flex;flex-wrap:wrap;gap:14px}
.botao{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:11px 33px;border:1px solid var(--text-primary);border-radius:var(--raip-radius-pill);background:transparent;color:var(--text-primary);font-size:16px;font-weight:400;line-height:1.5;text-align:center;transition:border-color var(--raip-duration-medium) var(--raip-ease),letter-spacing var(--raip-duration-medium) var(--raip-ease),opacity var(--raip-duration-short) ease}
.botao::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 15%,var(--raip-color-shimmer) 45%,transparent 70%);transform:translateX(-130%);transition:transform .65s var(--raip-ease)}
@media(hover:hover){.botao:hover{letter-spacing:.025em;opacity:.7}.botao:hover::after{transform:translateX(130%)}}

/* ---------- 4. Header ---------- */
.barra{--nav-ink:#fff;--nav-line:var(--raip-color-line-on-dark);height:var(--header-height);position:fixed;inset:var(--header-top) 40px auto;z-index:50;color:var(--nav-ink);pointer-events:none;isolation:isolate;--glass-opacity:0}
.barra[data-inverso="false"]{--nav-ink:#000;--nav-line:rgba(0,0,0,.3)}
.barra::before{content:'';position:absolute;inset:0 -16px;z-index:-1;border-radius:var(--raip-radius-glass);background:rgba(0,0,0,.8);border:1px solid var(--raip-color-glass-line);opacity:var(--glass-opacity);transform:translateY(-4px) scaleY(.94);transition:opacity var(--raip-duration-medium) var(--raip-ease),transform var(--raip-duration-medium) var(--raip-ease)}
@supports((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.barra::before{background:var(--raip-color-glass-header);-webkit-backdrop-filter:var(--raip-blur-header);backdrop-filter:var(--raip-blur-header)}}
.barra[data-rolado="true"]{--glass-opacity:1;--nav-ink:#fff;--nav-line:rgba(255,255,255,.34)}
.barra[data-rolado="true"]::before{transform:none}
.menu-open .barra{--glass-opacity:0;--nav-ink:#fff}
.barra__interno{display:flex;align-items:center;justify-content:space-between;height:100%;gap:28px}
.barra a,.barra button{pointer-events:auto}
.marca{display:inline-flex;flex:none}
.marca img{width:112px;height:auto}
.marca .brand-black{display:none}
.barra[data-inverso="false"]:not([data-rolado="true"]) .brand-white{display:none}
.barra[data-inverso="false"]:not([data-rolado="true"]) .brand-black{display:block}
.menu-open .barra .brand-white{display:block!important}.menu-open .barra .brand-black{display:none!important}
.barra__links{display:flex;gap:24px;margin-left:auto}
.barra__link{position:relative;font-size:var(--raip-font-ui);line-height:1.4}
.barra__link::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--raip-ease)}
.barra__link[aria-current="location"]::after{transform:scaleX(1)}
.barra__acoes{display:flex;align-items:center;gap:12px}
.barra .botao{--text-primary:var(--nav-ink);border-color:var(--nav-line);font-size:14px;padding:8px 24px;min-height:44px}
.icone-botao{border:1px solid transparent;background:transparent;color:inherit;width:44px;height:44px;display:grid;place-items:center;border-radius:var(--raip-radius-pill);padding:12px}
.icone-botao:hover{border-color:var(--nav-line)}
.icone-botao svg{width:20px;height:20px;stroke:currentColor}
.tema__lua{display:none}[data-tema="escuro"] .tema__lua{display:block}[data-tema="escuro"] .tema__sol{display:none}
.sanduiche{display:none}
.sanduiche span{width:20px;height:1px;background:currentColor;grid-area:1/1;transition:transform var(--raip-duration-medium) var(--raip-ease)}
.sanduiche span:first-child{transform:translateY(-3px)}.sanduiche span:last-child{transform:translateY(3px)}
.sanduiche[aria-expanded="true"] span:first-child{transform:rotate(45deg)}.sanduiche[aria-expanded="true"] span:last-child{transform:rotate(-45deg)}
.nav-rolo{display:inline-flex;overflow:hidden;line-height:1.4}
.nav-letra{position:relative;display:block;white-space:pre;transition:transform var(--raip-duration-medium) var(--raip-ease);transition-delay:calc(var(--letra,0)*18ms)}
.nav-letra::after{content:attr(data-letra);position:absolute;inset:100% 0 auto}
.nav-rolo:hover .nav-letra,.nav-rolo:focus-visible .nav-letra{transform:translateY(-100%)}

.menu-mobile{position:fixed;inset:0;z-index:45;background:#000;color:#fff;padding:calc(var(--header-height) + 64px) 40px 40px;overflow:auto;clip-path:inset(0 0 100%);transition:clip-path var(--raip-duration-long) var(--raip-ease)}
.menu-mobile.is-open{clip-path:inset(0)}
.menu-mobile a{display:block;width:max-content;max-width:100%;font-size:var(--raip-font-menu);font-weight:300;line-height:1.3;padding-block:8px;opacity:0;transform:translateY(40px);transition:transform var(--raip-duration-long) var(--raip-ease),opacity var(--raip-duration-medium) var(--raip-ease);transition-delay:calc(var(--ordem,0)*60ms)}
.menu-mobile.is-open a{opacity:1;transform:none}
.menu-mobile a[aria-current="location"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:12px}

/* ---------- 5. Hero em vídeo: tela cheia em qualquer tela ----------
   Três cortes do showreel, escolhidos pela proporção da janela:
   16:9 (de 3:2 para cima) · 1:1 (de 4:5 a 3:2) · 9:16 (abaixo de 4:5).
   O vídeo cobre a tela (object-fit: cover); o texto de cada corte fica numa
   área de segurança que sobrevive ao corte nos dois extremos da faixa e ao
   header transparente por cima. Acima de 2,4:1 o hero cresce em altura
   (rola um pouco) para não cortar demais. */
:root{--hero-poster:url("../video/raip-showreel-v3-16x9-poster.webp")}
@media(max-aspect-ratio:3/2){:root{--hero-poster:url("../video/raip-showreel-v3-1x1-poster.webp")}}
@media(max-aspect-ratio:4/5){:root{--hero-poster:url("../video/raip-showreel-v3-9x16-poster.webp")}}
.abertura{position:relative;height:100vh;height:100svh;min-height:calc(100vw / 2.4);overflow:hidden;background:#000 var(--hero-poster) 50% 50%/cover no-repeat;color:#fff}
.hero-video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%;background:transparent}
/* pausar/reproduzir o vídeo ali mesmo (vidro escuro, regra c) */
.hero-controle{position:absolute;z-index:2;left:40px;bottom:calc(24px + var(--consent-height,0px) + env(safe-area-inset-bottom,0px));width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:#fff;background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;transition:background var(--raip-duration-short) ease,border-color var(--raip-duration-short) ease}
.hero-controle:hover{background:rgba(0,0,0,.6);border-color:rgba(255,255,255,.6)}
.hero-controle:focus-visible{outline:2px solid #fff;outline-offset:3px}
.hero-controle svg{width:16px;height:16px}
.hero-controle .icone-play{display:none}
.hero-controle[aria-pressed="true"] .icone-play{display:block}
.hero-controle[aria-pressed="true"] .icone-pausa{display:none}

/* ---------- 6. Intro ---------- */
.intro{padding:var(--raip-space-68) 0 var(--raip-space-152);position:relative}
.intro__grid{display:grid;grid-template-columns:1fr 2fr;gap:var(--raip-space-68)}
.intro .sobrelinha{padding-top:8px}
.abertura__sub{font-size:var(--raip-font-h2-intro);font-weight:300;line-height:1.3;letter-spacing:-.025em;margin-bottom:var(--raip-space-40)}

/* ---------- 7. Zona degradê (série escura, sem véu, sem grão) ---------- */
.liquid-zone{position:relative;isolation:isolate;overflow:hidden;color:var(--text-primary);background:#000;border:1px solid var(--raip-color-liquid-zone-line);border-radius:var(--raip-radius-zone);padding:var(--raip-space-64)}
.liquid-visual{position:absolute;inset:-6%;z-index:-1;pointer-events:none;background:#000 var(--zona-img) var(--zona-pos,50% 50%)/cover no-repeat;transform:scale(1.04);animation:zona-deriva 26s ease-in-out infinite alternate;animation-play-state:paused;will-change:transform}
.liquid-zone.is-inview .liquid-visual{animation-play-state:running}
.raip-grad-14{--zona-img:var(--raip-gradiente-14)}
.raip-grad-16{--zona-img:var(--raip-gradiente-16)}
.raip-grad-19{--zona-img:var(--raip-gradiente-19)}
.liquid-zone h2{font-size:var(--raip-font-h2-liquid)}
.liquid-zone .cabeca{max-width:800px}
/* regra (a): texto direto no degradê só em branco sólido */
.liquid-zone>.texto-corpo{color:#fff}
.liquid-zone .botao--direto{border-color:#fff;background:transparent}
@keyframes zona-deriva{from{transform:scale(1.04) translate(-1%,1%)}to{transform:scale(1.14) translate(2%,-2%)}}

/* Vidro escuro (regra c) */
.glass-card{position:relative;isolation:isolate;border:1px solid var(--raip-color-glass-line);border-radius:var(--raip-radius-glass);background:rgba(0,0,0,.8);padding:var(--raip-space-40);color:#fff;transition:border-color var(--raip-duration-medium) var(--raip-ease),background var(--raip-duration-medium) var(--raip-ease)}
.glass-card .texto-corpo{color:var(--raip-color-text-liquid)}
@supports((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass-card{background:var(--raip-color-glass);-webkit-backdrop-filter:var(--raip-blur-glass);backdrop-filter:var(--raip-blur-glass)}}
@media(hover:hover){.glass-card:hover{border-color:var(--raip-color-cyan-55)}}
.glass-card .botao,.liquid-zone .botao{--text-primary:#fff}
.glass-card .botao{border-color:rgba(255,255,255,.58);background:rgba(0,0,0,.32)}
@media(hover:hover){.glass-card .botao:hover{opacity:1;border-color:var(--raip-color-cyan)}}

/* ---------- 8. Serviços (carrossel de vidro) ---------- */
.raip-carousel{min-width:0;position:relative;--slide-width:calc((100% - 24px)/2)}
.raip-track{display:flex;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 0 24px;touch-action:pan-x pan-y}
.raip-track::-webkit-scrollbar{display:none}
.raip-slide{flex:0 0 var(--slide-width);min-width:0;scroll-snap-align:start}
.entrega-slide{display:flex;flex-direction:column;padding:clamp(24px,3vw,38px)}
@media(hover:hover){.entrega-slide:hover{box-shadow:0 18px 50px rgba(0,0,0,.2)}}
.entrega-numero{font-size:13px;letter-spacing:.1em;color:var(--raip-color-text-liquid);margin-bottom:6px}
.muda__titulo{font-size:var(--raip-font-card-title);line-height:1.12;margin-bottom:14px}
.servicos-lista{margin:28px 0 0}
.servicos-lista li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.22);font-size:17px;line-height:1.5}
.entrega-mais{margin-top:auto;padding-top:24px;border-top:1px solid rgba(255,255,255,.28);font-size:15px;line-height:1.3;letter-spacing:.06em;text-transform:uppercase}
.servicos-lista+.entrega-mais{margin-top:24px}
.entrega-fecho{max-width:780px}
.raip-carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;flex-wrap:wrap}
.raip-carousel-buttons,.raip-dots{display:flex;align-items:center;gap:10px}
.raip-control{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:transparent;color:#fff;padding:10px;transition:background .25s,color .25s,transform .25s}
.raip-control:hover:not(:disabled){background:#fff;color:#000;transform:translateY(-2px)}
.raip-control:disabled{opacity:.3;cursor:default}
.raip-control svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5}
.raip-play{border-radius:30px;gap:8px;font-size:14px;padding:10px 18px}
.raip-dot{width:44px;height:44px;border:0;background:none;display:grid;place-items:center;color:#fff;padding:0}
.raip-dot::after{content:'';width:7px;height:7px;border-radius:10px;background:currentColor;opacity:.4;transition:width .3s,opacity .3s}
.raip-dot[aria-current="true"]::after{width:26px;opacity:1}
.raip-carousel-status{font-size:14px;font-variant-numeric:tabular-nums;color:#fff}
.raip-control:focus-visible,.raip-dot:focus-visible,.raip-track:focus-visible,.raip-step summary:focus-visible{outline:2px solid currentColor;outline-offset:5px;box-shadow:none}

/* ---------- 9. Clientes ---------- */
.logos-marquee{--gap:24px;display:flex;overflow:hidden;padding-block:8px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.logos-marquee__trilho{display:flex;flex:none;gap:var(--gap);padding-right:var(--gap);animation:logos-deslizar 45s linear infinite}
.logos-marquee:hover .logos-marquee__trilho{animation-play-state:paused}
.logo-cliente{flex:none;width:clamp(140px,16vw,210px);height:clamp(76px,8vw,104px);display:grid;place-items:center;border:1px solid var(--border-default);border-radius:var(--raip-radius-glass);padding:16px 24px}
.logo-cliente img{display:block;width:100%;height:calc(var(--h,40px) * var(--logo-escala,1));max-height:100%;object-fit:contain;opacity:.86;transition:opacity var(--raip-duration-short) ease}
.logo-cliente:hover img{opacity:1}
[data-tema="claro"] .logo-cliente img{filter:brightness(0);opacity:.78}
@media(max-width:700px){.logo-cliente{--logo-escala:.72}.quebra-larga{display:none}}
.logo-cliente__placeholder{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}
@keyframes logos-deslizar{to{transform:translateX(-100%)}}

/* ---------- 10. Trajetória ---------- */
.raip-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.raip-metric{position:relative;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--raip-radius-card);padding:clamp(24px,3vw,40px);min-width:0;transition:transform .4s,border-color .4s}
@media(hover:hover){.raip-metric:hover{transform:translateY(-6px);border-color:var(--text-secondary)}}
.raip-metric-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;font-size:14px;color:var(--text-secondary)}
.raip-metric-icon{width:32px;height:32px;stroke:currentColor;stroke-width:1.3;fill:none}
.raip-metric-value{display:block;font-size:clamp(48px,7vw,104px);font-weight:300;line-height:1.1;letter-spacing:-.055em;font-variant-numeric:tabular-nums;white-space:nowrap}
.raip-metric-label{display:block;margin-top:16px;font-size:18px;line-height:1.4;color:var(--text-secondary);max-width:24ch}
.raip-meter{height:3px;background:var(--border-default);margin-top:32px;overflow:hidden;border-radius:4px}
.raip-meter span{height:100%;display:block;background:var(--raip-gradient-energy);transform:scaleX(var(--count-progress,0));transform-origin:left}

/* ---------- 11. Processo (sempre preto) ---------- */
#como-funciona{background:#000;color:#fff;padding:var(--raip-space-96) 0;margin:var(--raip-space-46) 0}
.raip-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start}
.raip-step{min-width:0;position:relative;border:1px solid var(--border-default);border-radius:var(--raip-radius-card);overflow:hidden;background:#000;transition:transform .4s,border-color .4s,box-shadow .4s}
.raip-step::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(ellipse at var(--pointer-x,50%) var(--pointer-y,0%),rgba(0,255,255,.09),transparent 65%)}
.raip-step:hover,.raip-step:focus-within,.raip-step[open]{border-color:var(--text-secondary)}
.raip-step:hover::before,.raip-step[open]::before{opacity:1}
@media(hover:hover) and (pointer:fine){.raip-step:hover{transform:translateY(-6px)}}
.raip-step summary{list-style:none;cursor:pointer;padding:28px;position:relative}
.raip-step summary::-webkit-details-marker{display:none}
.raip-step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}
.raip-step-number{font-size:44px;line-height:1;font-weight:300;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.raip-step-toggle{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--border-default);border-radius:50%;font-size:23px;font-weight:300;transition:transform .35s}
.raip-step[open] .raip-step-toggle{transform:rotate(45deg)}
.raip-step h3{font-size:var(--raip-font-step-title);line-height:1.2;margin:0 0 18px}
.raip-step-intro{font-size:16px;line-height:1.6;color:var(--text-secondary)}
.raip-step-hint{display:block;margin-top:28px;font-size:14px;text-decoration:underline;text-underline-offset:5px}
.raip-step-detail{padding:0 28px 28px;font-size:16px;line-height:1.6;color:var(--text-secondary)}
.raip-step-detail p{border-top:1px solid var(--border-default);padding-top:20px}
.raip-step[open] .raip-step-detail{animation:raip-expand .4s both}
@keyframes raip-expand{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* ---------- 12. Contato ---------- */
.faixa-final{padding:var(--raip-space-46) 0 var(--raip-space-68)}
.liquid-closing .closing-glass{padding:var(--raip-space-64)}
.liquid-closing h2{font-size:clamp(40px,4.7vw,68px);max-width:880px}
.faixa-final__sub{margin-top:var(--raip-space-40);font-size:var(--raip-font-body);color:var(--raip-color-text-liquid)}
.contato-form{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.contato-form label{display:block;font-size:15px;margin-bottom:10px}
.campo{display:block;width:100%;min-width:0;min-height:56px;background:var(--raip-color-field);border:1px solid var(--raip-color-control-on-dark);color:#fff;border-radius:var(--raip-radius-field);padding:16px;font-size:16px}
textarea.campo{resize:vertical;min-height:140px}
.campo:focus-visible{outline:2px solid var(--raip-color-cyan);outline-offset:3px;box-shadow:none}
.campo-inteiro{grid-column:1/-1}
.campo-isca{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.contato-status{font-size:14px;line-height:1.6;margin-top:16px;max-width:65ch;color:var(--raip-color-text-liquid)}
.contato-form button:disabled{opacity:.6;cursor:wait}
.campo-erro{min-height:0;margin-top:8px;font-size:14px;line-height:1.4;color:var(--raip-color-erro)}
.campo-erro:empty{display:none}
.campo[aria-invalid="true"]{border-color:var(--raip-color-erro)}
.contato-aviso{margin-top:12px;font-size:13px;line-height:1.5;color:var(--raip-color-text-liquid)}
.contato-aviso a,.contato-status a{text-decoration:underline;text-underline-offset:3px;color:#fff}

/* ---------- 13. Rodapé ---------- */
.rodape{padding:var(--raip-space-48) 0 calc(var(--raip-space-96) + var(--consent-height));border-top:1px solid var(--border-default);position:relative}
.rodape__grade{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px 40px}
.rodape__lockup{grid-row:span 2}
.rodape .marca img{width:160px}
.rodape .brand-white{display:none}
[data-tema="claro"] .rodape .brand-black{display:block}
[data-tema="escuro"] .rodape .brand-white{display:block}[data-tema="escuro"] .rodape .brand-black{display:none}
.rodape__descritor{font-size:12px;margin-top:28px;line-height:1.4;letter-spacing:.02em}
.rodape__coluna h3{font-size:14px;font-weight:400;margin-bottom:14px;letter-spacing:0}
.rodape__coluna li{font-size:14px;line-height:1.5;margin-top:8px;color:var(--text-secondary)}
.rodape__coluna a{display:inline-block;padding-block:6px}
.rodape__coluna a:hover{opacity:.65}
.rodape__social{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.social-icone{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--border-default);border-radius:50%;transition:background .35s,color .35s,border-color .35s}
.social-icone svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.social-icone[href]:hover{background:var(--text-primary);color:var(--surface-page);border-color:var(--text-primary)}
.social-icone:not([href]){cursor:default;opacity:.55}
.rodape__fim{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:64px;font-size:12px;color:var(--text-secondary)}
.rodape__legal{display:flex;flex-wrap:wrap;gap:8px 20px;margin-right:auto}
.rodape__legal a{text-decoration:underline;text-underline-offset:3px}
.rodape__legal a:hover{color:var(--text-primary)}
.controle-movimento{display:inline-flex;gap:12px;align-items:center;color:var(--text-secondary);font-size:12px;background:transparent;border:1px solid var(--border-default);border-radius:var(--raip-radius-pill);padding:8px 16px;min-height:44px}
.controle-movimento:hover{color:var(--text-primary)}
.controle-movimento svg{width:16px;height:16px;stroke:currentColor}

/* ---------- 14. Flutuantes ---------- */
.reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:90;pointer-events:none}
.reading-progress span{display:block;height:100%;transform:scaleX(var(--read-progress,0));transform-origin:left;background:var(--raip-gradient-energy)}
.whatsapp{position:fixed;bottom:calc(24px + var(--consent-height) + env(safe-area-inset-bottom));right:24px;z-index:35;transition:bottom var(--raip-duration-medium) var(--raip-ease),opacity var(--raip-duration-short) ease,transform var(--raip-duration-medium) var(--raip-ease)}
/* sobre o vídeo do hero o botão flutuante sai de cena (não cobre a meta do showreel) */
.whatsapp.sobre-hero{opacity:0;transform:translateY(12px);pointer-events:none}
.whatsapp__botao{display:grid;place-items:center;width:56px;height:56px;background:#000;color:#fff;border:1px solid var(--raip-color-gray-500);border-radius:var(--raip-radius-pill)}
.whatsapp__botao svg{width:24px;height:24px;stroke:currentColor}
.back-to-top{position:fixed;left:24px;bottom:calc(24px + var(--consent-height) + env(safe-area-inset-bottom));z-index:25;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--border-default);border-radius:50%;background:var(--surface-page);color:var(--text-primary);box-shadow:0 4px 24px rgba(0,0,0,.08)}
.back-to-top svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5;transition:transform .3s}
.back-to-top:hover svg{transform:translateY(-3px)}
.cookies{position:fixed;z-index:60;bottom:0;left:0;right:0;background:var(--raip-color-cookie);color:#fff;padding:12px 0 calc(12px + env(safe-area-inset-bottom))}
@supports((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.cookies{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}
.cookies__interno{display:flex;align-items:center;justify-content:space-between;gap:28px}
.cookies__texto{font:400 14px/1.4 var(--font-system)}
.cookies__texto a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.cookies__botoes{display:flex;flex:none;gap:12px}
.cookies .botao{--text-primary:#fff;border-color:#fff;white-space:nowrap;padding:8px 24px;min-height:44px;font-size:14px}
.cookies .botao--primario{background:var(--raip-color-gray-700)}

/* Malha neural de fundo — tom sobre tom */
.malha-fundo{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;display:block}

/* ---------- 15. Movimento ---------- */
.revelar{opacity:0;transform:translateY(var(--raip-reveal-distance));transition:transform var(--raip-duration-long) var(--raip-ease),opacity var(--raip-duration-long) var(--raip-ease)}
.revelar.visivel{opacity:1;transform:none}
.movimento-pausado *,.movimento-pausado *::before,.movimento-pausado *::after{animation-play-state:paused!important;transition-duration:0s!important}
.movimento-pausado .revelar{opacity:1;transform:none}
.movimento-pausado .botao::after{display:none}
.movimento-pausado .logos-marquee{overflow-x:auto;scrollbar-width:none}
html.movimento-pausado{scroll-behavior:auto}

/* ---------- 16. Responsivo ---------- */
@media(max-width:1100px){.raip-process{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1040px){.barra__links{display:none}.sanduiche{display:grid}.barra__interno{gap:16px}.barra{inset-inline:32px}.hero-controle{left:32px}}
@media(max-width:900px){
  .raip-metrics{grid-template-columns:1fr}
  .raip-metric-value{font-size:72px}
  .raip-metric-top{margin-bottom:24px}
}
@media(max-width:768px){
  :root{--container:calc(100% - 48px);--header-top:8px;--raip-reveal-distance:24px;--raip-font-h2:48px;--raip-font-h2-intro:30px}
  .barra{inset-inline:24px}.hero-controle{left:24px}.barra::before{inset-inline:-8px;border-radius:12px}
  .barra__acoes{gap:4px}.barra .botao{padding-inline:16px;font-size:12px}
  .marca img{width:88px}
  .menu-mobile{padding:calc(var(--header-height) + 48px) 24px 28px}
  .intro{padding:var(--raip-space-48) 0 var(--raip-space-96)}
  .intro__grid{grid-template-columns:1fr;gap:12px}
  .intro .sobrelinha{margin-bottom:14px}
  .secao{padding:var(--raip-space-56) 0}.secao+.secao{padding-top:var(--raip-space-46)}
  .cabeca{margin-bottom:var(--raip-space-40)}
  h2{line-height:1.08}
  /* zona degradê: ocupa a largura útil e respira menos */
  .liquid-zone{width:calc(100% - 24px);padding:28px 20px;border-radius:20px}
  .liquid-zone h2{font-size:40px}
  .glass-card{padding:24px}
  .raip-carousel{--slide-width:100%}
  .raip-track{gap:16px}
  .entrega-slide{padding:24px}
  .liquid-closing .closing-glass{padding:24px}
  .liquid-closing h2{font-size:36px}
  .faixa-final__sub{font-size:16px;margin-top:28px}
  .liquid-closing .botao{width:100%}
  #como-funciona{padding:var(--raip-space-64) 0}
  .rodape__grade{grid-template-columns:1fr 1fr;gap:40px 28px}
  .rodape__lockup{grid-column:1/-1;grid-row:auto}
  .rodape__fim{flex-direction:column;align-items:flex-start;gap:12px;margin-top:48px}
  .cookies__interno{gap:16px;flex-wrap:wrap}
  .cookies__texto{font-size:12px}
  .cookies .botao{padding-inline:16px;font-size:12px}
}
@media(max-width:700px){
  .raip-process{grid-template-columns:1fr}
  .raip-step summary{padding:24px}.raip-step-detail{padding:0 24px 24px}.raip-step-top{margin-bottom:24px}
  .raip-carousel-controls{gap:8px}.raip-play{padding-inline:12px}.raip-carousel-buttons{gap:8px}
  .back-to-top{left:16px;bottom:calc(16px + var(--consent-height) + env(safe-area-inset-bottom));width:44px;height:44px}
  .whatsapp{right:16px;bottom:calc(16px + var(--consent-height) + env(safe-area-inset-bottom))}
}
@media(max-width:640px){
  .contato-form{grid-template-columns:1fr}
  .contato-form .botao{width:100%}
  .barra__acoes>.botao{display:none}
}
@media(max-width:380px){
  :root{--container:calc(100% - 40px);--raip-font-h2:40px}
  .barra{inset-inline:16px}.hero-controle{left:16px}.barra__interno{gap:8px}
  .marca img{width:64px}
  .icone-botao{width:40px;height:40px;padding:8px}
  .botoes .botao{width:100%}
  .liquid-zone{padding:24px 16px}.liquid-zone h2{font-size:34px}
  .liquid-closing .closing-glass{padding:16px}.liquid-closing h2{font-size:30px}
  .raip-carousel-status{width:100%;order:3}.raip-dot{width:36px}.raip-control{min-width:44px;min-height:44px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .revelar{opacity:1;transform:none}
  .botao::after{display:none}
  .logos-marquee{overflow-x:auto}.logos-marquee__trilho[aria-hidden="true"]{display:none}
}
@media print{
  .barra,.menu-mobile,.whatsapp,.cookies,.reading-progress,.back-to-top,.malha-fundo,.hero-video{display:none!important}
  .revelar{opacity:1;transform:none}
  body{background:#fff;color:#000}
  .raip-track{display:grid;grid-template-columns:1fr;overflow:visible}.raip-carousel-controls{display:none}
}

/* ==========================================================================
   Páginas complementares (obrigado, privacidade, termos, 404)
   ========================================================================== */
.pagina{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.pagina main{flex:1}
.topo-pagina{padding-block:24px}
.topo-pagina .container{display:flex;align-items:center;justify-content:space-between;gap:24px}
.topo-pagina .marca img{width:112px;height:auto}
[data-tema="claro"] .topo-pagina .brand-white{display:none}[data-tema="claro"] .topo-pagina .brand-black{display:block}
[data-tema="escuro"] .topo-pagina .brand-white{display:block}[data-tema="escuro"] .topo-pagina .brand-black{display:none}
.destaque{padding:var(--raip-space-40) 0 var(--raip-space-68)}
.destaque .liquid-visual{animation-play-state:running}
.destaque h1{font-size:clamp(40px,5.4vw,76px);font-weight:300;line-height:1.05;letter-spacing:-.045em;text-wrap:balance;max-width:900px}
.destaque .faixa-final__sub{max-width:60ch}
.destaque .botoes{margin-top:var(--raip-space-40)}
.documento{padding:var(--raip-space-40) 0 var(--raip-space-96)}
.documento h1{font-size:clamp(40px,5vw,68px);font-weight:300;line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
.documento__data{margin-top:20px;font-size:14px;color:var(--text-secondary)}
.documento__corpo{max-width:68ch;margin-top:var(--raip-space-64)}
.documento__corpo h2{font-size:clamp(22px,2.2vw,28px);font-weight:400;letter-spacing:-.02em;line-height:1.25;margin-top:56px;margin-bottom:16px}
.documento__corpo h2:first-child{margin-top:0}
.documento__corpo p,.documento__corpo li{color:var(--text-secondary);line-height:1.7}
.documento__corpo p+p,.documento__corpo p+ul,.documento__corpo ul+p{margin-top:16px}
.documento__corpo ul{list-style:none;padding:0;margin-top:12px}
.documento__corpo li{position:relative;padding-left:22px;margin-top:10px}
.documento__corpo li::before{content:"";position:absolute;left:0;top:.8em;width:10px;height:1px;background:currentColor}
.documento__corpo strong{color:var(--text-primary);font-weight:600}
.documento__corpo a,.rodape-curto a{text-decoration:underline;text-underline-offset:3px}
.indice{margin-top:var(--raip-space-40);display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;color:var(--text-secondary)}
.rodape-curto{border-top:1px solid var(--border-default);padding-block:28px calc(28px + env(safe-area-inset-bottom,0px));font-size:13px;color:var(--text-secondary)}
.rodape-curto .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 28px}
.rodape-curto nav{display:flex;flex-wrap:wrap;gap:8px 20px}
@media(max-width:700px){.topo-pagina .botao{padding:8px 20px;min-height:44px;font-size:14px}.destaque{padding-top:8px}}
