*, *::before, *::after { box-sizing:border-box;margin:0;padding:0; }
:root {
  --bg:#07030E;--mid:#130624;--mid2:#3E195C;
  --lavanda:#B06FE1;--lavanda-light:#D9B4F2;
  --rosa:#EB217B;--dourado:#EDAA3B;
  --arnaldo:#EB217B;--coracao:#E84040;
  --branco:#FFFFFF;--cinza:#B3ADBD;
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --ease-in-out:cubic-bezier(0.77,0,0.175,1);
  color-scheme: dark;
}
html { scroll-behavior:smooth;overflow-x:hidden;width:100%;scrollbar-width:none !important;-ms-overflow-style:none !important; }
html::-webkit-scrollbar,body::-webkit-scrollbar { display:none !important;width:0 !important;height:0 !important; }
body { background:var(--bg);color:var(--branco);font-family:"Inter",sans-serif;overflow-x:hidden;scrollbar-width:none !important;-ms-overflow-style:none !important; }
.hero h1,.feat-block h3,.outros-titulo,.serv-title,.sobre-nome,.contato h2,.ip-teaser-title {
  font-family:"Montserrat","Inter",sans-serif;
  font-weight:800;
}

.skip-link {
  position:fixed;top:-100px;left:12px;z-index:10000;
  background:var(--lavanda);color:#07030E;
  padding:12px 20px;border-radius:8px;
  font-family:"Inter",sans-serif;font-weight:600;font-size:0.9rem;
  text-decoration:none;
  transition:top 0.2s ease;
}
.skip-link:focus {
  top:12px;
}

nav {
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:14px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:linear-gradient(to bottom,rgba(7,3,14,0.96) 75%,transparent);
  opacity:0;animation:fadeDown 0.8s ease 0.3s forwards;
}
.nav-brand { display:flex;flex-direction:column;gap:2px;text-decoration:none; }
.logo { font-family:"Fredoka",sans-serif;font-weight:900;font-size:1.2rem;color:var(--lavanda);letter-spacing:-0.02em;line-height:1; }
.logo-motions { display:inline-block; }
.logo-motions .onda {
  display:inline-block;
  animation:logoOnda 2.6s ease-in-out infinite;
  will-change:transform;
}
@keyframes logoOnda {
  0%, 55%, 100% { transform:translateY(0); }
  25%           { transform:translateY(-3px); }
}

.nav-tagline { font-size:0.58rem;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;color:var(--lavanda);line-height:1; }
.nav-right { display:flex;align-items:center;gap:14px; }
.nav-links { display:flex;gap:8px;align-items:center; }
nav a {
  color:rgba(255,255,255,0.75);text-decoration:none;
  font-size:0.68rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;
  padding:5px 14px;border-radius:100px;
  border:1px solid rgba(176,111,225,0.22);
  background:rgba(176,111,225,0.07);
  transition:color 0.22s, border-color 0.22s, background-color 0.22s;
}
.nav-cta {
  color:#0a0411 !important;background:var(--rosa) !important;border-color:var(--rosa) !important;
  font-weight:700 !important;box-shadow:0 6px 18px rgba(235,33,123,0.32);
  white-space:nowrap;
}
.nav-toggle {
  display:none;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:10px;
  border:1px solid rgba(176,111,225,0.3);background:rgba(176,111,225,0.08);
  color:var(--branco);cursor:pointer;flex:0 0 auto;
}
.nav-toggle svg { width:20px;height:20px;display:block; }
.nav-toggle:focus-visible,.nav-cta:focus-visible,nav a:focus-visible { outline:3px solid var(--lavanda);outline-offset:3px; }
@media (max-width:860px) {
  nav { padding:12px 16px;flex-wrap:wrap; }
  .nav-toggle { display:flex; }
  .nav-right { gap:8px; }
  .nav-links {
    order:10;flex-basis:100%;flex-direction:column;align-items:stretch;gap:6px;
    max-height:0;overflow:hidden;margin-top:0;
    transition:max-height 0.3s var(--ease-out),margin-top 0.3s var(--ease-out);
  }
  .nav-links.open {
    max-height:400px;margin-top:12px;padding:14px;border-radius:16px;
    background:rgba(7,3,14,0.98);border:1px solid rgba(176,111,225,0.2);
    box-shadow:0 20px 50px rgba(0,0,0,0.5);
  }
  nav a { text-align:center;padding:10px 14px;font-size:0.78rem; }
}

/* HERO */
.hero {
  min-height:0;position:relative;
  display:flex;align-items:center;justify-content:center;
  overflow-x:hidden;overflow-y:visible;text-align:center;
  background:radial-gradient(ellipse 70% 70% at 50% 55%,#2D1050 0%,#07030E 75%);
}
.hero-glow {
  position:absolute;width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(183,132,212,0.12) 0%,transparent 65%);
  top:50%;left:50%;transform:translate(-50%,-45%);
  animation:pulseGlow 4s ease-in-out infinite;z-index:0;
}
.hero-parallax-bg { position:absolute;inset:0;z-index:0;pointer-events:none;will-change:transform; }
.hero-scroll-cue {
  position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:5;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  color:var(--lavanda);font-size:.58rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  opacity:.82;
}
.mouse-icon { width:16px;height:25px;border:1.5px solid var(--lavanda);border-radius:10px;display:block;position:relative;box-shadow:0 0 12px rgba(183,132,212,.18); }
.mouse-icon i { position:absolute;top:5px;left:50%;width:3px;height:6px;border-radius:3px;background:var(--lavanda-light);transform:translateX(-50%);animation:mouseWheel 1.5s ease-in-out infinite; }
@keyframes mouseWheel { 0%,100%{opacity:.35;transform:translate(-50%,0)} 45%{opacity:1;transform:translate(-50%,4px)} }
@keyframes pulseGlow { 0%,100% { opacity:0.6;transform:translate(-50%,-45%) scale(1); } 50% { opacity:1;transform:translate(-50%,-45%) scale(1.08); } }
#particles { position:fixed;inset:0;z-index:0;pointer-events:none; }
.hero-content { position:relative;z-index:2;padding:140px 40px 40px;display:flex;flex-direction:column;align-items:center; }
.hero h1 { max-width:980px;width:100%;margin:0 auto 20px;overflow:clip;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-y;-webkit-overflow-scrolling:auto; }
.hero h1::-webkit-scrollbar,.hero h1 .line::-webkit-scrollbar { display:none;width:0;height:0; }
.hero-eyebrow { font-size:0.72rem;font-weight:500;letter-spacing:0.25em;text-transform:uppercase;color:var(--arnaldo);margin-bottom:20px;opacity:0;animation:fadeIn 0.8s var(--ease-out) 0.5s forwards; }
.hero h1 { font-family:"Inter",sans-serif;font-weight:600;font-size:clamp(2.2rem,7vw,5.5rem);line-height:0.98;letter-spacing:-0.01em;margin-bottom:8px; }
.hero h1 .line { display:block;max-width:100%;overflow:clip;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-y; }
.hero h1 .line-inner { display:block;opacity:0;transform:translateY(100%);animation:lineUp 0.7s cubic-bezier(0.22,1,0.36,1) forwards; }
.hero h1 .line:nth-child(1) .line-inner { animation-delay:0.7s; }
.hero h1 .line:nth-child(2) .line-inner { animation-delay:0.85s;color:var(--lavanda); }
.hero h1 .line:nth-child(3) .line-inner { animation-delay:1.0s; }
.hero-sub {
  font-size:clamp(0.9rem,1.6vw,1.05rem);
  color:rgba(255,255,255,0.95);
  max-width:420px;margin:0 auto 56px;line-height:1.7;font-weight:500;
  opacity:0;animation:fadeIn 0.8s ease 1.3s forwards;
  position:relative;z-index:3;
  padding:10px 18px;
}
.hero-sub::before {
  content:"";position:absolute;inset:-6px -14px;z-index:-1;
  background:radial-gradient(ellipse 100% 100% at 50% 50%, rgba(7,3,14,0.55) 0%, rgba(7,3,14,0) 75%);
  border-radius:24px;
}

