/* Vitrine pública do studio.caracol.media. Mesma linguagem da área do cliente (portal/cliente/app.css), copiada para ficar autocontida. */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-display:swap;font-weight:200 800;src:url(/fontes/bricolage-grotesque-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-display:swap;font-weight:200 800;src:url(/fontes/bricolage-grotesque-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-display:swap;font-weight:400;src:url(/fontes/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-display:swap;font-weight:500;src:url(/fontes/ibm-plex-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-display:swap;font-weight:600;src:url(/fontes/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}

:root{
  --papel:#fdf9f2;--tinta:#17130f;--sol:#ffc414;--laranja:#ff8c00;--brasa:#e85d04;--creme:#fff1d1;
  --tinta2:#4a4440;--tinta3:#81786f;--linha:#eee3d1;--linha2:#f7efe1;
  --ok:#17845a;--ok-bg:#e5f4ec;--troca:#b45f06;--troca-bg:#fff0dc;--fora:#b4443c;--fora-bg:#fbeceb;
  --assina:linear-gradient(100deg,var(--sol) 0%,var(--laranja) 52%,var(--brasa) 100%);
  --raio:26px;--raio-p:14px;
  --sombra:0 1px 0 rgba(23,19,15,.04),0 18px 40px -26px rgba(120,60,0,.35);
  --brilho:0 10px 30px -8px rgba(255,140,0,.65),0 2px 0 rgba(255,255,255,.5) inset;
  --suave:cubic-bezier(.22,1,.36,1);--mola:cubic-bezier(.34,1.56,.64,1);
  --f-titulo:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  --f-corpo:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:84px}
body{background:var(--papel);color:var(--tinta);font:15px/1.55 var(--f-corpo);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden;overflow-x:clip}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
a{color:inherit}
img,video{display:block;max-width:100%}
:focus-visible{outline:2.5px solid var(--brasa);outline-offset:3px;border-radius:10px}
h1,h2,h3{font-family:var(--f-titulo);font-weight:800;letter-spacing:-.035em;line-height:1;text-wrap:balance}
h1{font-size:clamp(50px,9.6vw,124px);letter-spacing:-.055em;line-height:.9}
h2{font-size:clamp(38px,6vw,72px);letter-spacing:-.05em;line-height:.94}
h3{font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1.15}
.w{display:inline-block}
.sub{color:var(--tinta2);font-size:17px;max-width:54ch;line-height:1.55}
.legenda{font-size:12.5px;color:var(--tinta3);text-align:center;margin-top:14px}

/* luz de fundo */
.luz{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.luz i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;will-change:transform}
.luz i:nth-child(1){width:52vmax;height:52vmax;background:var(--sol);left:-16vmax;top:-22vmax;animation:vaga1 22s ease-in-out infinite alternate}
.luz i:nth-child(2){width:44vmax;height:44vmax;background:var(--laranja);right:-18vmax;top:4vmax;opacity:.32;animation:vaga2 26s ease-in-out infinite alternate}
.luz i:nth-child(3){width:38vmax;height:38vmax;background:var(--brasa);left:24vw;bottom:-30vmax;opacity:.18;animation:vaga3 30s ease-in-out infinite alternate}
@keyframes vaga1{to{transform:translate(18vw,14vh) scale(1.15)}}
@keyframes vaga2{to{transform:translate(-22vw,20vh) scale(.85)}}
@keyframes vaga3{to{transform:translate(-14vw,-26vh) scale(1.2)}}

/* topo */
.topo{position:sticky;top:0;z-index:20;background:rgba(253,249,242,.72);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border-bottom:1px solid rgba(230,220,203,.7)}
.topo-in{max-width:1180px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:20px}
.marca{flex:none;display:block;border-radius:8px}
.marca img{height:34px;width:auto}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{font-size:14.5px;font-weight:500;color:var(--tinta2);text-decoration:none;padding:8px 14px;border-radius:999px;transition:background .2s,color .2s}
.nav a:hover{background:rgba(255,255,255,.75);color:var(--tinta)}
@media (max-width:719px){.topo-in{gap:6px;padding:10px 12px}.nav{gap:0}.nav a{font-size:13px;padding:6px 7px}.marca img{height:26px}.topo-in>.btn{padding:0 14px;height:36px;font-size:13px}}@media (max-width:359px){.nav{display:none}.topo-in>.btn{margin-left:auto}}

/* botões */
.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 26px;border-radius:999px;font-weight:600;font-size:15.5px;background:var(--assina);color:var(--tinta);text-decoration:none;box-shadow:var(--brilho);transition:transform .25s var(--mola),box-shadow .25s}
.btn::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.65) 50%,transparent 65%);transform:translateX(-120%);animation:varre 3.4s ease-in-out infinite}
@keyframes varre{55%,100%{transform:translateX(120%)}}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 38px -8px rgba(232,93,4,.6),0 2px 0 rgba(255,255,255,.5) inset}
.btn:active{transform:scale(.97)}
.btn.grande{height:58px;padding:0 34px;font-size:17px}
.btn.peq{height:40px;padding:0 20px;font-size:14px}
.btn.claro{background:rgba(255,255,255,.8);border:1px solid var(--linha);box-shadow:0 10px 26px -18px rgba(23,19,15,.45)}
.btn.claro::after{display:none}
.btn.claro:hover{background:#fff;box-shadow:0 14px 30px -18px rgba(23,19,15,.5)}

main{max-width:1180px;margin:0 auto;padding:0 16px}
.acoes{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;align-items:center}

/* herói */
.heroi{display:flex;flex-direction:column;align-items:center;text-align:center;gap:26px;padding:clamp(56px,11vh,120px) 0 48px}
.heroi h1{max-width:11ch}
.heroi .sub{font-size:clamp(17px,1.6vw,19.5px)}
@media (max-width:479px){.heroi .acoes{width:100%}.heroi .btn{width:100%}}

/* faixas infinitas */
.faixas-sec{padding-bottom:24px}
.faixas{display:grid;gap:14px;margin:0 calc(50% - 50vw);overflow:hidden;padding:12px 0 18px;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.corre{display:flex;gap:14px;width:max-content;animation:corre 70s linear infinite}
.corre.volta{animation-direction:reverse;animation-duration:80s}
.faixas:hover .corre{animation-play-state:paused}
@keyframes corre{to{transform:translateX(calc(-50% - 7px))}}
.corre img{width:200px;height:250px;object-fit:cover;border-radius:20px;box-shadow:0 14px 30px -18px rgba(23,19,15,.5);background:var(--linha2)}
.corre.volta{margin-left:-90px}
@media (max-width:719px){.corre img{width:128px;height:160px;border-radius:14px}.corre.volta{margin-left:-60px}}

/* blocos */
.bloco{padding:clamp(72px,12vw,140px) 0 0}
.cab{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;margin-bottom:clamp(28px,5vw,56px)}
.cab h2{max-width:14ch}

/* enxame de demonstração */
.enx{display:grid;gap:24px;align-items:center}
@media (min-width:980px){.enx{grid-template-columns:1.45fr 1fr;gap:40px}}
.palco-enx{position:relative;aspect-ratio:760/640;width:min(100%,calc((100vh - 120px) * 760 / 640));max-width:700px;margin:0 auto;border-radius:32px;background:radial-gradient(circle at 50% 50%,#fff 0%,rgba(255,255,255,.4) 52%,transparent 74%)}
.fios{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.espiral{fill:none;stroke:url(#gEnx);stroke-width:2.4;stroke-linecap:round;opacity:.6}
.fio{stroke:var(--c);stroke-width:1.6;opacity:.14;stroke-dasharray:4 7;transition:opacity .4s}
.fio.trab{opacity:.9;animation:flui .7s linear infinite}
.fio.feito{opacity:.3;stroke-dasharray:none}
@keyframes flui{to{stroke-dashoffset:-22}}
.nucleo{position:absolute;left:50%;top:50%;width:22%;aspect-ratio:1;transform:translate(-50%,-50%)}
.anel{position:absolute;inset:-14%;width:128%;height:128%;transform:rotate(-90deg)}
.anel circle{fill:none;stroke-width:7}
.anel-f{stroke:rgba(23,19,15,.07)}
.anel-p{stroke:url(#gAnel);stroke-linecap:round;transition:stroke-dashoffset .6s var(--suave)}
.orbita{position:absolute;inset:-34%;border:1.5px dashed rgba(232,93,4,.25);border-radius:50%;animation:gira 40s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.nucleo-in{position:absolute;inset:0;border-radius:50%;background:#fff url(/logo-caracol.png) no-repeat 4% 50%/auto 92%;box-shadow:0 18px 40px -18px rgba(23,19,15,.55),0 0 0 6px #fff;animation:respira 3.2s ease-in-out infinite}
@keyframes respira{50%{transform:scale(1.04)}}
.no{position:absolute;translate:-15px -50%;display:flex;align-items:center;gap:8px;z-index:2;animation:flutua 4s ease-in-out infinite alternate;animation-delay:calc(var(--k) * -.7s)}
@keyframes flutua{to{transform:translateY(-6px)}}
.no .pt{flex:none;width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid var(--c);display:grid;place-items:center;font-size:14px;font-weight:700;color:#fff;font-style:normal;transition:background .3s}
.no.trab .pt{background:var(--c);animation:pulsa 1.4s ease-out infinite}
.no.feito .pt{background:var(--c)}
.no.feito .pt::before{content:"✓"}
@keyframes pulsa{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--c) 55%,transparent)}100%{box-shadow:0 0 0 14px transparent}}
.no .txt{width:auto;max-width:170px;white-space:nowrap;padding:7px 11px;border-radius:14px;background:rgba(255,255,255,.92);border:1px solid var(--linha);box-shadow:0 10px 24px -16px rgba(23,19,15,.4);display:grid;gap:1px;line-height:1.25;transition:opacity .4s,border-color .4s}
.no.fila .txt{opacity:.5}
.no.trab .txt{border-color:var(--c)}
.no span{font-size:12.5px;font-weight:600;color:var(--tinta)}
.no.esq{flex-direction:row-reverse;translate:calc(-100% + 15px) -50%}
.no.esq .txt{text-align:right}
.no.trab{z-index:4}
@media (max-width:979px){.no .txt{display:none}.no,.no.esq{translate:-50% -50%}.no .pt{width:24px;height:24px;font-size:12px}}

.passos{list-style:none;display:grid;gap:8px;counter-reset:p}
.passos li{position:relative;display:grid;gap:3px;padding:14px 18px 14px 56px;border-radius:18px;border:1px solid transparent;transition:background .4s,border-color .4s,box-shadow .4s}
.passos li::before{counter-increment:p;content:counter(p);position:absolute;left:16px;top:13px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(23,19,15,.07);font:700 13px var(--f-titulo);transition:background .4s}
.passos b{font-family:var(--f-titulo);font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.passos span{font-size:14px;color:var(--tinta2);line-height:1.45}
.passos li.feito::before{background:var(--creme)}
.passos li.atual{background:rgba(255,255,255,.85);border-color:var(--linha);box-shadow:var(--sombra)}
.passos li.atual::before{background:var(--assina)}
/* capacidades */
.capac{list-style:none;display:grid;gap:12px;max-width:1000px;margin:0 auto}
@media (min-width:720px){.capac{grid-template-columns:repeat(3,1fr);gap:14px}}
.capac li{position:relative;display:grid;align-content:start;gap:8px;padding:24px 22px 24px;border-radius:22px;background:rgba(255,255,255,.62);border:1px solid var(--linha);transition:background .3s,border-color .3s,transform .4s var(--suave),box-shadow .4s}
.capac li:hover{background:#fff;border-color:#e6d6bd;transform:translateY(-3px);box-shadow:var(--sombra)}
.capac .ico{width:28px;height:28px;color:var(--brasa);margin-bottom:6px}
.capac b{font-family:var(--f-titulo);font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.capac span{font-size:14.5px;color:var(--tinta2);line-height:1.5}
.capac li.humano{grid-column:1/-1;grid-template-columns:auto 1fr;align-items:center;gap:22px;padding:30px clamp(22px,4vw,40px);background:var(--tinta);color:#fff;border-color:transparent;overflow:hidden;isolation:isolate}
.capac li.humano::before{content:"";position:absolute;z-index:-1;width:360px;height:360px;right:-120px;top:-200px;border-radius:50%;background:var(--assina);filter:blur(60px);opacity:.45}
.capac li.humano:hover{background:var(--tinta)}
.capac .humano .ico{width:54px;height:54px;padding:12px;margin:0;border-radius:50%;color:var(--sol);border:1px solid rgba(255,196,20,.4);background:rgba(255,255,255,.04)}
.capac .humano div{display:grid;gap:6px}
.capac .humano small{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sol)}
.capac .humano b{font-size:clamp(22px,2.6vw,28px)}
.capac .humano span{color:rgba(255,255,255,.8);font-size:16px;max-width:52ch}
@media (max-width:479px){.capac li.humano{grid-template-columns:1fr;gap:14px}}

/* faixa de marcas */
.marcas-sec{padding:clamp(64px,9vw,104px) 0 0;text-align:center}
.marcas-tit{font-size:12.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta3);margin-bottom:22px}
.marcas{margin:0 calc(50% - 50vw);overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}
.marcas-corre{list-style:none;display:flex;width:max-content;animation:marcas 40s linear infinite}
.marcas:hover .marcas-corre{animation-play-state:paused}
@keyframes marcas{to{transform:translateX(-50%)}}
.marcas li{display:inline-flex;align-items:center;gap:10px;padding:10px clamp(26px,4vw,48px);font:700 clamp(18px,2vw,22px)/1 var(--f-titulo);letter-spacing:-.02em;color:var(--tinta);opacity:.42;transition:opacity .35s,color .35s;white-space:nowrap}
.marcas li i{width:1.1em;height:1.1em;background:currentColor;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;transition:background .35s}
.marcas li:hover{opacity:1}
.marcas li:hover i{background:var(--c,currentColor)}

/* reel */
.reel{display:grid;gap:40px;align-items:center}
@media (min-width:860px){.reel{grid-template-columns:auto 1fr;gap:72px;max-width:980px;margin:0 auto}}
.reel-txt{display:grid;gap:18px;text-align:center;justify-items:center}
@media (min-width:860px){.reel-txt{text-align:left;justify-items:start}}
.tela{position:relative;justify-self:center}
.tela::before{content:"";position:absolute;inset:8% -14%;border-radius:50%;background:var(--assina);filter:blur(60px);opacity:.5;z-index:-1}
.celular{width:min(280px,72vw);padding:10px;border-radius:46px;background:var(--tinta);box-shadow:0 40px 80px -40px rgba(23,19,15,.7),inset 0 0 0 2px rgba(255,255,255,.08);transform:rotate(-3deg)}
.celular{position:relative}
.toque{position:absolute;z-index:2;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;display:grid;place-items:center;color:var(--tinta);background:rgba(255,255,255,.88);box-shadow:0 10px 30px -10px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .3s}
.toque svg{width:26px;height:26px;margin-left:3px}
.tela.parado .toque{opacity:1}
.tela{cursor:pointer}
.celular video{width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;border-radius:36px;background:#2a221b}

/* aprovar */
.demo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,2vw,20px);max-width:880px;margin:0 auto}
.post{position:relative;border-radius:22px;background:#fff;border:1px solid var(--linha);box-shadow:var(--sombra);overflow:hidden;transition:transform .5s var(--mola),opacity .4s}
.post img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:filter .4s,opacity .4s}
.post[data-st="fora"]{transform:scale(.97)}
.post[data-st="fora"] img{filter:grayscale(1);opacity:.5}
.st{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 8px;border-radius:8px;font-size:12px;font-weight:600;letter-spacing:.01em;color:var(--tinta);background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 14px -8px rgba(23,19,15,.45)}
.st::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c-st,var(--tinta3))}
.st:empty{display:none}
.post[data-st="ok"]{--c-st:#2f7d5b}
.post[data-st="troca"]{--c-st:#b7791f}
.post[data-st="fora"]{--c-st:#9a928a}
.post[data-st="ok"] .st{color:#245f46}
.post[data-st="troca"] .st{color:#8a5a14}
.post[data-st="fora"] .st{color:var(--tinta3)}
.decide{display:grid;grid-template-columns:repeat(3,1fr);margin:8px;padding:3px;gap:2px;border-radius:12px;background:var(--linha2);border:1px solid var(--linha)}
.decide button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 6px;border-radius:9px;font-size:12px;font-weight:500;color:var(--tinta3);white-space:nowrap;transition:background .3s var(--suave),color .3s,box-shadow .3s}
.decide button svg{flex:none;width:15px;height:15px}
.decide button:hover{color:var(--tinta)}
.decide button:focus-visible{outline:2px solid var(--brasa);outline-offset:1px;border-radius:9px}
.post[data-st="ok"] .decide [data-st="ok"]{background:#fff;color:#245f46;box-shadow:0 1px 3px rgba(23,19,15,.12),inset 0 0 0 1px rgba(47,125,91,.28)}
.post[data-st="troca"] .decide [data-st="troca"]{background:#fff;color:#8a5a14;box-shadow:0 1px 3px rgba(23,19,15,.12),inset 0 0 0 1px rgba(183,121,31,.3)}
.post[data-st="fora"] .decide [data-st="fora"]{background:#fff;color:var(--tinta2);box-shadow:0 1px 3px rgba(23,19,15,.12)}
@media (max-width:719px){.post{border-radius:16px}.st{left:6px;top:6px;padding:3px 7px 3px 6px;font-size:10.5px}.decide{margin:5px;padding:2px}.decide button{height:30px;padding:0}.decide button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}

/* final */
.final{position:relative;overflow:hidden;isolation:isolate;margin:clamp(80px,12vw,150px) 0 0;padding:clamp(44px,7vw,88px) clamp(22px,5vw,64px);border-radius:36px;background:var(--tinta);color:#fff;display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.final::before{content:"";position:absolute;z-index:-1;width:520px;height:520px;right:-180px;top:-260px;border-radius:50%;background:var(--assina);filter:blur(70px);opacity:.55;animation:vaga2 18s ease-in-out infinite alternate}
.final::after{content:"";position:absolute;z-index:-1;width:380px;height:380px;left:-160px;bottom:-240px;border-radius:50%;background:var(--sol);filter:blur(80px);opacity:.25}
.final h2{max-width:13ch}
.final .sub{color:rgba(255,255,255,.78)}
.link-claro{color:rgba(255,255,255,.8);font-size:15px;text-underline-offset:4px;padding:8px}
.link-claro:hover{color:#fff}

.rodape{max-width:1180px;margin:0 auto;padding:40px 16px 48px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:14px;color:var(--tinta2)}
.rodape img{height:28px;width:auto}
.rodape a{text-underline-offset:3px}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .faixas{overflow-x:auto}
}
