/*
Theme Name: AMORIA STARS
Theme URI: https://amoriastars.com
Author: AMORIA STARS
Description: A cinematic, Gutenberg-first theme for the AMORIA STARS eco-luxury destination and residential collection.
Version: 2.3.9
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: amoria-stars
*/

:root {
  --color-petrol-dark: #082845;
  --color-petrol: #123a5b;
  --color-mint-light: #dce9e3;
  --color-cream: #f2eee4;
  --color-warm-white: #fbfaf6;
  --color-stone: #b6afa3;
  --color-sand: #d8c7aa;
  --color-charcoal: #202423;
  --color-gold: #c8a35c;
  --color-muted-green: #71867d;
  --font-display: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --page-gutter: clamp(1.25rem, 4vw, 4.5rem);
  --section-space: clamp(5rem, 10vw, 10rem);
  --content-width: 86rem;
  --shadow-soft: 0 24px 70px rgba(8, 47, 49, 0.15);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--color-charcoal);
  background: var(--color-warm-white);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.7;
  text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
img, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration-thickness: 0.08em; text-underline-offset: 0.18em; }
button, input, select, textarea { font: inherit; }
::selection { color: var(--color-warm-white); background: var(--color-petrol); }

.skip-link {
  position: fixed; z-index: 9999; top: 0.75rem; left: 0.75rem; padding: 0.8rem 1rem;
  color: #fff; background: #000; transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: fixed; z-index: 1000; inset: 0 0 auto; min-height: 7.25rem;
  display: grid; grid-template-columns: minmax(10rem, 1fr) auto minmax(10rem, 1fr);
  align-items: center; gap: 2rem; padding: 1rem var(--page-gutter);
  color: var(--color-warm-white); transition: background .35s ease, color .35s ease, box-shadow .35s ease;
}
body.admin-bar .site-header { top: 32px; }
.site-header.is-scrolled {
  color: var(--color-warm-white); background: rgba(8,40,69,.96); box-shadow: 0 10px 40px rgba(0,0,0,.12);
  backdrop-filter: blur(14px);
}
.site-branding { display: flex; align-items: center; justify-content: center; justify-self: start; align-self: stretch; line-height: 0; }
.site-branding a, .site-branding .custom-logo-link { display: flex; align-items: center; justify-content: center; height: 100%; }
.site-branding img { display: block; width: 6rem; max-height: 3.55rem; object-fit: contain; filter: brightness(0) invert(1); }
.site-nav { display: flex; align-items: center; justify-content: center; justify-self: center; align-self: stretch; text-align: center; }
.site-nav .mobile-nav-cta { display: none; }
.site-nav ul { display: flex; align-items: center; justify-content: center; gap: clamp(1rem, 2.4vw, 2.5rem); margin: 0; padding: 0; list-style: none; }
.site-nav a, .footer-nav a {
  text-decoration: none; text-transform: uppercase; letter-spacing: .13em; font-size: .74rem; font-weight: 700;
}
.site-nav a { position: relative; }
.site-nav a::after { content: ""; position: absolute; inset: auto 0 -.5rem; height: 1px; background: currentColor; transform: scaleX(0); transition: transform .25s; }
.site-nav a:hover::after, .site-nav a:focus-visible::after { transform: scaleX(1); }
.header-cta { justify-self: end; align-self: center; }
.menu-toggle { display: none; align-self: center; justify-self: end; color: inherit; background: transparent; border: 0; padding: .65rem; }
.menu-toggle span { display: block; width: 1.6rem; height: 1px; margin: .35rem 0; background: currentColor; transition: .25s; }

.button, .wp-block-button__link, button[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center; min-height: 3.5rem; padding: .9rem 1.35rem;
  border: 1px solid transparent; border-radius: 0; color: var(--color-petrol-dark); background: var(--color-gold);
  font-size: .76rem; font-weight: 800; line-height: 1.2; letter-spacing: .11em; text-decoration: none; text-transform: uppercase;
  cursor: pointer; transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}
.button:hover, .wp-block-button__link:hover, button[type="submit"]:hover { transform: translateY(-2px); background: #d4ad61; }
.button--ghost { color: var(--color-warm-white); background: transparent; border-color: rgba(255,255,255,.55); }
.button--ghost:hover { color: var(--color-petrol-dark); background: var(--color-warm-white); }

.hero-video, .page-hero {
  position: relative; min-height: 100svh; overflow: hidden; display: grid; align-items: end; color: var(--color-warm-white); background: var(--color-petrol-dark);
}
.page-hero { min-height: min(84svh, 60rem); }
.hero-video__media, .page-hero__media, .hero-video__media video, .page-hero__media img, .page-hero__media video {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.hero-video__media { background: var(--color-petrol-dark); }
.hero-video::after, .page-hero::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(3,20,35,.78) 0%, rgba(3,20,35,.22) 58%, rgba(3,20,35,.46) 100%), linear-gradient(0deg, rgba(3,20,35,.6), transparent 55%);
}
.hero-video__content, .page-hero__content {
  position: relative; z-index: 1; width: min(58rem, 100%); padding: 11rem var(--page-gutter) clamp(5rem, 9vw, 8rem);
}
.eyebrow { margin: 0 0 1.25rem; color: var(--color-gold); font-size: .76rem; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; }
h1, h2, h3, h4 { margin-top: 0; font-family: var(--font-display); font-weight: 300; line-height: 1.12; letter-spacing: .035em; text-transform: uppercase; }
h1 { margin-bottom: 1.8rem; font-size: clamp(3.4rem, min(8vw, 12vh), 8rem); }
h2 { margin-bottom: 1.6rem; font-size: clamp(2.6rem, 5.6vw, 5.8rem); }
h3 { margin-bottom: .8rem; font-size: clamp(1.8rem, 3vw, 3rem); }
.hero-video__title { max-width: 13ch; }
.hero-video__location { margin-bottom: 1.8rem; font-size: .78rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.hero-video__tagline { margin: -1rem 0 1.25rem; font-size: clamp(1rem, 1.6vw, 1.35rem); font-style: italic; font-weight: 300; }
.hero-actions, .cta-row { display: flex; flex-wrap: wrap; gap: .8rem; }
.visual-card__link { display: inline-block; margin-top: .7rem; color: var(--color-gold); font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }

.cinematic-band {
  position: relative; min-height: clamp(34rem, 72vw, 56rem); overflow: hidden; display: grid; align-items: end;
  color: var(--color-warm-white); background: var(--color-petrol-dark);
}
.cinematic-band__media, .cinematic-band__media video, .cinematic-band__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cinematic-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(3,20,35,.82), rgba(3,20,35,.08) 72%); }
.cinematic-band__content { position: relative; z-index: 1; width: min(100%, var(--content-width)); margin-inline: auto; padding: clamp(4rem, 8vw, 7rem) var(--page-gutter); }
.cinematic-band__content h2 { max-width: 11ch; margin-bottom: 1rem; }
.cinematic-band__content .lede { max-width: 32rem; margin-bottom: 0; }
.cinematic-band--water { min-height: min(88svh, 58rem); }
.cinematic-band--water::after { background: linear-gradient(90deg, rgba(3,20,35,.74), rgba(3,20,35,.08) 66%), linear-gradient(0deg, rgba(3,20,35,.68), transparent 58%); }
.cinematic-band--vision { min-height: min(76svh, 52rem); }
.cinematic-band--vision::after { background: linear-gradient(0deg, rgba(3,20,35,.78), rgba(3,20,35,.08) 72%); }
.cinematic-band--vision .cinematic-band__content { align-self: end; }
.cinematic-band video { transform: scale(1.002); }

