/* Mobile-first sales journey and shared detail-page styles. */
.masthead{background:#fcfaf6f7}
.hero{min-height:0;padding-block:64px 32px}
.hero::after{background:linear-gradient(90deg,#10251fa6,#10251f30),linear-gradient(0deg,#10251fdb,transparent 85%)}
.hero h1{font-size:clamp(40px,8.5vw,62px);max-width:none;margin:10px 0 12px}
.hero p{font-size:16px;max-width:36ch}
.hero-facts{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:20px;font-size:13px;max-width:560px}
.hero-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin-top:14px;font-size:12px;max-width:600px;align-items:center}
.hero-dimensions > span{display:grid;gap:1px}
.hero-dimensions b{font-weight:500;font-size:15px;margin-inline-end:4px}
.hero-dimensions a{display:inline-flex;align-items:center;min-height:32px}
.hero-footer{margin-top:20px;gap:16px;flex-direction:column;align-items:start}
.hero-price strong{font-size:36px}
.hero .actions{gap:8px;flex-wrap:wrap}
.hero .button{min-height:48px;font-size:13px;letter-spacing:0;padding:10px 12px;justify-content:center;gap:12px}
.hero + .architecture{padding-top:28px}
.architecture-head{margin-bottom:12px}
.architecture{padding-bottom:32px}
.rental-teaser{padding-block:32px;background:linear-gradient(120deg,#e1e9df77,#fff8ec88)}
.rental-row{display:grid;gap:22px}
.rental-row h2{font-size:clamp(44px,10vw,68px);margin:10px 0 6px}
.rental-row p{font-size:14px;color:var(--muted)}
.rental-links{display:flex;flex-wrap:wrap;gap:8px 20px}
.rental-links .button{font-size:13px;text-transform:none;letter-spacing:0;padding-inline:0}
.plan,.location,.purchase,.visit{padding-block:40px}
.plan-layout{gap:20px}
.plan-layout:not(.has-selection){grid-template-areas:"map" "key"}
.tour-preview[data-reveal-on-selection]:not(.is-selected){display:none}
.tour-preview.is-selected{scroll-margin-top:90px}
.plan-key .button{font-size:13px;text-transform:none;margin-top:14px;padding-inline:0;letter-spacing:0}
.plan-key dd{font-size:18px}
.estate-details{margin-top:20px}
.estate-details > summary,.purchase summary,.enquiry-form > summary,.rental-costs summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;min-height:52px;padding:12px 10px;font-size:15px;cursor:pointer;border-radius:6px}
.estate-details > summary::after,.purchase summary::after,.enquiry-form > summary::after,.rental-costs summary::after{content:"+";font-size:22px;flex:none}
.estate-details[open] > summary::after,.purchase details[open] > summary::after,.enquiry-form[open] > summary::after,.rental-costs details[open] > summary::after{content:"−"}
.estate-details summary::-webkit-details-marker,.purchase summary::-webkit-details-marker,.enquiry-form summary::-webkit-details-marker,.rental-costs summary::-webkit-details-marker{display:none}
.estate-details summary:hover,.purchase summary:hover,.enquiry-form summary:hover,.rental-costs summary:hover{background:#ffffff90}
.estate-details figure{margin:12px 0 0}
.estate-details figcaption{font-size:12px;margin-top:10px;color:var(--muted)}
.estate-details .masterplan-image{max-width:900px;margin-inline:auto}
.location .nearby{margin-block:18px;gap:8px 20px}
.location .nearby div{padding-block:8px}
.location-map{max-width:240px}
.purchase{display:grid;gap:16px}
.purchase-intro p{margin-top:12px;font-size:16px;color:var(--muted)}
.purchase-intro .button{padding-inline:0;font-size:14px;text-transform:none;letter-spacing:0}
.purchase details p{padding:0 10px 16px;font-size:15px;color:var(--muted)}
.visit .split{gap:18px}
.visit .visit-contacts{margin-top:16px}
.visit-contacts [data-viewing-channel]{font-size:16px;min-height:52px}
.enquiry-form{min-width:0}
.enquiry-form .visit-form{padding:16px 10px 10px}
.visit [hidden]{display:none}
.mobile-contact a{font-size:13px;gap:10px}
.mobile-contact-price{font-size:25px}
.rental-page-intro{padding-block:22px 32px}
.rental-page-intro .kicker{display:block;margin:20px 0 12px}
.rental-page-intro h1{font-size:clamp(38px,8vw,64px);margin-bottom:16px}
.rental-page-intro p{color:var(--muted);max-width:65ch}
.rental-ledger{display:grid;gap:28px;padding-block:24px 40px}
.rental-ledger h2{font-size:30px;margin-bottom:18px}
.rental-ledger dt{font-size:14px}
.rental-ledger dd{font-size:15px}
.rental-ledger dl div{grid-template-columns:minmax(0,1fr) auto;gap:12px;border:0;padding-block:12px}
.rental-yield{background:#fff8;padding:24px;border-radius:8px;align-self:start}
.rental-yield strong{display:block;font:500 clamp(32px,7vw,46px)/1.2 var(--type-display);margin-block:12px}
.rental-yield p{font-size:14px;color:var(--muted)}
.rental-yield .button{margin-top:14px;letter-spacing:0;text-transform:none;padding-inline:0}
.cost-total{display:flex;justify-content:space-between;gap:16px;padding-block:16px;font-size:17px}
.rental-costs details p{font-size:15px;padding:0 10px 16px;color:var(--muted)}
.rental-costs .source-note{margin-top:20px}
.brochure-cover{min-height:480px!important}
.brochure-cover h1{font-size:clamp(42px,8vw,76px)}
.brochure-section,.developer,.reviews,.masterplan{scroll-margin-top:90px}
@media(min-width:901px){
 .hero{min-height:min(740px,calc(100svh - 76px));padding:70px 0 50px}
 .hero::after{background:linear-gradient(90deg,#142820b8 0%,#14282030 75%),linear-gradient(0deg,#10241caa,transparent 65%)}
 .hero h1{font-size:80px}
 .hero-facts{font-size:15px;gap:12px 26px;max-width:900px}
 .hero-dimensions{grid-template-columns:repeat(4,auto);font-size:14px;max-width:780px;gap:28px}
 .hero-dimensions b{font-size:18px}
 .hero-footer{flex-direction:row;align-items:end;gap:56px;margin-top:28px}
 .hero-price strong{font-size:42px}
 .hero .button{font-size:15px}
 .hero + .architecture{padding-top:42px}
 .architecture{padding-bottom:48px}
 .rental-row{grid-template-columns:1.1fr 1fr;align-items:center;gap:48px}
 .rental-links{justify-content:end}
 .rental-teaser{padding-block:48px}
 .plan,.location,.purchase,.visit{padding-block:64px}
 .plan-layout:not(.has-selection){grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-template-areas:"map preview" "key key"}
 .tour-preview[data-reveal-on-selection]:not(.is-selected){display:block}
 .location-map{max-width:320px}
 .purchase{grid-template-columns:1fr 1.35fr;gap:70px}
 .visit .split{gap:64px}
 .rental-page-intro{padding-block:36px 48px}
 .rental-ledger{grid-template-columns:1fr 1fr;gap:80px;padding-block:32px 56px}
}
@media(max-width:359px){.hero{padding-top:40px}.hero h1{font-size:38px}.hero .button{padding-inline:9px;font-size:12px}.hero-dimensions{gap:8px 12px}}

/* Direct plan selection without a duplicate legend. */
.plan-layout, .plan-layout:not(.has-selection) {grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-areas:"map preview" "notes notes" "key key";gap:20px 28px;align-items:start}
.plan-notes {grid-area:notes;font-size:12px;color:var(--muted)}
.tour-preview {position:static}
.tour-media img {height:min(48svh,440px);aspect-ratio:auto;object-fit:contain}
@media(max-width:900px) {
 .plan-layout, .plan-layout:not(.has-selection) {grid-template-columns:minmax(0,1fr);grid-template-areas:"map" "preview" "notes" "key";gap:12px;margin-top:12px}
 .plan-layout:not(.has-selection) {grid-template-areas:"map" "notes" "key"}
 .plan .tour-hint {margin:6px 0}
 .tour-header {margin-bottom:6px}
 .tour-header h3 {font-size:25px}
 .tour-media img {height:min(30svh,260px);aspect-ratio:auto;object-fit:contain}
 .tour-actions {margin-top:4px;gap:8px}
 .tour-actions .button,.tour-actions button {font-size:12px;padding:8px}
}
