/* Shared project landing-page theme. Typography and WhatsApp buttons inherit style.css. */
.project-page {
  color:var(--theme-green);
  background:var(--surface-white);
  font-family:var(--font-body);
}

.project-page [hidden] {
  display:none!important;
}

.project-page button,.project-page input {
  font:inherit;
}

.project-page section[id] {
  scroll-margin-top:68px;
}

.project-page button:focus-visible,.project-page a:focus-visible {
  outline:3px solid #b58f4e;
  outline-offset:4px;
}

.skip-link {
  position:fixed;
  top:-80px;
  left:20px;
  z-index:100;
  background:white;
  padding:12px;
}

.skip-link:focus {
  top:10px;
}

.project-header {
  position:fixed;
  background:var(--surface-white);
  inset:0 0 auto;
  z-index:30;
  display:flex;
  align-items:center;
  gap:20px;
  width:100%;
  padding:4px 16px;
  transition:background .2s,box-shadow .2s;
}

.project-header.is-scrolled {
  background:#fff;
  box-shadow:0 2px 12px #0002;
}

.project-brand {
  flex-shrink:0;
}

.project-brand img {
  display:block;
  width:100px;
  height:44px;
  object-fit:contain;
}

.project-header.is-scrolled .project-brand img {
  filter:brightness(0);
}

.project-nav {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:0;
  padding:3px 6px;
  border:1px solid #bdc9bc;
  border-radius:40px;
  background:rgb(255 255 255 / 94%);
  margin-left:auto;
  flex:1;
  max-width:none;
}

.project-nav a {
  font-size:14px;
  white-space:nowrap;
  color:var(--theme-green);
  padding:8px 8px;
  border-radius:30px;
  line-height:1.2;
}

.project-nav a:hover,.project-nav a[aria-current] {
  background:var(--theme-green);
  color:white;
}

.project-phone {
  white-space:nowrap;
  border-radius:30px;
  padding:9px 16px;
  background:var(--theme-green);
  color:white;
  font-size:14px;
}

.project-menu-toggle {
  display:none;
}

.project-hero {
  position:relative;
  height:720px;
  min-height:720px;
  padding:0;
  isolation:isolate;
}

.hero-slides,.hero-slide,.hero-slide img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.hero-slides {
  z-index:-2;
}

.hero-slide img {
  object-fit:cover;
}

.project-hero:after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#0005,#0001);
  z-index:-1;
}

.hero-layout {
  width:80%;
  max-width:none;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:0;
  height:100%;
}

.project-copy {
  padding:20px 30px;
  background:rgb(255 255 255 / 91%);
  border:1px solid #bcc9bd;
  border-radius:10px;
  color:var(--theme-green);
  width:42.5%;
  max-width:none;
  box-shadow:0 0 0 3px #ffffff24;
}

.project-copy h1 {
  font-size:30px;
  font-weight:500;
  line-height:1.5;
  margin:0 0 5px;
  letter-spacing:.02em;
}

.hero-address {
  font-size:25px;
  line-height:1.2;
  margin:0 0 8px;
}

.hero-points {
  list-style:none;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:0;
  margin:0 0 16px;
  gap:6px;
}

.hero-points li {
  display:flex;
  gap:8px;
  align-items:center;
  padding:5px 10px;
  background:#fff;
  border:1px solid #d4ddd3;
  border-radius:10px;
  font-size:13px;
  line-height:24px;
  box-shadow:0 1px 4px #173c2420;
}

.hero-points li:first-letter {
  color:#d7bb87;
}

.hero-price-lines p {
  display:table;
  margin:14px 0 0;
  background:var(--theme-green);
  color:white;
  border-radius:6px;
  text-align:center;
  padding:5px 15px;
  font-size:17px;
  line-height:1.35;
  font-weight:500;
}

.hero-note {
  font-size:10px;
  color:#516257;
  margin:10px 0 0;
}



.hero-controls button {
  border:1px solid #fff9;
  border-radius:50%;
  height:44px;
  width:44px;
  background:#123d30bd;
  color:white;
  font-size:27px;
  cursor:pointer;
}

.hero-controls span {
  font-size:12px;
}

.inline-enquiry {
  background:#fff;
  border:1px solid #b8c6b8;
  border-radius:10px;
  padding:28px 25px;
  box-shadow:0 0 0 3px #ffffff24;
  color:var(--theme-green);
  width:100%;
}

.hero-layout>.inline-enquiry {
  width:28.75%;
  flex-shrink:0;
}

.inline-enquiry h2 {
  font-size:24px;
  line-height:1.15;
  margin:0 0 24px;
  padding:10px 15px;
  border:1px solid #9faf9e;
  border-radius:5px;
  font-weight:500;
}

.project-form label {
  display:block;
  font-size:12px;
  margin:10px 0 4px;
}

.project-form input:not([type=hidden]) {
  width:100%;
  min-height:42px;
  border:0;
  border-bottom:1px solid #a5b1a5;
  border-radius:0;
  padding:7px 10px;
  margin:0 0 10px;
  background:transparent;
  color:var(--theme-green);
  font-size:16px;
}

.project-phone-fields {
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:8px;
}

.project-consent {
  font-size:11px;
  line-height:1.45;
  color:#485c50;
  margin:12px 0 0;
}

.project-consent a {
  text-decoration:underline;
}

.project-trap {
  position:absolute;
  left:-9999px;
}

.project-form-status {
  font-size:13px;
  line-height:1.4;
  margin:10px 0 0;
}

.project-form-status:empty {
  margin:0;
}

.project-button {
  min-height:44px;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding:10px 24px;
  border:1px solid var(--theme-green);
  border-radius:8px;
  background:var(--theme-green);
  color:#fff;
  cursor:pointer;
  font-size:15px;
  line-height:1.4;
  text-decoration:none;
}

.project-button:hover {
  background:#1e5142;
}

.project-button:disabled {
  opacity:.65;
  cursor:wait;
}

.project-form .project-button {
  width:100%;
  margin-top:10px;
  border-radius:4px;
}

.project-button-outline {
  color:var(--theme-green);
  background:transparent;
}

.project-button-outline:hover {
  color:white;
}

.section-inner {
  width:calc(100% - 48px);
  max-width:1116px;
  margin:0 auto;
}

.project-section {
  padding:30px 0;
  box-shadow:0 8px 16px -16px #0006;
}

.cream-section {
  background:var(--surface-cream);
}

.section-heading {
  text-align:center;
  margin-bottom:38px;
}

.section-heading p,.section-kicker {
  font-size:30px;
  line-height:1.2;
  margin:0 0 8px;
  font-weight:400;
}

.section-heading h2,.split-section h2,.brochure-layout h2 {
  font-size:34px;
  font-weight:400;
  line-height:1.25;
  margin:0;
}

.split-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6%;
  align-items:center;
}

.split-section p {
  font-size:16px;
  line-height:1.55;
  margin:0 0 20px;
}

.split-section .project-button {
  margin-top:12px;
}

.rounded-image {
  width:100%;
  height:auto;
  object-fit:cover;
  border-radius:40px;
}

.split-section>div:first-child h2 {
  margin-bottom:26px;
}

.brochure-strip {
  padding:30px 0;
  background:var(--surface-cream);
  color:var(--theme-green);
}

.brochure-layout {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:24px;
  text-align:center;
}

.brochure-layout>img {
  height:195px;
  width:100%;
  object-fit:contain;
}

.brochure-layout h2 {
  font-size:30px;
  line-height:1.25;
  margin-bottom:12px;
}

.brochure-layout p {
  margin:0 0 20px;
}

.brochure-layout .project-button {
  background:var(--theme-green);
  color:white;
}

.highlight-list,.location-list {
  list-style:none;
  padding:0;
  margin:0;
}

.highlight-list li {
  display:flex;
  align-items:center;
  gap:16px;
  padding:14px 0;
  min-height:61px;
  border-bottom:1px solid #b4c0b6;
  font-size:18px;
}

.highlight-list li>span {
  flex-shrink:0;
  border:2px solid #9d834a;
  border-radius:50%;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  color:#846a32;
}

