/* =====================================================================
   Luminart — estilo compartilhado por todas as páginas do site
   ===================================================================== */

/* ============ TOKENS ============
   Peça de identidade única (dark-first deliberado): pavilhão apagado,
   madeira crua e a luz que dá nome à marca. Todas as cores explícitas. */
:root{
  color-scheme:dark;
  --breu:#0A0908;        /* fundo — preto quente de pavilhão */
  --serra:#151209;       /* superfície — serragem no escuro */
  --serra-2:#201A10;     /* superfície elevada */
  --linho:#EFE9DC;       /* texto principal — linho / compensado claro */
  --bruma:#948B78;       /* texto secundário — taupe puxado pro ouro */
  --luz:#E9B949;         /* acento — a luz da Luminart */
  --luz-fraca:#8A6F2A;   /* acento rebaixado, filetes */
  --brasa:#C4552B;       /* brasa: só na madrugada da montagem */
  --linha:rgba(239,233,220,.13);

  --f-disp:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif;
  --f-serif:"Newsreader",Georgia,"Times New Roman",serif;
  --f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  --gut:clamp(20px,5vw,72px);
  --max:1320px;
  --topo:72px;           /* altura do cabeçalho */
}

*{box-sizing:border-box}
html{scroll-padding-top:calc(var(--topo) + 12px)}
html,body{margin:0;padding:0}
html:has(dialog[open]){overflow:hidden}
body{
  background:var(--breu);
  color:var(--linho);
  font-family:var(--f-disp);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--luz);outline-offset:3px;border-radius:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ============ UTILITÁRIOS ============ */
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.eyebrow{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--luz);margin:0
}
.eyebrow.dim{color:var(--bruma)}
.lead{
  font-family:var(--f-serif);font-style:italic;font-weight:300;
  font-size:clamp(23px,3.1vw,38px);line-height:1.35;color:var(--linho);
  text-wrap:balance;margin:0
}
.lead em{color:var(--luz)}
.body{color:var(--bruma);max-width:62ch;font-size:clamp(16px,1.15vw,18px);line-height:1.72}
.body strong{color:var(--linho);font-weight:600}

h1,h2,h3{margin:0;text-wrap:balance;font-weight:800;letter-spacing:-.025em;line-height:.94}
h2{font-size:clamp(38px,6.6vw,86px)}
h3{font-size:clamp(26px,3.4vw,42px);letter-spacing:-.02em}

/* botões */
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(26px,4vh,40px)}
.btn{
  display:inline-flex;align-items:center;gap:12px;padding:15px 22px;
  text-decoration:none;font-weight:600;font-size:15px;letter-spacing:-.005em;
  border:1px solid var(--linha);color:var(--linho);background:rgba(10,9,8,.35);
  transition:border-color .35s,background .35s
}
.btn i{font-style:normal;color:var(--luz)}
.btn:hover{border-color:var(--luz);background:rgba(233,185,73,.07)}
.btn.pri{background:var(--luz);border-color:var(--luz);color:var(--breu)}
.btn.pri i{color:var(--breu)}
.btn.pri:hover{background:#F2C95E;border-color:#F2C95E}

/* link de texto com seta */
.link{
  display:inline-flex;gap:10px;align-items:center;margin-top:24px;padding-bottom:6px;
  font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--luz);text-decoration:none;border-bottom:1px solid var(--luz-fraca);transition:border-color .3s
}
.link:hover{border-color:var(--luz)}
.link i{font-style:normal}

/* marcação de conteúdo que ainda falta (o build avisa enquanto existir) */
.pendente{
  display:inline-flex;align-items:center;gap:8px;padding:7px 12px;
  border:1px dashed rgba(233,185,73,.45);background:rgba(10,9,8,.5);
  font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--luz)
}
.vazio{
  display:grid;place-items:center;width:100%;height:100%;aspect-ratio:4/3;
  background:repeating-linear-gradient(135deg,rgba(239,233,220,.035) 0 1px,transparent 1px 14px),var(--serra);
  border:1px dashed rgba(233,185,73,.28);
  font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--luz-fraca)
}

/* revelação: visível por padrão; só anima quando o JS assume */
.rv{opacity:1;transform:none}
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.75,.2,1)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .js .rv{opacity:1!important;transform:none!important;transition:none}
}

