/* ===== Primos Arquitetura · tema ===== */
/* letras do manual, servidas pelo próprio site (licença OFL em assets/fonts) */
@font-face{font-family:"IBM Plex Sans";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans Condensed";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-sans-condensed-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/playfair-display-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/playfair-display-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-weight:400;font-style:italic;font-display:swap;src:url(../fonts/playfair-display-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-weight:600;font-style:italic;font-display:swap;src:url(../fonts/playfair-display-latin-600-italic.woff2) format("woff2")}

/* ===== cores e letras · manual da marca v2 ===== */
:root{
  --tinta:#141414; --grafite:#3A3A38; --cinza:#8C8A85; --nevoa:#D9D6D0; --papel:#F7F5F0;
  --oxido:#9B4722; --oxido-escuro:#6E3018; --oxido-claro:#F2E5DE;
  --bg:var(--papel); --faixa:var(--papel); --ink:var(--tinta); --ink-soft:var(--grafite);
  --line:var(--nevoa); --ph:var(--nevoa); --ph-ink:var(--grafite); --campo:var(--cinza);
  --f-texto:"IBM Plex Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  --f-cond:"IBM Plex Sans Condensed","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --f-serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --wrap:1040px; --gutter:clamp(20px,5vw,48px);
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
/* o site é claro por decisão da marca; o bloco escuro só vale se alguém trocar data-theme */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){--bg:var(--tinta);--faixa:var(--tinta);--ink:var(--papel);--ink-soft:var(--nevoa);--line:var(--grafite);--ph:var(--grafite);--ph-ink:var(--nevoa);--campo:var(--cinza)}
}
:root[data-theme="dark"]{--bg:var(--tinta);--faixa:var(--tinta);--ink:var(--papel);--ink-soft:var(--nevoa);--line:var(--grafite);--ph:var(--grafite);--ph-ink:var(--nevoa);--campo:var(--cinza)}
*,*::before,*::after{box-sizing:inherit}
html{background:var(--bg);scroll-padding-top:calc(env(safe-area-inset-top,0px) + 96px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--f-texto);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
@media (max-width:640px){body{font-size:16px}}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0;font-weight:600}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--oxido);outline-offset:3px}
.skip{position:absolute;left:12px;top:-80px;z-index:100;background:var(--tinta);color:var(--papel);padding:10px 14px}
.skip:focus{top:12px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.wa-ico{width:18px;height:18px;flex:none}

/* botões em pílula, como no site atual */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:999px;font:500 15px/1 var(--f-texto);text-decoration:none;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;white-space:nowrap}
.pill:hover{background:var(--ink);color:var(--bg)}
.pill--cheio{background:var(--tinta);border-color:var(--tinta);color:var(--papel)}
.pill--cheio:hover{background:transparent;color:var(--tinta)}
.pill--oxido{background:var(--oxido);border-color:var(--oxido);color:var(--papel)}
.pill--oxido:hover{background:var(--oxido-escuro);border-color:var(--oxido-escuro);color:var(--papel)}
@media (max-width:420px){.pill{white-space:normal;text-align:center;padding:12px 22px;line-height:1.3}}