.site-main { overflow: clip; }
.section, .entry-content > .wp-block-group { padding: var(--section-space) var(--page-gutter); }
.section > *, .entry-content > .wp-block-group > .wp-block-group__inner-container { width: min(100%, var(--content-width)); margin-inline: auto; }
.section--dark, .has-petrol-dark-background-color { color: var(--color-warm-white); background: var(--color-petrol-dark); }
.section--cream, .has-cream-background-color { background: var(--color-cream); }
.section--mint { background: var(--color-mint-light); }
.section-intro { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr); gap: clamp(2rem, 7vw, 7rem); align-items: end; margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.section-intro > :last-child { max-width: 38rem; }
.lede { font-family: var(--font-display); font-size: clamp(1.45rem, 2.4vw, 2.2rem); line-height: 1.3; }

.split-feature { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2.5rem, 6vw, 7rem); align-items: center; }
.split-feature.is-reversed { grid-template-columns: .85fr 1.15fr; }
.split-feature.is-reversed .split-feature__media { order: 2; }
.split-feature__media { min-height: clamp(26rem, 60vw, 46rem); }
.split-feature__media img { width: 100%; height: 100%; object-fit: cover; box-shadow: var(--shadow-soft); }
.split-feature__copy { max-width: 38rem; }

.stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid rgba(8,47,49,.2); }
.stat-grid--ownership { grid-template-columns: repeat(3, 1fr); }
.stat-grid--ownership .stat:nth-child(-n+3) { border-bottom: 1px solid rgba(8,47,49,.2); }
.stat-grid--ownership .stat:nth-child(3n) { border-right: 0; }
.stat { padding: 2.25rem clamp(1rem, 2.5vw, 2.5rem); border-right: 1px solid rgba(8,47,49,.2); }
.stat:last-child { border-right: 0; }
.stat strong { display: block; color: var(--color-petrol); font-family: var(--font-display); font-size: clamp(2.8rem, 5vw, 5rem); font-weight: 500; line-height: 1; }
.stat span { display: block; margin-top: .65rem; font-size: .72rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }

.visual-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.visual-grid--three { grid-template-columns: repeat(3, 1fr); }
.visual-grid--six { grid-template-columns: repeat(3, 1fr); }
.visual-card { position: relative; min-height: 31rem; overflow: hidden; color: #fff; background: var(--color-petrol); }
.visual-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.visual-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(3,20,35,.9), rgba(3,20,35,.06) 70%); }
.visual-card__content { position: absolute; z-index: 1; inset: auto 1.5rem 1.5rem; }
.visual-card__content h3 { margin-bottom: .5rem; font-size: 2rem; }
.visual-card__content p { margin: 0; line-height: 1.45; }
.visual-card:hover img { transform: scale(1.045); }
.visual-card, .property-card, .split-feature__media { box-shadow: 0 18px 54px rgba(8,47,49,.08); }