/* ============ BARRA DE PROGRESSO ============ */
#prog{
  position:fixed;left:0;top:env(safe-area-inset-top,0px);height:2px;width:0;
  background:linear-gradient(90deg,var(--luz-fraca),var(--luz));z-index:60;
  box-shadow:0 0 14px rgba(233,185,73,.45)
}

/* ============ CABEÇALHO DO SITE ============ */
.site-head{
  position:fixed;top:0;left:0;right:0;z-index:58;
  padding-top:env(safe-area-inset-top,0px);
  border-bottom:1px solid transparent;
  transition:background .4s,border-color .4s
}
.site-head.solid{
  background:rgba(10,9,8,.88);border-bottom-color:var(--linha);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)
}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--topo)}
.site-logo img{width:clamp(112px,10vw,132px)}
.site-nav{display:flex;align-items:center;gap:clamp(16px,1.6vw,28px)}
.site-nav a{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;
  text-decoration:none;color:var(--bruma);padding-block:8px;transition:color .3s
}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--linho)}
.site-nav a[aria-current="page"]{box-shadow:inset 0 -1px 0 var(--luz)}
.site-nav .btn-ct{color:var(--breu);background:var(--luz);padding:10px 16px;font-weight:500}
.site-nav .btn-ct:hover{color:var(--breu);background:#F2C95E}
.head-acoes{display:flex;align-items:center;gap:10px}
.site-nav + .head-acoes{margin-left:clamp(14px,1.4vw,24px)}
.site-head .wrap > .site-nav{margin-left:auto}
.som-amb{
  display:flex;align-items:center;gap:8px;height:40px;padding:0 13px;cursor:pointer;
  background:rgba(10,9,8,.4);border:1px solid var(--linha);color:var(--bruma);
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  transition:color .3s,border-color .3s
}
.som-amb:hover,.som-amb[aria-pressed="true"]{color:var(--luz);border-color:rgba(233,185,73,.5)}
@media (prefers-reduced-motion:no-preference){
  .som-amb.tocando .barras b{animation:eq 1.4s ease-in-out infinite}
  .som-amb.tocando .barras b:nth-child(2){animation-delay:.25s}
  .som-amb.tocando .barras b:nth-child(3){animation-delay:.5s}
}
@media (max-width:1199px){.som-amb{height:44px}}
.menu-btn{
  display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  width:44px;height:44px;padding:0;cursor:pointer;
  background:rgba(10,9,8,.4);border:1px solid var(--linha);color:var(--linho)
}
.menu-btn span{display:block;width:18px;height:1.5px;background:currentColor;transition:transform .3s}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(3.75px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){transform:translateY(-3.75px) rotate(-45deg)}
@media (max-width:1199px){
  .menu-btn{display:flex}
  .site-nav{
    display:none;position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    padding:6px var(--gut) 24px;background:rgba(10,9,8,.97);border-bottom:1px solid var(--linha)
  }
  .site-nav.open{display:flex}
  .site-nav a{padding:16px 0;border-top:1px solid var(--linha);font-size:12px}
  .site-nav a:first-child{border-top:0}
  .site-nav a[aria-current="page"]{box-shadow:none;color:var(--luz)}
  .site-nav .btn-ct{margin-top:14px;text-align:center;border-top:0}
}

/* ============ HERO ============ */
.hero{position:relative;min-height:88svh;display:flex;align-items:flex-end;overflow:hidden}
.hero.alta{min-height:94svh}
.hero-img{position:absolute;inset:0}
.hero-img img{
  width:100%;height:100%;object-fit:cover;object-position:center 60%;
  filter:saturate(.82) contrast(1.06) brightness(.62)
}
@media (prefers-reduced-motion:no-preference){
  .hero-img img{animation:kb 26s ease-in-out infinite alternate}
}
@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.14)}}
.hero-veil{
  position:absolute;inset:0;
  background:
    radial-gradient(120% 80% at 18% 100%,rgba(10,9,8,.95),rgba(10,9,8,.25) 62%),
    linear-gradient(to top,var(--breu) 2%,rgba(10,9,8,.55) 38%,rgba(10,9,8,.15) 72%)
}
.hero-in{position:relative;z-index:2;width:100%;padding-block:calc(var(--topo) + clamp(40px,8vh,90px)) clamp(38px,8vh,84px)}
.mark{display:flex;align-items:center;gap:14px;margin-bottom:clamp(28px,6vh,60px)}
.mark img{width:clamp(164px,21vw,268px);opacity:1}
.hero h1{
  font-size:clamp(30px,6.2vw,92px);line-height:.98;letter-spacing:-.035em;
  max-width:18ch
}
.hero .eyebrow + h1{margin-top:clamp(18px,3vh,28px)}
.hero h1 span{display:block}
.hero h1 em{font-family:var(--f-serif);font-style:italic;font-weight:300;color:var(--luz);letter-spacing:-.015em}
@media (prefers-reduced-motion:no-preference){
  .hero h1 span{animation:rise .7s cubic-bezier(.2,.75,.2,1) both}
  .hero h1 span:nth-child(2){animation-delay:.09s}
  .hero h1 span:nth-child(3){animation-delay:.18s}
  .hero .hero-sub,.hero .btns{animation:rise .7s cubic-bezier(.2,.75,.2,1) .3s both}
}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero-sub{
  margin:clamp(22px,3.4vh,34px) 0 0;max-width:46ch;color:var(--linho);
  font-size:clamp(16px,1.5vw,21px);line-height:1.55;opacity:.88
}
.hero-foot{
  display:flex;flex-wrap:wrap;gap:16px 34px;align-items:center;
  margin-top:clamp(30px,5vh,52px);padding-top:20px;border-top:1px solid var(--linha)
}
.scroll-cue{display:flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--bruma)}
.scroll-cue b{display:block;width:34px;height:1px;background:var(--luz);transform-origin:left}
@media (prefers-reduced-motion:no-preference){.scroll-cue b{animation:sweep 2.6s ease-in-out infinite}}
@keyframes sweep{0%,100%{transform:scaleX(.25)}50%{transform:scaleX(1)}}

