/* Typography follows the Lighthauz reference: Manrope and Cormorant Garamond. */
:root{--sans:'Manrope',Arial,sans-serif;--serif:'Cormorant Garamond',Georgia,serif}
body{font-family:var(--sans);font-size:17px;line-height:1.7}
h2{font-size:clamp(54px,5.2vw,80px);font-weight:700;line-height:1.02;letter-spacing:.01em}
.section h2 em,.section h3 em{font-family:var(--sans);font-weight:600;letter-spacing:-.02em}
.section-label,.eyebrow,.tiny{font-size:12px;font-weight:700;line-height:1.6;letter-spacing:2px}
.section-label{margin-bottom:28px}
.brand{font-size:23px;letter-spacing:2.5px}
.brand small{font-size:10px;letter-spacing:1.8px}
nav{font-size:16px;font-weight:600;gap:24px}
nav .nav-cta{font-size:16px;padding:15px 22px}
nav .nav-cta span{margin-left:16px}
.menu{font-size:16px}
.button,.text-link,.floating-contact{font-size:16px;font-weight:600;line-height:1.5}
.button{min-height:56px;padding:17px 24px;gap:22px}
.button span{font-size:22px;flex-shrink:0}
.floating-contact{padding:13px 22px}
.text-link{gap:24px}
.hero-cover.aerial-hero .hero h1{font-family:var(--sans);font-weight:700;font-size:clamp(43px,4.45vw,80px);line-height:1.08;letter-spacing:-.045em}
.hero-cover.aerial-hero .hero h1 em{font-weight:600}
.hero-cover.aerial-hero .hero .hero-title-line{white-space:normal}
.hero-cover.aerial-hero .hero .eyebrow{font-size:12px;line-height:1.65;letter-spacing:2px}
.hero-cover.aerial-hero .hero-price{font-size:20px}
.hero-cover.aerial-hero .hero-price strong{font-size:clamp(42px,3.8vw,60px);font-weight:600;line-height:1.1}
.hero-cover.aerial-hero .hero-price-note{font-size:12px;line-height:1.65}
.hero-cover.aerial-hero .hero .hero-enquiry{font-size:17px;min-height:60px;padding:17px 26px}
.hero-cover.aerial-hero>.facts strong{font-size:clamp(30px,2.3vw,40px);font-weight:600;line-height:1.1}
.hero-cover.aerial-hero>.facts .furnishing-fact strong{font-size:clamp(25px,2vw,34px)}
.hero-cover.aerial-hero>.facts span{font-size:11px;line-height:1.5;letter-spacing:.6px;font-weight:600}
.hero-cover.aerial-hero>.facts>div{min-height:108px;padding:16px 10px}
.hero-cover.aerial-hero .hero .hero-photo figcaption{font-size:10px;line-height:1.5;letter-spacing:.3px}
.residence-video-intro>p,.section-heading>p,.register-description{font-size:clamp(16px,1.25vw,20px);line-height:1.65;max-width:490px}
.residence-video-intro{gap:45px}
.residence-video-caption>span{font-size:11px;letter-spacing:1.3px;line-height:1.6}
.residence-video-caption>a.residence-enquire{font-size:16px;padding:15px 24px;min-height:54px}
.register-content>.eyebrow{font-size:12px;letter-spacing:2px}
.register-content h2{font-size:clamp(48px,4vw,64px);font-weight:600;line-height:1.07;letter-spacing:0}
.register-content label{font-size:12px;font-weight:700;line-height:1.5;letter-spacing:1.5px}
.register-content input,.register-content select{font-size:17px;height:60px;padding:15px 17px;line-height:1.5}
.register-content form{gap:20px}
.register-content .register-submit{font-size:16px;font-weight:700;min-height:62px;padding:17px 22px}
.register-photo figcaption>span{font-size:11px}
.register-photo figcaption>strong{font-size:46px;font-weight:600;line-height:1.05}
.register-photo figcaption>small{font-size:11px}
.tabs button{font-size:17px;font-weight:600;padding:18px}
.tabs small{font-size:13px;line-height:1.5;opacity:.85;font-weight:400;margin-top:6px}
.layout-copy .eyebrow{font-size:11px;line-height:1.6;letter-spacing:1.6px}
.layout-copy h3{font-size:54px;font-weight:600;line-height:1.05}
.area{font-size:16px}
.area strong{font-size:53px;font-weight:600;line-height:1.15}
.layout-copy>p:not(.eyebrow){font-size:16px;line-height:1.7}
.layout-copy dl div{font-size:15px;line-height:1.6;padding:12px 0}
.layout-swipe-controls>span,.gallery-hint,.neighbourhood-controls>span{font-size:13px;line-height:1.6}
.layout-count,.gallery-count,.nearby-count{font-size:14px;min-width:38px}
.facilities-title>span{font-size:11px;line-height:1.6;letter-spacing:1.5px}
.facilities-overview .plan-heading{flex-wrap:wrap;gap:22px}
.facilities-overview .plan-heading .eyebrow{font-size:11px;line-height:1.6;letter-spacing:1.7px}
.facilities-overview .plan-heading h3{font-size:44px;font-weight:600;line-height:1.05}
.facilities-overview .plan-heading h3 em{font-size:30px}
.facilities-overview .plan-enlarge,.plan-dialog-close{font-size:14px;font-weight:600;line-height:1.5;min-height:48px}
.facilities-overview .plan-scroll-hint{font-size:12px;line-height:1.6}
.facilities-directory .facilities-list-heading .eyebrow{font-size:11px;line-height:1.6;letter-spacing:1.7px}
.facilities-directory .facilities-list-heading h3{font-size:40px;font-weight:600;line-height:1.1}
.facilities-directory .all-facilities{column-gap:24px}
.facilities-directory .all-facilities li{font-size:16px;line-height:1.5;padding:12px 0;min-height:48px;gap:8px}
.facilities-directory .all-facilities li:before{font-size:12px;flex-basis:20px}
.facilities-gallery-heading h3,.plan-dialog-heading h3{font-size:38px;font-weight:600;line-height:1.1}
.compact-facilities .facility-slide>figcaption{font-size:32px;font-weight:600}
.facility-plan-dialog>p{font-size:13px;line-height:1.6}
.location-intro h2{font-size:clamp(50px,4.6vw,72px)}
.location-intro>div{max-width:460px}
.location-intro>div>p{font-size:clamp(16px,1.25vw,20px);line-height:1.65;max-width:none}
.aerial-map-label{font-size:13px;letter-spacing:.6px;line-height:1.5}
.aerial-address strong{font-size:32px;font-weight:600}
.aerial-address small{font-size:13px;line-height:1.65}
.aerial-note{font-size:11px;line-height:1.5}
.location-landmarks-heading h3{font-size:40px;font-weight:600;line-height:1.1}
.location-landmarks-heading>span{font-size:11px;line-height:1.6;letter-spacing:1.5px}
.neighbourhood-categories button{font-size:15px;font-weight:600;padding:13px 20px;min-height:50px}
.education-heading .eyebrow{font-size:11px;line-height:1.6;letter-spacing:1.7px}
.education-heading h3{font-size:38px;font-weight:600;line-height:1.15}
.neighbourhood-panel .education-grid strong{font-size:17px;line-height:1.5;font-weight:600}
.education-grid small{font-size:14px;line-height:1.5;margin-top:6px}
.neighbourhood-panel .education-grid article{padding:20px 0}
.location-visit>div>span{font-size:11px;line-height:1.6;letter-spacing:1.5px}
.location-visit h3{font-size:35px;font-weight:600;line-height:1.1}
.brochure-copy>.eyebrow{font-size:14px;font-weight:700;letter-spacing:2px;line-height:1.5}
.brochure-copy h2{font-size:clamp(50px,4.4vw,72px);font-weight:700;line-height:1.05;letter-spacing:0}
.brochure-copy h2 em{font-size:.85em}
.brochure-copy>p:not(.eyebrow){font-size:18px;line-height:1.7;max-width:570px}
.brochure-inclusions>span{font-size:13px;line-height:1.5}
.brochure-actions .button{font-size:15px;line-height:1.5;padding:17px 21px;min-height:58px;gap:18px}
.brochure-caption{font-size:11px;line-height:1.6}
footer .brand{font-size:18px}
footer .brand small{font-size:9px}
.back-top{font-size:14px}
@media(min-width:1600px){nav,nav .nav-cta{font-size:18px}}
@media(min-width:701px) and (max-width:1099px){
  .hero-cover.aerial-hero .hero .hero-copy{width:67%;min-height:620px}
  .hero-cover.aerial-hero .hero h1{font-size:clamp(40px,4.4vw,50px)}
  .hero-cover.aerial-hero .hero-price{font-size:18px}
  .hero-cover.aerial-hero .hero-price strong{font-size:44px}
  .hero-cover.aerial-hero .hero .hero-enquiry{font-size:16px}
  .hero-cover.aerial-hero>.facts strong{font-size:32px}
  .hero-cover.aerial-hero>.facts .furnishing-fact strong{font-size:28px}
}
@media(min-width:701px) and (max-width:1000px){
  header .menu{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:var(--ink);padding:10px 0}
  header nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:26px 6%;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:20px;font-size:17px}
  header nav.open{display:flex}
  header nav .nav-cta{font-size:17px}
}
@media(max-width:700px){
  body{font-size:16px;line-height:1.65}
  h2{font-size:44px;line-height:1.02;letter-spacing:0}
  .section h2 em,.section h3 em{letter-spacing:-.025em}
  .section-label,.eyebrow,.tiny{font-size:11px;line-height:1.6;letter-spacing:1.7px}
  .section-label{margin-bottom:24px}
  header .brand{font-size:18px;letter-spacing:2px}
  header .brand small{font-size:8px;letter-spacing:1.5px}
  header .menu{font-size:15px}
  header nav,header nav .nav-cta{font-size:17px}
  .button,.text-link{font-size:15px;min-height:54px;line-height:1.5}
  .button{padding:15px 20px;gap:18px}
  .floating-contact{font-size:14px;padding:12px 18px}
  .hero-cover.aerial-hero .hero .hero-copy{padding-top:30px;padding-bottom:26px}
  .hero-cover.aerial-hero .hero .eyebrow{font-size:10px;line-height:1.65;letter-spacing:1.6px;margin-bottom:20px}
  .hero-cover.aerial-hero .hero h1{font-size:clamp(32px,8.4vw,48px);line-height:1.1;letter-spacing:-.045em;margin-bottom:24px}
  .hero-cover.aerial-hero .hero-price{font-size:15px;line-height:1.5}
  .hero-cover.aerial-hero .hero-price strong{font-size:38px;line-height:1.1}
  .hero-cover.aerial-hero .hero-price-note{font-size:11px;line-height:1.6;max-width:340px;margin-bottom:22px}
  .hero-cover.aerial-hero .hero .hero-enquiry{font-size:15px;min-height:54px;padding:14px 18px;gap:10px}
  .hero-cover.aerial-hero .hero-enquiry>span{font-size:20px}
  .hero-cover.aerial-hero>.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:60px 7% 30px}
  .hero-cover.aerial-hero>.facts>div{min-height:88px;padding:11px 8px}
  .hero-cover.aerial-hero>.facts strong,.hero-cover.aerial-hero>.facts>div:nth-child(4) strong{font-size:28px;line-height:1.05;margin-bottom:7px}
  .hero-cover.aerial-hero>.facts .furnishing-fact strong{font-size:23px}
  .hero-cover.aerial-hero>.facts span{font-size:10px;line-height:1.5;letter-spacing:.4px}
  .hero-cover.aerial-hero .hero .hero-photo figcaption{font-size:9px;bottom:9px;line-height:1.4}
  .hero-cover.aerial-hero .hero .hero-photo figcaption>span{max-width:53%;text-align:right}
  .residence-video-intro>p,.section-heading>p,.register-description{font-size:16px;line-height:1.65;max-width:none}
  .residence-video-caption>span{font-size:10px;letter-spacing:1px;max-width:40%}
  .residence-video-caption>a.residence-enquire{font-size:15px;padding:13px 18px}
  .register-content>.eyebrow{font-size:11px;letter-spacing:1.7px}
  .register-content h2{font-size:40px;line-height:1.07}
  .register-content label{font-size:12px;letter-spacing:1.5px}
  .register-content input,.register-content select{font-size:17px;height:58px;padding:14px 15px}
  .register-content .register-submit{font-size:14px;min-height:58px;padding:15px 18px}
  .register-photo figcaption>span{font-size:10px}
  .register-photo figcaption>strong{font-size:33px;line-height:1.05}
  .register-photo figcaption>small{font-size:10px}
  .tabs button{font-size:16px;flex-basis:135px;padding:15px}
  .tabs small{font-size:12px}
  .layout-copy{padding:28px 24px}
  .layout-copy .eyebrow{font-size:11px;letter-spacing:1.5px}
  .layout-copy h3{font-size:46px}
  .area strong{font-size:48px}
  .layout-copy>p:not(.eyebrow){font-size:16px}
  .layout-copy dl div{font-size:15px}
  .layout-swipe-controls>span,.gallery-hint,.neighbourhood-controls>span{font-size:12px;line-height:1.6}
  .layout-swipe-controls>span{max-width:55%}
  .facilities-title>span{font-size:10px;max-width:120px;letter-spacing:1px}
  .facilities-overview .plan-heading{gap:18px}
  .facilities-overview .plan-heading .eyebrow{font-size:10px;letter-spacing:1.5px}
  .facilities-overview .plan-heading h3{font-size:37px}
  .facilities-overview .plan-heading h3 em{font-size:26px}
  .facilities-overview .plan-enlarge,.plan-dialog-close{font-size:13px;padding:11px 14px;min-height:46px}
  .facilities-overview .plan-scroll-hint{font-size:11px;line-height:1.6}
  .facilities-directory .facilities-list-heading .eyebrow{font-size:10px;letter-spacing:1.5px}
  .facilities-directory .facilities-list-heading h3{font-size:35px}
  .facilities-directory .all-facilities{column-gap:18px}
  .facilities-directory .all-facilities li{font-size:14px;line-height:1.5;padding:12px 0;gap:6px;min-height:46px}
  .facilities-directory .all-facilities li:before{font-size:11px;flex-basis:18px}
  .facilities-gallery-heading h3,.plan-dialog-heading h3{font-size:32px}
  .facilities-gallery-heading{gap:18px}
  .compact-facilities .facility-slide>figcaption{font-size:28px}
  .gallery-controls{align-items:flex-start}
  .gallery-hint{max-width:52%}
  .location-intro h2{font-size:41px;line-height:1.08}
  .location-intro>div>p{font-size:16px;line-height:1.65;max-width:none}
  .aerial-map-label{font-size:11px}
  .aerial-address strong{font-size:29px}
  .aerial-address small{font-size:12px;line-height:1.6}
  .aerial-note{font-size:10px}
  .location-landmarks-heading h3{font-size:34px;line-height:1.1}
  .location-landmarks-heading>span{font-size:10px}
  .neighbourhood-categories button{font-size:14px;padding:12px 16px}
  .education-heading .eyebrow{font-size:10px;letter-spacing:1.5px}
  .education-heading h3{font-size:33px;line-height:1.12}
  .neighbourhood-panel .education-grid strong{font-size:16px;line-height:1.5}
  .education-grid small{font-size:13px;line-height:1.5}
  .neighbourhood-panel .education-grid article{padding:16px 0}
  .neighbourhood-controls>span{max-width:52%}
  .location-visit>div>span{font-size:10px}
  .location-visit h3{font-size:32px}
  .brochure-copy>.eyebrow{font-size:12px;line-height:1.5;letter-spacing:1.7px}
  .brochure-copy h2{font-size:44px;line-height:1.05}
  .brochure-copy>p:not(.eyebrow){font-size:16px;line-height:1.65}
  .brochure-inclusions>span{font-size:12px}
  .brochure-actions .button{font-size:15px;min-height:56px;padding:15px 20px}
  .brochure-caption{font-size:10px;letter-spacing:1.3px}
  footer .brand{font-size:18px}
  footer .brand small{font-size:8px}
}
@media(max-width:379px){
  .hero-cover.aerial-hero>.facts strong,.hero-cover.aerial-hero>.facts>div:nth-child(4) strong{font-size:25px}
  .hero-cover.aerial-hero>.facts .furnishing-fact strong{font-size:21px}
  .hero-cover.aerial-hero .hero .hero-enquiry{font-size:14px;padding:13px 15px}
  .facilities-directory .all-facilities{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row}
}
