/* Colours and botanical artwork from the supplied Estate 361 brochure. */
:root {
  --ivory: #fefce7;
  --linen: #f5f0d9;
  --ink: #600832;
  --ink-deep: #46101d;
  --bronze: #b89a63;
  --bronze-deep: #846333;
  --stone: #5b5850;
  --line: rgba(96, 8, 50, .2);
  --forest: #0d3837;
  --sage: #b5c69b;
  --gold: #dcc191;
}
body { background: var(--ivory); }
.reading-progress { position: fixed; z-index: 100; top: 0; left: 0; width: 100%; height: 3px; background: var(--bronze); transform: scaleX(0); transform-origin: left; pointer-events: none; }
.section { position: relative; isolation: isolate; }
.section > .container, .site-footer > .container { position: relative; z-index: 1; }
.section-heading {font-size: clamp(30px, 4vw, 45px);line-height: 1.04;letter-spacing: -.035em;}
.eyebrow { font-size: 12px; letter-spacing: .16em; }
.eyebrow::before { width: 28px; background: var(--bronze); }
.section-header { align-items: center; gap: 50px; margin-bottom: 62px; }
.section-header .section-copy { line-height: 1.85; }
.hero-form { width: 100%; margin: 0 auto; padding: 32px 0; border-top: 0; border-bottom: 1px solid rgba(220, 193, 145, .3); color: var(--ivory); background: var(--ink-deep); box-shadow: none; }
.hero-form .lead-form {display: grid;grid-template-columns: minmax(0, 1fr);align-items: end;gap: 18px 38px;max-width: 1200px;margin: auto;}
.hero-form .form-heading { display: none; }
.hero-form .form-heading .eyebrow { margin-bottom: 10px; }
.hero-form .form-heading h2 { color: var(--ivory); font-size: clamp(30px, 2.7vw, 38px); }
.hero-form .form-heading h2 em { color: var(--gold); }
.hero-form .form-heading > p:not(.eyebrow) { max-width: 330px; margin-top: 12px; font-size: 14px; }
.hero-form .form-fields { grid-column: 1; grid-row: 1; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.hero-form .lead-form .field > label {color: var(--ivory);font-size: 10px;position: absolute;width: max-content!important;}
.hero-form .lead-form .field input:not([type="checkbox"]), .hero-form .lead-form .field textarea {min-height: 40px;padding-block: 5px;border-bottom-color: rgba(254, 252, 231, .48);color: var(--ivory);font-size: 14px;}
.hero-form .lead-form .field input::placeholder, .hero-form .lead-form .field textarea::placeholder { color: rgba(254, 252, 231, .76); }
.hero-form .lead-form .field input:focus, .hero-form .lead-form .field textarea:focus { border-bottom-color: var(--gold); box-shadow: 0 1px 0 var(--gold); }
.hero-form .lead-form .field textarea { resize: vertical; }
.hero-form .form-submit { width: 100%; min-height: 44px; padding: 9px 12px; color: var(--ink); background: var(--ivory); font-size: 13px; }
.hero-form .form-submit:hover { color: var(--ivory); }
.hero-form .consent { grid-column: 1 / -1; margin: 0; color: #eee5da; font-size: 12px; }
.hero-form .consent input { flex-basis: 17px; width: 17px; height: 17px; }
.hero-form .consent input { accent-color: var(--gold); }
.hero-form .form-status { grid-column: 1; grid-row: 3; margin-top: -10px; color: #eee5da; }
.hero-form .form-status.is-error { color: #ffd2c8; }
.button, .text-link { transition: color .3s ease, background .3s ease; }
.text-link::after {background: #46101d;}
.button-primary { background: var(--ink); }
.button-primary::before { background: var(--forest); }

/* Cropped leaf clusters echo the corners of the printed cream pages. */
.botanical-corner { position: absolute; z-index: 0; width: clamp(180px, 24vw, 360px); aspect-ratio: 2 / 1; background: url("../images/patterns/brochure-botanical-corner.webp") left top / contain no-repeat; pointer-events: none; }
.botanical-corner--left { left: 0; top: 0; opacity: .65; }
.botanical-corner--right { right: 0; bottom: 0; width: clamp(260px, 32vw, 540px); aspect-ratio: 98 / 46; background-image: url("../images/patterns/brochure-botanical-sweep.webp"); background-position: right bottom; opacity: .65; }
.brochure-pattern { position: absolute; z-index: 0; color: var(--gold); pointer-events: none; }
.brochure-pattern svg { display: block; width: 100%; height: auto; overflow: visible; }
.pattern-stroke { fill: none; stroke: currentColor; vector-effect: non-scaling-stroke; stroke-linecap: round; }

/* The gold petal frame comes from the Antara brochure's photo language. */
.overview { padding-top: clamp(90px, 8vw, 130px); padding-bottom: 100px; }
.overview-grid { grid-template-columns: 1fr 1.08fr; gap: clamp(45px, 7vw, 110px); }
.overview-copy { position: relative; z-index: 1; }
.overview-copy > p:not(.eyebrow):not(.overview-intro) { max-width: 510px; color: var(--stone); font-size: 16px; line-height: 1.85; }
.overview-intro { max-width: 480px; font-size: 29px; line-height: 1.3; }
.overview-copy .section-heading {font-size: clamp(30px, 4vw, 50px);}
.overview-images { padding: 0 0 70px; }
.brochure-pattern--overview { top: 0; left: 0; width: 100%; z-index: 2; }
.overview-main { margin: 0; }
.overview-main::after { display: none; }
.overview-petal-window { aspect-ratio: 1; clip-path: url(#brochure-petal-clip); overflow: hidden; }
.overview-main img { width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; }
.overview-main > .image-caption { max-width: 56%; margin-top: 4px; text-align: center; font-family: var(--serif); color: var(--ink); font-size: 22px; font-style: italic; }
.overview-inset { left: auto; right: -8px; bottom: 0; z-index: 3; width: 43%; padding: 7px; border: 1px solid var(--bronze); background: var(--ivory); }
.overview-inset img { aspect-ratio: 4 / 3; }
.overview-inset .image-caption { margin: 7px 0 0; font-size: 10px; line-height: 1.5; text-align: center; }
/* A nature chapter, in the brochure's forest green and sage. */
.brochure-manifesto {position: relative;isolation: isolate;overflow: hidden;padding-block: clamp(80px, 8vw, 120px);color: #46101d;background: var(--ivory);}
.botanical-corner--nature { top: 0; left: 0; width: min(460px, 40vw); opacity: .15; filter: saturate(.7); }
.manifesto-layout { position: relative; display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(60px, 9vw, 145px); align-items: center; }
.manifesto-copy { position: relative; z-index: 2; }
.manifesto-section-name {color: #46101d;}
.manifesto-quote {font-family: var(--serif);color: #46101d;font-size: clamp(30px, 4vw, 50px);font-weight: 500;line-height: 1.03;letter-spacing: -.03em;}
.manifesto-line { display: block; }
.manifesto-quote em { color: var(--sage); }
.manifesto-caption {margin-top: 30px;color: #000000;font-size: 15px;line-height: 1.8;}
.manifesto-copy .text-link {margin-top: 26px;color: #46101d;}
.manifesto-image { position: relative; padding-top: 14px; }
.manifesto-image::before { content: ""; position: absolute; z-index: -1; top: 0; left: -14px; right: 14px; bottom: 47px; border: 1px solid rgba(220, 193, 145, .5); border-radius: 48% 48% 0 0; }
.manifesto-photo { overflow: hidden; aspect-ratio: 4 / 4.7; border-radius: 48% 48% 0 0; }
.manifesto-image img { width: 100%; height: 100%; object-fit: cover; object-position: 62% center; }
.manifesto-image figcaption { display: flex; justify-content: space-between; gap: 14px; margin-top: 17px; font-family: var(--serif); font-size: 22px; line-height: 1.3; }
.manifesto-image figcaption span { align-self: center; color: #bacac0; font-family: var(--sans); font-size: 10px; }
.manifesto-bird { position: absolute; top: 4%; left: 46%; width: 58px; height: auto; opacity: .75; rotate: -12deg; }

/* Tonal petal outlines animate across the burgundy chapter. */
.highlight-section { overflow: hidden; background: var(--ink-deep); }
.brochure-pattern--highlight { width: min(780px, 63vw); top: -120px; right: -160px; color: #9c5351; opacity: .25; }
.highlight-section .eyebrow, .highlight-section .section-heading em { color: var(--gold); }
.highlight-section .section-copy, .highlight-content p { color: #d9c9bf; }
.highlights-grid { column-gap: 85px; }
.highlight-item { padding-block: 32px 36px; grid-template-columns: 48px 1fr; gap: 24px; border-top-color: rgba(220, 193, 145, .28); }
.highlight-number { color: var(--gold); font-size: 40px; }
.highlight-content h3 { font-size: 30px; }
.highlight-content p { font-size: 15px; }

.price-section { background: var(--ivory); }
.price-grid { gap: 22px; }
.price-card { padding: 38px 30px 32px; border: 1px solid rgba(184, 154, 99, .55); border-top: 3px solid var(--bronze); background: #fffeed; }
.price-card + .price-card { border-left: 1px solid rgba(184, 154, 99, .55); }
.price-card.is-featured { background: var(--ink); border-color: var(--ink); box-shadow: none; }
.price-card.is-featured .residence-type, .price-card.is-featured .text-link { color: var(--gold); }
.price-card.is-featured .residence-size, .price-card.is-featured .price-note { color: #e7d9cc; }
.price-card h3 { font-size: clamp(29px, 2.6vw, 38px); }
.price { margin-top: 30px; font-size: clamp(29px, 2.7vw, 39px); }
.floor-section { background: #f5f0dc; }
.floor-layout { gap: 64px; }
.floor-art { background: var(--ivory); border-color: rgba(184, 154, 99, .45); }
.floor-art button { background: transparent; }
.floor-art .plan-expand { padding-inline: 15px; }
.floor-art .floor-caption { padding-bottom: 16px; }
.amenities-section { background: var(--ivory); }
.amenity-grid { gap: 22px; }
.amenity-overlay { background: linear-gradient(0deg, rgba(13, 56, 55, .95), rgba(13, 56, 55, .15) 65%, transparent); }
.amenity-card { aspect-ratio: 4 / 5; }
.amenity-number { color: var(--gold); font-family: var(--serif); font-size: 25px; }
.amenity-card h3 { font-size: clamp(28px, 2.8vw, 38px); }
.location-section {padding-top: 40px;background: #46101d;padding-block: clamp(80px, 9.5vw, 138px);}
.location-map { padding: 12px; background: var(--ivory); border-color: var(--bronze); }
.location-map::after { border-color: var(--bronze); }
.location-map img {filter: blur(5px);}
.gallery-section {padding-block: 100px;/* color: var(--ivory); */background: var(--ivory);}
.gallery-heading .eyebrow, .gallery-heading .section-heading em {color: #46101d;}
.gallery-controls .carousel-arrow {color: var(--ink);border-color: var(--ink);}
.gallery-controls .carousel-arrow:hover { color: var(--ink); background: var(--ivory); }
.gallery-counter {color: var(--ink);}
.gallery-card figcaption { color: var(--ivory); }
.gallery-card figcaption > span:last-child { color: #c2d0c2; }
.gallery-open { background: var(--forest); }
.developer-section { position: relative; overflow: hidden; background: var(--linen); }
.developer-layout { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: clamp(48px, 8vw, 112px); }
.developer-copy { position: relative; z-index: 1; }
.developer-copy .section-heading { color: var(--ink); }
.developer-copy .section-heading em { color: var(--bronze-deep); }
.developer-copy > p:not(.eyebrow) { max-width: 550px; color: var(--stone); font-size: 15px; line-height: 1.85; }
.developer-copy .developer-intro { margin-top: 24px; color: var(--ink); font-family: var(--serif); font-size: 25px; line-height: 1.4; }
.developer-copy .text-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 24px; color: var(--ink); }
.developer-card { position: relative; overflow: hidden; padding: clamp(30px, 4vw, 54px); color: var(--ivory); background: var(--ink); }
.developer-card::after { position: absolute; z-index: 0; right: -74px; bottom: -132px; width: 280px; aspect-ratio: 1; border: 1px solid rgba(220, 193, 145, .28); border-radius: 50%; content: ""; pointer-events: none; }
.developer-card > * { position: relative; z-index: 1; }
.developer-logo { display: grid; place-items: center; width: min(230px, 100%); min-height: 90px; padding: 14px 18px; background: var(--ivory); }
.developer-logo img { display: block; width: 100%; height: auto; }
.developer-card-label { margin-top: 30px; color: var(--gold); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.developer-card-statement { max-width: 360px; margin-top: 12px; font-family: var(--serif); font-size: clamp(30px, 3.2vw, 42px); line-height: 1.1; }
.developer-pillars { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; padding: 0; list-style: none; }
.developer-pillars li { padding: 8px 11px; border: 1px solid rgba(220, 193, 145, .45); color: #eadfce; font-size: 11px; line-height: 1.4; }
.contact-scrim { background: linear-gradient(90deg, rgba(70, 16, 29, .92), rgba(70, 16, 29, .6)); }
.contact-copy .eyebrow, .contact-copy .section-heading em { color: var(--gold); }
.contact-panel { border-top-color: var(--gold); box-shadow: none; }
.contact-enquiry-form { margin-top: 24px; }
.contact-enquiry-form .form-fields { gap: 6px; }
.contact-enquiry-form .field > label { color: var(--ink); }
.contact-enquiry-form .field input:not([type="checkbox"]), .contact-enquiry-form .field textarea { border-bottom-color: rgba(96, 8, 50, .32); color: var(--ink); }
.contact-enquiry-form .field input::placeholder, .contact-enquiry-form .field textarea::placeholder { color: #68645e; }
.contact-enquiry-form .consent { margin: 16px 0; color: var(--stone); }
.contact-enquiry-form .form-submit { min-height: 48px; }
.contact-enquiry-form .form-status { color: var(--stone); font-size: 12px; }
.contact-mark { color: var(--ink); }
.site-footer { position: relative; isolation: isolate; overflow: hidden; background: var(--ink-deep); border-top-color: rgba(220, 193, 145, .25); }
.brochure-pattern--footer { width: 440px; right: -150px; top: -160px; color: var(--gold); opacity: .08; }
.footer-legal, .footer-disclaimer, .footer-bottom, .footer-project > span { color: #d8c8c1; }
.footer-project > p:first-child { font-size: 38px; }
.mobile-sticky { background: var(--ivory); }
.floating-contact { position: fixed; z-index: 80; right: 24px; bottom: 24px; left: 24px; display: flex; align-items: center; justify-content: space-between; pointer-events: none; }
.floating-contact-link { display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid rgba(96, 8, 50, .12); border-radius: 50%; box-shadow: 0 5px 18px rgba(34, 20, 20, .2); pointer-events: auto; transition: transform .2s ease, box-shadow .2s ease; }
.floating-contact-link:hover { transform: translateY(-3px); box-shadow: 0 8px 22px rgba(34, 20, 20, .24); }
.floating-contact-link:focus-visible { outline-color: var(--ink); outline-offset: 4px; }
.floating-contact-link svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.floating-contact-link--call { color: var(--ink); background: var(--ivory); }
.floating-contact-link--whatsapp { color: #fff; background: #25a85a; border-color: #25a85a; }
.floating-contact-link--whatsapp svg { width: 28px; height: 28px; fill: currentColor; stroke: none; }
.motion-line { display: block; overflow: clip; padding-block: .07em; margin-block: -.07em; }
.motion-line-inner { display: block; }

@media (min-width: 1600px) {
  .overview-images { padding-bottom: 80px; }
}
@media (max-width: 1199px) {
  .overview-grid { gap: 45px; }
  .overview-copy .section-heading { font-size: clamp(44px, 5.4vw, 65px); }
  .manifesto-layout { gap: 60px; }
  .highlights-grid { column-gap: 45px; }
  .hero-form { width: calc(100% - 80px); }
}
@media (max-width: 991px) {
  .overview-grid { grid-template-columns: 1fr 1fr; }
  .overview-intro { font-size: 26px; }
  .overview-copy > p:not(.eyebrow):not(.overview-intro) { font-size: 15px; }
  .overview-inset { width: 49%; }
  .section-header { gap: 35px; }
  .section-header .section-copy { max-width: 280px; font-size: 15px; }
  .manifesto-quote { font-size: clamp(48px, 6.3vw, 66px); }
  .manifesto-layout { gap: 35px; }
  .manifesto-image figcaption { font-size: 19px; }
  .manifesto-image figcaption span { max-width: 60px; }
  .developer-layout { gap: 35px; }
  .developer-card { padding: 30px; }
  .hero-form .lead-form { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .hero-form .form-fields, .hero-form .form-status { grid-column: 1; grid-row: auto; }
  .hero-form .form-fields { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .price-grid { grid-template-columns: 1fr; gap: 18px; }
  .price-card.is-featured { transform: none; }
  .price-card { padding: 30px; }
  .price-card .residence-type { margin-bottom: 15px; }
  .price-card .price { margin-top: 22px; }
  .floor-layout { gap: 35px; }
}
@media (max-width: 767px) {
  .section-heading { font-size: clamp(38px, 8.5vw, 56px); }
  .section-header { align-items: flex-start; gap: 22px; margin-bottom: 35px; }
  .section-header .section-copy { max-width: 100%; }
  .overview { padding-top: 80px; padding-bottom: 64px; }
  .overview-grid { grid-template-columns: 1fr; gap: 36px; }
  .overview-copy .section-heading { font-size: clamp(48px, 12vw, 66px); }
  .overview-copy > p:not(.eyebrow):not(.overview-intro) { font-size: 16px; }
  .overview-intro { font-size: 28px; }
  .overview-images { width: min(520px, 100%); margin-inline: auto; padding-bottom: 60px; }
  .overview-inset { right: 0; width: 42%; }
  .overview-main > .image-caption { font-size: 20px; }
  .botanical-corner--left { width: 190px; opacity: .5; }
  .botanical-corner--right { width: 260px; opacity: .5; }
  .brochure-manifesto { padding-block: 68px; }
  .manifesto-layout { grid-template-columns: 1fr; gap: 40px; }
  .manifesto-quote { font-size: clamp(49px, 12vw, 72px); }
  .manifesto-caption { margin-top: 24px; }
  .manifesto-image { width: min(480px, calc(100% - 14px)); margin-left: 14px; }
  .manifesto-photo { aspect-ratio: 1; }
  .manifesto-image figcaption { font-size: 22px; }
  .manifesto-image figcaption span { max-width: none; }
  .manifesto-bird { top: 29%; left: auto; right: 0; width: 40px; }
  .hero-form {         width: 100%;
        padding: 30px; }
  .hero-form .lead-form {gap: 10px;}
  .hero-form .form-heading {display: block;grid-column: 1;grid-row: auto;color: var(--ivory);margin-bottom: 0px;}
  .hero-form .form-fields {grid-template-columns: minmax(0, 1fr);gap: 10px;}
  .developer-layout { grid-template-columns: 1fr; gap: 34px; }
  .developer-copy .developer-intro { font-size: 24px; }
  .developer-card-statement { font-size: 36px; }
  .floating-contact {right: 18px;bottom: 55px;left: 18px;}
  .floating-contact-link { width: 50px; height: 50px; }
  .highlights-grid { grid-template-columns: 1fr; }
  .highlight-item { padding-block: 27px; }
  .highlight-content h3 { font-size: 29px; }
  .brochure-pattern--highlight { width: 500px; top: -80px; right: -270px; opacity: .2; }
  .price-grid { gap: 18px; }
  .floor-layout { grid-template-columns: 1fr; }
  .amenity-grid { gap: 18px; }
  .amenity-card { flex-basis: 82%; }
  .location-section { padding-top: 12px; }
  .location-map { margin-right: 12px; }
  .gallery-section { padding-block: 68px; }
  .gallery-heading .section-heading { max-width: none; }
  .gallery-card figcaption { flex-direction: column; gap: 8px; font-size: 23px; }
  .gallery-card figcaption > span:last-child { max-width: none; text-align: left; font-size: 11px; }
  .contact-copy .section-heading { font-size: clamp(42px, 10vw, 60px); }
  .contact-panel { padding: 30px 25px; }
}
@media (max-width: 374px) {
  .manifesto-quote { font-size: 43px; }
  .manifesto-image figcaption { font-size: 20px; }
  .manifesto-image figcaption span { max-width: 70px; }
  .highlight-item { grid-template-columns: 34px 1fr; gap: 16px; }
  .price-card { padding-inline: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .reading-progress { display: none; }
  .motion-line { overflow: visible; }
  .brochure-pattern, .pattern-stroke, .manifesto-bird { animation: none !important; transition: none !important; }
  .floating-contact-link { transition: none; }
}