.property-collection { padding: var(--section-space) 0; }
.property-collection__header { padding: 0 var(--page-gutter); width: min(100%, calc(var(--content-width) + 2 * var(--page-gutter))); margin: 0 auto 2rem; }
.property-rail { display: grid; grid-auto-flow: column; grid-auto-columns: min(76vw, 54rem); gap: 1.25rem; overflow-x: auto; padding: 0 max(var(--page-gutter), calc((100vw - var(--content-width)) / 2)); scroll-snap-type: x mandatory; scrollbar-width: thin; }
.property-card { position: relative; min-height: min(68vw, 42rem); scroll-snap-align: center; overflow: hidden; color: #fff; background: var(--color-petrol-dark); }
.property-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.property-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(3,20,35,.92), transparent 62%); }
.property-card__body { position: absolute; z-index: 1; inset: auto clamp(1.25rem, 3vw, 2.5rem) clamp(1.25rem, 3vw, 2.5rem); display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; }
.property-card__body h3 { margin: .25rem 0 .3rem; }
.property-card__meta { margin: 0; font-size: .8rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.property-card:hover img { transform: scale(1.035); }

.check-list { display: grid; gap: .8rem; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 1.6rem; }
.check-list li::before { content: "✦"; position: absolute; left: 0; color: var(--color-gold); }

.site-footer { padding: clamp(4rem, 8vw, 7rem) var(--page-gutter) 2rem; color: var(--color-warm-white); background: #062526; }
.site-footer__grid { display: grid; grid-template-columns: 1.35fr .8fr 1fr; gap: 4rem; width: min(100%, var(--content-width)); margin-inline: auto; }
.site-footer__brand img { width: 10rem; filter: brightness(0) invert(1); }
.site-footer h2 { max-width: 12ch; margin-top: 2rem; font-size: clamp(2.4rem, 4vw, 4rem); }
.site-footer h3 { font-family: var(--font-body); font-size: .72rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.footer-nav ul, .footer-links { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.footer-links a { text-decoration: none; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 2rem; width: min(100%, var(--content-width)); margin: 4rem auto 0; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.65); font-size: .74rem; }
.site-footer__bottom p { max-width: 50rem; margin: 0; }

.amoria-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.amoria-form label { display: grid; gap: .35rem; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.amoria-form .full { grid-column: 1 / -1; }
.amoria-form input, .amoria-form select, .amoria-form textarea {
  width: 100%; min-height: 3.6rem; padding: .8rem 0; color: inherit; background: transparent; border: 0; border-bottom: 1px solid currentColor; border-radius: 0;
}
.amoria-form textarea { min-height: 8rem; resize: vertical; }
.amoria-notice { padding: 1rem 1.2rem; border-left: 3px solid var(--color-gold); background: var(--color-cream); }

.property-detail__intro { display: grid; grid-template-columns: 1.1fr .9fr; gap: 4rem; align-items: start; }
.spec-panel { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: rgba(8,47,49,.18); }
.spec-panel > div { padding: 1.6rem; background: var(--color-cream); }
.spec-panel strong { display: block; font-family: var(--font-display); font-size: 2rem; font-weight: 500; }
.feature-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; }
.feature-columns--single { grid-template-columns: minmax(0, 46rem); }
.property-editorial { max-width: 58rem; margin-bottom: 3rem; }
.property-gallery-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 1.5rem; }
.legal-note { font-size: .78rem; line-height: 1.55; opacity: .72; }

/* Brochure-led visual system. */
.brochure-welcome { background: var(--color-petrol-dark); color: var(--color-warm-white); }
.brochure-welcome .split-feature { grid-template-columns: 1fr 1fr; gap: 0; align-items: stretch; width: 100%; min-height: clamp(44rem, 64vw, 56rem); }
.brochure-welcome .split-feature__copy { display: flex; flex-direction: column; max-width: none; padding: clamp(3rem, 5vw, 5rem) clamp(2.5rem, 4.5vw, 4.5rem) clamp(2rem, 3vw, 3rem); }
.brochure-welcome .split-feature__copy > p:not(.eyebrow) { max-width: 48rem; font-size: clamp(.84rem, 1vw, 1rem); line-height: 1.7; }
.brochure-welcome .split-feature__media { min-height: 100%; overflow: hidden; }
.brochure-welcome .split-feature__media figure { height: 100%; margin: 0; }
.brochure-welcome .split-feature__media img { height: 100%; object-position: 58% center; box-shadow: none; }
.brochure-welcome h2 { max-width: 15ch; font-size: clamp(2.15rem, 3.4vw, 3.65rem); }
.home .estate-section .split-feature {
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-items: stretch;
  min-height: clamp(44rem, 64vw, 56rem);
}
.home .estate-section .split-feature__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: clamp(2.5rem, 4.5vw, 4.5rem);
}
.home .estate-section .split-feature__media { min-height: 100%; overflow: hidden; }
.home .estate-section .split-feature__media figure { height: 100%; margin: 0; }
.home .estate-section .split-feature__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  box-shadow: none;
}
.brochure-rule { width: 10rem; height: 1px; margin: 1.8rem 0; background: var(--color-gold); }
.brochure-metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: auto; padding-top: clamp(2rem, 4vw, 3.5rem); border-top: 1px solid rgba(200,163,92,.4); }
.brochure-metrics > div { padding: 1.7rem 1rem 0 0; }
.brochure-metrics strong { display: block; color: var(--color-gold); font-size: clamp(1.5rem, 2.6vw, 2.3rem); font-weight: 300; }
.brochure-metrics span { display: block; max-width: 11ch; margin-top: .35rem; font-size: .62rem; line-height: 1.35; letter-spacing: .14em; text-transform: uppercase; }
.brochure-ecosystem { padding-top: 0; }
.brochure-image-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 0; width: 100%; }
.brochure-image-pair img { width: 100%; height: clamp(22rem, 45vw, 40rem); object-fit: cover; }
.brochure-panel { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(3rem, 8vw, 8rem); width: min(100%, var(--content-width)); margin: 0 auto; padding: clamp(4rem, 7vw, 7rem) var(--page-gutter); }
.brochure-panel h2 { max-width: 16ch; font-size: clamp(2.3rem, 4.3vw, 4.8rem); }
.facility-list { columns: 2; column-gap: 3rem; margin: 0; padding-left: 1.2rem; }
.facility-list li { margin: 0 0 .65rem; break-inside: avoid; }
.phase-vision { position: relative; min-height: min(90svh, 58rem); display: grid; align-items: end; padding: clamp(5rem, 10vw, 9rem) var(--page-gutter); color: #fff; background: center/cover no-repeat; }
.phase-vision::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,17,31,.82), rgba(3,17,31,.24)), linear-gradient(0deg, rgba(3,17,31,.72), transparent 55%); }
.phase-vision__inner { position: relative; z-index: 1; width: min(100%, var(--content-width)); margin-inline: auto; }
.phase-vision h2 { max-width: 18ch; }
.phase-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; margin-top: 3rem; background: rgba(255,255,255,.24); border: 1px solid rgba(255,255,255,.24); }
.phase-grid article { padding: 1.5rem; background: rgba(5,25,43,.62); backdrop-filter: blur(8px); }
.phase-grid h3 { margin: .65rem 0; font-size: 1.05rem; }
.phase-grid p { margin: 0; font-size: .78rem; line-height: 1.55; }
.collection-overview { color: #fff; background: var(--color-petrol-dark); }
.collection-overview .section-intro { align-items: start; }
.collection-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: rgba(200,163,92,.42); border: 1px solid rgba(200,163,92,.42); }
.collection-card { position: relative; min-height: 38rem; overflow: hidden; }
.collection-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.collection-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(3,18,32,.94), rgba(3,18,32,.06) 72%); }
.collection-card__body { position: absolute; z-index: 1; inset: auto 2rem 2rem; }
.collection-card__body h3 { max-width: 18ch; font-size: clamp(1.55rem, 2.6vw, 2.45rem); }
.collection-card__spec { color: var(--color-gold); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.collection-card:hover img { transform: scale(1.035); }
.community-mosaic { display: grid; grid-template-columns: 1fr minmax(18rem, .74fr) 1fr; min-height: 48rem; background: var(--color-petrol-dark); }
.community-mosaic__side { display: grid; grid-template-rows: 1fr 1fr; }
.community-mosaic img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.community-mosaic__copy { display: grid; place-content: center; padding: 3rem; text-align: center; color: #fff; }
.community-mosaic__copy h2 { font-size: clamp(2rem, 3.6vw, 3.8rem); }
.community-mosaic__copy p { max-width: 28rem; margin-inline: auto; }
.brochure-contact-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(3rem, 8vw, 8rem); width: min(100%, var(--content-width)); margin-inline: auto; }
.brochure-contact-grid h2 { max-width: 15ch; }
.brochure-contact-details { display: grid; gap: 2rem; align-content: start; padding-top: .5rem; }
.brochure-contact-details h3 { margin: 0 0 .45rem; font-family: var(--font-body); font-size: .72rem; font-weight: 800; letter-spacing: .18em; }
.brochure-contact-details p { margin: 0; }
.brochure-contact-details a { color: var(--color-gold); text-decoration: none; }
.ownership-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.ownership-grid > div { padding: 2rem; border: 1px solid rgba(200,163,92,.58); background: rgba(8,40,69,.82); }
.ownership-grid h3 { margin: 0; font-size: 1rem; text-align: center; }
.estate-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem 2rem; margin: 2rem 0 0; padding: 1.5rem 0 0; border-top: 1px solid rgba(200,163,92,.45); list-style: none; }
.estate-facts li { position: relative; padding-left: 1.15rem; font-size: .82rem; }
.estate-facts li::before { content: "✦"; position: absolute; left: 0; color: var(--color-gold); }
.phase-launch { display: flex; justify-content: space-between; gap: 2rem; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.3); }
.phase-launch p { max-width: 42rem; margin: 0; font-size: .78rem; line-height: 1.65; }
.collection-comparison .section-intro { margin-bottom: 3rem; }
.collection-table { border: 1px solid rgba(8,47,49,.18); }
.collection-table__head, .collection-table__row { display: grid; grid-template-columns: 1.15fr .35fr 1.15fr 1.1fr; }
.collection-table__head { color: #fff; background: var(--color-petrol-dark); }
.collection-table__head span { padding: 1rem; font-size: .65rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.collection-table__row > div { padding: 1.2rem 1rem; border-top: 1px solid rgba(8,47,49,.14); font-size: .84rem; line-height: 1.5; }
.collection-table__row > div + div { border-left: 1px solid rgba(8,47,49,.14); }
.collection-table__row:nth-child(odd) { background: rgba(255,255,255,.54); }
.collection-table__label { display: none; }
.private-visit { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(2rem, 8vw, 8rem); align-items: end; }
.private-visit h2 { max-width: 18ch; }
.private-visit .lede { max-width: 48rem; }
.private-visit__support { margin-top: 2rem; font-size: .82rem; opacity: .78; }
.private-visit__support a { color: var(--color-gold); }
.residential-preview .collection-card .button { display: none; }
.eyebrow { color: var(--color-gold); }
.section--dark, .has-petrol-dark-background-color, .site-footer { background: var(--color-petrol-dark); }

/* Keep every left-aligned homepage text block on the hero's page-gutter axis. */
.home .entry-content > .wp-block-group > .wp-block-group__inner-container,
.home .phase-vision__inner,
.home .cinematic-band__content,
.home .brochure-panel {
  width: 100%;
  margin-inline: 0;
}
.home .brochure-welcome .split-feature__copy { padding-left: 0; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition-duration: .01ms !important; } .reveal { opacity: 1; transform: none; } }

@media (max-width: 980px) {
  .site-header { grid-template-columns: 1fr auto; min-height: 6.25rem; padding-block: 1rem; }
  .site-branding img { width: 5.25rem; max-height: 3rem; }
  .header-cta { display: none; }
  .menu-toggle { display: block; }
  .site-nav { position: fixed; inset: 0; width: 100vw; height: 100svh; display: grid; align-content: center; justify-items: center; gap: 2.25rem; justify-self: stretch; color: #fff; background: var(--color-petrol-dark); transform: translateX(100%); transition: transform .35s ease; }
  .site-nav.is-open { transform: translateX(0); }
  .site-nav ul { flex-direction: column; gap: 2rem; }
  .site-nav a { font-family: var(--font-display); font-size: 2rem; font-weight: 500; letter-spacing: 0; }
  .site-nav .mobile-nav-cta { display: inline-flex; font-family: var(--font-body); font-size: .76rem; font-weight: 800; letter-spacing: .11em; }
  .menu-toggle { position: relative; z-index: 2; }
  .split-feature, .split-feature.is-reversed, .section-intro, .property-detail__intro { grid-template-columns: 1fr; }
  .split-feature.is-reversed .split-feature__media { order: 0; }
  .visual-grid, .visual-grid--three, .visual-grid--six { grid-template-columns: repeat(2, 1fr); }
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
  .stat:nth-child(2) { border-right: 0; }
  .stat:nth-child(-n+2) { border-bottom: 1px solid rgba(8,47,49,.2); }
  .stat-grid--ownership .stat:nth-child(odd) { border-right: 1px solid rgba(8,47,49,.2); }
  .stat-grid--ownership .stat:nth-child(even) { border-right: 0; }
  .stat-grid--ownership .stat:nth-child(-n+4) { border-bottom: 1px solid rgba(8,47,49,.2); }
  .site-footer__grid { grid-template-columns: 1.2fr 1fr; }
  .phase-grid { grid-template-columns: repeat(2, 1fr); }
  .collection-grid { grid-template-columns: 1fr; }
  .community-mosaic { grid-template-columns: 1fr; }
  .community-mosaic__side { grid-template-columns: 1fr 1fr; grid-template-rows: none; min-height: 22rem; }
  .ownership-grid { grid-template-columns: repeat(2, 1fr); }
  .brochure-contact-grid { grid-template-columns: 1fr; }
  .collection-table__head { display: none; }
  .collection-table { display: grid; gap: 1rem; border: 0; }
  .collection-table__row { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid rgba(8,47,49,.18); background: rgba(255,255,255,.6); }
  .collection-table__row > div, .collection-table__row > div + div { border: 0; border-top: 1px solid rgba(8,47,49,.12); }
  .collection-table__row > div:nth-child(-n+2) { border-top: 0; }
  .collection-table__label { display: block; margin-bottom: .35rem; color: var(--color-gold); font-size: .6rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
  .private-visit { grid-template-columns: 1fr; align-items: start; }
  .home .estate-section .split-feature { grid-template-columns: 1fr; min-height: 0; }
  .home .estate-section .split-feature__copy { padding-right: 0; }
  .home .estate-section .split-feature__media { min-height: 28rem; }
}

@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}

@media (max-width: 640px) {
  .hero-video__content, .page-hero__content { padding-top: 8rem; }
  .hero-actions .button, .cta-row .button, .hero-actions .wp-block-button { width: 100%; }
  .visual-grid, .visual-grid--three, .visual-grid--six { grid-template-columns: 1fr; }
  .visual-card { min-height: 27rem; }
  .property-rail { grid-auto-columns: 88vw; }
  .property-card { min-height: 34rem; }
  .property-card__body { display: block; }
  .property-card__body .button { margin-top: 1rem; }
  .site-footer__grid { grid-template-columns: 1fr; }
  .site-footer__bottom { display: grid; }
  .amoria-form { grid-template-columns: 1fr; }
  .amoria-form .full { grid-column: auto; }
  .feature-columns { grid-template-columns: 1fr; }
  .brochure-welcome .split-feature { grid-template-columns: 1fr; min-height: 0; }
  .brochure-welcome .split-feature__media { min-height: 28rem; }
  .brochure-metrics { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
  .brochure-image-pair, .brochure-panel { grid-template-columns: 1fr; }
  .brochure-image-pair img { height: 22rem; }
  .facility-list { columns: 1; }
  .phase-grid, .ownership-grid { grid-template-columns: 1fr; }
  .collection-card { min-height: 31rem; }
  .community-mosaic__side { grid-template-columns: 1fr; min-height: 40rem; }
  .estate-facts, .collection-table__row { grid-template-columns: 1fr; }
  .collection-table__row > div:nth-child(2) { border-top: 1px solid rgba(8,47,49,.12); }
}

/* Brochure-faithful one-page edition. */
.header-balance { display: block; min-width: 6rem; }
.brochure-onepage { background: var(--color-petrol-dark); }
.home .site-footer { display: none; }
.brochure-cover,
.brochure-spread { position: relative; min-height: 100svh; overflow: hidden; scroll-margin-top: 5rem; }
.brochure-cover { display: flex; align-items: flex-end; color: #fff; background: var(--color-petrol-dark); }
.brochure-cover__video,
.brochure-cover__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.brochure-cover__video { object-fit: cover; object-position: center; background: var(--color-petrol-dark); }
.brochure-cover__overlay { background: linear-gradient(90deg, rgba(3,20,35,.74), rgba(3,20,35,.08) 62%), linear-gradient(0deg, rgba(3,20,35,.72), transparent 58%); }
.brochure-cover__top { position: absolute; z-index: 1; top: clamp(7.5rem, 12vh, 9rem); left: var(--page-gutter); right: var(--page-gutter); display: flex; justify-content: space-between; align-items: center; color: var(--color-gold); font-size: .68rem; font-weight: 800; letter-spacing: .28em; text-transform: uppercase; }
.brochure-cover__top img { width: 8.5rem; filter: brightness(0) invert(1); }
.brochure-cover__copy { position: relative; z-index: 1; width: min(52rem, 100%); padding: 0 var(--page-gutter) clamp(4.5rem, 9vh, 7rem); }
.brochure-cover h1 { max-width: 14ch; margin-bottom: .8rem; font-size: clamp(3rem, 6vw, 6.7rem); }
.brochure-cover__tagline { margin: 0 0 1.5rem; font-size: clamp(1rem, 1.45vw, 1.3rem); font-style: italic; }
.brochure-cover__rule { width: 10rem; height: 1px; margin-bottom: 1.5rem; background: var(--color-gold); }
.brochure-cover__location { font-size: .65rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }

.brochure-spread { color: #fff; background: var(--color-petrol-dark); }
.brochure-spread h2 { font-size: clamp(2rem, 3.8vw, 4.6rem); }
.brochure-spread p { font-size: clamp(.84rem, 1.05vw, 1rem); line-height: 1.72; }
.brochure-spread--split { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: minmax(0, 1fr); }
.brochure-copy-panel { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: clamp(5.5rem, 8vw, 8rem) clamp(2.5rem, 5vw, 6rem); }
.brochure-copy-panel h2 { max-width: 15ch; }
.brochure-copy-panel > p:not(.eyebrow) { max-width: 44rem; }
.brochure-spread__image,
.brochure-spread__image img { width: 100%; height: 100%; min-height: 100svh; }
.brochure-spread__image img { object-fit: cover; }
.brochure-stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-top: auto; padding-top: 2rem; border-top: 1px solid rgba(200,163,92,.45); }
.brochure-stat-row strong { display: block; color: var(--color-gold); font-size: clamp(1.4rem, 2.3vw, 2.2rem); font-weight: 300; }
.brochure-stat-row span { display: block; font-size: .58rem; line-height: 1.35; letter-spacing: .14em; text-transform: uppercase; }
.brochure-facts { display: grid; gap: .55rem; margin: 1.25rem 0 0; padding: 1.35rem 0 0; border-top: 1px solid rgba(200,163,92,.45); list-style: none; }
.brochure-facts li { position: relative; padding-left: 1rem; font-size: .76rem; }
.brochure-facts li::before { content: "•"; position: absolute; left: 0; color: var(--color-gold); }

.brochure-ecosystem-page { display: grid; grid-template-rows: 55svh minmax(45svh, auto); }
.brochure-image-duo { display: grid; grid-template-columns: 1fr 1fr; }
.brochure-image-duo img { width: 100%; height: 100%; object-fit: cover; }
.brochure-ecosystem-copy { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 8vw, 8rem); padding: clamp(3rem, 5vw, 5rem) var(--page-gutter); }
.brochure-ecosystem-copy > div + div { padding-left: clamp(2rem, 4vw, 4rem); border-left: 1px solid rgba(200,163,92,.38); }
.brochure-columns { columns: 2; column-gap: 2.5rem; margin: 0; padding-left: 1rem; }
.brochure-columns li { margin-bottom: .6rem; break-inside: avoid; font-size: .76rem; }

.brochure-phase-page,
.brochure-collection-table,
.brochure-ownership-page,
.brochure-visit-page,
.brochure-contact-page { background-position: center; background-size: cover; }
.brochure-phase-overlay,
.brochure-table-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,18,32,.88), rgba(3,18,32,.42)), linear-gradient(0deg, rgba(3,18,32,.72), rgba(3,18,32,.08)); }
.brochure-phase-content,
.brochure-table-content,
.brochure-ownership-content { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; min-height: 100svh; padding: clamp(7rem, 10vw, 10rem) var(--page-gutter) clamp(3rem, 5vw, 5rem); }
.brochure-phase-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 2rem; border: 1px solid rgba(255,255,255,.26); background: rgba(255,255,255,.26); }
.brochure-phase-grid article { padding: clamp(1.2rem, 2.2vw, 2rem); background: rgba(5,28,49,.72); backdrop-filter: blur(9px); }
.brochure-phase-grid article:nth-child(n+4) { grid-column: span 1; }
.brochure-phase-grid span { color: var(--color-gold); font-size: .63rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.brochure-phase-grid h3 { margin: .65rem 0; font-size: clamp(1rem, 1.55vw, 1.45rem); }
.brochure-phase-grid p { margin: 0; font-size: .73rem; }
.brochure-launch { margin: auto 0 0; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.3); font-size: .7rem !important; }

