@import url("https://fonts.googleapis.com/css2?family=Marcellus&family=Raleway:wght@400;500;600&display=swap");
/* Identidade Original Mei (brandbook MOVE&GROW): azul-noite #121738, azul-aço #93A8CD, branco; tipografia primária Sinhala MN, secundária Raleway */

:root{
  --papel:#FFFFFF;
  --noite:#121738;
  --aco:#93A8CD;
  --tinta:#121738;
  --suave:#565C7E;
  --linha:rgba(18,23,56,.16);
  --f:Raleway,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:"Sinhala MN",Optima,Marcellus,Georgia,serif;
  --g:clamp(16px,2.2vw,28px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--papel);color:var(--tinta);font:16px/1.5 var(--f);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.w{padding:0 var(--g)}
.cx{text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.14em}
.suave{color:var(--suave)}

/* Cabeçalho */
.topo{padding-top:var(--g)}
.topo-l1{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:14px;border-bottom:1px solid var(--linha)}
.nome{font-family:var(--serif);font-weight:400;font-size:clamp(48px,11vw,176px);line-height:.82;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;margin-left:-.04em}
.topo-dir{display:flex;gap:16px;align-items:stretch;flex-shrink:0}
.topo-info{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:14px;text-align:right}
.retrato{width:clamp(64px,8.5vw,118px);height:auto;align-self:flex-start;aspect-ratio:1;object-fit:cover;object-position:50% 12%}
.menu{display:flex;justify-content:space-between;gap:20px;padding:12px 0}
.menu-pp{display:grid;grid-template-columns:repeat(4,minmax(70px,170px));gap:12px}
.menu a{position:relative}
.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:1px;background:currentColor;transition:right .3s}
.menu a:hover::after,.menu a[aria-current="page"]::after{right:0}
.redes{display:flex;gap:14px}

/* Abertura das páginas */
.abre{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding-top:clamp(80px,14vw,200px);padding-bottom:16px}
.abre p{font-size:clamp(18px,1.6vw,22px);line-height:1.35;max-width:30em;letter-spacing:-.01em}
.abre em,.serif{font-family:var(--serif);font-style:normal;font-weight:400;color:#3E5A8C}
.abre small{font-size:14px;white-space:nowrap}

/* Grade de projetos */
.grade{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 10px;padding-bottom:clamp(80px,10vw,140px)}
.card{display:block;text-align:left;width:100%}
.card .im{position:relative;aspect-ratio:16/10;overflow:hidden;background:#E6EAF2}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s}
.card:hover img{transform:scale(1.04)}
.card .play{position:absolute;inset:auto auto 12px 12px;background:var(--papel);color:var(--noite);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:6px 10px;opacity:0;transform:translateY(6px);transition:.3s}
.card:hover .play,.card:focus-visible .play{opacity:1;transform:none}
.card .qt{position:absolute;top:10px;right:10px;background:rgba(18,23,56,.78);color:#fff;font-size:12px;padding:3px 8px}
.card .leg{display:flex;gap:8px;align-items:baseline;margin-top:7px;font-size:13px}
.card .leg b{font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:12px}
.mais{display:flex;justify-content:flex-end;margin:-60px 0 clamp(80px,10vw,140px)}
.mais a{border-bottom:1px solid currentColor;padding-bottom:2px}

/* Filtros e lista */
.filtros{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:6px 0 16px;border-top:1px solid var(--linha);padding-top:14px}
.filtros div{display:flex;gap:18px;flex-wrap:wrap}
.filtros button{color:var(--suave)}
.filtros button[aria-pressed="true"]{color:var(--tinta);text-decoration:underline;text-underline-offset:4px}
.lista{list-style:none;padding-bottom:clamp(80px,10vw,140px)}
.lista button{display:grid;grid-template-columns:60px 2.2fr 1.2fr 1.4fr 1.4fr;gap:16px;width:100%;text-align:left;padding:14px 0;border-bottom:1px solid var(--linha);font-size:15px;transition:background .2s,padding .2s}
.lista button:hover{background:rgba(147,168,205,.18);padding-left:10px}
.lista .t{font-weight:600}
.lista .c{color:var(--suave)}
.lista-cab{display:grid;grid-template-columns:60px 2.2fr 1.2fr 1.4fr 1.4fr;gap:16px;padding:0 0 8px;border-bottom:1px solid var(--linha);color:var(--suave)}

/* Sobre */
.sobre .txt{position:sticky;top:24px;align-self:start}
.sobre{display:grid;grid-template-columns:4fr 7fr;gap:clamp(24px,4vw,64px);padding-bottom:clamp(60px,8vw,120px)}
.sobre .foto{aspect-ratio:3/4;object-fit:cover;width:100%}
.sobre h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.4vw,52px);line-height:1.12;letter-spacing:.02em;margin-bottom:28px}
.sobre .txt p{font-size:clamp(17px,1.4vw,19px);max-width:36em;margin-bottom:16px}
.bloco{border-top:1px solid var(--linha);padding:18px 0 clamp(60px,7vw,100px);display:grid;grid-template-columns:3fr 9fr;gap:24px}
.bloco>h3{font-weight:500;text-transform:uppercase;font-size:13px}
.servicos{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:28px 40px;counter-reset:s}
.servicos li{counter-increment:s}
.servicos li::before{content:counter(s,decimal-leading-zero);display:block;font-size:13px;color:var(--suave);margin-bottom:8px}
.servicos b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,30px);line-height:1.15;letter-spacing:.02em;margin-bottom:8px}
.servicos p{color:var(--suave);max-width:32em}
.numeros{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.numeros b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(40px,5vw,76px);line-height:1;letter-spacing:.01em;margin-bottom:10px}
.numeros span{color:var(--suave);font-size:15px}
.clientes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.clientes h4{font-weight:600;font-size:13px;margin-bottom:10px;color:var(--suave)}
.clientes p{font-size:clamp(18px,1.6vw,22px);line-height:1.4;letter-spacing:-.01em}

