/* =========================================================================
   LYNX Curitiba — sistema visual
   Autor: Walter Harveys / H8 Brasil

   Princípios (decididos após a 1ª rodada de avaliação):
   1. Sem cor de destaque. A cor da página vem das fotografias do portfólio.
      O navy #000066 da marca aparece só na logo, na faixa de orçamento e no
      rodapé — chapado, nunca em gradiente.
   2. Cantos retos, filete de 1px, zero sombra. Nada gira, nada flutua.
   3. Movimento discreto: só entrada por rolagem. Sem parallax, sem marquee.
   ========================================================================= */

/* ------------------------------------------------------------------ fontes */
@font-face{font-family:Archivo;src:url(/assets/fonts/archivo-latin.woff2)format("woff2");
  font-weight:400 800;font-display:swap;
  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:Archivo;src:url(/assets/fonts/archivo-latin-ext.woff2)format("woff2");
  font-weight:400 800;font-display:swap;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:Inter;src:url(/assets/fonts/inter-latin.woff2)format("woff2");
  font-weight:400 700;font-display:swap;
  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:Inter;src:url(/assets/fonts/inter-latin-ext.woff2)format("woff2");
  font-weight:400 700;font-display:swap;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}

/* ------------------------------------------------------------------ tokens */
:root{
  --papel:#FAF9F7;
  --papel-2:#F1EFEA;
  --linha:#E4E1DA;
  --linha-2:#CDC9BF;
  --tinta:#16161A;
  --tinta-2:#60606B;
  --marca:#000066;          /* navy da marca, amostrado da logo oficial */
  --marca-fosco:#0B0B2E;    /* faixa escura */
  --carvao:#131317;

  --fundo:var(--papel);
  --texto:var(--tinta);

  --f-display:Archivo,"Helvetica Neue",Arial,sans-serif;
  --f-texto:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;

  --gut:clamp(1.25rem,4vw,4.5rem);
  --lg:min(1420px,100% - 2 * var(--gut));
  --t:cubic-bezier(.22,1,.36,1);
}