.brochure-residential-intro { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: minmax(0, 1fr); }
.brochure-residential-intro > * { min-height: 0; }
.brochure-residential-images { display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); min-height: 0; overflow: hidden; }
.brochure-residential-images img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.brochure-small-heading { margin-top: 2rem; }
.brochure-home-types { margin: 0; padding: 0; list-style-position: inside; }
.brochure-home-types li { display: flex; justify-content: space-between; gap: 1.5rem; margin-bottom: .45rem; color: var(--color-warm-white); font-size: .78rem; }
.brochure-home-types li::marker { color: var(--color-gold); }
.brochure-home-types span { color: var(--color-gold); }
.brochure-note { margin-top: 1.5rem; font-size: .7rem !important; font-style: italic; opacity: .75; }

.brochure-table-content > p { max-width: 52rem; }
.brochure-table { margin-top: 2rem; border-top: 1px solid rgba(255,255,255,.42); }
.brochure-table-row { display: grid; grid-template-columns: 1.35fr .45fr 1.15fr 1.1fr; border-bottom: 1px solid rgba(255,255,255,.28); }
.brochure-table-row > * { padding: .8rem 1rem; font-size: .74rem; }
.brochure-table-head { color: var(--color-gold); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.brochure-residence-detail { display: grid; grid-template-rows: 40svh 60svh; }
.brochure-residence-detail::before {
  content: "";
  position: absolute;
  z-index: 4;
  inset: 0 0 auto;
  height: clamp(.42rem, .65vw, .7rem);
  background: linear-gradient(90deg, #8f6d31, var(--color-gold) 35%, #e1c98c 50%, var(--color-gold) 65%, #8f6d31);
  box-shadow: 0 2px 0 rgba(3,18,32,.32);
}
.brochure-residence-hero img { width: 100%; height: 100%; object-fit: cover; }
.brochure-residence-data { display: grid; grid-template-columns: 1.08fr .92fr; }
.brochure-residence-data > div { padding: clamp(2.5rem, 5vw, 5rem) var(--page-gutter); }
.brochure-residence-data > div + div { border-left: 1px solid rgba(255,255,255,.22); }
.brochure-residence-data h2 { max-width: 19ch; font-size: clamp(1.8rem, 3vw, 3.4rem); }
.brochure-residence-data li { margin-bottom: .45rem; font-size: .76rem; }
.brochure-specs { display: grid; align-content: center; }
.brochure-specs > div { padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,.22); }
.brochure-specs span { color: var(--color-gold); font-size: .62rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.brochure-specs strong { display: block; margin-top: .35rem; font-size: clamp(1.8rem, 3vw, 3rem); font-weight: 300; }
.brochure-specs p { margin: .4rem 0 0; font-size: .76rem; }

.brochure-gallery-page { display: grid; grid-template-rows: auto 1fr; padding-top: clamp(6.5rem, 9vw, 8rem); }
.brochure-gallery-title { padding: 1.5rem var(--page-gutter) 1.25rem; }
.brochure-gallery-title h2 { margin-bottom: 0; font-size: clamp(2rem, 3.5vw, 4rem); }
.brochure-gallery-grid { min-height: 0; display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: minmax(12rem, 1fr); gap: 2px; }
.brochure-gallery-grid figure { min-height: 0; margin: 0; overflow: hidden; }
.brochure-gallery-grid figure.is-featured { grid-column: span 2; }
.brochure-gallery-grid img { width: 100%; height: 100%; object-fit: cover; }
.brochure-onepage img { image-rendering: auto; backface-visibility: hidden; }
.brochure-gallery-grid img[src$="floorplan.png"],
.brochure-gallery-grid img[src*="floorplan-"] { object-fit: contain; padding: clamp(.35rem, .8vw, .8rem); background: #f3f0e9; }

/* Sunlit image treatment and lighter closing spreads. */
.brochure-spread__image img,
.brochure-image-duo img,
.brochure-residential-images img,
.brochure-residence-hero img,
.brochure-gallery-grid img:not([src*="floorplan"]),
.brochure-community-images img {
  filter: brightness(1.08) saturate(1.06) contrast(.98);
}

.brochure-community-page { display: grid; grid-template-columns: 1fr .66fr 1fr; }
.brochure-community-images { display: grid; grid-template-rows: 1fr 1fr; }
.brochure-community-images img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.brochure-community-copy { display: flex; flex-direction: column; justify-content: center; padding: 3rem; text-align: center; }
.brochure-community-copy h2 { font-size: clamp(2rem, 3.5vw, 4rem); }
.brochure-community-copy p { font-size: .78rem; }
.brochure-community-copy .brochure-rule { margin-inline: auto; }

.brochure-ownership-content > p { max-width: 60rem; }
.brochure-ownership-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2.5rem; }
.brochure-ownership-grid span,
.brochure-ownership-wide { display: grid; min-height: 5rem; place-items: center; padding: 1rem; border: 1px solid rgba(200,163,92,.62); background: rgba(5,28,49,.68); text-align: center; text-transform: uppercase; }
.brochure-ownership-wide { margin-top: 1rem; place-items: center start; min-height: 4rem; padding-inline: 1.5rem; }
.brochure-visit-copy { position: absolute; z-index: 1; left: var(--page-gutter); bottom: clamp(3rem, 8vw, 7rem); max-width: 48rem; }
.brochure-visit-copy a { color: #fff; }

.brochure-contact-page { display: grid; place-items: center; padding: clamp(7rem, 14vh, 9rem) var(--page-gutter) clamp(2rem, 4vh, 3rem); text-align: center; }
.brochure-ownership-page .brochure-table-overlay {
  background: linear-gradient(90deg, rgba(3,18,32,.62), rgba(3,18,32,.16) 72%), linear-gradient(0deg, rgba(3,18,32,.38), rgba(3,18,32,.02));
}
.brochure-visit-page .brochure-table-overlay {
  background: linear-gradient(90deg, rgba(3,18,32,.58), rgba(3,18,32,.08) 68%), linear-gradient(0deg, rgba(3,18,32,.34), rgba(3,18,32,.02));
}
.brochure-contact-page .brochure-table-overlay { background: rgba(3,18,32,.48); }
.brochure-contact-content { position: relative; z-index: 1; width: min(64rem, 100%); text-align: center; }
.brochure-contact-content > .eyebrow { margin-bottom: clamp(1.25rem, 2.5vh, 2rem); }
.brochure-contact-logo { display: flex; align-items: center; justify-content: center; gap: clamp(.8rem, 1.5vw, 1.25rem); margin: 0 auto 1rem; }
.brochure-contact-mark { display: block; flex: 0 0 auto; width: clamp(3.5rem, 4.5vw, 4.75rem); height: clamp(2.3rem, 3vw, 3.1rem); overflow: hidden; }
.brochure-contact-mark img { display: block; width: 100%; height: auto; filter: brightness(0) invert(1); }
.brochure-contact-name { font-family: var(--font-display); font-size: clamp(1.25rem, 2vw, 1.8rem); font-weight: 300; letter-spacing: .28em; line-height: 1; }
.brochure-contact-content > p { max-width: 54rem; margin-inline: auto; }
.brochure-contact-tagline { font-style: italic; }
.brochure-contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
.brochure-contact-grid > div { text-align: center; }
.brochure-contact-grid span { display: block; margin-bottom: .5rem; color: var(--color-gold); font-size: .62rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.brochure-contact-grid a { color: #fff; text-decoration: none; }
.brochure-contact-grid p { margin: 0; }
.brochure-domain { margin-top: 3rem !important; color: var(--color-gold); font-size: 1rem !important; letter-spacing: .18em; }

@media (max-width: 980px) {
  .header-balance { display: none; }
  .brochure-cover__top { top: 7.25rem; }
  .brochure-spread { min-height: auto; }
  .brochure-spread--split,
  .brochure-residential-intro { grid-template-columns: 1fr; }
  .brochure-copy-panel { min-height: auto; padding-block: 7rem 4rem; }
  .brochure-spread__image,
  .brochure-spread__image img { min-height: 72svh; }
  .brochure-ecosystem-page { grid-template-rows: 60svh auto; }
  .brochure-ecosystem-copy { grid-template-columns: 1fr; }
  .brochure-ecosystem-copy > div + div { padding-left: 0; border-left: 0; }
  .brochure-phase-content,
  .brochure-table-content,
  .brochure-ownership-content { min-height: auto; padding-block: 7rem 4rem; }
  .brochure-phase-grid { grid-template-columns: 1fr 1fr; }
  .brochure-residential-images { grid-template-columns: repeat(3, 1fr); grid-template-rows: none; min-height: 65svh; }
  .brochure-residence-detail { grid-template-rows: 65svh auto; }
  .brochure-gallery-page { min-height: 100svh; }
  .brochure-community-page { grid-template-columns: 1fr; }
  .brochure-community-images { grid-template-columns: 1fr 1fr; grid-template-rows: none; min-height: 55svh; }
  .brochure-community-copy { min-height: 32rem; }
}

@media (max-width: 640px) {
  .brochure-cover__top span { display: none; }
  .brochure-cover__copy { padding-bottom: 3rem; }
  .brochure-copy-panel { padding: 6rem 1.25rem 3rem; }
  .brochure-stat-row { grid-template-columns: 1fr 1fr; }
  .brochure-image-duo { grid-template-columns: 1fr; }
  .brochure-ecosystem-page { grid-template-rows: auto auto; }
  .brochure-image-duo img { height: 44svh; }
  .brochure-ecosystem-copy { padding-inline: 1.25rem; }
  .brochure-columns { columns: 1; }
  .brochure-phase-grid,
  .brochure-ownership-grid { grid-template-columns: 1fr; }
  .brochure-residential-images { grid-template-columns: 1fr; min-height: 0; }
  .brochure-residential-images img { height: 48svh; }
  .brochure-table-row { grid-template-columns: 1fr; }
  .brochure-table-head { display: none; }
  .brochure-table-row > * { padding-inline: 0; }
  .brochure-residence-data { grid-template-columns: 1fr; }
  .brochure-residence-data > div { padding-inline: 1.25rem; }
  .brochure-residence-data > div + div { border-left: 0; border-top: 1px solid rgba(255,255,255,.22); }
  .brochure-gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 45svh; }
  .brochure-gallery-grid figure.is-featured { grid-column: auto; }
  .brochure-contact-grid { grid-template-columns: 1fr; }
}

/* Brochure proportion and density refinement. */
.brochure-cover h1 { font-size: clamp(2.6rem, 4.8vw, 5.2rem); }
.brochure-spread h2 { margin-bottom: 1.15rem; font-size: clamp(1.8rem, 2.75vw, 3.35rem); line-height: 1.14; }
.brochure-spread h3 { font-size: clamp(1rem, 1.35vw, 1.35rem); }
.brochure-spread p { font-size: clamp(.82rem, .92vw, .94rem); line-height: 1.58; }
.brochure-welcome-title { max-width: 25ch !important; font-size: clamp(1.65rem, 2.35vw, 2.8rem) !important; letter-spacing: .055em; white-space: nowrap; }
.brochure-copy-panel { padding: clamp(5.5rem, 7vw, 6.75rem) clamp(2.5rem, 4.5vw, 5rem) clamp(2.25rem, 3.5vw, 3.5rem); }
.brochure-copy-panel .brochure-rule { margin-block: .45rem 1rem; }
.brochure-copy-panel > p:not(.eyebrow) { margin-block: 0 .75rem; }

.brochure-stat-row {
  margin: auto calc(clamp(2.5rem, 4.5vw, 5rem) * -1) calc(clamp(2.25rem, 3.5vw, 3.5rem) * -1);
  padding: 1.45rem clamp(2.5rem, 4.5vw, 5rem) 1.6rem;
  border: 0;
  color: var(--color-gold);
  background: #061d33;
}
.brochure-stat-row strong { font-size: clamp(1.45rem, 2vw, 2rem); }
.brochure-stat-row span { color: var(--color-gold); font-size: .61rem; }

.brochure-ecosystem-copy { align-items: center; gap: clamp(2rem, 5vw, 5rem); padding: clamp(2.2rem, 3.5vw, 3.4rem) var(--page-gutter); }
.brochure-ecosystem-copy h2 { max-width: 22ch; }
.brochure-columns { column-gap: 2.25rem; }
.brochure-columns li { margin-bottom: .5rem; font-size: clamp(.84rem, .95vw, 1rem); line-height: 1.45; }

.brochure-small-heading { margin-top: 1.25rem; }
.brochure-home-types { margin: 0; padding: 0; list-style: none; }
.brochure-home-types li { margin-bottom: .38rem; font-size: clamp(.76rem, .82vw, .88rem); }
.brochure-note { margin-top: 1rem; }

.brochure-phase-content,
.brochure-table-content,
.brochure-ownership-content { padding-block: clamp(5.75rem, 7vw, 7rem) clamp(2.5rem, 3.5vw, 3.5rem); }
.brochure-phase-grid { margin-top: 1.25rem; }
.brochure-phase-grid article { padding: clamp(.9rem, 1.55vw, 1.45rem); }
.brochure-table { margin-top: 1.25rem; }
.brochure-table-row > * { padding: .62rem .8rem; }
.brochure-residence-data > div { padding: clamp(1.8rem, 3vw, 3rem) var(--page-gutter); }
.brochure-residence-data h2 { font-size: clamp(1.65rem, 2.35vw, 2.65rem); }
.brochure-specs > div { padding: .65rem 0; }
.brochure-community-copy { padding: clamp(1.75rem, 2.5vw, 2.6rem); }
.brochure-community-copy h2 { font-size: clamp(1.65rem, 2.5vw, 3rem); }

.brochure-gallery-page { position: relative; display: block; height: 100svh; min-height: 100svh; padding: 0; }
.brochure-gallery-title {
  position: absolute;
  z-index: 3;
  top: calc(46svh - 7.25rem);
  left: 0;
  width: 100%;
  padding: 1.1rem var(--page-gutter) 1.35rem;
  background: linear-gradient(0deg, rgba(3,18,32,.78), transparent);
  text-shadow: 0 2px 18px rgba(0,0,0,.4);
}
.brochure-gallery-title .eyebrow { margin-bottom: .45rem; }
.brochure-gallery-title h2 { margin: 0; font-size: clamp(1.75rem, 2.8vw, 3.25rem); }
.brochure-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 46fr 27fr 27fr;
  grid-auto-rows: 0;
  width: 100%;
  height: 100%;
  gap: 2px;
}
.brochure-gallery-grid figure { min-width: 0; min-height: 0; }
.brochure-gallery-grid figure.is-featured { grid-column: 1 / -1; }

@media (min-width: 981px) {
  .brochure-cover,
  .brochure-spread { width: 100%; height: 100svh; min-height: 100svh; }
  .brochure-copy-panel,
  .brochure-spread__image,
  .brochure-spread__image img { height: 100%; min-height: 0; }
  .brochure-copy-panel { padding-top: clamp(4.25rem, 5.25vw, 5.25rem); padding-bottom: clamp(1.5rem, 2.25vw, 2.25rem); }
  #estate .brochure-copy-panel { padding-top: 4rem; padding-bottom: 3.25rem; }
  .brochure-ecosystem-page { grid-template-rows: 42svh 58svh; }
  .brochure-residence-detail { grid-template-rows: 40svh 60svh; }
  .brochure-residence-data { min-height: 0; overflow: hidden; }
  .brochure-community-page { height: 100svh; }
}

@media (max-width: 980px) {
  .brochure-spread { height: auto; min-height: 0; }
  .brochure-stat-row {
    margin: 1.5rem calc(clamp(2.5rem, 4.5vw, 5rem) * -1) calc(clamp(2.25rem, 3.5vw, 3.5rem) * -1);
  }
  #estate .brochure-copy-panel { padding-bottom: 4rem; }
  .brochure-gallery-page { height: auto; min-height: 0; }
  .brochure-gallery-title { top: calc(48svh - 7rem); }
  .brochure-gallery-grid { grid-template-rows: 48svh repeat(2, minmax(14rem, 30svh)); height: auto; }
  .brochure-contact-page { min-height: 100svh; padding: 8rem var(--page-gutter) 3rem; }
  .brochure-contact-logo { flex-wrap: nowrap; justify-content: center; }
  .brochure-contact-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2.5rem; }
}

@media (max-width: 640px) {
  .brochure-copy-panel { padding: 5.5rem 1.25rem 2.5rem; }
  .brochure-stat-row { margin: 1.25rem -1.25rem -2.5rem; padding: 1.35rem 1.25rem 1.5rem; }
  .brochure-gallery-title { top: calc(52svh - 6.6rem); }
  .brochure-gallery-grid { grid-template-columns: 1fr; grid-template-rows: 52svh; grid-auto-rows: 38svh; }
  .brochure-gallery-grid figure.is-featured { grid-column: auto; }
  .brochure-gallery-title h2 { font-size: 1.7rem; }
  .brochure-welcome-title { white-space: normal; }
  .brochure-contact-page { padding-top: 6.5rem; }
  .brochure-contact-logo { gap: .7rem; }
  .brochure-contact-mark { width: 3.25rem; height: 2.15rem; }
  .brochure-contact-name { font-size: 1.2rem; letter-spacing: .18em; }
  .brochure-contact-grid { grid-template-columns: 1fr; gap: 1.25rem; margin-top: 2rem; }
  .brochure-domain { margin-top: 2rem !important; }
}

/* 2.3.2 — Consistent alignment inside every petrol-blue panel. */
.brochure-onepage {
  --blue-panel-inline: clamp(2.5rem, 4.5vw, 5rem);
  --blue-panel-block: clamp(2rem, 2.5vw, 2.75rem);
}

.brochure-copy-panel {
  justify-content: center;
  padding: var(--blue-panel-block) var(--blue-panel-inline);
}

#estate .brochure-copy-panel {
  padding: var(--blue-panel-block) var(--blue-panel-inline);
}

.brochure-residence-data > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: var(--blue-panel-block) var(--blue-panel-inline);
  overflow-wrap: anywhere;
}

