/* PURR | purr.pt: estilos do site (tokens e componentes da linha de design aprovada) */
:root{--bg:#0a110b;--card:#0f1a11;--card2:#132216;--line:#1f7a35;--line-soft:#1b3a22;--verde:#2bd34f;--amarelo:#c9a227;--txt:#e9f2ea;--muted:#9fb3a3;--branco:#f4f7f4;--txt-claro:#1b241d}
*{box-sizing:border-box}
html{overflow-x:clip}
body{margin:0;font-family:'Poppins',system-ui,sans-serif;background:var(--bg);color:var(--txt);font-size:15.5px;line-height:1.65;overflow-x:hidden}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
section{padding:104px 0}
.kicker{display:block;color:var(--verde);font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px;font-weight:500}
h1,h2,h3{font-weight:600;margin:0}
h1{font-size:clamp(28px,3.6vw,44px);line-height:1.15;letter-spacing:-.01em}
h2{font-size:clamp(23px,2.7vw,32px);line-height:1.25;margin-bottom:12px;letter-spacing:-.01em}
.centro{text-align:center}
.lead{color:var(--muted);font-size:16px;max-width:640px;line-height:1.7;margin:16px 0 44px}
.centro .lead{margin-left:auto;margin-right:auto}
.verde-fundo{background:radial-gradient(ellipse at top,#143a1c 0%,var(--bg) 60%)}
.ico{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;background:var(--verde);color:#06210d;text-decoration:none;font:inherit;font-weight:600;font-size:15px;padding:12px 22px;border-radius:6px;border:1px solid var(--verde);cursor:pointer;transition:.2s}
.btn:hover{background:#4ee66d}
.btn-sec{background:transparent;color:var(--txt);border-color:var(--line)}
.btn-sec:hover{background:rgba(43,211,79,.1);border-color:var(--verde)}
.grupo-btn{display:flex;gap:12px;flex-wrap:wrap}
.centro .grupo-btn{justify-content:center}
.ligacao{color:var(--verde);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:6px}
.ligacao:hover{text-decoration:underline}
.ligacao .ico{width:18px;height:18px}

/* site em teste (n.purr.pt): avisos do que falta preencher */
.falta{display:inline-block;outline:1.5px dashed var(--amarelo);outline-offset:3px;border-radius:4px;color:#e8d48a;font-size:14px;padding:2px 6px}
div.falta,.numeros .falta{display:block;color:inherit;font-size:inherit;padding:0}
.aviso-teste{background:#1a1606;border-bottom:1px solid #4a3d10;color:#e8d48a;font-size:13px;text-align:center;padding:8px 16px}
.saltar{position:absolute;left:-9999px;top:8px;z-index:50;background:var(--verde);color:#06210d;padding:10px 16px;border-radius:6px;font-weight:600}
.saltar:focus{left:16px}
:focus-visible{outline:2px solid var(--verde);outline-offset:2px}

/* moldura de imagem por escolher */
.ph{background:linear-gradient(135deg,#132216,#0b130c);border:1px dashed #3a4a3d;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:#6f8573;font-size:13px;text-align:center;padding:10px;min-height:120px}
.ph .ico{width:30px;height:30px;stroke-width:1.4}

/* topo */
header{position:sticky;top:0;z-index:20;background:rgba(10,17,11,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line-soft)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:20px}
.logo img{height:36px;width:auto}
header nav{display:flex;align-items:center;gap:24px;font-size:15px}
header nav a{text-decoration:none;color:var(--muted);padding:6px 0;border-bottom:2px solid transparent}
header nav a:hover{color:var(--txt)}
header nav a.ativo{color:var(--txt);border-bottom-color:var(--verde)}
header nav a.btn{color:#06210d;border-bottom:1px solid var(--verde);padding:12px 22px}
.menu-btn{display:none;background:none;border:1px solid var(--line-soft);color:var(--txt);border-radius:6px;width:46px;height:46px;cursor:pointer;align-items:center;justify-content:center}
.menu-movel{display:none}

/* migalhas */
.migalhas{font-size:13.5px;color:var(--muted);margin-bottom:18px}
.migalhas a{text-decoration:none}
.migalhas a:hover{color:var(--verde)}

/* cabeçalho de página interior */
.pag-topo{padding:72px 0 60px}
.pag-topo .lead:last-child{margin-bottom:0}
.pag-topo .lados .ph{aspect-ratio:4/3}

/* hero do início */
.hero{padding:64px 0 72px}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.hero h1 span{color:var(--verde)}
.hero-local{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;margin-top:22px}
.mosaico{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:170px 170px 130px;gap:10px}
.mosaico .alto{grid-row:span 2}

/* números */
.numeros{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:30px 0}
.numeros .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}
.numeros b{display:block;font-size:34px;color:var(--verde);font-weight:600;line-height:1.1}
.numeros span{color:var(--muted);font-size:14px}

/* cartões de serviço */
.servicos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.servico{background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line-soft);border-radius:6px;padding:26px 22px;display:flex;flex-direction:column;gap:10px;text-decoration:none;transition:.25s}
.servico:hover{border-color:var(--line);transform:translateY(-3px)}
.servico>.ico{width:34px;height:34px;color:var(--verde);stroke-width:1.5}
.servico h3{font-size:20px}
.servico p{margin:0;color:var(--muted);font-size:15px;flex:1}
.desde{font-size:14px;color:var(--muted)}
.desde b{color:var(--verde);font-size:20px;font-weight:600}

/* serviço em linha (página Serviços) */
.serv-linha{display:grid;grid-template-columns:70px 1fr auto;gap:24px;align-items:center;padding:28px 0;border-top:1px solid var(--line-soft);text-decoration:none}
.serv-linha:last-child{border-bottom:1px solid var(--line-soft)}
.serv-linha .num{font-size:28px;color:var(--verde);font-weight:600}
.serv-linha h3{font-size:22px;margin-bottom:4px}
.serv-linha p{margin:0;color:var(--muted)}
.serv-linha .lado{text-align:right;display:grid;gap:6px;justify-items:end}
.serv-linha:hover h3{color:var(--verde)}

/* portfólio: imagens escurecidas para ficarem na paleta */
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.filtro{font:inherit;font-size:14px;min-height:42px;padding:8px 16px;border-radius:6px;border:1px solid var(--line-soft);background:transparent;color:var(--muted);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.filtro:hover{color:var(--txt);border-color:var(--line)}
.filtro.ativo{background:var(--verde);border-color:var(--verde);color:#06210d;font-weight:600}
.grelha{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.projeto{text-decoration:none;border-radius:6px;overflow:hidden;border:1px solid var(--line-soft);background:var(--card);transition:.25s;position:relative}
.projeto:hover{border-color:var(--line);transform:translateY(-3px)}
.projeto .img{aspect-ratio:4/3;overflow:hidden;background:#0b130c;position:relative}
.projeto .img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,17,11,.05) 40%,rgba(10,17,11,.65));pointer-events:none}
.projeto img,.img-escura{width:100%;height:100%;object-fit:cover;filter:brightness(.62) saturate(.5) contrast(1.05);transition:transform .5s,filter .5s}
.projeto:hover img{transform:scale(1.04);filter:brightness(.8) saturate(.75)}
.projeto .info{padding:14px 16px}
.projeto small{color:var(--verde);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.projeto h3{font-size:17px;margin-top:2px}
.projeto p{margin:4px 0 0;color:var(--muted);font-size:14px}
.projeto.escondido{display:none}

/* simulador */
.teste{max-width:760px;margin:0 auto;background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:6px;padding:34px 30px}
.teste-prog{display:flex;gap:6px;justify-content:center;margin-bottom:18px}
.teste-prog i{width:40px;height:4px;border-radius:4px;background:var(--line-soft);transition:background .3s}
.teste-prog i.on{background:var(--verde)}
.teste-num{text-align:center;color:var(--muted);font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px}
.teste-q{text-align:center;font-size:22px;margin:0 0 22px}
.teste-ops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.teste-op{font:inherit;text-align:left;cursor:pointer;background:#0c150e;border:1px solid var(--line-soft);color:var(--txt);border-radius:6px;padding:16px 18px;font-size:16px;min-height:64px;transition:.2s}
.teste-op:hover,.teste-op:focus-visible{border-color:var(--verde);background:#10200f;outline:none}
.teste-op small{display:block;color:var(--muted);font-size:14px;margin-top:2px}
.teste-voltar{display:block;margin:18px auto 0;background:none;border:0;color:var(--muted);font:inherit;font-size:14px;cursor:pointer;text-decoration:underline;min-height:40px}
.teste-passo{animation:entra .4s cubic-bezier(.2,.7,.2,1)}
@keyframes entra{from{opacity:.01;transform:translateX(20px)}to{opacity:1;transform:none}}
.res{text-align:center}
.res h3{font-size:32px;color:var(--verde);margin:4px 0}
.res .res-preco{font-size:18px;margin:0 0 14px}
.res p{color:var(--muted);max-width:540px;margin:0 auto 18px}
.res .tambem{font-size:15px;border-top:1px solid var(--line-soft);padding-top:14px}
.res .grupo-btn{justify-content:center}
.sim-lista{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sim-card{border:1px solid var(--line-soft);border-radius:6px;padding:22px;background:var(--card);text-decoration:none;display:flex;flex-direction:column;gap:8px}
.sim-card:hover,.sim-card.ativo{border-color:var(--verde)}
.sim-card h3{font-size:17px}
.sim-card p{margin:0;color:var(--muted);font-size:14px}

/* faixa de chamada */
.faixa{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(90deg,#163f1f,var(--card));border:1px solid var(--line);border-radius:6px;padding:28px 30px}
.faixa h3{font-size:22px;margin-bottom:4px}
.faixa p{margin:0;color:var(--muted)}

/* compromissos */
.compromissos{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.comp{border-top:2px solid var(--verde);padding:20px 4px 0}
.comp .ico{color:var(--verde);width:30px;height:30px;stroke-width:1.5;margin-bottom:10px}
.comp h3{font-size:17px;margin-bottom:6px}
.comp p{margin:0;color:var(--muted);font-size:15px}

/* para quem */
.paraquem{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pq{border:1px solid var(--line-soft);border-radius:6px;padding:26px 24px;background:var(--card)}
.pq h3{font-size:19px;margin-bottom:14px;display:flex;gap:10px;align-items:center}
.pq.sim h3 .ico{color:var(--verde)}
.pq.nao h3 .ico{color:#d9776b}
.pq ul{list-style:none;padding:0;margin:0}
.pq li{padding:9px 0;border-top:1px solid var(--line-soft);font-size:15.5px}
.pq li:first-child{border-top:0}

/* lista com vistos */
.vistos{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 28px}
.vistos li{display:flex;gap:10px;padding:10px 0;border-top:1px solid var(--line-soft)}
.vistos li .ico{color:var(--verde);width:20px;height:20px;margin-top:2px}

/* processo (fundo claro) */
.processo{background:var(--branco);color:var(--txt-claro)}
.processo .lead{color:#5d6b60}
.processo .kicker{color:#1f7a35}
.passos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.passos.quatro{grid-template-columns:repeat(4,1fr)}
.passo{background:#fff;border:1px solid #d7dfd9;border-radius:6px;padding:26px 22px}
.passo b{display:inline-flex;width:38px;height:38px;border-radius:50%;background:#1f7a35;color:#fff;align-items:center;justify-content:center;font-weight:600;margin-bottom:12px}
.passo h3{font-size:19px;margin-bottom:6px}
.passo p{margin:0;color:#4d5a50;font-size:15px}

/* pacotes (desde) */
.pacotes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pacote{background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line-soft);border-radius:6px;padding:26px 22px}
.pacote.destaque{border-color:var(--verde)}
.pacote h3{font-size:20px}
.pacote .desde{display:block;margin:8px 0 14px}
.pacote ul{list-style:none;padding:0;margin:0;color:var(--muted);font-size:15px}
.pacote li{padding:6px 0;border-top:1px solid var(--line-soft)}
.nota-preco{color:var(--muted);font-size:14px;margin-top:16px}

/* dois lados (texto + imagem) */
.lados{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.lados .ph{aspect-ratio:4/5;min-height:0}
.texto p{color:var(--muted);margin:0 0 16px}
.texto blockquote{margin:0 0 18px;font-size:22px;line-height:1.45;font-weight:500}

/* caso de estudo */
.caso-topo{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end}
.caso-ficha{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;border-top:1px solid var(--line-soft);padding-top:18px;font-size:14.5px}
.caso-ficha span{display:block;color:var(--muted);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase}
.caso-capa{aspect-ratio:16/7;border-radius:6px;overflow:hidden;border:1px solid var(--line-soft);margin-top:36px}
.caso-blocos{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.caso-blocos h3{font-size:18px;margin-bottom:8px;color:var(--verde)}
.caso-blocos p{margin:0;color:var(--muted)}
.galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.galeria .ph{aspect-ratio:1;min-height:0}
.galeria .ph.largo{grid-column:span 2;aspect-ratio:auto}
.citacao{max-width:780px;margin:0 auto;text-align:center}
.citacao p{font-size:22px;line-height:1.5;font-weight:500;margin:0 0 16px}
.citacao span{color:var(--muted)}
.nav-casos{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* testemunhos */
.testemunhos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tst{border:1px solid var(--line-soft);border-radius:6px;padding:24px;background:var(--card)}
.tst p{margin:0 0 16px}
.tst b{display:block;font-size:15px}
.tst span{color:var(--muted);font-size:14px}

/* FAQ */
.faq{max-width:820px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line-soft)}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-size:17px;font-weight:500;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:16px;font-size:24px;color:var(--verde);font-weight:400}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:0 0 20px;color:var(--muted)}

/* contacto */
.contacto-grelha{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}
.contactos{list-style:none;padding:0;margin:24px 0 0}
.contactos li{display:flex;gap:12px;align-items:center;padding:10px 0;color:var(--muted)}
.contactos li .ico{color:var(--verde)}
form{background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:6px;padding:28px 24px;display:grid;gap:14px}
label{font-size:14px;color:var(--muted);display:grid;gap:6px}
input,select,textarea{font:inherit;font-size:16px;color:var(--txt);background:#0b130c;border:1px solid var(--line-soft);border-radius:6px;padding:12px 14px;min-height:46px;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--verde)}
textarea{min-height:120px;resize:vertical}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.msg-ok{display:none;color:var(--verde);font-weight:500;margin:0}

/* rodapé */
footer{border-top:1px solid var(--line-soft);padding:48px 0 40px;color:var(--muted);font-size:14px}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
footer h4{color:var(--txt);font-size:14px;margin:0 0 10px;font-weight:600}
footer a{display:block;text-decoration:none;padding:5px 0}
footer a:hover{color:var(--verde)}
footer .logo img{height:44px;margin-bottom:12px}
.barra-movel{display:none}

/* animação de entrada */
.rev{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.rev.vis{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rev{opacity:1;transform:none;transition:none}.teste-passo{animation:none}}

/* responsivo */
@media(max-width:1100px){.sim-lista{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){
  header nav{display:none}
  .menu-btn{display:inline-flex}
  .menu-movel.aberto{display:block;border-top:1px solid var(--line-soft);padding:8px 16px 16px}
  .menu-movel a{display:flex;align-items:center;min-height:48px;text-decoration:none;border-bottom:1px solid var(--line-soft)}
  .menu-movel a.ativo{color:var(--verde)}
  .menu-movel .btn{width:100%;margin-top:14px;border-bottom:0}
  .hero .wrap,.lados,.contacto-grelha,.caso-topo{grid-template-columns:1fr}
  .compromissos,.passos.quatro{grid-template-columns:repeat(2,1fr)}
  .servicos,.grelha,.pacotes{grid-template-columns:repeat(2,1fr)}
  .testemunhos{grid-template-columns:1fr}
  footer .wrap{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  section{padding:76px 0}
  .pag-topo{padding:44px 0 40px}
  .pag-topo .lados .ph{aspect-ratio:16/10}
  .numeros .wrap{grid-template-columns:repeat(2,1fr);row-gap:22px}
  .paraquem,.passos,.caso-blocos,.vistos{grid-template-columns:1fr}
  .mosaico{grid-template-rows:130px 130px 100px}
  .serv-linha{grid-template-columns:1fr;gap:10px}
  .serv-linha .lado{text-align:left;justify-items:start}
  .faixa{flex-direction:column;align-items:stretch;padding:24px 20px}
  .galeria{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .grupo-btn .btn,.faixa .btn,form .btn,.res .btn{width:100%}
  .servicos,.compromissos,.grelha,.pacotes,.passos.quatro,.sim-lista{grid-template-columns:1fr}
  .teste{padding:26px 16px}
  .teste-ops{grid-template-columns:1fr}
  .teste-q{font-size:20px}
  .duas,.caso-ficha{grid-template-columns:1fr}
  .filtro{flex:1 1 calc(33.33% - 8px);justify-content:center;padding:8px 6px}
  footer{padding-bottom:100px}
  footer .wrap{grid-template-columns:1fr}
  .barra-movel{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(10,17,11,.95);backdrop-filter:blur(8px);border-top:1px solid var(--line-soft)}
  .barra-movel .btn{flex:1;min-height:48px}
}

/* acrescentos do site real */
.sem-topo{padding-top:0}
.pouco-topo{padding-top:16px}
.estreito{max-width:760px}
.texto h2{font-size:22px;margin:28px 0 8px}
.texto a{color:var(--verde)}
.cab-secao{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.hero-local{margin-bottom:0}
.desde-topo{margin:-18px 0 26px}
.grupo-pacotes{font-size:15px;color:var(--verde);letter-spacing:.12em;text-transform:uppercase;margin:30px 0 14px}
.grupo-pacotes:first-of-type{margin-top:0}
.vistos{margin-top:20px}
.serv-linha h2{font-size:22px;margin-bottom:4px}
.serv-linha:hover h2{color:var(--verde)}
.sim-card .ico{color:var(--verde)}
.sim-card h2{font-size:17px;margin:0}
.sim-zona{padding-top:36px;scroll-margin-top:90px}
.ancora{scroll-margin-top:70px}
.tst{margin:0}
.tst blockquote{margin:0 0 16px}
.tst figcaption b{display:block;font-size:15px}
.tst figcaption span{color:var(--muted);font-size:14px}
.citacao blockquote{font-size:22px;line-height:1.5;font-weight:500;margin:0 0 16px}
.citacao figcaption{color:var(--muted)}
.caso-ficha{margin:0}
.caso-ficha dt{color:var(--muted);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase}
.caso-ficha dd{margin:0}
.caso-capa img{width:100%;height:100%;object-fit:cover;object-position:top}
.caso-blocos h2{font-size:18px;margin-bottom:8px;color:var(--verde)}
.galeria figure{margin:0;border-radius:6px;overflow:hidden;border:1px solid var(--line-soft)}
.galeria img{width:100%;height:100%;object-fit:cover}
.galeria .largo{grid-column:span 2}
.projeto img{object-position:top}
.contactos a{text-decoration:none}
.contactos a:hover{color:var(--verde)}
.form-erro{margin:0;color:#ff9b8f;font-weight:500}
input.erro,select.erro,textarea.erro{border-color:#d9776b}
.nota-form{margin:0;font-size:13px;color:var(--muted)}
.nota-form a{color:var(--muted)}
.escondido-robo{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
form{position:relative}
.form-ok{background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:6px;padding:32px 26px;display:grid;gap:12px;justify-items:start}
.form-ok>.ico{color:var(--verde);width:36px;height:36px}
.form-ok p{margin:0;color:var(--muted)}
.rodape-t{color:var(--txt);font-size:14px;margin:0 0 10px;font-weight:600}
.copy{margin-top:28px;font-size:13px;display:block}
.ph.falta-foto{outline:none}
.em-teste .ph.falta-foto{outline:1.5px dashed var(--amarelo);outline-offset:3px}

/* blogue */
.artigos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.artigo-cartao{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line-soft);border-radius:6px;overflow:hidden;background:var(--card);transition:.25s}
.artigo-cartao:hover{border-color:var(--line);transform:translateY(-3px)}
.artigo-cartao .img{aspect-ratio:16/9;overflow:hidden;background:#0b130c}
.artigo-cartao img{width:100%;height:100%;object-fit:cover;filter:brightness(.8) saturate(.7);transition:transform .5s,filter .5s}
.artigo-cartao:hover img{transform:scale(1.04);filter:brightness(.9) saturate(.85)}
.artigo-cartao .info{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.artigo-cartao small{color:var(--verde);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.artigo-cartao h3{font-size:18px;line-height:1.35}
.artigo-cartao p{margin:0;color:var(--muted);font-size:14.5px;flex:1}
.artigo-meta{color:var(--muted);font-size:13.5px}
.artigo-topo h1{font-size:clamp(28px,3.8vw,42px);margin:6px 0 12px}
.artigo-topo .kicker{text-decoration:none}
.artigo-capa{margin-top:-20px}
.artigo-capa img{width:100%;border-radius:6px;border:1px solid var(--line-soft);aspect-ratio:16/9;object-fit:cover}
.artigo-corpo{padding-top:36px;padding-bottom:20px;font-size:17px;line-height:1.75}
.artigo-corpo p{margin:0 0 20px;color:#d4e0d6}
.artigo-corpo h2{font-size:clamp(22px,2.6vw,28px);margin:40px 0 14px}
.artigo-corpo h3{font-size:20px;margin:30px 0 10px}
.artigo-corpo a{color:var(--verde)}
.artigo-corpo ul,.artigo-corpo ol{margin:0 0 20px;padding-left:22px;color:#d4e0d6}
.artigo-corpo li{margin:6px 0}
.artigo-corpo li::marker{color:var(--verde)}
.artigo-corpo blockquote{margin:28px 0;padding:6px 0 6px 20px;border-left:3px solid var(--verde);font-size:19px;font-weight:500}
.artigo-corpo blockquote p{color:var(--txt);margin:0}
.artigo-corpo figure{margin:28px 0}
.artigo-corpo figure img{width:100%;border-radius:6px;border:1px solid var(--line-soft)}
.artigo-corpo figcaption{color:var(--muted);font-size:14px;margin-top:8px;text-align:center}
.artigo-corpo hr{border:0;border-top:1px solid var(--line-soft);margin:36px 0}
.artigo-corpo strong{color:var(--txt)}
.artigo-servico{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:20px 0 70px;padding:26px 28px;border:1px solid var(--line);border-radius:6px;background:linear-gradient(90deg,#163f1f,var(--card))}
.artigo-servico h2{font-size:22px;margin:0 0 4px}
.artigo-servico p{margin:0 0 6px;color:var(--muted)}
.paginas{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:32px;color:var(--muted);flex-wrap:wrap}
.vazio-site{color:var(--muted);text-align:center;padding:40px 16px;border:1px dashed var(--line-soft);border-radius:6px}
@media(max-width:1000px){.artigos{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.artigo-servico{flex-direction:column;align-items:stretch;padding:22px 18px}.artigo-corpo{font-size:16.5px}}
@media(max-width:640px){.artigos{grid-template-columns:1fr}.artigo-servico .btn,.paginas .btn{width:100%}}

.artigo-capa img,.artigo-cartao img,.projeto img,.caso-capa img{height:auto}
.artigo-capa img,.artigo-cartao .img img,.projeto .img img{height:100%}
.artigo-corpo figure img{height:auto}
.faixa .btn{white-space:nowrap;flex-shrink:0}

/* ---------- projetos: logótipo, molduras, redes, mosaico, resultados */
.proj-cab{display:flex;align-items:center;gap:20px}
.proj-cab h1{margin:2px 0 0}
.proj-cab .lead{margin-bottom:0}
.logo-cli{width:56px;height:56px;border-radius:50%;background:#f4f7f4;color:#0a110b;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0;border:2px solid var(--line-soft);overflow:hidden}
.logo-cli.grande{width:88px;height:88px;font-size:24px}
.logo-cli.com-img{background:#fff;padding:10px}
.logo-cli img{width:100%;height:100%;object-fit:contain}
.sub-t{font-size:14px;color:var(--verde);letter-spacing:.12em;text-transform:uppercase;margin:36px 0 14px;font-weight:500}
.ecra{position:relative;overflow:hidden;background:#fff;display:block;width:100%;padding:0;border:0}
.ecra img{width:100%;display:block}
.ecra.desliza img{animation:desliza 26s ease-in-out infinite alternate}
.ecra.desliza:hover img{animation-play-state:paused}
@keyframes desliza{0%,8%{transform:translateY(0)}100%{transform:translateY(calc(-100% + var(--alt,380px)))}}
.browser{border-radius:10px;overflow:hidden;border:1px solid #2a3a2d;background:#0c120d;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.browser-barra{height:34px;display:flex;align-items:center;gap:7px;padding:0 14px;background:#1a241c}
.browser-barra i{width:10px;height:10px;border-radius:50%;background:#3a4a3d}
.browser-barra span{margin-left:12px;flex:1;max-width:340px;height:20px;border-radius:10px;background:#0f1711;color:#7d907f;font-size:11px;display:flex;align-items:center;padding:0 12px;overflow:hidden;white-space:nowrap}
.browser .ecra{aspect-ratio:16/10}
.telemovel{width:230px;border-radius:34px;border:9px solid #1d1f1e;background:#1d1f1e;box-shadow:0 30px 60px rgba(0,0,0,.45);position:relative}
.telemovel::before{content:"";position:absolute;top:6px;left:50%;transform:translateX(-50%);width:70px;height:18px;border-radius:12px;background:#000;z-index:2}
.telemovel .ecra{border-radius:26px;aspect-ratio:9/19.5}
.palco-web{position:relative}
.palco-web.com-telemovel{padding-bottom:60px}
.palco-web.com-telemovel .browser{width:86%}
.palco-web .telemovel{position:absolute;right:0;bottom:0}
.partes-site{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.partes-site figure{margin:0}
.partes-site .ecra{aspect-ratio:4/3;border-radius:6px;border:1px solid var(--line-soft);cursor:zoom-in}
.partes-site .ecra img{height:100%;object-fit:cover;object-position:top}
.partes-site figcaption{color:var(--muted);font-size:13.5px;margin-top:6px}
.palco-redes{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:start}
.palco-redes.sem-perfil{grid-template-columns:1fr}
.palco-redes .sub-t:first-child{margin-top:0}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.post{aspect-ratio:4/5;border-radius:6px;overflow:hidden;border:1px solid var(--line-soft);background:#0b130c;padding:0;cursor:zoom-in}
.post img{width:100%;height:100%;object-fit:cover}
.reels{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.reel{aspect-ratio:9/16;border-radius:6px;overflow:hidden;border:1px solid var(--line-soft)}
.video-capa{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:#000;cursor:pointer}
.video-capa img{width:100%;height:100%;object-fit:cover;filter:brightness(.72);transition:filter .3s}
.video-capa:hover img{filter:brightness(.9)}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:rgba(43,211,79,.92);display:flex;align-items:center;justify-content:center}
.video-play svg{width:22px;height:22px;fill:#06210d;margin-left:3px}
.foto-principal{display:block;width:100%;padding:0;border:0;border-radius:6px;overflow:hidden;aspect-ratio:16/8;margin-bottom:12px;cursor:zoom-in;background:#0b130c}
.foto-principal img{width:100%;height:100%;object-fit:cover}
.mosaico-fotos{columns:3;column-gap:12px}
.mosaico-fotos button{display:block;width:100%;margin:0 0 12px;padding:0;border:0;background:none;cursor:zoom-in;border-radius:6px;overflow:hidden;break-inside:avoid}
.mosaico-fotos img{width:100%;display:block;filter:brightness(.88) saturate(.9);transition:transform .5s,filter .5s}
.mosaico-fotos button:hover img{transform:scale(1.03);filter:none}
.resultados{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.resultados div{border-top:2px solid var(--verde);padding-top:12px}
.resultados b{display:block;font-size:30px;color:var(--verde);font-weight:600;line-height:1.2}
.resultados span{color:var(--muted);font-size:14px}

/* ---------- testemunhos com prova */
.testemunhos{align-items:start}
.t3{margin:0;background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line-soft);border-radius:6px;padding:14px 14px 20px;display:flex;flex-direction:column;gap:16px}
.t3 blockquote{margin:0 6px;font-size:17px;line-height:1.55;font-weight:500}
.t3 figcaption{margin:0 6px;display:grid;gap:2px}
.t3 figcaption b{font-size:15px}
.t3 figcaption span{color:var(--muted);font-size:13.5px}
.t3-prova{position:relative;display:block;width:100%;border:1px solid var(--line-soft);border-radius:6px;overflow:hidden;padding:0;background:#0b130c;color:inherit;font:inherit;text-align:left}
button.t3-prova{cursor:zoom-in}
button.t3-prova img{width:100%;max-height:260px;object-fit:cover;object-position:top}
.t3-tipo{position:absolute;left:10px;bottom:10px;background:rgba(10,17,11,.85);color:var(--txt);font-size:12px;padding:3px 9px;border-radius:4px;border:1px solid var(--line-soft);pointer-events:none}
.t3-video{aspect-ratio:4/5}
.t3-audio{display:flex;align-items:center;gap:12px;padding:22px 14px 46px;background:linear-gradient(135deg,#163f1f,#0b130c)}
.au-play{width:48px;height:48px;border-radius:50%;border:0;background:var(--verde);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.au-play svg{width:18px;height:18px;fill:#06210d}
.au-i-pausa,.a-tocar .au-i-play{display:none}
.a-tocar .au-i-pausa{display:block}
.au-barra{flex:1;height:6px;border-radius:3px;background:#3a4f3e;overflow:hidden;cursor:pointer}
.au-barra i{display:block;height:100%;width:0;background:var(--verde)}
.au-tempo{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;min-width:36px;text-align:right}
.tst-destaque-wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center;max-width:1000px}
.tst-destaque-wrap:not(:has(.tst-prova)){grid-template-columns:1fr;max-width:860px}
.tst-destaque{margin:0;display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center}
.tst-destaque blockquote{margin:0 0 12px;font-size:clamp(19px,2.2vw,24px);line-height:1.5;font-weight:500}
.tst-destaque figcaption{color:var(--muted)}
.tst-prova .t3-prova{max-width:360px}

/* ---------- ecrã inteiro (fotos, capturas e vídeos) */
.caixa-luz{position:fixed;inset:0;z-index:80;background:rgba(5,8,6,.95);display:none;align-items:center;justify-content:center;padding:16px}
.caixa-luz.aberta{display:flex}
.caixa-luz .cl-img{max-width:92vw;max-height:84vh;border-radius:4px;object-fit:contain}
.caixa-luz .cl-video{width:min(92vw,960px);aspect-ratio:16/9;border:0;border-radius:6px;background:#000}
.caixa-luz .cl-video.vertical{width:auto;height:min(84vh,780px);aspect-ratio:9/16;max-width:92vw}
.caixa-luz button{position:absolute;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}
.caixa-luz button svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round}
.cl-fechar{top:16px;right:16px}
.cl-ant{left:16px;top:50%;transform:translateY(-50%)}
.cl-seg{right:16px;top:50%;transform:translateY(-50%)}
.cl-cont{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#9fb3a3;font-size:14px}
body.sem-scroll{overflow:hidden}

@media(max-width:1000px){.palco-redes{grid-template-columns:1fr}.palco-redes .telemovel{margin:0 auto}.tst-destaque-wrap{grid-template-columns:1fr}}
@media(max-width:760px){.proj-cab{flex-direction:column;align-items:flex-start;gap:14px}.tst-destaque{grid-template-columns:1fr}}
@media(max-width:640px){
  .palco-web.com-telemovel{padding-bottom:0}
  .palco-web.com-telemovel .browser{width:100%}
  .palco-web .telemovel{position:relative;margin:-50px 0 0 auto;width:150px;border-width:6px;border-radius:24px}
  .palco-web .telemovel .ecra{border-radius:18px}
  .partes-site,.resultados{grid-template-columns:1fr 1fr}
  .mosaico-fotos{columns:2}
  .posts,.reels{grid-template-columns:repeat(2,1fr)}
  .cl-ant,.cl-seg{top:auto;bottom:56px;transform:none}
  .tst-prova .t3-prova{max-width:none}
}
@media (prefers-reduced-motion:reduce){.ecra.desliza img{animation:none}}
.caixa-luz button[hidden]{display:none}
@media(max-width:640px){.nav-casos .btn{width:100%}}

/* website só com a captura do telemóvel: capa ao lado e o telemóvel em destaque */
.palco-web.so-telemovel{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.palco-web.so-telemovel .telemovel{position:relative;right:auto;bottom:auto;width:280px}
.capa-lado{border-radius:6px;overflow:hidden;border:1px solid var(--line-soft);aspect-ratio:4/3}
.capa-lado img{width:100%;height:100%;object-fit:cover;object-position:top}
@media(max-width:760px){.palco-web.so-telemovel{grid-template-columns:1fr}.palco-web.so-telemovel .capa-lado{display:none}.palco-web.so-telemovel .telemovel{margin:0 auto;width:250px}}

/* desafio e resultado: antes e depois */
.antes-depois{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:stretch}
.antes-depois.so-um{grid-template-columns:1fr;max-width:760px}
.ad-cartao{border-radius:6px;padding:28px 26px;border:1px solid var(--line-soft);background:var(--card)}
.ad-cartao.depois{border-color:var(--line);background:linear-gradient(160deg,#163f1f,var(--card) 70%)}
.ad-cartao .kicker{margin-bottom:4px}
.ad-cartao.antes .kicker{color:#c9b98a}
.ad-cartao h2,.ad-meio h2{font-size:22px;margin:0 0 18px}
.antes-depois ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.antes-depois li{display:flex;gap:12px;font-size:16px;line-height:1.5}
.antes-depois li .ico{width:20px;height:20px;margin-top:2px;stroke-width:2}
.ad-cartao.antes li{color:#c9d4cb}
.ad-cartao.antes li .ico{color:#c9b98a}
.ad-cartao.depois li .ico,.ad-meio li .ico{color:var(--verde)}
.ad-seta{display:flex;align-items:center;color:var(--verde)}
.ad-seta .ico{width:34px;height:34px}
.ad-meio{grid-column:1/-1;border:1px dashed var(--line-soft);border-radius:6px;padding:20px 24px}
.ad-meio h2{font-size:17px;margin-bottom:12px}
.ad-meio ul{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 24px}
.ad-meio li{color:var(--muted);font-size:15px}
@media(max-width:900px){.antes-depois{grid-template-columns:1fr}.ad-seta{justify-content:center;transform:rotate(90deg)}}
@media(max-width:640px){.ad-cartao{padding:22px 18px}}

/* ---------- escala mais leve e mais espaço (02/10/2026) */
.servico h3,.pacote h3{font-size:18px}
.servico p,.pacote ul,.comp p,.pq li,.projeto p{font-size:14.5px;line-height:1.6}
.servicos,.grelha,.compromissos,.pacotes,.testemunhos,.artigos{gap:20px}
.servico{padding:28px 24px}
.faixa h3{font-size:20px}
.serv-linha{padding:34px 0}
.serv-linha h2{font-size:20px}
.ad-cartao h2{font-size:20px}
.antes-depois li,.artigo-cartao h3{font-size:15px}
.t3 blockquote{font-size:16px}
.resultados b{font-size:26px}
.numeros b{font-size:30px}
.btn{font-size:14.5px;min-height:44px;padding:11px 20px}
@media(max-width:760px){
  body{font-size:15px}
  .wrap{padding:0 20px}
  h1{font-size:clamp(26px,7.4vw,32px)}
  h2{font-size:clamp(21px,6vw,25px)}
  .lead{font-size:15px;margin-bottom:34px}
  .kicker{font-size:11.5px}
  .hero{padding:44px 0 60px}
  .servico{padding:24px 20px}
  .faixa h3{font-size:18px}
  .numeros b{font-size:26px}
  .artigo-corpo{font-size:16px}
  .tst-destaque blockquote,.citacao blockquote{font-size:18px}
}

/* ---------- voltar ao topo */
.ao-topo{position:fixed;right:20px;bottom:24px;z-index:25;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:rgba(10,17,11,.92);color:var(--txt);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s}
.ao-topo.vis{opacity:1;transform:none;pointer-events:auto}
.ao-topo:hover{border-color:var(--verde);color:var(--verde)}
.ao-topo svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:640px){.ao-topo{right:16px;bottom:calc(84px + env(safe-area-inset-bottom))}}

/* ---------- secções claras, alternadas com as escuras (02/10/2026) */
.claro{--txt:#1b241d;--muted:#5b675e;--card:#fff;--card2:#fff;--line-soft:#dde4de;--line:#b9cbbd;--verde:#1d8a3a;background:#f4f7f4;color:var(--txt)}
.claro .btn{background:#2bd34f;border-color:#2bd34f;color:#06210d}
.claro .btn:hover{background:#4ee66d}
.claro .btn-sec{background:transparent;color:var(--txt);border-color:#b9cbbd}
.claro .btn-sec:hover{border-color:#1d8a3a;background:#eaf3ec}
.claro .servico,.claro .pacote,.claro .t3,.claro .pq,.claro .comp{box-shadow:0 1px 2px rgba(20,40,25,.04)}
.claro .servico:hover{border-color:#9fbfa6}
.claro .comp{border-top-color:#2bd34f}
.claro .faq summary::after{color:#1d8a3a}
.claro .serv-linha .num{color:#1d8a3a}
/* a faixa escura de chamada continua escura dentro das secções claras */
.claro .faixa{--txt:#e9f2ea;--muted:#9fb3a3;--card:#0f1a11;--line:#1f7a35;--verde:#2bd34f;color:var(--txt)}
.claro .t3-tipo{--txt:#e9f2ea;color:#e9f2ea}

/* ---------- Sashimi, a dona da PURR (pata grande e subtil no fundo) */
.sashimi{position:relative;overflow:hidden}
.pata-fundo{position:absolute;right:-6%;top:50%;width:min(62vw,720px);height:min(62vw,720px);transform:translateY(-50%) rotate(-18deg);color:#2bd34f;opacity:.045;pointer-events:none}
.sashimi-grelha{position:relative;display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:64px;align-items:center}
.sashimi-foto{aspect-ratio:4/5;border-radius:999px 999px 6px 6px;overflow:hidden;border:1px solid var(--line-soft)}
.sashimi-foto img{width:100%;height:100%;object-fit:cover}
.sashimi-foto.ph{border-radius:999px 999px 6px 6px}
.sashimi .lead{margin-bottom:18px}
.assinatura{display:inline-flex;align-items:center;gap:8px;color:var(--verde);font-weight:500;font-size:14.5px;margin-top:8px}
.assinatura .ico{width:20px;height:20px}
.mos-img{border-radius:6px;overflow:hidden;border:1px solid var(--line-soft)}
.mos-img img{width:100%;height:100%;object-fit:cover}
.foto-pessoa{aspect-ratio:4/5;border-radius:6px;overflow:hidden;border:1px solid var(--line-soft)}
.foto-pessoa img{width:100%;height:100%;object-fit:cover}
.depois-faixa{margin-top:96px}
@media(max-width:900px){.sashimi-grelha{grid-template-columns:1fr;gap:36px}.sashimi-foto{max-width:300px}.pata-fundo{right:-30%;top:auto;bottom:-10%;transform:rotate(-18deg);width:90vw;height:90vw}}
@media(max-width:760px){.depois-faixa{margin-top:64px}}

/* ---------- vídeo: página de vídeo e vídeos nas listas do portfólio */
.v-filtros{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.v-sep{width:1px;background:var(--line-soft);margin:4px 4px}
.v-destaque{display:grid;grid-template-columns:1.6fr 1fr;gap:32px;align-items:center;margin:32px 0 72px}
.v-destaque.vertical{grid-template-columns:minmax(0,340px) 1fr}
.v-destaque h2{font-size:clamp(20px,2.2vw,26px);margin:6px 0 6px}
.v-destaque .v-info span{color:var(--muted)}
.v-destaque .v-info p{margin-top:18px}
.v-capa{position:relative;display:block;width:100%;padding:0;border:0;border-radius:6px;overflow:hidden;cursor:pointer;background:#000}
.v-capa.h{aspect-ratio:16/9}
.v-capa.v{aspect-ratio:9/16}
.v-capa img{width:100%;height:100%;object-fit:cover;filter:brightness(.78);transition:transform .5s,filter .4s}
.v-capa:hover img{transform:scale(1.03);filter:brightness(.95)}
.v-capa:hover .video-play{transform:translate(-50%,-50%) scale(1.08)}
.video-play{transition:transform .25s}
.v-info small{color:var(--verde);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase}
.v-item .v-info{margin-top:10px}
.v-item h3{font-size:14.5px;margin:3px 0 1px;line-height:1.4}
.v-item .v-info span{color:var(--muted);font-size:13px}
.v-bloco{margin-bottom:72px}
.v-cab{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin:0 0 20px}
.v-cab h2{margin:0}
.v-cab span{color:var(--muted);font-size:13.5px}
.reels-g{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.horiz-g{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.v-mais{display:flex;justify-content:center;margin-top:28px}
.v-mais-esc,.v-filtrado{display:none!important}
.projeto-video{padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;width:100%}
.projeto-video .img{position:relative}
.projeto-video .video-play{z-index:1}
@media(max-width:1000px){.reels-g{grid-template-columns:repeat(4,1fr)}.horiz-g{grid-template-columns:repeat(2,1fr)}.v-destaque,.v-destaque.vertical{grid-template-columns:1fr}.v-destaque.vertical .v-capa{max-width:320px}}
@media(max-width:640px){.reels-g{grid-template-columns:repeat(2,1fr);gap:10px}.horiz-g{grid-template-columns:1fr}.v-mais .btn{width:100%}}
.video-principal{max-width:1000px}
.video-principal.vertical{max-width:380px;margin:0 auto}

/* mais espaço para respirar (02/10) */
section{padding:136px 0}
.hero{padding:104px 0 120px}
.hero .wrap{gap:80px}
.hero .lead{margin-bottom:36px}
.numeros{padding:84px 0}
.numeros .wrap{gap:24px}
.numeros b{font-size:38px;margin-bottom:10px}
.pag-topo{padding:96px 0 80px}
.kicker{margin-bottom:16px}
h2{margin-bottom:16px}
.lead{margin:20px 0 60px;line-height:1.75}
.cab-secao{margin-bottom:52px}
.servicos,.compromissos,.paraquem,.passos,.pacotes,.testemunhos{gap:28px}
.grelha{gap:24px}
.servico{padding:34px 30px;gap:14px}
.pq{padding:34px 32px}
.comp{padding:26px 6px 0}
.comp .ico{margin-bottom:14px}
.comp h3{margin-bottom:10px}
.faixa{padding:40px 44px}
.lados{gap:88px}
.sim-lista{gap:20px}
.sim-card{padding:28px}
.sim-zona{padding-top:48px}
footer .wrap{gap:40px}
@media(max-width:1000px){.hero .wrap,.lados{gap:56px}}
@media(max-width:760px){
  section{padding:88px 0}
  .hero{padding:56px 0 80px}
  .numeros{padding:60px 0}
  .numeros .wrap{row-gap:40px}
  .numeros b{font-size:30px;margin-bottom:6px}
  .pag-topo{padding:56px 0 52px}
  .lead{margin-bottom:44px}
  .cab-secao{margin-bottom:36px}
  .servicos,.compromissos,.paraquem,.passos,.pacotes,.testemunhos,.grelha{gap:20px}
  .servico,.pq{padding:28px 22px}
  .faixa{padding:30px 22px}
  .sim-zona{padding-top:32px}
}
@media(max-width:640px){.compromissos{gap:32px}}

/* fotos da história (Sobre) */
.historia-fotos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:64px}
.historia-fotos.n1{grid-template-columns:1fr;max-width:760px;margin-left:auto;margin-right:auto}
.historia-fotos.n2{grid-template-columns:1fr 1fr;max-width:960px;margin-left:auto;margin-right:auto}
.historia-fotos figure{margin:0}
.historia-fotos img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:6px;display:block;cursor:zoom-in}
.historia-fotos.n1 img{aspect-ratio:auto}
.historia-fotos figcaption{color:var(--muted);font-size:14px;margin-top:10px}
@media(max-width:640px){.historia-fotos,.historia-fotos.n2{grid-template-columns:1fr;gap:24px;margin-top:44px}.historia-fotos.n3{grid-template-columns:1fr 1fr;gap:12px}.historia-fotos.n3 figure:first-child{grid-column:span 2}.historia-fotos.n3 figure:first-child img{aspect-ratio:4/3}}

/* play B (02/10): anel fino que fica verde ao passar; nos cartões de vídeo, tema e título por cima da imagem */
.video-play{width:64px;height:64px;border:1.5px solid rgba(255,255,255,.85);background:rgba(10,17,11,.25);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1;transition:background .3s,border-color .3s,transform .3s}
.video-play svg{width:20px;height:20px;fill:#fff;transition:fill .3s}
.v-capa:hover .video-play,.video-capa:hover .video-play,.projeto-video:hover .video-play,.v-capa:focus-visible .video-play,.video-capa:focus-visible .video-play{background:var(--verde);border-color:var(--verde)}
.v-capa:hover .video-play svg,.video-capa:hover .video-play svg,.projeto-video:hover .video-play svg,.v-capa:focus-visible .video-play svg,.video-capa:focus-visible .video-play svg{fill:#06210d}
.v-capa img,.video-capa img{filter:brightness(.88)}
.v-capa:hover img,.video-capa:hover img{filter:brightness(1)}
.v-capa.com-leg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(5,12,6,.88));pointer-events:none}
.v-leg{position:absolute;left:14px;right:14px;bottom:12px;z-index:1;text-align:left;color:#fff;display:grid;gap:2px}
.v-leg small{color:var(--verde);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.v-leg b{font-size:14px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v-leg span{font-size:12.5px;color:rgba(255,255,255,.75)}
.reels-g .video-play{width:52px;height:52px}
.reels-g .video-play svg{width:17px;height:17px}
.reels-g .v-leg{left:10px;right:10px;bottom:10px}
.reels-g .v-leg b{font-size:13px}
@media(max-width:640px){.reels-g .video-play{width:44px;height:44px}.reels-g .v-leg small{font-size:9.5px}.reels-g .v-leg b{font-size:12px}.reels-g .v-leg span{display:none}}
.v-capa,.video-capa{font-family:inherit}

/* leitor de vídeo (YouTube por código): um toque e começa; setas para o seguinte */
.caixa-luz div.cl-video{overflow:hidden}
.caixa-luz .cl-video iframe{width:100%;height:100%;border:0;display:block}
.caixa-luz .cl-som{left:50%;bottom:22px;transform:translateX(-50%);width:auto;height:46px;border-radius:6px;padding:0 18px;gap:8px;background:var(--verde);border-color:var(--verde);color:#06210d;font:600 14.5px Poppins,sans-serif}
.caixa-luz .cl-som svg{stroke:#06210d}
.caixa-luz .cl-som~.cl-cont,.caixa-luz:has(.cl-som:not([hidden])) .cl-cont{display:none}
@media(max-width:640px){
  .caixa-luz:has(.cl-video){padding:60px 10px 120px}
  .caixa-luz .cl-video.vertical{height:calc(100svh - 190px);max-height:none}
  .caixa-luz .cl-video{width:100%}
  .caixa-luz .cl-som{bottom:58px}
  .caixa-luz:has(.cl-video) .cl-ant,.caixa-luz:has(.cl-video) .cl-seg{bottom:52px;width:52px;height:52px}
}

/* vídeos no Início */
.videos-inicio{border-top:1px solid var(--line-soft)}
/* 16:9 ao lado de dois 9:16 com a mesma altura: as larguras ficam na proporção 3,16 : 1 : 1 */
.vi-grelha{display:grid;grid-template-columns:minmax(0,3.16fr) minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.vi-reels{display:contents}
.vi-grande .v-leg b{font-size:18px}
.vi-grande .video-play{width:76px;height:76px}
.vi-grande .video-play svg{width:24px;height:24px}
@media(max-width:900px){.vi-grelha{grid-template-columns:1fr 1fr;gap:12px}.vi-grande{grid-column:1/-1}}
@media(max-width:640px){.vi-reels .video-play{width:44px;height:44px}.vi-reels .v-leg b{font-size:12.5px}.vi-reels .v-leg span{display:none}}

/* artigo do blogue mais largo no computador (02/10) */
@media(min-width:1000px){.artigo-topo .estreito,.artigo-capa.estreito,.artigo-corpo.estreito{max-width:960px}.artigo-corpo{font-size:17.5px}}

/* portfólio: vídeos por baixo dos projetos, a aparecer ao descer */
.bloco-videos{margin-top:96px}
.bloco-videos.escondido,.projeto.por-mostrar{display:none}
.aos-poucos{height:1px}
@media(max-width:760px){.bloco-videos{margin-top:64px}}

/* Sashimi: foto redonda (escolhida no mockup) e selo nos projetos */
.sashimi-foto,.sashimi-foto.ph{aspect-ratio:1;border-radius:50%;border:1px solid var(--line-soft);box-shadow:0 0 0 10px rgba(43,211,79,.06)}
.selo-sashimi{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:6px 12px 6px 9px;border:1px solid var(--line-soft);border-radius:6px;color:var(--verde);font-size:13px;font-weight:500;background:rgba(43,211,79,.06)}
.selo-sashimi .ico{width:17px;height:17px}

/* páginas legais */
.texto-legal ul{padding-left:20px;margin:0 0 18px}
.texto-legal li{margin:6px 0;color:#d4e0d6}
.texto-legal .atualizado{margin-top:40px;color:var(--muted);font-size:14px}
.texto-legal .ver-tambem{color:var(--muted);font-size:14.5px}
.texto-legal a{color:var(--verde)}
/* páginas legais: letra mais pequena e texto mais largo (02/10) */
.estreito.legal-largo{max-width:960px}
.texto-legal p,.texto-legal li{font-size:15px;line-height:1.7}
.texto-legal h2{font-size:19px;margin:34px 0 8px}
.texto-legal .atualizado,.texto-legal .ver-tambem{font-size:13.5px}
@media(max-width:640px){.texto-legal p,.texto-legal li{font-size:14.5px}.texto-legal h2{font-size:18px}}

/* foto da Diana redonda e mais pequena, como a da Sashimi (02/10) */
.foto-pessoa{aspect-ratio:1;border-radius:50%;width:100%;max-width:360px;justify-self:center;box-shadow:0 0 0 10px rgba(43,211,79,.06)}
.foto-pessoa img{object-position:center 30%}
.lados:has(.foto-pessoa){grid-template-columns:1.3fr 1fr}
.lados:has(> .foto-pessoa:first-child){grid-template-columns:1fr 1.3fr}
@media(max-width:1000px){.lados:has(.foto-pessoa),.lados:has(> .foto-pessoa:first-child){grid-template-columns:1fr}.foto-pessoa{max-width:280px}}
@media(max-width:640px){.foto-pessoa{max-width:220px}}

/* Sobre: a história segue logo a apresentação, na mesma linha do texto de cima (02/10) */
.pag-topo:has(.foto-pessoa){padding-bottom:40px}
.historia-sec{padding-top:24px}
.historia{max-width:none;border-left:2px solid var(--line-soft);padding-left:32px}
.historia .kicker{margin-bottom:18px}
.historia p{font-size:15px;line-height:1.75;color:#c9d6cc;hyphens:manual;-webkit-hyphens:manual;word-spacing:.02em}
.historia p.abre{color:var(--txt)}
@media(max-width:640px){.historia{padding-left:18px}.historia p{font-size:14.5px}.historia-sec{padding-top:8px}}

/* história (Sobre): duas colunas justificadas e da mesma altura; a frase final fica dentro da área da linha (02/10) */
@media(min-width:1000px){
  .historia-txt{columns:2;column-gap:56px;column-fill:balance}
  .historia-txt p{break-inside:auto;margin:0 0 14px}
}
.historia-txt p{text-align:justify;text-align-last:left}
@media(max-width:640px){.historia-txt p{text-align:left}}
/* "Todos conseguimos, basta querer.": ligeiramente escurecida, com um brilho a passar */
.frase-brilho{margin:56px 0 4px!important;text-align:center!important;font-size:clamp(24px,3.2vw,38px)!important;line-height:1.25!important;font-weight:600;letter-spacing:-.01em;
  color:transparent!important;background:linear-gradient(100deg,rgba(43,211,79,.45) 0%,rgba(43,211,79,.45) 40%,#d9ffe2 50%,rgba(43,211,79,.45) 60%,rgba(43,211,79,.45) 100%);background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;animation:brilho-passa 4.5s ease-in-out infinite}
@keyframes brilho-passa{0%{background-position:100% 0}55%,100%{background-position:0 0}}
@media(prefers-reduced-motion:reduce){.frase-brilho{animation:none;color:rgba(43,211,79,.7)!important;background:none}}
@media(max-width:640px){.frase-brilho{margin-top:40px!important}}


/* telemóvel: a barra "O que preciso? / Quero reunir" sobe com fade depois de descer meio ecrã (02/10) */
@media(max-width:640px){
  .barra-movel{opacity:0;transform:translateY(100%);pointer-events:none;transition:opacity .45s ease,transform .45s cubic-bezier(.2,.7,.2,1)}
  .barra-movel.ver{opacity:1;transform:none;pointer-events:auto}
}
@media(max-width:640px) and (prefers-reduced-motion:reduce){.barra-movel{transition:none}}

/* Início: fotos da Sashimi e da Diana iguais (mesmo tamanho, redondas, centradas) (02/10) */
.sashimi-foto{width:100%;max-width:340px;justify-self:center;margin-left:auto;margin-right:auto}
.foto-pessoa{max-width:340px;margin-left:auto;margin-right:auto}
.sashimi-grelha,.lados:has(> .foto-pessoa:first-child){grid-template-columns:minmax(0,400px) 1fr;gap:64px}
@media(max-width:1000px){.sashimi-grelha,.lados:has(> .foto-pessoa:first-child){grid-template-columns:1fr;gap:36px}.sashimi-foto,.foto-pessoa{max-width:280px}}
@media(max-width:640px){.sashimi-foto,.foto-pessoa{max-width:240px}}

/* portfólio: vídeos verticais mostram só o retângulo vertical, centrado, sem a zona desfocada à volta (02/10) */
.projeto[data-formato="v"] .img{display:flex;justify-content:center;background:#0b130c}
.projeto[data-formato="v"] .img img{width:auto;height:100%;aspect-ratio:9/16;object-fit:cover;border-left:1px solid var(--line-soft);border-right:1px solid var(--line-soft)}

/* portfólio: vídeos em cartões à medida do formato (02/10) */
.v-sub{margin-top:8px}
.v-sub+.v-sub{margin-top:56px}
.v-sub-t{font-size:17px;margin:0 0 18px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.v-sub-t span{font-size:13px;color:var(--muted);font-weight:400}
.grelha-videos{display:grid;gap:16px}
.gv-v{grid-template-columns:repeat(5,minmax(0,1fr))}
.gv-h{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gv-v .img{aspect-ratio:9/16}
.gv-h .img{aspect-ratio:16/9}
.grelha-videos .img img{width:100%;height:100%;object-fit:cover}
.gv-v .info{padding:12px 12px 14px}
.gv-v .info h3{font-size:14px}
.gv-v .info p{font-size:12.5px}
.gv-v .video-play{width:48px;height:48px}
@media(max-width:1000px){.gv-v{grid-template-columns:repeat(3,minmax(0,1fr))}.gv-h{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.gv-v{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gv-h{grid-template-columns:1fr}.gv-v .video-play{width:42px;height:42px}}
