:root{--escuro:#0F1115;--escuro2:#181B21;--marca:#C56326;--marca-esc:#A9521D;--marca-cl:#E08A55;--tinta:#1C1E22;--texto:#3D4148;--cinza:#6B7078;--linha:#E2E0DC;--claro:#FAF6F2;--branco:#FFFFFF;--letra:"Inter","Segoe UI",Arial,sans-serif;--titulo:"Montserrat","Segoe UI",Arial,sans-serif;--larg:1180px}
*{box-sizing:border-box}
html{scroll-padding-top:76px}
body{margin:0;font-family:var(--letra);font-size:17px;line-height:1.6;color:var(--texto);background:var(--branco);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--titulo);color:var(--tinta);line-height:1.15;margin:0;font-weight:700}
h2{font-size:clamp(28px,3.8vw,44px);letter-spacing:-.01em}
h3{font-size:20px;font-weight:700}
p{margin:0 0 14px}
.largura{max-width:var(--larg);margin:0 auto;padding:0 24px}
.etiqueta{display:block;font-family:var(--titulo);font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--marca);margin-bottom:16px}
.seccao{padding:104px 0}
.seccao.creme{background:var(--claro)}
.seccao.noite{background:var(--escuro);color:#C9CCD2}
.seccao.noite h2,.seccao.noite h3{color:#fff}
.intro{max-width:700px;margin-bottom:56px}
.intro p{color:var(--cinza);margin-top:16px;font-size:18px}
.noite .intro p{color:#A9AEB6}
.botao{display:inline-block;background:var(--marca);color:#fff;text-decoration:none;font-weight:600;font-size:16px;padding:15px 26px;border:2px solid var(--marca);border-radius:3px;cursor:pointer;font-family:var(--letra)}
.botao:hover{background:var(--marca-esc);border-color:var(--marca-esc)}
.botao.contorno{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.botao.contorno:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.ligacao{color:var(--tinta);font-weight:600;text-decoration:underline;text-decoration-color:var(--marca);text-underline-offset:4px;text-decoration-thickness:2px}
/* cabeçalho */
.topo{position:sticky;top:0;z-index:20;background:var(--escuro);border-bottom:1px solid #23272E;padding-top:env(safe-area-inset-top,0px)}
.topo .largura{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none}
.marca b{font-family:var(--titulo);font-size:23px;font-weight:800;letter-spacing:.14em;color:var(--marca);line-height:1}
.marca span{font-family:var(--titulo);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#fff;border-left:1px solid #3A3F47;padding-left:10px}
.menu{display:flex;align-items:center;gap:30px}
.menu a{text-decoration:none;font-size:15px;font-weight:500;color:#D5D8DD}
.menu a:hover{color:#fff}
.menu .botao{padding:10px 18px;font-size:15px;color:#fff}
.abrir-menu{display:none;background:none;border:1px solid #3A3F47;color:#fff;border-radius:3px;padding:8px 12px;font:inherit;font-size:14px;cursor:pointer}
/* abertura */
.abertura{position:relative;background:var(--escuro) center/cover no-repeat;color:#fff;padding:128px 0 120px;overflow:hidden}
.abertura::before{content:"";position:absolute;inset:0;background:rgba(15,17,21,.62)}
.abertura.sem-foto::before{display:none}
.abertura .largura{position:relative}
.abertura .etiqueta{color:var(--marca-cl)}
.abertura h1{color:#fff;font-size:clamp(40px,6.6vw,80px);font-weight:800;letter-spacing:-.02em;max-width:900px}
.abertura h1 em{font-style:normal;color:var(--marca-cl)}
.abertura p{color:#D5D8DD;font-size:clamp(18px,2vw,21px);max-width:620px;margin:28px 0 40px}
.accoes{display:flex;flex-wrap:wrap;gap:14px}
/* faixa */
.faixa{background:var(--escuro2);color:#fff;border-top:1px solid #23272E}
.faixa .largura{display:grid;grid-template-columns:repeat(3,1fr)}
.faixa div div{padding:26px 28px;border-left:1px solid #2A2E35}
.faixa div div:first-child{border-left:0;padding-left:0}
.faixa b{display:block;font-family:var(--titulo);font-size:16px;font-weight:600}
.faixa span{color:#A9AEB6;font-size:15px}
/* eventos */
.eventos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.evento{background:var(--branco);border:1px solid var(--linha);border-top:3px solid var(--marca);padding:36px 30px 32px;display:flex;flex-direction:column}
.evento .num{font-family:var(--titulo);font-size:13px;font-weight:700;color:var(--marca);letter-spacing:.14em;margin-bottom:22px}
.evento h3{font-size:24px;margin-bottom:14px}
.evento p{color:var(--cinza)}
.evento ul{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid var(--linha)}
.evento li{padding:10px 0;border-bottom:1px solid var(--linha);font-size:15px;color:var(--tinta)}
/* serviços */
.servicos{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid #2A2E35}
.servico{padding:40px 40px 40px 0;border-bottom:1px solid #2A2E35}
.servico:nth-child(2n){padding:40px 0 40px 40px;border-left:1px solid #2A2E35}
.servico h3{font-size:26px;margin-bottom:12px}
.servico h3::before{content:"";display:block;width:32px;height:3px;background:var(--marca);margin-bottom:20px}
.servico p{margin:0;color:#A9AEB6;max-width:460px}
/* passos */
.passos{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;counter-reset:passo}
.passo{border-top:2px solid var(--tinta);padding-top:24px}
.passo::before{counter-increment:passo;content:"0" counter(passo);display:block;font-family:var(--titulo);font-size:44px;font-weight:800;color:var(--marca);line-height:1;margin-bottom:18px}
.passo h3{margin-bottom:10px}
.passo p{color:var(--cinza);margin:0}
/* compromissos */
.compromissos{display:grid;grid-template-columns:1fr 1.3fr;gap:72px;align-items:start}
.compromissos ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--linha)}
.compromissos li{padding:22px 0;border-bottom:1px solid var(--linha)}
.compromissos li b{display:block;font-family:var(--titulo);color:var(--tinta);font-size:18px;margin-bottom:4px}
.compromissos li span{color:var(--cinza)}
/* portfólio */
.galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.peca{position:relative;aspect-ratio:4/3;background:var(--escuro2) center/cover no-repeat;border:0;padding:0;cursor:pointer;text-align:left;font:inherit}
.peca:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.peca span{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(transparent,rgba(15,17,21,.85));color:#fff;font-size:14px}
.peca b{display:block;font-weight:600}
.peca i{position:absolute;top:12px;left:12px;background:var(--marca);color:#fff;font-style:normal;font-size:12px;font-weight:600;padding:3px 8px;border-radius:2px}
.visor{position:fixed;inset:0;z-index:60;background:rgba(15,17,21,.94);display:flex;align-items:center;justify-content:center;padding:24px}
.visor-c{width:100%;max-width:1000px;text-align:center;color:#C9CCD2}
.visor-c img,.visor-c video{max-width:100%;max-height:80vh;margin:0 auto}
.visor-yt{position:relative;padding-top:56.25%}
.visor-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.visor-x{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:16px;background:none;border:1px solid #555;color:#fff;border-radius:3px;padding:8px 14px;font:inherit;cursor:pointer}
/* chamada */
.chamada{background:var(--marca);color:#fff;padding:72px 0}
.chamada .largura{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.chamada h2{color:#fff}
.chamada p{color:#FBE7DA;margin:10px 0 0;font-size:18px}
.chamada .botao{background:var(--escuro);border-color:var(--escuro)}
.chamada .botao:hover{background:#000;border-color:#000}
/* contactos */
.contactos{display:grid;grid-template-columns:1fr 1.4fr;gap:72px}
.bloco-contacto{border-top:1px solid var(--linha);padding:18px 0}
.bloco-contacto span{display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--cinza);margin-bottom:6px}
.bloco-contacto a{color:var(--tinta);text-decoration:none;font-weight:600;font-size:19px}
.bloco-contacto small{display:block;color:var(--cinza);font-size:14px}
.bloco-contacto small a{font-size:14px;font-weight:500;text-decoration:underline}
form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;background:var(--claro);padding:36px;border-top:3px solid var(--marca)}
form .inteiro{grid-column:1/-1}
label{display:block;font-size:14px;font-weight:500;color:var(--tinta)}
input,select,textarea{width:100%;margin-top:6px;padding:12px 14px;font:inherit;font-size:16px;color:var(--tinta);background:#fff;border:1px solid #CFCCC7;border-radius:3px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--marca);outline-offset:0;border-color:var(--marca)}
textarea{min-height:110px;resize:vertical}
.nota{font-size:14px;color:var(--cinza);margin:0}
.estado-form{font-size:15px;margin:0}
.escondido{position:absolute;left:-9999px}
.confirmacao{border-top:3px solid var(--marca);background:var(--claro);padding:32px}
.confirmacao h3{font-size:22px;margin:0 0 12px}
.confirmacao:focus{outline:none}
.estado-form.erro{color:#A4262C}
/* rodapé */
.rodape{background:var(--escuro);color:#AEB2B9;font-size:15px;padding:64px 0 calc(28px + env(safe-area-inset-bottom,0px))}
.rodape .colunas{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid #2A2E35}
.marca-rod{font-family:var(--titulo);font-size:18px;font-weight:600;letter-spacing:.14em;color:#fff;margin:0 0 16px}.marca-rod b{color:var(--marca);font-weight:800}
.rodape h4{color:#fff;font-family:var(--titulo);font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px}
.rodape a{color:#AEB2B9;text-decoration:none;display:block;margin-bottom:8px}
.rodape a:hover{color:#fff}
.legal{padding-top:22px;font-size:13px;color:#80858D}
[hidden]{display:none!important}
@media (max-width:960px){
  .menu{display:none;position:absolute;top:72px;left:0;right:0;background:var(--escuro);flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid #23272E}
  .menu.aberto{display:flex}
  .menu a{padding:15px 24px;border-top:1px solid #23272E}
  .menu .botao{margin:14px 24px;text-align:center}
  .abrir-menu{display:block}
  .faixa .largura{grid-template-columns:1fr}
  .faixa div div{border-left:0;border-top:1px solid #2A2E35;padding:18px 0}
  .faixa div div:first-child{border-top:0}
  .eventos{grid-template-columns:1fr}
  .servicos{grid-template-columns:1fr}
  .servico,.servico:nth-child(2n){padding:32px 0;border-left:0}
  .passos{grid-template-columns:1fr;gap:36px}
  .compromissos{grid-template-columns:1fr;gap:40px}
  .galeria{grid-template-columns:1fr 1fr}
  .contactos{grid-template-columns:1fr;gap:48px}
  .rodape .colunas{grid-template-columns:1fr}
}
@media (max-width:560px){
  .seccao{padding:72px 0}
  .abertura{padding:88px 0 80px}
  form{grid-template-columns:1fr;padding:24px 20px}
  .galeria{grid-template-columns:1fr}
  .peca:first-child{grid-column:auto;grid-row:auto;aspect-ratio:4/3}
  .accoes .botao{flex:1 1 100%;text-align:center}
}
/* páginas interiores */
.menu a[aria-current=page]{color:#fff;text-decoration:underline;text-decoration-color:var(--marca);text-decoration-thickness:2px;text-underline-offset:8px}
.cabeca{background:var(--escuro);color:#fff;padding:72px 0 76px}
.cabeca h1{color:#fff;font-size:clamp(34px,5vw,58px);font-weight:800;letter-spacing:-.02em;max-width:900px}
.cabeca p{color:#D5D8DD;font-size:clamp(17px,1.8vw,20px);max-width:680px;margin:22px 0 32px}
.migalhas{font-size:14px;color:#A9AEB6;margin-bottom:22px}
.migalhas a{color:#D5D8DD;text-decoration:none}
.migalhas a:hover{text-decoration:underline}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.texto h2{margin-bottom:18px}
.texto h3{margin:28px 0 8px}
.texto p{font-size:18px}
.texto ul{padding-left:20px;margin:0 0 14px}
.texto li{margin-bottom:8px}
.cartoes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cartao{display:block;text-decoration:none;background:var(--branco);border:1px solid var(--linha);border-top:3px solid var(--marca);padding:30px 28px}
.cartao h3{margin-bottom:10px}
.cartao p{color:var(--cinza);margin:0 0 16px}
.cartao span{font-weight:600;color:var(--tinta);text-decoration:underline;text-decoration-color:var(--marca);text-underline-offset:4px;text-decoration-thickness:2px}
.cartao:hover{border-color:var(--marca)}
.perguntas{border-top:1px solid var(--linha)}
.perguntas details{border-bottom:1px solid var(--linha);padding:20px 0}
.perguntas summary{cursor:pointer;font-family:var(--titulo);font-weight:600;font-size:18px;color:var(--tinta);list-style:none;display:flex;justify-content:space-between;gap:16px}
.perguntas summary::-webkit-details-marker{display:none}
.perguntas summary::after{content:"+";color:var(--marca);font-size:24px;line-height:1}
.perguntas details[open] summary::after{content:"\2212"}
.perguntas details p{margin:12px 0 0;color:var(--texto)}
@media (max-width:960px){.duas{grid-template-columns:1fr;gap:40px}.cartoes{grid-template-columns:1fr}}