.brochure-residence-data > div > :first-child { margin-top: 0; }
.brochure-residence-data > div > :last-child { margin-bottom: 0; }

.brochure-phase-grid article {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.brochure-ecosystem-copy {
  align-content: center;
  align-items: center;
}

.brochure-ecosystem-copy > div {
  align-self: center;
  transform: none;
}

@media (max-width: 980px) {
  .brochure-onepage {
    --blue-panel-inline: clamp(1.75rem, 6vw, 3.5rem);
    --blue-panel-block: clamp(3rem, 7vw, 5rem);
  }

  .brochure-copy-panel,
  #estate .brochure-copy-panel,
  .brochure-residence-data > div {
    padding: var(--blue-panel-block) var(--blue-panel-inline);
  }

  .brochure-ecosystem-copy > div { transform: none; }
}

@media (max-width: 640px) {
  .brochure-onepage {
    --blue-panel-inline: 1.25rem;
    --blue-panel-block: 3.25rem;
  }

  .brochure-copy-panel,
  #estate .brochure-copy-panel,
  .brochure-residence-data > div {
    padding: var(--blue-panel-block) var(--blue-panel-inline);
  }

  .brochure-ecosystem-copy > div { transform: none; }
}

/* 2.3.3 — Preserve every supplied image without cropping or stretching. */
.brochure-onepage .brochure-spread__image img,
.brochure-onepage .brochure-image-duo img,
.brochure-onepage .brochure-residential-images img,
.brochure-onepage .brochure-residence-hero img,
.brochure-onepage .brochure-gallery-grid img,
.brochure-onepage .brochure-community-images img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: var(--color-petrol-dark);
}

