/* ============================================================
   Bristol · Reserva Inglesa — LP
   Base + Section 1 (Hero)
   ============================================================ */

:root{
  /* Brand */
  --wine:#733232;
  --wine-deep:#5e2727;
  --wine-dark:#3f1c1c;
  --gold:#bd9256;
  --gold-light:#d8b988;
  --cream:#f4efe8;
  --paper:#faf7f2;
  --ink:#2a1a1a;

  /* Type */
  --serif:'Brygada 1918', Georgia, serif;
  --sans:'Inter', -apple-system, sans-serif;

  /* Scale */
  --fs-hero:clamp(2.6rem, 6vw, 5.2rem);
  --fs-section:clamp(2rem, 4vw, 3.4rem);
  --fs-body:clamp(1rem, 1.1vw, 1.125rem);
  --fs-kicker:clamp(.72rem, .9vw, .82rem);

  /* Layout */
  --maxw:1240px;
  --pad:clamp(1.25rem, 5vw, 4rem);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:auto;} /* Lenis handles smooth scroll */
body{
  font-family:var(--sans);
  font-size:var(--fs-body);
  line-height:1.65;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
em{font-style:italic;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--sans);font-weight:500;letter-spacing:.02em;
  padding:1rem 2rem;border-radius:2px;
  background:var(--gold);color:var(--wine-dark);
  border:1px solid var(--gold);
  transition:background .3s ease,color .3s ease,transform .3s ease;
  cursor:pointer;
}
.btn:hover{background:transparent;color:var(--gold-light);transform:translateY(-2px);}
.btn--sm{padding:.6rem 1.3rem;font-size:.82rem;}
.btn--ghost{background:transparent;color:var(--gold);}
.btn--ghost:hover{background:var(--gold);color:var(--wine-dark);}

/* brilho percorrendo a borda — reservado a CTAs de maior intenção */
@property --shine-angle{
  syntax:'<angle>';
  inherits:false;
  initial-value:0deg;
}
.btn--shine{position:relative;}
.btn--shine::before{
  content:'';
  position:absolute;inset:0;
  border-radius:inherit;
  padding:1.5px;
  background:conic-gradient(from var(--shine-angle,0deg),
    transparent 0 76%,
    rgba(255,251,240,.95) 85%,
    var(--gold-light) 90%,
    transparent 97%);
  -webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  animation:btn-shine-spin 3.6s linear infinite;
  pointer-events:none;
}
@keyframes btn-shine-spin{to{--shine-angle:360deg;}}

/* ---------- Kicker ---------- */
.kicker{
  font-family:var(--sans);font-size:var(--fs-kicker);
  font-weight:600;letter-spacing:.28em;text-transform:uppercase;
}

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:fixed;top:0;left:0;width:100%;z-index:100;
  transition:background .4s ease,backdrop-filter .4s ease,padding .4s ease;
  padding:1.4rem 0;
}
.nav.is-scrolled{
  background:rgba(63,28,28,.82);
  backdrop-filter:blur(12px);
  padding:.8rem 0;
  border-bottom:1px solid rgba(189,146,86,.18);
}
.nav__inner{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
}
/* logo do nav: oculta no topo, aparece ao rolar (evita duplicar com a do hero) */
.nav__logo{
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .4s ease,transform .4s ease,visibility .4s;
  display:flex;align-items:center;gap:.9rem;
}
.nav.is-scrolled .nav__logo{opacity:1;visibility:visible;transform:none;}
.nav__logo-capital{height:26px;width:auto;filter:brightness(0) invert(1);opacity:.88;}
.nav__logo-bristol{height:34px;width:auto;filter:brightness(0) invert(1);opacity:.95;}
.nav__logo-divider{width:1px;height:22px;background:rgba(189,146,86,.4);}
.nav__links{display:flex;gap:2rem;}
.nav__links a{
  font-size:.82rem;letter-spacing:.08em;color:rgba(255,255,255,.82);
  text-transform:uppercase;font-weight:400;position:relative;padding:.2rem 0;
}
.nav__links a::after{
  content:'';position:absolute;left:0;bottom:-2px;width:0;height:1px;
  background:var(--gold);transition:width .3s ease;
}
.nav__links a:hover{color:#fff;}
.nav__links a:hover::after{width:100%;}
.nav__actions{display:flex;align-items:center;gap:1rem;}
.nav__burger{
  display:none;flex-direction:column;justify-content:center;gap:6px;
  width:44px;height:44px;padding:10px;
  background:transparent;border:none;cursor:pointer;
}
.nav__burger span{display:block;height:2px;width:100%;background:#fff;transition:transform .3s ease,opacity .3s ease;}
.nav__burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg);}
.nav__burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg);}
.nav__menu[hidden]{display:none;}
.nav__menu{
  position:fixed;inset:0;z-index:99;
  background:rgba(42,20,20,.97);backdrop-filter:blur(8px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;
}
.nav__menu a{
  font-family:var(--serif);font-size:1.6rem;color:#fff;letter-spacing:.02em;
}
.nav__menu-cta{font-family:var(--sans);font-size:1rem;margin-top:1rem;}

/* ---------- Foco visível (teclado) ---------- */
a:focus-visible,button:focus-visible{
  outline:2px solid var(--gold);outline-offset:3px;border-radius:2px;
}

/* ============================================================
   1. HERO
   ============================================================ */
.hero{
  position:relative;height:100svh;min-height:640px;
  display:flex;align-items:center;
  overflow:hidden;
  background:var(--wine-dark);
}
.hero__media{position:absolute;inset:0;z-index:0;}
.hero__img{
  width:100%;height:120%;object-fit:cover;
  transform:scale(1.12);transform-origin:center 40%;
  will-change:transform;
}
.hero__scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(to right, rgba(63,28,28,.72) 0%, rgba(63,28,28,.35) 45%, rgba(63,28,28,.15) 100%),
    linear-gradient(to top, rgba(63,28,28,.85) 0%, rgba(63,28,28,0) 40%);
}