/* Contato */
.contato{padding-bottom:clamp(80px,10vw,140px)}
.contato h2{font-family:var(--serif);font-weight:400;font-size:clamp(40px,7vw,108px);line-height:.98;letter-spacing:.04em;text-transform:uppercase;margin-bottom:clamp(40px,6vw,80px)}
.canais{list-style:none;border-top:1px solid var(--linha)}
.canais a{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--linha);font-family:var(--serif);font-size:clamp(20px,2.4vw,34px);letter-spacing:.02em;transition:padding .2s}
.canais a:hover{padding-left:12px}
.canais span{font-size:13px;text-transform:uppercase;color:var(--suave);align-self:center}

/* Rodapé */
.rodape{position:relative;overflow:hidden;background:var(--noite);color:#fff;padding:clamp(70px,9vw,120px) 0 var(--g)}
.rodape::before{content:"";position:absolute;inset:0;background:url("assets/logo-icon-white.png") 0 0/46px auto repeat;opacity:.045;pointer-events:none}
.rodape .w{position:relative}
.rod-l1{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.rodape h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5.4vw,84px);line-height:1;letter-spacing:.04em;text-transform:uppercase}
.rodape h2 em{font-style:normal;color:var(--aco)}
.rodape .nota{color:rgba(255,255,255,.72);font-size:14px;max-width:24em;text-align:right}
.rod-l2{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:40px}
.rod-l2 div{display:flex;gap:24px;flex-wrap:wrap}
.rod-l2 a:hover{color:var(--aco)}
.rod-l3{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:clamp(60px,8vw,110px);font-size:13px;color:rgba(255,255,255,.6)}
.rod-l3 img{height:clamp(48px,6vw,72px);width:auto}

/* Janela do vídeo */
dialog{border:0;padding:0;width:min(1180px,100%,118vh);max-height:100dvh;margin:auto;background:var(--papel);color:var(--tinta);overflow:auto}
dialog::backdrop{background:rgba(18,23,56,.86);backdrop-filter:blur(4px)}
.jv-topo{display:flex;justify-content:space-between;align-items:center;padding:14px var(--g)}
.jv-video{position:relative;aspect-ratio:16/9;background:#000}
.jv-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.jv-corpo{display:grid;grid-template-columns:7fr 5fr;gap:24px;padding:20px var(--g) 28px}
.jv-corpo h2{font-family:var(--serif);font-weight:400;font-size:clamp(24px,3vw,38px);line-height:1.05;letter-spacing:.02em;margin-bottom:14px}
.jv-filmes{display:flex;flex-direction:column;gap:6px}
.jv-filmes button{text-align:left;color:var(--suave);font-size:14px}
.jv-filmes button[aria-current="true"]{color:var(--tinta);text-decoration:underline;text-underline-offset:3px}
.ficha{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:14px}
.ficha dt{text-transform:uppercase;font-size:11px;letter-spacing:.12em;font-weight:600;color:var(--suave);padding-top:3px}

/* Entrada suave */
.surge{opacity:0;transform:translateY(14px);transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1)}
.surge.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.surge{opacity:1;transform:none;transition:none}.card img{transition:none}}