.brochure-onepage .brochure-gallery-grid img[src$="floorplan.png"],
.brochure-onepage .brochure-gallery-grid img[src*="floorplan-"] {
  background: #f3f0e9;
}

.brochure-phase-page,
.brochure-collection-table,
.brochure-ownership-page,
.brochure-visit-page,
.brochure-contact-page {
  background-color: var(--color-petrol-dark);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* Centre the complete ecosystem row inside its blue panel. */
.brochure-ecosystem-copy {
  min-height: 0;
  padding-block: clamp(3.5rem, 7vh, 5.5rem);
}

/* Footer lock-up: enlarged cropped symbol above the separate wordmark. */
.brochure-contact-logo {
  flex-direction: column;
  gap: clamp(.6rem, 1vw, .9rem);
}

.brochure-contact-mark {
  width: clamp(6rem, 8vw, 8rem);
  height: clamp(3.5rem, 5.2vw, 4.8rem);
  overflow: hidden;
}

.brochure-contact-mark img {
  width: 100%;
  max-width: none;
  height: auto;
  object-fit: initial;
  object-position: initial;
}

@media (max-width: 640px) {
  .brochure-contact-mark {
    width: 5.5rem;
    height: 3.25rem;
  }
}

/* 2.3.4 — Let photography fill its section again without distortion. */
.brochure-onepage .brochure-spread__image img,
.brochure-onepage .brochure-image-duo img,
.brochure-onepage .brochure-residential-images img,
.brochure-onepage .brochure-residence-hero img,
.brochure-onepage .brochure-gallery-grid img,
.brochure-onepage .brochure-community-images img {
  object-fit: cover;
  object-position: center;
}

.brochure-phase-page,
.brochure-collection-table,
.brochure-ownership-page,
.brochure-visit-page,
.brochure-contact-page {
  background-size: cover;
}

/* Keep both ecosystem columns aligned while placing the group slightly lower. */
.brochure-ecosystem-copy > div {
  transform: translateY(clamp(1rem, 2vh, 1.5rem));
}

.brochure-ecosystem-copy > div:first-child {
  transform: translateY(clamp(3.5rem, 7vh, 4.5rem));
}

@media (max-width: 980px) {
  .brochure-ecosystem-copy > div {
    transform: translateY(.75rem);
  }

  .brochure-ecosystem-copy > div:first-child {
    transform: translateY(1.5rem);
  }
}

@media (max-width: 640px) {
  .brochure-ecosystem-copy > div {
    transform: translateY(.5rem);
  }

  .brochure-ecosystem-copy > div:first-child {
    transform: translateY(1rem);
  }
}

/* 2.3.8 — Brochure-matched focal points. Most imagery remains centred. */
.brochure-onepage img {
  object-position: 50% 50%;
}

/* Historic estate imagery: retain the church, tower and leading pathways. */
.brochure-onepage img[src*="welcome-amoria-estate.jpg"] { object-position: 58% 50%; }
.brochure-onepage img[src*="estate-private-sanctuary.jpg"] { object-position: 54% 50%; }
.brochure-onepage img[src*="castell-church.webp"] { object-position: 56% 50%; }
.brochure-onepage img[src*="boutique-community.webp"] { object-position: 54% 50%; }
.brochure-onepage img[src*="boutique-hotel.webp"] { object-position: 52% 50%; }
.brochure-onepage img[src*="restaurant-terrace.webp"] { object-position: 52% 48%; }
.brochure-onepage img[src*="vall-de-linya-landscape.webp"] { object-position: 52% 48%; }

/* Pools, wellness and aerial views: keep the architectural subject dominant. */
.brochure-onepage img[src*="pool-overview.webp"] { object-position: 50% 54%; }
.brochure-onepage img[src*="wellness-area.webp"] { object-position: 52% 54%; }
.brochure-onepage img[src*="spa.webp"] { object-position: 50% 55%; }
.brochure-onepage img[src*="lake-beach-club.webp"] { object-position: 50% 55%; }
.brochure-onepage img[src*="masia-villas.webp"] { object-position: 50% 52%; }
.brochure-onepage img[src*="residence-scenery.webp"] { object-position: 50% 52%; }
.brochure-onepage img[src*="mirror-residence-scenery.webp"] { object-position: 50% 52%; }

/* Residence hero images follow the framing used on the brochure unit pages. */
.brochure-onepage img[src*="residence-modern-pool.webp"] { object-position: 54% 54%; }
.brochure-onepage img[src*="residence-modern-premium.webp"] { object-position: 52% 54%; }
.brochure-onepage img[src*="dome-mirrored-pool.webp"] { object-position: 50% 56%; }
.brochure-onepage img[src*="dome-01-exterior-day.png"] { object-position: 50% 55%; }
.brochure-onepage img[src*="dome-07-exterior-night.png"] { object-position: 50% 58%; }
.brochure-onepage img[src*="cave-house-pool.webp"] { object-position: 52% 55%; }
.brochure-onepage img[src*="cave-02-unit.jpg"] { object-position: 52% 55%; }
.brochure-onepage img[src*="cave-03-multiple.jpg"] { object-position: 50% 54%; }
.brochure-onepage img[src*="cave-04-hillside.jpg"] { object-position: 52% 55%; }
.brochure-onepage img[src*="residence-natural-pool.webp"] { object-position: 54% 55%; }
.brochure-onepage img[src*="natural-02-exterior.png"] { object-position: 50% 55%; }
.brochure-onepage img[src*="villa-01-exterior-source.png"] { object-position: 50% 54%; }
.brochure-onepage img[src*="villa-07-terrace-source.png"] { object-position: 50% 52%; }

/* Floor plans must remain completely visible, exactly as in the brochure. */
.brochure-onepage .brochure-gallery-grid img[src*="floorplan"],
.brochure-onepage .brochure-gallery-grid img[src*="villa-02-ground-source.png"],
.brochure-onepage .brochure-gallery-grid img[src*="villa-03-first-source.png"] {
  object-fit: contain;
  object-position: 50% 50%;
  background: #f3f0e9;
}

/* Full-section background compositions from the matching brochure spreads. */
.brochure-phase-page { background-position: 50% 52%; }
.brochure-collection-table { background-position: 50% 54%; }
.brochure-ownership-page { background-position: 54% 50%; }
.brochure-visit-page { background-position: 52% 50%; }
.brochure-contact-page { background-position: 52% 48%; }

/* 2.3.9 — Compact reduced galleries and centre the welcome copy. */
/* When a gallery contains only the featured image plus three supporting
   images, use two complete rows instead of reserving an empty third row. */
.brochure-gallery-grid:not(:has(figure:nth-child(5))) {
  grid-template-rows: 46fr 54fr;
}

/* Balance the welcome copy between the top of the panel and the fixed
   statistics strip, while keeping that strip anchored to the bottom. */
#welcome .brochure-copy-panel > .eyebrow:first-child {
  margin-top: auto;
}