/* títulos e textos comuns */
.titulo{font:600 clamp(30px,3.6vw,42px)/1.15 var(--f-serif);text-align:center}
.titulo-sub{margin-top:6px;text-align:center;font:italic 400 clamp(18px,1.8vw,22px)/1.3 var(--f-serif);color:var(--oxido)}
.foto{background:var(--ph);color:var(--ph-ink);display:flex;align-items:flex-end;padding:12px 14px;font-size:12px;line-height:1.3}
.secao{padding-block:clamp(64px,8vw,96px)}
.secao--faixa{background:var(--faixa);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* ===== faixa do topo e cabeçalho ===== */
.topbar{text-align:center;font:italic 400 15px/1 var(--f-serif);color:var(--ink-soft);padding:10px var(--gutter)}
.header{position:sticky;top:0;z-index:40;background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.header-in{height:84px;display:flex;align-items:center;gap:28px;padding-inline:clamp(20px,3.5vw,48px)}
.logo{display:block;width:118px;flex:none;color:var(--ink)}
.logo svg{width:100%;height:auto}
.nav{margin-left:auto;display:flex;align-items:center;gap:30px}
.nav a{font:600 16px/1 var(--f-serif);color:var(--ink-soft);text-decoration:none;padding:8px 0;border-bottom:1.5px solid transparent}
.nav a:hover{color:var(--ink)}
.nav a[aria-current="page"]{color:var(--oxido);border-bottom-color:var(--oxido)}
.icons{display:flex;gap:14px;align-items:center}
.icons a{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;color:var(--ink-soft)}
.icons a:hover{color:var(--ink)}
.icons svg{width:21px;height:21px}
.header .pill-topo{min-height:46px;padding:0 34px;border-radius:999px;background:var(--bg);border:1px solid var(--oxido);color:var(--oxido);text-decoration:none;display:inline-flex;align-items:center;font:500 15px/1 var(--f-texto)}
.header .pill-topo:hover{background:var(--oxido);color:var(--papel)}
.burger{display:none;width:44px;height:44px;margin-right:-10px;background:none;border:0;color:var(--ink);cursor:pointer;flex-direction:column;gap:6px;align-items:center;justify-content:center;padding:0}
.burger span{display:block;width:22px;height:1.5px;background:currentColor}
.mob-wa{display:none;width:44px;height:44px;align-items:center;justify-content:center;color:var(--ink)}
.mob-wa svg{width:22px;height:22px}
.drawer{display:none}
@media (max-width:900px){
  .nav,.icons,.header .pill-topo{display:none}
  .header-in{height:68px;gap:4px}
  .mob-wa{display:inline-flex;margin-left:auto}
  .burger{display:inline-flex}
  .drawer{display:block;max-height:0;overflow:hidden;transition:max-height .3s ease}
  .drawer.is-open{max-height:440px;border-top:1px solid var(--line)}
  .drawer-links{display:block;padding:8px var(--gutter)}
  .drawer-links a{display:block;padding:12px 0;font:600 22px/1.2 var(--f-serif);text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}
  .drawer-links a[aria-current="page"]{color:var(--oxido)}
  .drawer .pill{display:flex;margin:16px var(--gutter) 22px}
}

/* ===== INÍCIO ===== */
.hero{position:relative;min-height:clamp(520px,72vh,680px);display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;padding:clamp(48px,7vh,72px) var(--gutter) clamp(36px,6vh,56px);overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.18) 30%,#000 46%,#000 74%,rgba(0,0,0,.18) 86%);
          mask-image:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.18) 30%,#000 46%,#000 74%,rgba(0,0,0,.18) 86%)}
.hero h1{font:600 clamp(32px,4.4vw,56px)/1.12 var(--f-serif);max-width:16em}
.hero .lede{margin:18px auto 0;max-width:34em;color:var(--ink-soft);font-size:clamp(16px,1.3vw,18px)}
.hero .slogan{margin-top:14px;font:italic 400 clamp(19px,1.9vw,24px)/1.2 var(--f-serif);color:var(--oxido)}
.hero .pill{background:var(--bg)}
.hero .pill:hover{background:var(--ink)}

.intro{background:var(--faixa);padding-block:clamp(56px,7vw,80px);border-bottom:1px solid var(--line)}
.intro .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,64px);align-items:center}
.lockup{width:min(100%,300px);color:var(--ink);justify-self:center}
.lockup svg{width:100%;height:auto}
.intro p{color:var(--ink-soft)}
.intro p + p{margin-top:14px}
.intro .forte{display:inline-block;margin-top:22px;font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1.5px}
.intro .forte:hover{color:var(--oxido)}
@media (max-width:760px){.intro .wrap{grid-template-columns:1fr}.lockup{width:220px;justify-self:start}}

