:root {
  --brown: #411a0b;
  --brown-soft: #6d3a26;
  --turquoise: #00acb6;
  --turquoise-dark: #007b82;
  --sand: #b7a587;
  --sand-light: #eee9df;
  --paper: #f8f6f0;
  --white: #fff;
  --ink: #26150f;
  --line: rgba(65, 26, 11, .22);
  --pad: clamp(24px, 5vw, 76px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Poppins", sans-serif; line-height: 1.7; }
body.modal-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
img, video { display: block; max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--brown); line-height: 1.08; letter-spacing: -.035em; }
h1 { max-width: 900px; margin-bottom: 28px; font-size: clamp(3rem, 6.2vw, 7.2rem); font-weight: 700; }
h2 { margin-bottom: 28px; font-size: clamp(2.25rem, 4.4vw, 5rem); font-weight: 650; }
h3 { font-size: clamp(1.25rem, 2vw, 2rem); }

.site-header {
  position: sticky; z-index: 50; top: 0; display: flex; align-items: center; justify-content: space-between;
  height: 92px; padding: 10px var(--pad); background: rgba(248, 246, 240, .96); border-bottom: 1px solid var(--brown);
}
.brand img { width: 190px; height: 68px; object-fit: contain; object-position: left center; }
.main-nav { display: flex; align-items: stretch; gap: 2px; height: 100%; }
.main-nav a { display: grid; place-items: center; padding: 0 20px; border-bottom: 3px solid transparent; font-size: .76rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.main-nav a:hover, .main-nav a.is-active { color: var(--turquoise-dark); border-bottom-color: var(--turquoise); }
.main-nav .nav-cta { margin-left: 12px; color: var(--white); background: var(--brown); border: 0; }
.main-nav .nav-cta:hover { color: var(--white); background: var(--turquoise-dark); }
.menu-toggle { display: none; width: 52px; height: 52px; padding: 14px; background: transparent; border: 1px solid var(--brown); }
.menu-toggle span { display: block; height: 2px; margin: 6px 0; background: var(--brown); }

.eyebrow { margin-bottom: 18px; color: var(--turquoise-dark); font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow span { margin-left: 16px; padding-left: 16px; color: var(--brown-soft); border-left: 1px solid currentColor; }
.button-row { display: flex; flex-wrap: wrap; gap: 10px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 58px; padding: 14px 22px; cursor: pointer; border: 1px solid var(--brown); border-radius: 0; font-size: .82rem; font-weight: 650; letter-spacing: .02em; }
.button span { font-size: 1.1rem; }
.button-primary { color: var(--white); background: var(--brown); }
.button-primary:hover { background: var(--turquoise-dark); border-color: var(--turquoise-dark); }
.button-ghost { color: var(--brown); background: transparent; }
.button-ghost:hover { color: var(--white); background: var(--brown); }
.button-light { color: var(--brown); background: var(--white); border-color: var(--white); }
.button-light:hover { color: var(--white); background: transparent; }
.text-link { display: inline-flex; gap: 24px; margin-top: 12px; padding-bottom: 6px; color: var(--brown); border-bottom: 2px solid var(--turquoise); font-size: .82rem; font-weight: 700; text-transform: uppercase; }

.hero { display: grid; min-height: calc(100vh - 92px); border-bottom: 1px solid var(--brown); }
.home-hero { grid-template-columns: minmax(0, .96fr) minmax(420px, .84fr); }
.hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(64px, 8vw, 130px) var(--pad); background: var(--paper); }
.hero-lead { max-width: 700px; margin-bottom: 40px; font-size: clamp(1rem, 1.35vw, 1.25rem); }
.hero-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin: clamp(48px, 7vw, 90px) 0 0; border-top: 1px solid var(--line); }
.hero-facts div { display: grid; grid-template-columns: auto 1fr; gap: 12px; padding: 18px 18px 0 0; border-right: 1px solid var(--line); }
.hero-facts div + div { padding-left: 18px; }
.hero-facts div:last-child { border-right: 0; }
.hero-facts dt { color: var(--turquoise-dark); font-size: .68rem; font-weight: 700; }
.hero-facts dd { margin: 0; color: var(--brown); font-size: .74rem; font-weight: 600; text-transform: uppercase; }
.hero-visual { position: relative; min-height: 670px; overflow: hidden; background: var(--brown); }
.hero-visual::after { content: ""; position: absolute; inset: 0; border: 18px solid rgba(0, 172, 182, .16); pointer-events: none; }
.hero-visual > img { width: 100%; height: 100%; object-fit: cover; }
.plot-stamp { position: absolute; top: 0; right: 0; display: grid; width: 122px; height: 122px; place-content: center; color: var(--white); background: var(--turquoise); text-align: center; }
.plot-stamp strong { font-size: 3rem; line-height: .9; }
.plot-stamp span { font-size: .62rem; font-weight: 700; letter-spacing: .15em; }
.hero-caption { position: absolute; right: 0; bottom: 0; left: 20%; padding: 24px 30px; color: var(--white); background: var(--brown); }
.hero-caption span { display: block; margin-bottom: 5px; color: var(--sand); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; }
.hero-caption b { font-size: 1rem; font-weight: 500; }

.section-grid { display: grid; grid-template-columns: .14fr .85fr 1fr; column-gap: clamp(28px, 6vw, 100px); padding: clamp(90px, 11vw, 170px) var(--pad); border-bottom: 1px solid var(--brown); }
.section-number { color: var(--turquoise); font-size: clamp(3rem, 7vw, 7rem); font-weight: 300; line-height: .9; }
.section-heading h2 { max-width: 720px; }
.location-copy, .partner-copy { max-width: 690px; font-size: 1.03rem; }
.location-copy p, .partner-copy p { margin-bottom: 20px; }
.map-composition { position: relative; grid-column: 2 / -1; height: 360px; margin-top: 80px; overflow: hidden; background-color: var(--sand-light); background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 60px 60px; border: 1px solid var(--brown); }
.map-composition::before, .map-composition::after { content: ""; position: absolute; background: var(--brown); transform-origin: left center; }
.map-composition::before { top: 54%; left: -4%; width: 115%; height: 15px; transform: rotate(-7deg); }
.map-composition::after { top: -25%; left: 43%; width: 12px; height: 150%; transform: rotate(17deg); background: var(--turquoise); }
.map-label { position: absolute; z-index: 2; padding: 7px 12px; color: var(--brown); background: var(--white); border: 1px solid var(--brown); font-size: .68rem; font-weight: 650; letter-spacing: .05em; text-transform: uppercase; }
.map-label-a { top: 20%; left: 12%; }.map-label-b { right: 11%; bottom: 16%; }.map-label-c { bottom: 12%; left: 19%; }
.map-pin { position: absolute; z-index: 3; top: 42%; left: 58%; display: flex; align-items: center; gap: 10px; padding: 10px 15px; color: var(--white); background: var(--brown); font-size: .74rem; text-transform: uppercase; }
.map-pin span { width: 14px; height: 14px; background: var(--turquoise); border: 3px solid var(--white); }

.dark-section { padding: clamp(90px, 10vw, 150px) var(--pad); color: var(--white); background: var(--brown); }
.dark-section h2 { color: var(--white); }
.dark-section .eyebrow { color: var(--turquoise); }
.horizontal-intro { display: grid; grid-template-columns: 1.2fr .8fr; gap: 60px; align-items: end; margin-bottom: 60px; }
.horizontal-intro > p { max-width: 560px; margin-bottom: 28px; color: var(--sand-light); }
.media-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.25); border-left: 1px solid rgba(255,255,255,.25); }
.media-card { position: relative; min-height: 330px; padding: 0; overflow: hidden; color: var(--white); background: #2d1309; border: 0; border-right: 1px solid rgba(255,255,255,.25); border-bottom: 1px solid rgba(255,255,255,.25); cursor: pointer; text-align: left; }
.media-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(28, 10, 4, .88), transparent 70%); }
.media-card:nth-child(3n+2) { background: var(--turquoise-dark); }.media-card:nth-child(3n+3) { background: var(--sand); }
.media-card .media-pattern { position: absolute; inset: 0; opacity: .25; background-image: linear-gradient(30deg, transparent 48%, rgba(255,255,255,.5) 49%, rgba(255,255,255,.5) 51%, transparent 52%); background-size: 54px 54px; }
.media-card .play-icon { position: absolute; top: 24px; right: 24px; display: grid; width: 54px; height: 54px; place-items: center; color: var(--brown); background: var(--white); font-size: 1rem; }
.media-card .media-info { position: absolute; right: 24px; bottom: 22px; left: 24px; }
.media-card small { display: block; margin-bottom: 8px; color: var(--sand-light); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.media-card strong { display: block; font-size: clamp(1.15rem, 1.8vw, 1.65rem); line-height: 1.2; }

.partner-stack { grid-column: 2 / -1; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 80px; border-top: 1px solid var(--brown); border-left: 1px solid var(--brown); }
.partner-stack article { min-height: 230px; padding: 28px; background: var(--white); border-right: 1px solid var(--brown); border-bottom: 1px solid var(--brown); }
.partner-stack article:nth-child(2) { background: var(--turquoise); }.partner-stack article:nth-child(2) h3, .partner-stack article:nth-child(2) p { color: var(--brown); }
.partner-stack span { display: block; margin-bottom: 50px; color: var(--turquoise-dark); font-size: .7rem; font-weight: 700; }
.partner-stack article:nth-child(2) span { color: var(--white); }
.partner-stack h3 { margin-bottom: 8px; }.partner-stack p { color: var(--brown-soft); font-size: .85rem; }

.city-band { position: relative; display: grid; grid-template-columns: 1fr 1fr; min-height: 620px; overflow: hidden; color: var(--white); background: var(--turquoise-dark); border-bottom: 1px solid var(--brown); }
.city-word { display: flex; align-items: center; padding-left: var(--pad); color: rgba(255,255,255,.09); font-size: clamp(12rem, 30vw, 38rem); font-weight: 800; letter-spacing: -.13em; line-height: .7; }
.city-copy { position: relative; z-index: 2; align-self: center; max-width: 710px; padding: 80px var(--pad) 80px 30px; }
.city-copy .eyebrow { color: var(--sand-light); }.city-copy h2 { color: var(--white); }.city-copy p { font-size: 1.03rem; }

.stories-preview { grid-template-rows: auto auto; }
.featured-story { position: relative; grid-column: 2 / 3; margin-top: 40px; background: var(--brown); }
.featured-story video { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.featured-story > div { padding: 24px; color: var(--white); }
.featured-story span { color: var(--turquoise); font-size: .7rem; font-weight: 700; text-transform: uppercase; }.featured-story h3 { margin: 8px 0 0; color: var(--white); font-size: 1.25rem; }
.stories-copy { grid-column: 3; align-self: end; max-width: 540px; padding: 40px 0 0; }

.final-cta { display: grid; grid-template-columns: 1.25fr .8fr auto; gap: 60px; align-items: end; padding: clamp(70px, 9vw, 130px) var(--pad); color: var(--white); background: var(--turquoise-dark); }
.final-cta .eyebrow { color: var(--sand-light); }.final-cta h2 { margin: 0; color: var(--white); }.final-cta > p { margin: 0; }
.site-footer { display: grid; grid-template-columns: 1fr 1fr auto; gap: 28px 60px; align-items: center; padding: 55px var(--pad) 28px; background: var(--paper); }
.site-footer img { width: 170px; height: 75px; object-fit: contain; object-position: left; }
.site-footer p { max-width: 420px; margin: 0; color: var(--brown-soft); font-size: .82rem; }
.site-footer nav { display: flex; gap: 20px; font-size: .72rem; font-weight: 650; text-transform: uppercase; }.site-footer nav a:hover { color: var(--turquoise-dark); }
.site-footer small { grid-column: 1 / -1; padding-top: 22px; border-top: 1px solid var(--line); color: var(--brown-soft); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }

.video-modal { position: fixed; z-index: 100; inset: 0; display: none; place-items: center; padding: 5vw; background: rgba(30, 12, 5, .94); }
.video-modal.is-open { display: grid; }.modal-frame { width: min(1100px, 100%); }.modal-frame p { margin: 0 0 12px; color: var(--white); font-size: .8rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.modal-frame iframe { width: 100%; aspect-ratio: 16 / 9; background: #000; border: 1px solid rgba(255,255,255,.35); }
.modal-close { position: absolute; top: 24px; right: 28px; width: 56px; height: 56px; color: var(--white); background: transparent; border: 1px solid var(--white); border-radius: 0; cursor: pointer; font-size: 2rem; }

/* Revisão editorial — imagens reais e fluxo comercial */
.brand img { width: 210px; height: 62px; }
.home-hero { grid-template-columns: minmax(0, 1.05fr) minmax(440px, .95fr); min-height: 760px; }
.home-hero .hero-copy { padding-top: clamp(54px, 6vw, 84px); padding-bottom: clamp(54px, 6vw, 84px); }
.home-hero h1 { max-width: 720px; margin-bottom: 22px; font-size: clamp(3rem, 5.4vw, 5.55rem); line-height: 1.02; }
.home-hero .hero-lead { max-width: 650px; margin-bottom: 30px; font-size: clamp(.98rem, 1.2vw, 1.13rem); }
.hero-address { max-width: 620px; margin: 30px 0 0; padding-top: 18px; color: var(--brown-soft); border-top: 1px solid var(--line); font-size: .75rem; font-weight: 600; letter-spacing: .03em; }
.hero-entrance { position: relative; min-height: 760px; background: var(--sand); }
.hero-entrance::after { display: none; }
.hero-entrance .entrance-main { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 44%; }
.entrance-detail { position: absolute; right: 24px; bottom: 24px; width: min(45%, 280px); margin: 0; padding: 8px; background: var(--paper); border: 1px solid var(--brown); }
.entrance-detail img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.entrance-detail figcaption { padding: 10px 4px 3px; color: var(--brown); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.hero-play { position: absolute; top: 24px; left: 24px; display: flex; align-items: center; gap: 12px; padding: 0; color: var(--white); background: var(--brown); border: 0; cursor: pointer; }
.hero-play span { display: grid; width: 54px; height: 54px; place-items: center; color: var(--brown); background: var(--turquoise); }
.hero-play b { padding-right: 18px; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }

.trust-strip { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--brown); }
.trust-strip article { display: grid; grid-template-columns: 42px 1fr; gap: 18px; min-height: 128px; align-items: center; padding: 24px var(--pad); background: var(--white); border-right: 1px solid var(--brown); }
.trust-strip article:last-child { border-right: 0; }
.trust-strip article > span { color: var(--turquoise-dark); font-size: .68rem; font-weight: 700; }
.trust-strip b { display: block; margin-bottom: 3px; color: var(--brown); font-size: .9rem; text-transform: uppercase; }
.trust-strip p { margin: 0; color: var(--brown-soft); font-size: .78rem; }

/* Componentes inspirados na composição editorial do banner */
.banner-benefits {
  position: relative; display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(52px, 8vw, 120px);
  padding: clamp(90px, 10vw, 150px) var(--pad); overflow: hidden; background: var(--white); border-bottom: 1px solid var(--brown);
}
.banner-benefits::before, .banner-benefits::after {
  content: ""; position: absolute; width: 170px; height: 170px; border: 2px solid rgba(183, 165, 135, .34); transform: rotate(45deg); pointer-events: none;
}
.banner-benefits::before { top: -105px; left: -68px; }
.banner-benefits::after { right: -88px; bottom: 120px; }
.benefits-intro { position: relative; z-index: 1; align-self: start; max-width: 590px; }
.benefits-intro h2 { font-size: clamp(2.4rem, 4vw, 4.7rem); }
.benefits-intro > p:last-child { max-width: 530px; color: var(--brown-soft); }
.benefits-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--brown); border-left: 1px solid var(--brown); }
.benefits-grid article {
  position: relative; display: grid; grid-template-columns: 38px 1fr; gap: 14px; min-height: 190px; padding: 26px;
  overflow: hidden; background: var(--paper); border-right: 1px solid var(--brown); border-bottom: 1px solid var(--brown);
}
.benefits-grid article::after { content: ""; position: absolute; top: 0; right: 0; width: 42px; height: 42px; background: var(--turquoise); clip-path: polygon(100% 0, 100% 100%, 0 0); }
.benefits-grid article:nth-child(3) { color: var(--white); background: var(--brown); }
.benefits-grid article:nth-child(3) b, .benefits-grid article:nth-child(3) p { color: var(--white); }
.benefits-grid article:nth-child(5) { grid-column: 1 / -1; min-height: 150px; background: var(--sand-light); }
.benefits-grid article > span { color: var(--turquoise-dark); font-size: .68rem; font-weight: 700; letter-spacing: .1em; }
.benefits-grid article:nth-child(3) > span { color: var(--turquoise); }
.benefits-grid b { display: block; margin-bottom: 8px; color: var(--brown); font-size: 1rem; text-transform: uppercase; }
.benefits-grid p { margin: 0; color: var(--brown-soft); font-size: .78rem; line-height: 1.55; }
.benefits-visual { position: relative; z-index: 1; grid-column: 1 / -1; height: clamp(420px, 46vw, 690px); margin: 0; overflow: hidden; background: var(--brown); clip-path: polygon(0 0, 92% 0, 100% 13%, 100% 100%, 0 100%); }
.benefits-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(38, 21, 15, .76), transparent 62%); }
.benefits-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center 54%; }
.benefits-visual figcaption { position: absolute; z-index: 2; bottom: 0; left: 0; max-width: 620px; padding: clamp(28px, 5vw, 70px); color: var(--white); }
.benefits-visual figcaption span { display: block; margin-bottom: 12px; color: var(--turquoise); font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.benefits-visual figcaption strong { display: block; font-size: clamp(1.8rem, 3.3vw, 3.8rem); line-height: 1.05; }

.contact-composition { display: grid; grid-template-columns: .92fr 1.08fr; min-height: 650px; color: var(--white); background: var(--brown); border-top: 1px solid var(--brown); }
.contact-copy { position: relative; display: flex; flex-direction: column; justify-content: center; padding: clamp(56px, 5vw, 78px) var(--pad); overflow: hidden; }
.contact-copy::before, .contact-copy::after { content: ""; position: absolute; width: 160px; height: 160px; border: 2px solid rgba(238, 233, 223, .14); transform: rotate(45deg); }
.contact-copy::before { top: -96px; left: -80px; }.contact-copy::after { right: -100px; bottom: 40px; }
.contact-copy > * { position: relative; z-index: 1; }
.contact-copy .eyebrow { color: var(--turquoise); }
.contact-copy h2 { max-width: 730px; color: var(--white); font-size: clamp(2.5rem, 3.8vw, 4.4rem); }
.contact-copy > p:not(.eyebrow) { max-width: 650px; color: var(--sand-light); }
.contact-channels { margin-top: 28px; border-top: 1px solid rgba(255,255,255,.28); }
.contact-channels a { display: grid; grid-template-columns: 100px minmax(0, 1fr) auto; gap: 18px; align-items: center; min-height: 70px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.28); }
.contact-channels a:hover { color: var(--turquoise); }
.contact-channels small { color: var(--sand); font-size: .65rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.contact-channels strong { overflow-wrap: anywhere; font-size: clamp(.9rem, 1.2vw, 1.1rem); }
.contact-channels span { color: var(--turquoise); font-size: 1.15rem; }
.contact-image { position: relative; min-height: 650px; margin: 0; overflow: hidden; background: var(--sand); }
.contact-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(38, 21, 15, .78), transparent 62%); }
.contact-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.contact-image figcaption { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding: clamp(28px, 5vw, 70px); }
.contact-image figcaption span { display: block; margin-bottom: 10px; color: var(--turquoise); font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.contact-image figcaption strong { display: block; max-width: 620px; font-size: clamp(1.7rem, 3vw, 3.3rem); line-height: 1.08; }

.section-kicker { display: flex; align-items: center; gap: 18px; }
.section-kicker > span { display: grid; width: 46px; height: 46px; place-items: center; color: var(--white); background: var(--turquoise-dark); font-size: .7rem; font-weight: 700; }
.section-kicker .eyebrow { margin: 0; }
.location-editorial { display: grid; grid-template-columns: repeat(12, 1fr); gap: 28px; padding: clamp(90px, 10vw, 150px) var(--pad); border-bottom: 1px solid var(--brown); }
.location-editorial > .section-kicker { grid-column: 1 / 13; }
.location-title { grid-column: 1 / 7; margin-top: 20px; }
.location-title h2 { max-width: 740px; }
.location-text { grid-column: 8 / 13; max-width: 650px; margin-top: 34px; font-size: 1rem; }
.location-photo { position: relative; grid-column: 1 / 10; height: clamp(460px, 58vw, 690px); margin: 48px 0 0; overflow: hidden; background: var(--sand-light); }
.location-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
.location-photo figcaption { position: absolute; right: 0; bottom: 0; left: 22%; padding: 24px 28px; color: var(--white); background: var(--brown); }
.location-photo figcaption span { display: block; color: var(--turquoise); font-size: .65rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.location-photo figcaption strong { font-size: .93rem; font-weight: 500; }
.access-list { grid-column: 10 / 13; align-self: end; margin: 48px 0 0 -28px; border-top: 1px solid var(--brown); border-left: 1px solid var(--brown); }
.access-list div { min-height: 145px; padding: 28px; background: var(--white); border-right: 1px solid var(--brown); border-bottom: 1px solid var(--brown); }
.access-list span { display: block; margin-bottom: 36px; color: var(--turquoise-dark); font-size: .64rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.access-list b { display: block; color: var(--brown); font-size: 1rem; line-height: 1.35; }

.build-section { display: grid; grid-template-columns: clamp(400px, 42vw, 600px) minmax(0, 1fr); min-height: 690px; border-bottom: 1px solid var(--brown); }
.build-photo { position: relative; align-self: stretch; width: 100%; height: 100%; min-height: 0; max-height: none; overflow: hidden; background: var(--brown); }
.build-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.vertical-label { position: absolute; top: 0; right: 0; bottom: 0; display: grid; width: 58px; place-items: center; color: var(--white); background: var(--turquoise-dark); font-size: .64rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; writing-mode: vertical-rl; transform: rotate(180deg); }
.build-content { display: flex; flex-direction: column; justify-content: center; padding: clamp(56px, 6vw, 88px) var(--pad); }
.build-content h2 { max-width: 850px; }
.build-content > p:not(.eyebrow) { max-width: 700px; }
.build-steps { display: grid; grid-template-columns: repeat(3, 1fr); margin: 32px 0 30px; padding: 0; list-style: none; border-top: 1px solid var(--brown); border-left: 1px solid var(--brown); }
.build-steps li { min-height: 132px; padding: 20px; border-right: 1px solid var(--brown); border-bottom: 1px solid var(--brown); }
.build-steps li > span { display: block; margin-bottom: 24px; color: var(--turquoise-dark); font-size: .64rem; font-weight: 700; }
.build-steps b { display: block; color: var(--brown); font-size: 1rem; }
.build-steps small { color: var(--brown-soft); font-size: .72rem; }
.build-content > .button { align-self: flex-start; }

.media-card { min-height: 360px; }
.media-card::before { z-index: 1; background: rgba(36, 14, 6, .48); }
.media-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 58%; transition: transform .35s ease; }
.media-card:hover > img { transform: scale(1.025); }
.media-card .play-icon, .media-card .media-info { z-index: 2; }
.media-card:nth-child(3n+2), .media-card:nth-child(3n+3) { background: var(--brown); }
.drone-grid .media-card:nth-child(n+4) { display: none; }
.drone-grid.is-expanded .media-card { display: block; }
.button-on-dark { margin-top: 26px; color: var(--white); background: transparent; border-color: rgba(255,255,255,.55); }
.button-on-dark:hover { color: var(--brown); background: var(--turquoise); border-color: var(--turquoise); }

.stories-home { display: grid; grid-template-columns: minmax(0, 1fr) minmax(560px, .85fr); gap: clamp(50px, 5vw, 90px); padding: clamp(76px, 7vw, 110px) var(--pad); border-bottom: 1px solid var(--brown); }
.stories-heading { align-self: center; }
.stories-heading h2 { margin-top: 34px; }
.stories-heading > p { max-width: 570px; }
.stories-heading .button { margin-top: 20px; }
.home-story-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--brown); border-left: 1px solid var(--brown); }
.home-story-card { position: relative; min-height: 280px; padding: 0; overflow: hidden; color: var(--white); background: var(--brown); border: 0; border-right: 1px solid var(--brown); border-bottom: 1px solid var(--brown); text-align: left; }
.home-story-card:first-child { grid-row: span 2; min-height: 560px; }
.home-story-card .inline-video-trigger { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; overflow: hidden; color: inherit; background: transparent; border: 0; cursor: pointer; text-align: left; }
.home-story-card .inline-video-trigger::after { content: ""; position: absolute; inset: 0; background: rgba(36, 14, 6, .32); }
.home-story-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .35s ease; }
.home-story-card:hover img { transform: scale(1.025); }
.story-play { position: absolute; z-index: 2; top: 20px; right: 20px; display: grid; width: 50px; height: 50px; place-items: center; color: var(--brown); background: var(--turquoise); }
.story-label { position: absolute; z-index: 2; right: 22px; bottom: 22px; left: 22px; }
.story-label small { display: block; margin-bottom: 8px; color: var(--turquoise); font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.story-label strong { display: block; font-size: 1rem; line-height: 1.25; }

.city-band-real { grid-template-columns: 1fr 1fr; height: clamp(600px, 68vh, 680px); min-height: 0; background: var(--turquoise-dark); }
.city-image { min-height: 0; overflow: hidden; }
.city-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 52%; }
.city-band-real .city-copy { padding: clamp(56px, 5vw, 76px) var(--pad); }
.city-band-real .city-copy h2 { font-size: clamp(2.8rem, 3.7vw, 4.2rem); }
.city-band-real .city-copy p { font-size: .95rem; }
.final-cta-photo { border-top: 14px solid var(--brown); }
.site-footer > img { width: 210px; height: auto; }