/* ============ SEÇÕES ============ */
section{position:relative}
.pad{padding-block:clamp(78px,13vh,170px)}
.rule{height:1px;background:var(--linha);border:0;margin:0}
.sec-head{display:grid;gap:clamp(20px,3vw,60px);grid-template-columns:1fr;align-items:end}
@media (min-width:900px){.sec-head{grid-template-columns:1.1fr .9fr}}
.sec-head .body{margin:0}

/* manifesto */
.tese{display:grid;gap:clamp(28px,4vw,72px);grid-template-columns:1fr}
@media (min-width:900px){.tese{grid-template-columns:1fr 1fr;align-items:start}}
.tese .lead{font-size:clamp(26px,3.6vw,46px)}
.tese .lead b{font-style:normal;font-weight:400;color:var(--luz);font-family:var(--f-serif)}

/* números */
.nums{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
  background:var(--linha);border-block:1px solid var(--linha)
}
@media (min-width:860px){.nums{grid-template-columns:repeat(4,1fr)}}
.num{background:var(--breu);padding:clamp(26px,3.6vw,42px) clamp(18px,2.4vw,30px)}
.num b{
  display:block;font-size:clamp(46px,6.2vw,80px);font-weight:800;line-height:.9;
  letter-spacing:-.045em;color:var(--luz);font-variant-numeric:tabular-nums
}
.num b small{font-size:.42em;letter-spacing:-.01em;margin-left:.12em;vertical-align:.5em}
.num p{margin:14px 0 0;font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bruma);line-height:1.6}

/* bastidores */
.bastidores{background:var(--serra)}
.bast-grid{display:grid;gap:clamp(24px,3vw,44px);grid-template-columns:1fr}
@media (min-width:940px){.bast-grid{grid-template-columns:1.05fr .95fr;align-items:center}}
.bast-pics{display:grid;gap:12px;grid-template-columns:1fr 1fr}
.bast-pics figure{margin:0;position:relative;overflow:hidden;border:1px solid var(--linha)}
.bast-pics img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.7) brightness(.82)}
.bast-pics figcaption{
  position:absolute;left:0;bottom:0;right:0;padding:10px 12px;
  font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--linho);background:linear-gradient(to top,rgba(10,9,8,.88),transparent)
}
.steps{list-style:none;margin:clamp(30px,4vh,48px) 0 0;padding:0;display:grid;gap:0}
.steps li{
  display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:baseline;
  padding:18px 0;border-top:1px solid var(--linha)
}
.steps li:last-child{border-bottom:1px solid var(--linha)}
.steps .n{font-family:var(--f-mono);font-size:11px;color:var(--luz);letter-spacing:.1em}
.steps h4{margin:0 0 4px;font-size:clamp(18px,1.7vw,22px);font-weight:600;letter-spacing:-.015em;line-height:1.2}
.steps p{margin:0;color:var(--bruma);font-size:15px;line-height:1.6;max-width:52ch}
.steps li:nth-child(6) .n{color:var(--brasa)}