.pricing-section {
  background:linear-gradient(163deg,#fff 46%,var(--surface-cream) 46%);
  padding:50px 0;
}

.price-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:44px;
  padding-top:20px;
}

.price-card {
  position:relative;
  background:#f2f0eb;
  border-radius:10px;
  text-align:center;
  padding:28px 28px 30px;
}

.price-card h3 {
  position:absolute;
  top:-25px;
  left:18%;
  right:18%;
  border:5px solid white;
  border-radius:12px;
  background:var(--theme-green);
  color:white;
  font-size:24px;
  font-weight:400;
  margin:0;
  padding:7px;
}

.price-value {
  font-size:30px;
  border-bottom:1px solid var(--theme-border);
  margin:0 -28px 20px;
  padding:10px 15px 20px;
}

.price-card>p:not(.price-value) {
  font-size:18px;
  margin:12px 0;
}

.size-row {
  display:flex;
  justify-content:space-between;
  gap:10px;
}

.size-row strong {
  font-weight:500;
}

.price-card .project-button {
  margin-top:10px;
  width:90%;
}

.price-disclaimer {
  color:#536058;
  font-size:11px;
  text-align:center;
  max-width:850px;
  margin:22px auto 0;
}

.amenity-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px 50px;
}

.amenity-grid>div {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:165px;
  border:0;
  border-radius:10px;
  padding:20px;
  background:#f4f2ef;
}

.amenity-grid img {
  width:84px;
  height:84px;
  padding:10px;
  object-fit:contain;
  margin-bottom:12px;
}

.amenity-grid h3 {
  font-size:18px;
  font-weight:400;
  margin:0;
  text-align:center;
}

.section-note {
  font-size:12px!important;
  color:#536058;
  text-align:center;
  margin:22px 0 0!important;
}

.image-button {
  padding:0;
  border:0;
  background:none;
  cursor:zoom-in;
  overflow:hidden;
}

.image-button img {
  display:block;
  width:100%;
}

.gallery-grid {
  display:grid;
  grid-template-columns:2fr 1fr 1fr 2fr;
  grid-template-rows:215px 101px;
  gap:20px;
}

.gallery-item {
  border-radius:20px;
  overflow:hidden;
  min-width:0;
}

.gallery-item img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .25s;
}

.gallery-item:hover img {
  transform:scale(1.03);
}


.gallery-item-1 {
  grid-column:1;
  grid-row:1/3;
}

.gallery-item-2 {
  grid-column:2/4;
  grid-row:1;
}

.gallery-item-5 {
  grid-column:4;
  grid-row:1/3;
}

.gallery-item-3 {
  grid-column:2;
  grid-row:2;
}

.gallery-item-4 {
  grid-column:3;
  grid-row:2;
}

.location-list li {
  border-bottom:1px solid #b4c0b6;
  min-height:61px;
  padding:14px 0;
  font-size:17px;
  display:flex;
  align-items:center;
  gap:12px;
}

.location-list span {
  color:#836631;
  font-size:21px;
}

.contact-section {
  background:var(--surface-cream);
  color:var(--theme-green);
  padding:100px 0;
}

.contact-section .split-section {
  grid-template-columns:1.55fr 1fr;
  gap:7%;
}

.contact-section h3 {
  font-size:25px;
  font-weight:400;
}

.contact-section .connect-button {
  margin-top:8px;
}

.contact-section .inline-enquiry {
  max-width:430px;
  justify-self:end;
}

.project-footer {
  padding:25px max(6%,calc((100vw - 1140px)/2));
  background:#f7f6f2;
  color:#435047;
  font-size:12px;
  line-height:1.7;
}

.project-footer p {
  margin:0 0 10px;
}

.project-footer strong {
  color:var(--theme-green);
}

.project-footer nav {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  margin-top:14px;
}

.project-footer a {
  text-decoration:underline;
  text-underline-offset:3px;
}

