/* Readability review: one type scale, deliberate line breaks and protected photo copy. */
:root{--read-ink:#163d32;--read-muted:#536651;--read-olive:#586344;--read-cream:#f3f1e7;--read-gold:#ead5b0;--muted:#536651}
main :is(h1,h2,h3),#dialog :is(h1,h2,h3){text-wrap:balance;word-break:normal;overflow-wrap:normal}
main p,#dialog p{text-wrap:pretty}
main :is(h1,h2) em{display:block}
main :is(.selection-title,.locality) h2 em{display:inline}
main h2{line-height:1.18}
.button,.text-link,button,summary,a{line-height:1.5}
.button{max-width:100%;min-height:48px;padding:14px 24px;font-size:16px;text-align:center;white-space:normal;text-wrap:balance}
.text-link{max-width:100%;text-wrap:balance}
.eyebrow{font-size:13px;line-height:1.65;letter-spacing:.1em}
.guided-finder .eyebrow,.horizon-content .eyebrow,.rental-intro .eyebrow,.rental-explained .eyebrow,.purchase-guide .eyebrow,.selection .eyebrow,.gallery-section .eyebrow,.residence-numbers .eyebrow{color:var(--read-muted)}
.finder-intro h2 em,.horizon-content h2 em,.program-heading h2 em,.rental-intro h2 em,.residence-numbers h2 em,.purchase-guide h1 em,.selection-title h2 em{color:var(--read-olive)}
.atmosphere h2 em,.locality h2 em,.intro-title h2 em{color:var(--read-gold)}
.finder-intro h2,.program-heading h2,.rental-intro h2,.residence-numbers h2{font-size:clamp(38px,4.1vw,60px);line-height:1.17;letter-spacing:-.035em}
.horizon-content h2{font-size:clamp(44px,5.1vw,72px);line-height:1.16;letter-spacing:-.035em}
.intro-title h2,.home-story .story-heading h2,.atmosphere h2,.portal-copy h2,.locality-grid h2{font-size:clamp(34px,3.5vw,50px);line-height:1.2;letter-spacing:-.035em}
.purchase-guide h1{font-size:clamp(38px,4.5vw,62px);line-height:1.2}
.closing-invitation h2#closing-title{font-size:clamp(54px,6.4vw,92px);line-height:1.12;letter-spacing:-.04em}
.rental-intro-copy>p:not(.eyebrow),.program-heading>p:last-child{font-size:18px;line-height:1.75;color:var(--read-muted)}
.finder-intro>p:not(.eyebrow),.finder-choices span,.finder-note,.finder-match-count,.finder-result small,.chart-caption{color:var(--read-muted)}
.finder-progress span{color:#626c58}.finder-progress span.active{color:var(--read-ink)}

/* Solid navigation and supported links remain readable on every photograph. */
header{background:#103b30f5;backdrop-filter:blur(16px)}
header nav a,.header-contact{white-space:nowrap;color:#f5f4eb}
header nav a{font-size:15px}
.header-contact{background:#244c3e;border:1px solid #688477;min-height:46px;padding:10px 20px}
.cinema-shade{background:linear-gradient(90deg,#082b24f5 0%,#082b24b8 39%,#082b2426 76%),linear-gradient(0deg,#082b24b3,transparent 38%)}
.home-cinema .hero-copy{max-width:850px;padding-bottom:155px}
.home-cinema .hero-copy h1{font-size:clamp(42px,5vw,70px);line-height:1.16;max-width:780px}
.hero-copy .hero-sub{font-size:18px!important;line-height:1.7;max-width:470px;color:#fff8ed;background:#0c3127dc;padding:12px 17px;border-radius:16px}
.hero-actions{gap:12px;align-items:stretch}
.hero-rental-link,.cinema-apartments,.day-copy a{display:inline-flex;align-items:center;justify-content:center;background:#123e32ed;color:#fff8ed;border:1px solid #8caa98;border-radius:999px;padding:12px 20px;min-height:48px;font-size:15px;text-align:center;line-height:1.5}
.hero-rental-link:hover,.cinema-apartments:hover,.day-copy a:hover{background:#234e3e;border-color:#d8c398}
.cinema-tabs{gap:8px;padding:8px;background:#103b30e8;border:1px solid #92aa9855;border-radius:24px}
.cinema-tabs button{background:transparent!important;border:1px solid transparent;border-radius:17px;padding:8px 12px;gap:10px;min-width:145px}
.cinema-tabs button.active{background:#315545!important;border-color:#a7bda8}
.cinema-tabs button span{color:#e5eade}.cinema-tabs b{color:white}
.cinema-apartments{max-width:none;flex-shrink:0}

/* The views stay full bleed; only small controls and explanations have a surface. */
.horizon-content{width:490px}
.horizon-wash{background:linear-gradient(90deg,#f3f1e7fc 0%,#f3f1e7f0 24%,#f3f1e780 43%,#f3f1e700 72%),linear-gradient(0deg,#f3f1e7,transparent 36%)}
.horizon-content p:not(.eyebrow){font-size:18px;line-height:1.7;color:var(--read-ink)}
.horizon-controls{gap:8px;margin-bottom:16px}
.horizon-controls button{background:#f3f1e7f5;border-color:#9ca891;color:var(--read-ink);font-size:15px}
.horizon-controls button.active{background:var(--read-ink);color:white}
.horizon-pan{display:flex;width:fit-content;max-width:100%;padding:6px 16px;border-radius:999px;background:#f3f1e7f5;color:var(--read-ink);gap:14px;font-size:14px;border:1px solid #aab59f}
.horizon-pan input{flex:1;min-width:75px;width:135px;margin:0;padding:0;height:36px;min-height:36px;max-height:36px}
.horizon-content .text-link,.rental-intro-copy>.text-link{display:table;width:fit-content;background:#f3f1e7fa;border:1px solid #9eaa94;border-radius:999px;padding:11px 18px;min-height:46px;color:var(--read-ink);margin-left:0;font-size:15px}
.horizon-foot>span{background:#f3f1e7f5;color:var(--read-muted);padding:12px 17px;border-radius:18px;font-size:14px;line-height:1.65;max-width:360px}

/* Long rental headings no longer compete with the intro in a narrow grid cell. */
.rental-lab-title{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.7fr);column-gap:8%;align-items:end}
.rental-lab-title>.eyebrow{grid-column:1/-1;margin-bottom:12px}
.rental-lab-title h2{grid-column:1;font-size:clamp(38px,4.3vw,62px);line-height:1.2;margin:0}
.rental-lab-title>p:last-child{grid-column:2;font-size:18px;line-height:1.7;max-width:260px;padding-bottom:8px;color:#dce5d9}
.program-stages strong{font-size:25px;line-height:1.35;letter-spacing:-.025em}
.program-stages small,.program-stages button>span{color:var(--read-muted)}
.program-explanation h3{font-size:clamp(25px,2.4vw,33px);line-height:1.35;white-space:normal;max-width:26ch}
.program-responsibilities h3{font-size:32px;line-height:1.3;max-width:24ch}
.program-portrait>span{background:#103b30f0;border-radius:20px;padding:14px 20px;max-width:none;font-size:21px;left:25px;right:25px;bottom:25px}
.rental-range>span{gap:16px;align-items:flex-start;line-height:1.6}
.rental-range output{white-space:nowrap;flex-shrink:0}
.rate-bars strong,.rent-total strong,.rent-result-row b,.unit-price,.price-large{font-variant-numeric:tabular-nums}
.rental-short-note,.rent-result-row span,.rent-result-row small,.rental-monthly small{color:#d0decf}

/* Photo captions have their own contrast, independent of the selected scene. */
.day-photo:after{background:linear-gradient(90deg,#092e2580,transparent 80%)}
.day-copy{top:38px;left:38px;right:auto;max-width:460px;background:#103b30ed;border:1px solid #a4b99c45;border-radius:28px;padding:28px 30px;color:#fff9ec}
.day-copy h3{font-size:clamp(30px,3vw,42px);line-height:1.22;margin:18px 0;max-width:17ch}
.day-copy p{font-size:17px;line-height:1.7;color:#e6ecdf}
.day-copy a{margin-top:22px;font-size:15px;background:#f3eddd;color:#163d32;border:0}
.day-copy a:hover{background:#fff8e9}
.day-index{background:#103b30ed;color:#f3eddd;padding:8px 14px;border-radius:999px}
.lifestyle{height:auto;min-height:680px;padding:70px 6vw 150px}
.lifestyle-content{padding:30px 34px;max-width:540px;background:#103b30ed;border:1px solid #a4b99c45;border-radius:28px}
.lifestyle-content h2{font-size:clamp(32px,3.6vw,49px);line-height:1.2;margin:20px 0;max-width:18ch}
.lifestyle-content p{font-size:17px;line-height:1.7;max-width:380px;color:#e6ecdf}
.lifestyle-content .button.glass{background:#f3eddd;color:#163d32;border-color:#f3eddd}
.lifestyle-tabs{left:6vw;right:6vw;bottom:26px;background:#103b30f5;border:1px solid #9ab09d60;border-radius:22px;padding:8px;gap:6px}
.lifestyle-tabs button{font-size:15px;line-height:1.5;padding:14px 16px;border:0;border-radius:16px;gap:10px;color:#fff8ed}
.lifestyle-tabs button span{opacity:1;color:#c8d8c8}
.lifestyle-tabs button.active{color:#fff8ed;background:#355747}
.lifestyle-tabs button::before{content:none}
.collection-cards button:after{background:linear-gradient(0deg,#0c3028fa 0%,#0c3028d9 48%,#0c30284d 100%)}
.collection-cards strong{font-size:23px;line-height:1.3;text-wrap:balance}
.collection-cards small,.collection-cards em{color:#f0eddd;line-height:1.6}
.gallery-atlas-grid span,.atmosphere-picture>span{background:#103b30f0;color:#fff8ed;border:1px solid #a4b99c55;border-radius:14px;padding:8px 12px;left:18px;right:auto;bottom:18px;max-width:calc(100% - 36px);font-size:14px;line-height:1.5}
.atmosphere-picture>span{left:40px;bottom:28px;max-width:calc(100% - 80px)}

/* Dense sales information keeps a readable size and real space for its labels. */
.selection-title{gap:24px;align-items:flex-end}
.selection-title>div{min-width:0}.selection-title h2{font-size:clamp(32px,3.3vw,46px);line-height:1.22;max-width:750px}
#favorites-toggle{flex-shrink:0;white-space:nowrap;font-size:14px;min-height:44px}
.unit-head{flex-wrap:wrap;align-items:center}.unit-head h3{font-size:25px;line-height:1.3}
.unit-price small,.price-sqm small,.unit-facts span,.unit-buttons .unit-demo{color:var(--read-muted)}
.unit-buttons{align-items:stretch}.unit-buttons button{line-height:1.45;min-height:44px;padding:9px 10px}
.unit-price .price-sqm{font-size:17px;line-height:1.55;letter-spacing:0}
.catalogue-tools select{font-size:15px;max-width:210px}
.unit-table th,.unit-table td{line-height:1.6}
.purchase-faq .faq-item summary{font-size:17px;line-height:1.6}
.purchase-faq .faq-item summary,.purchase-faq .faq-item summary span{color:var(--read-ink)}
.purchase-faq .faq-item>div{font-size:16px;line-height:1.8;color:var(--read-muted)}
.purchase-faq .faq-item :is(p,li,a){color:var(--read-muted)}
.purchase-steps p,.purchase-steps>*>span{color:var(--read-muted)}
.home-story .story-heading>.eyebrow{font-size:13px;color:var(--read-muted)}
.home-story .story-heading>p:last-child,.day-tabs button,.day-tabs button>span,.day-tabs button strong,.device-cards small,.residence-numbers p,.gallery-atlas-count{color:var(--read-muted)}
.category-breadcrumb,.explorer-toolbar button,.selection :is(.data-note,.building-annotation,.recent-grid small,.table-unit small){color:var(--read-muted)}
.selection .availability-note,.selection .availability-note :is(span,b){color:var(--read-ink)}
.selection .availability-note small,.selection .unit-facts small{color:var(--read-muted)}
.document-hub span{font-size:16px;line-height:1.5}
#dialog:not(.original-demo-dialog) .dialog-heading h2,#dialog .contact-form h2{font-size:clamp(27px,3.2vw,42px);line-height:1.25;max-width:28ch}
#dialog:not(.original-demo-dialog) .dialog-heading{align-items:flex-start}
#dialog .rich-content{font-size:17px;line-height:1.8}
#dialog .rich-content :is(p,li){font-size:17px;line-height:1.8}
#dialog .rich-content :is(h1,h2,h3,h4){font-size:clamp(23px,2.4vw,30px);line-height:1.35}
#dialog .source-note,#dialog .dialog-heading p,#dialog .facts-grid dt{font-size:14px;line-height:1.7;color:#b9cdbb}
#dialog .detail-actions .button{font-size:15px;line-height:1.5;min-height:48px}
#dialog .form-grid,.detail-actions{min-width:0}

/* The closing photo still flows into the page; its text gets a stronger wash. */
.closing-light::before{background:linear-gradient(90deg,#092a25ed 0%,#092a25b3 30%,#092a2529 68%);mask-image:linear-gradient(180deg,transparent 5%,#000 28%,#000 92%,transparent)}
.closing-invitation .eyebrow{color:#f6ebd3}
.closing-footer .closing-contact-line a,.closing-footer .closing-contact-line .closing-address{color:#e4ecdf;font-size:15px}
.closing-footer-bottom,.closing-home,.closing-links>small{color:#d0dece}
.closing-footer-bottom{font-size:14px}.closing-home{font-size:14px}

@media(max-width:1100px){
 .cinema-tabs button{min-width:120px;padding:8px}.cinema-bottom{gap:16px}
 .rental-intro-copy{width:48%;min-width:0}.rental-intro h2{font-size:clamp(36px,4.2vw,48px)}
 .rental-lab-title{grid-template-columns:minmax(0,1.5fr) minmax(180px,.7fr);gap:12px 30px}
 .program-stages strong{font-size:23px}.program-stages small{font-size:15px}
 .lifestyle-tabs button{padding:12px 10px;font-size:14px}
}
@media(max-width:760px){
 .rental-lab-title{display:block}.rental-lab-title h2{font-size:40px}.rental-lab-title>p:last-child{max-width:none;margin-top:20px}
 .selection-title{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.selection-title>div{width:100%}
 .selection-title h2{max-width:100%}#favorites-toggle{align-self:flex-start}
 .lifestyle{min-height:760px;padding:40px 24px 195px}.lifestyle-content{padding:26px;max-width:530px}
 .lifestyle-tabs{left:24px;right:24px;grid-template-columns:1fr 1fr;gap:6px;bottom:25px}
 .day-copy{left:24px;right:24px;max-width:440px;top:28px;padding:25px}
 .day-photo{height:570px}.day-copy p{max-width:350px}
 .horizon-content{max-width:100%}
 .rental-intro-copy{width:100%}
}
@media(max-width:600px){
 .eyebrow{font-size:12px;letter-spacing:.08em;line-height:1.7}
 main p{font-size:17px;line-height:1.75}
 .button{font-size:15px;padding:13px 20px;min-height:48px}
 header nav a{font-size:17px;padding:12px 0}
 .home-cinema{height:auto;min-height:850px;max-height:none;padding-bottom:24px}
 .home-cinema .hero-copy{padding:130px 24px 25px;width:100%}
 .home-cinema .hero-copy h1{font-size:clamp(36px,10.5vw,44px);line-height:1.18;max-width:none;margin:22px 0}
 .hero-copy .hero-sub{font-size:17px!important;line-height:1.65;padding:12px 15px;max-width:100%}
 .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}
 .hero-actions .button,.hero-rental-link{font-size:14px;padding:12px 10px;min-height:46px;white-space:nowrap;min-width:0}
 .cinema-bottom{position:relative;left:auto;right:auto;bottom:auto;margin:70px 24px 20px;width:auto;gap:14px}
 .cinema-tabs{width:100%;padding:6px;gap:4px;border-radius:20px}
 .cinema-tabs button{min-width:0;padding:8px 3px;flex:1;border-radius:14px}
 .cinema-tabs button img{width:36px;height:36px;margin:0 auto}
 .cinema-tabs button span{font-size:12px;text-align:center;padding:4px 0 0}.cinema-tabs b{font-size:13px;white-space:nowrap}
 .cinema-apartments{font-size:14px;min-height:44px;padding:10px 17px;max-width:100%}
 .finder-intro h2,.rental-intro h2,.residence-numbers h2,.program-heading h2{font-size:clamp(32px,9.7vw,40px);line-height:1.2}
 .horizon-content h2{font-size:clamp(39px,11vw,48px);line-height:1.18}
 .intro-title h2,.home-story .story-heading h2,.atmosphere h2,.portal-copy h2,.locality-grid h2{font-size:clamp(29px,8.6vw,36px);line-height:1.23}
 .selection-title h2{font-size:clamp(30px,8.8vw,37px);line-height:1.25}
 .purchase-guide h1{font-size:clamp(31px,9vw,38px);line-height:1.22}
 .rental-lab-title h2{font-size:clamp(34px,9.6vw,40px);line-height:1.22}
 .closing-invitation h2#closing-title{font-size:clamp(50px,14vw,62px);line-height:1.16}
 .horizon-experience{padding-left:24px;padding-right:24px;min-height:860px}
 .horizon-wash{background:linear-gradient(180deg,#f3f1e7 17%,#f3f1e7f5 34%,#f3f1e75c 56%,#f3f1e74d 75%,#f3f1e7 100%)}
 .horizon-content p:not(.eyebrow){font-size:17px;max-width:300px}
 .horizon-controls{gap:6px;margin-top:22px}.horizon-controls button{padding:10px 12px;font-size:14px;min-height:44px}
 .horizon-pan{padding:5px 13px;gap:10px;font-size:14px}.horizon-pan input{width:116px;min-height:40px}
 .horizon-content .text-link{font-size:14px;margin-top:12px;padding:10px 16px}
 .horizon-foot{margin-top:100px;gap:14px}.horizon-foot>span{max-width:100%;font-size:14px;padding:12px 15px}
 .rental-intro-copy>p:not(.eyebrow),.program-heading>p:last-child{font-size:17px;line-height:1.75}
 .rental-intro-copy>.text-link{font-size:14px;padding:10px 16px}
 .program-stages strong{font-size:22px;line-height:1.35}.program-stages small{font-size:14px;line-height:1.65}
 .program-portrait>span{font-size:19px;left:20px;right:20px;bottom:20px;padding:12px 16px}
 .program-explanation h3{font-size:27px;line-height:1.35}.program-explanation .button{font-size:14px;padding:12px 17px}
 .program-responsibilities h3{font-size:29px;line-height:1.3}
 .finder-panel h3{font-size:25px;line-height:1.35}.finder-choices strong{font-size:21px}.finder-choices button{padding:20px 15px}
 .finder-choices span{font-size:14px;min-height:67px}.finder-progress{gap:12px}.finder-progress span{font-size:12px;line-height:1.7}
 .rental-range>span{font-size:15px}.rental-advanced>summary{font-size:15px}.rent-total strong{font-size:46px}
 .rental-offers{font-size:14px;padding:13px 18px;width:100%}
 .day-photo{height:590px}.day-copy{top:26px;left:20px;right:20px;padding:23px 22px;border-radius:24px}
 .day-copy h3{font-size:31px;line-height:1.25}.day-copy small{font-size:12px}.day-copy p{font-size:16px;line-height:1.75}
 .day-copy a{font-size:14px;padding:11px 17px;min-height:44px}
 .day-index{bottom:22px;right:22px;font-size:13px}
 .lifestyle{min-height:770px;padding:35px 20px 200px;border-radius:14px}
 .lifestyle-content{padding:24px 22px;border-radius:24px}.lifestyle-content h2{font-size:31px;line-height:1.24;max-width:100%}
 .lifestyle-content p{font-size:16px;max-width:100%;line-height:1.75}.lifestyle-content .eyebrow{font-size:12px}
 .lifestyle-tabs{left:20px;right:20px;bottom:28px;padding:7px}.lifestyle-tabs button{font-size:13px;padding:12px 9px;gap:8px}
 .lifestyle-tabs button span{font-size:12px}.lifestyle-tabs button.active{background:#355747}
 .gallery-atlas-grid span{font-size:13px;left:12px;bottom:12px;max-width:calc(100% - 24px);padding:6px 10px}
 .atmosphere-picture>span{font-size:13px;left:25px;bottom:22px;max-width:calc(100% - 50px);padding:8px 12px}
 .collection-cards strong{font-size:22px}.collection-cards small{font-size:12px}
 .unit-head h3{font-size:24px}.unit-buttons button{font-size:14px}.catalogue-tools select{font-size:14px;max-width:180px}
 .quiet-details>summary{font-size:16px;gap:16px;line-height:1.6}.quiet-details>summary::after{flex-shrink:0}
 .closing-invitation{padding-left:24px;padding-right:24px}.closing-light::before{background:linear-gradient(90deg,#092a25ed,#092a25b0 55%,#092a2555);mask-image:linear-gradient(180deg,transparent 5%,#000 26%,#000 92%,transparent)}
 .closing-invitation .eyebrow{font-size:12px}.closing-footer{padding-left:24px;padding-right:24px}
 .closing-footer .closing-contact-line a{font-size:15px}.closing-home,.closing-footer-bottom{font-size:13px}
 #dialog:not(.original-demo-dialog) .dialog-heading h2,#dialog .contact-form h2{font-size:28px;line-height:1.3}
 #dialog .rich-content :is(p,li){font-size:16px;line-height:1.85}
 #dialog .rich-content :is(h1,h2,h3,h4){font-size:23px;line-height:1.4}
 #dialog .detail-actions .button{font-size:14px}.detail-tabs button{font-size:14px;line-height:1.5}
}