.pilares{padding-block:clamp(64px,8vw,96px) clamp(56px,7vw,80px)}
.pilares-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.pilar{position:relative;background:var(--faixa);border:1px solid var(--line);min-height:290px;padding:28px 24px 92px;text-align:center;border-top:2px solid var(--tinta)}
.pilar h3{font:600 21px/1.25 var(--f-serif);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.pilar p{margin-top:14px;font-size:15px;line-height:1.55;color:var(--ink-soft);text-align:left}
.pilar .num{position:absolute;right:22px;bottom:18px;font:600 56px/1 var(--f-serif)}
.pilar .num::after{content:"";position:absolute;left:-12px;right:-4px;bottom:-6px;height:2px;background:var(--oxido)}
.lema{margin-top:clamp(40px,5vw,56px);text-align:center}
.lema p{font:italic 600 clamp(22px,2.4vw,28px)/1.3 var(--f-serif);color:var(--cinza)}
.lema .pill{margin-top:16px}
@media (max-width:820px){.pilares-grid{grid-template-columns:1fr}.pilar{min-height:0}}

/* cartões de serviço: foto em cima, texto centralizado embaixo */
.serv{background:var(--faixa);display:flex;flex-direction:column;border:1px solid var(--line)}
.serv + .serv{margin-top:clamp(20px,2.6vw,32px)}
.serv .foto{aspect-ratio:21/7}
.serv-txt{display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(28px,4vw,40px) clamp(20px,7vw,104px) clamp(32px,4vw,44px)}
.serv h3{font:600 clamp(24px,2.4vw,30px)/1.2 var(--f-serif)}
.serv .sub{margin-top:4px;font:italic 400 clamp(17px,1.6vw,20px)/1.3 var(--f-serif);color:var(--oxido)}
.serv .lista{margin-top:22px;font:600 16px/1.4 var(--f-serif);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.serv .txt{margin-top:10px;max-width:34em;font-size:16px;line-height:1.55;color:var(--ink-soft)}
.serv .inclui{margin-top:20px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.serv .inclui li{font-size:13.5px;padding:6px 12px;border:1px solid var(--line);background:var(--bg)}
.serv .pill{margin-top:26px}
.servicos-home{padding-bottom:clamp(56px,7vw,80px)}
.servicos-home .titulo{margin-bottom:clamp(28px,4vw,40px)}
.ver-mais{margin-top:clamp(28px,4vw,40px);text-align:center}
.ver-mais a{font-weight:500;text-underline-offset:6px;text-decoration-color:var(--cinza)}

.frase{padding-block:clamp(40px,6vw,64px) clamp(64px,8vw,96px);text-align:center}
.frase p{font:400 clamp(22px,2.4vw,30px)/1.45 var(--f-serif);color:var(--ink-soft);max-width:24em;margin-inline:auto}

.linhas{padding-bottom:clamp(72px,9vw,112px)}
.linha{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
.linha + .linha{margin-top:clamp(48px,6vw,72px)}
.linha .foto{aspect-ratio:16/10}
.marcas li{display:flex;gap:14px;align-items:baseline;color:var(--ink-soft)}
.marcas li + li{margin-top:16px}
.marcas li::before{content:"";flex:none;width:9px;height:9px;background:var(--oxido);transform:translateY(-1px)}
.marcas strong{color:var(--ink);font-weight:600}
.rotulo{font:700 14px/1.3 var(--f-cond);letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px}
.linha h2{font:600 clamp(26px,2.6vw,34px)/1.2 var(--f-serif)}
.linha .sub{margin-top:6px;font:italic 400 19px/1.3 var(--f-serif);color:var(--oxido)}
.linha .txt{margin-top:16px;color:var(--ink-soft)}
.linha .pill{margin-top:24px}
@media (max-width:760px){.linha{grid-template-columns:1fr}.linha--inv .foto{order:-1}}

.processo{text-align:center}
.processo .titulo{font-style:italic}
.processo .sub{margin-top:8px;color:var(--ink-soft)}
.passos{margin-top:clamp(32px,4vw,48px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,32px)}
.passo .tile{position:relative;aspect-ratio:16/9;background:var(--bg);border:1px solid var(--line);display:flex;align-items:flex-start;padding:8px 14px}
.passo .tile span{font:600 clamp(36px,3.4vw,46px)/1 var(--f-serif)}
.passo .tile::after{content:"";position:absolute;left:14px;bottom:14px;width:28px;height:2px;background:var(--oxido)}
.passo h3{margin-top:16px;font:italic 600 21px/1.25 var(--f-serif)}
.passo p{margin-top:8px;font-size:15px;line-height:1.55;color:var(--ink-soft)}
.processo .depois{margin-top:clamp(28px,3.6vw,40px);font:italic 400 clamp(18px,1.7vw,21px)/1.4 var(--f-serif);color:var(--ink-soft)}
.processo .pill{margin-top:20px}
@media (max-width:900px){.passos{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}}
@media (max-width:480px){.passos{grid-template-columns:1fr}.passo .tile{aspect-ratio:3/1}}

.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,28px);margin-top:clamp(28px,4vw,40px)}
.card{display:flex;flex-direction:column}
.card .foto{aspect-ratio:4/5}
.card h3{margin-top:18px;font:700 19px/1.25 var(--f-cond);letter-spacing:.03em;text-transform:uppercase}
.card p{margin-top:8px;margin-bottom:14px;font-size:15px;line-height:1.55;color:var(--ink-soft)}
.card .meta{margin-top:6px;font:italic 400 16px/1.3 var(--f-serif);color:var(--oxido)}
.card .resumo{margin-top:8px;font-size:15px;line-height:1.55;color:var(--ink-soft)}
.card .status{margin-top:auto;padding-top:10px;border-top:1px solid var(--line);font:italic 400 16px/1.3 var(--f-serif);color:var(--oxido)}
@media (max-width:820px){
  .cards{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(250px,78%);overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--gutter) * -1);padding:0 var(--gutter) 10px;scroll-padding-inline:var(--gutter)}
  .card{scroll-snap-align:start}
}