/* aberturas de capítulo e topo das páginas de portfólio */
.cap-open{position:relative;height:clamp(340px,72svh,760px);overflow:hidden;display:flex;align-items:flex-end}
.cap-open.topo{height:clamp(440px,80svh,840px)}
.cap-open img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.04) brightness(.7)}
.cap-open .veil{position:absolute;inset:0;background:radial-gradient(105% 78% at 12% 105%,rgba(10,9,8,.94),rgba(10,9,8,0) 62%),linear-gradient(to top,var(--breu) 1%,rgba(10,9,8,.6) 34%,rgba(10,9,8,.05) 78%)}
.cap-open.sem-foto{
  height:clamp(420px,66svh,680px);
  background:
    radial-gradient(60% 85% at 85% 0%,rgba(233,185,73,.17),rgba(233,185,73,0) 62%),
    radial-gradient(55% 70% at 0% 100%,rgba(196,85,43,.10),rgba(196,85,43,0) 70%),
    var(--breu)
}
.cap-open .cap-title{position:relative;z-index:2;width:100%;padding-bottom:clamp(26px,5vh,54px)}
.cap-open h2{font-size:clamp(34px,7vw,92px);letter-spacing:-.04em}
.cap-open h1{font-size:clamp(46px,9vw,128px);letter-spacing:-.045em}
.cap-meta{
  margin:14px 0 0;font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--bruma)
}
.cap-open .pendente{margin-top:22px}
.cap-body{display:grid;gap:clamp(26px,3.4vw,60px);grid-template-columns:1fr}
@media (min-width:900px){.cap-body{grid-template-columns:1.1fr .9fr;align-items:start}}
.ficha{border-top:1px solid var(--luz-fraca);padding-top:20px}
.ficha h5{
  margin:0 0 16px;font-family:var(--f-mono);font-size:10px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--luz);font-weight:500
}
.ficha ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ficha li{
  font-family:var(--f-mono);font-size:12.5px;line-height:1.55;color:var(--bruma);
  padding-left:18px;position:relative
}
.ficha li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1px;background:var(--luz-fraca)}

/* galerias */
.gal{display:grid;gap:10px;grid-template-columns:repeat(2,1fr);grid-auto-flow:dense;margin-top:clamp(28px,4vh,52px)}
@media (min-width:760px){.gal{grid-template-columns:repeat(3,1fr);gap:12px}}
.gal figure{margin:0;overflow:hidden;background:var(--serra);position:relative}
.gal img{
  width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;cursor:zoom-in;
  transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .6s;filter:saturate(.92)
}
.gal figure:hover img{transform:scale(1.045);filter:saturate(1.04)}
.gal .tall{grid-row:span 2}
.gal .tall img{aspect-ratio:2/3}
.gal .wide{grid-column:span 2}
.gal .wide img,.gal .wide .vazio{aspect-ratio:16/9}
.gal img.crop-a{object-position:18% center}
@media (max-width:759px){.gal .tall{grid-row:auto}.gal .tall img{aspect-ratio:4/3}}

/* obras com legenda (stands) */
.obras{display:grid;gap:clamp(22px,2.4vw,32px) 12px;grid-template-columns:1fr;grid-auto-flow:dense;margin-top:clamp(40px,6vh,72px)}
@media (min-width:640px){.obras{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.obras{grid-template-columns:repeat(3,1fr)}.obras .wide{grid-column:span 2}}
.obra{margin:0;display:flex;flex-direction:column}
.obra .ph{overflow:hidden;background:var(--serra);flex:1}
.obra img{
  width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;cursor:zoom-in;
  transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .6s;filter:saturate(.92)
}
.obra:hover img{transform:scale(1.04);filter:saturate(1.04)}
.obra figcaption{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 14px;
  padding:14px 0;border-bottom:1px solid var(--linha)
}
.obra figcaption b{font-weight:600;font-size:clamp(17px,1.5vw,19px);letter-spacing:-.015em}
.obra figcaption small{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bruma)}