.hero__content{
  position:relative;z-index:2;
  max-width:var(--maxw);width:100%;margin:0 auto;padding:0 var(--pad);
  color:#fff;
}
.hero__kicker{
  font-family:var(--sans);font-size:var(--fs-kicker);
  font-weight:600;letter-spacing:.26em;text-transform:uppercase;
  color:var(--gold-light);margin-bottom:1.4rem;
  opacity:0;
}
.hero__title{
  font-family:var(--serif);font-weight:500;
  font-size:var(--fs-hero);line-height:1.04;letter-spacing:.005em;
  margin-bottom:1.6rem;text-shadow:0 2px 30px rgba(0,0,0,.25);
}
.hero__title em{color:var(--gold-light);font-weight:500;}
.hero__sub{
  font-family:var(--serif);font-style:italic;
  font-size:clamp(1.15rem,1.8vw,1.6rem);
  color:rgba(255,255,255,.9);max-width:34ch;line-height:1.4;
  opacity:0;
}
/* stagger children (set initial hidden for JS reveal) */
.hero__kicker,.hero__title,.hero__sub{transform:translateY(24px);}

/* logo Bristol acima do título */
.hero__logo{
  height:clamp(76px,8vw,116px);width:auto;
  filter:brightness(0) invert(1);
  margin-bottom:1.8rem;opacity:0;
}

/* assinatura Capital no canto */
.hero__brands{
  position:absolute;right:var(--pad);bottom:2.6rem;z-index:3;
  display:flex;align-items:center;gap:1rem;
  opacity:0;
}
.hero__brand-capital{height:clamp(64px,7vw,86px);width:auto;}
.hero__brand-label{
  font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.72);
}

.hero__scroll{
  position:absolute;left:50%;bottom:2.2rem;transform:translateX(-50%);
  z-index:3;display:flex;flex-direction:column;align-items:center;gap:.9rem;
  color:rgba(255,255,255,.72);
}
.hero__scroll span:first-child{
  font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;
}
.hero__scroll-line{
  width:1px;height:46px;background:linear-gradient(to bottom,var(--gold-light),transparent);
  position:relative;overflow:hidden;
}
.hero__scroll-line::after{
  content:'';position:absolute;top:-46px;left:0;width:100%;height:46px;
  background:linear-gradient(to bottom,transparent,#fff);
  animation:scrollPulse 2.2s ease-in-out infinite;
}
@keyframes scrollPulse{
  0%{top:-46px;}60%,100%{top:46px;}
}

/* ============================================================
   2. CONCEITO — transição histórica (pinned + scrub)
   ============================================================ */
.concept{
  position:relative;
  height:260vh;              /* espaço de scroll pra transição */
  background:var(--wine-dark);
}
.concept__pin{
  position:relative;
  height:100vh;
  overflow:hidden;
}
.concept__media{position:absolute;inset:0;z-index:0;}
.concept__img{
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;
  object-position:center;
  will-change:opacity,transform;
}
.concept__img--old{opacity:1;filter:saturate(.85);}
.concept__img--new{opacity:0;}
.concept__scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(to right, rgba(63,28,28,.92) 0%, rgba(63,28,28,.66) 42%, rgba(63,28,28,.12) 100%),
    linear-gradient(to top, rgba(63,28,28,.7) 0%, rgba(63,28,28,0) 45%);
}

/* marca d'água: "C" da Capital */
.concept__watermark{
  position:absolute;z-index:1;
  right:2%;top:62%;transform:translateY(-50%);
  width:clamp(240px,30vw,440px);height:auto;
  opacity:.13;
  filter:brightness(0) invert(1);
  pointer-events:none;
  will-change:transform;
}

.concept__content{
  position:absolute;z-index:2;top:50%;left:0;transform:translateY(-50%);
  width:100%;max-width:var(--maxw);
  margin:0 auto;padding:0 var(--pad);left:50%;transform:translate(-50%,-50%);
  color:#fff;
}
.concept__kicker{color:var(--gold-light);margin-bottom:1.4rem;}
.concept__title{
  font-family:var(--serif);font-weight:500;
  font-size:var(--fs-section);line-height:1.1;
  max-width:20ch;margin-bottom:1.8rem;
  text-shadow:0 2px 24px rgba(0,0,0,.28);
}
.concept__title-l1{display:block;}
.concept__title-l2{
  display:block;color:var(--gold-light);will-change:clip-path,transform;
  font-size:clamp(1.05rem,1.7vw,1.4rem);font-weight:400;
  white-space:nowrap;letter-spacing:.01em;margin-top:.9rem;
}
.concept__title-l2 em{color:inherit;font-style:italic;}
/* estados iniciais para reveal via JS */
.concept__kicker,.concept__title-l1,.concept__body{opacity:0;transform:translateY(22px);}
.concept__title-l2{clip-path:inset(0 100% 0 0);transform:translateY(8px);}
.concept__body{
  font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.7;
  max-width:44ch;color:rgba(255,255,255,.9);
  margin-bottom:2.4rem;
}
.concept__pillars{
  list-style:none;display:flex;flex-wrap:wrap;gap:1.4rem 2.4rem;
}
.concept__pillars li{
  font-family:var(--serif);font-style:italic;
  font-size:clamp(1.05rem,1.5vw,1.35rem);
  color:var(--gold-light);position:relative;padding-left:1.4rem;
}
.concept__pillars li::before{
  content:'';position:absolute;left:0;top:.75em;
  width:7px;height:7px;transform:rotate(45deg);
  background:var(--gold);
}
.concept__caption{
  position:absolute;z-index:2;right:var(--pad);bottom:2rem;
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.72);
}
.concept__caption[data-new]{opacity:0;}

/* ============================================================
   PONTE VISUAL — guia de scroll (portal + linhas desenhando)
   ============================================================ */