.depo{padding-bottom:clamp(72px,9vw,112px)}
.depo-card{display:grid;grid-template-columns:1fr 1fr;background:var(--faixa);border:1px solid var(--line);min-height:340px}
.depo-card .foto{min-height:240px}
.depo-txt{padding:clamp(28px,4vw,44px);display:flex;flex-direction:column;justify-content:center;text-align:center}
.depo-txt h2{font:600 18px/1.3 var(--f-texto);color:var(--ink-soft)}
.estrelas{color:var(--oxido);letter-spacing:4px;font-size:15px}
.depo-txt .estrelas{margin-top:18px}
.quote{margin:10px 0 0}
.quote[hidden]{display:none}
.quote blockquote{margin:0;font:italic 400 clamp(18px,1.7vw,22px)/1.4 var(--f-serif);min-height:5.6em}
.quote figcaption{margin-top:16px;font-size:14px;font-weight:600;color:var(--ink-soft)}
.depo-nav{margin-top:20px;display:flex;justify-content:center;align-items:center;gap:8px}
.depo-nav button,.car-nav button{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bg);color:var(--ink-soft);border:1px solid var(--line);cursor:pointer;padding:0}
.depo-nav button:hover,.car-nav button:hover{border-color:var(--ink);color:var(--ink)}
.depo-nav svg,.car-nav svg{width:16px;height:16px}
.depo-nav span,.car-nav span{font-size:13px;color:var(--ink-soft);min-width:44px;text-align:center}
@media (max-width:760px){.depo-card{grid-template-columns:1fr}.depo-card .foto{aspect-ratio:16/10;min-height:0}.quote blockquote{min-height:0}}