/* ARNALDO — VAI E VOLTA NA MESMA LINHA */
.arnaldo-track {
  --walk: clamp(40px, 20vw, 150px);
  display:flex;justify-content:center;width:100%;
  width:100%;
}
@keyframes arnaldoWalk {
  from { transform: translateX(calc(-1 * var(--walk))); }
  to   { transform: translateX(var(--walk)); }
}
@media (prefers-reduced-motion: reduce) {
  .arnaldo-track { animation: none; }
}

/* ARNALDO STAGE */
.video-stage {
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:min(560px, 92vw);aspect-ratio:980/510;
  opacity:0;animation:arnaldoEntry 1s cubic-bezier(0.34,1.56,0.64,1) 1.1s forwards;
  user-select:none;-webkit-user-select:none;pointer-events:none;
}
.video-img { position:relative;z-index:1; }
.video-img {
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
  transition:opacity 0.5s ease;
}
#arnaldoMedita { opacity:0;pointer-events:none; }
.video-stage.medita #arnaldoLoop { opacity:0; }
.video-stage.medita #arnaldoMedita { opacity:1; }
.arnaldo-ground-shadow {
  position:absolute;left:50%;bottom:8%;
  width:44%;height:9%;
  transform:translateX(-50%);
  background:radial-gradient(ellipse 50% 50% at 50% 50%, rgba(183,132,212,0.65) 0%, rgba(183,132,212,0) 72%);
  z-index:0;pointer-events:none;
  transition:opacity 0.4s ease;
}
.video-stage.medita .arnaldo-ground-shadow { opacity:0; }
/* GLOW ROXO PULSANTE ATRÁS DO ARNALDO */
.arnaldo-glow {
  position:absolute;left:50%;top:50%;
  width:98%;height:98%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,
    rgba(183,132,212,0.40) 0%,
    rgba(183,132,212,0.24) 28%,
    rgba(183,132,212,0.12) 48%,
    rgba(183,132,212,0.05) 66%,
    rgba(183,132,212,0.0) 85%);
  filter:blur(22px);
  pointer-events:none;
  animation:arnaldoGlowPulse 3.6s ease-in-out infinite;
  transition:opacity 0.9s ease, filter 0.9s ease;
}
@keyframes arnaldoGlowPulse {
  0%,100% { opacity:0.7;transform:translate(-50%,-50%) scale(1); }
  50% { opacity:0.95;transform:translate(-50%,-50%) scale(1.1); }
}
.video-stage.medita .arnaldo-glow { opacity:0.3;filter:blur(22px) saturate(0.5); }
@media (prefers-reduced-motion: reduce) {
  .arnaldo-glow { animation:none; }
}

/* MODO REPOUSO — camada escura translúcida cobrindo a tela inteira */
.rest-overlay {
  position:fixed;inset:0;z-index:40;
  background:rgba(5,2,10,0.55);
  opacity:0;pointer-events:none;
  transition:opacity 1.6s ease;
}
.rest-overlay.active { opacity:1; }
/* ARNALDO INTERATIVO (Projeto Pessoal) */
.arnaldo-stage {
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:min(92%,380px);height:350px;
  user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;
}
@media (pointer:coarse) {
  .arnaldo-stage { cursor:pointer; }
}
@media (max-width:600px) {
  .arnaldo-stage { width:min(96%,320px);height:280px; }
}
.arnaldo-img {
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
  object-position:center bottom;
  pointer-events:none;transition:opacity 0.06s ease;
  filter:drop-shadow(0 24px 48px rgba(183,132,212,0.45));
}
#arnaldo-normal { opacity:1;animation:floatBase2 3.5s ease-in-out infinite; }
#arnaldo-pressed, #arnaldo-feliz, #arnaldo-surpreso, #arnaldo-tonto { opacity:0; }
#arnaldo-pressed { transform:scale(.84);transform-origin:center bottom; }
.arnaldo-stage { transform-origin:center bottom;animation:arnaldoEspera 4s ease-in-out infinite 1.5s; }
@keyframes arnaldoEspera {
  0%, 55%, 100% { transform:scale(1,1) translateY(0); }
  60%           { transform:scale(1.18,0.82) translateY(14px); }   /* agacha  */
  68%           { transform:scale(0.84,1.2) translateY(-22px); }  /* estica  */
  76%           { transform:scale(1.09,0.91) translateY(4px); }    /* assenta */
  85%           { transform:scale(0.97,1.03) translateY(-3px); }   /* resolve */
}
.arnaldo-stage.pressed { animation:none; }
.arnaldo-stage.pressed #arnaldo-normal { opacity:0; }
.arnaldo-stage.pressed[data-reaction="pressed"] #arnaldo-pressed { opacity:1;filter:drop-shadow(0 12px 28px rgba(232,64,64,0.5)); }
.arnaldo-stage.pressed[data-reaction="feliz"] #arnaldo-feliz { opacity:1;filter:drop-shadow(0 12px 28px rgba(140,222,168,0.5)); }
.arnaldo-stage.pressed[data-reaction="surpreso"] #arnaldo-surpreso { opacity:1;filter:drop-shadow(0 12px 28px rgba(120,180,240,0.5)); }
.arnaldo-stage.pressed[data-reaction="tonto"] #arnaldo-tonto { opacity:1;filter:drop-shadow(0 12px 28px rgba(255,210,90,0.5)); }
@keyframes floatBase { 0%,100% { transform:translateY(0) rotate(-0.5deg); } 50% { transform:translateY(-16px) rotate(0.5deg); } }
@keyframes arnaldoEntry { from { opacity:0;transform:scale(0.6) translateY(60px); } to { opacity:1;transform:scale(1) translateY(0); } }

.speech {
  position:absolute;top:0;left:50%;
  transform:translateX(-50%) scale(0.7) translateY(0px);
  background:var(--branco);color:#1A0A2E;
  font-family:"Fredoka",sans-serif;font-weight:800;font-size:0.88rem;
  padding:10px 16px;border-radius:20px 20px 20px 4px;
  white-space:nowrap;box-shadow:0 8px 28px rgba(0,0,0,0.3);
  opacity:0;transition:opacity 0.3s cubic-bezier(0.34,1.56,0.64,1), transform 0.3s cubic-bezier(0.34,1.56,0.64,1);
  pointer-events:none;z-index:20;
}
.speech.show { opacity:1;transform:translateX(-50%) scale(1) translateY(-20px); }

.tap-hint {
  position:absolute;bottom:-28px;left:50%;transform:translateX(-50%);
  font-size:0.82rem;letter-spacing:0.15em;text-transform:uppercase;
  color:var(--lavanda-light);white-space:nowrap;
  opacity:0.75;
}
@keyframes hintPulse { 0%,100% { opacity:0.55; } 50% { opacity:1; } }

