 :root{--sage-dark:#007d83;--terracotta:#007d83;--mist:#e5f4f2;--cream:#f5f8f7;--charcoal:#143b3e;--charcoal-soft:#17626a;--ink:#1a3032;--ink-soft:#405b5c}.waters-hero{background-size:cover;background-position:center;min-height:90vh}.portfolio-overlay .logo-image{background:transparent;padding:0;border-radius:0;object-fit:contain;filter:brightness(0) invert(1)}.amenity-list{padding-left:1.4rem;line-height:2}.plan-card img{object-fit:contain;background:#fff;height:270px;width:100%}.plan-card h2{font-size:1.25rem;margin:20px 0 12px}.plan-card p{margin:12px 0}.source-prose{max-width:1000px;margin:auto}.source-prose p,.source-prose ul{margin:16px 0}.source-prose ul{padding-left:24px}.source-prose table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}.source-prose td,.source-prose th{border:1px solid #b9d2d0;padding:10px;min-width:85px}.source-prose img{max-width:100%;height:auto}.source-prose h1,.source-prose h2{margin:20px 0}.map-card iframe{width:100%;height:450px;border:0}.container>iframe{width:100%;border:0}.contact-card .quick-links{margin:20px 0}.office-hours{margin:20px 0}.footer-logos img{object-fit:contain}.card h3{margin-top:16px}.plan-card .button{margin-top:12px}@media(max-width:600px){.waters-hero{min-height:760px}.topbar .container{font-size:.75rem}.source-prose{overflow-x:auto}}
.hero-actions{justify-content:center}.source-prose td h2{color:var(--ink)}.container>.gallery-grid{margin-top:24px}.footer-links{gap:18px}

.promotion-dialog{border:0;border-radius:12px;padding:48px 16px 16px;max-width:min(640px,94vw);max-height:92dvh;background:white;box-shadow:0 18px 60px #0004;margin:auto}
.promotion-dialog::backdrop{background:rgba(20,45,48,.3)}
.promotion-dialog img{display:block;max-width:100%;max-height:74dvh;width:auto;object-fit:contain;margin:auto}
.promotion-close{position:absolute;right:12px;top:6px;border:0;background:white;color:#173a3d;font-size:28px;cursor:pointer;min-width:40px;min-height:40px}
.promotion-reopen{display:block;margin:24px auto;padding:12px 24px;background:#007d83;color:white;border:0;border-radius:4px;font:inherit;cursor:pointer}



/* Template hero styling with each community's assigned image. */
.portfolio-overlay main>.waters-hero{background-image:var(--waters-photo)}
.portfolio-overlay main>.waters-hero::before{background-image:linear-gradient(to bottom,rgba(10,24,34,.60) 0,rgba(10,24,34,.60) calc(var(--overlay-header-height) + 32px),rgba(10,24,34,.06) calc(var(--overlay-header-height) + 120px))}
.portfolio-overlay main>.waters-hero::after{background:none}

/* Application landing page */
.application-section{background:var(--cream)}
.application-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.8fr);gap:32px;align-items:start}
.application-panel{background:#fff;border:1px solid #dbe7e5;padding:clamp(26px,4vw,52px);border-radius:var(--radius-lg);box-shadow:0 16px 42px #143b3e0a}
.application-panel h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.2;margin:12px 0 18px}
.application-intro{color:var(--ink-soft);max-width:600px;font-size:1.05rem}
.application-steps{list-style:none;counter-reset:apply-step;display:grid;gap:22px;padding:28px 0;margin:28px 0;border-top:1px solid #dbe7e5;border-bottom:1px solid #dbe7e5}
.application-steps li{counter-increment:apply-step;display:grid;grid-template-columns:42px 1fr;gap:16px;align-items:start}
.application-steps li::before{content:counter(apply-step,decimal-leading-zero);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e5f4f2;color:#005f64;font-weight:700}
.application-steps h3{font-size:1.05rem;margin:0 0 4px}.application-steps p{color:var(--ink-soft);font-size:.94rem;margin:0}
.application-panel .application-button{display:inline-flex;justify-content:center;gap:20px;min-height:52px;padding:15px 28px}
.application-note{font-size:.85rem;color:var(--ink-soft);margin:12px 0 0}
.application-sidebar{overflow:hidden;background:var(--charcoal);color:#fff;border-radius:var(--radius-lg)}
.application-sidebar img{display:block;width:100%;height:220px;object-fit:cover}
.application-help{padding:30px}.application-help h2{font-size:1.5rem;margin:0 0 14px;color:white}.application-help p{margin:0 0 20px;color:#edf5f4}.application-help a:not(.button){color:#fff;text-decoration:underline;text-underline-offset:4px}.application-help .button{border-color:#fff;color:#fff;min-height:48px;width:100%}
.application-secondary{display:flex;gap:20px;flex-wrap:wrap;margin-top:24px}.application-secondary a{color:#005f64;text-decoration:underline;text-underline-offset:4px}
.application-panel a:focus-visible,.application-sidebar a:focus-visible{outline:3px solid #007d83;outline-offset:4px}.application-sidebar a:focus-visible{outline-color:#ffe29a}
@media(max-width:800px){.application-layout{grid-template-columns:1fr}.application-sidebar{display:grid;grid-template-columns:1fr 1fr}.application-sidebar img{height:100%;min-height:260px}.application-help{padding:24px}}
@media(max-width:520px){.application-sidebar{display:block}.application-sidebar img{height:200px;min-height:0}.application-panel .application-button{width:100%}.application-steps li{grid-template-columns:36px 1fr;gap:12px}.application-steps li::before{width:36px;height:36px}}

.pet-restrictions{margin:24px 0;padding:18px;border:1px solid #cbdad8;border-radius:4px}.pet-restrictions summary{cursor:pointer;font-weight:700;min-height:44px;padding:8px}.pet-restrictions summary:focus-visible{outline:3px solid #007d83;outline-offset:3px}.pet-restrictions ul{padding:16px 24px}.pet-restrictions p{margin-top:14px}

/* Give short editorial introductions a clear place in the page. */
.editorial-intro{max-width:820px;margin:0 auto 42px;text-align:center}
.editorial-intro .eyebrow{margin-bottom:12px}.editorial-intro .section-title{margin:0 0 18px;text-wrap:balance}
.editorial-intro .section-subtitle{max-width:68ch;margin:0 auto;line-height:1.8;text-wrap:pretty}
.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;margin-bottom:22px;border-top:1px solid #cedbd8;border-bottom:1px solid #cedbd8;color:var(--ink-soft);font-size:.85rem;letter-spacing:.02em}
.gallery-toolbar span:first-child{color:var(--ink);font-weight:700}
.neighborhood-intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;margin:0 0 48px;align-items:start}
.neighborhood-intro h2{margin:12px 0;text-wrap:balance}.neighborhood-copy p{color:var(--ink-soft);line-height:1.85;margin:0 0 18px;max-width:70ch;text-wrap:pretty}.neighborhood-copy p:last-child{margin-bottom:0}
.split .section-subtitle+.section-subtitle{margin-top:18px}.features-page .section-header .section-subtitle{max-width:68ch;line-height:1.8;margin-top:14px;text-wrap:pretty}
@media(max-width:720px){.editorial-intro{text-align:left;margin-bottom:30px}.editorial-intro .section-subtitle{margin-left:0}.gallery-toolbar{align-items:flex-start;flex-direction:column;gap:4px}.neighborhood-intro{grid-template-columns:1fr;gap:12px;margin-bottom:32px}}

/* Location: compact introduction, prominent map, concise neighborhood details. */
.location-content{padding-top:48px}
.location-lead{max-width:800px;margin:0 0 32px}
.location-lead .eyebrow{margin-bottom:8px}
.location-lead h2{font-size:clamp(1.7rem,2.5vw,2.3rem);line-height:1.25;margin:0 0 12px;text-wrap:balance}
.location-lead p{font-size:1rem;line-height:1.75;color:var(--ink-soft);max-width:66ch;margin:0}
.location-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:stretch}
.location-map-layout .map-card{min-width:0;overflow:hidden;border-radius:6px;background:#e4edeb;border:1px solid #cadad6}
.location-map-layout .map-card iframe{display:block;width:100%;height:100%;min-height:480px;border:0}
.location-visit{background:#fff;border:1px solid #d6e1de;border-radius:6px;padding:28px}
.location-visit h3{font-size:1.4rem;line-height:1.3;margin:0 0 12px}
.location-visit address{font-style:normal;line-height:1.7;margin:0 0 18px;color:var(--ink-soft)}
.location-visit .office-hours{margin:24px 0}.location-visit .office-hours p{font-size:.9rem;line-height:1.7;margin:5px 0}.location-visit .office-hours h4{font-size:1rem;margin-bottom:12px}.location-visit .button{width:100%;min-height:48px;justify-content:center}.location-phone{margin-top:18px;line-height:1.8}.location-phone a{text-decoration:underline;text-underline-offset:4px}
.location-details{margin-top:40px;padding-top:32px;border-top:1px solid #ccdcd6}
.location-details>h2{font-size:1.5rem;margin:0 0 22px}.location-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.location-highlight h3{font-size:1rem;margin:0 0 8px}.location-highlight p{font-size:.95rem;line-height:1.75;color:var(--ink-soft);margin:0;max-width:42ch}
.location-tour{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:36px;padding:24px 28px;background:var(--mist);border-radius:6px}.location-tour p{margin:0;font-size:1rem}.location-tour .button{flex-shrink:0}
@media(max-width:900px){.location-map-layout{grid-template-columns:1fr}.location-map-layout .map-card iframe{height:440px;min-height:0}.location-visit{display:grid;grid-template-columns:1fr 1fr;gap:24px}.location-visit .office-hours{margin:0}.location-highlights{gap:20px}}
@media(max-width:600px){.location-content{padding-top:32px}.location-lead{margin-bottom:24px}.location-visit{display:block;padding:24px}.location-visit .office-hours{margin-top:24px}.location-map-layout .map-card iframe{height:360px}.location-highlights{grid-template-columns:1fr;gap:24px}.location-tour{align-items:flex-start;flex-direction:column;padding:24px}.location-tour .button{width:100%}}

/* Welcome: shorter editorial copy with balanced type and image spacing. */
.welcome-layout{gap:clamp(32px,5vw,80px);align-items:center}
.welcome-copy{max-width:570px}
.welcome-copy .eyebrow{font-size:.75rem;letter-spacing:.14em;margin-bottom:14px;line-height:1.6}
.welcome-copy .section-title{font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1.18;letter-spacing:-.02em;margin:0 0 22px;text-wrap:balance}
.welcome-copy .welcome-lead{font-size:1.15rem;line-height:1.65;color:var(--ink);margin:0 0 16px;max-width:44ch;text-wrap:pretty}
.welcome-copy .welcome-body{font-size:1rem;line-height:1.85;color:var(--ink-soft);margin:0;max-width:53ch;text-wrap:pretty}
.welcome-copy .welcome-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;margin-top:22px;color:#005f64;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.welcome-copy .welcome-link:focus-visible{outline:3px solid #007d83;outline-offset:4px}
.welcome-layout .feature-media img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover}
@media(max-width:720px){.welcome-copy{max-width:none}.welcome-copy .section-title{margin-bottom:18px}.welcome-copy .welcome-lead{font-size:1.08rem}.welcome-layout .feature-media img{aspect-ratio:3/2}}