/* projetos (cenografia) e categorias (sociais) */
.proj{padding-block:clamp(60px,10vh,120px);border-top:1px solid var(--linha)}
.proj:first-child{border-top:0}
.proj-head{display:grid;gap:clamp(18px,3vw,60px);grid-template-columns:1fr}
@media (min-width:900px){.proj-head{grid-template-columns:1fr 1fr;align-items:end}}
.proj h2{font-size:clamp(36px,5.4vw,70px);letter-spacing:-.04em}
.proj h3{font-size:clamp(30px,4vw,52px);letter-spacing:-.035em}
.proj .body{margin:0}

/* capacidades */
.caps{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--linha);border:1px solid var(--linha)}
@media (min-width:860px){.caps{grid-template-columns:repeat(4,1fr)}}
.cap-item{background:var(--breu);padding:clamp(22px,2.8vw,32px);min-height:132px;display:flex;flex-direction:column;justify-content:space-between;gap:14px}
.cap-item span{font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;color:var(--luz-fraca)}
.cap-item h4{margin:0;font-size:clamp(17px,1.6vw,20px);font-weight:600;letter-spacing:-.015em;line-height:1.2}

/* cartões de portfólio (início) */
.pf-grid{display:grid;gap:12px;grid-template-columns:1fr;margin-top:clamp(40px,6vh,72px)}
@media (min-width:760px){.pf-grid{grid-template-columns:1fr 1fr}}
.pf{
  position:relative;display:flex;align-items:flex-end;min-height:clamp(340px,56vh,540px);
  overflow:hidden;text-decoration:none;background:var(--serra);border:1px solid var(--linha)
}
.pf > img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(.85) brightness(.6);transition:transform 1s cubic-bezier(.2,.75,.2,1),filter .6s
}
.pf::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,9,8,.95) 6%,rgba(10,9,8,.25) 58%,rgba(10,9,8,0))}
.pf.sem-foto{
  background:
    radial-gradient(70% 80% at 80% 10%,rgba(233,185,73,.16),rgba(233,185,73,0) 65%),
    repeating-linear-gradient(135deg,rgba(239,233,220,.03) 0 1px,transparent 1px 16px),
    var(--serra)
}
.pf-in{position:relative;z-index:2;width:100%;padding:clamp(22px,3vw,38px)}
.pf h3{font-size:clamp(34px,4.2vw,56px);letter-spacing:-.04em}
.pf p{margin:14px 0 0;max-width:40ch;color:var(--bruma);font-size:15.5px;line-height:1.6}
.pf .ver{
  display:flex;align-items:center;gap:10px;margin-top:22px;
  font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--luz)
}
.pf .ver b{display:block;width:22px;height:1px;background:var(--luz);transition:width .4s}
.pf .pendente{position:absolute;top:clamp(18px,2.4vw,28px);left:clamp(22px,3vw,38px);z-index:2}
@media (min-width:760px){.pf.destaque{grid-column:1/-1;min-height:clamp(380px,62vh,620px)}}
.pf > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) brightness(.62)}
.pf:hover > img{transform:scale(1.04);filter:saturate(1) brightness(.68)}
.pf:hover .ver b{width:40px}
.pf:hover{border-color:rgba(233,185,73,.4)}

/* outros portfólios (rodapé das páginas de portfólio) */
.outros{padding-block:clamp(54px,8vh,90px);border-top:1px solid var(--linha)}
.outros-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--linha);border:1px solid var(--linha);margin-top:22px}
@media (min-width:640px){.outros-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.outros-grid{grid-template-columns:repeat(4,1fr)}}
.outros-grid a{
  display:flex;align-items:center;gap:16px;padding:clamp(20px,2.4vw,28px);
  background:var(--breu);text-decoration:none;transition:background .35s
}
.outros-grid a[aria-current]{display:none}
.outros-grid span{font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;color:var(--luz-fraca)}
.outros-grid b{flex:1;font-size:clamp(19px,1.8vw,24px);font-weight:600;letter-spacing:-.02em}
.outros-grid i{font-style:normal;color:var(--luz);transition:transform .35s}
.outros-grid a:hover{background:var(--serra)}
.outros-grid a:hover i{transform:translateX(4px)}