.bridge{
  position:relative;
  display:flex;justify-content:center;
  padding:2rem 0;
  background:var(--wine);
}
.bridge__col{
  position:relative;
  width:300px;height:600px;
}
.bridge__rail{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.bridge__portal{
  position:absolute;top:262px;left:50%;transform:translateX(-50%);
  width:250px;height:auto;
  clip-path:inset(0 0 100% 0);   /* revelado de cima pra baixo via JS */
  will-change:clip-path;
}

@media (max-width:860px){
  .bridge__col{transform:scale(.72);}
  .bridge{padding:2rem 0;}
}
@media (prefers-reduced-motion:reduce){
  .bridge__portal{clip-path:none;}
}

/* ============================================================
   2B. TRANSIÇÃO AÉREA — Parque (parallax)
   ============================================================ */
.parque{
  position:relative;min-height:92vh;overflow:hidden;
  display:flex;align-items:center;justify-content:flex-end;
  background:var(--wine-dark);
}
.parque__media{position:absolute;inset:0;z-index:0;}
.parque__media img{
  width:100%;height:128%;object-fit:cover;
  will-change:transform;
}
.parque__scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(to left, rgba(20,30,18,.72) 0%, rgba(20,30,18,.3) 40%, rgba(20,30,18,0) 70%),
    linear-gradient(to top, rgba(20,30,18,.55) 0%, rgba(20,30,18,0) 45%);
}
.parque__content{
  position:relative;z-index:2;
  max-width:var(--maxw);width:100%;margin:0 auto;padding:0 var(--pad);
  display:flex;flex-direction:column;align-items:flex-end;text-align:right;
  color:#fff;
}
.parque__line{
  font-family:var(--serif);font-style:italic;font-weight:500;
  font-size:clamp(1.6rem,3.2vw,2.9rem);line-height:1.2;
  text-shadow:0 2px 24px rgba(0,0,0,.4);margin-bottom:1.4rem;
}
.parque__line em{color:var(--gold-light);}
.parque__divider{display:block;margin-bottom:1rem;}
.parque__divider svg{width:clamp(160px,20vw,220px);height:auto;}
.parque__kicker{
  font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(255,255,255,.82);
}
.parque__brand-capital{
  position:absolute;z-index:2;left:50%;bottom:2.4rem;transform:translateX(-50%);
  height:clamp(32px,4vw,44px);width:auto;
}

/* ============================================================
   3. BAIRRO PRONTO
   ============================================================ */
.bairro{
  position:relative;overflow:hidden;
  background:var(--paper);
  padding:clamp(5rem,10vw,9rem) 0;
}
/* marca d'água "C" da Capital, em dourado */
.bairro__watermark{
  position:absolute;z-index:0;
  right:-8%;top:34%;transform:translateY(-50%);
  width:clamp(340px,46vw,720px);height:auto;
  opacity:.1;pointer-events:none;
}
.bairro__inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.bairro__intro{max-width:60ch;margin-bottom:clamp(3rem,5vw,4.5rem);}
.bairro__kicker{color:var(--gold);margin-bottom:1.3rem;}
.bairro__title{
  font-family:var(--serif);font-weight:600;
  font-size:var(--fs-section);line-height:1.12;color:var(--wine);
  margin-bottom:1.6rem;
}
.bairro__title em{font-style:italic;font-weight:500;color:var(--gold);}
.bairro__lead{
  font-size:clamp(1.05rem,1.3vw,1.22rem);line-height:1.7;
  color:var(--ink);max-width:52ch;
}

.bairro__grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:clamp(1rem,2vw,1.6rem);
}
.quad{
  position:relative;overflow:hidden;border-radius:3px;
  clip-path:inset(100% 0 0 0);   /* preenche de baixo pra cima via JS */
  background:var(--wine-dark);
  aspect-ratio:16/11;
}
.quad__media{position:absolute;inset:0;}
.quad__media img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.1s cubic-bezier(.19,1,.22,1);
  will-change:transform;
}
.quad:hover .quad__media img{transform:scale(1.05);}
.quad::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top, rgba(45,20,20,.9) 0%, rgba(45,20,20,.35) 42%, rgba(45,20,20,0) 72%);
}
.quad__body{
  position:absolute;z-index:2;left:0;bottom:0;
  padding:clamp(1.4rem,2.4vw,2.2rem);color:#fff;width:100%;
}
.quad__num{
  font-family:var(--serif);font-size:.9rem;color:var(--gold-light);
  letter-spacing:.1em;display:block;margin-bottom:.4rem;opacity:.85;
}
.quad__label{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.1;margin-bottom:.35rem;
}
.quad__desc{
  font-size:.95rem;line-height:1.5;color:rgba(255,255,255,.82);max-width:40ch;
  text-wrap:balance;
}

/* ============================================================
   4. A ALAMEDA — scroll horizontal (pin + translate)
   ============================================================ */
.alameda{
  position:relative;overflow:hidden;
  background:var(--wine-dark);
}
.alameda__track{
  display:flex;align-items:stretch;
  height:100vh;width:max-content;
  will-change:transform;
}
.ala-panel{
  flex:0 0 auto;height:100vh;
  position:relative;
}
.ala-panel--intro{
  width:min(92vw,720px);
  display:flex;flex-direction:column;justify-content:center;
  padding:0 clamp(1.5rem,5vw,5rem);
  color:#fff;
}
.ala-kicker{color:var(--gold-light);margin-bottom:1.4rem;}
.ala-title{
  font-family:var(--serif);font-weight:500;
  font-size:var(--fs-section);line-height:1.1;margin-bottom:1.6rem;
}
.ala-title em{color:var(--gold-light);}
.ala-lead{
  font-size:clamp(1.05rem,1.3vw,1.22rem);line-height:1.7;
  color:rgba(255,255,255,.88);max-width:42ch;margin-bottom:2.4rem;
}
.ala-hint{
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-light);display:flex;align-items:center;gap:.7rem;
}
.ala-hint::after{
  content:'';width:48px;height:1px;background:var(--gold);
  animation:hintPulse 1.8s ease-in-out infinite;
}
@keyframes hintPulse{0%,100%{transform:scaleX(.5);opacity:.5;transform-origin:left;}50%{transform:scaleX(1);opacity:1;transform-origin:left;}}