.project-footer a:hover {
  color:var(--color-gold,#caa75c);
}

.floating-query {
  position:fixed;
  right:0;
  top:50%;
  writing-mode:vertical-rl;
  transform:translateY(-50%);
  z-index:20;
  padding:20px 12px;
  background:var(--theme-green);
  color:white;
  border:1px solid #fff8;
  border-radius:8px 0 0 8px;
  cursor:pointer;
}

.project-contact-bar {
  display:none;
}

.project-dialog {
  border:0;
  border-radius:16px;
  padding:28px;
  width:min(420px,calc(100% - 28px));
  max-height:calc(100dvh - 32px);
  overflow:auto;
  color:var(--theme-green);
  background:var(--surface-cream);
}

.project-dialog::backdrop,.image-dialog::backdrop {
  background:#000b;
}

.project-dialog h2 {
  font-size:26px;
  font-weight:400;
  margin:8px 28px 6px 0;
}

.project-dialog-intro {
  font-size:14px;
  color:#566257;
  margin:0 0 20px;
}

.project-dialog-close,.image-dialog>button {
  position:absolute;
  top:8px;
  right:10px;
  border:0;
  background:white;
  border-radius:50%;
  font-size:28px;
  color:var(--theme-green);
  width:40px;
  height:40px;
  cursor:pointer;
}

.project-thanks .project-button {
  width:100%;
  margin-top:12px;
}

.image-dialog {
  padding:50px 16px 16px;
  border:0;
  border-radius:12px;
  max-width:94vw;
  max-height:92dvh;
}

.image-dialog img {
  display:block;
  max-width:85vw;
  max-height:78dvh;
  object-fit:contain;
}

@media(min-width:768px) and (max-width:1200px) {
  .project-header {
    gap:12px;
    padding-inline:16px;
  }

  .project-brand img {
    width:102px;
  }

  .project-nav a {
    font-size:12px;
    padding:8px 6px;
  }

  .project-phone {
    font-size:12px;
    padding:9px 10px;
  }

  .hero-layout {
    width:88%;
    gap:20px;
  }

  .project-copy {
    padding:24px;
    max-width:450px;
  }

  .hero-layout>.inline-enquiry {
    width:290px;
  }

}

@media(max-width:1000px) {
  .project-phone {
    display:none;
  }

  .project-nav {
    margin-left:auto;
  }

  .split-section {
    gap:5%;
  }

  .price-grid {
    gap:24px;
  }

  .price-card {
    padding-inline:18px;
  }

  .price-value {
    margin-inline:-18px;
  }

  .price-card h3 {
    left:10%;
    right:10%;
  }

  .rounded-image {
    height:450px;
  }

}

@media(max-width:767px) {
  .project-page {
    padding-bottom:calc(62px + env(safe-area-inset-bottom));
  }

  .project-page section[id] {
    scroll-margin-top:64px;
  }

  .project-header {
    padding:4px 12px;
    justify-content:space-between;
  }

  .project-brand img {
    width:100px;
    height:44px;
  }

  .project-menu-toggle {
    display:block;
    border:0;
    background:transparent;
    color:white;
    font-size:27px;
    width:44px;
    height:44px;
    cursor:pointer;
  }

  .is-scrolled .project-menu-toggle {
    color:var(--theme-green);
  }

  .project-nav {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    max-height:calc(100dvh - 140px);
    overflow:auto;
    border-radius:0;
    margin:0;
    padding:12px 20px;
    background:var(--theme-green);
  }

  .project-nav.is-open {
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }

  .project-nav a {
    padding:12px 16px;
    font-size:16px;
  }

  .project-phone {
    display:none;
  }

  .project-hero {
    height:auto;
    min-height:0;
    max-height:none;
    padding:0;
    background:var(--surface-cream);
  }

  .project-hero:after {
    display:none;
  }

  .hero-slides {
    position:relative;
    height:390px;
    z-index:0;
  }

  .hero-slide img {
    object-position:center;
  }

  .hero-layout {
    display:block;
    width:100%;
    height:auto;
  }

  .project-copy {
    max-width:none;
    border:0;
    border-radius:0;
    background:transparent;
    color:var(--theme-green);
    box-shadow:none;
    padding:22px 20px;
    display:flex;
    flex-direction:column;
  }

  .project-copy h1 {
    text-align:center;
    font-size:30px;
    order:0;
  }

  .hero-address {
    text-align:center;
    font-size:24px;
    order:1;
  }

  .hero-price-lines {
    order:2;
  }

  .hero-price-lines p {
    background:var(--theme-green);
    color:white;
    font-size:19px;
    padding:12px;
  }

  .hero-points {
    order:3;
    align-items:stretch;
    margin-bottom:0;
  }

  .hero-points li {
    background:white;
    color:var(--theme-green);
    border-color:var(--theme-border);
    font-size:14px;
    padding:10px 12px;
  }

  .hero-note {
    order:4;
  }

  

  .hero-layout>.inline-enquiry {
    width:calc(100% - 40px);
    margin:0 20px 28px;
    padding:22px;
    box-shadow:none;
  }

  .inline-enquiry h2 {
    font-size:25px;
  }

  .project-form input:not([type=hidden]) {
    font-size:16px;
    min-height:44px;
  }

  .project-form label {
    font-size:13px;
  }

  .section-inner {
    width:88%;
  }

  .project-section {
    padding:38px 0;
  }

  .section-heading {
    margin-bottom:28px;
  }

  .section-heading p,.section-kicker {
    font-size:22px;
  }

  .section-heading h2,.split-section h2 {
    font-size:29px;
  }

  .split-section {
    grid-template-columns:1fr;
    gap:28px;
  }

  .split-section p {
    font-size:16px;
  }

  .rounded-image {
    height:390px;
    border-radius:26px;
  }

  .brochure-layout {
    gap:18px;
    flex-direction:column;
  }

  .brochure-layout>img {
    height:120px;
    width:120px;
  }

  .brochure-layout h2 {
    font-size:25px;
  }

  .brochure-layout p {
    font-size:15px;
  }

  .highlight-list li {
    font-size:16px;
    padding:14px 0;
  }

  .price-grid {
    grid-template-columns:1fr;
    gap:48px;
  }

  .pricing-section {
    background:linear-gradient(160deg,#fff 22%,var(--theme-green) 22%);
  }

  .price-card {
    padding:36px 28px 28px;
  }

  .price-card h3 {
    left:20%;
    right:20%;
  }

  .price-value {
    margin-inline:-28px;
  }

  .amenity-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }

  .amenity-grid>div {
    min-height:150px;
    padding:18px 8px;
  }

  .amenity-grid h3 {
    font-size:16px;
  }

  .amenity-grid img {
    width:52px;
    height:52px;
  }

  .gallery-grid {
    grid-template-columns:1fr 1fr;
    grid-template-rows:200px 140px 160px;
    gap:12px;
  }

  .gallery-item-1 {
    grid-column:1;
    grid-row:1;
  }

  .gallery-item-2 {
    grid-column:2;
    grid-row:1;
  }

  .gallery-item-3 {
    grid-column:1/3;
    grid-row:3;
  }

  .gallery-item-4 {
    grid-column:1;
    grid-row:2;
  }

  .gallery-item-5 {
    grid-column:2;
    grid-row:2;
  }

  .gallery-item {
    border-radius:14px;
  }

  .contact-section .split-section {
    grid-template-columns:1fr;
  }

  .contact-section .inline-enquiry {
    max-width:none;
  }

  .project-footer {
    padding:26px 6%;
  }

  .floating-query {
    display:none;
  }

  .project-contact-bar {
    position:fixed;
    inset:auto 0 0;
    z-index:35;
    display:grid;
    grid-template-columns:.8fr 1.2fr 1fr;
    gap:6px;
    padding:8px 6px calc(8px + env(safe-area-inset-bottom));
    background:var(--surface-dark);
    align-items:stretch;
  }

  .project-contact-bar>a:not(.connect-button),.project-contact-bar>button {
    display:flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:8px;
    background:white;
    color:var(--theme-green);
    font-size:12px;
    min-height:44px;
    padding:6px;
    cursor:pointer;
    white-space:nowrap;
  }

  .project-contact-bar .connect-button {
    min-height:44px;
    padding:6px;
    font-size:12px;
    gap:5px;
  }

  .project-contact-bar .connect-button svg {
    width:17px;
    height:17px;
    flex-shrink:0;
  }

  .project-dialog {
    padding:24px;
  }

}

@media(prefers-reduced-motion:reduce) {
  .project-page * {
    scroll-behavior:auto!important;
    transition:none!important;
  }

}

/* Preserve image proportions and stable lazy-loading layouts. */
.hero-points svg {
  flex-shrink:0;
  color:#d6ba85;
}

.split-section>.image-button img {
  height:auto;
}

.brochure-layout img {
  flex-shrink:0;
}


/* Measured reference geometry, adapted only for the light palette and shared fonts. */
.point-icon { width:24px; height:24px; object-fit:contain; flex-shrink:0; }
.project-form>label:not(.consent-check), .project-phone-fields label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.project-form input::placeholder { color:#526256; opacity:1; }
.project-form .consent-check { display:flex; gap:6px; align-items:flex-start; margin:10px 0 0; font-size:11px; line-height:1.4; }
.project-form .consent-check input { appearance:auto; width:14px; min-height:14px; height:14px; flex-shrink:0; margin:2px 0 0; padding:0; accent-color:var(--theme-green); }
.project-phone-fields input { min-width:0; }
#overview .split-section { grid-template-columns:52% 40%; gap:8%; }
#overview .split-section h2 { font-size:40px; margin-bottom:30px; }
#overview .rounded-image { height:auto; }
#highlights { padding:30px 0 70px; }
#highlights .split-section { grid-template-columns:44% 50%; gap:6%; }
#highlights .rounded-image { width:94%; justify-self:center; height:602px; }
#amenities,#master-and-floor-plan { padding:50px 0; }
#gallery .section-inner { width:88%; max-width:none; }
#location-advantage { padding:40px 0; }
.location-distance { margin-left:auto; color:var(--theme-green)!important; font-size:16px!important; white-space:nowrap; }
.project-footer a:hover { color:#846a32; }

.visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media(min-width:768px) and (max-width:1100px) {
 .project-copy { width:49%; padding:20px; }
 .hero-layout { width:90%; }
 .hero-layout>.inline-enquiry { width:34%; }
 .project-header { padding-inline:16px; gap:12px; }
}
@media(max-width:767px) {
 .project-header { padding:4px 12px; }
 .project-nav { background:#fff; border-radius:0; max-width:none; }
 .project-menu-toggle { color:var(--theme-green); }
 .project-hero { height:auto; min-height:0; padding:0; }
 .hero-slides { height:380px; }
 .hero-layout { width:100%; display:block; height:auto; }
 .project-copy { width:100%; max-width:none; padding:3px 15px 15px; background:white; border:0; border-radius:0; }
 .project-copy h1 { font-size:30px; line-height:1.5; margin-bottom:0; }
 .hero-address { font-size:25px; margin-bottom:10px; }
 .hero-price-lines p { display:block; font-size:19px; line-height:1.25; padding:10px 15px; margin-top:14px; }
 .hero-points { margin:14px 0 0; gap:10px; }
 .hero-points li { font-size:13px; min-height:36px; padding:4px 10px; }
 .hero-layout>.inline-enquiry { width:96%; margin:0 2% 20px; padding:22px 25px; }
 
 .section-inner { width:calc(100% - 24px); }
 .project-section { padding:30px 0; }
 .section-heading { margin-bottom:26px; }
 .section-heading p,.section-kicker { font-size:25px; }
 .section-heading h2,.split-section h2 { font-size:28px; }
 .brochure-layout { grid-template-columns:1fr; gap:16px; }
 .brochure-layout>img { height:175px; }
 .brochure-layout h2 { font-size:27px; }
 .split-section,#overview .split-section,#highlights .split-section,.contact-section .split-section { grid-template-columns:1fr; gap:25px; }
 #overview .split-section h2 { font-size:29px; margin-bottom:22px; }
 #overview .rounded-image { padding:10px; height:auto; }
 #highlights { padding:30px 0 20px; }
 #highlights .rounded-image { height:177px; width:92%; object-fit:cover; border-radius:20px; }
 .highlight-list { padding-inline:15px; }
 .highlight-list li { font-size:17px; min-height:61px; }
 #highlights .project-button { margin-left:15px; }
 .price-grid { grid-template-columns:1fr; gap:46px; margin-inline:10px; }
 .pricing-section { background:var(--surface-white); padding:30px 0; }
 .price-card { padding:34px 25px 25px; }
 .amenity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-inline:10px; }
 .amenity-grid>div { padding:15px 6px; min-height:160px; }
 .amenity-grid img { width:84px; height:84px; }
 #amenities,#master-and-floor-plan { padding:30px 0 20px; }
 #gallery .section-inner { width:88%; }
 .gallery-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto auto auto; gap:10px; }
 .gallery-item { border-radius:14px; aspect-ratio:5/3; }
 .gallery-item-1 { grid-column:1; grid-row:1; }
 .gallery-item-2 { grid-column:2; grid-row:1; }
 .gallery-item-3 { grid-column:1/3; grid-row:2; }
 .gallery-item-4 { grid-column:1; grid-row:3; }
 .gallery-item-5 { grid-column:2; grid-row:3; }
 #location-advantage { padding:30px 0; }
 .location-list { padding-inline:15px; }
 .location-list li { font-size:15px; }
 .contact-section { padding:40px 0; }
 .project-footer { padding:25px 20px; }
}


/* Match the homepage navigation: dotted links and the same three-line toggle. */
.project-header .project-nav {
  justify-content:flex-end;
  gap:20px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.project-header .project-nav a {
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:44px;
  padding:0;
  font-size:14px;
  font-weight:400;
  letter-spacing:.5px;
  border-radius:0;
  color:var(--theme-green);
  transition:color .2s ease;
}
.project-header .project-nav a:hover,
.project-header .project-nav a[aria-current] {
  color:#806333;
  background:transparent;
}
@media(max-width:1200px) {
  .project-header .project-phone { display:none; }
  .project-header .project-menu-toggle {
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
    width:44px;
    height:44px;
    margin-left:auto;
    padding:10px;
    border:1px solid #484848;
    border-radius:4px;
    background:transparent;
    color:var(--theme-green);
    cursor:pointer;
  }
  .project-menu-toggle span { width:22px; height:1px; background:currentColor; }
  .project-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
  .project-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .project-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
  .project-header .project-nav {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    margin:0;
    padding:16px 24px;
    max-height:calc(100dvh - 120px);
    overflow-y:auto;
    overscroll-behavior:contain;
    background:var(--surface-white);
    border-top:1px solid var(--theme-border);
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .project-header .project-nav.is-open { display:flex; }
  .project-header .project-nav a { width:100%; font-size:13px; }
}

/* Place slider arrows at the vertical centre of the hero image. */
.hero-controls {
  position:absolute;
  top:50%;
  left:16px;
  right:16px;
  transform:translateY(-50%);
  display:flex;
  justify-content:space-between;
  align-items:center;
  pointer-events:none;
  z-index:2;
}
.hero-controls button {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  color:#fff;
  pointer-events:auto;
  cursor:pointer;
}
.floating-query { top:calc(50dvh + 26px); }
@media(max-width:767px) {
  .hero-controls { top:190px; left:12px; right:12px; }
}
/* Fit the visible hero below the fixed header; retain natural overflow on very short screens. */
.project-hero {
  margin-top:52px;
  height:calc(100svh - 52px);
  min-height:510px;
}
.hero-layout { padding-block:16px; }
@media(min-width:768px) and (max-height:760px) {
  .project-copy { padding:14px 24px; }
  .project-copy h1 { font-size:28px; line-height:1.25; }
  .hero-address { font-size:22px; }
  .hero-points { gap:4px; margin-bottom:10px; }
  .hero-points li { padding:3px 8px; line-height:22px; }
  .hero-price-lines p { margin-top:10px; padding:5px 12px; font-size:16px; }
  .hero-note { margin-top:8px; }
  .hero-layout>.inline-enquiry { padding:18px 22px; }
  .hero-layout>.inline-enquiry h2 { font-size:22px; margin-bottom:14px; }
}
@media(max-width:767px) {
  .project-hero {
    --hero-image-height:clamp(130px, calc(100svh - 500px), 340px);
    height:auto;
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:var(--hero-image-height) auto auto;
  }
  .hero-slides { grid-row:1; height:100%; }
  .hero-layout { display:contents; padding:0; }
  .project-copy {
    grid-row:2;
    min-height:calc(100svh - 112px - env(safe-area-inset-bottom) - var(--hero-image-height));
    padding:10px 15px;
    justify-content:center;
  }
  .project-copy h1 { font-size:26px; line-height:1.2; }
  .hero-address { font-size:21px; margin:5px 0 0; }
  .hero-price-lines p { font-size:16px; margin-top:8px; padding:7px 10px; }
  .hero-points { display:grid; grid-template-columns:1fr 1fr; align-items:stretch; gap:6px; margin-top:10px; }
  .hero-points li { min-height:0; padding:5px 7px; font-size:12px; line-height:1.35; gap:6px; }
  .point-icon { width:18px; height:18px; }
  .hero-note { font-size:10px; margin-top:8px; }
  .hero-layout>.inline-enquiry { grid-row:3; margin-top:16px; }
  .hero-controls { top:calc(var(--hero-image-height) / 2); }
}

/* Hero cards follow the reference's stronger type, raised badges and separate bands. */
@media(min-width:768px) {
  .project-copy {
    width:44%;
    padding:24px 28px;
    background:rgb(255 254 250 / 96%);
    border:1px solid #c3b58f;
    border-radius:14px;
    box-shadow:0 0 0 3px rgb(255 255 255 / 25%), 0 16px 40px rgb(10 35 25 / 20%);
  }
  .project-copy h1 { margin:0 0 8px; font-size:34px; font-weight:500; letter-spacing:0; line-height:1.15; }
  .hero-address { margin:0 0 16px; font-size:23px; font-weight:500; color:var(--theme-green); }
  .hero-points { display:flex; align-items:flex-start; gap:8px; margin:0 0 20px; }
  .hero-points li {
    width:auto;
    max-width:100%;
    min-height:36px;
    padding:6px 12px;
    gap:9px;
    border:1px solid #deded2;
    border-radius:10px;
    background:linear-gradient(120deg,#fff,#f8f7f1);
    box-shadow:0 3px 7px rgb(23 51 33 / 10%);
    font-size:15px;
    font-weight:500;
    line-height:1.4;
  }
  .hero-points .point-icon { width:24px; height:24px; }
  .hero-price-lines { display:grid; gap:12px; padding:0; background:none; }
  .hero-price-lines p {
    display:block;
    margin:0;
    padding:10px 12px;
    border:1px solid #335e4a;
    border-radius:7px;
    background:linear-gradient(115deg,#285540,#103b30);
    color:#fff;
    text-align:center;
    font-size:18px;
    font-weight:500;
    line-height:1.25;
    box-shadow:0 3px 8px #163c2414;
  }
  .hero-price-lines .hero-starting-price { display:flex; justify-content:center; align-items:baseline; flex-wrap:wrap; gap:5px 8px; }
  .hero-starting-price>span { font-size:16px; font-weight:400; }
  .hero-starting-price strong { font-size:21px; font-weight:500; }
  .hero-starting-price small { font-size:16px; font-weight:400; }
  .hero-note { font-size:10px; line-height:1.4; margin:12px 0 0; color:#637066; }
  .hero-layout>.inline-enquiry {
    width:32%;
    padding:28px 26px;
    border:1px solid #c3b58f;
    border-radius:14px;
    background:rgb(255 254 250 / 98%);
    box-shadow:0 0 0 3px rgb(255 255 255 / 25%), 0 16px 40px rgb(10 35 25 / 20%);
  }
  .hero-layout>.inline-enquiry h2 {
    margin:0 0 22px;
    padding:13px 10px;
    border:1px solid #c6c6b4;
    border-radius:6px;
    background:#f7f5ed;
    text-align:center;
    font-size:24px;
    font-weight:500;
    line-height:1.2;
  }
  .hero-layout .project-form input:not([type=hidden]):not([type=checkbox]) {
    min-height:46px;
    margin-bottom:14px;
    padding:10px 8px;
    border-bottom:1px solid #a8b2a4;
    font-size:16px;
    font-weight:400;
  }
  .hero-layout .project-form input::placeholder { color:#314b3e; }
  .hero-layout .project-form input:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:3px; }
  .hero-layout .project-form .project-button {
    min-height:46px;
    margin-top:10px;
    border-radius:6px;
    background:linear-gradient(115deg,#285540,#103b30);
    font-size:17px;
    font-weight:500;
    box-shadow:0 4px 10px #163c2420;
  }
  .hero-layout .project-form .project-button:hover { background:#194d3f; }
  .hero-layout .project-form .consent-check { margin-top:12px; line-height:1.45; }
}
@media(min-width:768px) and (max-width:1050px) {
  .project-copy { width:51%; padding:20px; }
  .project-copy h1 { font-size:30px; }
  .hero-layout>.inline-enquiry { width:37%; padding:22px 20px; }
  .hero-layout>.inline-enquiry h2 { font-size:21px; }
  .hero-points li { font-size:14px; }
}
@media(min-width:768px) and (max-height:760px) {
  .project-copy { padding:18px 24px; }
  .project-copy h1 { font-size:32px; margin-bottom:5px; }
  .hero-address { margin-bottom:12px; font-size:22px; }
  .hero-points { gap:6px; margin-bottom:14px; }
  .hero-points li { padding:5px 10px; font-size:14px; }
  .hero-price-lines { gap:9px; }
  .hero-price-lines p { padding:8px 10px; font-size:17px; }
  .hero-layout>.inline-enquiry { padding:24px; }
  .hero-layout>.inline-enquiry h2 { margin-bottom:18px; font-size:23px; }
}
@media(min-width:768px) and (max-height:650px) {
  .project-copy { padding:14px 20px; }
  .hero-points { gap:4px; margin-bottom:10px; }
  .hero-points li { min-height:32px; padding:3px 9px; }
  .hero-price-lines p { padding:6px 10px; }
  .hero-note { margin-top:8px; }
  .hero-layout>.inline-enquiry { padding:18px 22px; }
  .hero-layout>.inline-enquiry h2 { margin-bottom:12px; padding:10px; }
  .hero-layout .project-form input:not([type=hidden]):not([type=checkbox]) { min-height:42px; margin-bottom:10px; padding:7px 8px; }
}
@media(max-width:767px) {
  .hero-starting-price { display:flex!important; justify-content:center; align-items:baseline; gap:7px; }
  .hero-starting-price>span { font-size:12px; font-weight:400; }
  .hero-starting-price strong { font-size:18px; font-weight:500; }
  .hero-starting-price small { font-size:12px; font-weight:400; }
  .hero-layout>.inline-enquiry { border:1px solid #c3b58f; border-radius:12px; background:#fffefa; box-shadow:0 8px 24px #173c2410; }
  .hero-layout>.inline-enquiry h2 { padding:13px 10px; background:#f7f5ed; border-color:#c6c6b4; text-align:center; font-weight:500; }
  .hero-layout .project-form .project-button { border-radius:6px; font-weight:500; min-height:46px; }
}

/* Brochure showcase: a lightweight CSS booklet and an accessible download action. */
.brochure-strip { padding:64px 0; overflow:hidden; background:var(--surface-cream); }
.brochure-layout { grid-template-columns:1.05fr 1fr; gap:64px; text-align:left; }
.brochure-art { position:relative; padding:28px 12px 42px; }
.brochure-book { display:flex; min-height:270px; transform:rotate(-5deg); filter:drop-shadow(0 22px 15px #243d3026); }
.brochure-page { width:50%; min-width:0; display:flex; flex-direction:column; }
.brochure-page-left { padding:22px 18px; background:linear-gradient(90deg,#fff 85%,#e1ded4); border-radius:3px 0 0 3px; transform:skewY(3deg); transform-origin:right center; border-bottom:4px solid #d7d3c8; }
.brochure-page-label { font-size:9px; letter-spacing:1.3px; color:#486257; margin-bottom:17px; }
.brochure-page-left img { width:100%; height:130px; object-fit:cover; border-radius:0; }
.brochure-page-caption { color:var(--theme-green); font-size:14px; line-height:1.4; margin-top:16px; }
.brochure-page-cover { padding:25px 23px; color:#fff; background:linear-gradient(100deg,#092b23,#204f3f); border-radius:0 3px 3px 0; border-bottom:4px solid #092b23; transform:skewY(-3deg); transform-origin:left center; }
.brochure-cover-brand { font-size:18px; letter-spacing:3px; line-height:1.3; }
.brochure-cover-brand strong { font-size:24px; font-weight:500; }
.brochure-cover-rule { width:36px; height:1px; background:#c3a56b; margin:24px 0; }
.brochure-cover-caption { font-size:17px; line-height:1.4; font-weight:400; }
.brochure-cover-location { margin-top:auto; padding-top:24px; font-size:8px; letter-spacing:1.5px; color:#e5d9bf; }
.brochure-pdf-badge { position:absolute; right:0; bottom:8px; display:flex; align-items:center; gap:12px; padding:13px 20px; background:#fff; border:1px solid #ded7c9; border-radius:9px; box-shadow:0 8px 24px #19392d14; font-size:20px; font-weight:500; }
.brochure-pdf-badge svg { width:29px; height:35px; color:#a18147; }
.brochure-pdf-badge small { display:block; font-size:8px; letter-spacing:1.3px; font-weight:400; }
.brochure-copy .section-kicker { margin-bottom:12px; font-size:11px; letter-spacing:1.6px; color:#8b7041; }
.brochure-copy h2 { font-family:var(--font-body); font-size:36px; line-height:1.2; font-weight:500; margin:0 0 16px; }
.brochure-copy>p:not(.section-kicker) { color:#526358; font-size:16px; line-height:1.65; max-width:430px; margin-bottom:18px; }
.brochure-details { display:flex; flex-wrap:wrap; gap:9px 20px; font-size:13px; margin-bottom:24px; }
.brochure-details span::before { content:'✓'; color:#9a7b41; margin-right:6px; }
.brochure-layout .brochure-download { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:52px; padding:13px 25px; border-radius:6px; box-shadow:0 5px 14px #103b301a; }
.brochure-download svg { width:23px; height:23px; }
.brochure-download-note { display:block; margin-top:11px; color:#67736b; font-size:11px; }
@media(max-width:767px) {
 .brochure-strip { padding:36px 0; }
 .brochure-layout { grid-template-columns:1fr; gap:30px; }
 .brochure-art { width:min(100%,410px); margin:auto; padding:15px 8px 35px; }
 .brochure-book { min-height:240px; }
 .brochure-page-left { padding:18px 12px; }
 .brochure-page-cover { padding:20px 16px; }
 .brochure-page-left img { height:110px; }
 .brochure-page-label { font-size:7px; letter-spacing:.6px; }
 .brochure-page-caption { font-size:12px; }
 .brochure-cover-brand { font-size:15px; }
 .brochure-cover-brand strong { font-size:21px; }
 .brochure-cover-caption { font-size:15px; }
 .brochure-cover-location { font-size:7px; letter-spacing:.7px; }
 .brochure-pdf-badge { padding:10px 15px; }
 .brochure-copy { text-align:center; }
 .brochure-copy h2 { font-size:29px; }
 .brochure-copy>p:not(.section-kicker) { font-size:15px; margin-inline:auto; }
 .brochure-details { justify-content:center; gap:9px 14px; font-size:12px; }
}

/* Compact overview: retain the copy and action without repeating the hero title. */
#overview { padding:32px 0; }
#overview .split-section { grid-template-columns:1.35fr 1fr; gap:48px; }
#overview .split-section p { margin:0 0 16px; }
#overview .rounded-image { height:300px; width:100%; object-fit:cover; object-position:center 58%; border-radius:24px; }
#overview .split-section .project-button { margin-top:4px; }
@media(max-width:767px) {
 #overview { padding:26px 0; }
 #overview .split-section { grid-template-columns:1fr; gap:22px; }
 #overview .rounded-image { height:220px; border-radius:18px; }
}

/* Tighter highlights spacing while preserving the established type scale. */
#highlights { padding:28px 0 36px; }
#highlights .section-heading { margin-bottom:24px; }
#highlights .rounded-image { height:470px; border-radius:28px; }
#highlights .highlight-list li { min-height:51px; padding-block:9px; }
@media(max-width:767px) {
 #highlights { padding:26px 0; }
 #highlights .section-heading { margin-bottom:20px; }
 #highlights .split-section { gap:18px; }
 #highlights .rounded-image { height:177px; border-radius:20px; }
 #highlights .highlight-list li { min-height:51px; padding-block:9px; }
}

/* Refined pricing cards with clear configuration, price and size hierarchy. */
#price { background:var(--surface-white); padding:42px 0; }
#price .section-heading { margin-bottom:28px; }
#price .price-grid { gap:24px; padding:0; margin:0; }
#price .price-card { padding:0; overflow:hidden; text-align:left; background:#fff; border:1px solid #ded8ca; border-radius:14px; box-shadow:0 8px 26px #173e300a; }
.price-card-heading { position:relative; padding:23px 26px 22px; background:linear-gradient(120deg,#f8f5ee,#efeadd); border-bottom:1px solid #ded8ca; }
.price-category,.price-caption { display:block; font-size:10px; letter-spacing:1.7px; color:#806b43; font-weight:500; }
#price .price-card h3 { position:static; border:0; border-radius:0; background:none; color:var(--theme-green); padding:0; margin:7px 0 0; font-size:28px; font-weight:500; line-height:1.2; }
.price-home-icon { position:absolute; right:24px; top:29px; width:43px; height:43px; color:#aa8a50; }
.price-card-content { padding:24px 26px 26px; }
#price .price-value { margin:6px 0 22px; padding:0; border:0; font-size:32px; line-height:1.25; font-weight:500; color:var(--theme-green); }
#price .size-row { align-items:center; gap:8px; margin:0 0 23px; padding:16px 0; border-top:1px solid #e8e4db; border-bottom:1px solid #e8e4db; font-size:13px; color:#657168; }
#price .size-row strong { color:var(--theme-green); font-size:18px; font-weight:500; white-space:nowrap; }
#price .size-row small { font-size:12px; font-weight:400; }
#price .project-button { width:100%; margin:0; min-height:48px; padding:11px 14px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-radius:6px; font-size:15px; }
#price .project-button svg { width:22px; height:22px; flex-shrink:0; }
#price .price-disclaimer { margin-top:22px; line-height:1.6; }
@media(min-width:768px) and (max-width:1000px) {
 .price-card-heading,.price-card-content { padding:20px 16px; }
 .price-home-icon { right:15px; width:34px; }
 #price .price-card h3 { font-size:24px; }
 #price .price-value { font-size:27px; }
 #price .size-row { flex-wrap:wrap; }
}
@media(max-width:767px) {
 #price { padding:30px 0; }
 #price .price-grid { gap:18px; }
 #price .section-heading { margin-bottom:22px; }
 .price-card-heading { padding:20px 23px; }
 .price-card-content { padding:20px 23px 23px; }
 #price .price-value { margin-bottom:18px; }
 #price .size-row { margin-bottom:19px; padding:14px 0; }
}

/* All plans stay visible; downloads retain the existing enquiry gate. */
#master-and-floor-plan { padding:40px 0; }
.section-title-accent { color:#806333; }
.floor-plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.floor-plan-card { position:relative; display:grid; place-items:center; aspect-ratio:1.48; overflow:hidden; border:1px solid #eee8de; border-radius:14px; background:white; box-shadow:0 5px 22px #583c1b0c; }
.floor-plan-card>img { position:absolute; width:100%; height:100%; padding:15px; object-fit:contain; filter:blur(4px); opacity:.8; pointer-events:none; }
.floor-plan-card .plan-download { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px; max-width:calc(100% - 24px); min-height:52px; padding:12px 16px; border-radius:7px; font-size:16px; box-shadow:0 5px 18px #103b3020; }
.plan-download svg { width:25px; height:30px; flex-shrink:0; }
.plan-download small { display:block; font-size:12px; line-height:1.4; font-weight:400; }
@media(min-width:768px) and (max-width:1000px) {
 .floor-plan-grid { gap:16px; }
 .floor-plan-card .plan-download { font-size:13px; padding:10px; gap:7px; }
 .plan-download svg { width:21px; }
}
@media(max-width:767px) {
 #master-and-floor-plan { padding:30px 0; }
 .floor-plan-grid { grid-template-columns:1fr; gap:18px; }
 .floor-plan-card { width:100%; max-width:480px; justify-self:center; }
}

/* One consistent heading per section, without a separate kicker or forced break. */
.brochure-copy h2 { font-size:30px; font-weight:400; }
@media(max-width:767px) {
 .section-heading h2,.brochure-copy h2,.contact-section .split-section>div:first-child h2 { font-size:clamp(18px,4.7vw,28px); line-height:1.3; }
}

/* Fit desktop destinations below the 52px header without clipping content.
   Mobile sections retain natural height for readable stacked cards and forms. */
@media(min-width:768px) {
 #highlights,#price,#amenities,#master-and-floor-plan,#gallery,#location-advantage,#contact-us { padding-block:24px; }
 .project-section .section-heading { margin-bottom:22px; }
 #highlights .rounded-image { height:clamp(330px,calc(100svh - 180px),470px); }
 #highlights .highlight-list li { min-height:46px; padding-block:7px; }
 #location-advantage .location-list li { min-height:46px; padding-block:7px; }
 #location-advantage .image-button img { max-height:calc(100svh - 172px); object-fit:contain; }
 #contact-us .split-section>div:first-child h2 { margin-bottom:16px; }
 #contact-us .split-section p { margin-bottom:12px; }
 #contact-us h3 { margin:16px 0 8px; }
 #contact-us .connect-button { margin-top:0; }
}
@media(min-width:768px) and (max-height:700px) {
 .project-section .section-heading { margin-bottom:16px; }
 #highlights,#price,#amenities,#master-and-floor-plan,#gallery,#location-advantage,#contact-us { padding-block:16px; }
 #highlights .highlight-list li,#location-advantage .location-list li { min-height:42px; padding-block:5px; }
 #amenities .amenity-grid>div { min-height:125px; padding:12px; }
 #amenities .amenity-grid img { width:66px; height:66px; margin-bottom:8px; }
 #contact-us .split-section p { line-height:1.4; }
 #contact-us .inline-enquiry { padding:20px; }
}

/* Minimal project footer; retain disclosures and the two legal destinations. */
.project-footer { padding:18px 5%; text-align:center; background:#f7f6f2; border-top:1px solid #e5e1d8; font-size:12px; line-height:1.55; }
.project-footer p { max-width:1320px; margin:0 auto 5px; }
.project-footer .footer-registration { color:var(--theme-green); }
.footer-registration>span { margin-inline:7px; color:#a28a5a; }
.project-footer nav { justify-content:center; align-items:center; gap:12px; margin-top:8px; }
.project-footer nav>span { color:#9eaa9f; }
.project-footer a { font-weight:500; text-decoration:none; padding:4px 0; }
@media(max-width:767px) {
 .project-footer { padding:16px 18px; font-size:12px; line-height:1.65; }
 .project-footer p { margin-bottom:7px; }
 .project-footer nav { margin-top:5px; }
 .project-footer nav a { padding:8px 4px; font-size:12px; }
}

/* Keep the copyright and legal destinations on one clear footer row. */
.project-footer .footer-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  max-width:1320px;
  margin:14px auto 0;
  padding-top:10px;
  border-top:1px solid #e5e1d8;
}
.project-footer .footer-bottom .footer-copyright {
  margin:0;
  text-align:left;
  color:#435047;
}
.project-footer .footer-bottom nav {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin:0;
}
@media(max-width:767px) {
 .project-footer .footer-bottom { align-items:flex-start; gap:10px; margin-top:10px; }
 .project-footer .footer-bottom .footer-copyright { flex:1; }
 .project-footer .footer-bottom nav { flex:0 0 auto; gap:7px; }
 .project-footer .footer-bottom nav a { padding:4px 0; }
}

/* Reference logo includes the single-line channel-partner identification. */
.project-header .project-brand { display:flex; align-items:center; justify-content:center; height:44px; text-decoration:none; }
.project-header .project-brand img { width:125px; height:44px; object-fit:contain; filter:brightness(0); }

/* Reference-style call action, with a full international dialling destination. */
.project-header .project-phone { align-items:center; justify-content:center; gap:9px; border-radius:6px; padding:6px 14px; background:#92704b; color:#fff; font-size:17px; font-weight:600; line-height:1.2; text-decoration:none; }
.project-phone svg { width:28px; height:28px; flex-shrink:0; }
.project-header .project-phone:hover { background:#7c5e3e; color:#fff; }
@media(min-width:1201px) { .project-header .project-phone { display:flex; } }

/* Keep the hero facts card content-sized on wide screens. */
@media(min-width:1051px) {
 .hero-layout .project-copy { width:420px; max-width:44%; }
}

/* Align the hero facts and pricing to one left edge for a narrower desktop card. */
@media(min-width:768px) {
 .hero-layout .project-copy { text-align:left; padding-inline:20px; }
 .hero-price-lines p { text-align:left; }
 .hero-price-lines .hero-starting-price { justify-content:flex-start; }
}
@media(min-width:1051px) {
 .hero-layout .project-copy { width:380px; max-width:44%; }
}

/* Compact location subheading with a matching location marker. */
.project-copy h1 { margin-bottom:2px; }
.project-copy .hero-address { display:flex; align-items:center; gap:6px; margin:0 0 12px; font-size:17px; line-height:1.3; font-weight:400; color:#8b7041; }
.hero-address svg { width:16px; height:18px; flex-shrink:0; }
@media(max-width:767px) {
 .project-copy .hero-address { justify-content:center; font-size:16px; margin:2px 0 0; }
}

/* Align the single hero card with the visible logo artwork (including its transparent inset). */
@media(min-width:768px) {
 .hero-layout { width:100%; padding-inline:34px; display:grid; grid-template-columns:min(380px,100%); align-content:center; justify-content:start; }
 .hero-layout .project-copy { width:100%; max-width:none; }
}
@media(min-width:768px) and (max-width:1200px) {
 .hero-layout { padding-inline:30px; }
}
@media(max-width:767px) {
 .project-hero { grid-template-rows:var(--hero-image-height) auto; }
}

/* Supplied PDF artwork anchors the brochure presentation without adding page weight from effects. */
.brochure-strip { background:radial-gradient(ellipse at 22% 50%,#ebe4d5 0,transparent 50%),var(--surface-cream); }
.brochure-art::before { content:""; position:absolute; inset:16% 8% 10%; border:1px solid #c3a56b40; border-radius:50%; transform:rotate(-14deg); }
.brochure-book { filter:drop-shadow(0 24px 18px #243d302b); }
.brochure-pdf-badge { right:-5px; bottom:0; gap:14px; padding:12px 20px 12px 12px; border-radius:12px; box-shadow:0 14px 28px #19392d1c; font-size:17px; }
.brochure-pdf-badge>img { width:54px; height:54px; border-radius:8px; box-shadow:0 5px 12px #720e1424; }
.brochure-pdf-badge small { margin-top:3px; font-size:9px; letter-spacing:1.2px; color:#7c7869; }
.brochure-copy { position:relative; isolation:isolate; padding-block:22px; }
.brochure-pdf-watermark { position:absolute; width:200px; height:200px; right:0; top:50%; transform:translateY(-50%) rotate(12deg); opacity:.055; z-index:-1; border-radius:20px; pointer-events:none; }
.brochure-copy h2 { position:relative; }
.brochure-layout .brochure-download { box-shadow:0 7px 18px #103b3026; }
@media(max-width:767px) {
 .brochure-pdf-badge { right:0; padding:10px 14px 10px 10px; font-size:15px; }
 .brochure-pdf-badge>img { width:44px; height:44px; }
 .brochure-copy { padding-block:10px; }
 .brochure-pdf-watermark { width:160px; height:160px; right:5%; opacity:.045; }
}

/* Overview heading and brochure action follow the shared project presentation. */
#overview .split-section h2 { font-size:30px; line-height:1.25; font-weight:400; margin:0 0 18px; }
#overview .overview-brochure-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:54px; padding:10px 18px 10px 12px; border-radius:7px; box-shadow:0 6px 16px #103b3020; }
.overview-brochure-button img { display:block; width:30px; height:30px; border-radius:4px; }
.overview-brochure-button svg { width:21px; height:21px; flex-shrink:0; }
@media(max-width:767px) {
 #overview .split-section h2 { font-size:clamp(18px,4.7vw,28px); margin-bottom:15px; }
}

/* Shared WhatsApp action alongside the overview brochure download. */
.overview-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
#overview .overview-actions .project-button { margin-top:0; }
.overview-actions .connect-button { min-height:54px; margin:0; padding:10px 18px; }
@media(max-width:420px) {
 .overview-actions { flex-direction:column; align-items:stretch; }
 .overview-actions .connect-button { justify-content:center; }
}

/* Alternating section surfaces make each destination distinct in the light theme. */
#overview,#price,#master-and-floor-plan,#location-advantage { background:var(--surface-white); }
#highlights,#amenities,#gallery,#contact-us { background:var(--surface-cream); }
.project-page .project-section { box-shadow:none; border-top:1px solid #e7e2d8; }
#amenities .amenity-grid>div { background:var(--surface-white); border:1px solid #e8e2d7; }
.project-footer { background:var(--surface-white); border-top:1px solid #e5e1d8; }

/* Mobile first view: 70% tower image, 30% key details, excluding fixed controls. */
@media(min-width:768px) {
 .hero-summary { display:contents; }
 .hero-layout .project-copy { display:flex; flex-direction:column; }
 .project-copy h1 { order:0; }
 .project-copy .hero-address { order:1; }
 .project-copy .hero-points { order:2; }
 .project-copy .hero-price-lines { order:3; }
 .project-copy .hero-note { order:4; }
}
@media(max-width:767px) {
 .project-hero { --mobile-hero-space:calc(100svh - 112px - env(safe-area-inset-bottom)); --hero-image-height:min(calc(var(--mobile-hero-space) * .7),calc(var(--mobile-hero-space) - 158px)); }
 .hero-slide img { object-fit:cover; object-position:center 45%; }
 .hero-layout .project-copy { padding:0 15px 16px; min-height:0; justify-content:flex-start; }
 .hero-summary { display:flex; flex-direction:column; justify-content:center; min-height:calc(var(--mobile-hero-space) - var(--hero-image-height)); padding:9px 0; }
 .hero-summary h1 { font-size:24px; line-height:1.15; margin:0; }
 .hero-summary .hero-address { margin:3px 0 0; font-size:15px; }
 .hero-summary .hero-price-lines { margin-top:7px; }
 .hero-summary .hero-price-lines p { margin:0; padding:6px 9px; font-size:14px; line-height:1.25; }
 .hero-summary .hero-price-lines p+p { margin-top:6px; }
 .hero-summary .hero-starting-price strong { font-size:18px; }
 .hero-summary .hero-starting-price>span,.hero-summary .hero-starting-price small { font-size:12px; }
 .project-copy .hero-points { margin-top:14px; }
}

/* Mobile actions: direct calling in the header and two equal bottom actions. */
@media(max-width:767px) {
 .project-header { justify-content:space-between; }
 .project-header .project-menu-toggle,.project-header .project-nav { display:none; }
 .project-header .project-phone { display:flex; gap:7px; padding:7px 11px; font-size:15px; min-height:38px; }
 .project-header .project-phone svg { width:24px; height:24px; }
 .project-contact-bar { grid-template-columns:1fr 1fr; }
 .project-contact-bar>button { gap:6px; background:#92704b; color:#fff; }
 .project-contact-bar>button svg { flex-shrink:0; }
 .project-contact-bar .connect-button,.project-contact-bar>button { font-size:13px; }
}
@media(max-width:350px) {
 .project-contact-bar .connect-button,.project-contact-bar>button { font-size:12px; gap:4px; }
}

/* Lightweight CTA motion: finite attention cues and interaction-only effects.
   Transforms do not change layout; reduced-motion visitors get static controls. */
@media (prefers-reduced-motion:no-preference) {
 .project-page :is(.project-button,.connect-button,.project-phone) {
   transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease;
 }
 .project-page :is(.project-button,.connect-button):not(:disabled) {
   position:relative;
   overflow:hidden;
   isolation:isolate;
 }
 .project-page :is(.project-button,.connect-button):not(:disabled)::after {
   content:"";
   position:absolute;
   inset:0;
   pointer-events:none;
   background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.18) 50%,transparent 75%);
   transform:translateX(-140%);
 }
 .project-page :is(.project-button,.connect-button):focus-visible::after {
   animation:project-cta-sheen .65s ease-out;
 }
 .project-header .project-phone svg { transform-origin:center; animation:project-phone-ring 2.2s ease-in-out 2; }
 .floating-query { animation:project-callback-glow 2.2s ease-out 2; transition:background-color .2s ease; }
 .project-dialog[open] { animation:project-dialog-enter .22s ease-out; }
 .project-dialog[open]::backdrop { animation:project-backdrop-enter .22s ease-out; }
 @media (hover:hover) and (pointer:fine) {
   .project-page :is(.project-button,.connect-button,.project-phone):not(:disabled):hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(17,57,46,.2); }
   .project-page :is(.project-button,.connect-button):not(:disabled):hover::after { animation:project-cta-sheen .65s ease-out; }
   .project-page [data-brochure]:hover>svg { animation:project-download-nudge .6s ease-in-out; }
   .project-header .project-phone:hover svg { animation:project-phone-ring .8s ease-in-out; }
 }
 .project-page :is(.project-button,.connect-button,.project-phone):not(:disabled):active { transform:translateY(0); }
}
@keyframes project-cta-sheen { to { transform:translateX(140%); } }
@keyframes project-phone-ring {
 0%,30%,100% { transform:rotate(0); }
 6%,18% { transform:rotate(-10deg); }
 12%,24% { transform:rotate(10deg); }
}
@keyframes project-callback-glow {
 0%,100% { box-shadow:0 0 0 0 rgba(146,112,75,0); }
 30% { box-shadow:0 0 0 5px rgba(146,112,75,.18); }
 75% { box-shadow:0 0 0 12px rgba(146,112,75,0); }
}
@keyframes project-download-nudge { 0%,100% { transform:translateY(0); } 50% { transform:translateY(3px); } }
@keyframes project-dialog-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@keyframes project-backdrop-enter { from { opacity:0; } to { opacity:1; } }

/* Richer contact introduction with clear contact details and a stronger CTA. */
.contact-section .split-section>div:first-child {
  position:relative;
  padding:clamp(24px,3vw,42px);
  border:1px solid rgba(201,169,105,.42);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(249,244,232,.76));
  box-shadow:0 16px 34px rgba(17,57,46,.08);
  overflow:hidden;
}
.contact-section .split-section>div:first-child::after {
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-90px;
  bottom:-100px;
  border-radius:50%;
  background:rgba(201,169,105,.12);
  pointer-events:none;
}
.contact-section h3 {
  margin:0;
  color:var(--theme-green);
  font-size:clamp(25px,3vw,38px);
  line-height:1.14;
  letter-spacing:-.02em;
}
.contact-details {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:18px 0 10px;
}
.contact-detail {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:9px 13px;
  border:1px solid rgba(201,169,105,.35);
  border-radius:12px;
  background:#fff;
  color:var(--theme-green);
  font-size:clamp(14px,1.4vw,17px);
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.contact-detail:hover { transform:translateY(-2px); border-color:#c9a969; box-shadow:0 8px 18px rgba(17,57,46,.1); }
.contact-detail-icon {
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  flex:0 0 27px;
  border-radius:50%;
  background:var(--theme-green);
  color:#fff;
  font-size:16px;
  line-height:1;
}
.contact-response-note { margin:0 0 15px!important; color:#66736a; font-size:13px; }
.contact-section .connect-button { box-shadow:0 9px 18px rgba(8,110,54,.2); }
.developer-actions {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.developer-actions .project-button,
.developer-actions .connect-button {
  width:100%;
  min-height:48px;
  margin:0;
  padding:9px 12px;
  justify-content:center;
  border-radius:8px;
  font-size:14px;
}
.developer-brochure {
  gap:9px;
  background:var(--theme-green);
}
.developer-brochure img { width:30px; height:30px; object-fit:contain; border-radius:5px; }
.developer-brochure svg { width:20px; height:20px; flex:0 0 auto; }
.developer-enquiry-column { display:flex; flex-direction:column; width:100%; max-width:430px; min-width:0; justify-self:end; align-self:stretch; }
.contact-section .developer-enquiry-column .inline-enquiry { width:100%; max-width:none; }
.contact-developer-actions { width:100%; margin:10px 0 0; box-sizing:border-box; }
/* A shared grid height aligns the information card with the form and action row. */
#contact-us .split-section { align-items:stretch; gap:clamp(24px,4vw,48px); }
#contact-us .split-section>div:first-child { display:flex; flex-direction:column; padding:24px; border-radius:20px; }
#contact-us .split-section>div:first-child>p { font-size:15px; line-height:1.5; }
#contact-us .contact-details { margin-top:auto; padding-top:16px; }
#contact-us .contact-detail { min-width:0; padding:10px; font-size:14px; }
#contact-us .contact-detail span:last-child { min-width:0; overflow-wrap:anywhere; }
#contact-us .contact-response-note { margin-bottom:0!important; padding-top:4px; }
#contact-us .developer-enquiry-column .inline-enquiry {
  flex:1;
  padding:22px;
  border:1px solid #d9d7c9;
  border-radius:20px;
  background:linear-gradient(150deg,#fff 65%,#faf8f1);
  box-shadow:0 12px 30px rgba(17,57,46,.07);
}
#contact-us .inline-enquiry h2 { padding:0 0 14px; margin-bottom:16px; border:0; border-bottom:1px solid #dfd6bf; border-radius:0; font-size:26px; }
#contact-us .contact-developer-actions { flex-shrink:0; }
#contact-us .contact-developer-actions .project-button,
#contact-us .contact-developer-actions .connect-button { margin-top:0; min-height:52px; }
/* Tablet cards need room for complete labels; reserve the outside edge for callback. */
@media(min-width:768px) and (max-width:1000px) {
 #contact-us .split-section { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:20px; width:calc(100% - 100px); margin-left:24px; margin-right:76px; }
 #contact-us .split-section>div:first-child { padding:20px; }
 #contact-us .contact-details { grid-template-columns:1fr; }
 #contact-us .contact-developer-actions { grid-template-columns:1fr; gap:10px; }
 #contact-us .inline-enquiry h2 { font-size:23px; }
 #contact-us .developer-enquiry-column .inline-enquiry { padding:18px; }
}
/* Do not enlarge small raster icons beyond their native resolution. */
#amenities .amenity-grid img { width:64px; height:64px; }
@media(max-width:767px) {
 .contact-section .split-section>div:first-child { padding:22px 18px; border-radius:18px; }
 .contact-details { grid-template-columns:1fr; gap:8px; margin-top:14px; }
 .contact-detail { min-height:45px; }
 .developer-actions { grid-template-columns:1fr; gap:9px; margin-top:13px; }
 .developer-enquiry-column { max-width:none; }
 .contact-developer-actions { max-width:none; margin-top:10px; }
 .project-page .project-form .consent-check { font-size:12px; line-height:1.5; }
 .project-footer .footer-bottom { flex-wrap:wrap; }
 .project-footer .footer-bottom .footer-copyright { flex-basis:100%; }
}