/* marcas */
.marcas{background:var(--serra)}
.logos{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:clamp(26px,3.4vw,54px) clamp(28px,4vw,58px);margin-top:clamp(34px,5vh,60px)
}
.logos img{height:clamp(28px,3.1vw,44px);width:auto;max-width:clamp(110px,15vw,180px);object-fit:contain;opacity:.55;transition:opacity .4s}
.logos img:hover{opacity:1}
.mais{
  margin-top:clamp(30px,5vh,52px);padding-top:22px;border-top:1px solid var(--linha);
  font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;color:var(--bruma);line-height:2
}
.mais b{color:var(--linho);font-weight:500}

/* fechamento / contato */
.fim{position:relative;overflow:hidden}
.fim-img{position:absolute;inset:0}
.fim-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.6) brightness(.32)}
.fim-veil{position:absolute;inset:0;background:radial-gradient(90% 70% at 30% 50%,rgba(10,9,8,.86),rgba(10,9,8,.97))}
.fim-in{position:relative;z-index:2}
.fim h2{font-size:clamp(38px,7.4vw,104px);letter-spacing:-.04em;max-width:14ch}
.fim h2 em{font-family:var(--f-serif);font-style:italic;font-weight:300;color:var(--luz)}
.contatos{display:grid;gap:12px;margin-top:clamp(34px,5vh,58px);max-width:520px}
.ct{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px 20px;border:1px solid var(--linha);text-decoration:none;
  background:rgba(21,18,9,.5);transition:border-color .35s,background .35s,transform .35s
}
.ct:hover{border-color:var(--luz);background:rgba(233,185,73,.07);transform:translateX(4px)}
.ct .lbl{font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--bruma);display:block;margin-bottom:6px}
.ct .val{display:block;font-weight:600;font-size:clamp(15px,1.5vw,19px);letter-spacing:-.01em;color:var(--linho);word-break:break-word}
.ct i{font-style:normal;color:var(--luz);font-size:19px;line-height:1}
.endereco{
  margin-top:clamp(34px,5vh,54px);padding-top:22px;border-top:1px solid var(--linha);
  font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;color:var(--bruma);line-height:2
}

/* ============ RODAPÉ ============ */
.site-foot{padding-block:clamp(48px,7vh,76px) 28px;border-top:1px solid var(--linha)}
.foot-grid{display:grid;gap:34px 24px;grid-template-columns:1fr 1fr}
@media (min-width:900px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}
.foot-marca{grid-column:1/-1}
@media (min-width:900px){.foot-marca{grid-column:auto}}
.foot-marca img{width:118px;opacity:.85}
.foot-marca p{margin:16px 0 0;max-width:32ch;color:var(--bruma);font-size:14.5px;line-height:1.6}
.site-foot h5{
  margin:0 0 14px;font-family:var(--f-mono);font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--luz);font-weight:500
}
.site-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-foot li a{color:var(--linho);text-decoration:none;font-size:15px;opacity:.82;transition:opacity .3s,color .3s}
.site-foot li a:hover{opacity:1;color:var(--luz)}
.site-foot address{font-style:normal;color:var(--bruma);font-size:14.5px;line-height:1.7}
.foot-base{
  margin:clamp(36px,6vh,56px) 0 0;padding-top:20px;border-top:1px solid var(--linha);
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--bruma)
}

/* ============ EXPERIÊNCIA DE MARCA (imersão em vídeo) ============
   Entrada em tela cheia → cenas de vídeo de tela inteira que "empilham"
   (cada uma desliza sobre a anterior) → texto e contato. */
.entrada{
  position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;overflow:hidden;
  background:radial-gradient(60% 60% at 50% 45%,rgba(233,185,73,.15),rgba(233,185,73,0) 70%),var(--breu)
}
.entrada > video,.entrada > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) brightness(.42)}
.entrada-in{position:relative;z-index:2;max-width:1000px;padding:calc(var(--topo) + 40px) var(--gut) 64px}
.entrada h1{font-size:clamp(44px,8.6vw,124px);letter-spacing:-.045em;line-height:.95}
.entrada h1 em{font-family:var(--f-serif);font-style:italic;font-weight:300;color:var(--luz);letter-spacing:-.02em}
.entrada .sub{margin:28px auto 0;max-width:44ch;color:var(--linho);opacity:.86;font-size:clamp(16px,1.5vw,20px);line-height:1.55}
.entrada .btns{justify-content:center}
.entrada .dica{margin:22px 0 0;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--bruma)}
.entrada .pendente{margin-top:26px}