.ala-panel--img{
  width:min(80vw,560px);margin:0;overflow:hidden;
}
.ala-panel--img img{
  width:100%;height:100%;object-fit:cover;
}
.ala-panel--img figcaption{
  position:absolute;left:0;bottom:0;width:100%;z-index:2;
  padding:clamp(1.6rem,3vw,2.6rem);color:#fff;
  display:flex;flex-direction:column;
  background:linear-gradient(to top, rgba(45,20,20,.9) 0%, rgba(45,20,20,.3) 55%, transparent 100%);
}
.ala-num{
  font-family:var(--serif);font-size:.9rem;color:var(--gold-light);
  letter-spacing:.1em;margin-bottom:.5rem;opacity:.9;
}
.ala-cap-t{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.1;margin-bottom:.4rem;
}
.ala-cap-d{font-size:.95rem;line-height:1.5;color:rgba(255,255,255,.82);max-width:26ch;text-wrap:balance;}

/* ============================================================
   4B. PASSEIO RESERVA INGLESA — editorial alternado
   ============================================================ */
.passeio{position:relative;overflow:hidden;background:var(--paper);padding:clamp(4rem,8vw,7.5rem) 0;}
.passeio__watermark{
  position:absolute;z-index:0;
  left:-8%;top:8%;
  width:clamp(300px,38vw,600px);height:auto;
  opacity:.08;pointer-events:none;
}
.passeio__inner{
  position:relative;z-index:1;
  max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);
  display:flex;flex-direction:column;gap:clamp(3rem,6vw,6rem);
}
.passeio__row{
  display:grid;grid-template-columns:1fr 1.15fr;align-items:center;
  gap:clamp(2rem,5vw,4.5rem);
}
.passeio__row--rev .passeio__media{order:-1;}
.passeio__kicker{color:var(--gold);margin-bottom:1.2rem;}
.passeio__title{
  font-family:var(--serif);font-weight:500;
  font-size:var(--fs-section);line-height:1.1;color:var(--wine);margin-bottom:1.4rem;
}
.passeio__title em{color:var(--gold);}
.passeio__sub{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.15;color:var(--wine);margin-bottom:1.2rem;
}
.passeio__body{
  font-size:clamp(1rem,1.2vw,1.14rem);line-height:1.7;color:var(--ink);
  max-width:46ch;margin-bottom:1.6rem;
}
.passeio__badge{
  display:inline-block;
  font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--wine);background:rgba(189,146,86,.16);
  border:1px solid rgba(189,146,86,.5);border-radius:2px;padding:.5rem .9rem;
}
.passeio__media{margin:0;overflow:hidden;border-radius:4px;box-shadow:0 24px 60px rgba(115,50,50,.14);}
.passeio__media img{width:100%;height:112%;object-fit:cover;display:block;will-change:transform;}
.passeio__media--a{aspect-ratio:16/10;}
.passeio__media--b{aspect-ratio:16/10;}
.passeio__brands{
  list-style:none;display:flex;flex-wrap:wrap;gap:.7rem;
}
.passeio__cta{display:inline-flex;margin-top:2rem;}
.passeio__brands li{
  font-size:.88rem;color:var(--wine);
  border:1px solid rgba(115,50,50,.22);border-radius:2px;padding:.5rem 1rem;
  transition:background .25s ease,border-color .25s ease;
}
.passeio__brands li:hover{border-color:var(--gold);background:rgba(189,146,86,.08);}
.passeio__brands-more{font-style:italic;color:var(--gold);border-color:transparent!important;}

/* ============================================================
   5. LOCALIZAÇÃO — pinned + pontos revelando
   ============================================================ */
.local{position:relative;height:320vh;background:var(--wine-dark);}
.local__pin{position:relative;height:100vh;overflow:hidden;}
.local__bg{position:absolute;inset:0;z-index:0;}
.local__img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  will-change:opacity;
}
.local__img[data-i="1"],.local__img[data-i="2"]{opacity:0;}
.local__scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(to right, rgba(45,20,20,.9) 0%, rgba(45,20,20,.55) 46%, rgba(45,20,20,.12) 100%),
    linear-gradient(to top, rgba(45,20,20,.7) 0%, rgba(45,20,20,0) 42%);
}
.local__content{
  position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);
  width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);
  color:#fff;
}
.local__kicker{color:var(--gold-light);margin-bottom:1.3rem;}
.local__title{
  font-family:var(--serif);font-weight:500;
  font-size:var(--fs-section);line-height:1.08;margin-bottom:2rem;
  text-shadow:0 2px 24px rgba(0,0,0,.3);
}
.local__title em{color:var(--gold-light);}
.local__points{list-style:none;display:flex;flex-direction:column;gap:1.1rem;margin-bottom:2.6rem;}
.local__points li{
  font-family:var(--serif);font-size:clamp(1.15rem,1.7vw,1.5rem);
  color:#fff;position:relative;padding-left:1.7rem;opacity:0;
}
.local__points li::before{
  content:'';position:absolute;left:0;top:.62em;
  width:8px;height:8px;transform:rotate(45deg);background:var(--gold);
}
.local__address{opacity:0;border-left:2px solid var(--gold);padding-left:1.2rem;}
.local__address-label{
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-light);display:block;margin-bottom:.4rem;
}
.local__address p{font-size:1.05rem;line-height:1.5;color:rgba(255,255,255,.92);}

/* ============================================================
   6. AS TORRES & FICHA TÉCNICA
   ============================================================ */
