:root{
  --black:#000;
  --ink:#0a0a0a;
  --charcoal:#111;
  --panel:#171717;
  --gray:#9a9a9a;
  --light:#e9e9e9;
  --white:#fff;
  --gold:#DAA520;
  --gold-soft:rgba(218,165,32,.22);
  --line:rgba(255,255,255,.10);
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:Inter,Arial,sans-serif;line-height:1.5;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit}
/* page transition unificada em common.css */
@keyframes pageIn{to{opacity:0}}
@keyframes lineIn{to{transform:scaleX(1)}}
.site-header{position:sticky;top:0;z-index:100;background:rgba(0,0,0,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header-inner{max-width:1400px;margin:auto;padding:18px 34px;display:grid;grid-template-columns:210px 1fr auto;align-items:center;gap:24px}
.brand{display:flex;flex-direction:column;line-height:1}
.brand-name{font-size:30px;font-weight:800;letter-spacing:.11em}
.brand-sub{font-size:8px;letter-spacing:.22em;color:#aaa;margin-top:6px}
.main-nav{display:flex;justify-content:center;gap:32px}
.quote-btn{display:inline-flex;align-items:center;gap:18px;background:var(--gold);color:#080808;padding:13px 18px 13px 20px;font-size:11px;letter-spacing:.1em;font-weight:800;white-space:nowrap;border:1px solid var(--gold);transition:transform .2s,box-shadow .2s,background .2s}
.quote-btn b{font-size:16px;line-height:1}
.quote-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(218,165,32,.18);background:#e2b23a}
.menu-toggle{display:none;background:none;border:0;color:white}
.page-hero{min-height:520px;display:flex;align-items:end;padding:100px 34px 74px;background:
 linear-gradient(90deg,#000 0%,#050505 52%,#101010 100%);position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 45%,rgba(218,165,32,.035) 45.1% 45.4%,transparent 45.5% 100%)}
.hero-grid{width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 260px;gap:60px;position:relative}
.eyebrow{font-size:11px;letter-spacing:.22em;color:#aaa;font-weight:700;margin:0 0 18px;display:flex;align-items:center;gap:12px}
.eyebrow i{display:inline-block;width:34px;height:2px;background:var(--gold)}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(44px,6.1vw,86px);line-height:.97;letter-spacing:-.045em;max-width:900px;margin-bottom:28px}
h1 em,h2 em{font-style:normal;color:var(--gold)}
.hero-intro{max-width:700px;color:#b8b8b8;font-size:16px}
.hero-mark{align-self:end;border-left:1px solid var(--gold-soft);padding-left:30px;display:flex;flex-direction:column;justify-content:end}
.hero-mark span{font-size:92px;line-height:.8;font-weight:800;color:#1d1d1d}
.hero-mark small{font-size:11px;letter-spacing:.18em;color:var(--gold);line-height:1.6;margin-top:16px}
.works{max-width:var(--max);margin:auto;padding:80px 34px 0}
.filters{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-bottom:90px;position:sticky;top:76px;z-index:20;background:rgba(0,0,0,.88);backdrop-filter:blur(12px)}
.filter{background:transparent;color:#aaa;border:1px solid transparent;padding:10px 14px;font-size:10px;letter-spacing:.12em;font-weight:700;cursor:pointer;transition:.2s}
.filter:hover,.filter.active{border-color:var(--gold);color:var(--gold)}
.solution-block{padding:0 0 120px;scroll-margin-top:150px}
.solution-block.is-hidden{display:none}
.section-heading{display:grid;grid-template-columns:76px 1fr;gap:24px;align-items:start;margin-bottom:38px}
.solution-number{font-size:44px;line-height:1;color:var(--gold);font-weight:800;letter-spacing:-.05em;border-top:1px solid var(--gold);padding-top:12px}
.section-heading h2{font-size:clamp(28px,4vw,52px);line-height:1.02;letter-spacing:-.035em;max-width:920px;margin-bottom:0}
.section-note{color:#aaa;margin:12px 0 0;font-size:14px}
.work-grid{display:grid;gap:16px}
.work-grid.two{grid-template-columns:1fr 1fr}
.predial-grid{grid-template-columns:1fr 1fr}
.work-card{margin:0;background:#111;border:1px solid rgba(218,165,32,.28);overflow:hidden;position:relative}
.work-card img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center center;background:#070707}
.work-card figcaption{padding:14px 18px;background:#090909;border-top:1px solid var(--gold);font-size:12px;letter-spacing:.03em;color:#ddd}
.predial-grid .work-card{aspect-ratio:4/5}
.subwork{margin-top:56px}
.subwork-title{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:16px}
.subwork-title .eyebrow{margin:0}
.subwork-title h3{font-size:22px;margin:0;font-weight:600}
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.before-after figure{margin:0;position:relative;background:#111;border:1px solid rgba(218,165,32,.28);overflow:hidden}
.before-after figure{aspect-ratio:4/5}
.before-after img{width:100%;height:100%;object-fit:cover;object-position:center center;background:#070707}
.badge{position:absolute;left:14px;bottom:14px;background:#000;color:var(--gold);border:1px solid var(--gold);padding:6px 10px;font-size:10px;letter-spacing:.15em;font-weight:800;z-index:2}
.single-no-caption{margin-top:16px;max-width:none;aspect-ratio:4/5}
.single-no-caption img{object-position:center}
.spda-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.spda-layout .work-card{aspect-ratio:4/5}
.spda-layout .wide-bottom{grid-column:1/-1;aspect-ratio:4/5}
.panel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.panel-grid .work-card{aspect-ratio:4/5}
.panel-grid img{object-fit:contain;background:#070707}
.approved-banner{margin:0;border:1px solid rgba(218,165,32,.35);background:#111}
.approved-banner{aspect-ratio:4/5;max-width:420px}
.approved-banner img{width:100%;height:100%;max-height:none;object-fit:cover;background:#070707;margin:auto}
.lighting-layout{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lighting-layout figure{margin:0}
.lighting-layout .large{min-height:0;aspect-ratio:4/5}
.lighting-layout .large img{width:100%;height:100%;object-fit:contain;background:#070707}
.lighting-side{display:grid;grid-template-rows:1fr 1fr;gap:16px}
.lighting-side .work-card{min-height:0}
.lighting-side img{width:100%;height:100%;object-fit:contain;background:#070707}
.closing{max-width:var(--max);margin:0 auto;padding:70px 34px 110px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px}
.closing h2{font-size:clamp(32px,4vw,58px);line-height:1.02;letter-spacing:-.04em;margin:0}
.quote-btn.large{padding:18px 22px}
.site-footer{border-top:1px solid var(--line);padding:22px 34px;display:flex;justify-content:space-between;color:#777;font-size:9px;letter-spacing:.16em;max-width:1400px;margin:auto}
@media (max-width:1000px){
  .header-inner{grid-template-columns:1fr auto}
  .main-nav{position:absolute;left:0;right:0;top:74px;background:#050505;border-bottom:1px solid var(--line);display:none;flex-direction:column;gap:0;padding:12px 34px}
  .main-nav.open{display:flex}
  .menu-toggle{display:flex;flex-direction:column;gap:5px;justify-self:end}
  .menu-toggle span{width:24px;height:2px;background:white}
  .header-inner .quote-btn{display:none}
  .hero-grid{grid-template-columns:1fr}
  .hero-mark{display:none}
  .filters{top:72px}
}
@media (max-width:720px){
  .header-inner{padding:15px 20px}
  .brand-name{font-size:25px}
  .main-nav{padding:10px 20px}
  .page-hero{min-height:470px;padding:80px 20px 56px}
  .works{padding:56px 20px 0}
  .filters{margin-bottom:60px;top:64px}
  .filter{padding:8px 10px;font-size:9px}
  .section-heading{grid-template-columns:48px 1fr;gap:14px}
  .solution-number{font-size:30px}
  .predial-grid,.work-grid.two,.before-after,.spda-layout,.lighting-layout{grid-template-columns:1fr}
  .panel-grid{grid-template-columns:1fr 1fr}
  .spda-layout .wide-bottom{grid-column:auto;aspect-ratio:1/1}
  .lighting-layout .large{min-height:auto;aspect-ratio:4/3}
  .lighting-side{grid-template-columns:1fr 1fr;grid-template-rows:1fr}
  .single-no-caption{max-width:none;aspect-ratio:4/3}
  .closing{padding:60px 20px 80px;flex-direction:column;align-items:flex-start}
  .site-footer{padding:20px;flex-direction:column;gap:10px}
}
@media (max-width:480px){
  .panel-grid{grid-template-columns:1fr}
  h1{font-size:44px}
  .section-heading h2{font-size:30px}
}

/* Obras: um tamanho só */
.obras-page .work-card,
.obras-page .before-after figure,
.obras-page .approved-banner,
.obras-page .single-no-caption,
.obras-page .work-card.is-horizontal,
.obras-page .approved-banner.is-horizontal{
  aspect-ratio:4/5 !important;
  height:auto;
  overflow:hidden;
}
.obras-page .work-card img,
.obras-page .before-after img,
.obras-page .approved-banner img{
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center;
}
.obras-page .lighting-side{display:contents}

.obras-page .work-card.is-horizontal{
  aspect-ratio:16/10 !important;
}
.obras-page .work-card.is-horizontal img{
  object-fit:contain !important;
  background:#070707;
}

.obras-page .approved-banner,
.obras-page .approved-banner.is-horizontal{
  aspect-ratio:4/5 !important;
  max-width:420px;
  background:#070707;
}
.obras-page .approved-banner img{
  object-fit:contain !important;
  background:transparent;
}

.nr12-split{display:grid;grid-template-columns:minmax(220px,380px) 1fr;gap:36px;align-items:center}
.nr12-copy p{margin:0;color:#cfcfcf;font-size:18px;line-height:1.7;max-width:560px}
.obras-page .nr12-split .approved-banner{max-width:none}
@media(max-width:800px){
  .nr12-split{grid-template-columns:1fr}
}

.obras-page .lighting-layout{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.obras-page .lighting-layout .work-card,
.obras-page .lighting-layout .work-card.is-horizontal{
  aspect-ratio:4/5 !important;
}
.obras-page .lighting-layout img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
@media(max-width:800px){
  .obras-page .lighting-layout{grid-template-columns:1fr}
}