.testimonial-section .horizontal-intro > p,
.partner-directory .horizontal-intro > p { color: var(--brown-soft); }
.testimonial-hero-photo img { object-position: center 46%; }
.partner-hero-image img { object-position: center 58%; }
.inline-video-card iframe { display: block; width: 100%; height: 100%; border: 0; background: #000; }
.testimonial-card button { overflow: hidden; }
.testimonial-card button > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.testimonial-card button::before { content: ""; position: absolute; z-index: 1; inset: 0; background: rgba(36, 14, 6, .34); }
.testimonial-card button span, .testimonial-card button strong, .testimonial-card button::after { z-index: 2; }
.testimonial-card button span { position: relative; }
.testimonial-card, .testimonial-card.is-native { grid-row: auto; min-height: 0; }
.testimonial-card button { height: 100%; min-height: 0; }
.internal-hero h1 { font-size: clamp(2.8rem, 4.6vw, 4.8rem); }
.internal-hero .hero-copy { padding-top: clamp(62px, 7vw, 98px); padding-bottom: clamp(62px, 7vw, 98px); }
.internal-hero { height: calc(100vh - 92px); min-height: 680px; max-height: 820px; }
.internal-hero .internal-visual { height: 100%; min-height: 0; }

/* Páginas internas */
.internal-hero { grid-template-columns: .9fr 1.1fr; min-height: 680px; }
.internal-hero .hero-copy { border-right: 1px solid var(--brown); }
.internal-hero h1 { font-size: clamp(3rem, 5.4vw, 6rem); }
.internal-visual { position: relative; min-height: 560px; overflow: hidden; background: var(--brown); }
.internal-visual > img, .internal-visual > video { width: 100%; height: 100%; object-fit: cover; }
.internal-visual .visual-index { position: absolute; bottom: 0; left: 0; width: 42%; padding: 22px; color: var(--white); background: var(--turquoise-dark); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.testimonial-section, .partner-directory { padding: clamp(90px, 10vw, 150px) var(--pad); }
.testimonial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1440px; margin: 0 auto; border-top: 1px solid var(--brown); border-left: 1px solid var(--brown); }
.testimonial-card { min-height: 0; aspect-ratio: 9 / 16; border-right: 1px solid var(--brown); border-bottom: 1px solid var(--brown); background: var(--white); }
.testimonial-card.is-native { grid-row: span 2; }
.testimonial-card video { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; background: var(--brown); }
.testimonial-card button { position: relative; width: 100%; height: 100%; min-height: 0; padding: 28px; color: var(--white); background: var(--brown); border: 0; border-radius: 0; cursor: pointer; text-align: left; }
.testimonial-card:nth-child(3n) button { background: var(--turquoise-dark); }
.testimonial-card .story-meta { padding: 25px; }
.testimonial-card .story-meta span, .testimonial-card button span { color: var(--turquoise); font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.testimonial-card button strong { position: absolute; right: 28px; bottom: 28px; left: 28px; font-size: 1.25rem; line-height: 1.3; }
.testimonial-card button::after { content: "▶"; position: absolute; top: 26px; right: 26px; display: grid; width: 50px; height: 50px; place-items: center; color: var(--brown); background: var(--white); }
.testimonial-card .story-meta h3 { margin: 8px 0 0; font-size: 1.25rem; }
.testimonial-quote { display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; padding: 90px var(--pad); color: var(--white); background: var(--brown); }.testimonial-quote h2 { color: var(--white); }.testimonial-quote p { align-self: end; max-width: 620px; }

.partner-hero-image { background: var(--sand); }.partner-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.partner-note { display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; padding: 90px var(--pad); border-bottom: 1px solid var(--brown); }.partner-note h2 { font-size: clamp(2rem, 3.7vw, 4rem); }.partner-note p { max-width: 700px; font-size: 1.05rem; }
.category-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--brown); border-left: 1px solid var(--brown); }
.category-card { position: relative; min-height: 340px; padding: 32px; overflow: hidden; background: var(--white); border-right: 1px solid var(--brown); border-bottom: 1px solid var(--brown); }
.category-card:nth-child(2), .category-card:nth-child(3) { background: var(--sand-light); }.category-card:nth-child(4) { background: var(--turquoise); }
.category-card .category-number { display: block; color: var(--turquoise-dark); font-size: .7rem; font-weight: 700; }
.category-card h3 { max-width: 420px; margin-top: 85px; font-size: clamp(1.8rem, 3vw, 3rem); }.category-card p { max-width: 480px; }
.category-card .status { position: absolute; right: 0; bottom: 0; padding: 10px 15px; color: var(--white); background: var(--brown); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

@media (max-width: 1050px) {
  .home-hero, .internal-hero { grid-template-columns: 1fr; }
  .hero-visual, .internal-visual { min-height: 590px; }
  .section-grid { grid-template-columns: 90px 1fr; }
  .section-heading { grid-column: 2; }.location-copy, .partner-copy { grid-column: 2; }.map-composition, .partner-stack { grid-column: 2; }
  .location-copy, .partner-copy { margin-top: 20px; }
  .media-grid { grid-template-columns: repeat(2, 1fr); }
  .final-cta { grid-template-columns: 1fr 1fr; }.final-cta .button { grid-column: 2; justify-self: start; }
  .stories-preview .featured-story { grid-column: 2; }.stories-copy { grid-column: 2; }
  .location-title { grid-column: 1 / 8; }.location-text { grid-column: 8 / 13; }
  .stories-home { grid-template-columns: 1fr; }.home-story-grid { width: 100%; max-width: 850px; }
  .testimonial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .city-band-real { height: auto; min-height: 600px; }.city-image { min-height: 600px; }
  .banner-benefits { grid-template-columns: 1fr; gap: 52px; }
  .benefits-intro { max-width: 760px; }
}

@media (max-width: 760px) {
  :root { --pad: 22px; }
  .site-header { height: 76px; }.brand img { width: 145px; height: 55px; }
  .menu-toggle { display: block; }
  .main-nav { position: fixed; top: 76px; right: 0; left: 0; display: none; height: auto; padding: 20px; background: var(--paper); border-bottom: 1px solid var(--brown); }
  .main-nav.is-open { display: grid; }.main-nav a { min-height: 52px; justify-content: start; border-bottom: 1px solid var(--line); }.main-nav .nav-cta { margin: 10px 0 0; justify-content: center; }
  .hero { min-height: auto; }.hero-copy { padding-top: 72px; padding-bottom: 70px; }.home-hero h1 { font-size: clamp(2.8rem, 13vw, 4.5rem); }
  .hero-facts { grid-template-columns: 1fr; }.hero-facts div, .hero-facts div + div { padding: 14px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .hero-visual, .internal-visual { min-height: 480px; }.hero-caption { left: 0; }
  .section-grid { grid-template-columns: 1fr; padding-top: 75px; padding-bottom: 75px; }.section-number { margin-bottom: 35px; }.section-heading, .location-copy, .partner-copy, .map-composition, .partner-stack, .featured-story, .stories-copy, .stories-preview .featured-story { grid-column: 1; }
  .map-composition { height: 340px; margin-top: 50px; }.map-label { max-width: 145px; }.map-pin { left: 42%; }
  .horizontal-intro, .city-band, .partner-note, .testimonial-quote { grid-template-columns: 1fr; }.horizontal-intro { gap: 10px; }
  .media-grid, .partner-stack, .testimonial-grid, .category-grid { grid-template-columns: 1fr; }.media-card { min-height: 280px; }.partner-stack { margin-top: 50px; }
  .city-band { min-height: 700px; }.city-word { position: absolute; top: 20px; left: -15px; padding: 0; font-size: 18rem; }.city-copy { padding: 220px var(--pad) 70px; }
  .final-cta { grid-template-columns: 1fr; gap: 30px; }.final-cta .button { grid-column: 1; justify-self: stretch; }
  .site-footer { grid-template-columns: 1fr; }.site-footer nav { flex-direction: column; }.site-footer small { grid-column: 1; }
  .internal-hero .hero-copy { border-right: 0; }.testimonial-card.is-native { grid-row: auto; }.testimonial-quote, .partner-note { gap: 20px; padding-top: 65px; padding-bottom: 65px; }
  .brand img { width: 170px; height: 50px; }
  .home-hero { grid-template-columns: 1fr; }.home-hero .hero-copy { padding-top: 58px; padding-bottom: 58px; }.home-hero h1 { font-size: clamp(2.7rem, 12vw, 4rem); }
  .hero-entrance { min-height: 650px; }.entrance-detail { width: 43%; right: 14px; bottom: 14px; }.hero-play { top: 14px; left: 14px; }
  .trust-strip { grid-template-columns: 1fr; }.trust-strip article { min-height: 100px; border-right: 0; border-bottom: 1px solid var(--brown); }
  .banner-benefits { grid-template-columns: 1fr; gap: 42px; padding-top: 72px; padding-bottom: 72px; }
  .benefits-grid { grid-template-columns: 1fr; }
  .benefits-grid article, .benefits-grid article:nth-child(5) { grid-column: 1; min-height: 150px; }
  .benefits-visual { height: 540px; clip-path: polygon(0 0, 88% 0, 100% 9%, 100% 100%, 0 100%); }
  .benefits-visual figcaption { padding: 30px 24px; }
  .contact-composition { grid-template-columns: 1fr; min-height: auto; }
  .contact-copy { padding-top: 72px; padding-bottom: 72px; }
  .contact-channels a { grid-template-columns: 80px minmax(0, 1fr) auto; gap: 12px; }
  .contact-image { min-height: 500px; }
  .location-editorial { grid-template-columns: 1fr; gap: 18px; padding-top: 75px; padding-bottom: 75px; }.location-editorial > .section-kicker, .location-title, .location-text, .location-photo, .access-list { grid-column: 1; }
  .location-title { margin-top: 20px; }.location-text { margin-top: 0; }.location-photo { height: 520px; margin-top: 36px; }.location-photo figcaption { left: 0; }.access-list { margin: 0; }
  .build-section { grid-template-columns: 1fr; min-height: auto; }.build-photo { align-self: auto; width: min(100%, 520px); height: auto; min-height: 0; margin: 48px auto 0; aspect-ratio: 4 / 5; }.build-content { padding-top: 58px; padding-bottom: 70px; }.build-steps { grid-template-columns: 1fr; }.build-steps li { min-height: 112px; }.build-steps li > span { margin-bottom: 18px; }
  .stories-home { grid-template-columns: 1fr; gap: 50px; padding-top: 75px; padding-bottom: 75px; }.home-story-grid { grid-template-columns: 1fr; }.home-story-card:first-child { grid-row: auto; min-height: 450px; }.home-story-card { min-height: 430px; }
  .city-band-real { grid-template-columns: 1fr; height: auto; min-height: auto; }.city-image { min-height: 460px; }.city-band-real .city-copy { padding: 70px var(--pad); }
  .internal-hero { height: auto; max-height: none; }.internal-hero .internal-visual { height: 540px; min-height: 540px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