.specs{
  background:var(--paper);
  padding-top:clamp(5rem,9vw,8rem);
}
.specs__head{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);
  text-align:center;margin-bottom:clamp(3rem,5vw,4.5rem);
}
.specs__logo{height:80px;width:auto;margin:0 auto 2.2rem;display:block;}
.specs__title{
  font-family:var(--serif);font-weight:500;
  font-size:var(--fs-section);line-height:1.08;color:var(--wine);
}
.specs__title em{color:var(--gold);}

.specs__stats{
  max-width:960px;margin:0 auto clamp(3.5rem,6vw,5.5rem);
  padding:0 var(--pad);
  display:flex;justify-content:center;align-items:center;
  gap:clamp(1.5rem,5vw,4.5rem);
}
.stat{
  flex:1;text-align:center;
  display:flex;flex-direction:column;gap:.6rem;
  position:relative;
}
.stat + .stat::before{
  content:'';position:absolute;left:calc(-1 * clamp(.75rem,2.5vw,2.25rem));
  top:14%;height:72%;width:1px;background:rgba(115,50,50,.2);
}
.stat__num{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(2.6rem,5.5vw,4.4rem);line-height:1;color:var(--wine);
  white-space:nowrap;
}
.stat__pre{font-size:.44em;color:var(--gold);vertical-align:baseline;}
.stat__label{
  font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink);opacity:.66;
}
.specs__banner{
  width:100%;height:clamp(320px,52vh,620px);overflow:hidden;
}
.specs__banner img{
  width:100%;height:165%;object-fit:cover;
  will-change:transform;
}
.specs__legend{
  max-width:var(--maxw);margin:0 auto;padding:clamp(1.8rem,3vw,2.6rem) var(--pad) 0;
  text-align:center;
  font-size:.95rem;line-height:1.6;color:var(--ink);opacity:.7;
}
.specs__cta{text-align:center;padding:2.2rem var(--pad) clamp(3rem,6vw,4.5rem);}

/* ============================================================
   7. TIPOLOGIAS — seletor de plantas
   ============================================================ */
