@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#202422;--paper:#f3f0ea;--warm:#d8d0c2;--gold:#b89b72;--line:rgba(32,36,34,.18);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:600;margin:0 0 24px}.section-pad{padding:130px max(6vw,32px)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;line-height:1.02;letter-spacing:-.035em}h2{font-size:clamp(42px,5vw,78px);margin-bottom:28px}h2 em,h1 em{font-style:italic;color:#9a8060}.site-header{height:86px;position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;color:#fff;transition:.35s ease}.site-header.is-scrolled{position:fixed;background:rgba(243,240,234,.96);color:var(--ink);height:70px;box-shadow:0 4px 20px #00000012}.brand{display:flex;align-items:center;gap:11px;font-size:15px;letter-spacing:.16em;line-height:.9;font-weight:600}.brand small{font-size:7px;letter-spacing:.28em}.brand-mark{font-size:25px;line-height:1;font-family:var(--serif);font-weight:400}.desktop-nav{display:flex;align-items:center;gap:28px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.nav-cta{background:#c6a77d;color:#fff;padding:13px 18px}.nav-cta span,.text-link span,.solid-button span,.outline-button span{margin-left:17px;font-size:18px}.menu-toggle,.mobile-drawer{display:none}.hero{min-height:760px;height:100svh;max-height:1000px;position:relative;background:linear-gradient(120deg,#55554f,#a8a08f 58%,#d0c4b0);overflow:hidden;color:#fff}.hero-video{position:absolute;inset:0;opacity:.53;overflow:hidden}.hero-video iframe{position:absolute;width:177.8vh;height:56.25vw;min-width:100%;min-height:100%;left:50%;top:50%;transform:translate(-50%,-50%);border:0;pointer-events:none}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#111b1b99,#111b1b22 70%),linear-gradient(0deg,#101614aa,transparent 48%)}.hero-content{position:relative;z-index:1;height:100%;padding:20vh 6vw 7vh;display:flex;flex-direction:column;justify-content:space-between}.hero-eyebrow{color:#ded4c3}.hero h1{font-size:clamp(54px,8.6vw,132px);margin:0;line-height:.91}.hero h1 span{font-size:.56em;letter-spacing:-.02em}.hero h1 em{color:#e3d3bb;font-size:.65em}.hero-foot{display:flex;justify-content:space-between;align-items:end;font-size:13px}.hero-foot p{margin:0}.circle-link{border:1px solid #fff;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;font-size:22px}.intro{display:grid;grid-template-columns:18% minmax(300px,630px) 1fr;gap:4vw;background:#e8e3da}.vertical-label{writing-mode:vertical-rl;text-transform:uppercase;font-size:10px;letter-spacing:.2em}.intro-copy .lead{font-family:var(--serif);font-size:25px;line-height:1.38;margin:0 0 28px}.intro-copy>p:not(.eyebrow):not(.lead){max-width:490px;color:#62645d}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:7px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-top:19px}.intro-stamp{justify-self:end;align-self:center;text-align:center;transform:rotate(-10deg);color:#8d7a60}.intro-stamp span{font-family:var(--serif);font-size:100px;display:block;line-height:1}.intro-stamp small{font-size:10px;letter-spacing:.17em;text-transform:uppercase}.highlights{background:var(--ink);color:#eee9df}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.section-head>p{max-width:290px;color:#aaa89d;font-size:13px;margin:0}.highlight-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff2b}.highlight-card{min-height:220px;padding:28px 22px 24px 0;border-bottom:1px solid #ffffff2b;position:relative;display:flex;flex-direction:column;justify-content:space-between}.highlight-card:not(:nth-child(4n+1)){padding-left:25px;border-left:1px solid #ffffff2b}.card-number{font-size:10px;color:#b8a689}.highlight-card h3{font:500 24px/1.1 var(--serif);margin:0 0 12px}.highlight-card p{color:#aaa89d;max-width:210px;font-size:13px;line-height:1.5;margin:0}.card-arrow{position:absolute;right:19px;top:26px;color:#b8a689}.units{background:#d8d0c2}.units-head{align-items:end}.units-head h2{margin-bottom:0}.carousel-controls{display:flex;align-items:center;gap:25px;font-size:11px}.carousel-controls button{width:42px;height:42px;border-radius:50%;border:1px solid var(--ink);background:none;cursor:pointer;font-size:20px}.unit-carousel{position:relative;min-height:500px}.unit-slide{display:none;grid-template-columns:1.25fr .75fr;gap:7vw;align-items:center}.unit-slide.is-active{display:grid}.unit-plan{background:#f3f0ea;padding:3.5vw}.unit-plan img{width:100%;height:auto;display:block}.unit-info .eyebrow{margin-bottom:17px}.unit-info h3{font:500 clamp(44px,5vw,73px)/1 var(--serif);margin:0 0 15px}.unit-info>p:not(.eyebrow){font-size:13px;color:#62645d}.center-cta{text-align:center;margin-top:55px}.outline-button,.solid-button{display:inline-block;border:1px solid var(--ink);padding:17px 22px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.vista{background:#ece8df}.vista-panel{min-height:490px;background:var(--ink);color:#eee9df;padding:8vw;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.vista-panel p:not(.eyebrow){color:#aaa89d;max-width:360px}.on-hold{display:inline-block;margin-top:30px;padding:8px 12px;border:1px solid #ffffff40;color:#c0ac8d;font-size:9px;letter-spacing:.18em}.vista-orbit{width:390px;height:390px;border:1px solid #ffffff36;border-radius:50%;position:relative;display:grid;place-items:center;margin-right:5vw}.vista-orbit:before,.vista-orbit:after{content:'';position:absolute;border:1px solid #ffffff2c;border-radius:50%;inset:50px;transform:rotate(42deg) scaleX(1.7)}.vista-orbit:after{inset:100px;transform:rotate(-35deg) scaleX(1.8)}.vista-orbit b{font:100px var(--serif);font-weight:400;color:#c1ab88}.vista-orbit span{position:absolute;font-size:9px;letter-spacing:.15em;color:#b8a689}.vista-orbit span:nth-child(1){top:30px}.vista-orbit span:nth-child(2){right:-35px;top:46%}.vista-orbit span:nth-child(3){bottom:32px;left:-25px}.register{display:grid;grid-template-columns:1.1fr .9fr;padding-top:0;padding-bottom:130px;background:#ece8df}.register-art{min-height:570px;background:url('/assets/asa-architectural.svg') center/cover}.register-copy{padding:8vw 5vw;align-self:center}.register-copy>p:not(.eyebrow){max-width:360px;color:#62645d}.solid-button{background:var(--ink);color:#fff;border-color:var(--ink);margin-top:20px}.site-footer{background:#d8d0c2;padding:80px 6vw 25px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4vw;align-items:start;padding-bottom:100px}.brand-dark{color:var(--ink)}.site-footer h2{font-size:clamp(36px,4vw,60px)}.footer-contact{display:grid;gap:22px}.footer-contact a{border-bottom:1px solid var(--line);padding-bottom:13px;font-size:13px}.footer-contact span{display:block;color:#77766f;font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px}.footer-contact b{float:right;font-weight:400;font-size:18px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;color:#6f706a;font-size:10px;letter-spacing:.06em}.footer-bottom i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#b08e5d;margin:0 6px}
@media(max-width:767px){.section-pad{padding:84px 24px}.site-header{height:70px;padding:0 24px}.site-header.is-scrolled{height:64px}.desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:none;padding:10px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:1px;background:currentColor}.mobile-drawer{display:block;position:fixed;inset:0;background:#202422;color:#eee9df;padding:28px 24px;transform:translateX(100%);transition:transform .4s cubic-bezier(.77,0,.18,1)}.mobile-drawer.is-open{transform:translateX(0)}.drawer-close{position:absolute;right:22px;top:18px;border:0;background:none;color:#eee9df;font-size:34px;font-weight:200}.mobile-drawer .eyebrow{margin-top:90px;color:#b8a689}.mobile-drawer nav{display:grid;gap:21px}.mobile-drawer nav a{font:500 37px/1 var(--serif);border-bottom:1px solid #ffffff24;padding-bottom:18px}.mobile-drawer nav a span{float:right;font:20px var(--sans);color:#b8a689}.mobile-drawer .drawer-cta{color:#c7a97c}.hero{min-height:680px}.hero-content{padding:145px 24px 35px}.hero h1{font-size:58px}.hero-eyebrow{font-size:9px}.hero-foot{font-size:12px}.desktop-only{display:none}.intro{display:block}.vertical-label{display:block;writing-mode:initial;margin-bottom:48px}.intro-stamp{display:none}.intro-copy .lead{font-size:22px}.section-head{display:block;margin-bottom:40px}.section-head>p{margin-top:25px}.highlight-grid{grid-template-columns:1fr 1fr}.highlight-card{min-height:210px;padding:22px 12px 20px 0}.highlight-card:not(:nth-child(4n+1)){padding-left:0;border-left:0}.highlight-card:nth-child(odd){padding-right:15px}.highlight-card:nth-child(even){padding-left:15px;border-left:1px solid #ffffff2b}.highlight-card h3{font-size:20px}.highlight-card p{font-size:12px}.units{padding-left:0;padding-right:0;overflow:hidden}.units-head{padding:0 24px}.carousel-controls{margin-top:27px;justify-content:space-between}.unit-carousel{min-height:580px}.unit-slide.is-active{display:flex;flex-direction:column;gap:30px;align-items:stretch}.unit-plan{margin:0 24px;padding:24px}.unit-info{padding:0 24px}.unit-info h3{font-size:50px}.center-cta{margin-top:28px}.vista-panel{display:block;min-height:580px;padding:55px 30px}.vista-orbit{width:285px;height:285px;margin:55px auto 0}.register{display:flex;flex-direction:column;padding-left:0;padding-right:0}.register-art{min-height:300px;order:0}.register-copy{padding:70px 24px}.footer-top{grid-template-columns:1fr;gap:50px;padding-bottom:65px}.footer-bottom{display:grid;gap:10px}.site-footer{padding:65px 24px 25px}}
/* Modern translucent carousel controls */
.carousel-controls button{width:44px;height:44px;border:1px solid rgba(32,36,34,.28);border-radius:50%;background:rgba(243,240,234,.34);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;line-height:1;transition:background-color 160ms ease,border-color 160ms ease,transform 120ms ease,box-shadow 160ms ease}.carousel-controls button:hover{background:rgba(243,240,234,.68);border-color:rgba(32,36,34,.55);box-shadow:0 6px 16px rgba(32,36,34,.1)}.carousel-controls button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.carousel-controls button:active{transform:scale(.96)}
@media(prefers-reduced-motion:reduce){.carousel-controls button{transition:none}}
/* Homepage refinements */
.intro-image{min-height:390px;align-self:center;position:relative;display:grid;place-items:center;background:linear-gradient(145deg,#b9ad9b,#e7e1d7);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.intro-image:before{content:'';position:absolute;inset:0;background:linear-gradient(145deg,transparent,#222a261f),url('/assets/asa-architectural.svg') center/cover;opacity:.42}.intro-image span{position:relative;border:1px dashed rgba(32,36,34,.42);padding:20px 26px;text-align:center;font-size:10px;letter-spacing:.16em;line-height:1.6}.intro-image small{font-size:8px;letter-spacing:.1em;color:#6d6a61}.highlight-card:before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(32,36,34,.86),rgba(32,36,34,.58)),var(--card-image) center/cover;opacity:.25;pointer-events:none}.highlight-card>*{position:relative}.outline-button,.solid-button,.nav-cta{border-radius:999px}.progress-link{color:#6f706a;transition:color 160ms ease}.progress-link:hover{color:var(--ink)}
@media(max-width:767px){.intro-image{min-height:300px;margin-top:55px}.register-art{background-image:linear-gradient(135deg,rgba(32,36,34,.1),rgba(32,36,34,.1)),url('/assets/asa-architectural.svg')}}

/* Keep highlight card rhythm consistent across the grid. */
.highlight-card{padding-left:25px}
.highlight-card:before{opacity:.34}
@media(max-width:767px){.highlight-card{padding-left:15px}}

/* Section 2 image supplied in image-requirements.json. */
.intro-image{background-image:url('/assets/section-2-condo.avif')}
.intro-image:before{background:linear-gradient(145deg,transparent,#222a261f);opacity:.28}

/* Warm the brand when the header becomes the light, fixed version. */
.site-header.is-scrolled .brand{color:#c6a77d}
.site-header.is-scrolled .brand-icon{filter:brightness(0) saturate(100%) invert(69%) sepia(17%) saturate(620%) hue-rotate(359deg) brightness(89%) contrast(87%)}

/* Balance the Section 2 copy with its image. */
.intro-copy h2{font-size:clamp(38px,4.2vw,64px);margin-bottom:22px}
.intro-copy .lead{font-size:21px;line-height:1.3;margin-bottom:22px}
.intro-copy>p:not(.eyebrow):not(.lead){font-size:13px;line-height:1.55}
.intro-image{align-self:stretch;min-height:430px}
@media(max-width:767px){.intro-copy h2{font-size:clamp(38px,11vw,52px)}.intro-copy .lead{font-size:21px}.intro-image{min-height:300px}}

/* Restore the original Section 2 type scale and show the complete image. */
.intro-copy h2{font-size:clamp(42px,5vw,78px);margin-bottom:28px}
.intro-copy .lead{font-size:25px;line-height:1.38;margin:0 0 28px}
.intro-copy>p:not(.eyebrow):not(.lead){font-size:15px;line-height:1.6}
.intro-image{align-self:stretch;min-height:390px;background-size:100% 100%;background-repeat:no-repeat}
@media(max-width:767px){.intro-copy h2{font-size:clamp(42px,5vw,78px)}.intro-copy .lead{font-size:22px}.intro-image{min-height:300px}}

@media(max-width:767px){.highlight-card{justify-content:flex-start}.highlight-card>div{margin-top:24px}}

@media(max-width:767px){
  .vista.section-pad{padding-left:0;padding-right:0}
  .vista-embed{width:100%;height:600px;min-height:600px;aspect-ratio:auto}
}

@media(max-width:767px){.mobile-drawer nav a{font-size:15px}}
.drawer-brand{position:absolute;top:24px;left:24px;display:block}
.drawer-brand .brand-icon{width:104px;height:104px;filter:none}
@media(max-width:767px){.mobile-drawer .eyebrow{margin-top:130px}}
.site-header.is-scrolled .drawer-brand .brand-icon{width:104px;height:104px;filter:none}
.site-footer .brand-icon{width:72px;height:72px;filter:none}

/* Location page */
.location-hero{min-height:680px;height:78svh;max-height:900px;position:relative;overflow:hidden;background:linear-gradient(120deg,#55554f,#a8a08f 58%,#d0c4b0);color:#fff}
.location-hero-image{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(120deg,#55554f,#a8a08f 58%,#d0c4b0);background-position:center;background-size:cover}
.location-hero-image span,.location-intro-image span,.location-map-placeholder span{position:relative;border:1px dashed rgba(255,255,255,.48);padding:20px 26px;text-align:center;font-size:10px;letter-spacing:.16em;line-height:1.6;color:#fff}
.location-hero-image small,.location-intro-image small,.location-map-placeholder small{font-size:8px;letter-spacing:.1em}
.location-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#111b1bcc,#111b1b22 72%),linear-gradient(0deg,#101614c9,transparent 55%)}
.location-hero-content{position:absolute;inset:0;padding:20vh 6vw 7vh;display:flex;flex-direction:column;justify-content:space-between}
.location-hero h1{font-size:clamp(62px,9vw,140px);line-height:.86;margin:0}.location-hero h1 em{color:#e3d3bb;font-size:.72em}.location-hero-meta{font-size:13px;margin:0;color:#ded4c3}
.location-intro{display:grid;grid-template-columns:18% minmax(300px,620px) 1fr;gap:4vw;background:#e8e3da}.location-intro-copy .lead{font:25px/1.38 var(--serif);margin-bottom:28px}.location-intro-copy>p:not(.eyebrow):not(.lead){max-width:500px;color:#62645d}.location-intro-image{min-height:430px;align-self:stretch;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,#b9ad9b,#e7e1d7);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}
.accessibility-section{background:#e8e3da;color:var(--ink)}.accessibility-section .section-head>p{color:#62645d}.accessibility-grid{display:grid;grid-template-columns:repeat(2,1fr)}.accessibility-group{padding:28px 28px 34px 0}.accessibility-group:nth-child(even){padding-left:28px}.accessibility-group-head{margin-bottom:22px}.accessibility-group h3{font:500 26px/1.1 var(--serif);margin:0}.accessibility-list{display:grid;gap:12px}.accessibility-item{display:flex;justify-content:space-between;gap:20px;padding:0;color:#62645d;font-size:13px}.accessibility-item b{font-weight:500;color:#9a8060;white-space:nowrap}.location-disclaimer{margin:42px 0 0;color:#77766f;font-size:11px}
.location-map{background:#ece8df}.location-map-panel{min-height:520px;background:#d8d0c2;display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;padding:8vw;align-items:center}.location-map-panel p:not(.eyebrow){max-width:300px;color:#62645d}.location-map-placeholder{min-height:360px;display:grid;place-items:center;background:linear-gradient(145deg,#b9ad9b,#e7e1d7);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.location-map-placeholder span{border-color:rgba(32,36,34,.42);color:var(--ink)}.location-map-placeholder small{color:#6d6a61}.location-cta{display:flex;justify-content:space-between;align-items:center;background:#ece8df;padding-top:0}.location-cta h2{margin:0}.location-cta .solid-button{margin-top:0}
@media(max-width:767px){.location-hero{min-height:620px;height:78svh}.location-hero-content{padding:145px 24px 35px}.location-hero h1{font-size:66px}.location-intro{display:block}.location-intro-label{margin-bottom:48px}.location-intro-image{min-height:300px;margin-top:55px}.accessibility-grid{grid-template-columns:1fr}.accessibility-group,.accessibility-group:nth-child(even){padding:22px 0;border-left:0}.accessibility-group h3{font-size:22px}.accessibility-item{font-size:12px}.location-map-panel{display:block;min-height:0;padding:55px 30px}.location-map-placeholder{min-height:300px;margin-top:48px}.location-cta{display:block}.location-cta .solid-button{margin-top:32px}}
.location-map-frame{display:block;width:100%;min-height:360px;border:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}
@media(max-width:767px){.location-map-frame{min-height:360px;margin-top:48px}}

/* Facilities page */
.facilities-hero{min-height:590px;background:var(--ink);color:#eee9df;display:flex;align-items:end;padding:150px 6vw 78px}.facilities-hero-content{max-width:760px}.facilities-hero h1{font-size:clamp(66px,10vw,145px);line-height:.84;margin:0 0 35px}.facilities-hero h1 em{color:#c6a77d;font-size:.72em}.facilities-hero p:last-child{margin:0;color:#aaa89d;font-size:14px}.facilities-gallery{background:#ece8df}.facility-floor{padding:100px max(6vw,32px);border-top:1px solid var(--line)}.facility-floor:first-child{border-top:0}.facility-floor-meta{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}.facility-floor-meta h2{font-size:clamp(42px,5vw,74px);margin:0 auto 0 0}.facility-floor-meta p:last-child{max-width:270px;color:#62645d;font-size:13px;line-height:1.5;margin:0}.facility-floor figure{margin:0;background:#f3f0ea;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.facility-floor img{display:block;width:100%;height:auto}.facilities-cta{display:flex;justify-content:space-between;align-items:center;background:#ece8df;padding-top:80px}.facilities-cta h2{margin:0}.facilities-cta .solid-button{margin-top:0}
@media(max-width:767px){.facilities-hero{min-height:560px;padding:145px 24px 40px}.facilities-hero h1{font-size:68px}.facility-floor{padding:65px 24px}.facility-floor-meta{display:block;margin-bottom:25px}.facility-floor-meta h2{font-size:46px;margin-bottom:20px}.facility-floor-meta p:last-child{max-width:330px}.facility-floor figure{margin-left:-24px;margin-right:-24px}.facilities-cta{display:block;padding-top:65px}.facilities-cta .solid-button{margin-top:32px}}
.facilities-hero{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(17,27,27,.84),rgba(17,27,27,.28) 75%),linear-gradient(0deg,rgba(16,22,20,.72),transparent 62%),url('/assets/facilities-hero-image.jpg') center/cover no-repeat}.facilities-hero-content{position:relative;z-index:1}

/* Unit plans page */
.unit-plans-hero{min-height:590px;background:var(--ink);color:#eee9df;display:flex;align-items:end;padding:150px 6vw 78px}.unit-plans-hero-content{max-width:850px}.unit-plans-hero h1{font-size:clamp(62px,9vw,132px);line-height:.86;margin:0 0 34px}.unit-plans-hero h1 em{color:#c6a77d;font-size:.7em}.unit-plans-hero p:last-child{margin:0;color:#aaa89d;font-size:14px}.unit-plans-intro{background:#e8e3da}.unit-plans-intro h2{margin-bottom:24px}.unit-plans-intro>p:not(.eyebrow){max-width:440px;color:#62645d}.unit-type-nav{display:flex;flex-wrap:wrap;gap:9px;margin-top:42px}.unit-type-nav a{border:1px solid var(--line);border-radius:999px;padding:10px 15px;font-size:11px;transition:background-color 160ms ease,color 160ms ease,border-color 160ms ease}.unit-type-nav a:hover{background:var(--ink);border-color:var(--ink);color:#fff}.unit-plan-detail{border-top:1px solid var(--line);background:#ece8df}.unit-plan-detail:first-child{border-top:0}.unit-plan-heading{display:flex;align-items:flex-start;gap:24px;margin-bottom:46px}.unit-plan-number{color:#9a8060;font-size:11px;padding-top:10px}.unit-plan-heading h2{font-size:clamp(40px,5vw,72px);margin:0 0 14px}.unit-plan-size{max-width:650px;color:#62645d;font-size:13px;margin:0}.unit-plan-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:start}.unit-plan-layout figure{margin:0}.unit-floorplan{background:#f3f0ea;padding:3vw;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.unit-floorplan img{display:block;width:100%;height:auto}.unit-plan-layout figcaption{margin-top:12px;color:#77766f;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.unit-plan-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px}.unit-plan-photos figure{background:#d8d0c2;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.unit-plan-photos img{display:block;width:100%;height:100%;min-height:190px;object-fit:cover;transition:transform 220ms ease}.unit-plan-photos figure:hover img{transform:scale(1.035)}.unit-plan-detail>.text-link{margin-top:36px}
@media(max-width:767px){.unit-plans-hero{min-height:560px;padding:145px 24px 40px}.unit-plans-hero h1{font-size:66px}.unit-plans-intro{padding-top:84px}.unit-type-nav{gap:7px;margin-top:32px}.unit-type-nav a{padding:9px 12px}.unit-plan-detail{padding-top:70px;padding-bottom:70px}.unit-plan-heading{gap:14px;margin-bottom:30px}.unit-plan-heading h2{font-size:46px}.unit-plan-layout{display:block}.unit-floorplan{padding:24px}.unit-plan-photos{margin-top:16px;gap:10px}.unit-plan-photos img{min-height:130px}.unit-plan-detail>.text-link{margin-top:28px}}
.unit-type-nav a[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:#fff}.unit-plan-detail[hidden]{display:none}
.unit-plan-controls{display:flex;align-items:center;justify-content:space-between;padding:0 max(6vw,32px) 28px;color:#9a8060;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.unit-plan-controls button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;font-size:20px;line-height:1;transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease,transform 160ms ease}.unit-plan-controls button:hover{background:rgba(255,255,255,.45);border-color:var(--ink)}.unit-plan-controls button:active{transform:scale(.96)}.unit-plan-controls button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.unit-floorplan{background:transparent;box-shadow:none}
.unit-floorplan{background:#f3f0ea;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}
.unit-plan-photos{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
.unit-plan-photos figure{width:100%;height:230px;display:flex;align-items:center;justify-content:center;background:transparent;box-shadow:none}
.unit-plan-photos img{width:100%;height:100%;min-height:0;object-fit:contain}
@media(max-width:767px){.unit-plan-photos{margin-top:16px;gap:10px}.unit-plan-photos figure{height:180px}}
.unit-plan-photos img,.unit-plan-photos figure:hover img{transition:none;transform:none}
.unit-floorplan img+img{margin-top:24px}
.unit-type-nav{margin-top:24px}
.unit-plans-intro,.unit-plan-detail{background:#e8e3da}
.unit-plan-detail{border-top:0;padding-top:36px}
.unit-plans-intro{padding-bottom:28px}
@media(max-width:767px){.unit-type-nav{margin-top:20px}.unit-plans-intro{padding-bottom:20px}.unit-plan-detail{padding-top:28px}}
.unit-plan-controls{padding-left:24px;padding-right:24px}
.unit-plan-list{position:relative}
.unit-plan-controls{position:absolute;z-index:3;top:50%;left:0;right:0;transform:translateY(-50%);padding:0 max(2vw,16px);pointer-events:none}
.unit-plan-controls span{display:none}
.unit-plan-controls button{pointer-events:auto}
.unit-detail-hero{min-height:500px;background:var(--ink);color:#eee9df;display:flex;align-items:end;padding:145px 6vw 70px}.unit-detail-hero h1{font-size:clamp(58px,8vw,118px);line-height:.86;margin:0 0 30px}.unit-detail-hero h1 em{color:#c6a77d;font-size:.72em}.unit-detail-hero p:last-child{margin:0;color:#aaa89d;font-size:14px}.unit-detail-content{background:#e8e3da}.unit-detail-back{background:#e8e3da;padding-top:0;text-align:center}
@media(max-width:767px){.unit-detail-hero{min-height:520px;padding:145px 24px 40px}.unit-detail-hero h1{font-size:64px}.unit-detail-content{padding-top:60px}.unit-detail-back{padding-bottom:84px}}

/* Site progress page */
.progress-hero{min-height:570px;background:var(--ink);color:#eee9df;display:flex;align-items:end;padding:150px 6vw 75px}.progress-hero-content{max-width:780px}.progress-hero h1{font-size:clamp(66px,10vw,145px);line-height:.84;margin:0 0 35px}.progress-hero h1 em{color:#c6a77d;font-size:.72em}.progress-hero p:last-child{margin:0;color:#aaa89d;font-size:14px}.progress-timeline{background:#ece8df;padding-top:0}.progress-month{padding:90px 0;border-top:1px solid var(--line)}.progress-month:first-child{border-top:0}.progress-month-head{display:flex;align-items:flex-start;gap:25px;margin-bottom:38px}.progress-month-index{font-size:11px;color:#9a8060;padding-top:10px}.progress-month h2{font-size:clamp(38px,4vw,62px);margin:0}.progress-month h2 em{color:#9a8060;font-size:.72em}.progress-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.progress-gallery figure{margin:0;aspect-ratio:4/3;background:#d8d0c2;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.progress-gallery img{width:100%;height:100%;display:block;object-fit:cover;transition:transform 260ms ease}.progress-gallery figure:hover img{transform:scale(1.035)}
@media(max-width:767px){.progress-hero{min-height:560px;padding:145px 24px 40px}.progress-hero h1{font-size:68px}.progress-month{padding:65px 0}.progress-month-head{gap:16px;margin-bottom:26px}.progress-month h2{font-size:42px}.progress-gallery{grid-template-columns:1fr 1fr;gap:10px}.progress-gallery figure{aspect-ratio:1/1}.progress-gallery img{transition:none}}
.progress-hero{position:relative;overflow:hidden;background:url('/assets/site-progress-hero.avif') center/cover}
.progress-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,27,27,.82),rgba(17,27,27,.2) 75%),linear-gradient(0deg,rgba(16,22,20,.7),transparent 60%)}
.progress-hero-content{position:relative;z-index:1}
.location-hero-image{background-image:url('/assets/location-hero.avif');background-position:center;background-size:cover}
.location-intro-image{background-image:url('/assets/location-intro.avif');background-position:center;background-size:cover}
.location-intro{grid-template-columns:minmax(260px,460px) 2fr}
.location-intro-image{min-height:680px}
@media(max-width:767px){.location-intro-image{min-height:480px}}
/* Give the supporting hero line more air beneath the main title */
.hero h1 em{display:inline-block;line-height:1.02;margin-top:.16em;position:relative;top:-.055em}

/* Embedded ASA Residence virtual tour */
.vista-copy{flex:0 1 390px}
.vista-embed-wrap{width:min(48vw,650px);flex:0 1 650px;position:relative}
.vista-embed{display:block;width:100%;aspect-ratio:16/10;border:1px solid rgba(255,255,255,.18);background:#151a18;box-shadow:0 18px 40px rgba(0,0,0,.22)}
.on-hold{transition:color 160ms ease,border-color 160ms ease,background-color 160ms ease}
.on-hold:hover{color:#fff;border-color:#c0ac8d;background:rgba(192,172,141,.12)}
.on-hold span{margin-left:12px;font-size:15px}
@media(max-width:767px){.vista-embed-wrap{width:100%;margin-top:48px}.vista-embed{aspect-ratio:4/3}}

/* Give the virtual tour its own full-width section. */
.vista-panel{padding:0;min-height:0;display:block}
.vista-embed-wrap{width:100%;max-width:none;margin:0}
.vista-embed{aspect-ratio:16/8;min-height:520px;border:0;box-shadow:none}
@media(max-width:767px){.vista-embed-wrap{margin-top:0}.vista-embed{aspect-ratio:4/3;min-height:0}}

/* Use the supplied CTA artwork instead of the placeholder illustration. */
.register-art{background-image:url('/assets/cta-left.avif')}
@media(max-width:767px){.register-art{background-image:linear-gradient(135deg,rgba(32,36,34,.1),rgba(32,36,34,.1)),url('/assets/cta-left.avif')}}

/* Interaction polish */
.brand-icon{width:34px;height:34px;display:block;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.12))}
.site-header.is-scrolled .brand-icon{width:30px;height:30px}
.desktop-nav a,.text-link,.progress-link,.circle-link,.nav-cta,.outline-button,.solid-button,.carousel-controls button,.menu-toggle,.drawer-close{transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease,opacity 160ms ease}
.desktop-nav> a:not(.nav-cta):hover{color:#e3d3bb}
.nav-cta:hover{background:#d5b88c;color:#fff;box-shadow:0 8px 22px rgba(32,36,34,.18);transform:translateY(-2px)}
.nav-cta:active,.outline-button:active,.solid-button:active,.circle-link:active,.carousel-controls button:active{transform:scale(.96)}
.circle-link:hover{background:#fff;color:var(--ink);box-shadow:0 8px 20px rgba(0,0,0,.18);transform:translateY(-2px)}
.text-link:hover{color:#8d704d;border-color:#8d704d}
.text-link:hover span,.outline-button:hover span,.solid-button:hover span,.nav-cta:hover span{display:inline-block;transform:translate(3px,-2px)}
.outline-button:hover{background:var(--ink);color:#fff;box-shadow:0 8px 22px rgba(32,36,34,.16);transform:translateY(-2px)}
.solid-button:hover{background:#b08e5d;border-color:#b08e5d;box-shadow:0 8px 22px rgba(32,36,34,.2);transform:translateY(-2px)}
.highlight-card{transition:background-color 180ms ease,box-shadow 180ms ease,transform 180ms ease}
.highlight-card:before{transition:opacity 180ms ease}
.highlight-card:hover{background-color:#2a302c;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 14px 26px rgba(0,0,0,.14);transform:translateY(-4px);z-index:1}
.highlight-card:hover:before{opacity:.48}
.highlight-card:hover .card-arrow{color:#e3d3bb;transform:translate(3px,-3px)}
.card-arrow{transition:color 160ms ease,transform 160ms ease}
.carousel-controls button:hover{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 8px 18px rgba(32,36,34,.16);transform:translateY(-2px)}
.carousel-controls button:focus-visible,.outline-button:focus-visible,.solid-button:focus-visible,.nav-cta:focus-visible,.circle-link:focus-visible,.text-link:focus-visible,.desktop-nav a:focus-visible,.menu-toggle:focus-visible,.drawer-close:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.menu-toggle:hover span{background:var(--gold)}
.drawer-close:hover{color:var(--gold);transform:rotate(8deg)}
@media(prefers-reduced-motion:reduce){.desktop-nav a,.text-link,.progress-link,.circle-link,.nav-cta,.outline-button,.solid-button,.carousel-controls button,.menu-toggle,.drawer-close,.highlight-card,.highlight-card:before,.card-arrow{transition:none}.nav-cta:active,.outline-button:active,.solid-button:active,.circle-link:active,.carousel-controls button:active,.nav-cta:hover,.circle-link:hover,.outline-button:hover,.solid-button:hover,.highlight-card:hover,.carousel-controls button:hover{transform:none}.text-link:hover span,.outline-button:hover span,.solid-button:hover span,.nav-cta:hover span{transform:none}.highlight-card:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}}
.site-footer{background:#b9ad9b}
.accessibility-grid{gap:18px}.accessibility-group{background:#f3f0ea;border-radius:18px;padding:28px;box-shadow:inset 0 0 0 1px rgba(32,36,34,.06)}.accessibility-group:nth-child(even){padding-left:28px}
@media(max-width:767px){.accessibility-grid{gap:14px}.accessibility-group,.accessibility-group:nth-child(even){padding:22px 18px}}
.accessibility-grid{background:#f3f0ea;border-radius:18px;padding:28px;box-shadow:inset 0 0 0 1px rgba(32,36,34,.06);gap:0}.accessibility-group,.accessibility-group:nth-child(even){background:transparent;border-radius:0;box-shadow:none}
@media(max-width:767px){.accessibility-grid{padding:18px}}
.accessibility-group h3{font-size:28px}.accessibility-item{font-size:14px}
@media(max-width:767px){.accessibility-group h3{font-size:24px}.accessibility-item{font-size:13px}}
@keyframes wave-expand{0%{box-shadow:0 0 0 0 rgba(37,211,102,.6),0 10px 28px rgba(16,22,20,.24)}50%{box-shadow:0 0 0 12px rgba(37,211,102,0),0 10px 28px rgba(16,22,20,.24)}100%{box-shadow:0 0 0 12px rgba(37,211,102,0),0 10px 28px rgba(16,22,20,.24)}}
.contact-option-label{display:flex;align-items:center;gap:9px}.contact-option-label svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.contact-option-label svg path+path{fill:currentColor;stroke:none}.floating-whatsapp{position:fixed;right:24px;bottom:24px;z-index:40;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;box-shadow:0 10px 28px rgba(16,22,20,.24);transition:transform 140ms ease-out,box-shadow 140ms ease-out;animation:wave-expand 2s infinite}.floating-whatsapp svg{width:29px;height:29px;fill:currentColor}.floating-whatsapp svg path+path{fill:#25d366}.floating-whatsapp i{font-size:32px}.floating-whatsapp:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(16,22,20,.3)}.floating-whatsapp:active{transform:scale(.96)}.floating-whatsapp:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:767px){.floating-whatsapp{right:18px;bottom:18px;width:54px;height:54px}.floating-whatsapp svg{width:27px;height:27px}}
@media(prefers-reduced-motion:reduce){.floating-whatsapp{transition:none}.floating-whatsapp:hover,.floating-whatsapp:active{transform:none}}
.contact-closing-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:34px}.contact-closing-actions .outline-button,.contact-closing-actions .solid-button{margin-top:0}
@media(max-width:767px){.contact-closing-actions{flex-direction:column;align-items:stretch}.contact-closing-actions a{text-align:center}}

/* Contact page */
.contact-page{background:#ece8df}.contact-hero{min-height:680px;background:var(--ink);color:#eee9df;display:flex;align-items:end;justify-content:space-between;padding-top:190px;padding-bottom:90px}.contact-hero h1{font-size:clamp(62px,9vw,140px);line-height:.86;margin:0}.contact-hero h1 em{color:#d6c1a3}.contact-hero-lead{max-width:390px;color:#aaa89d;font-size:15px;margin:38px 0 0}.contact-hero-note{display:flex;align-items:center;gap:20px;color:#b8a689;font-size:10px;letter-spacing:.18em}.contact-hero-note b{font:400 84px/1 var(--serif);color:#eee9df;letter-spacing:-.06em}.contact-details{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:#e8e3da}.contact-details-intro h2,.contact-visit h2,.contact-closing h2{margin-bottom:0}.contact-options{display:grid;align-self:center;border-top:1px solid var(--line)}.contact-option{position:relative;display:grid;gap:5px;padding:23px 42px 23px 0;border-bottom:1px solid var(--line);transition:color 160ms ease,padding-left 160ms ease}.contact-option span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#77766f}.contact-option strong{font:400 clamp(20px,2.2vw,30px)/1.2 var(--serif)}.contact-option b{position:absolute;right:0;top:50%;font-size:20px;font-weight:400;color:#9a8060;transform:translateY(-50%);transition:transform 160ms ease,color 160ms ease}.contact-option:hover{color:#8d704d;padding-left:8px}.contact-option:hover b{color:#8d704d;transform:translate(3px,-50%)}.contact-visit{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;align-items:center;background:#d8d0c2}.contact-visit-copy>p:not(.eyebrow){max-width:300px;color:#62645d}.contact-visit-copy .solid-button{margin-top:20px}.contact-map-frame{display:block;width:100%;min-height:430px;border:0;box-shadow:inset 0 0 0 1px rgba(32,36,34,.1)}.contact-closing{text-align:center;background:#ece8df}.contact-closing .eyebrow{color:#9a8060}.contact-closing .outline-button{margin-top:34px}
@media(max-width:767px){.contact-hero{min-height:680px;display:block;padding-top:145px;padding-bottom:55px}.contact-hero h1{font-size:68px}.contact-hero-lead{margin-top:32px}.contact-hero-note{margin-top:70px;justify-content:space-between}.contact-hero-note b{font-size:64px}.contact-details{display:block}.contact-details-intro{margin-bottom:52px}.contact-details-intro h2,.contact-visit h2,.contact-closing h2{font-size:48px}.contact-option{padding:20px 35px 20px 0}.contact-option strong{font-size:22px}.contact-visit{display:block}.contact-map-frame{min-height:350px;margin-top:48px}.contact-closing{padding-top:84px;padding-bottom:84px}}
.contact-hero{background:linear-gradient(90deg,rgba(16,22,20,.86),rgba(16,22,20,.34)),url('/assets/contact-us.avif') center/cover no-repeat}

/* Keep the homepage unit type and size aligned with the top of the floor plan. */
.unit-slide{align-items:start}
