@font-face {font-family:"DM Sans";src:url("assets/dm-sans.woff2") format("woff2");font-weight:400 700;font-display:swap}
@font-face {font-family:"Playfair Display";src:url("assets/playfair.woff2") format("woff2");font-weight:400 500;font-display:swap}

:root {
  --paper:#f8f5ee;
  --white:#fffcf5;
  --green:#1b2b24;
  --deep:#16231d;
  --ink:#222a23;
  --muted:#575b50;
  --gold:#ddc394;
  --line:#ddd6c9;
  --serif:"Playfair Display",Georgia,serif;
  --sans:"DM Sans",Arial,sans-serif;
  color:var(--ink);
  background:var(--paper);
  font:16px/1.55 var(--sans);
}

*, *::before, *::after {box-sizing:border-box}
html {scroll-behavior:smooth}
body {margin:0}
a {color:inherit;text-decoration:none}
button,select {font:inherit}
button {cursor:pointer}
img {display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure {margin:0}
h1,h2,h3 {font-family:var(--serif);font-weight:400;line-height:1.1}
h2 {font-size:clamp(2.45rem,4vw,3.65rem);letter-spacing:-.045em}
h3 {font-size:1.68rem;letter-spacing:-.025em}
[id] {scroll-margin-top:24px}
:focus-visible {outline:3px solid #ad7a37;outline-offset:4px}
.wrap {width:min(1180px,calc(100% - 104px));margin-inline:auto}
.section {padding-block:95px}
.skip {position:absolute;z-index:10;top:8px;left:8px;transform:translateY(-150%);padding:10px 14px;background:var(--white)}
.skip:focus {transform:none}

.site-header {background:var(--paper)}
.header-inner {min-height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px}
.wordmark {display:inline-flex;flex-direction:column;align-items:center;justify-self:start;line-height:1;width:max-content;color:var(--green)}
.wordmark span {font-family:var(--serif);font-size:1.56rem;letter-spacing:.11em}
.wordmark small {font-size:.53rem;letter-spacing:.26em;font-weight:700;margin-top:7px}
nav {display:flex;align-items:center;gap:32px;color:#41473e;font-size:.9rem}
nav a:hover,.footer-links a:hover {text-decoration:underline;text-underline-offset:4px}
.header-cta {justify-self:end}
.button {display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:45px;padding:0 16px;border:1px solid transparent;font-size:.88rem;font-weight:700;line-height:1.25}
.arrow {position:relative;display:inline-block;flex:none;width:14px;height:14px}
.arrow::before,.arrow::after {position:absolute;content:""}
.arrow::before {width:11px;top:6px;left:1px;border-top:1px solid currentColor;transform:rotate(-45deg)}
.arrow::after {width:7px;height:7px;top:2px;right:2px;border-top:1px solid currentColor;border-right:1px solid currentColor}
.arrow-next {transform:rotate(45deg)}
.arrow-prev {transform:rotate(225deg)}
.footer-links .arrow {vertical-align:-3px}
.button-outline {border-color:#a69c85;color:var(--green)}
.button-outline:hover {background:#eee6d7}
.button-dark {background:var(--green);color:var(--white)}
.button-dark:hover {background:#34493c}
.button-gold {background:var(--gold);color:var(--deep)}
.button-gold:hover {background:#eed6ab}
.eyebrow {font-size:.72rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;line-height:1.45}
.section-label {margin-bottom:15px;color:#6e5836}

.hero {position:relative;isolation:isolate;color:var(--white);background:var(--green)}
.hero-picture,.hero-shade {position:absolute;inset:0;z-index:-2}
.hero-picture img {width:100%;height:100%;object-fit:cover;object-position:center 57%}
.hero-shade {z-index:-1;background:linear-gradient(90deg,rgba(14,25,22,.89) 0%,rgba(14,25,22,.70) 29%,rgba(14,25,22,.22) 65%,rgba(14,25,22,.28) 100%),linear-gradient(0deg,rgba(14,25,22,.55),transparent 34%)}
.hero-inner {min-height:605px;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,375px);align-items:center;column-gap:58px;padding-block:64px}
.hero-location {display:flex;align-items:center;gap:12px;color:#f2d9aa;margin-bottom:26px}
.hero-location span {width:26px;height:1px;background:var(--gold)}
.hero h1 {font-size:clamp(4.4rem,7.1vw,7rem);letter-spacing:-.066em;line-height:.99}
.hero-subtitle {margin-top:26px;font-size:clamp(1.23rem,2vw,1.5rem);font-weight:600}
.hero-text {margin-top:10px;max-width:370px;color:#fffaf0;font-size:1rem;line-height:1.55}
.hero-credit {position:absolute;bottom:12px;right:max(24px,calc((100% - 1180px)/2));font-size:.67rem;color:#fff9e8}
.mobile-hero-cta,.mobile-bar {display:none}

.contact-card {width:100%;padding:31px;color:var(--ink);background:var(--white);box-shadow:0 14px 45px #07100c3d;border-top:3px solid var(--gold)}
.contact-label {color:#6e5836;margin-bottom:14px}
.contact-card h2 {font-size:2.36rem;letter-spacing:-.055em}
.contact-intro {margin-top:12px;font-size:.925rem;color:var(--muted)}
.interest-control {margin-top:22px}
.interest-control label {display:block;margin-bottom:7px;font-size:.8rem;font-weight:700}
.interest-control select {width:100%;min-height:46px;padding:0 12px;border:1px solid #c9c1b1;color:var(--ink);background:#fffdf8;border-radius:0;font-size:.88rem}
.contact-submit {width:100%;min-height:52px;margin-top:12px}
.agent-note {font-size:.73rem;color:var(--muted);line-height:1.55;margin-top:15px}

.project-facts {border-bottom:1px solid var(--line);background:#f0ebdf}
.facts-grid {display:grid;grid-template-columns:repeat(4,1fr);padding-block:25px}
.facts-grid div {display:grid;justify-items:center;text-align:center;gap:5px;padding:2px 10px}
.facts-grid div+div {border-left:1px solid #d6cebd}
.facts-grid strong {font:400 clamp(1.12rem,2.1vw,1.66rem)/1.2 var(--serif);color:var(--green)}
.facts-grid span {font-size:.76rem;color:var(--muted)}

.section-heading {display:grid;grid-template-columns:1.45fr 1fr;gap:38px;align-items:end;margin-bottom:34px}
.section-heading>p {max-width:355px;justify-self:end;color:var(--muted);margin-bottom:4px}
.residence-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.residence {background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column}
.residence-image img {width:100%;aspect-ratio:1.57;object-fit:cover}
.residence-body {padding:21px 19px 20px;display:grid;grid-template-rows:auto 1fr auto;gap:9px;flex:1}
.residence-body p {font-size:.88rem;color:var(--muted)}
.residence-body a {display:flex;justify-content:space-between;align-items:center;gap:4px;padding-top:12px;border-top:1px solid var(--line);font-size:.84rem;font-weight:700;color:var(--green)}
.residence-body a:hover,.text-link:hover {text-decoration:underline;text-underline-offset:4px}
.image-note {font-size:.74rem;color:var(--muted);margin-top:14px}

.leisure {background:var(--green);color:var(--white)}
.leisure-grid {display:grid;grid-template-columns:.76fr 1.24fr;gap:58px;align-items:center}
.leisure .section-label {color:var(--gold)}
.leisure-copy>p:not(.section-label) {margin-top:20px;color:#e0e3d6;max-width:330px}
.feature-list {list-style:none;padding:0;margin:23px 0 22px;max-width:385px}
.feature-list li {border-top:1px solid #fbf2da35;padding:9px 0;font-size:.9rem}
.feature-list li::before {display:inline-block;content:"";width:6px;height:6px;background:var(--gold);transform:rotate(45deg);margin:0 13px 2px 2px}
.text-link {display:inline-flex;align-items:center;gap:10px;color:#f7deb0;font-size:.9rem;font-weight:700}
.gallery img {width:100%;aspect-ratio:1.62;object-fit:cover}
.gallery figcaption {display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;color:#f8f2e5;font-size:.85rem}
.gallery small {color:#d4d8cb}
.gallery-controls {display:flex;flex-shrink:0;gap:8px}
.gallery-controls button {border:1px solid #f8edda65;background:transparent;color:var(--white);width:42px;height:42px;display:grid;place-items:center}
.gallery-controls button:hover {background:#fff2df21}

.location {display:grid;grid-template-columns:1.12fr .88fr;gap:72px;align-items:center}
.location-visual {position:relative}
.location-visual img {width:100%;aspect-ratio:1.37;object-fit:cover;object-position:center 53%}
.location-visual span {position:absolute;left:10px;bottom:10px;padding:4px 7px;background:#17281ee6;color:#fff9ed;font-size:.68rem}
.location-copy>p:not(.section-label) {margin-top:18px;color:var(--muted);max-width:410px}
.location-copy address {margin:21px 0;font-style:normal;font-size:.92rem;font-weight:700}

.faq {background:#efe9dd}
.faq-grid {display:grid;grid-template-columns:.85fr 1.15fr;gap:54px}
.faq-list details {border-bottom:1px solid #c9c0af}
.faq-list details:first-child {border-top:1px solid #c9c0af}
.faq-list summary {cursor:pointer;list-style:none;position:relative;padding:16px 34px 16px 0;font-weight:700}
.faq-list summary::-webkit-details-marker {display:none}
.faq-list summary::after {position:absolute;right:4px;content:"+";color:#6e5836;font-size:1.15rem;line-height:1.3}
.faq-list details[open] summary::after {content:"−"}
.faq-list details p {color:var(--muted);padding:0 24px 15px 0;font-size:.93rem}

.closing {color:var(--white);background:var(--green)}
.closing-inner {min-height:195px;display:flex;align-items:center;justify-content:space-between;gap:34px;padding-block:42px}
.closing h2 {font-size:clamp(2.1rem,3.5vw,3.2rem)}
.closing p {color:#e0e3d6;margin-top:9px}
.closing .button {min-height:50px;flex-shrink:0}
.site-footer {padding-block:40px;color:var(--muted);font-size:.78rem}
.footer-grid {display:grid;grid-template-columns:minmax(150px,.4fr) minmax(0,1.6fr);gap:40px}
.footer-copy p+p {margin-top:10px}
.footer-links {display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:13px;font-weight:700;color:var(--green)}

@media (max-width:1000px) {
  .wrap {width:calc(100% - 68px)}
  .hero-inner {gap:34px}
  .hero h1 {font-size:clamp(3.7rem,7.9vw,5.35rem)}
  .section {padding-block:72px}
  .leisure-grid,.location {gap:38px}
}
@media (max-width:760px) {
  .header-inner {display:flex;min-height:66px;justify-content:space-between;gap:10px}
  nav {display:none}
  .hero-inner {grid-template-columns:minmax(0,1fr) minmax(275px,.8fr);gap:22px;min-height:510px}
  .hero h1 {font-size:clamp(3.25rem,8vw,4rem)}
  .wrap {width:calc(100% - 40px)}
  .contact-card {padding:24px}
  .contact-card h2 {font-size:2rem}
  .residence-grid {gap:11px}
  .residence-body {padding:15px 12px}
  .residence-body h3 {font-size:1.42rem}
  .location,.leisure-grid,.faq-grid {gap:27px}
}
@media (max-width:620px) {
  [id] {scroll-margin-top:10px}
  .wrap {width:calc(100% - 38px)}
  .wordmark span {font-size:1.22rem}
  .wordmark small {font-size:.44rem;letter-spacing:.21em;margin-top:5px}
  .header-cta {padding-inline:11px;min-height:38px;font-size:.78rem;gap:8px}
  .hero {background:var(--green)}
  .hero-picture,.hero-shade {bottom:auto;height:430px}
  .hero-picture img {object-position:56% 50%}
  .hero-shade {background:linear-gradient(90deg,#111e19dc 0%,#111e197d 57%,#111e1940 100%),linear-gradient(0deg,#1b2b24 0%,#1b2b2400 36%)}
  .hero-inner {min-height:0;display:block;padding:0 0 33px}
  .hero-copy {min-height:388px;padding:52px 0 39px}
  .hero-location {font-size:.655rem;gap:9px;margin-bottom:19px}
  .hero-location span {width:20px}
  .hero h1 {font-size:clamp(3.08rem,12.2vw,4.5rem)}
  .hero-subtitle {margin-top:19px;font-size:1.18rem}
  .hero-text {margin-top:8px;max-width:310px;font-size:.91rem}
  .mobile-hero-cta {display:inline-flex;min-height:44px;margin-top:17px}
  .hero-credit {bottom:auto;top:365px;right:19px;font-size:.61rem}
  .contact-card {padding:23px 21px}
  .contact-intro {font-size:.89rem}
  .interest-control {margin-top:16px}
  .facts-grid {grid-template-columns:1fr 1fr;padding-block:13px}
  .facts-grid div {padding:10px 6px}
  .facts-grid div:nth-child(3) {border-left:0}
  .facts-grid div:nth-child(n+3) {border-top:1px solid #d6cebd}
  .facts-grid strong {font-size:1.18rem}
  .facts-grid span {font-size:.72rem}
  .section {padding-block:55px}
  .section-heading,.residence-grid,.leisure-grid,.location,.faq-grid,.footer-grid {grid-template-columns:minmax(0,1fr)}
  .section-heading {gap:13px;margin-bottom:22px}
  .section-heading>p {justify-self:start;font-size:.93rem}
  .residence-grid {gap:17px}
  .residence-body {padding:17px}
  .residence-body h3 {font-size:1.6rem}
  .residence-image img {aspect-ratio:1.74}
  .leisure-copy>p:not(.section-label) {margin-top:15px}
  .gallery figcaption {font-size:.75rem}
  .location-visual {order:2}
  .location-copy address {margin-block:16px}
  .faq-grid {gap:21px}
  .faq-list summary {font-size:.92rem}
  .closing-inner {display:block;min-height:auto}
  .closing .button {margin-top:19px}
  .footer-grid {gap:19px}
  .site-footer {padding-bottom:calc(90px + env(safe-area-inset-bottom))}
  .mobile-bar {display:block;position:fixed;bottom:0;left:0;right:0;z-index:4;background:var(--paper);padding:8px 19px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -3px 18px #14221c1f}
  .mobile-bar .button {display:flex;min-height:44px}
}
@media (prefers-reduced-motion:reduce) {html {scroll-behavior:auto}}