/* ===== SERVIÇOS ===== */
.pag-topo{padding-block:clamp(48px,6vw,72px) clamp(28px,4vw,40px)}
.pag-topo .intro-txt{margin:16px auto 0;max-width:36em;text-align:center;color:var(--ink-soft)}
.arte-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px);margin-top:clamp(28px,4vw,40px)}
.arte{background:var(--faixa);border:1px solid var(--line);display:flex;flex-direction:column}
.arte .foto{aspect-ratio:4/3}
.arte-txt{padding:22px 22px 26px;display:flex;flex-direction:column;flex:1}
.arte h3{font:600 21px/1.25 var(--f-serif)}
.arte p{margin-top:8px;font-size:15px;line-height:1.55;color:var(--ink-soft)}
.arte .pill{margin-top:auto;align-self:flex-start;min-height:44px;padding:0 20px;font-size:14px}
.arte p + .pill{margin-top:20px}
@media (max-width:820px){.arte-grid{grid-template-columns:1fr}}
.consult{margin-top:clamp(28px,4vw,40px);background:var(--oxido-claro);text-align:center;padding:clamp(32px,4vw,48px) clamp(20px,6vw,80px);border-top:2px solid var(--oxido)}
.consult h3{font:600 clamp(24px,2.4vw,30px)/1.2 var(--f-serif)}
.consult p{margin:10px auto 0;max-width:34em;color:var(--ink-soft)}
.consult .pill{margin-top:22px}
.todos{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,5vw,64px);align-items:center}
.todos h2{font:600 clamp(28px,3.2vw,40px)/1.15 var(--f-serif)}
.todos ul{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px}
.todos ul li + li{margin-top:0}
@media (max-width:760px){.todos{grid-template-columns:1fr}.todos ul{grid-template-columns:1fr}}
.faq{max-width:760px;margin:clamp(28px,4vw,40px) auto 0}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font:600 18px/1.35 var(--f-serif)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font:400 24px/1 var(--f-texto);color:var(--oxido);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 40px 22px 0;color:var(--ink-soft)}
.chamada{text-align:center;padding-block:clamp(80px,10vw,128px)}
.chamada h2{font:600 clamp(32px,4.6vw,56px)/1.12 var(--f-serif);max-width:14em;margin-inline:auto}
.chamada p{margin:16px auto 0;max-width:30em;font:italic 400 clamp(18px,1.7vw,21px)/1.4 var(--f-serif);color:var(--ink-soft)}
.chamada .pill{margin-top:32px}

/* ===== PROJETOS ===== */
.filtros{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:28px}
.filtros button{min-height:40px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink-soft);font:500 14px/1 var(--f-texto);cursor:pointer}
.filtros button[aria-pressed="true"]{background:var(--tinta);border-color:var(--tinta);color:var(--papel)}
.mosaico{columns:3;column-gap:clamp(12px,1.6vw,20px);margin-top:clamp(28px,4vw,40px)}
.mosaico .proj{break-inside:avoid;margin-bottom:clamp(20px,2.4vw,32px)}
.proj[hidden]{display:none}
.proj .foto{aspect-ratio:var(--ar,4/5)}
.proj h3{margin-top:14px;font:700 18px/1.25 var(--f-cond);letter-spacing:.03em;text-transform:uppercase}
.proj .meta{margin-top:4px;font:italic 400 15px/1.35 var(--f-serif);color:var(--oxido)}
.proj p{margin-top:6px;font-size:15px;line-height:1.55;color:var(--ink-soft)}
@media (max-width:900px){.mosaico{columns:2}}
@media (max-width:540px){.mosaico{columns:1}}
.versos{text-align:center;font:400 16px/1.9 var(--f-serif);color:var(--ink-soft);padding-block:8px clamp(56px,7vw,80px)}
.destaque-tit{text-align:center;font:600 clamp(26px,3vw,36px)/1.2 var(--f-serif);margin-bottom:24px}
.carrossel{position:relative}
.slide{display:none}
.slide.is-on{display:block}
.slide .foto{aspect-ratio:21/9;font-size:13px}
.slide-cap{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 20px;padding:16px var(--gutter) 0;max-width:var(--wrap);margin-inline:auto}
.slide-cap strong{font:700 18px/1.25 var(--f-cond);letter-spacing:.03em;text-transform:uppercase}
.slide-cap span{font:italic 400 16px/1.3 var(--f-serif);color:var(--oxido)}
.car-nav{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:18px}
@media (max-width:640px){.slide .foto{aspect-ratio:4/3}}
.legado{text-align:center}
.legado h2{font:600 clamp(28px,3.4vw,40px)/1.2 var(--f-serif)}
.legado .pill{margin-top:22px}
.depos3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:clamp(28px,4vw,40px)}
.depos3 figure{margin:0;text-align:center}
.depos3 blockquote{margin:12px 0 0;font:italic 400 19px/1.45 var(--f-serif)}
.depos3 figcaption{margin-top:12px;font-size:14px;font-weight:600;color:var(--ink-soft)}
@media (max-width:820px){.depos3{grid-template-columns:1fr}}

