
:root{
  --ink:#1b1613;
  --ink-soft:#2b211c;
  --paper:#ffffff;
  --accent:#b6673d;
  --muted:#715f56;
  --line:rgba(45,31,24,.14);
  --white:#ffffff;
  --nav-h:76px;
  --pad:clamp(22px,4vw,72px);
  --radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#fff}
body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:clip}
body.menu-open{overflow:hidden}
main{overflow:visible}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
::selection{background:var(--accent);color:#fff}
[id]{scroll-margin-top:calc(var(--nav-h) + 12px)}

/* ---------- NAV ---------- */
.nav{
  position:fixed;inset:0 0 auto 0;height:var(--nav-h);z-index:1000;
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;
  padding:0 var(--pad);color:#fff;background:rgba(27,22,19,.96);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:background .25s ease,box-shadow .25s ease;
}
.nav.scrolled{background:rgba(27,22,19,.985);box-shadow:0 8px 30px rgba(0,0,0,.14)}
.brand{display:inline-flex;align-items:baseline;gap:8px;width:max-content;color:#fff}
.brand span{font-size:30px;font-weight:900;line-height:1}
.brand b{font-size:11px;font-weight:700;letter-spacing:.28em}
.nav-links{justify-self:center;display:flex;align-items:center;gap:clamp(16px,2vw,30px);font-size:11px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.nav-links a,.nav-cta{opacity:.86;transition:opacity .2s ease}
.nav-links a:hover,.nav-cta:hover{opacity:1}
.nav-actions{justify-self:end;display:flex;align-items:center;gap:14px;min-width:0}
.nav-cta{font-size:11px;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}
.nav-cta span{margin-left:7px}
.head-social{display:flex;align-items:center;gap:7px}
.head-social a{width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.20);border-radius:50%;color:#fff;opacity:.88}
.head-social a:hover{opacity:1;background:rgba(255,255,255,.08)}
.aj-icon{display:block;width:18px;height:18px;min-width:18px;min-height:18px;max-width:18px;max-height:18px}
.menu-btn{display:none;width:42px;height:42px;padding:0;border:0;background:transparent}
.menu-btn span{display:block;width:22px;height:1px;margin:6px auto;background:#fff}
.mobile-menu{display:none}

/* ---------- GLOBAL ---------- */
.eyebrow{margin:0;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}
.btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:52px;
  padding:0 22px;border:1px solid transparent;border-radius:999px;
  font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn.primary,.btn.light{background:#fff;color:var(--ink)}
.btn.ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.42);color:#fff}
.btn.dark{background:var(--ink);color:#fff}
.text-link{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.text-link i{font-style:normal}

/* ---------- HERO ---------- */
.hero{
  position:relative;min-height:100vh;min-height:100dvh;
  overflow:hidden;isolation:isolate;background:var(--ink);color:#fff;
}
.hero-media{position:absolute;inset:0;z-index:0;overflow:hidden;background:#241c18}
.hero-media img{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;object-position:center;filter:saturate(.78) contrast(1.03);transform:translate3d(0,0,0) scale(1.02)}
.hero-media::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(90deg,rgba(11,9,8,.82) 0%,rgba(11,9,8,.55) 38%,rgba(11,9,8,.18) 72%),
    linear-gradient(0deg,rgba(11,9,8,.55) 0%,rgba(11,9,8,.06) 52%);
}
.hero-blueprint{position:absolute;inset:0;z-index:2;opacity:.38;pointer-events:none;mix-blend-mode:screen}
.hero-blueprint svg{width:100%;height:100%}
.hero-blueprint path,.hero-blueprint rect{
  fill:none;stroke:rgba(232,222,214,.34);stroke-width:1;stroke-dasharray:1700;stroke-dashoffset:1700;
  animation:blueprintDraw 1.8s .3s ease forwards;
}
@keyframes blueprintDraw{to{stroke-dashoffset:0}}
.hero-copy{
  position:relative;z-index:5;width:min(860px,75vw);
  padding:clamp(150px,20vh,220px) var(--pad) 145px;
  opacity:1;color:#fff;transform:none;
}
.hero-copy,.hero-copy *{opacity:1}
.hero .eyebrow{color:#fff}
.hero h1{
  margin:24px 0 28px;color:#fff;font-size:clamp(56px,8.2vw,126px);font-weight:600;
  line-height:.86;letter-spacing:-.072em;
}
.hero h1 em{color:#fff;font-style:normal;font-weight:300}
.hero-lead{max-width:620px;margin:0;color:rgba(255,255,255,.90);font-size:clamp(16px,1.35vw,21px);line-height:1.55}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero-note{
  position:absolute;z-index:5;right:var(--pad);bottom:48px;display:grid;gap:9px;
  color:rgba(255,255,255,.86);font-size:10px;letter-spacing:.13em;text-align:right;text-transform:uppercase
}
.scroll-cue{
  position:absolute;z-index:5;left:var(--pad);bottom:42px;display:flex;align-items:center;gap:14px;
  color:#fff;font-size:10px;letter-spacing:.13em;text-transform:uppercase
}
.scroll-cue span{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.35);border-radius:50%}

/* ---------- STATEMENT ---------- */
.statement{
  padding:clamp(92px,11vw,160px) var(--pad);display:grid;grid-template-columns:.8fr 3.2fr;gap:42px;background:#fff
}
.statement-index{font-size:10px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}
.statement p{grid-column:2;margin:0 0 16px;color:var(--muted);font-size:clamp(18px,2vw,27px)}
.statement h2{
  grid-column:2;max-width:1040px;margin:0;font-size:clamp(38px,5vw,72px);font-weight:500;
  line-height:.99;letter-spacing:-.052em
}

/* ---------- TRANSFORMAÇÃO / TROCA DE SEÇÕES ---------- */
/*
   Efeito do vídeo: cada painel ocupa a área útil da tela e fica sticky.
   O painel seguinte sobe naturalmente e cobre o anterior. Sem pin-spacer,
   sem transformação do documento e sem alterar o fluxo das demais seções.
*/
.transform-sequence{
  position:relative;width:100%;margin:0;padding:0;background:#fff;isolation:isolate;overflow:visible
}
.transform-panel{
  position:sticky;top:var(--nav-h);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  width:100%;height:calc(100vh - var(--nav-h));height:calc(100dvh - var(--nav-h));
  min-height:620px;margin:0;padding:0;overflow:hidden;background:#fff
}
.transform-panel:nth-child(1){z-index:11}
.transform-panel:nth-child(2){z-index:12}
.transform-panel:nth-child(3){z-index:13}
.transform-panel:nth-child(4){z-index:14}
.transform-media{position:relative;min-width:0;height:100%;overflow:hidden;background:#1b1613}
.transform-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.transform-copy{min-width:0;height:100%;display:flex;align-items:center;justify-content:center;padding:clamp(34px,5vw,82px)}
.transform-copy-inner{width:min(100%,620px)}
.transform-kicker,.transform-number{
  display:block;margin:0 0 18px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase
}
.transform-kicker{margin-bottom:clamp(34px,6vh,62px)}
.transform-copy h2{margin:0 0 20px;font-size:clamp(44px,4.8vw,74px);font-weight:500;line-height:.96;letter-spacing:-.052em}
.transform-copy p:not(.transform-kicker){max-width:540px;margin:0;font-size:clamp(16px,1.25vw,19px);line-height:1.65}
.transform-panel-light .transform-copy{background:#fff;color:var(--ink)}
.transform-panel-light .transform-copy h2{color:var(--ink)}
.transform-panel-light .transform-copy p:not(.transform-kicker){color:var(--muted)}
.transform-panel-dark .transform-copy{background:var(--ink);color:#fff}
.transform-panel-dark .transform-copy h2{color:#fff}
.transform-panel-dark .transform-copy p:not(.transform-kicker){color:rgba(255,255,255,.82)}
.transform-panel-dark .transform-number{color:#d56b38}

/* ---------- RESIDENCIAL / COMERCIAL ---------- */
.dual-world{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#2c211c}
.world-card{position:relative;min-height:82vh;min-height:82dvh;overflow:hidden;color:#fff}
.world-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.world-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,10,8,.78),rgba(15,10,8,.04) 68%)}
.world-card>div{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:var(--pad)}
.world-card span{font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.world-card h2{margin:13px 0;font-size:clamp(38px,4.4vw,68px);font-weight:500;line-height:.98;letter-spacing:-.05em}
.world-card p{margin:0;color:rgba(255,255,255,.78);font-size:15px}
.world-card:hover img{transform:scale(1.035)}

/* ---------- PROJECTS ---------- */
.projects-section{padding:clamp(90px,9vw,140px) var(--pad);background:#fff}
.section-head{display:grid;grid-template-columns:2fr 1fr;gap:48px;align-items:end;margin-bottom:54px}
.section-head h2,.quote-lead h2,.faq-preview h2,.product-content h2,.city-content h2{
  margin:12px 0 0;font-size:clamp(38px,4.8vw,68px);font-weight:500;line-height:.99;letter-spacing:-.052em
}
.section-head>p{max-width:480px;margin:0;color:var(--muted);line-height:1.65}
.projects-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:44px}
.project-card{min-width:0}
.project-card a{display:block}
.project-img{aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius);background:#eee}
.project-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.project-card:hover .project-img img{transform:scale(1.035)}
.project-meta{display:flex;justify-content:space-between;gap:10px;margin-top:15px;color:var(--muted);font-size:10px;letter-spacing:.11em;text-transform:uppercase}
.project-card h3{margin:9px 0 4px;font-size:24px;line-height:1.05;letter-spacing:-.03em}
.project-price{font-size:18px;font-weight:700}
.project-card p{min-height:62px;margin:11px 0 16px;color:var(--muted);font-size:14px;line-height:1.55}
.raw-container-cta{
  display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:34px;
  padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)
}
.raw-container-cta span{color:var(--muted);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.raw-container-cta h3{margin:6px 0 0;font-size:clamp(24px,2.3vw,36px);font-weight:500;letter-spacing:-.035em}

/* ---------- CENA DE ESCALA — STICKY ORIGINAL RESTAURADO ---------- */
.image-hold{
  position:relative;width:100%;height:calc(126vh - var(--nav-h));height:calc(126dvh - var(--nav-h));
  min-height:calc(126vh - var(--nav-h));min-height:calc(126dvh - var(--nav-h));
  margin:0;padding:0;overflow:visible;background:#fff;background-image:none
}
.image-hold-pin{
  position:sticky;top:var(--nav-h);width:100%;height:calc(100vh - var(--nav-h));height:calc(100dvh - var(--nav-h));
  margin:0;padding:0;overflow:hidden;background:#fff
}
.image-hold-pin img{
  position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;margin:0;padding:0;
  object-fit:cover;object-position:center center;transform:none;filter:none
}
.image-hold::before,.image-hold::after,.image-hold-pin::before,.image-hold-pin::after{content:none;display:none}

/* ---------- COMO FUNCIONA — EFEITO ORIGINAL RESTAURADO ---------- */
.process-flow{
  position:relative;z-index:20;margin-top:-26vh;margin-top:-26dvh;background:#fff;padding:clamp(76px,7vw,112px) 0 30px
}
.process-flow-head{padding:0 var(--pad) 62px;display:grid;grid-template-columns:.85fr 1.15fr;gap:42px;align-items:end}
.process-flow-head h2{margin:10px 0 0;font-size:clamp(42px,5vw,74px);font-weight:500;line-height:.98;letter-spacing:-.055em}
.process-flow-head>p:last-child{max-width:520px;margin:0;color:var(--muted);line-height:1.65}
.flow-row{
  display:grid;grid-template-columns:1.05fr .95fr;min-height:66vh;min-height:66dvh;
  border-top:1px solid var(--line);overflow:hidden;background:#fff
}
.flow-row.reverse{grid-template-columns:.95fr 1.05fr}
.flow-row.reverse .flow-media{order:2}.flow-row.reverse .flow-copy{order:1}
.flow-media{position:relative;min-width:0;min-height:460px;overflow:hidden;background:#eee;will-change:clip-path}
.flow-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;will-change:transform}
.flow-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(44px,6vw,96px);background:#fff;will-change:transform,opacity}
.flow-copy>span{display:block;margin-bottom:20px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.18em}
.flow-copy h3{margin:0 0 20px;font-size:clamp(42px,4.6vw,70px);font-weight:500;line-height:.98;letter-spacing:-.05em}
.flow-copy p{max-width:560px;margin:0;color:var(--muted);font-size:clamp(16px,1.2vw,19px);line-height:1.65}

/* ---------- GALLERY ---------- */
/* Fallback sem JS: trilho horizontal comum, sem espaço morto. */
.cinematic-gallery{position:relative;background:#fff;color:var(--ink)}
.gallery-intro-v2{
  display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;
  padding:clamp(82px,8vw,118px) var(--pad) 34px;background:#fff
}
.gallery-intro-v2 h2{margin:10px 0 0;font-size:clamp(38px,4.2vw,62px);font-weight:500;line-height:1;letter-spacing:-.05em}
.gallery-intro-v2>p:last-child{max-width:470px;margin:0;color:var(--muted);line-height:1.55}
.gallery-pin{position:relative;height:auto;overflow:visible;background:#fff}
.gallery-track{
  display:flex;align-items:center;gap:18px;width:100%;overflow-x:auto;
  padding:24px var(--pad) 36px;scroll-snap-type:x mandatory
}
.gallery-shot{position:relative;flex:0 0 auto;margin:0;overflow:hidden;border-radius:14px;background:#eee;scroll-snap-align:center}
.gallery-shot img{width:100%;height:100%;object-fit:cover;filter:saturate(.84)}
.gallery-shot figcaption{
  position:absolute;left:18px;right:18px;bottom:16px;display:flex;justify-content:space-between;
  color:#fff;font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.55)
}
.shot-wide{width:min(62vw,940px);height:66vh;height:66dvh}
.shot-tall{width:min(32vw,500px);height:70vh;height:70dvh}
.shot-square{width:min(43vw,650px);height:60vh;height:60dvh}

/* Com JS: a galeria usa sticky nativo e deslocamento horizontal calculado. */
.js .gallery-pin{
  position:sticky;top:var(--nav-h);
  height:calc(100vh - var(--nav-h));height:calc(100dvh - var(--nav-h));
  overflow:hidden
}
.js .gallery-track{
  width:max-content;height:100%;overflow:visible;align-items:center;
  padding:24px var(--pad);scroll-snap-type:none;transform:translate3d(0,0,0);will-change:transform
}

/* ---------- TESTIMONIALS ---------- */
.testimonials{padding:clamp(90px,10vw,150px) var(--pad);display:grid;grid-template-columns:.8fr 1.2fr;gap:76px;background:#fff}
.quote-lead{position:sticky;top:calc(var(--nav-h) + 34px);height:max-content}
.quote-stack{display:grid}
.quote-stack blockquote{margin:0;padding:44px 0;border-bottom:1px solid var(--line)}
.quote-stack blockquote:first-child{padding-top:0}
.quote-stack p{margin:0 0 24px;font-size:clamp(25px,2.7vw,42px);line-height:1.13;letter-spacing:-.034em}
.quote-stack footer{color:var(--muted);font-size:10px;letter-spacing:.14em;text-transform:uppercase}

/* ---------- FAQ HOME ---------- */
.faq-preview{padding:84px var(--pad);display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;background:#fff}
.faq-mini details,.faq-list details{border-top:1px solid var(--line);padding:21px 0}
.faq-mini summary,.faq-list summary{cursor:pointer;font-size:18px;font-weight:700}
.faq-mini p,.faq-list p{margin:12px 0 0;color:var(--muted);line-height:1.65}

/* ---------- CONTACT + FOOTER ---------- */
.contact-stack{
  position:relative;isolation:isolate;color:#fff;background:#1b1613 url("/assets/img/container-brief-bg.webp") center/cover no-repeat
}
.contact-stack::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(18,12,9,.90),rgba(18,12,9,.62) 50%,rgba(18,12,9,.50))}
.visual-brief{
  position:relative;display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:center;
  min-height:76vh;min-height:76dvh;padding:clamp(84px,9vw,138px) var(--pad) 70px;background:transparent;color:#fff
}
.visual-brief .brief-bg,.visual-brief .brief-shade{display:none}
.brief-intro{position:relative;z-index:2}
.brief-intro h2{margin:14px 0 22px;color:#fff;font-size:clamp(42px,5vw,74px);font-weight:500;line-height:.96;letter-spacing:-.052em}
.brief-intro>p:last-child{max-width:520px;margin:0;color:rgba(255,255,255,.80);font-size:16px;line-height:1.62}
.brief-form{
  position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:20px;
  padding:34px;background:rgba(25,17,13,.76);border:1px solid rgba(255,255,255,.17);
  backdrop-filter:blur(5px)
}
.brief-form-head{grid-column:1/-1;display:flex;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.14);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.brief-form label{display:grid;gap:8px}
.brief-form label>span{color:rgba(255,255,255,.72);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.brief-form input,.brief-form select,.brief-form textarea{
  width:100%;padding:13px 0;border:0;border-bottom:1px solid rgba(255,255,255,.28);
  border-radius:0;outline:none;background:transparent;color:#fff
}
.brief-form input::placeholder,.brief-form textarea::placeholder{color:rgba(255,255,255,.46)}
.brief-form select option{color:#111;background:#fff}
.brief-form textarea{resize:vertical}
.brief-form .full{grid-column:1/-1}
.footer{
  position:relative;display:grid;grid-template-columns:1.25fr 1fr 1fr .75fr;gap:34px;
  padding:50px var(--pad) 24px;color:#fff;background:transparent;border-top:1px solid rgba(255,255,255,.15)
}
.footer-brand,.footer-col{display:grid;align-content:start;gap:10px}
.brand-footer span{font-size:34px}.brand-footer b{color:#fff}
.footer strong{color:#fff;font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.footer a,.footer span,.footer p{margin:0;color:rgba(255,255,255,.84);font-size:13px;line-height:1.5}
.footer-social{display:flex;align-items:center;gap:14px;margin-top:13px;flex-wrap:wrap}
.footer-social a{display:inline-flex;align-items:center;gap:7px;font-size:12px}
.footer-map-small{width:280px;max-width:100%;margin-top:4px;padding-top:13px;border-top:1px solid rgba(255,255,255,.16)}
.map-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.map-label strong{font-size:9px}.map-label span{font-size:10px}
.map-frame{height:115px;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:7px;background:#111}
.map-frame iframe{display:block;width:100%;height:100%;border:0}
.footer-bottom{grid-column:1/-1;padding-top:19px;margin-top:6px;border-top:1px solid rgba(255,255,255,.14)}
.footer-bottom span{font-size:12px}.footer-bottom a{font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* ---------- FLOATING WHATSAPP ---------- */
.whatsapp{
  position:fixed;right:24px;bottom:24px;z-index:900;width:54px;height:54px;display:grid;place-items:center;
  padding:0;border:0;border-radius:50%;background:#25D366;color:#000;box-shadow:0 12px 30px rgba(0,0,0,.20);
  transition:transform .2s ease,background .2s ease
}
.whatsapp:hover{transform:translateY(-2px);background:#20c45b}
.wa-icon{display:block;width:28px;height:28px;fill:#000;color:#000}
.wa-icon path{fill:#000}

/* ---------- INNER PAGE SHARED ---------- */
.inner main{padding-top:var(--nav-h)}
.page-hero{padding:clamp(100px,10vw,150px) var(--pad) clamp(76px,7vw,108px);background:var(--ink);color:#fff}
.page-hero.compact h1{max-width:1100px;margin:18px 0 24px;color:#fff;font-size:clamp(52px,7vw,100px);font-weight:500;line-height:.92;letter-spacing:-.06em}
.page-hero>p:last-child{max-width:650px;margin:0;color:rgba(255,255,255,.72);line-height:1.65}
.catalog{padding:90px var(--pad) 120px;background:#fff}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 18px}
.catalog-grid .project-card p{min-height:0}
.catalog-v2 .raw-container-cta{margin-top:54px}

.product-hero{min-height:calc(100vh - var(--nav-h));min-height:calc(100dvh - var(--nav-h));display:grid;grid-template-columns:1.15fr .85fr;background:var(--ink);color:#fff}
.product-hero-media{min-height:calc(100vh - var(--nav-h));min-height:calc(100dvh - var(--nav-h));overflow:hidden;background:#2a201b}
.product-hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.82)}
.product-hero-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:70px var(--pad)}
.product-hero-copy h1{margin:17px 0 22px;color:#fff;font-size:clamp(56px,6.3vw,104px);font-weight:500;line-height:.9;letter-spacing:-.06em}
.product-hero-copy>p{margin:0;color:rgba(255,255,255,.74);line-height:1.65}
.product-price{margin:24px 0;font-size:clamp(30px,3.7vw,52px);letter-spacing:-.04em}
.raw{position:relative;background:#34302d;overflow:hidden}
.corrugation{position:absolute;inset:0;background:repeating-linear-gradient(90deg,#292522 0 28px,#3a3430 29px 45px,#201d1b 46px 60px)}
.product-content,.city-content{padding:100px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:76px;background:#fff}
.product-content p,.city-content p{color:var(--muted);line-height:1.72}
.product-next,.city-cta{margin:0 var(--pad) 100px;padding:54px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.product-next>span{color:var(--muted);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.product-next h2,.city-cta h2{margin:10px 0 28px;font-size:clamp(38px,4.5vw,66px);font-weight:500;line-height:.99;letter-spacing:-.05em}

.city-hero{min-height:calc(100vh - var(--nav-h));min-height:calc(100dvh - var(--nav-h));display:grid;grid-template-columns:.9fr 1.1fr;background:var(--ink);color:#fff}
.city-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:70px var(--pad)}
.city-copy h1{margin:18px 0 22px;color:#fff;font-size:clamp(52px,6vw,96px);font-weight:500;line-height:.92;letter-spacing:-.06em}
.city-copy>p{margin:0 0 28px;color:rgba(255,255,255,.72);line-height:1.65}
.city-media{min-height:calc(100vh - var(--nav-h));min-height:calc(100dvh - var(--nav-h));overflow:hidden}
.city-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.82)}
.city-products{padding:20px var(--pad) 100px;background:#fff}
.city-products h2{font-size:clamp(36px,4vw,60px);font-weight:500;letter-spacing:-.045em}
.mini-products{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);background:var(--line);gap:1px}
.mini-products a{display:grid;gap:9px;min-height:170px;padding:24px;background:#fff}
.mini-products span{color:var(--muted);font-size:10px;letter-spacing:.12em}
.mini-products strong{font-size:19px}.mini-products em{margin-top:auto;font-size:14px;font-style:normal}

.faq-page{padding:90px var(--pad) 110px;display:grid;grid-template-columns:1.25fr .75fr;gap:70px;background:#fff}
.faq-page aside{position:sticky;top:calc(var(--nav-h) + 24px);height:max-content;padding:34px;border:1px solid var(--line);border-radius:var(--radius)}
.faq-page aside h2{font-size:36px;letter-spacing:-.04em}
.faq-list summary{font-size:20px}
.legal{max-width:920px;margin:0 auto;padding:90px var(--pad) 120px;background:#fff}
.legal h2{margin-top:44px;font-size:29px}.legal p{color:var(--muted);line-height:1.75}

.price-list{margin:26px 0 34px;border-top:1px solid rgba(255,255,255,.18)}
.price-list div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.price-list.big strong{font-size:22px}

/* Footer on inner pages */
body:not(.home)>.footer{
  isolation:isolate;background:#1b1613 url("/assets/img/container-brief-bg.webp") center/cover no-repeat;color:#fff
}
body:not(.home)>.footer::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(15,10,8,.82)}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1180px){
  .head-social{display:none}
  .nav-links{gap:16px}
}
@media(max-width:1000px){
  .projects-track{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mini-products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  :root{--nav-h:68px;--pad:22px}
  .nav{grid-template-columns:auto 1fr auto}
  .nav-links,.nav-cta{display:none}
  .menu-btn{display:block}
  .mobile-menu{
    position:fixed;inset:var(--nav-h) 0 0;z-index:999;display:none;flex-direction:column;gap:0;
    padding:24px;background:#1b1613;color:#fff;overflow:auto
  }
  .mobile-menu.open{display:flex}
  .mobile-menu a{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:24px;letter-spacing:-.02em}
  .hero-copy{width:100%;padding:130px var(--pad) 120px}
  .hero h1{font-size:clamp(52px,15vw,80px)}
  .hero-note{display:none}.scroll-cue{bottom:22px}
  .statement{grid-template-columns:1fr;padding:78px var(--pad)}
  .statement-index,.statement p,.statement h2{grid-column:1}
  .dual-world{grid-template-columns:1fr}.world-card{min-height:68vh;min-height:68dvh}
  .section-head,.gallery-intro-v2,.testimonials,.faq-preview,.visual-brief,.product-content,.city-content,.faq-page{grid-template-columns:1fr}
  .section-head{gap:24px}.projects-track{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cinematic-gallery{height:auto!important}
  .gallery-pin,.js .gallery-pin{position:relative;top:auto;height:auto;overflow:visible}
  .gallery-track,.js .gallery-track{width:100%;height:auto;overflow-x:auto;align-items:stretch;padding:12px var(--pad) 34px;scroll-snap-type:x mandatory;transform:none!important}
  .gallery-shot{scroll-snap-align:center}
  .shot-wide,.shot-tall,.shot-square{width:82vw;height:58vh;height:58dvh}
  .quote-lead{position:relative;top:auto}
  .faq-preview{gap:34px}
  .visual-brief{gap:34px;min-height:auto;padding:80px var(--pad) 54px}
  .brief-form{padding:28px}
  .footer{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .product-hero,.city-hero{grid-template-columns:1fr}
  .product-hero-media,.city-media{min-height:56vh;min-height:56dvh}
  .product-hero-copy,.city-copy{padding:48px var(--pad) 64px}
  .mini-products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .faq-page aside{position:relative;top:auto}
}
@media(max-width:560px){
  :root{--pad:18px}
  .brand span{font-size:27px}.brand b{font-size:9px}
  .hero-copy{padding-top:118px}
  .hero h1{font-size:54px}
  .hero-lead{font-size:15px}
  .hero-actions{align-items:stretch}.hero-actions .btn{flex:1}
  .projects-track,.catalog-grid{grid-template-columns:1fr}
  .project-card p{min-height:0}
  .raw-container-cta{align-items:flex-start;flex-direction:column}
  .shot-wide,.shot-tall,.shot-square{width:86vw;height:55vh;height:55dvh}
  .brief-form{grid-template-columns:1fr;padding:24px}
  .brief-form .full,.brief-form-head{grid-column:1}
  .footer{grid-template-columns:1fr}
  .footer-brand{grid-column:auto}
  .footer-map-small{width:100%;max-width:300px}
  .product-next,.city-cta{margin:0 var(--pad) 76px;padding:34px}
  .mini-products{grid-template-columns:1fr}
  .whatsapp{right:16px;bottom:16px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* ---------- V13 RESPONSIVO DAS SEÇÕES RESTAURADAS ---------- */
@media(max-width:820px){
  .transform-panel{position:relative;top:auto;height:auto;min-height:0;grid-template-columns:1fr;overflow:visible}
  .transform-panel:nth-child(even) .transform-media{order:1}
  .transform-panel:nth-child(even) .transform-copy{order:2}
  .transform-media{height:54vh;height:54dvh;min-height:350px}
  .transform-copy{height:auto;min-height:40vh;min-height:40dvh;padding:44px var(--pad)}
  .transform-kicker{margin-bottom:28px}
  .image-hold{height:66vh;height:66dvh;min-height:420px;overflow:hidden}.image-hold-pin{position:relative;top:0;height:100%}.process-flow{margin-top:0}
  .process-flow-head{grid-template-columns:1fr;padding-bottom:42px}
  .flow-row,.flow-row.reverse{grid-template-columns:1fr;min-height:0}
  .flow-row.reverse .flow-media,.flow-row.reverse .flow-copy{order:initial}
  .flow-media{min-height:52vh;min-height:52dvh}
  .flow-copy{min-height:38vh;min-height:38dvh;padding:44px var(--pad)}
}
@media(max-width:560px){
  .transform-copy h2{font-size:46px}
  .flow-copy h3{font-size:46px}
  .image-hold{height:58vh;height:58dvh;min-height:360px}
}


/* ---------- HERO: LEGIBILIDADE FIXA ---------- */
.hero-copy,.hero-copy *{opacity:1!important;visibility:visible!important}
.hero-copy{color:#fff!important}
.hero-copy h1,.hero-copy h1 em,.hero-copy .eyebrow,.hero-copy .hero-lead{color:#fff!important}
.hero-copy .hero-lead{color:rgba(255,255,255,.92)!important}


/* =========================================================
   V15 — HERO CINEMATOGRÁFICA POR SEQUÊNCIA DE 192 FRAMES
   Mantém todas as demais seções intactas.
   ========================================================= */
.hero.hero-cinematic{
  position:relative!important;
  height:340vh!important;
  min-height:340vh!important;
  overflow:visible!important;
  background:#111!important;
  color:#fff!important;
}
.hero-cinematic .hero-stage{
  position:sticky;
  top:0;
  width:100%;
  height:100vh;
  height:100dvh;
  overflow:hidden;
  isolation:isolate;
  background:#111;
}
.hero-cinematic .hero-media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  background:#111!important;
}
.hero-cinematic .hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(8,8,8,.78) 0%,rgba(8,8,8,.46) 38%,rgba(8,8,8,.12) 72%),
    linear-gradient(0deg,rgba(8,8,8,.52) 0%,rgba(8,8,8,.05) 54%);
}
.hero-cinematic #heroCanvas,
.hero-cinematic .hero-poster{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:none!important;
  transform:none!important;
}
.hero-cinematic #heroCanvas{
  z-index:1;
  opacity:0;
  transition:opacity .18s linear;
}
.hero-cinematic #heroCanvas.is-ready{opacity:1}
.hero-cinematic .hero-poster{z-index:0}
.hero-cinematic .hero-copy{
  position:absolute!important;
  z-index:5!important;
  left:0;
  top:0;
  width:min(860px,75vw)!important;
  padding:clamp(150px,20vh,220px) var(--pad) 145px!important;
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.hero-cinematic .hero-copy,
.hero-cinematic .hero-copy *{
  opacity:1!important;
  visibility:visible!important;
}
.hero-cinematic .hero-copy h1,
.hero-cinematic .hero-copy h1 em,
.hero-cinematic .hero-copy .eyebrow{color:#fff!important}
.hero-cinematic .hero-copy .hero-lead{color:rgba(255,255,255,.94)!important}
.hero-cinematic .hero-note,
.hero-cinematic .scroll-cue{position:absolute!important;z-index:5!important}
.hero-cinematic .hero-note{right:var(--pad);bottom:48px}
.hero-cinematic .scroll-cue{left:var(--pad);bottom:42px}

@media(max-width:820px){
  .hero.hero-cinematic{height:285vh!important;min-height:285vh!important}
  .hero-cinematic .hero-copy{width:100%!important;padding:130px var(--pad) 120px!important}
}
@media(max-width:560px){
  .hero.hero-cinematic{height:260vh!important;min-height:260vh!important}
  .hero-cinematic .hero-copy{padding-top:118px!important}
}
@media(prefers-reduced-motion:reduce){
  .hero.hero-cinematic{height:100vh!important;min-height:100vh!important}
  .hero-cinematic .hero-stage{position:relative!important}
  .hero-cinematic #heroCanvas{display:none!important}
}

/* =========================================================
   V17 — MOBILE COMPLETO (<= 820px)
   Escopo estritamente mobile: não altera desktop/notebook.
   Restaura os efeitos cinematográficos no celular.
   ========================================================= */
@media (max-width:820px){
  :root{--nav-h:64px;--pad:18px}
  html,body{width:100%;max-width:100%;overflow-x:clip}
  [id]{scroll-margin-top:calc(var(--nav-h) + 8px)}

  /* Navegação mobile estável + transição real */
  .nav{height:var(--nav-h);padding:0 var(--pad);grid-template-columns:auto 1fr auto}
  .brand span{font-size:26px}.brand b{font-size:9px;letter-spacing:.23em}
  .menu-btn{display:block;justify-self:end}
  .mobile-menu{
    display:flex!important;inset:var(--nav-h) 0 0!important;padding:20px var(--pad) 34px!important;
    visibility:hidden;opacity:0;pointer-events:none;transform:translate3d(0,-14px,0);
    transition:opacity .28s ease,transform .28s ease,visibility .28s ease;
  }
  .mobile-menu.open{visibility:visible;opacity:1;pointer-events:auto;transform:translate3d(0,0,0)}
  .mobile-menu a{font-size:21px!important;padding:16px 0!important}

  /* HERO — sequência continua ativa no celular */
  .hero.hero-cinematic{height:300svh!important;min-height:300svh!important}
  .hero-cinematic .hero-stage{height:100svh!important;min-height:100svh!important}
  .hero-cinematic .hero-media::after{
    background:
      linear-gradient(180deg,rgba(8,8,8,.48) 0%,rgba(8,8,8,.08) 34%,rgba(8,8,8,.18) 58%,rgba(8,8,8,.82) 100%),
      linear-gradient(90deg,rgba(8,8,8,.42),rgba(8,8,8,.06) 72%)!important
  }
  .hero-cinematic .hero-copy{
    top:auto!important;bottom:74px!important;width:100%!important;
    padding:0 var(--pad)!important;max-width:620px!important
  }
  .hero-cinematic .hero-copy .eyebrow{max-width:340px;font-size:9px;line-height:1.45;letter-spacing:.14em}
  .hero-cinematic .hero-copy h1{margin:14px 0 16px;font-size:clamp(42px,12.6vw,58px)!important;line-height:.91;letter-spacing:-.058em}
  .hero-cinematic .hero-copy .hero-lead{max-width:520px;font-size:14px;line-height:1.46}
  .hero-cinematic .hero-actions{gap:8px;margin-top:20px}
  .hero-cinematic .hero-actions .btn{min-height:46px;padding:0 15px;font-size:9px;flex:0 1 auto}
  .hero-cinematic .hero-note{display:none!important}
  .hero-cinematic .scroll-cue{left:auto!important;right:var(--pad)!important;bottom:18px!important;font-size:8px;gap:9px}
  .hero-cinematic .scroll-cue span{width:28px;height:28px}

  /* Introdução */
  .statement{padding:68px var(--pad);gap:14px}
  .statement p{font-size:17px}.statement h2{font-size:clamp(35px,10vw,48px);line-height:1.02}

  /* 4 ETAPAS — sticky restaurado no mobile; próxima tela cobre a anterior */
  .transform-sequence{overflow:visible!important;isolation:isolate}
  .transform-panel{
    position:sticky!important;top:var(--nav-h)!important;
    height:calc(100svh - var(--nav-h))!important;min-height:0!important;
    grid-template-columns:1fr!important;grid-template-rows:minmax(0,55%) minmax(0,45%)!important;
    overflow:hidden!important;margin:0!important
  }
  .transform-panel:nth-child(1){z-index:41}.transform-panel:nth-child(2){z-index:42}.transform-panel:nth-child(3){z-index:43}.transform-panel:nth-child(4){z-index:44}
  .transform-media{height:100%!important;min-height:0!important;overflow:hidden!important}
  .transform-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.025);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
  .transform-copy{height:100%!important;min-height:0!important;padding:24px var(--pad)!important;align-items:center!important}
  .transform-copy-inner{width:100%;max-width:520px}
  .transform-kicker{margin-bottom:14px!important;font-size:9px;line-height:1.35}
  .transform-number{margin-bottom:8px;font-size:9px}
  .transform-copy h2{margin:0 0 10px;font-size:clamp(36px,10vw,46px)!important;line-height:.94}
  .transform-copy p:not(.transform-kicker){font-size:14px;line-height:1.45}
  .transform-panel:nth-child(odd) .transform-copy{order:1}.transform-panel:nth-child(odd) .transform-media{order:2}
  .transform-panel:nth-child(even) .transform-media{order:1}.transform-panel:nth-child(even) .transform-copy{order:2}

  /* Residencial / comercial */
  .dual-world{grid-template-columns:1fr!important}
  .world-card{min-height:68svh!important}
  .world-card h2{font-size:clamp(38px,10vw,50px)}

  /* Projetos */
  .projects-section{padding:72px var(--pad)}
  .section-head{gap:18px;margin-bottom:34px}
  .section-head h2,.quote-lead h2,.faq-preview h2{font-size:clamp(36px,9.4vw,48px)}
  .projects-track{grid-template-columns:1fr!important;gap:38px!important}
  .project-img{aspect-ratio:4/3}
  .project-card p{min-height:0}
  .raw-container-cta{align-items:flex-start;flex-direction:column;gap:16px}

  /* CENA DE ESCALA — sticky volta a funcionar no celular */
  .image-hold{
    height:122svh!important;min-height:122svh!important;overflow:visible!important;background:#fff
  }
  .image-hold-pin{
    position:sticky!important;top:var(--nav-h)!important;
    height:calc(100svh - var(--nav-h))!important;min-height:0!important;overflow:hidden!important
  }
  .image-hold-pin img{height:100%!important;width:100%!important;object-fit:cover!important;will-change:transform}

  /* DO PROJETO AO TERRENO — layout mobile + reveal permanece ativo */
  .process-flow{margin-top:-22svh!important;padding:68px 0 22px!important}
  .process-flow-head{grid-template-columns:1fr!important;gap:14px!important;padding:0 var(--pad) 38px!important}
  .process-flow-head h2{font-size:clamp(38px,10vw,48px)}
  .flow-row,.flow-row.reverse{grid-template-columns:1fr!important;min-height:0!important;overflow:hidden!important}
  .flow-row.reverse .flow-media,.flow-row.reverse .flow-copy{order:initial!important}
  .flow-media{height:54svh!important;min-height:330px!important;will-change:clip-path}
  .flow-copy{min-height:34svh!important;padding:34px var(--pad)!important;will-change:transform,opacity}
  .flow-copy h3{font-size:clamp(38px,10vw,48px)!important}
  .flow-copy p{font-size:15px;line-height:1.55}

  /* GALERIA — mesmo conceito desktop: scroll vertical movimenta o trilho horizontal */
  .cinematic-gallery{position:relative!important;height:auto;background:#fff}
  .gallery-intro-v2{grid-template-columns:1fr!important;gap:14px!important;padding:68px var(--pad) 24px!important}
  .gallery-intro-v2 h2{font-size:clamp(38px,10vw,48px)}
  .gallery-pin,.js .gallery-pin{
    position:sticky!important;top:var(--nav-h)!important;
    height:calc(100svh - var(--nav-h))!important;overflow:hidden!important;background:#fff
  }
  .gallery-track,.js .gallery-track{
    width:max-content!important;height:100%!important;overflow:visible!important;
    align-items:center!important;gap:12px!important;padding:18px var(--pad)!important;
    scroll-snap-type:none!important;transform:translate3d(0,0,0);will-change:transform
  }
  .gallery-shot{border-radius:12px}
  .shot-wide,.shot-tall,.shot-square{width:82vw!important;height:62svh!important}

  /* Depoimentos / FAQ */
  .testimonials{grid-template-columns:1fr!important;gap:34px!important;padding:72px var(--pad)!important}
  .quote-lead{position:relative!important;top:auto!important}
  .quote-stack blockquote{padding:30px 0}
  .quote-stack p{font-size:clamp(24px,7.4vw,34px)}
  .faq-preview{padding:70px var(--pad)!important;gap:28px!important}
  .faq-mini summary,.faq-list summary{font-size:17px}

  /* Contato */
  .visual-brief{grid-template-columns:1fr!important;gap:28px!important;min-height:0!important;padding:70px var(--pad) 44px!important}
  .brief-intro h2{font-size:clamp(38px,10vw,48px)}
  .brief-form{grid-template-columns:1fr!important;padding:22px!important;gap:17px!important;backdrop-filter:blur(4px)}
  .brief-form .full,.brief-form-head{grid-column:1!important}

  /* Rodapé */
  .footer{grid-template-columns:1fr!important;gap:28px!important;padding:38px var(--pad) 22px!important}
  .footer-brand{grid-column:auto!important}.footer-bottom{grid-column:1!important}
  .footer-map-small{width:100%!important;max-width:360px!important}
  .map-frame{height:150px}

  /* Páginas internas — mobile sem estouro */
  .inner main{padding-top:var(--nav-h)}
  .page-hero{padding:64px var(--pad) 58px!important}
  .page-hero.compact h1{font-size:clamp(42px,11vw,56px)!important;line-height:.94}
  .catalog{padding:64px var(--pad) 78px!important}.catalog-grid{grid-template-columns:1fr!important;gap:38px!important}
  .product-hero,.city-hero{grid-template-columns:1fr!important;min-height:0!important}
  .product-hero-media,.city-media{min-height:48svh!important;height:48svh!important}
  .product-hero-copy,.city-copy{padding:38px var(--pad) 54px!important}
  .product-hero-copy h1,.city-copy h1{font-size:clamp(44px,12vw,60px)!important;line-height:.92}
  .product-content,.city-content{grid-template-columns:1fr!important;gap:26px!important;padding:68px var(--pad)!important}
  .product-content h2,.city-content h2{font-size:clamp(36px,9.5vw,48px)!important}
  .product-next,.city-cta{margin:0 var(--pad) 68px!important;padding:28px!important}
  .product-next h2,.city-cta h2{font-size:clamp(34px,9vw,44px)}
  .city-products{padding:12px var(--pad) 72px!important}
  .mini-products{grid-template-columns:1fr!important}.mini-products a{min-height:135px}
  .faq-page{grid-template-columns:1fr!important;gap:30px!important;padding:64px var(--pad) 78px!important}
  .faq-page aside{position:relative!important;top:auto!important;padding:26px!important}
  .legal{padding:64px var(--pad) 80px!important}
  .price-list div{align-items:flex-start}.price-list.big strong{font-size:19px}

  .whatsapp{right:14px!important;bottom:14px!important;width:50px;height:50px}
}

@media (max-width:390px){
  :root{--pad:16px}
  .hero-cinematic .hero-copy h1{font-size:40px!important}
  .hero-cinematic .hero-copy .hero-lead{font-size:13px}
  .hero-cinematic .hero-actions .btn{width:100%}
  .transform-copy h2,.flow-copy h3{font-size:36px!important}
  .shot-wide,.shot-tall,.shot-square{width:84vw!important}
}

/* V17 gallery mobile: vence as regras legadas com !important sem tocar no desktop. */
@media (max-width:820px){
  .cinematic-gallery{height:var(--gallery-mobile-height,auto)!important}
  .gallery-track,.js .gallery-track{transform:translate3d(var(--gallery-mobile-x,0px),0,0)!important}
}
@media (max-width:820px) and (prefers-reduced-motion:reduce){
  .hero.hero-cinematic{height:100svh!important;min-height:100svh!important}
  .hero-cinematic .hero-stage{position:relative!important}
  .hero-cinematic #heroCanvas{display:none!important}
  .transform-panel{position:relative!important;top:auto!important}
  .image-hold{height:72svh!important;min-height:72svh!important}
  .image-hold-pin{position:relative!important;top:auto!important;height:72svh!important}
  .cinematic-gallery{height:auto!important}
  .gallery-pin,.js .gallery-pin{position:relative!important;top:auto!important;height:auto!important}
  .gallery-track,.js .gallery-track{width:100%!important;overflow-x:auto!important;transform:none!important;scroll-snap-type:x mandatory!important}
}


/* =========================================================
   AJ LOADER — BUFFER REAL DA HERO CINEMATOGRÁFICA
   O percentual acompanha arquivos críticos efetivamente prontos.
   ========================================================= */
html.aj-loading,
html.aj-loading body{overflow:hidden!important;overscroll-behavior:none}
.aj-site-loader{
  position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;
  background:#1b1613;color:#fff;opacity:1;visibility:visible;
  transition:opacity .58s cubic-bezier(.22,.61,.36,1),visibility .58s step-end;
  contain:layout paint;isolation:isolate
}
.aj-site-loader::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.32;
  background:radial-gradient(circle at 50% 47%,rgba(255,255,255,.07),transparent 38%),
             linear-gradient(115deg,rgba(255,255,255,.025),transparent 36%,rgba(255,255,255,.018) 67%,transparent)
}
.aj-site-loader.is-leaving{opacity:0;visibility:hidden}
.aj-loader-inner{position:relative;z-index:1;width:min(680px,84vw);display:flex;flex-direction:column;align-items:center}
.aj-loader-brand{display:flex;align-items:baseline;gap:11px;margin-bottom:clamp(34px,6vh,68px);white-space:nowrap}
.aj-loader-brand span{font-size:clamp(50px,6vw,78px);font-weight:900;line-height:.8;letter-spacing:-.055em}
.aj-loader-brand b{font-size:clamp(11px,1.25vw,15px);line-height:1;letter-spacing:.30em;font-weight:700}
.aj-loader-visual{position:relative;width:min(620px,82vw);height:clamp(92px,14vw,142px);display:grid;place-items:center}
.aj-loader-container{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;filter:none;user-select:none;-webkit-user-drag:none}
.aj-loader-container-ghost{opacity:.16;filter:grayscale(1) brightness(.72)}
.aj-loader-fill{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 100% 0 0);transition:clip-path .16s linear;will-change:clip-path}
.aj-loader-container-live{opacity:1}
.aj-loader-meta{width:min(620px,82vw);display:flex;align-items:center;justify-content:space-between;margin-top:22px;font-size:10px;letter-spacing:.22em}
.aj-loader-meta span{font-weight:700;opacity:.62}
.aj-loader-meta strong{font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.08em}
.aj-loader-track{width:min(620px,82vw);height:1px;margin-top:10px;background:rgba(255,255,255,.14);overflow:hidden}
.aj-loader-track i{display:block;width:0;height:100%;background:#fff;transition:width .16s linear;will-change:width}
@media (max-width:820px){
  .aj-loader-inner{width:88vw}
  .aj-loader-brand{margin-bottom:42px;gap:8px}
  .aj-loader-brand span{font-size:52px}.aj-loader-brand b{font-size:9px;letter-spacing:.27em}
  .aj-loader-visual,.aj-loader-meta,.aj-loader-track{width:86vw}
  .aj-loader-visual{height:104px}
}
@media (prefers-reduced-motion:reduce){.aj-site-loader,.aj-loader-fill,.aj-loader-track i{transition:none!important}}