.typo{background:var(--wine-dark);color:#fff;}
.typo__inner{
  max-width:1360px;margin:0 auto;
  display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;
  gap:clamp(2rem,4vw,4rem);
  padding:clamp(4rem,7vw,7rem) var(--pad);
}
.typo__kicker{color:var(--gold-light);margin-bottom:1.2rem;}
.typo__title{
  font-family:var(--serif);font-weight:500;
  font-size:var(--fs-section);line-height:1.08;margin-bottom:1.4rem;
}
.typo__title em{color:var(--gold-light);}
.typo__body{
  font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.7;
  color:rgba(255,255,255,.82);max-width:46ch;margin-bottom:2.4rem;
}
.typo__controls{display:flex;flex-direction:column;gap:1.3rem;margin-bottom:2.2rem;}
.typo__ctrl{display:flex;flex-direction:column;gap:.6rem;}
.typo__ctrl-label{
  font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.5);
}
.typo__tabs{display:flex;flex-wrap:wrap;gap:.5rem;}
.typo__floors{display:flex;gap:.5rem;}
/* Toggles: NUNCA preenchimento dourado sólido (reservado ao CTA) */
.typo__tab,.typo__floor{
  font-family:var(--sans);font-size:.85rem;letter-spacing:.02em;
  padding:.55rem 1.15rem;border-radius:2px;cursor:pointer;
  background:transparent;color:rgba(255,255,255,.68);
  border:1px solid rgba(255,255,255,.2);
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.typo__tab:hover,.typo__floor:hover{border-color:rgba(189,146,86,.7);color:#fff;}
.typo__tab.is-active,.typo__floor.is-active{
  background:rgba(189,146,86,.14);
  color:var(--gold-light);
  border-color:var(--gold);font-weight:500;
}
.typo__meta{display:flex;align-items:baseline;gap:1.2rem;flex-wrap:wrap;margin-bottom:2rem;}
.typo__area{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(2rem,3.4vw,2.9rem);line-height:1;color:#fff;
}
.typo__unit{font-size:.44em;color:var(--gold-light);}
.typo__specs{font-size:.85rem;color:rgba(255,255,255,.55);}

/* Zona de conversão, separada dos toggles por regra sutil */
.typo__cta-zone{
  display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;
  padding-top:1.8rem;border-top:1px solid rgba(255,255,255,.12);
}
.typo__cta{white-space:nowrap;}   /* único botão com fill dourado sólido */
.typo__dl{
  font-size:.85rem;color:rgba(255,255,255,.72);
  display:inline-flex;align-items:center;gap:.4rem;
  border-bottom:1px solid rgba(189,146,86,.5);padding-bottom:2px;
  transition:color .25s ease,border-color .25s ease;
}
.typo__dl:hover{color:#fff;border-color:var(--gold);}
.typo__dl-ico{color:var(--gold-light);}

.typo__stage{
  position:relative;
  background:#f6f1e9;border-radius:4px;
  padding:clamp(1.8rem,3.5vw,3.4rem);
  box-shadow:0 24px 60px rgba(0,0,0,.28),inset 0 0 0 1px rgba(115,50,50,.06);
}
.typo__frame{
  display:flex;align-items:center;justify-content:center;
  min-height:clamp(300px,42vh,460px);
}
.typo__stage img{
  width:100%;height:auto;max-height:56vh;object-fit:contain;
  transition:opacity .35s ease;
}
.typo__badge{
  position:absolute;top:1.2rem;left:1.2rem;z-index:2;
  font-family:var(--sans);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:#fff;background:var(--wine);padding:.5rem .9rem;border-radius:2px;
}
.typo__arrows{position:absolute;right:1.2rem;bottom:1.2rem;display:flex;gap:.5rem;}
.typo__arrow{
  width:42px;height:42px;border-radius:50%;cursor:pointer;
  background:#fff;border:1px solid rgba(115,50,50,.18);color:var(--wine);
  font-size:1.3rem;line-height:1;display:flex;align-items:center;justify-content:center;
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.typo__arrow:hover{background:var(--wine);color:#fff;border-color:var(--wine);}

/* ============================================================
   11. CTA FINAL
   ============================================================ */
.cta{
  position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;
  overflow:hidden;background:var(--wine-dark);text-align:center;
}
.cta__media{position:absolute;inset:0;z-index:0;}
.cta__media img{width:100%;height:112%;object-fit:cover;will-change:transform;}
.cta__scrim{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at center, rgba(35,16,16,.55) 0%, rgba(35,16,16,.82) 70%, rgba(35,16,16,.95) 100%);
}
.cta__content{
  position:relative;z-index:2;max-width:760px;padding:6rem var(--pad);color:#fff;
  display:flex;flex-direction:column;align-items:center;
}
.cta__portal{width:clamp(150px,22vw,210px);height:auto;margin-bottom:2.2rem;opacity:.95;}
.cta__title{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(2.4rem,5vw,4rem);line-height:1.08;margin-bottom:1.2rem;
  text-shadow:0 2px 30px rgba(0,0,0,.4);
}
.cta__title em{color:var(--gold-light);}
.cta__sub{
  font-family:var(--serif);font-style:italic;
  font-size:clamp(1.15rem,1.8vw,1.5rem);color:rgba(255,255,255,.9);margin-bottom:2.4rem;
}
.cta__btn{font-size:1rem;padding:1.1rem 2.6rem;}
.cta__anchor{
  margin-top:3rem;max-width:52ch;
  font-size:.95rem;line-height:1.7;color:rgba(255,255,255,.66);
}

/* ============================================================
   LIGHTBOX (plantas ampliadas)
   ============================================================ */
[data-zoom]{cursor:zoom-in;}
.duplex__zoomhint{color:var(--gold-light);margin-right:.5rem;}
.lightbox{
  position:fixed;inset:0;z-index:1000;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;
  padding:5vh 4vw;
  background:rgba(35,16,16,.55);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  opacity:0;transition:opacity .3s ease;
}
.lightbox.is-open{opacity:1;}
.lightbox[hidden]{display:none;}
.lightbox__img{
  max-width:94vw;max-height:84vh;object-fit:contain;
  border-radius:4px;background:#f6f1e9;
  box-shadow:0 40px 100px rgba(0,0,0,.6);
  transform:scale(.95);transition:transform .3s ease;
}
.lightbox.is-open .lightbox__img{transform:scale(1);}
.lightbox__cap{
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.75);
}
.lightbox__close{
  position:absolute;top:2.4vh;right:2.4vw;width:48px;height:48px;border-radius:50%;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);color:#fff;
  font-size:1.7rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .25s ease,transform .25s ease;
}
.lightbox__close:hover{background:rgba(255,255,255,.22);transform:rotate(90deg);}

/* ============================================================
   RODAPÉ
   ============================================================ */
.footer{background:#2a1414;color:#fff;padding:clamp(3.5rem,6vw,5rem) 0 2.5rem;}
.footer__inner{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);
  display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:2.5rem;
}
.footer__logo-bristol{height:64px;width:auto;margin-bottom:1.2rem;}
.footer__addr{font-size:.9rem;line-height:1.6;color:rgba(255,255,255,.66);}
.footer__realiza{display:flex;flex-direction:column;gap:1.1rem;align-items:flex-start;}
.footer__realiza-label{
  font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-light);
}
.footer__logo-capital{height:clamp(48px,6vw,68px);width:auto;}
.footer__legal{
  max-width:var(--maxw);margin:clamp(2.5rem,4vw,3.5rem) auto 0;padding:1.6rem var(--pad) 0;
  border-top:1px solid rgba(255,255,255,.12);
  font-size:.78rem;line-height:1.6;color:rgba(255,255,255,.45);
}

/* ============================================================
   10. SEGURANÇA EM 2 ETAPAS
   ============================================================ */
.seg{
  position:relative;min-height:100vh;display:flex;align-items:center;
  overflow:hidden;background:var(--wine-dark);
}
.seg__media{position:absolute;inset:0;z-index:0;}
.seg__media img{width:100%;height:112%;object-fit:cover;will-change:transform;}
.seg__scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(to top, rgba(35,16,16,.94) 0%, rgba(35,16,16,.55) 50%, rgba(35,16,16,.4) 100%);
}
.seg__content{
  position:relative;z-index:2;
  max-width:var(--maxw);width:100%;margin:0 auto;padding:6rem var(--pad);color:#fff;
}
.seg__kicker{color:var(--gold-light);margin-bottom:1.4rem;}
.seg__title{
  font-family:var(--serif);font-weight:500;
  font-size:var(--fs-section);line-height:1.1;margin-bottom:3rem;max-width:20ch;
  text-shadow:0 2px 26px rgba(0,0,0,.35);
}
.seg__title em{color:var(--gold-light);}
.seg__steps{
  display:flex;align-items:stretch;gap:0;margin-bottom:2.6rem;
  max-width:900px;
}
.segstep{flex:1;}
.segstep__n{
  font-family:var(--serif);font-size:2.4rem;color:var(--gold-light);
  display:block;margin-bottom:.8rem;line-height:1;
}
.segstep__t{
  font-family:var(--serif);font-weight:500;font-size:1.4rem;color:#fff;margin-bottom:.5rem;
}
.segstep__d{font-size:1rem;line-height:1.6;color:rgba(255,255,255,.84);max-width:32ch;}
.seg__link{
  align-self:center;flex:0 0 auto;width:clamp(2rem,6vw,5rem);height:1px;
  background:var(--gold);margin:0 clamp(1rem,3vw,2.5rem);
  transform:scaleX(0);transform-origin:left center;
}
.seg__close{
  font-family:var(--serif);font-style:italic;
  font-size:clamp(1.15rem,1.8vw,1.5rem);color:var(--gold-light);
  border-top:1px solid rgba(189,146,86,.28);padding-top:1.8rem;max-width:40ch;
}
.seg__brand{display:flex;align-items:center;gap:1rem;margin-top:2.6rem;}
.seg__brand-label{
  font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.6);
}
.seg__brand-capital{height:clamp(30px,3.4vw,40px);width:auto;}

