 :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}}