/* ------------------------------------------------------------------- reset */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--fundo);color:var(--texto);
  font-family:var(--f-texto);font-size:clamp(.975rem,.94rem + .16vw,1.04rem);
  line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg,video,iframe{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
p{margin:0 0 1em}
figure,figcaption,dd,dl,blockquote{margin:0}
h1,h2,h3,h4{margin:0;font-family:var(--f-display);font-weight:700;
  line-height:1.02;letter-spacing:-.028em}
:focus-visible{outline:2px solid var(--marca);outline-offset:3px}
::selection{background:var(--marca);color:#fff}

.pular{position:absolute;left:-9999px;top:0;z-index:200;background:var(--marca);color:#fff;padding:.9rem 1.4rem}
.pular:focus{left:0}
.vis-oculto{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ------------------------------------------------------------------ layout */
.env{width:var(--lg);margin-inline:auto}
.secao{padding-block:clamp(3rem,5vw,5.5rem);position:relative;
  scroll-margin-top:clamp(66px,7vw,84px)}  /* o topo fixo não pode cobrir a âncora */
.ficha{scroll-margin-top:calc(clamp(66px,7vw,84px) + 1.5rem)}
.secao--linha{border-top:1px solid var(--linha)}
.secao--papel2{background:var(--papel-2)}
.secao--escura{background:var(--marca-fosco);color:#EDECEA}

/* olho de seção: filete curto + texto pequeno em caixa alta */
.olho{
  display:block;padding-top:.9rem;border-top:1px solid var(--tinta);
  font-family:var(--f-texto);font-size:.7rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--tinta-2);
  margin:0 0 1.6rem;max-width:max-content;
}
.secao--escura .olho{border-color:rgba(237,236,234,.5);color:#B4B4C4}

/* títulos */
.tit{font-size:clamp(2rem,1.15rem + 2.6vw,3.7rem);text-wrap:balance}
.tit--g{font-size:clamp(2.4rem,1.1rem + 4vw,5rem)}
.tit--p{font-size:clamp(1.5rem,1.1rem + 1.3vw,2.3rem)}
.lead{font-size:clamp(1rem,.96rem + .28vw,1.14rem);color:var(--tinta-2);max-width:54ch}
.secao--escura .lead{color:#B9B9C8}

/* cabeçalho de seção: título à esquerda, apoio à direita */
.cab{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  gap:clamp(1.5rem,4vw,4rem);align-items:end;margin-bottom:clamp(2.2rem,4vw,3.4rem)}
@media (max-width:820px){.cab{grid-template-columns:1fr;align-items:start;gap:1.2rem}}

/* ------------------------------------------------------------------ ações */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.92rem 1.5rem;background:var(--marca);color:#fff;
  font-family:var(--f-texto);font-weight:600;font-size:.94rem;letter-spacing:.005em;
  border:1px solid var(--marca);transition:background-color .35s,color .35s;
}
.btn:hover{background:#00004A;border-color:#00004A}
.btn svg{width:1em;height:1em;flex:none;transition:transform .45s var(--t)}
.btn:hover svg{transform:translateX(3px)}
.btn--vazio{background:transparent;color:var(--tinta);border-color:var(--linha-2)}
.btn--vazio:hover{background:var(--tinta);border-color:var(--tinta);color:var(--papel)}
.secao--escura .btn--vazio{color:#EDECEA;border-color:rgba(237,236,234,.4)}
.secao--escura .btn--vazio:hover{background:#EDECEA;color:var(--marca-fosco)}
.btn--claro{background:var(--papel);border-color:var(--papel);color:var(--marca)}
.btn--claro:hover{background:#fff;border-color:#fff}

/* link de texto com filete */
.elo{display:inline-flex;align-items:center;gap:.45rem;font-weight:500;
  border-bottom:1px solid var(--linha-2);padding-bottom:.15rem;
  transition:border-color .35s,color .35s}
.elo:hover{border-color:currentColor}
.elo svg{width:.95em;height:.95em;flex:none;transition:transform .45s var(--t)}
.elo:hover svg{transform:translateX(3px)}

/* ----------------------------------------------------------------- entrada */
[data-revelar]{opacity:0;transform:translateY(14px);
  transition:opacity .7s var(--t),transform .7s var(--t)}
[data-revelar].visivel{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  [data-revelar]{opacity:1!important;transform:none!important;transition:none}
}

/* ==================================================================== TOPO */
.topo{position:fixed;inset:0 0 auto;z-index:90;
  background:transparent;border-bottom:1px solid transparent;
  transition:background-color .4s,border-color .4s}
.topo[data-fixa="1"]{background:color-mix(in srgb,var(--papel) 92%,transparent);
  border-bottom-color:var(--linha);
  -webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px)}
.topo__barra{width:var(--lg);margin-inline:auto;
  display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);
  height:clamp(66px,7vw,84px)}

.marca{display:flex;align-items:center;flex:none;color:var(--marca)}
.marca__logo{display:block;width:auto;height:30px;aspect-ratio:208/55;flex:none;
  background:currentColor;
  -webkit-mask:url(/assets/img/logo-lynx.png) no-repeat center/contain;
          mask:url(/assets/img/logo-lynx.png) no-repeat center/contain}
@media (max-width:400px){.marca__logo{height:26px}}

.nav{display:flex;align-items:center;gap:clamp(.9rem,1.8vw,1.9rem);margin-left:auto}
.nav__links{display:contents}
.nav a:not(.btn){position:relative;font-size:.93rem;font-weight:500;color:var(--tinta-2);
  padding:.4rem 0;transition:color .3s}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:.1rem;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:left;
  transition:transform .45s var(--t)}
.nav a:not(.btn):hover{color:var(--tinta)}
.nav a:not(.btn):hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a[aria-current="page"]{color:var(--tinta)}
.nav .btn{padding:.66rem 1.15rem;font-size:.9rem}

/* hambúrguer */
.hamb{display:none;flex:none;width:44px;height:44px;
  align-items:center;justify-content:center;border:1px solid var(--linha-2)}
.hamb span{display:block;width:17px;height:1px;background:currentColor;position:relative;
  transition:background-color .2s}
.hamb span::before,.hamb span::after{content:"";position:absolute;left:0;width:17px;height:1px;
  background:currentColor;transition:transform .4s var(--t)}
.hamb span::before{top:-5px}.hamb span::after{top:5px}
.hamb[aria-expanded="true"] span{background:transparent}
.hamb[aria-expanded="true"] span::before{transform:translateY(5px) rotate(45deg)}
.hamb[aria-expanded="true"] span::after{transform:translateY(-5px) rotate(-45deg)}

/* gaveta */
.gaveta{position:fixed;inset:0;z-index:80;background:var(--papel);color:var(--tinta);
  display:flex;flex-direction:column;justify-content:center;
  padding:6rem var(--gut) 3rem;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .35s,transform .45s var(--t),visibility .35s}
.gaveta[data-aberta="1"]{opacity:1;visibility:visible;transform:none}
.gaveta a{display:block;padding:.55rem 0;border-bottom:1px solid var(--linha);
  font-family:var(--f-display);font-weight:600;letter-spacing:-.025em;
  font-size:clamp(1.6rem,7vw,2.2rem);line-height:1.2}
.gaveta a:first-of-type{border-top:1px solid var(--linha)}
.gaveta a.gaveta__cta{display:inline-flex;font-family:var(--f-texto);font-size:.98rem;
  font-weight:600;letter-spacing:0;border:1px solid var(--marca);
  padding:.95rem 1.5rem;margin-top:1.8rem;width:auto;align-self:flex-start}
.gaveta__pe{margin-top:2rem;display:grid;gap:.5rem;font-size:.94rem;color:var(--tinta-2)}
.gaveta__pe a{font-family:var(--f-texto);font-size:.94rem;font-weight:400;
  letter-spacing:0;border:0;padding:0;color:inherit}
.gaveta__pe a:first-of-type{border-top:0}

@media (max-width:960px){
  .nav__links{display:none!important}
  .hamb{display:flex}
  .nav .btn--cta{display:none}
}
@media (min-width:961px){.gaveta{display:none}}

/* ==================================================================== HERO */
/* A vitrine É o hero: grade de trabalho real ocupando a tela, de borda a borda.
   Uma célula da própria grade carrega o texto — o argumento é o trabalho. */
.hero{padding-top:clamp(66px,7vw,84px)}
.vitrine{display:grid;gap:2px;background:var(--linha);
  grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(3,minmax(0,1fr));
  height:calc(100svh - clamp(66px,7vw,84px));min-height:600px;max-height:860px}
.vitrine figure,.vitrine__texto{position:relative;overflow:hidden;background:var(--papel-2);min-height:0}
.vitrine img{width:100%;height:100%;object-fit:cover}

.vitrine__texto{grid-column:1/3;grid-row:1/3;background:var(--papel);
  display:flex;flex-direction:column;justify-content:center;
  /* alinha o título com o conteúdo das seções de baixo */
  padding:clamp(1.4rem,2.6vw,2.6rem) clamp(1.4rem,2.6vw,2.6rem)
          clamp(1.4rem,2.6vw,2.6rem) var(--gut)}
.vitrine__olho{display:block;padding-top:.8rem;border-top:1px solid var(--tinta);
  font-size:.66rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase;
  color:var(--tinta-2);margin:0 0 1.1rem;max-width:max-content}
.vitrine h1{font-size:clamp(1.9rem,.9rem + 2.4vw,3.3rem);letter-spacing:-.035em;
  line-height:1;margin-bottom:.9rem;text-wrap:balance}
.vitrine h1 em{font-style:normal;color:var(--marca)}
.vitrine__lead{font-size:clamp(.92rem,.9rem + .2vw,1.05rem);color:var(--tinta-2);
  max-width:38ch;margin-bottom:1.4rem}
.vitrine__acoes{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}
.vitrine__acoes .btn{padding:.8rem 1.25rem;font-size:.9rem}

/* legenda: etiqueta cor de papel, discreta, sempre visível */
.vitrine figcaption{position:absolute;left:0;bottom:0;padding:.4rem .6rem;
  background:var(--papel);color:var(--tinta);max-width:calc(100% - .6rem);
  font-size:.62rem;font-weight:600;letter-spacing:.05em;line-height:1.35}
.vitrine figcaption small{display:block;font-weight:500;letter-spacing:.11em;
  text-transform:uppercase;font-size:.56rem;color:var(--tinta-2);margin-top:.1rem}

@media (max-width:1200px){
  .vitrine{grid-template-columns:repeat(3,1fr);grid-template-rows:none;
    grid-auto-rows:auto;height:auto;min-height:0;max-height:none}
  .vitrine figure{aspect-ratio:4/3}
  .vitrine__texto{grid-column:1/3;grid-row:auto;
    padding:clamp(1.2rem,3vw,2rem) clamp(1.2rem,3vw,2rem) clamp(1.2rem,3vw,2rem) 0}
  .vitrine figure:nth-of-type(n+10){display:none}
}
@media (max-width:760px){
  .vitrine{grid-template-columns:repeat(2,1fr)}
  .vitrine__texto{grid-column:1/3;padding-inline:0}
  .vitrine figure:nth-of-type(n+9){display:none}
}

/* =============================================================== MANIFESTO */
.manif{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  gap:clamp(1.5rem,4vw,4rem);align-items:end}
@media (max-width:860px){.manif{grid-template-columns:1fr;align-items:start}}
.manif__frase{font-family:var(--f-display);font-weight:700;letter-spacing:-.03em;
  line-height:1.06;font-size:clamp(1.45rem,1rem + 1.8vw,2.3rem);text-wrap:balance;margin:0}
.manif__texto{color:var(--tinta-2);margin:0}

/* números: linha simples com filetes, sem cor */
.numeros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--linha);margin-top:clamp(2rem,3.5vw,3rem)}
@media (max-width:760px){.numeros{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.numeros{grid-template-columns:1fr}}
.num{padding:clamp(1.2rem,2vw,1.8rem) clamp(1rem,2vw,1.6rem) clamp(1.2rem,2vw,1.8rem) 0;
  border-right:1px solid var(--linha)}
.num:last-child{border-right:0}
@media (max-width:760px){
  .num:nth-child(2n){border-right:0}
  .num:nth-child(-n+2){border-bottom:1px solid var(--linha)}
}
@media (max-width:420px){.num{border-right:0;border-bottom:1px solid var(--linha)}
  .num:last-child{border-bottom:0}}
.num b{display:block;font-family:var(--f-display);font-weight:700;letter-spacing:-.035em;
  font-size:clamp(1.8rem,1.2rem + 1.8vw,2.7rem);line-height:1}
.num > span{display:block;margin-top:.4rem;font-size:.85rem;color:var(--tinta-2);max-width:24ch}

/* ================================================================ SERVIÇOS */
/* Nada de acordeão e nada de grupos separados: as 17 especialidades ficam TODAS
   visíveis numa grade única, cada uma com a foto de um trabalho real — é o que o
   site antigo fazia bem. A macroárea vira uma etiqueta pequena em cada ficha. */
.frentes{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin-bottom:clamp(1.4rem,2.6vw,2rem);
  padding-bottom:.9rem;border-bottom:1px solid var(--linha)}
.frentes span{font-size:.78rem;color:var(--tinta-2)}
.frentes span b{font-weight:600;color:var(--tinta)}

.fichas{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  gap:clamp(.7rem,1.4vw,1.15rem) clamp(.6rem,1.2vw,1rem)}
@media (max-width:1280px){.fichas{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:1020px){.fichas{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:760px){.fichas{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:480px){.fichas{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ficha{display:block;position:relative}
.ficha img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--papel-2);
  transition:opacity .35s}
.ficha:hover img{opacity:.88}
.ficha__area{display:block;margin:.55rem 0 .15rem;font-size:.6rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-2);
  line-height:1.1;height:1.1em}  /* vazia em quase todas: segura o alinhamento dos nomes */
.ficha h3{font-family:var(--f-display);font-size:.95rem;font-weight:600;
  letter-spacing:-.018em;line-height:1.15;margin:0}

/* =============================================================== PORTFÓLIO */
.filtros{display:flex;flex-wrap:wrap;gap:.4rem .5rem;
  margin-bottom:clamp(1.6rem,3vw,2.4rem)}
.filtro{padding:.42rem .8rem;font-size:.82rem;font-weight:500;color:var(--tinta-2);
  border:1px solid var(--linha);transition:border-color .3s,color .3s,background-color .3s}
.filtro:hover{border-color:var(--linha-2);color:var(--tinta)}
.filtro[aria-pressed="true"]{background:var(--tinta);border-color:var(--tinta);color:var(--papel)}

/* mosaico: cards menores e mais densos, sem moldura e sem sombra */
.mosaico{columns:6;column-gap:clamp(.5rem,1vw,.85rem)}
@media (max-width:1500px){.mosaico{columns:5}}
@media (max-width:1180px){.mosaico{columns:4}}
@media (max-width:860px){.mosaico{columns:3}}
@media (max-width:560px){.mosaico{columns:2}}
.peca{break-inside:avoid;margin-bottom:clamp(.5rem,1vw,.85rem);display:block;
  position:relative;background:var(--papel-2);overflow:hidden}
.peca img{width:100%;transition:opacity .4s}
.peca:hover img{opacity:.9}
/* a legenda não reserva espaço: o mosaico fica denso como uma folha de contato */
.peca__leg{position:absolute;left:0;bottom:0;padding:.32rem .5rem;
  background:var(--papel);color:var(--tinta-2);
  font-size:.58rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;
  opacity:0;transform:translateY(4px);
  transition:opacity .3s,transform .35s var(--t)}
.peca:hover .peca__leg,.peca:focus-visible .peca__leg{opacity:1;transform:none}
.peca[hidden]{display:none!important}
.mosaico__mais{display:flex;justify-content:center;margin-top:clamp(2rem,3.5vw,3rem)}

/* ================================================================ CLIENTES */
/* grade estática de filetes — sem marquee, sem cartão branco */
.logos{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));
  border-top:1px solid var(--linha);border-left:1px solid var(--linha)}
@media (max-width:1180px){.logos{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (max-width:820px){.logos{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:480px){.logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
.logo-c{display:grid;place-items:center;aspect-ratio:16/10;padding:.9rem 1rem;
  border-right:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.logo-c img{max-height:100%;width:auto;object-fit:contain;
  filter:grayscale(1);opacity:.5;
  transition:filter .45s,opacity .45s}
.logo-c:hover img{filter:none;opacity:1}
.logos[data-recolhido="1"] .logo-c:nth-child(n+41){display:none}
.logos__acao{display:flex;justify-content:center;margin-top:clamp(1.6rem,3vw,2.4rem)}

/* ===================================================================== CTA */
.cta{background:var(--marca);color:#EDECEA}
.cta__env{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
  gap:clamp(2rem,5vw,5rem);align-items:start}
@media (max-width:860px){.cta__env{grid-template-columns:1fr}}
.cta .olho{border-color:rgba(237,236,234,.5);color:#B4B4C4}
.cta .lead{color:#B9B9C8}
.cta h2{font-size:clamp(2rem,1.1rem + 3.2vw,4rem);letter-spacing:-.04em;text-wrap:balance}
.cta__lista{list-style:none;margin:0 0 1.8rem;padding:0;border-top:1px solid rgba(237,236,234,.24)}
.cta__lista li{display:grid;grid-template-columns:1.6rem 1fr;gap:.5rem;
  padding:.85rem 0;border-bottom:1px solid rgba(237,236,234,.24);
  font-size:.94rem;color:#C6C6D4}
.cta__lista b{font-weight:600;color:#EDECEA;font-size:.75rem;letter-spacing:.06em;padding-top:.2em}

/* ================================================================ CONTATO */
/* 5 dados em 5 colunas: cabe exato numa linha e nenhum filete fica solto. */
.contato{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.dado{padding:clamp(1.3rem,2.2vw,1.9rem) clamp(.9rem,1.6vw,1.4rem) clamp(1.3rem,2.2vw,1.9rem) 0;
  border-right:1px solid var(--linha)}
.dado:last-child{border-right:0;padding-right:0}
@media (max-width:1100px){
  .contato{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dado{border-right:0;border-bottom:1px solid var(--linha);padding-right:1.4rem}
  .dado:nth-child(odd){border-right:1px solid var(--linha)}
  .dado:last-child{grid-column:1/-1;border-bottom:0;border-right:0}
}
@media (max-width:520px){
  .contato{grid-template-columns:1fr}
  .dado,.dado:nth-child(odd){border-right:0}
}
.dado dt{font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--tinta-2);margin-bottom:.55rem}
.dado dd{font-size:1rem;line-height:1.5}
.dado a{border-bottom:1px solid var(--linha-2);padding-bottom:.05rem;transition:border-color .3s}
.dado a:hover{border-color:var(--tinta)}

/* mapa: cartão sóbrio, iframe só ao clique */
.mapa{margin-top:clamp(2rem,4vw,3rem)}
.mapa iframe{width:100%;height:clamp(280px,36vw,420px);border:0;
  border:1px solid var(--linha);filter:grayscale(.25)}
.mapa__abrir{display:grid;place-items:center;width:100%;
  height:clamp(200px,26vw,300px);position:relative;overflow:hidden;
  background:var(--papel-2);border:1px solid var(--linha)}
.mapa__grade{position:absolute;inset:0;opacity:.7;
  background-image:linear-gradient(var(--linha) 1px,transparent 1px),
                   linear-gradient(90deg,var(--linha) 1px,transparent 1px);
  background-size:44px 44px}
.mapa__cartao{position:relative;display:grid;gap:.25rem;justify-items:center;text-align:center;
  padding:clamp(1.2rem,2.4vw,1.8rem) clamp(1.4rem,3vw,2.4rem);
  background:var(--papel);border:1px solid var(--linha)}
.mapa__cartao strong{font-family:var(--f-display);font-size:1.02rem;font-weight:600;letter-spacing:-.02em}
.mapa__cartao > span{font-size:.9rem;color:var(--tinta-2)}
.mapa__acao{margin-top:.7rem;font-size:.88rem;font-weight:600;color:var(--marca);
  border-bottom:1px solid currentColor;padding-bottom:.1rem}
.mapa__link{margin:.8rem 0 0;font-size:.9rem;color:var(--tinta-2)}
.mapa__link a{border-bottom:1px solid var(--linha-2);transition:border-color .3s}
.mapa__link a:hover{border-color:var(--tinta)}

/* ================================================================= RODAPÉ */
.rodape{background:var(--carvao);color:#9C9CA8;padding-block:clamp(3rem,5vw,4.5rem) 1.8rem;
  font-size:.9rem}
.rodape__grade{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));
  gap:clamp(1.8rem,4vw,3.5rem);padding-bottom:clamp(2.4rem,4vw,3.5rem);
  border-bottom:1px solid rgba(237,236,234,.14)}
@media (max-width:860px){.rodape__grade{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.rodape__grade{grid-template-columns:1fr}}
.rodape h3{font-family:var(--f-texto);font-size:.68rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:#EDECEA;margin-bottom:1rem}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.rodape a:hover{color:#fff}
.rodape .marca{color:#EDECEA;margin-bottom:1rem}
.rodape .marca__logo{height:32px}
.rodape__fim{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;
  padding-top:1.5rem;font-size:.82rem;color:#8A8A96}
.social{display:flex;gap:.5rem;margin-top:1.1rem}
.social a{width:38px;height:38px;display:grid;place-items:center;
  border:1px solid rgba(237,236,234,.22);transition:background-color .3s,color .3s,border-color .3s}
.social a:hover{background:#EDECEA;color:var(--carvao);border-color:#EDECEA}
.social svg{width:16px;height:16px}

/* ======================================================= AÇÕES FLUTUANTES */
.flut{position:fixed;right:clamp(1rem,2.2vw,1.6rem);bottom:clamp(1rem,2.2vw,1.6rem);
  z-index:70;display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}
.zap{display:inline-flex;align-items:center;gap:.55rem;padding:.7rem .9rem;
  background:var(--marca);color:#fff;font-size:.9rem;font-weight:500;
  transition:background-color .3s}
.zap:hover{background:#00004A}
.zap svg{width:18px;height:18px;flex:none}
.zap span{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;
  transition:max-width .5s var(--t),opacity .3s}
.zap:hover span,.zap:focus-visible span{max-width:11rem;opacity:1}
.topo-btn{width:38px;height:38px;display:grid;place-items:center;
  background:var(--papel);color:var(--tinta);border:1px solid var(--linha-2);
  opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.topo-btn[data-ver="1"]{opacity:1;visibility:visible}
.topo-btn svg{width:14px;height:14px}

/* ============================================================ EM CONSTRUÇÃO */
.breve{min-height:66svh;display:grid;align-content:center;
  padding-block:clamp(7rem,12vw,10rem) clamp(3rem,6vw,5rem)}
.breve .lead{margin:1.2rem 0 2rem}