/* ============================================================
   9. LAZER — galeria sticky (media fixa + steps)
   ============================================================ */
.lazer{background:var(--paper);padding:clamp(3rem,6vw,6rem) 0 0;}
.lazer__body{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);
  display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,5rem);align-items:start;
}
.lazer__left{display:flex;flex-direction:column;}
.lazer__cta{display:inline-flex;align-self:flex-start;margin:2.2rem 0 4vh;}
.lazer__head{padding:6vh 0 2vh;}
.lazer__kicker{color:var(--gold);margin-bottom:1.2rem;}
.lazer__title{
  font-family:var(--serif);font-weight:500;
  font-size:var(--fs-section);line-height:1.1;color:var(--wine);margin-bottom:1rem;max-width:16ch;
}
.lazer__title em{color:var(--gold);}
.lazer__sub{font-size:clamp(1.05rem,1.3vw,1.2rem);line-height:1.6;color:var(--ink);opacity:.8;max-width:42ch;}

.lstep{
  min-height:66vh;display:flex;flex-direction:column;justify-content:center;
  opacity:.32;transition:opacity .4s ease;
}
.lstep:first-child{min-height:44vh;justify-content:flex-start;padding-top:clamp(3rem,9vh,7rem);}
.lstep:last-child{min-height:56vh;}
.lstep.is-active{opacity:1;}
.lstep__cat{
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1rem;
}
.lstep__name{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(2rem,3.4vw,3rem);line-height:1.05;color:var(--wine);margin-bottom:.8rem;
}
.lstep__desc{font-size:1.05rem;line-height:1.6;color:var(--ink);opacity:.8;max-width:34ch;}

.lazer__media{position:sticky;top:0;height:100vh;display:flex;align-items:center;}
.lazer__frame{
  position:relative;width:100%;height:82vh;border-radius:4px;overflow:hidden;
  box-shadow:0 30px 70px rgba(115,50,50,.18);
}
.lazer__frame img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .6s ease;
}
.lazer__frame img.is-active{opacity:1;}

/* ============================================================
   8. COBERTURAS DUPLEX
   ============================================================ */
.duplex{
  position:relative;min-height:100vh;
  display:flex;align-items:center;
  overflow:hidden;background:var(--wine-dark);
}
.duplex__media{position:absolute;inset:0;z-index:0;}
.duplex__media img{
  width:100%;height:112%;object-fit:cover;
  will-change:transform;
}
.duplex__scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(to right, rgba(45,20,20,.92) 0%, rgba(45,20,20,.6) 48%, rgba(45,20,20,.2) 100%),
    linear-gradient(to top, rgba(45,20,20,.8) 0%, rgba(45,20,20,0) 46%);
}
.duplex__content{
  position:relative;z-index:2;
  max-width:var(--maxw);width:100%;margin:0 auto;padding:6rem var(--pad);
  color:#fff;
  display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:clamp(1.5rem,3vw,3.5rem);
}
.duplex__plan{margin:0;position:relative;}
.duplex__plan img{
  width:100%;height:auto;
  filter:drop-shadow(0 30px 60px rgba(0,0,0,.55));
}
.duplex__plan figcaption{
  margin-top:1rem;text-align:right;
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.7);
}
.duplex__logo{height:38px;width:auto;margin-bottom:1.6rem;}
.duplex__kicker{color:var(--gold-light);margin-bottom:1.4rem;}
.duplex__title{
  font-family:var(--serif);font-weight:500;
  font-size:var(--fs-section);line-height:1.1;margin-bottom:1.4rem;
  text-shadow:0 2px 26px rgba(0,0,0,.3);
}
.duplex__title em{color:var(--gold-light);}
.duplex__body{
  font-size:clamp(1.05rem,1.3vw,1.22rem);line-height:1.7;
  color:rgba(255,255,255,.9);max-width:46ch;margin-bottom:2.6rem;
}
.duplex__floors{display:flex;flex-direction:column;gap:1.4rem;margin-bottom:2.6rem;max-width:52ch;}
.dfloor{display:flex;gap:1.2rem;align-items:baseline;}
.dfloor__n{
  font-family:var(--serif);font-size:1.7rem;color:var(--gold-light);
  min-width:2.6ch;line-height:1;
}
.dfloor__txt strong{
  display:block;font-family:var(--serif);font-weight:500;font-size:1.2rem;
  color:#fff;margin-bottom:.2rem;
}
.dfloor__txt p{font-size:.98rem;line-height:1.55;color:rgba(255,255,255,.82);}
.duplex__areas{
  list-style:none;display:flex;flex-wrap:wrap;gap:1rem 2.4rem;
  border-top:1px solid rgba(189,146,86,.28);padding-top:1.8rem;
}
.duplex__cta{margin-top:2.4rem;}
.duplex__areas li{
  font-family:var(--serif);font-size:1.25rem;color:#fff;
  display:flex;flex-direction:column;gap:.15rem;
}
.duplex__uh{
  font-family:var(--sans);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-light);
}

/* ============================================================
   7B. LIBERDADE — paredes móveis
   ============================================================ */