/* ===== CONTATO ===== */
.faixa-foto{aspect-ratio:auto;height:clamp(200px,28vw,320px);justify-content:center;align-items:center;font-size:13px}
.prep{text-align:center}
.prep h2{font:600 clamp(26px,3vw,34px)/1.2 var(--f-serif)}
.prep .titulo-sub{margin-bottom:28px}
.prep ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,24px);text-align:left}
.prep li{background:var(--faixa);border:1px solid var(--line);padding:20px 18px;border-top:2px solid var(--tinta)}
.prep li strong{display:block;font:600 18px/1.3 var(--f-serif);margin-bottom:6px}
.prep li span{font-size:15px;line-height:1.55;color:var(--ink-soft)}
@media (max-width:900px){.prep ul{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.prep ul{grid-template-columns:1fr}}
.ola{text-align:center;padding-block:clamp(56px,7vw,88px) clamp(40px,5vw,56px)}
.ola h1{font:600 clamp(34px,4.6vw,56px)/1.12 var(--f-serif)}
.ola p{margin-top:10px;font:italic 400 clamp(18px,1.8vw,22px)/1.3 var(--f-serif);color:var(--oxido)}
.ola .icones{margin-top:26px;display:flex;justify-content:center;gap:18px}
.ola .icones a{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;color:var(--ink)}
.ola .icones a:hover{border-color:var(--ink)}
.ola .icones svg{width:24px;height:24px}
.form-faixa{background:var(--faixa);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:clamp(56px,7vw,80px)}
.form-faixa .lockup{width:220px;margin:0 auto 28px}
.form-faixa h2{font:600 clamp(24px,2.6vw,30px)/1.2 var(--f-serif);text-align:center}
.form-faixa .exp{margin:8px auto 0;max-width:34em;text-align:center;color:var(--ink-soft)}
.form{max-width:560px;margin:32px auto 0;display:grid;gap:16px}
.form label{display:block;font-size:14px;font-weight:500;margin-bottom:6px}
.form label small{font-weight:400;color:var(--ink-soft)}
.form input,.form select,.form textarea{width:100%;font:400 16px/1.4 var(--f-texto);color:var(--ink);background:var(--bg);border:1px solid var(--campo);border-radius:10px;padding:12px 14px;min-height:48px}
.form textarea{min-height:110px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--oxido);outline-offset:1px;border-color:var(--oxido)}
.form .duas{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form .pill{justify-self:center;margin-top:8px}
.form .aviso{text-align:center;font-size:13px;color:var(--ink-soft)}
@media (max-width:560px){.form .duas{grid-template-columns:1fr}}
.onde{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,64px);align-items:center}
.mapa{background:var(--faixa);padding:12px;border:1px solid var(--line)}
.mapa svg{width:100%;height:auto}
.onde-txt{text-align:center}
.onde-txt h2{font:600 22px/1.3 var(--f-serif)}
.onde-txt h2 + p{margin-top:6px}
.onde-txt p{color:var(--ink-soft)}
.onde-txt h2:not(:first-child){margin-top:32px}
@media (max-width:760px){.onde{grid-template-columns:1fr}}

/* ===== rodapé (claro) ===== */
.rodape{background:var(--faixa);color:var(--ink-soft);padding-block:clamp(48px,6vw,64px) 32px;font-size:14px;border-top:1px solid var(--line)}
.rodape-grid{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:clamp(28px,4vw,48px);align-items:start}
.rodape h2{font:600 clamp(22px,2vw,26px)/1.25 var(--f-serif);color:var(--ink)}
.rodape h2 em{color:var(--oxido)}
.contatos{margin-top:22px}
.contatos li + li{margin-top:14px}
.contatos a{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink)}
.contatos a:hover{text-decoration:underline;text-underline-offset:4px}
.contatos svg{width:26px;height:26px;flex:none}
.convite{background:var(--oxido-claro);padding:24px;border-top:2px solid var(--oxido)}
.convite p strong{display:block;margin-bottom:6px;font:600 17px/1.3 var(--f-texto);color:var(--ink)}
.convite p{line-height:1.55}
.convite .pill{margin-top:18px;width:100%;padding:0 18px}
.atalhos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.atalhos a{display:flex;align-items:center;justify-content:center;min-height:48px;background:var(--bg);border:1px solid var(--line);color:var(--ink);text-decoration:none;font:500 14px/1 var(--f-texto)}
.atalhos a:hover,.atalhos a[aria-current="page"]{background:var(--tinta);border-color:var(--tinta);color:var(--papel)}
.cau{margin-top:20px;font-size:13px;line-height:1.6}
.cau + .cau{margin-top:10px}
.base{margin-top:clamp(36px,5vw,48px);padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;font-size:12.5px}
.base .slogan{font:italic 400 15px/1 var(--f-serif);color:var(--oxido)}
@media (max-width:900px){.rodape-grid{grid-template-columns:1fr}}

