/* Estilo do site. As cores principais vêm de conteudo.js (seção "cores"). */
:root{
  --fundo:#111214; --fundo-2:#1b1c1f; --fundo-3:#25262a;
  --destaque:#ffb224; --destaque-2:#ffc95c; --icone:#7ee0c3; --faixa-texto:#141414;
  --texto:#f3f2ef; --suave:#a3a3a8; --linha:rgba(255,255,255,.11);
  --wa:#25d366; --wa-texto:#06301a;
  --claro:#f3f1ec; --claro-texto:#1c1b1a; --claro-suave:#5c5852;
  --titulo:"Sora","Segoe UI",system-ui,sans-serif;
  --corpo:"Manrope","Segoe UI",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;background:var(--fundo);color:var(--texto);font-family:var(--corpo);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--titulo);line-height:1.08;margin:0;letter-spacing:-.02em;text-wrap:balance}
p{margin:0}
.cx{max-width:1160px;margin-inline:auto;padding-inline:20px}
.etiqueta{font-family:var(--titulo);font-weight:600;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--destaque-2)}
.dest{color:var(--destaque)}
:focus-visible{outline:3px solid var(--destaque);outline-offset:3px;border-radius:6px}

/* botões */
.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--titulo);font-weight:600;font-size:1rem;text-decoration:none;padding:.95em 1.4em;border-radius:999px;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s}
.btn svg{width:1.2em;height:1.2em;flex:none}
.btn-wa{background:var(--wa);color:var(--wa-texto);box-shadow:0 10px 30px -10px rgba(37,211,102,.55)}
.btn-wa:hover,.btn-ig:hover{transform:translateY(-2px)}
.btn-borda{background:transparent;color:var(--texto);box-shadow:inset 0 0 0 1.5px var(--linha)}
.btn-borda:hover{box-shadow:inset 0 0 0 1.5px var(--destaque)}
.btn-ig{background:linear-gradient(90deg,#f58529,#dd2a7b 50%,#8134af);color:#fff}

/* topo */
.topo{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--fundo) 84%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--linha)}
.topo .cx{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:14px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--titulo);font-weight:800;font-size:.84rem;letter-spacing:.26em;line-height:1.15;text-transform:uppercase;text-decoration:none}
.logo svg{width:18px;height:18px;color:var(--destaque)}
.logo small{display:block;font-weight:600;font-size:.56rem;letter-spacing:.5em;color:var(--suave)}
.logo-img img{height:40px;width:auto}
.rodape .logo-img img{height:56px}
.menu{display:flex;gap:26px;font-family:var(--titulo);font-size:.88rem;font-weight:600}
.menu a{text-decoration:none;color:var(--suave);transition:color .2s}
.menu a:hover{color:var(--texto)}
.topo .btn{padding:.6em 1.1em;font-size:.86rem}

