:root{--blue:#2991d0;--blue-dark:#1473aa;--green:#b6dec7;--navy:#12112f;--pale:#f1f8f8;--white:#fff;--muted:#626b78;--line:#dce8e9;--shadow:0 20px 60px rgba(18,17,47,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);font-family:Inter,Avenir,"Segoe UI",Arial,sans-serif;line-height:1.6;background:#fff}img{display:block;max-width:100%}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:-.025em}h1{font-size:clamp(3rem,6.5vw,6rem);max-width:950px;margin-bottom:1.5rem}h2{font-size:clamp(2.25rem,4vw,4.3rem);margin-bottom:1.35rem}h3{font-size:1.25rem}.skip-link{position:fixed;left:1rem;top:-6rem;background:#fff;padding:.8rem 1rem;z-index:100}.skip-link:focus{top:1rem}.site-header{height:92px;padding:0 clamp(1rem,4vw,4rem);display:flex;align-items:center;gap:2rem;position:relative;z-index:20;background:#fff}.brand{margin-right:auto}.brand img{width:250px}.site-header nav{display:flex;gap:1.6rem}.site-header nav a{text-decoration:none;font-size:.9rem;font-weight:700}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--blue)}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:.8rem 1.4rem;border-radius:4px;background:var(--blue);color:#fff;font-weight:800;text-decoration:none;box-shadow:0 8px 24px rgba(41,145,208,.25);transition:.2s ease}.button:hover,.button:focus-visible{background:var(--blue-dark);transform:translateY(-2px)}.button-small{min-height:44px;padding:.55rem 1rem;font-size:.9rem}.button-dark{background:var(--navy);box-shadow:none}.button-dark:hover,.button-dark:focus-visible{background:#28264f}.hero{min-height:calc(100vh - 92px);position:relative;display:flex;align-items:flex-end;color:#fff;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(18,17,47,.84) 0%,rgba(18,17,47,.38) 58%,rgba(18,17,47,.08) 100%)}.hero-content{position:relative;z-index:2;padding:clamp(4rem,8vw,8rem) clamp(1.25rem,7vw,7rem);width:100%}.hero-content>p:not(.eyebrow){font-size:clamp(1.1rem,1.7vw,1.4rem);max-width:670px;margin-bottom:2rem}.hero-actions{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.hero-note{position:absolute;right:0;bottom:0;z-index:3;background:var(--green);color:var(--navy);padding:1.5rem 3rem;display:grid;min-width:310px}.hero-note span{font-size:.85rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--blue-dark);font-size:.76rem;font-weight:900;margin-bottom:1rem}.eyebrow.light{color:#c8efff}.text-link{font-weight:800;color:var(--blue-dark);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.2rem}.text-link.light{color:#fff}.section{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,7vw,7rem)}.section-tight{margin:0 clamp(1.25rem,7vw,7rem)}.intro{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:start}.intro-copy{font-size:1.15rem;color:#3f4855;padding-top:2rem}.image-story{display:grid;grid-template-columns:1.5fr .9fr;align-items:center;background:var(--pale)}.story-image img{height:620px;width:100%;object-fit:cover}.story-card{padding:clamp(2rem,6vw,6rem)}.story-card p:last-child{color:#4e5663;font-size:1.05rem}.amenities{background:var(--navy);color:#fff}.amenities .eyebrow{color:#7fd0ff}.section-heading{max-width:860px;margin-bottom:3.5rem}.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18)}.amenity-grid article{padding:2rem;background:var(--navy);min-height:220px}.amenity-grid article span{color:#70c5f7;font-weight:900;font-size:.75rem}.amenity-grid h3{margin-top:2.2rem}.amenity-grid p{color:#bec3d0;font-size:.92rem}.practical{display:flex;gap:1.5rem 3rem;flex-wrap:wrap;margin-top:2.5rem;color:#c5cad4;font-size:.9rem}.practical strong{color:#fff}.split{display:grid;grid-template-columns:1.4fr .6fr;gap:4rem;max-width:none;align-items:end}.split>p{color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.gallery-grid .wide{grid-column:1/-1}.gallery figure{margin:0;position:relative;overflow:hidden;background:var(--pale)}.gallery figure img{height:420px;width:100%;object-fit:cover;transition:transform .5s ease}.gallery figure.wide img{height:560px}.gallery figure:hover img{transform:scale(1.02)}figcaption{position:absolute;left:1rem;bottom:1rem;background:rgba(18,17,47,.86);color:#fff;padding:.45rem .75rem;font-size:.8rem}.availability{background:var(--green);display:grid;grid-template-columns:1.2fr .8fr;gap:8vw}.availability>div:last-child{font-size:1.1rem}.reviews{background:var(--pale)}.review-panel{background:#fff;padding:clamp(2rem,5vw,4rem);max-width:900px;box-shadow:var(--shadow)}.review-panel p{font-size:1.25rem}.stars{color:#e7a92f;letter-spacing:.16em;font-size:1.25rem;margin-bottom:1rem}.contact{background:var(--navy);color:#fff;display:grid;grid-template-columns:1.1fr .9fr;gap:8vw}.contact-intro>p:not(.eyebrow){font-size:1.1rem;color:#d3d5df;max-width:600px}.contact-card{font-style:normal;background:#fff;color:var(--navy);padding:clamp(2rem,4vw,4rem);box-shadow:var(--shadow)}.contact-card h3{font-size:1.5rem;margin-bottom:2rem}.contact-card div{display:grid;grid-template-columns:110px 1fr;padding:1rem 0;border-top:1px solid var(--line)}.contact-card span{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--blue-dark)}.contact-card a{text-decoration:none}.contact-card p{margin:0}footer{padding:3rem clamp(1.25rem,7vw,7rem);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem 3rem;background:#fff}footer img{width:210px}footer>p{margin:0}.fine-print{grid-column:1/-1;color:var(--muted);font-size:.78rem;max-width:1000px}.copyright{grid-column:1/-1;font-size:.82rem;color:var(--muted)}
@media(max-width:980px){.site-header{height:78px}.brand img{width:205px}.site-header>.button{display:none}.menu-toggle{display:block;border:0;background:var(--navy);color:#fff;padding:.65rem .85rem;font-weight:800}.site-header nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:1.5rem;box-shadow:var(--shadow);flex-direction:column}.site-header nav.open{display:flex}.hero{min-height:calc(100svh - 78px)}.intro,.availability,.contact,.image-story{grid-template-columns:1fr}.story-image img{height:440px}.amenity-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr;gap:1rem}.gallery figure img,.gallery figure.wide img{height:420px}footer{grid-template-columns:1fr;align-items:start}}
@media(max-width:640px){h1{font-size:clamp(2.7rem,15vw,4.2rem)}.hero-note{display:none}.hero-content{padding-bottom:5rem}.hero-shade{background:linear-gradient(90deg,rgba(18,17,47,.86),rgba(18,17,47,.4))}.section{padding:4.5rem 1.25rem}.section-tight{margin:0}.amenity-grid{grid-template-columns:1fr}.amenity-grid article{min-height:auto}.gallery-grid{grid-template-columns:1fr}.gallery-grid .wide{grid-column:auto}.gallery figure img,.gallery figure.wide img{height:340px}.availability{gap:2rem}.contact{gap:3rem}.contact-card div{grid-template-columns:1fr;gap:.35rem}.site-header{padding:0 1rem}.brand img{width:180px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Sticky navigation, review cards and map layout */
.site-header{position:sticky;top:0;background:rgba(255,255,255,.97);box-shadow:0 3px 20px rgba(18,17,47,.08);backdrop-filter:blur(12px)}
.section{scroll-margin-top:90px}
.review-summary{display:flex;flex-direction:column;align-items:flex-start}.review-summary .stars{margin-bottom:.25rem}.review-summary span{color:var(--muted);font-size:.86rem}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.review-card{background:#fff;padding:2rem;box-shadow:var(--shadow);min-height:250px;display:flex;flex-direction:column}.review-card blockquote{font-size:1.25rem;font-weight:700;line-height:1.45;margin:1rem 0 auto}.review-card footer{padding:1.5rem 0 0;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;background:transparent}.review-card footer span{font-size:.78rem;color:var(--muted)}.review-link-row{display:flex;justify-content:flex-end;align-items:center;gap:2rem;margin-top:2rem}
.contact{grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);gap:clamp(2rem,5vw,5rem);align-items:stretch}.contact-copy{display:grid;gap:3rem}.map-panel{min-height:720px;background:#fff;position:relative;overflow:hidden}.map-panel iframe{border:0;width:100%;height:100%;min-height:720px;display:block}.map-panel>a{position:absolute;right:1rem;bottom:1rem;background:var(--navy);color:#fff;padding:.8rem 1rem;text-decoration:none;font-weight:800;box-shadow:var(--shadow)}
@media(max-width:980px){.review-grid{grid-template-columns:1fr}.review-card{min-height:210px}.contact{grid-template-columns:1fr}.map-panel,.map-panel iframe{min-height:500px}}
@media(max-width:640px){.review-link-row{align-items:flex-start;flex-direction:column}.map-panel,.map-panel iframe{min-height:420px}}
.amenity-grid h3{margin-top:0}
.owners-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.6rem 1.2rem;border-radius:999px;background:var(--green);color:var(--navy);font-size:.9rem;font-weight:900;text-decoration:none;white-space:nowrap;transition:.2s ease}.owners-button:hover,.owners-button:focus-visible{background:#9fd4b7;transform:translateY(-2px)}.mobile-owner-link{display:none}.portal-body{background:var(--pale)}.portal-header{position:sticky}.portal-header .brand{margin-right:auto}.portal-home-link{text-decoration:none;font-weight:800;color:var(--blue-dark)}.portal-main{min-height:calc(100vh - 92px);padding:clamp(4rem,8vw,8rem) clamp(1.25rem,7vw,7rem)}.portal-intro{max-width:850px;margin-bottom:3.5rem}.portal-intro h1{font-size:clamp(3rem,6vw,5.5rem)}.portal-intro>p:last-child{font-size:1.15rem;color:var(--muted);max-width:680px}.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.portal-card{min-height:230px;padding:2rem;background:#fff;text-decoration:none;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between;transition:.2s ease}.portal-card:hover,.portal-card:focus-visible{transform:translateY(-4px);box-shadow:0 25px 65px rgba(18,17,47,.2)}.portal-card span{color:var(--blue-dark);font-weight:900}.portal-card h2{font-size:1.65rem;margin:0}.resident-page{max-width:1000px}.resident-page h1{font-size:clamp(3rem,6vw,5rem)}.resident-content{background:#fff;padding:clamp(2rem,5vw,5rem);box-shadow:var(--shadow)}.resident-content p{font-size:1.08rem;color:var(--muted)}.resident-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}.resident-links a{font-weight:800;color:var(--blue-dark)}
@media(max-width:1100px){.site-header{gap:1rem}.site-header nav{gap:1rem}.portal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.mobile-owner-link{display:block}.site-header>.owners-button{display:none}.portal-header>.owners-button{display:inline-flex}.portal-main{min-height:calc(100vh - 78px)}}
@media(max-width:640px){.portal-grid{grid-template-columns:1fr}.portal-card{min-height:180px}.portal-header>.owners-button{display:none}}
.resident-document-list{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem;width:100%}.resident-document{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem;border:1px solid var(--line);text-decoration:none;background:var(--pale)}.resident-document span{display:flex;flex-direction:column}.resident-document small{display:block;margin-top:.3rem;color:var(--muted)}.resident-document b{display:block;color:var(--blue-dark);white-space:nowrap}.resident-document:hover,.resident-document:focus-visible{border-color:var(--blue)}.empty-documents{padding:1.5rem;background:var(--pale);color:var(--muted)}