.flutuante{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:50;width:56px;height:56px;border-radius:50%;background:var(--oxido);color:var(--papel);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px var(--papel)}
.flutuante:hover{background:var(--oxido-escuro)}
.flutuante svg{width:26px;height:26px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ===== complementos do tema ===== */
.foto img{width:100%;height:100%;object-fit:cover;display:block}
.foto{overflow:hidden;padding:0;position:relative}
.foto--aviso{background:var(--bg);border:1px dashed var(--cinza);color:var(--ink-soft);align-items:center;justify-content:center;text-align:center;padding:16px;font-size:13px;line-height:1.5}
.foto--aviso small{color:var(--oxido)}
.foto--vazia{background:var(--ph);align-items:center;justify-content:center;text-align:center;padding:16px}
.foto--vazia span{font:italic 400 clamp(18px,1.8vw,22px)/1.3 var(--f-serif);color:var(--ink-soft)}
.card-link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.card-link:hover h3{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.card .card-link .foto{aspect-ratio:4/5}
.proj .card-link .foto{aspect-ratio:var(--ar,4/5)}
.proj .meta{margin-top:4px}
.proj .resumo{margin-top:6px;font-size:15px;line-height:1.55;color:var(--ink-soft)}
.linha--so{grid-template-columns:minmax(0,1fr);max-width:640px;margin-inline:auto}
.depo-card--so{grid-template-columns:1fr}
a.slide{text-decoration:none;color:inherit}
.slide .foto{aspect-ratio:21/9}
.slide-cap{display:flex}
.vazio-msg{text-align:center;color:var(--ink-soft);padding-block:24px 48px}
.chamada h1{font:600 clamp(32px,4.6vw,56px)/1.12 var(--f-serif);max-width:14em;margin-inline:auto}
.chamada .pill + .pill{margin-left:10px}
/* página de um projeto */
.voltar{text-align:center;margin-bottom:14px;font-size:14px}
.voltar a{text-underline-offset:4px;color:var(--ink-soft)}
.projeto-capa{aspect-ratio:21/9;overflow:hidden;background:var(--ph);display:flex;align-items:center;justify-content:center}
.projeto-capa img{width:100%;height:100%;object-fit:cover}
.projeto-corpo{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,5vw,64px);padding-block:clamp(40px,5vw,64px)}
.ficha{margin:0;border-top:2px solid var(--tinta)}
.ficha div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.ficha dt{font-weight:600}
.ficha dd{margin:0;color:var(--ink-soft);text-align:right}
.projeto-texto{color:var(--ink-soft)}
.projeto-texto > * + *{margin-top:1em}
.projeto-galeria{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,20px)}
.projeto-galeria figure{margin:0}
.projeto-galeria img{width:100%;height:auto;display:block}
@media (max-width:760px){.projeto-corpo{grid-template-columns:1fr}.projeto-galeria{grid-template-columns:1fr}}
/* páginas comuns */
.conteudo{max-width:760px;padding-bottom:clamp(64px,8vw,96px)}
.conteudo > * + *{margin-top:1em}
.conteudo h2{font:600 26px/1.25 var(--f-serif);margin-top:1.6em}
.conteudo a{color:var(--oxido)}
.item-lista + .item-lista{margin-top:32px}
.item-lista h2{font:600 24px/1.25 var(--f-serif)}
/* barra do administrador do WordPress */
.admin-bar .header{top:32px}
@media (max-width:782px){.admin-bar .header{top:46px}}
@media (max-width:600px){.admin-bar .header{top:0}}