.heart-pop { position:fixed;pointer-events:none;z-index:999;font-size:1.4rem;animation:heartFloat 0.9s ease-out forwards; }
@keyframes heartFloat { 0% { opacity:1;transform:translateY(0) scale(0.6); } 40% { opacity:1;transform:translateY(-50px) scale(1.2); } 100% { opacity:0;transform:translateY(-100px) scale(0.8); } }

.scroll-hint { position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--lavanda);opacity:0;animation:fadeIn 0.8s ease 2.2s forwards;font-size:0.66rem;letter-spacing:0.15em;text-transform:uppercase;z-index:2; }
.scroll-line { width:1px;height:36px;background:linear-gradient(to bottom,var(--lavanda),transparent);animation:scrollDrop 1.6s ease-in-out infinite; }
@keyframes scrollDrop { 0% { transform:scaleY(0);transform-origin:top;opacity:0; } 50% { transform:scaleY(1);opacity:1; } 100% { transform:scaleY(0);transform-origin:bottom;opacity:0; } }

/* REVEAL */
.reveal { opacity:0;transform:translateY(48px);transition:opacity 0.85s cubic-bezier(0.22,1,0.36,1),transform 0.85s cubic-bezier(0.22,1,0.36,1); }
.reveal.visible { opacity:1;transform:translateY(0); }
.reveal-d1 { transition-delay:0.1s; }
.reveal-d2 { transition-delay:0.22s; }
.reveal-d3 { transition-delay:0.36s; }

/* CARDS EM CASCATA — benefícios, soluções e processo entram em onda, não todos de uma vez */
.stagger-grid > .reveal:nth-child(1) { transition-delay:0s; }
.stagger-grid > .reveal:nth-child(2) { transition-delay:.09s; }
.stagger-grid > .reveal:nth-child(3) { transition-delay:.18s; }
.stagger-grid > .reveal:nth-child(4) { transition-delay:.27s; }
.stagger-grid > .reveal:nth-child(5) { transition-delay:.36s; }
.stagger-grid > .reveal:nth-child(6) { transition-delay:.45s; }
.benefit-card.reveal,.solution-card.reveal,.process-step.reveal {
  transform:translateY(32px) scale(.96);
  transition:opacity .7s cubic-bezier(0.22,1,0.36,1),transform .7s cubic-bezier(0.34,1.56,0.64,1);
}
.benefit-card.reveal.visible,.solution-card.reveal.visible,.process-step.reveal.visible {
  transform:translateY(0) scale(1);
}
@media (prefers-reduced-motion:reduce) {
  .stagger-grid > .reveal { transition-delay:0s !important; }
  .benefit-card.reveal,.solution-card.reveal,.process-step.reveal { transition:opacity .3s ease; }
}

/* SECTION */
.section { padding:100px 48px;max-width:1220px;margin:0 auto; }
.section-label { font-size:0.68rem;font-weight:500;letter-spacing:0.25em;text-transform:uppercase;color:var(--arnaldo);margin-bottom:12px; }
.outros-titulo { font-family:"Fredoka",sans-serif;font-weight:900;font-size:clamp(1.9rem,4.5vw,2.8rem);letter-spacing:0em;margin-bottom:14px; }
.outros-titulo span { color:var(--lavanda-light); }
.outros-sub { font-size:1rem;color:var(--cinza);max-width:560px;margin-bottom:40px; }
.sticker-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:16px; }
.sticker-card { background:var(--mid);border:2px solid var(--branco);border-radius:18px;padding:10px;text-align:center;transition:transform 0.3s cubic-bezier(0.22,1,0.36,1),border-color 0.3s; }
.sticker-card img { width:100%;height:120px;object-fit:contain;display:block;margin-bottom:10px; }
.sticker-card a { display:block;font-family:"Fredoka",sans-serif;font-size:0.78rem;font-weight:700;color:var(--branco);background:rgba(176,111,225,0.15);text-decoration:none;padding:8px 0;border-radius:100px;transition:background 0.2s; }
@media (max-width:600px){ .sticker-grid { grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px; } }