.lib{background:var(--paper);}
.lib__inner{
  max-width:1300px;margin:0 auto;
  display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;
  gap:clamp(2rem,5vw,4.5rem);
  padding:clamp(4rem,7vw,7rem) var(--pad);
}
.lib__kicker{color:var(--gold);margin-bottom:1.2rem;}
.lib__title{
  font-family:var(--serif);font-weight:500;
  font-size:var(--fs-section);line-height:1.08;color:var(--wine);margin-bottom:1.4rem;
}
.lib__title em{color:var(--gold);}
.lib__body{
  font-size:clamp(1rem,1.2vw,1.14rem);line-height:1.7;color:var(--ink);
  max-width:46ch;margin-bottom:2rem;
}
.lib__toggle{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.4rem;}
.lib__btn{
  font-family:var(--sans);font-size:.85rem;
  padding:.65rem 1.3rem;border-radius:2px;cursor:pointer;
  background:transparent;color:var(--wine);
  border:1px solid rgba(115,50,50,.35);
  transition:background .3s ease,color .3s ease,border-color .3s ease;
}
.lib__btn:hover{border-color:var(--gold);}
.lib__btn.is-active{background:var(--gold);color:var(--wine-dark);border-color:var(--gold);font-weight:500;}
.lib__note{font-size:.8rem;line-height:1.5;color:var(--ink);opacity:.6;max-width:42ch;}

.lib__stage{
  background:#fff;border-radius:4px;padding:clamp(1.2rem,3vw,2.4rem);
  box-shadow:0 24px 60px rgba(115,50,50,.12);
}
.lib__plan{width:100%;height:auto;display:block;}
.lib-lay{transition:opacity .5s ease;}
.lib-wall{stroke:var(--gold);stroke-width:6;stroke-linecap:round;}
.lib-lbl{font-family:var(--serif);font-size:14px;fill:#5f5e5a;}
.lib-lbl-fix{font-family:var(--serif);font-size:13px;fill:#5f5e5a;}
.lib-lbl-var{font-family:var(--serif);font-size:12px;fill:#8a6a3a;}
.lib-lbl-living{font-family:var(--serif);font-size:16px;fill:var(--wine);}

/* ---------- Responsive ---------- */
@media (max-width:860px){
  .nav__links{display:none;}
  .nav__burger{display:flex;}
  .nav__logo-capital,.nav__logo-divider{display:none;}
  .hero{align-items:flex-end;padding-bottom:8.5rem;}
  .hero__sub{max-width:100%;}
  .hero__brands{left:var(--pad);right:auto;bottom:2rem;gap:.7rem;}
  .hero__brand-capital{height:52px;}
  .hero__brand-label{display:none;}
  .hero__logo{height:64px;margin-bottom:1.2rem;}
  .concept__title{max-width:100%;}
  .concept__title-l2{white-space:normal;}
  .concept__body{max-width:100%;}
  .concept__watermark{right:-10%;top:70%;opacity:.1;width:58vw;}
  .concept__pillars{gap:1rem 1.6rem;}
  .concept__caption{left:var(--pad);right:auto;}
  .bairro__grid{grid-template-columns:1fr;}
  .bairro__watermark{right:-26%;top:22%;width:88vw;opacity:.08;}
  .passeio__watermark{left:-30%;top:6%;width:90vw;opacity:.07;}
  .parque{justify-content:center;min-height:80vh;}
  .parque__content{align-items:center;text-align:center;}
  .passeio__row{grid-template-columns:1fr;gap:1.8rem;}
  .passeio__row--rev .passeio__media{order:0;}
  .ala-panel--img{width:82vw;}
  .specs__stats{flex-direction:column;gap:2.2rem;}
  .stat + .stat::before{display:none;}
  .typo__inner{grid-template-columns:1fr;}
  .typo__stage{order:2;}
  .lib__inner{grid-template-columns:1fr;}
  .lazer__body{grid-template-columns:1fr;gap:1.5rem;}
  .lazer__media{position:static;height:42vh;order:-1;}
  .lazer__frame{height:100%;min-height:0;border-radius:0;}
  .lazer__head{padding:1rem 0 .5rem;}
  .lstep,.lstep:first-child,.lstep:last-child{
    min-height:auto;opacity:1;padding:1.3rem 0;justify-content:flex-start;
    border-top:1px solid rgba(115,50,50,.12);
  }
  .lazer__steps .lstep:first-of-type{border-top:none;}
  .duplex__content{grid-template-columns:1fr;gap:2.5rem;}
  .duplex__plan figcaption{text-align:left;}
  .duplex__areas{gap:1rem 1.6rem;}
  .seg__steps{flex-direction:column;gap:2rem;}
  .seg__link{width:1px;height:clamp(2rem,6vw,3rem);transform-origin:top center;margin:0 0 0 1.1rem;}
}

@media (prefers-reduced-motion:reduce){
  .local{height:auto;}
  .local__pin{height:auto;min-height:100vh;padding:8rem 0;}
  .local__img[data-i="2"]{opacity:1;}
  .local__img[data-i="0"],.local__img[data-i="1"]{opacity:0;}
  .local__content{position:relative;transform:translateX(-50%);top:0;}
  .local__points li,.local__address{opacity:1;}
}

@media (prefers-reduced-motion:reduce){
  .alameda__track{flex-direction:column;height:auto;width:100%;}
  .ala-panel{height:auto;width:100%!important;}
  .ala-panel--intro{padding:5rem var(--pad);}
  .ala-panel--img{aspect-ratio:16/10;}
  .ala-hint{display:none;}
}

@media (prefers-reduced-motion:reduce){
  .quad{clip-path:none;}
}

@media (prefers-reduced-motion:reduce){
  .concept{height:auto;}
  .concept__pin{height:auto;min-height:100vh;padding:8rem 0;}
  .concept__img--new{opacity:1;}
  .concept__img--old{display:none;}
  .concept__caption[data-old]{display:none;}
  .concept__caption[data-new]{opacity:1;}
  .concept__content{position:relative;transform:translateX(-50%);top:0;}
  .concept__kicker,.concept__title-l1,.concept__body{opacity:1;transform:none;}
  .concept__title-l2{clip-path:none;transform:none;}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .hero__logo,.hero__kicker,.hero__title,.hero__sub,.hero__brands{opacity:1!important;transform:none!important;}
  .nav__logo{opacity:1;visibility:visible;transform:none;}
  .hero__scroll-line::after{animation:none;}
  .btn--shine::before{animation:none;opacity:.35;}
}