@media (max-width: 980px) and (min-width: 641px) {
  .brochure-gallery-grid:not(:has(figure:nth-child(5))) {
    grid-template-rows: 48svh minmax(14rem, 52svh);
  }
}

@media (max-width: 640px) {
  .brochure-gallery-grid:not(:has(figure:nth-child(5))) {
    grid-template-rows: 52svh;
    grid-auto-rows: 38svh;
  }
}

/* === AXORO brand === */
:root { --axoro-gold: #d4a648; --axoro-gold-soft: #f0d58c; }
.site-branding img { width: 3.4rem; height: 3.4rem; max-height: none; filter: none; border-radius: 50%; box-shadow: 0 0 18px rgba(212, 166, 72, .35); }
.site-footer__brand img { width: 7rem; height: 7rem; filter: none; border-radius: 50%; }
.brochure-cover__logo { display: block; width: clamp(7rem, 11vw, 10rem); height: auto; margin: 0 0 1.4rem; border-radius: 50%; filter: drop-shadow(0 0 24px rgba(212, 166, 72, .45)); }
.brochure-cover h1 { max-width: 18ch; }
.brochure-cover .eyebrow, .brochure-cover__location { color: var(--axoro-gold-soft); }
.brochure-cover__rule { background: var(--axoro-gold); }
.brochure-contact-mark, .brochure-contact-logo .brochure-contact-mark { width: clamp(7rem, 10vw, 9rem); height: auto; overflow: visible; }
.brochure-contact-mark img { filter: none; border-radius: 50%; }
.brochure-contact-name { color: var(--axoro-gold-soft); }
.brochure-domain { color: var(--axoro-gold-soft); }