/* FEATURE */
.feat-block { background:var(--mid);border-radius:32px;padding:72px 64px;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;border:1px solid rgba(176,111,225,0.08);position:relative;overflow:hidden;transition:border-color 0.4s; }
.feat-block::after { content:"";position:absolute;inset:0;background:radial-gradient(ellipse 50% 80% at 80% 50%,rgba(183,132,212,0.05) 0%,transparent 70%);pointer-events:none; }
.badge { display:inline-flex;align-items:center;gap:8px;background:rgba(232,64,64,0.1);border:1px solid rgba(232,64,64,0.25);color:#FF8080;font-size:0.72rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;padding:6px 14px;border-radius:4px;margin-bottom:24px;animation:badgePulse 3s ease-in-out infinite; }
@keyframes badgePulse { 0%,100% { box-shadow:0 0 0 0 rgba(232,64,64,0); } 50% { box-shadow:0 0 0 6px rgba(232,64,64,0.05); } }
.feat-block h3 { font-family:"Fredoka",sans-serif;font-weight:900;font-size:3rem;line-height:1;color:var(--lavanda-light);margin-bottom:20px;letter-spacing:0em; }
.feat-block p { color:var(--cinza);line-height:1.75;font-size:0.96rem;margin-bottom:14px; }
.tags { display:flex;flex-wrap:wrap;gap:8px;margin-top:28px; }
.tag { background:rgba(176,111,225,0.07);border:1px solid rgba(176,111,225,0.18);color:var(--lavanda);font-size:0.74rem;font-weight:500;padding:6px 14px;border-radius:4px;transition:background-color 0.2s, transform 0.2s;cursor:default; }
.feat-imgs { position:relative;display:flex;align-items:center;justify-content:center;min-height:360px; }
@keyframes floatBase2 { 0%,100% { transform:translateY(0) rotate(-0.5deg); } 50% { transform:translateY(-18px) rotate(0.5deg); } }

/* PERSONAGENS */
.cards-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.char-card { background:var(--mid);border-radius:24px;padding:40px 28px;border:1px solid rgba(255,255,255,0.05);display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden;transition:transform 0.4s cubic-bezier(0.22,1,0.36,1),border-color 0.3s; }
.char-card::before { content:"";position:absolute;inset:0;opacity:0;transition:opacity 0.4s;pointer-events:none; }
.luna::before { background:radial-gradient(ellipse at 50% 0%,rgba(255,179,212,0.08) 0%,transparent 70%); }
.leo::before  { background:radial-gradient(ellipse at 50% 0%,rgba(136,204,255,0.08) 0%,transparent 70%); }
.theo::before { background:radial-gradient(ellipse at 50% 0%,rgba(255,220,150,0.08) 0%,transparent 70%); }
.char-img-wrap { width:100%;display:flex;justify-content:center;margin:16px 0 20px;min-height:180px;align-items:flex-end;position:relative; }
.char-img-wrap::before {
  content:"";position:absolute;left:50%;top:58%;
  width:78%;height:78%;transform:translate(-50%,-50%);
  border-radius:50%;filter:blur(20px);z-index:0;pointer-events:none;
  transition:filter 0.4s ease;
}
.luna  .char-img-wrap::before { background:radial-gradient(circle, rgba(255,105,180,0.45) 0%, rgba(255,105,180,0.20) 40%, rgba(255,105,180,0.06) 65%, transparent 82%); }
.leo   .char-img-wrap::before { background:radial-gradient(circle, rgba(90,170,255,0.45) 0%, rgba(90,170,255,0.20) 40%, rgba(90,170,255,0.06) 65%, transparent 82%); }
.theo  .char-img-wrap::before { display:none; }
.char-img { width:130px;height:auto;position:relative;z-index:1;filter:drop-shadow(0 12px 28px rgba(0,0,0,0.35));transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1); }
.char-proj-tag { font-size:0.68rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--cinza);background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.07);padding:4px 12px;border-radius:4px;margin-bottom:14px; }
.char-name { font-family:"Fredoka",sans-serif;font-weight:900;font-size:1.8rem;margin-bottom:10px; }
.luna  .char-name { color:#FFB3D4; }
.leo   .char-name { color:#88CCFF; }
.theo  .char-name { color:#FFDC96; }
.char-desc { color:var(--cinza);font-size:0.84rem;line-height:1.65;margin-bottom:20px;max-width:240px; }
.char-traits { display:flex;flex-wrap:wrap;justify-content:center;gap:6px; }
.trait { font-size:0.7rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;padding:4px 12px;border-radius:4px; }
.luna  .trait { border:1px solid rgba(255,179,212,0.25);color:#FFB3D4;background:rgba(255,179,212,0.05); }
.leo   .trait { border:1px solid rgba(136,204,255,0.25);color:#88CCFF;background:rgba(136,204,255,0.05); }
.theo  .trait { border:1px solid rgba(255,220,150,0.25);color:#FFDC96;background:rgba(255,220,150,0.05); }


/* SERVICOS */
.serv-head { max-width:760px;margin-bottom:44px; }
.serv-title { font-family:"Fredoka",sans-serif;font-weight:900;font-size:2.3rem;line-height:1.1;letter-spacing:0em;color:var(--branco);margin-bottom:18px; }
.serv-title span { display:block;color:var(--lavanda); }
.serv-sub { color:var(--cinza);line-height:1.75;font-size:0.96rem; }
.serv-grid { display:grid;grid-template-columns:1fr;gap:16px; }
.serv-card { display:block;text-decoration:none;color:inherit;background:var(--mid);border:1px solid rgba(176,111,225,0.08);border-radius:24px;padding:32px 28px;position:relative;overflow:hidden;cursor:pointer;touch-action:manipulation;transform-origin:center;transition:transform 0.34s cubic-bezier(0.16,1,0.3,1),border-color 0.3s,box-shadow 0.34s cubic-bezier(0.16,1,0.3,1);will-change:transform; }
.serv-card:focus-visible { transform:translateY(-8px) scale(1.04);border-color:rgba(217,180,242,0.72);box-shadow:0 0 0 1px rgba(176,111,225,0.18),0 0 26px rgba(183,132,212,0.18),0 22px 50px rgba(24,8,43,0.42); }
.serv-card:active { transform:translateY(-2px) scale(0.985);transition-duration:0.12s; }
.serv-card:focus-visible { outline:3px solid var(--lavanda);outline-offset:4px; }
.serv-card::before { content:"";position:absolute;inset:0;opacity:0;transition:opacity 0.4s;pointer-events:none;background:radial-gradient(ellipse 60% 100% at 0% 0%,rgba(183,132,212,0.08) 0%,transparent 70%); }
.serv-num { font-size:0.68rem;font-weight:600;letter-spacing:0.22em;color:var(--arnaldo);margin-bottom:14px; }
.serv-card h3 { font-family:"Fredoka",sans-serif;font-weight:900;font-size:1.35rem;color:var(--lavanda-light);margin-bottom:10px;letter-spacing:0.01em; }
.serv-card p { color:var(--cinza);font-size:0.88rem;line-height:1.7; }
.serv-link { display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:var(--lavanda-light)!important;font-weight:700;letter-spacing:.02em; }
.serv-link::after { content:"→";transition:transform .25s ease; }
@media (prefers-reduced-motion:reduce) {
  .serv-card { transition:border-color 0.2s,box-shadow 0.2s;will-change:auto; }
  .serv-card:hover,.serv-card:focus-visible,.serv-card:active { transform:none; }
}
.serv-lead { grid-column:1/-1; }
.serv-lead h3 { font-size:1.7rem; }
@media (min-width:860px) {
  .serv-title { font-size:3rem; }
  .serv-grid { grid-template-columns:repeat(2,1fr);gap:20px; }
  .serv-lead { padding:44px 40px; }
}

/* CASE DIVIKIDS */
.case-shell { background:linear-gradient(145deg,rgba(19,14,31,.96),rgba(45,16,80,.42));border:1px solid rgba(176,111,225,.13);border-radius:32px;padding:52px; }
.case-intro { display:block;margin-bottom:42px; }
.case-intro .outros-sub { margin:18px 0 0;max-width:780px; }
.case-points { display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px; }
.case-point { padding:22px;border-radius:18px;background:rgba(7,3,14,.56);border:1px solid rgba(176,111,225,.1); }
.case-point strong { display:block;font-family:"Fredoka",sans-serif;font-size:1rem;color:var(--lavanda-light);margin-bottom:8px; }
.case-point p { color:var(--cinza);font-size:.84rem;line-height:1.62; }
.strategy-line { border-left:3px solid var(--lavanda);padding:14px 0 14px 20px;margin:22px 0;color:var(--branco);font-weight:600;line-height:1.65; }
@media (max-width:768px){ .case-shell{padding:32px 22px}.case-intro{grid-template-columns:1fr;gap:18px}.case-points{grid-template-columns:1fr} }

/* SOBRE */
.sobre-section { padding:80px 24px; }
.sobre-block {
  background:var(--mid);border-radius:24px;
  padding:40px 28px;
  display:flex;flex-direction:column;
  gap:32px;align-items:center;
  border:1px solid rgba(176,111,225,0.08);
  position:relative;overflow:hidden;
  transition:border-color 0.4s;
}
.sobre-foto {
  display:flex;justify-content:center;
  width:100%;
}
.sobre-foto img {
  width:100%;max-width:240px;height:auto;
  border-radius:20px;
  filter:drop-shadow(0 16px 36px rgba(183,132,212,0.3));
}
.sobre-texto { width:100%;text-align:center; }
.sobre-nome {
  font-family:"Fredoka",sans-serif;font-weight:900;
  font-size:clamp(1.8rem,6vw,2.4rem);
  line-height:1;letter-spacing:0em;
  color:var(--lavanda-light);margin-bottom:10px;
}
.sobre-tag {
  font-size:0.68rem;font-weight:500;letter-spacing:0.15em;
  text-transform:uppercase;color:var(--arnaldo);
  margin-bottom:24px;display:block;
}
.sobre-bio {
  color:var(--cinza);line-height:1.75;font-size:0.92rem;
  margin-bottom:14px;max-width:480px;
  margin-left:auto;margin-right:auto;
}
.sobre-btns { margin-top:28px; }

@media (min-width:768px) {
  .sobre-section { padding:100px 48px; }
  .sobre-block {
    flex-direction:row;
    padding:64px;gap:64px;
    align-items:center;
  }
  .sobre-foto { width:auto;flex:0 0 260px; }
  .sobre-foto img { max-width:260px; }
  .sobre-texto { text-align:left;flex:1; }
  .sobre-bio { margin-left:0;margin-right:0;max-width:none; }
}

/* CONTATO */
.contato { padding:120px 48px;text-align:center;position:relative; }
.contato::before { content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:1px;height:80px;background:linear-gradient(to bottom,transparent,rgba(176,111,225,0.2)); }
.contato h2 { font-family:"Fredoka",sans-serif;font-weight:900;font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.05;margin-bottom:16px;letter-spacing:0em; }
.contato p { color:var(--cinza);margin-bottom:48px; }
.btns { display:flex;justify-content:center;gap:14px;flex-wrap:wrap; }
.btn { display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:100px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:700;font-size:0.92rem;text-decoration:none;transition:background-color 0.28s cubic-bezier(0.22,1,0.36,1), border-color 0.28s cubic-bezier(0.22,1,0.36,1), transform 160ms var(--ease-out), box-shadow 0.28s cubic-bezier(0.22,1,0.36,1); }
.btn:active { transform:scale(0.97); }
.btn-fill { background:var(--lavanda);color:#2a1240; }
.btn-ghost { border:1px solid rgba(176,111,225,0.25);color:var(--lavanda); }
footer { padding:36px 48px;text-align:center;border-top:1px solid rgba(255,255,255,0.04);color:var(--cinza);font-size:0.78rem; }

@keyframes fadeDown { from { opacity:0;transform:translateY(-20px); } to { opacity:1;transform:translateY(0); } }
@keyframes fadeIn { to { opacity:1; } }
@keyframes lineUp { to { opacity:1;transform:translateY(0); } }

@media (max-width:900px) {
  .galeria-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:768px) {
  nav { padding:10px 16px 8px; }
  .nav-links { gap:6px; flex-wrap:nowrap; }
  nav a { font-size:0.75rem; padding:10px 12px; }
  .section { padding:60px 24px; }
  .feat-block { grid-template-columns:1fr;padding:48px 28px;gap:40px; }
  .feat-block .feat-imgs { order:-1; }
  .cards-grid { grid-template-columns:1fr; }
  .galeria-grid { grid-template-columns:repeat(2,1fr);gap:8px; }
  .contato { padding:80px 24px; }
  .hero-content { padding:130px 24px 32px !important; }
}

/* TEMA / VÍDEO */
.video-wrap { max-width:900px;margin:0 auto; }
.video-frame {
  position:relative;width:100%;padding-top:56.25%;
  border-radius:24px;overflow:hidden;
  background:linear-gradient(135deg,rgba(45,16,80,0.55),rgba(19,14,31,0.85));
  border:1px solid rgba(176,111,225,0.18);
  box-shadow:0 24px 60px rgba(183,132,212,0.18);
}
.video-frame iframe { position:absolute;top:0;left:0;width:100%;height:100%;border:0;display:block; }
.video-cta {
  display:inline-flex;align-items:center;gap:10px;margin-top:24px;
  padding:14px 26px;border-radius:100px;text-decoration:none;
  font-family:"Fredoka",sans-serif;font-weight:800;font-size:0.95rem;
  color:#fff;background:#FF0000;
  box-shadow:0 12px 30px rgba(255,0,0,0.28);
  transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.25s;
  -webkit-tap-highlight-color:transparent;
}
.video-cta svg { width:22px;height:22px;display:block; }
@media (max-width:600px) {
  .video-frame { border-radius:18px; }
  .video-cta { font-size:0.88rem;padding:12px 22px; }
}
/* BOTÃO FLUTUANTE — FORMULÁRIO */
.form-float {
  position:fixed;right:20px;bottom:20px;z-index:200;
  width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--lavanda-light);background:linear-gradient(145deg,#7440A5,#4A246F);text-decoration:none;
  border:2px solid var(--lavanda);box-shadow:0 8px 22px rgba(116,64,165,.4);
  transition:transform .25s var(--ease-out),background .25s ease,box-shadow .25s ease;
  -webkit-tap-highlight-color:transparent;
}
.form-float:active { transform:scale(0.97); }
.form-float svg { width:20px;height:20px;flex:0 0 auto; }
.form-float span { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
@media (max-width:600px) {
  .form-float { right:16px;bottom:16px;width:38px;height:38px; }
  .form-float svg { width:18px;height:18px; }
}
.hero h1,.feat-block h3,.outros-titulo,.serv-title,.sobre-nome,.contato h2 {
  font-family:"Montserrat","Inter",sans-serif;
  font-weight:800;
  letter-spacing:.01em;
  line-height:1.12;
}
.hero-sub,.outros-sub,.serv-sub,.ip-teaser-text,.case-point p,.sobre-bio {
  letter-spacing:.018em;
  line-height:1.78;
}
.serv-card h3,.case-point strong { letter-spacing:.025em; }
.serv-card p,.case-point p { letter-spacing:.038em;line-height:1.82; }
.project-index {
  max-width:920px;
  margin:0 auto 96px;
  padding:clamp(42px,6vw,72px) clamp(24px,6vw,68px);
  text-align:center;
  border:1px solid rgba(176,111,225,.2);
  border-radius:28px;
  background:linear-gradient(135deg,rgba(45,16,80,.5),rgba(19,14,31,.92));
  box-shadow:0 24px 70px rgba(0,0,0,.22);
}
.project-index h2 {
  margin:14px auto 18px;
  color:var(--branco);
  font-family:"Montserrat","Inter",sans-serif;
  font-size:clamp(2rem,5vw,3.35rem);
  font-weight:800;
  letter-spacing:.01em;
  line-height:1.08;
}
.project-index h2 span { color:var(--lavanda-light); }
.project-index-text {
  max-width:660px;
  margin:0 auto 30px;
  color:var(--cinza);
  font-size:1.04rem;
  line-height:1.75;
}
.project-index-actions {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.project-index-actions .btn {
  transition:transform 160ms cubic-bezier(.23,1,.32,1),border-color 160ms ease,background-color 160ms ease;
}
.project-index-actions .btn:active { transform:scale(.97); }
.project-index-note {
  margin:20px auto 0;
  color:var(--cinza);
  font-size:.82rem;
  line-height:1.55;
  opacity:.78;
}
@media (max-width:600px) {
  .project-index { margin-bottom:70px;border-radius:22px; }
  .project-index-actions { align-items:stretch;flex-direction:column; }
  .project-index-actions .btn { width:100%;justify-content:center; }
}

/* NARRATIVA E CASES EXPANSÍVEIS */
.home-transition {
  max-width:820px;margin:0 auto;padding:100px 48px 84px;text-align:center;
}
.home-transition h2 {
  margin:14px auto 20px;font-family:"Montserrat","Inter",sans-serif;
  font-size:clamp(2rem,5vw,3.65rem);font-weight:800;line-height:1.08;
}
.home-transition h2 span { color:var(--lavanda-light); }
.home-transition p:last-child {
  max-width:680px;margin:0 auto;color:var(--cinza);font-size:1.05rem;line-height:1.78;
}
.cases-heading { max-width:760px;margin-bottom:46px; }
.cases-heading h2 {
  margin:12px 0 16px;font-family:"Montserrat","Inter",sans-serif;
  font-size:clamp(2.25rem,5vw,4rem);font-weight:800;line-height:1.06;
}
.cases-heading h2 span { color:var(--lavanda-light); }
.cases-heading p:last-child { color:var(--cinza);line-height:1.75; }
.cases-hint {
  display:inline-flex;align-items:center;gap:8px;
  margin-top:18px !important;padding:8px 18px;border-radius:100px;
  border:1px solid rgba(176,111,225,.3);background:rgba(176,111,225,.08);
  font-family:"Fredoka",sans-serif;font-weight:700;font-size:.82rem;
  letter-spacing:.02em;color:var(--lavanda-light) !important;line-height:1 !important;
}
.cases-hint::before { content:"✦";color:var(--arnaldo); }
.case-study {
  margin:0;border:1px solid rgba(176,111,225,.16);border-radius:30px;
  background:linear-gradient(145deg,rgba(19,14,31,.96),rgba(45,16,80,.26));
  overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.18);
}

/* PRÉDIO — ANDARES */
.building {
  position:relative;margin-top:8px;
  border-radius:30px;overflow:hidden;
  border:1px solid rgba(176,111,225,.16);
  box-shadow:0 24px 70px rgba(0,0,0,.18);
  background:#0a0518;
}
.floor { position:relative;z-index:1;margin-bottom:0;padding:8px 20px 0; }
.floor:not(:first-child) { border-top:1px solid rgba(176,111,225,.12); }
.floor .case-study { margin:0;border:none;border-radius:0;background:transparent;box-shadow:none; }
.floor-tag {
  display:flex;align-items:center;justify-content:center;gap:8px;
  font-family:"Fredoka",sans-serif;font-weight:700;
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--arnaldo);margin:0 0 4px;
}
.floor-door-icon {
  display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;border-radius:50%;font-size:.72rem;
  background:rgba(176,111,225,.14);border:1px solid rgba(176,111,225,.3);
}
.floor-cobertura .floor-door-icon { color:#F4D9A0;background:rgba(244,217,160,.14);border-color:rgba(244,217,160,.4); }
.floor-arnaldo .floor-door-icon { color:var(--coracao);background:rgba(232,64,64,.1);border-color:rgba(232,64,64,.35); }
.floor-divikids .floor-door-icon { color:#FFD86B;background:rgba(255,216,107,.12);border-color:rgba(255,216,107,.38); }
.floor-ozzy .floor-door-icon { color:#7CE3FF;background:rgba(124,227,255,.12);border-color:rgba(124,227,255,.4); }
.floor-ozzy .case-eyebrow { color:#7CE3FF; }
.floor-room { position:relative;width:100%;background:#0a0518; }
.floor-room img,.floor-room video { width:100%;height:auto;display:block;object-fit:contain;transition:opacity 220ms var(--ease-in-out),filter 220ms var(--ease-in-out); }

/* TRANSIÇÃO IMERSIVA — a câmera avança pra porta ao sair, e recua revelando o quarto ao chegar */
.page-transition-overlay { position:fixed;inset:0;z-index:9999;background:#08050f;opacity:0;pointer-events:none; }
html.js .page-transition-overlay.show { opacity:1;transition:opacity 420ms var(--ease-in-out); }
html.js .floor-room.door-zoom img,html.js .floor-room.door-zoom video {
  transition:transform 560ms var(--ease-in-out),filter 560ms var(--ease-in-out);
  transform:scale(1.4);transform-origin:50% 34%;filter:brightness(.5) blur(1px);
}
html.js .floor-room[data-arrival] img,html.js .floor-room[data-arrival] video { transform:scale(1.22);filter:brightness(.45); }
html.js .floor-room[data-arrival].door-enter-settle img,html.js .floor-room[data-arrival].door-enter-settle video {
  transition:transform 750ms var(--ease-out),filter 750ms var(--ease-out);
  transform:scale(1);filter:brightness(1);
}
@media (prefers-reduced-motion:reduce) {
  .page-transition-overlay,html.js .page-transition-overlay.show { opacity:0 !important;transition:none; }
  html.js .floor-room.door-zoom img,html.js .floor-room.door-zoom video,
  html.js .floor-room[data-arrival] img,html.js .floor-room[data-arrival] video { transform:none;filter:none;transition:none; }
}
@media (prefers-reduced-motion:reduce) {
  .floor-room img,.floor-room video { transition:none; }
}
.floor-sound-toggle {
  position:absolute;right:16px;bottom:16px;z-index:3;
  width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(20,10,38,.85);border:2px solid rgba(176,111,225,.55);
  color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  box-shadow:0 6px 20px rgba(0,0,0,.45),0 0 0 4px rgba(176,111,225,.08);
  transition:transform 160ms var(--ease-out),background-color 160ms var(--ease-out),border-color 160ms var(--ease-out),box-shadow 160ms var(--ease-out);
}
.floor-sound-toggle:active { transform:scale(0.92); }
@media (hover:hover) and (pointer:fine) {
  .floor-sound-toggle:hover { background:rgba(58,22,98,.9);border-color:rgba(176,111,225,.8);box-shadow:0 8px 26px rgba(0,0,0,.5),0 0 0 5px rgba(176,111,225,.14); }
}
.floor-sound-toggle svg { width:20px;height:20px;flex:0 0 auto; }
.floor-sound-toggle .icon-sound { display:none; }
.floor-sound-toggle[aria-pressed="true"] { background:rgba(176,111,225,.92);border-color:#fff; }
.floor-sound-toggle[aria-pressed="true"] svg { color:#1a0f2e; }
.floor-sound-toggle[aria-pressed="true"] .icon-muted { display:none; }
.floor-sound-toggle[aria-pressed="true"] .icon-sound { display:block; }
@media (max-width:640px) {
  .floor-sound-toggle { width:48px;height:48px;right:14px;bottom:14px; }
  .floor-sound-toggle svg { width:22px;height:22px; }
}

/* PAINEL DO ELEVADOR — trocar de andar direto de uma página de andar */
.elevator-panel {
  position:static;top:auto;left:auto;right:auto;z-index:auto;
  flex-direction:row;flex-wrap:wrap;gap:10px;justify-content:center;
  display:flex;align-items:center;
  padding:20px clamp(20px,4vw,40px);
  border-top:1px solid rgba(176,111,225,.14);
  background:rgba(7,3,14,.4);
  opacity:1;animation:none;
}
.elevator-panel-btn {
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 18px;border-radius:100px;
  border:1px solid rgba(176,111,225,.22);
  background:rgba(176,111,225,.07);
  color:var(--branco);text-decoration:none;
  font-family:"Fredoka",sans-serif;font-weight:600;font-size:.84rem;
  transition:transform 160ms var(--ease-out),border-color 160ms var(--ease-out),background-color 160ms var(--ease-out);
}
@media (hover:hover) and (pointer:fine) {
  .elevator-panel-btn:hover { border-color:rgba(176,111,225,.55);background:rgba(176,111,225,.16);transform:translateY(-2px); }
}
.elevator-panel-btn:active { transform:scale(0.97); }
.elevator-panel-btn:focus-visible { outline:3px solid var(--lavanda);outline-offset:3px; }

/* PORTA CLICÁVEL — leva pra página dedicada do andar (só a região da porta, sem rótulo) */
.floor-door-hotspot {
  position:absolute;left:50%;top:32%;width:32%;height:54%;
  transform:translateX(-50%);
  display:block;text-decoration:none;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.floor-door-hotspot:focus-visible { outline:3px solid var(--lavanda);outline-offset:4px;border-radius:8px; }
.floor-knock-hint {
  position:absolute;left:50%;bottom:8%;transform:translateX(-50%);
  background:rgba(7,3,14,.72);color:#fff;
  font-family:"Fredoka",sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.02em;
  padding:8px 16px;border-radius:100px;white-space:nowrap;
  border:1px solid rgba(176,111,225,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  opacity:.92;transition:opacity 200ms var(--ease-out),transform 200ms var(--ease-out);
}
@media (hover:hover) and (pointer:fine) {
  .floor-door-hotspot:hover .floor-knock-hint { opacity:1;transform:translateX(-50%) translateY(-3px); }
}
@media (max-width:600px) {
  .floor-knock-hint { font-size:.66rem;padding:7px 14px; }
}
@media (max-width:600px) {
  .floor { padding:6px 14px 0; }
  .building { border-radius:22px; }
}
.case-summary {
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);
  gap:clamp(30px,6vw,72px);align-items:center;padding:clamp(34px,6vw,68px);
}
.case-eyebrow {
  color:var(--arnaldo);font-size:.68rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;margin-bottom:14px;
}
.case-summary h1,.case-summary h3 {
  font-family:"Montserrat","Inter",sans-serif;font-size:clamp(2rem,4.5vw,3.65rem);
  font-weight:800;line-height:1.05;margin-bottom:20px;
}
.case-summary-copy { color:var(--cinza);font-size:.98rem;line-height:1.76; }
.case-quote {
  margin:24px 0 26px;padding:18px 0 18px 20px;border-left:3px solid var(--lavanda);
  color:var(--lavanda-light);font-family:"Fredoka",sans-serif;font-weight:700;
  font-size:clamp(1rem,2vw,1.25rem);line-height:1.45;
}
.case-toggle {
  min-height:48px;padding:0 22px;border:1px solid var(--lavanda);border-radius:100px;
  color:#160d20;background:var(--lavanda);font:700 .86rem "Inter",sans-serif;
  cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;
}
.case-toggle:focus-visible { outline:3px solid #fff;outline-offset:4px; }
.case-visual {
  min-height:390px;position:relative;display:grid;place-items:center;overflow:hidden;
  border-radius:24px;background:radial-gradient(circle at 50% 38%,rgba(176,111,225,.25),transparent 48%),#0d0915;
}
.case-visual img { width:100%;height:100%;max-height:540px;object-fit:contain;position:relative;z-index:1; }
.case-visual .arnaldo-stage .arnaldo-img {
  position:absolute;inset:0;width:100%;height:100%;max-height:none;
  object-fit:contain;object-position:center bottom;z-index:1;
}
.case-visual.characters {
  display:grid;grid-template-columns:36% 36% 28%;align-items:end;justify-content:center;
  gap:0;padding:24px 8px 0;
}
.case-visual.characters img {
  width:100%;height:360px;object-fit:contain;object-position:center bottom;margin:0;
}
.case-visual.characters img:nth-child(3) { height:245px; }
.case-visual.ozzy { background:linear-gradient(145deg,#d8efff,#76b8f1); }
.case-visual.ozzy img { object-fit:cover;object-position:center 24%; }
.case-details { border-top:1px solid rgba(176,111,225,.14); }
.case-details-inner { padding:clamp(34px,6vw,70px);animation:caseReveal .38s cubic-bezier(.22,1,.36,1); }
@keyframes caseReveal { from{opacity:0;transform:translateY(-12px)} to{opacity:1;transform:none} }
.case-story-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:30px; }
.story-block {
  padding:28px;border:1px solid rgba(176,111,225,.12);border-radius:20px;
  background:rgba(7,3,14,.38);
}
.story-block.wide { grid-column:1/-1; }
.story-block h4 {
  margin:0 0 12px;color:var(--lavanda-light);font-family:"Montserrat","Inter",sans-serif;
  font-size:1.18rem;font-weight:800;line-height:1.25;
}
.story-block p { color:var(--cinza);font-size:.92rem;line-height:1.75; }
.story-block p+p { margin-top:12px; }
.curiosity { border-color:rgba(255,255,255,.18);background:linear-gradient(145deg,rgba(176,111,225,.11),rgba(7,3,14,.38)); }
.media-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:32px 0; }
.media-card { overflow:hidden;border:1px solid rgba(176,111,225,.14);border-radius:20px;background:#07030e; }
.media-card img,.media-card video { width:100%;aspect-ratio:16/10;object-fit:cover;display:block;background:#050308; }
.media-card.portrait img { aspect-ratio:4/5;object-fit:cover; }
.media-card.pesquisa-app img { aspect-ratio:1440/1380;object-fit:cover; }
.media-card.vertical-video { text-align:center; }
.media-card.vertical-video video {
  width:min(100%,405px);height:auto;aspect-ratio:9/16;object-fit:contain;
  margin:0 auto;background:#050308;
}
.media-card.vertical-image { text-align:center; }
.media-card.vertical-image img {
  width:min(100%,405px);height:auto;aspect-ratio:9/16;object-fit:contain;
  margin:0 auto;background:#050308;
}
.media-card.timeline-current { grid-column:1/-1;width:100%;max-width:480px;justify-self:center; }
.media-card.store-application { max-width:405px;margin:32px auto; }
.media-card.store-application img {
  width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;
  background:#050308;
}
.media-caption { padding:16px 18px;color:var(--cinza);font-size:.82rem;line-height:1.55; }
.media-caption strong { display:block;color:var(--branco);font-size:.9rem;margin-bottom:4px; }
.youtube-card { max-width:760px;margin:32px auto; }
.youtube-play { width:100%;padding:0;border:0;background:#050308;color:#fff;cursor:pointer;position:relative;display:block; }
.youtube-play img { width:100%;aspect-ratio:16/9;object-fit:cover;display:block;opacity:.74; }
.youtube-play span { position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:13px 22px;border-radius:100px;background:#ff0000;color:#fff;font:800 .92rem "Fredoka",sans-serif;box-shadow:0 12px 32px rgba(0,0,0,.35);white-space:nowrap; }
.youtube-play:focus-visible { outline:3px solid var(--lavanda);outline-offset:4px; }
.youtube-card iframe { width:100%;aspect-ratio:16/9;border:0;display:block; }
.character-family { display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0; }
.character-family .char-card { padding:28px 20px; }
.character-family .char-card.theo .char-img { width:105px; }
.case-reflection {
  margin:34px auto 0;max-width:780px;text-align:center;color:var(--lavanda-light);
  font-family:"Fredoka",sans-serif;font-size:clamp(1.2rem,2.8vw,1.65rem);font-weight:700;line-height:1.5;
}
.case-actions { display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px; }
.case-actions a { text-decoration:none; }
.arnaldo-case-stage { min-height:410px; }
.services-conversation { max-width:720px;margin-bottom:24px; }
.services-conversation p:last-child { color:var(--cinza);font-size:1.02rem;line-height:1.75; }
@media (max-width:820px) {
  .case-summary { grid-template-columns:1fr; }
  .case-visual { min-height:340px; }
  .case-story-grid,.media-grid { grid-template-columns:1fr; }
  .story-block.wide { grid-column:auto; }
  .character-family { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .home-transition { padding:78px 24px 64px; }
  .case-study { border-radius:22px; }
  .case-summary,.case-details-inner { padding:30px 22px; }
  .case-visual { min-height:290px;border-radius:18px; }
  .case-visual.characters img { height:270px; }
  .case-visual.characters img:nth-child(3) { height:180px; }
  .story-block { padding:22px 18px; }
}
@media (prefers-reduced-motion:reduce) {
  .case-details-inner { animation:none; }
  .case-toggle { transition:none; }
}

/* BENEFÍCIOS */
.benefits-grid { display:grid;grid-template-columns:1fr;gap:16px;margin-top:8px; }
.benefit-card {
  background:var(--mid);border:1px solid rgba(176,111,225,0.1);border-radius:22px;
  padding:30px 26px;transition:border-color 0.3s,transform 0.3s;
}
.benefit-icon {
  width:44px;height:44px;border-radius:14px;margin-bottom:18px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(176,111,225,0.12);border:1px solid rgba(176,111,225,0.25);color:var(--lavanda-light);
}
.benefit-icon svg { width:22px;height:22px; }
.benefit-card h3 { font-family:"Montserrat","Inter",sans-serif;font-weight:800;font-size:1.08rem;color:var(--branco);margin-bottom:10px;line-height:1.3; }
.benefit-card p { color:var(--cinza);font-size:0.92rem;line-height:1.7; }
@media (min-width:640px) { .benefits-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px) { .benefits-grid { grid-template-columns:repeat(4,1fr); } }

/* SOLUÇÕES */
.solutions-grid { display:grid;grid-template-columns:1fr;gap:20px;margin-top:8px; }
.solution-card {
  background:linear-gradient(160deg,rgba(19,6,36,.96),rgba(62,25,92,.34));
  border:1px solid rgba(176,111,225,0.14);border-radius:24px;
  padding:36px 30px;display:flex;flex-direction:column;
  transition:border-color 0.3s,transform 0.3s;
}
.solution-card h3 { font-family:"Montserrat","Inter",sans-serif;font-weight:800;font-size:1.3rem;color:var(--lavanda-light);margin-bottom:18px; }
.solution-list { list-style:none;margin:0 0 26px;display:flex;flex-direction:column;gap:10px;flex:1; }
.solution-list li { color:var(--cinza);font-size:0.9rem;line-height:1.6;padding-left:22px;position:relative; }
.solution-list li::before { content:"✦";position:absolute;left:0;top:0;color:var(--rosa);font-size:0.78rem; }
@media (min-width:900px) { .solutions-grid { grid-template-columns:repeat(3,1fr); } }

/* PROCESSO */
.process-grid { display:grid;grid-template-columns:1fr;gap:16px;margin-top:8px; }
.process-step {
  background:var(--mid);border:1px solid rgba(176,111,225,0.1);border-radius:20px;
  padding:26px 24px;
}
.process-num { font-family:"Montserrat","Inter",sans-serif;font-weight:800;font-size:0.85rem;color:var(--rosa);letter-spacing:0.05em;margin-bottom:10px; }
.process-step h3 { font-family:"Montserrat","Inter",sans-serif;font-weight:700;font-size:1.05rem;color:var(--branco);margin-bottom:8px; }
.process-step p { color:var(--cinza);font-size:0.88rem;line-height:1.65; }
@media (min-width:640px) { .process-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px) { .process-grid { grid-template-columns:repeat(3,1fr); } }

/* FAQ */
.faq-list { display:flex;flex-direction:column;gap:12px;margin-top:8px;max-width:820px; }
.faq-item {
  background:var(--mid);border:1px solid rgba(176,111,225,0.12);border-radius:16px;
  overflow:hidden;
}
.faq-item summary {
  list-style:none;cursor:pointer;padding:20px 52px 20px 24px;position:relative;
  font-family:"Montserrat","Inter",sans-serif;font-weight:700;font-size:0.98rem;color:var(--branco);
  line-height:1.4;
}
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after {
  content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);
  font-size:1.3rem;color:var(--rosa);font-weight:400;transition:transform 0.25s var(--ease-out);line-height:1;
}
.faq-item[open] summary::after { transform:translateY(-50%) rotate(45deg); }
.faq-item summary:focus-visible { outline:3px solid var(--lavanda);outline-offset:-3px; }
.faq-answer { padding:0 24px 22px;color:var(--cinza);font-size:0.92rem;line-height:1.75; }
@media (prefers-reduced-motion:reduce) { .faq-item[open] summary::after { transition:none; } }

/* PORTFÓLIO — CTA explícito sob cada porta */
.floor-cta-row { display:flex;justify-content:center;padding:14px 0 22px; }
.floor-cta-row a { text-decoration:none; }
.portfolio-heading { max-width:760px;margin-bottom:8px; }

/* HOVERS — só em dispositivos com mouse real, evita hover "grudado" no toque */
@media (hover:hover) and (pointer:fine) {
  nav a:hover { color:var(--branco);border-color:rgba(176,111,225,0.55);background:rgba(176,111,225,0.16);box-shadow:0 0 0 1px rgba(232,64,64,0.18); }
  .sticker-card:hover { transform:translateY(-4px);border-color:var(--lavanda); }
  .sticker-card a:hover { background:var(--lavanda);color:#1A0A2E; }
  .feat-block:hover { border-color:rgba(176,111,225,0.2); }
  .tag:hover { background:rgba(176,111,225,0.14);transform:translateY(-2px); }
  .char-card:hover { transform:translateY(-8px);border-color:rgba(255,255,255,0.1); }
  .char-card:hover::before { opacity:1; }
  .char-card:hover .char-img-wrap::before { filter:blur(26px); }
  .char-card:hover .char-img { transform:scale(1.08) translateY(-6px); }
  .serv-card:hover { transform:translateY(-8px) scale(1.04);border-color:rgba(217,180,242,0.72);box-shadow:0 0 0 1px rgba(176,111,225,0.18),0 0 26px rgba(183,132,212,0.18),0 22px 50px rgba(24,8,43,0.42); }
  .serv-card:hover::before { opacity:1; }
  .serv-card:hover .serv-link::after { transform:translateX(5px); }
  .sobre-block:hover { border-color:rgba(176,111,225,0.18); }
  .btn-fill:hover { background:var(--lavanda-light);transform:translateY(-3px);box-shadow:0 16px 40px rgba(176,111,225,0.3); }
  .btn-ghost:hover { border-color:var(--lavanda);background:rgba(176,111,225,0.07);transform:translateY(-3px); }
  .video-cta:hover { transform:translateY(-3px) scale(1.03);box-shadow:0 16px 38px rgba(255,0,0,0.38); }
  .form-float:hover { transform:translateY(-3px) scale(1.06);background:linear-gradient(145deg,#8752B9,#5A2C84);box-shadow:0 12px 28px rgba(183,132,212,.45); }
  .case-toggle:hover { transform:translateY(-2px);box-shadow:0 12px 28px rgba(183,132,212,.2); }
  .benefit-card:hover { transform:translateY(-6px);border-color:rgba(176,111,225,0.35); }
  .solution-card:hover { transform:translateY(-6px);border-color:rgba(176,111,225,0.4); }
  .process-step:hover { transform:translateY(-4px);border-color:rgba(176,111,225,0.3); }
  .faq-item:hover { border-color:rgba(176,111,225,0.3); }
  .nav-cta:hover { transform:translateY(-2px);box-shadow:0 10px 24px rgba(235,33,123,0.45); }
}
.benefit-card,.solution-card,.process-step,.faq-item { transition:transform 0.3s var(--ease-out),border-color 0.3s; }
@media (prefers-reduced-motion:reduce) {
  .benefit-card,.solution-card,.process-step,.nav-cta { transition:border-color 0.2s;}
  .benefit-card:hover,.solution-card:hover,.process-step:hover,.nav-cta:hover { transform:none; }
}