.cenas{position:relative}
.cena{
  position:sticky;top:0;height:100svh;overflow:hidden;
  display:flex;align-items:flex-end;background:var(--breu);
  box-shadow:0 -30px 60px rgba(0,0,0,.55);
  scroll-margin-top:calc(-1 * (var(--topo) + 12px)) /* cena encosta no topo ao navegar por âncora */
}
.cena-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:transparent}
/* vídeo vertical (reels) no computador: inteiro no centro, com a própria imagem desfocada preenchendo as laterais */
.cena[data-orientacao="vertical"] .cena-video{object-fit:contain}
.cena-blur{position:absolute;inset:-8%;width:116%;height:116%;max-width:none;object-fit:cover;filter:blur(40px) saturate(1.15) brightness(.4)}
@media (max-aspect-ratio:4/5){.cena[data-orientacao="vertical"] .cena-video{object-fit:cover}}
.cena-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(10,9,8,.88) 0%,rgba(10,9,8,.25) 32%,rgba(10,9,8,0) 58%)}
.cena-info{position:relative;z-index:2;padding-bottom:clamp(30px,7vh,72px)}
@media (max-width:640px){.cena-info{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}} /* espaço para o controle de som */
.cena h2{font-size:clamp(40px,7vw,100px);letter-spacing:-.045em}
.cena .cap-meta{color:var(--linho);opacity:.75}
.cena-vazia{
  position:absolute;inset:0;display:grid;place-items:center;
  background:
    linear-gradient(100deg,transparent 30%,rgba(233,185,73,.10) 50%,transparent 70%) no-repeat,
    repeating-linear-gradient(135deg,rgba(239,233,220,.03) 0 1px,transparent 1px 16px),
    var(--serra);
  background-size:60% 100%,auto,auto
}
@media (prefers-reduced-motion:no-preference){.cena-vazia{animation:varre 3.8s ease-in-out infinite}}
@keyframes varre{from{background-position:-80% 0,0 0,0 0}to{background-position:180% 0,0 0,0 0}}

.hud{
  position:fixed;z-index:57;right:clamp(12px,2vw,24px);bottom:calc(clamp(12px,2vw,24px) + env(safe-area-inset-bottom,0px));
  display:flex;gap:8px;align-items:stretch;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .4s,transform .4s
}
.hud.on{opacity:1;pointer-events:auto;transform:none}
.hud-cont,.hud button{
  display:flex;align-items:center;gap:10px;padding:12px 15px;
  background:rgba(10,9,8,.72);border:1px solid var(--linha);color:var(--linho);
  font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)
}
.hud button{cursor:pointer;transition:border-color .3s,color .3s}
.hud button:hover,.hud button[aria-pressed="true"]{border-color:var(--luz);color:var(--luz)}
.barras{display:inline-flex;gap:2px;align-items:flex-end;height:12px}
.barras b{display:block;width:2px;height:3px;background:currentColor}
@media (prefers-reduced-motion:no-preference){
  .hud button[aria-pressed="true"] .barras b{animation:eq .9s ease-in-out infinite}
  .hud button[aria-pressed="true"] .barras b:nth-child(2){animation-delay:.15s}
  .hud button[aria-pressed="true"] .barras b:nth-child(3){animation-delay:.3s}
}
@keyframes eq{0%,100%{height:3px}50%{height:12px}}