@media(max-width:900px){
  .grade{grid-template-columns:repeat(2,1fr)}
  .sobre{grid-template-columns:1fr}
  .sobre .foto{max-width:420px}
  .bloco{grid-template-columns:1fr}
  .numeros{grid-template-columns:repeat(2,1fr)}
  .clientes{grid-template-columns:1fr}
  .lista button,.lista-cab{grid-template-columns:48px 2fr 1.4fr}
  .lista .ag,.lista .di{display:none}
  .jv-corpo{grid-template-columns:1fr}
}
@media(max-width:600px){
  .topo-l1{flex-direction:column-reverse;gap:14px}
  .topo-dir{width:100%;justify-content:space-between;flex-direction:row-reverse}
  .topo-info{align-items:flex-end}
  .nome{font-size:clamp(40px,13.5vw,80px)}
  .menu{flex-direction:column;gap:10px}
  .menu-pp{grid-template-columns:repeat(4,auto);justify-content:space-between}
  .abre{flex-direction:column;align-items:flex-start;padding-top:56px}
  .grade{grid-template-columns:1fr}
  .servicos{grid-template-columns:1fr}
  .mais{margin-top:-50px;justify-content:flex-start}
  .rodape .nota{text-align:left}
}

/* Troca de idioma */
.redes{align-items:center}
.idiomas{display:inline-flex;gap:8px;margin-right:10px;padding-right:14px;border-right:1px solid var(--linha)}
.idiomas a{display:inline-flex;line-height:0;opacity:.45;transition:opacity .2s}
.idiomas a:hover,.idiomas a[aria-current="true"]{opacity:1}
.idiomas a::after{display:none}
.idiomas svg{width:28px;height:20px;border-radius:2px;box-shadow:0 0 0 1px rgba(18,23,56,.15)}

/* Formulário das agências */
.form{display:grid;grid-template-columns:repeat(2,1fr);gap:22px 28px;max-width:960px;padding-bottom:clamp(80px,10vw,140px)}
.form .cheio{grid-column:1/-1}
.form label,.form legend{display:block;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--suave);margin-bottom:8px}
.form label b{color:var(--tinta);font-weight:600}
.form input[type=text],.form input[type=email],.form input[type=tel],.form input[type=url],.form select,.form textarea{width:100%;font:16px/1.4 var(--f);color:var(--tinta);background:#fff;border:0;border-bottom:1px solid var(--linha);padding:10px 0;border-radius:0;outline:none;transition:border-color .2s}
.form textarea{min-height:110px;resize:vertical;border:1px solid var(--linha);padding:10px 12px}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--noite)}
.form fieldset{border:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{margin:0;text-transform:none;letter-spacing:0;font-size:15px;font-weight:500;color:var(--tinta);cursor:pointer}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;padding:8px 14px;border:1px solid var(--linha);transition:.2s}
.chips input:checked+span{background:var(--noite);border-color:var(--noite);color:#fff}
.chips input:focus-visible+span{outline:2px solid var(--aco);outline-offset:2px}
.form .aceite{display:flex;margin:0;gap:12px;align-items:flex-start;font-size:14px;color:var(--suave);text-transform:none;letter-spacing:0;font-weight:400}
.form .aceite input{margin-top:3px;accent-color:var(--noite);width:18px;height:18px;flex-shrink:0}
.enviar{justify-self:start;background:var(--noite);color:#fff;font:600 13px/1 var(--f);letter-spacing:.16em;text-transform:uppercase;padding:18px 34px;transition:background .2s}
.enviar:hover{background:#26306a}
.enviar:disabled{opacity:.5;cursor:wait}
.robo{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-aviso{font-size:16px;margin:8px 0 0;max-width:40em}
.form-aviso.ok{font-family:var(--serif);font-size:clamp(22px,2.4vw,32px);line-height:1.25;padding:0 0 clamp(80px,10vw,140px)}
.form-aviso.erro{color:#A3262A}
.nota-agencias{margin-top:28px;font-size:15px;color:var(--suave)}
.nota-agencias a{color:var(--tinta);border-bottom:1px solid currentColor}
@media(max-width:700px){.form{grid-template-columns:1fr}}

/* Perguntas frequentes */
.faq{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 40px}
.faq dt{font-family:var(--serif);font-size:clamp(20px,1.8vw,26px);line-height:1.2;letter-spacing:.01em;margin-bottom:8px}
.faq dd{color:var(--suave);max-width:36em}
@media(max-width:900px){.faq{grid-template-columns:1fr}}