/* abertura */
.hero{position:relative;padding-block:56px 80px;background:radial-gradient(100% 80% at 85% 0%,color-mix(in srgb,var(--destaque) 30%,transparent) 0%,transparent 60%)}
.hero-grade{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero h1{font-weight:800;font-size:clamp(2.4rem,5.4vw,4.3rem);margin-block:16px 22px}
.hero h1 .dest{color:var(--destaque)}
.chamada{font-size:1.14rem;color:var(--suave);max-width:34em}
.chamada b{color:var(--texto);font-weight:600}
.vantagens{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:8px}
.vantagens li{display:flex;gap:10px;align-items:flex-start;color:var(--suave)}
.vantagens b{color:var(--texto);font-weight:600}
.vantagens svg{width:20px;height:20px;color:var(--wa);flex:none;margin-top:3px}
.acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.numeros{display:flex;flex-wrap:wrap;gap:30px;margin-top:40px;padding-top:24px;border-top:1px solid var(--linha)}
.numeros div{display:flex;flex-direction:column}
.numeros strong{font-family:var(--titulo);font-weight:800;font-size:1.85rem;line-height:1}
.numeros span{font-size:.85rem;color:var(--suave);margin-top:6px}

/* tela de câmera (vídeo da abertura) */
.camera{position:relative;justify-self:center;width:min(100%,340px)}
.tela{position:relative;aspect-ratio:9/16;border-radius:28px;overflow:hidden;background:var(--fundo-2);box-shadow:0 40px 80px -30px rgba(0,0,0,.7),0 0 0 1px var(--linha)}
.tela video,.tela img{width:100%;height:100%;object-fit:cover}
.tela::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,transparent 22%,transparent 70%,rgba(0,0,0,.8) 100%)}
.hud{position:absolute;z-index:2;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:.76rem;color:#fff}
.hud.cima{top:14px}.hud.baixo{bottom:16px}
.rec{display:flex;align-items:center;gap:7px}
.rec i{width:9px;height:9px;border-radius:50%;background:#ff4545;animation:piscar 1.2s steps(2) infinite}
.som{display:inline-flex;align-items:center;gap:6px;border:0;cursor:pointer;font:600 .72rem var(--titulo);color:#111;background:var(--texto);padding:.45em .8em;border-radius:999px}
.som svg{width:15px;height:15px}
.selo{position:absolute;z-index:3;left:-30px;bottom:18%;background:var(--texto);color:#151515;font-family:var(--titulo);font-weight:700;font-size:.85rem;padding:.55em .9em;border-radius:12px;box-shadow:0 14px 30px -12px rgba(0,0,0,.6)}
.selo small{display:block;font-weight:600;font-size:.66rem;color:color-mix(in srgb,var(--destaque) 70%,#000);letter-spacing:.08em;text-transform:uppercase}

/* quadro vazio (quando ainda não há vídeo/foto) */
.vazio{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;padding:16px;color:var(--suave);font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;
  background:radial-gradient(120% 70% at 50% 0%,color-mix(in srgb,var(--destaque) 18%,transparent),transparent 70%),repeating-linear-gradient(135deg,var(--fundo-2) 0 14px,var(--fundo-3) 14px 28px)}
.vazio svg{width:30px;height:30px;color:var(--destaque);opacity:.85}

/* faixa rolante */
.faixa{overflow:hidden;background:var(--destaque);color:var(--faixa-texto);padding-block:14px}
.faixa-trilho{display:flex;gap:36px;width:max-content;animation:rolar 36s linear infinite;font-family:var(--titulo);font-weight:800;font-size:1.15rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.faixa-trilho span{display:flex;align-items:center;gap:36px}
.faixa-trilho svg{width:14px;height:14px}

/* seções */
section.bloco{padding-block:96px}
section.alt{background:color-mix(in srgb,var(--fundo) 95%,#fff)}
section[id]{scroll-margin-top:64px}
.cabeca{max-width:740px;margin-bottom:44px;display:flex;flex-direction:column;gap:14px}
.cabeca h2{font-weight:800;font-size:clamp(2rem,4.2vw,3.05rem)}
.cabeca p{color:var(--suave);font-size:1.07rem}

/* mural de bastidores */
.mural{display:grid;grid-template-columns:repeat(var(--cols,4),1fr);gap:14px;padding-bottom:28px}
.reel.abre{cursor:pointer}
.reel .ver{position:absolute;z-index:2;top:50%;left:50%;width:54px;height:54px;margin:-27px 0 0 -27px;display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5);opacity:0;transform:scale(.85);transition:opacity .25s,transform .25s}
.reel .ver svg{width:24px;height:24px;margin-left:3px}
.reel.abre:hover .ver,.reel.abre:focus-visible .ver{opacity:1;transform:none}
.reel.abre:hover video{filter:brightness(.8)}
@media (hover:none){.reel .ver{opacity:.9;transform:none;width:44px;height:44px;margin:-22px 0 0 -22px}}

/* janela do vídeo completo */
.janela{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.86);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.janela[hidden]{display:none}
.janela-caixa{position:relative;height:min(88vh,calc((100vw - 40px) * 16 / 9));aspect-ratio:9/16;max-width:100%}
.janela video{width:100%;height:100%;border-radius:20px;background:#000;object-fit:contain}
.janela-fechar{position:absolute;top:-6px;right:-58px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--texto);color:#111;cursor:pointer}
.janela-fechar svg{width:20px;height:20px}
@media (max-width:600px){.janela-fechar{top:10px;right:10px}}
.reel{position:relative;aspect-ratio:9/16;border-radius:18px;overflow:hidden;background:var(--fundo-2);margin:0}
.reel video,.reel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reel figcaption{position:absolute;z-index:2;left:12px;right:12px;bottom:12px;font-family:var(--titulo);font-weight:600;font-size:.82rem;line-height:1.25}
.reel figcaption small{display:block;font-family:var(--mono);font-weight:500;font-size:.66rem;color:var(--destaque-2);text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px}
.reel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,8,8,.85) 100%);pointer-events:none}
.mural .reel:nth-child(even){transform:translateY(28px)}
.mural .reel:nth-child(even).aparece:not(.visivel){transform:translateY(52px)}

/* instagram */
.perfil{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding:28px 30px;border-radius:24px;background:var(--fundo-2);box-shadow:inset 0 0 0 1px var(--linha);margin-bottom:18px}
.avatar{position:relative;width:96px;height:96px;border-radius:50%;padding:3px;background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af)}
.avatar img,.avatar .vazio{width:100%;height:100%;border-radius:50%;object-fit:cover}
.avatar .vazio{position:relative;inset:auto;font-size:0;gap:0}
.perfil h2{font-weight:800;font-size:clamp(1.6rem,3.4vw,2.3rem);margin-block:6px 8px}
.perfil p:last-child{color:var(--suave)}
.grade-ig{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;border-radius:18px;overflow:hidden}
.grade-ig a{position:relative;display:block;aspect-ratio:4/5;background:var(--fundo-3);overflow:hidden}
.grade-ig img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .3s}
.grade-ig a:hover img{transform:scale(1.05);filter:brightness(.7)}
.grade-ig .tipo{position:absolute;z-index:2;top:10px;right:10px;width:22px;height:22px;color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}
.mais-ig{margin-top:18px;text-align:center;font-family:var(--titulo);font-weight:600}
.mais-ig a{color:var(--destaque-2);text-decoration:none}

/* serviços */
.servicos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.servico{padding:28px 26px;border-radius:20px;background:var(--fundo-2);box-shadow:inset 0 0 0 1px var(--linha);display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit;transition:box-shadow .2s}
.servico:hover{box-shadow:inset 0 0 0 1.5px var(--destaque)}
.servico .n{font-family:var(--mono);font-size:.74rem;color:var(--destaque-2)}
.servico h3{font-size:1.28rem;font-weight:700}
.servico p{color:var(--suave);font-size:.97rem}
.servico .mais{margin-top:auto;padding-top:8px;font-family:var(--titulo);font-weight:600;font-size:.9rem;color:var(--destaque-2)}

/* incluso */
.incluso{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--linha)}
.incluso div{padding:26px 24px 26px 0;border-bottom:1px solid var(--linha)}
.incluso h3{font-size:1.04rem;font-weight:700;display:flex;gap:10px;align-items:center;margin-bottom:6px}
.incluso h3 svg{width:18px;height:18px;color:var(--icone);flex:none}
.incluso p{color:var(--suave);font-size:.95rem}

/* passos */
.passos{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:p}
.passo{padding:26px 22px;border-radius:20px;background:var(--fundo-2)}
.passo::before{counter-increment:p;content:"0" counter(p);font-family:var(--titulo);font-weight:800;font-size:2.4rem;color:var(--destaque);line-height:1;display:block;margin-bottom:14px}
.passo h3{font-size:1.14rem;font-weight:700;margin-bottom:6px}
.passo p{color:var(--suave);font-size:.95rem}

/* quem somos (claro) */
.sobre{background:var(--claro);color:var(--claro-texto)}
.sobre .etiqueta{color:color-mix(in srgb,var(--destaque) 78%,#000)}
.sobre-grade{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}
.retrato{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:2/3;box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}
.retrato img{width:100%;height:100%;object-fit:cover}
.sobre h2{font-weight:800;font-size:clamp(2rem,4.2vw,3.05rem);margin-block:14px 22px}
.sobre p{color:var(--claro-suave);font-size:1.05rem;margin-bottom:16px;max-width:36em}
.sobre p b{color:var(--claro-texto)}
.selos{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.selos span{font-family:var(--titulo);font-weight:600;font-size:.84rem;padding:.5em .9em;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}

/* estúdio */
.estudio-grade{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cartao{padding:32px 30px;border-radius:24px;background:var(--fundo-2);box-shadow:inset 0 0 0 1px var(--linha)}
.cartao h3{font-size:1.5rem;font-weight:700;margin-bottom:12px}
.cartao p{color:var(--suave)}
.cartao .end{font-family:var(--titulo);font-weight:600;font-size:1.2rem;color:var(--texto);margin-block:6px 18px}
.cartao .btn{margin-top:20px}
.mapa{border-radius:24px;overflow:hidden;min-height:320px;background:var(--fundo-3);box-shadow:inset 0 0 0 1px var(--linha)}
.mapa iframe{width:100%;height:100%;min-height:320px;border:0;filter:grayscale(.6) invert(.9) hue-rotate(180deg) contrast(.9)}

/* perguntas */
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-family:var(--titulo);font-weight:600;font-size:1.1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--destaque);font-size:1.5rem;line-height:1;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--suave);padding-bottom:22px;max-width:44em}

/* contato final */
.contato{background:radial-gradient(90% 90% at 50% 100%,color-mix(in srgb,var(--destaque) 30%,transparent),transparent 65%),var(--fundo);text-align:center}
.contato h2{font-weight:800;font-size:clamp(2.2rem,5vw,3.7rem);margin-block:14px 18px}
.contato .chamada{margin:0 auto 30px}
.contato .acoes{justify-content:center}
.canais{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:56px;text-align:left}
.canais a,.canais div{display:block;text-decoration:none;padding:20px;border-radius:18px;background:var(--fundo-2);box-shadow:inset 0 0 0 1px var(--linha)}
.canais small{display:block;font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--destaque-2);margin-bottom:6px}
.canais span{font-family:var(--titulo);font-weight:600;font-size:.96rem;overflow-wrap:anywhere}
.canais .email{overflow-wrap:normal}

/* rodapé */
.rodape{padding-block:56px 110px;border-top:1px solid var(--linha);color:var(--suave);font-size:.92rem}
.rodape-grade{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}
.rodape-grade p{margin-top:14px;max-width:24em}
.rodape h2{font-family:var(--titulo);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--destaque-2);margin-bottom:14px}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rodape a{text-decoration:none}
.rodape a:hover{color:var(--texto)}
.rodape address{font-style:normal;display:flex;flex-direction:column;gap:8px}
.copyright{margin-top:40px;padding-top:20px;border-top:1px solid var(--linha);font-size:.82rem}

/* botão flutuante do WhatsApp */
.fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:30;display:flex;align-items:center;gap:8px;background:var(--wa);color:var(--wa-texto);font-family:var(--titulo);font-weight:700;text-decoration:none;padding:.85em 1.2em;border-radius:999px;box-shadow:0 14px 34px -10px rgba(37,211,102,.7)}
.fab svg{width:22px;height:22px}

/* animação ao rolar */
.aparece{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.aparece.visivel{opacity:1;transform:none}
.mural .reel:nth-child(even).aparece.visivel{transform:translateY(28px)}
@keyframes piscar{50%{opacity:0}}
@keyframes rolar{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.faixa-trilho{animation:none}.aparece{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* tablet */
@media (max-width:960px){
  .menu{display:none}
  .hero-grade,.sobre-grade,.estudio-grade{grid-template-columns:1fr;gap:44px}
  .camera{width:min(78%,320px)}
  .selo{left:-14px}
  .servicos,.incluso,.passos,.canais{grid-template-columns:1fr 1fr}
  .mural{grid-template-columns:repeat(3,1fr)}
  .retrato{max-width:420px}
  .perfil{grid-template-columns:auto 1fr}
  .perfil .btn{grid-column:1/-1;justify-self:start}
  .rodape-grade{grid-template-columns:1fr 1fr}
}
/* celular */
@media (max-width:600px){
  body{font-size:16px}
  section.bloco{padding-block:72px}
  .hero{padding-block:32px 64px}
  .topo .btn span{display:none}
  .incluso,.canais,.rodape-grade{grid-template-columns:1fr}
  /* serviços e passos: dois por linha no celular */
  .servicos,.passos{grid-template-columns:1fr 1fr;gap:10px}
  .servico{padding:18px 14px;gap:6px;border-radius:16px}
  .servico h3{font-size:1rem;line-height:1.15}
  .servico p{font-size:.84rem;line-height:1.45}
  .servico .mais{font-size:.8rem}
  .passo{padding:18px 14px;border-radius:16px}
  .passo::before{font-size:1.8rem;margin-bottom:10px}
  .passo h3{font-size:1rem}
  .passo p{font-size:.84rem;line-height:1.45}
  .incluso div{padding-right:0}
  .mural{gap:10px;grid-template-columns:repeat(2,1fr)}
  .logo-img img{height:34px}
  .mural .reel:nth-child(even),.mural .reel:nth-child(even).aparece.visivel{transform:translateY(18px)}
  /* números da abertura: os três na mesma linha */
  .numeros{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
  .numeros strong{font-size:1.05rem;line-height:1.15}
  .numeros span{font-size:.72rem;line-height:1.3;margin-top:4px}
  .perfil{grid-template-columns:1fr;padding:22px;gap:16px}
  .avatar{width:76px;height:76px}
  .grade-ig{gap:3px;border-radius:12px}
  .fab span{display:none}
  .fab{padding:.9em}
}