/* ============ CAIXA DE ORÇAMENTO ============ */
dialog.orc{
  width:min(560px, calc(100% - 32px));max-width:none;max-height:calc(100svh - 32px);
  margin:auto;padding:0;overflow:auto;color:var(--linho);
  border:1px solid rgba(233,185,73,.3);
  background:
    radial-gradient(120% 70% at 100% 0%,rgba(233,185,73,.17),rgba(233,185,73,0) 55%),
    radial-gradient(90% 60% at 0% 100%,rgba(196,85,43,.10),rgba(196,85,43,0) 60%),
    var(--serra);
  box-shadow:0 40px 120px rgba(0,0,0,.7)
}
dialog.orc::backdrop{background:rgba(10,9,8,.74);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.orc-in{position:relative;padding:clamp(30px,5vw,50px)}
.orc h2{margin-top:18px;font-size:clamp(38px,6vw,60px);letter-spacing:-.04em;line-height:.95}
.orc h2 em{font-family:var(--f-serif);font-style:italic;font-weight:300;color:var(--luz);letter-spacing:-.02em}
.orc-txt{margin:22px 0 0;max-width:42ch;color:var(--bruma);font-size:16px;line-height:1.65}
.orc-wpp{
  display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:30px;padding:18px 22px;
  background:var(--luz);color:var(--breu);text-decoration:none;transition:background .3s,transform .3s
}
.orc-wpp:hover{background:#F2C95E;transform:translateY(-2px)}
.orc-wpp small,.orc-alt small{display:block;margin-bottom:5px;font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.orc-wpp small{opacity:.7}
.orc-wpp b{font-size:clamp(18px,2vw,21px);font-weight:600;letter-spacing:-.01em}
.orc-wpp i{font-style:normal;font-size:22px}
.orc-alt{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
@media (max-width:480px){.orc-alt{grid-template-columns:1fr}}
.orc-alt a{display:block;padding:14px 16px;border:1px solid var(--linha);text-decoration:none;transition:border-color .3s,background .3s}
.orc-alt a:hover{border-color:var(--luz);background:rgba(233,185,73,.06)}
.orc-alt small{color:var(--bruma)}
.orc-alt b{font-weight:600;font-size:15px}
.orc-fecho{
  margin:30px 0 0;padding-top:22px;border-top:1px solid var(--linha);
  font-family:var(--f-serif);font-style:italic;font-weight:300;font-size:clamp(19px,2.3vw,24px);line-height:1.4;color:var(--linho)
}
.orc-fecho b{font-weight:400;color:var(--luz)}
.orc-x{
  position:absolute;top:14px;right:14px;width:44px;height:44px;display:grid;place-items:center;
  background:none;border:1px solid var(--linha);color:var(--linho);font-size:16px;cursor:pointer;
  transition:border-color .3s,color .3s
}
.orc-x:hover{border-color:var(--luz);color:var(--luz)}
@media (prefers-reduced-motion:no-preference){
  dialog.orc[open]{animation:orc-entra .45s cubic-bezier(.2,.75,.2,1)}
  dialog.orc[open]::backdrop{animation:orc-fundo .45s ease}
}
@keyframes orc-entra{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@keyframes orc-fundo{from{opacity:0}to{opacity:1}}

/* ============ FOTO AMPLIADA ============ */
dialog.lb{
  width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;
  background:rgba(10,9,8,.97);color:var(--linho)
}
dialog.lb::backdrop{background:rgba(10,9,8,.6)}
.lb figure{
  margin:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:16px;padding:calc(64px + env(safe-area-inset-top,0px)) clamp(12px,6vw,96px) calc(28px + env(safe-area-inset-bottom,0px))
}
.lb img{max-width:100%;max-height:calc(100% - 60px);object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lb figcaption{
  max-width:70ch;text-align:center;font-family:var(--f-mono);font-size:11.5px;
  letter-spacing:.08em;color:var(--bruma);line-height:1.6
}
.lb button{
  position:absolute;display:grid;place-items:center;width:48px;height:48px;padding:0;cursor:pointer;
  background:rgba(21,18,9,.8);border:1px solid var(--linha);color:var(--linho);font-size:20px;line-height:1;
  transition:border-color .3s,color .3s
}
.lb button:hover{border-color:var(--luz);color:var(--luz)}
.lb .lb-x{top:calc(12px + env(safe-area-inset-top,0px));right:12px}
.lb .lb-p{left:12px;top:50%;transform:translateY(-50%)}
.lb .lb-n{right:12px;top:50%;transform:translateY(-50%)}
.lb .lb-c{
  position:absolute;top:calc(26px + env(safe-area-inset-top,0px));left:20px;margin:0;
  font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;color:var(--bruma)
}
@media (max-width:640px){
  .lb figure{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .lb .lb-p,.lb .lb-n{top:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:none}
  .lb .lb-p{left:calc(50% - 56px)}
  .lb .lb-n{right:calc(50% - 56px)}
}
