/* Reference palette and original developer webfonts, with readable body copy. */
@font-face { font-family: MiraSans; src: url('assets/Montserrat-Regular.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: MiraScript; src: url('assets/Broisther.woff2') format('woff2'); font-display: swap; }
:root { --cream: #f8f3e8; --paper: #eee6d5; --olive: #61673b; --rust: #704530; --gold: #ffd300; --ink: #fffdf5; --muted: #f1efdf; --line: #e5ddbd6b; --serif: MiraSerif, Georgia, serif; --sans: MiraSans, Arial, sans-serif; }
body { background: #727948; background-image: linear-gradient(#67713ecc, #67713ecc), url('assets/brand-olive-background.webp'); background-size: cover; color: var(--ink); font-weight: 400; }
:focus-visible { outline: 3px solid var(--focus-color, #ffd300); }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; letter-spacing: .1px; }
h2 { color: var(--gold); font-size: clamp(38px, 4vw, 54px); line-height: 1.18; }
h2 em, .brand-script { font-family: MiraScript, cursive; font-style: normal; font-weight: 400; color: #fffdf5; }
h2 em { font-size: 1.25em; line-height: 1.2; }
.brand-script { display: block; font-size: clamp(52px, 5vw, 72px); line-height: 1.25; margin-bottom: 6px; }
.eyebrow, .section-note, .section-top .eyebrow > span:first-child { color: #faf5db; }
.section-heading > p, .story-copy > p, .section-disclaimer, .distance-note { color: var(--muted); }
.button { background: var(--rust); border-color: var(--rust); color: #fff; }
.button:hover { background: #583420; }
.text-link { border-color: var(--gold); }
.text-link:hover { color: var(--gold); }
.site-header { background: #83895a; }
.site-header .brand-pair { display: contents; }
.site-header .wordmark { order: 0; }
.site-header nav { order: 1; }
.site-header .header-register { order: 2; background: transparent; border-color: transparent; color: var(--gold); text-transform: uppercase; letter-spacing: 1px; padding: 12px 0; }
.site-header .developer-logo { order: 3; }
.site-header nav a { font-size: 13px; font-weight: 500; text-transform: uppercase; letter-spacing: .8px; }
.site-header nav a:hover, .site-header .header-register:hover { color: var(--gold); background: transparent; }
.notice { background: #555d34; }
.hero h1 { font-weight: 400; }
.hero h1 em { color: #ffda4e; }
.hero .button { background: var(--rust); color: white; border-color: #c29a6b; }
.hero-copy .eyebrow { color: #fff4c1; }
.hero-caption { font-weight: 400; }
.project-facts { background: #616b3d80; }
.project-facts strong { color: #ffdb50; font-weight: 400; }
.project-facts div > span { color: #fff; }
.project-usps { background: #59633780; }
.project-usps h2 { color: var(--gold); }
.project-usps .eyebrow, .usp-note { color: #f5efd5; }
.usp-grid svg { color: #ffdf66; }
.image-corner { background: #61673b; color: white; }
.image-corner > span, .concept-words b { color: var(--gold); }
.concept-words span { color: white; }
.homes, .location { background: transparent; }
.homes { position: relative; overflow: hidden; padding-top: 60px; }
.homes::before { content: ''; position: absolute; right: 3%; top: -90px; width: 300px; height: 300px; background: url('assets/brand-weave-pattern.png') center / contain no-repeat; opacity: .25; pointer-events: none; }
.homes > .section-wrap { position: relative; }
.homes .section-heading { display: block; text-align: center; margin: 26px auto 32px; }
.homes .section-heading > p { max-width: 720px; margin: 22px auto 0; }
.homes-tabs { max-width: 900px; margin: 0 auto; border-bottom: 0; gap: 26px; }
.homes .homes-tabs button { display: flex; flex-direction: column; gap: 14px; background: transparent; color: white; padding: 12px 0 22px; border-bottom: 3px solid transparent; }
.homes .homes-tabs button:hover { background: #fff3b00c; }
.homes .homes-tabs button[aria-selected=true] { border-bottom-color: #ffd300; }
.homes-tabs .home-type-badge { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 136px; height: 136px; background: var(--rust); color: #ffdb50; clip-path: polygon(43% 0,57% 0,57% 14%,71% 14%,71% 29%,86% 29%,86% 43%,100% 43%,100% 57%,86% 57%,86% 71%,71% 71%,71% 86%,57% 86%,57% 100%,43% 100%,43% 86%,29% 86%,29% 71%,14% 71%,14% 57%,0 57%,0 43%,14% 43%,14% 29%,29% 29%,29% 14%,43% 14%); }
.homes-tabs .home-type-badge small { font-size: 15px; letter-spacing: 2px; }
.homes-tabs .home-type-badge b { font-family: var(--sans); font-size: 54px; line-height: 1.1; font-weight: 400; }
.homes-tabs button > strong { font-size: 21px; color: #ffdc46; font-weight: 500; }
.homes-tabs button .home-tab-specs { font-size: 14px; letter-spacing: 0; display: flex; align-items: center; gap: 9px; }
.home-tab-specs i { width: 1px; height: 23px; background: #ffffff80; }
.home-panel, .facility-panel, .interactive-facilities, .map-card, .amenity-card, .interest-form, dialog { --ink: #563e2b; --muted: #665f4c; --line: #d8ceba; --focus-color: #704530; color: var(--ink); }
.home-details, .facility-content { background: #f0e9d9; }
.home-details h3, .facility-content h3, .interactive-facilities h3, .amenity-card h3, dialog h2 { color: #704530; font-weight: 400; }
.home-size strong { color: var(--rust); font-weight: 400; }
.room-specs, .home-details .eyebrow, .home-notes > span, .facility-content .eyebrow, .facility-content li { color: #65503a; }
.home-notes > span { color: #fff5d7; }
.facility-tabs { background: #f1e9d7; color: #624732; }
.facility-tabs button[aria-selected=true] { background: var(--rust); color: white; }
.facility-levels span { color: #fff3d6; }
.facility-levels > div { border-color: #ffdc46; }
.interactive-facilities { background: #fcf9f0; }
.interactive-facilities .eyebrow { color: #75633d; }
.interactive-facilities .text-link, .facility-content .text-link { color: var(--rust); border-color: #a88238; }
.location-points svg { color: #ffda4d; }
.location-points small { color: #fff3df; }
.location-map-label { background: var(--rust); }
.location-map-label::after { border-top-color: var(--rust); }
.location-map-caption { color: var(--rust); }
.faq-intro .eyebrow, .faq-items summary span { color: #ffdf66; }
.faq-items details > p { color: #fff4df; }
.register { background: #d8b249 url('assets/brand-olive-background.webp') center bottom / 100% 400% no-repeat; color: #492d1e; padding: 60px 0; }
.register, .site-footer { --focus-color: #704530; }
.register::before, .register::after { content: ''; position: absolute; width: 250px; height: 250px; background: url('assets/brand-weave-pattern.png') center / contain no-repeat; opacity: .25; pointer-events: none; }
.register::before { top: 0; left: -80px; }
.register::after { right: -80px; top: 45%; }
.register-grid { position: relative; display: block; max-width: 800px; }
.register-copy { text-align: center; padding: 0; }
.register-copy .eyebrow { color: #65432b; margin-bottom: 15px; }
.register-copy h2 { color: #704530; font-size: clamp(40px, 4vw, 54px); }
.register-copy .brand-script { color: #704530; }
.register-copy > p:not(.eyebrow) { color: #493422; max-width: 680px; margin: 18px auto; }
.consultant { justify-content: center; margin: 20px auto 12px; gap: 13px; }
.consultant-monogram { display: none; }
.consultant strong { font-size: 24px; color: #704530; }
.consultant div > span, .register-note { color: #593c23; }
.consultant a { color: #422c1b; }
.register-note { margin-top: 8px; text-align: center; }
.interest-form { background: transparent; padding: 30px 0 0; }
.interest-form .form-title, .interest-form .form-subtitle { display: none; }
.field { margin-bottom: 25px; }
.field input, .field select { background: transparent; border: 0; border-bottom: 1px solid #fff4d9; color: #392a1a; padding: 9px 0; border-radius: 0; }
.field input::placeholder { color: #58432eb3; }
.field input:focus, .field select:focus { border-color: #704530; outline: 2px solid #704530; outline-offset: 4px; }
.field label, .field label > span, .field small#phone-hint, .consent, .consent button, .form-help { color: #49321f; }
.form-submit { width: auto; min-width: 230px; display: flex; margin: 28px auto 0; font-family: var(--serif); font-weight: 400; font-size: 23px; padding: 12px 24px; }
.site-footer { width: 100%; padding: 28px max(40px, calc((100% - 1260px)/2)); background: #d8b249 url('assets/brand-olive-background.webp') center bottom / 100% 400% no-repeat; --muted: #593f28; --line: #94733c; color: #49321f; }
.footer-top { border-top: 1px solid #78552e; background: transparent; color: #704530; padding: 24px 0; }
.footer-top p em { color: #704530; }
.footer-disclosure strong, .footer-disclosure a { color: #59321f; }
.footer-top .text-link { border-color: #704530; }
dialog h2 em { color: #704530; }
.mobile-cta a:first-child { background: var(--cream); color: var(--rust); }
.mobile-cta a:last-child { background: var(--rust); color: #fff; }
@media (max-width: 1100px) { .site-header nav { gap: 14px; } .site-header nav a { font-size: 11px; } .site-header .developer-logo { width: 120px; } }
@media (max-width: 700px) {
  .site-header .brand-pair { display: flex; }
  .site-header .developer-logo { width: 106px; }
  .site-header nav { order: initial; }
  .site-header nav a { font-size: 14px; }
  h2 { font-size: 36px; }
  .homes { padding-top: 40px; }
  .homes::before { width: 180px; height: 180px; right: -40px; top: -40px; }
  .homes .section-heading h2 { font-size: 34px; }
  .homes-tabs { gap: 6px; }
  .homes-tabs .home-type-badge { width: 88px; height: 88px; }
  .homes-tabs .home-type-badge small { font-size: 11px; }
  .homes-tabs .home-type-badge b { font-size: 34px; }
  .homes-tabs button > strong { font-size: 13px; white-space: nowrap; }
  .homes-tabs button .home-tab-specs { font-size: 10px; gap: 5px; }
  .homes-tabs button .home-tab-specs i { height: 16px; }
  .register { padding: 44px 0; }
  .register-grid { width: calc(100% - 44px); }
  .site-footer { padding: 25px 22px calc(91px + env(safe-area-inset-bottom)); }
  .form-submit { font-size: 22px; }
}

/* A compact, readable footer note without repeated personal attribution. */
.site-footer .footer-disclosure p { font-size: 13px; font-weight: 400; line-height: 1.7; }

/* Clear editable fields on the gold registration panel. */
.interest-form .field input, .interest-form .field select { background: #fff; border: 1px solid #bfa47a; border-radius: 6px; padding: 12px 14px; min-height: 48px; color: #392a1a; }
.interest-form .field input::placeholder { color: #766c60; }
.interest-form .field input:focus, .interest-form .field select:focus { border-color: #704530; outline: 2px solid #704530; outline-offset: 2px; }
.register::before, .register::after { z-index: 0; }
.register-grid { z-index: 1; }
.register-copy h2 em { color: #704530; }
