/* P027: classic homepage at all widths; existing category journeys below 960px. */
:root{--app-width:100%;--header-size:72px}
.mobile-app{max-width:none;box-shadow:none}
.site-header{height:var(--header-size);display:flex;align-items:center;gap:40px;padding:0 clamp(24px,4.5vw,80px);background:#050505;color:#fff;position:absolute;inset:0 0 auto;z-index:21}
.site-wordmark{font:700 25px/1 Arial,Helvetica,sans-serif;letter-spacing:2.5px}
.site-header nav{display:flex;gap:27px;margin-left:auto;font-size:13px}
.site-header nav a{padding:20px 0}
.site-header a[aria-current=page]:not(.site-wordmark){color:#c2a976}
.portal-link{font-size:12px;border:1px solid #797979;padding:12px 17px;white-space:nowrap}
.viewport{top:var(--header-size)}
.menu-trigger{display:none}
.classic-home{overflow-y:auto;overscroll-behavior-y:contain;background:#fff;color:#171717;scrollbar-width:thin}
.mobile-app[data-route=home] .viewport{bottom:0}
.mobile-app[data-route=home]>.bottom-nav{display:none}
.home-hero{position:relative;min-height:570px;height:clamp(500px,66vh,760px);display:flex;align-items:center;isolation:isolate;color:#fff}
.home-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.home-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#050b16ba,#050b1640 65%,#050b1614);z-index:-1}
.hero-content{max-width:1360px;width:100%;margin:0 auto;padding:64px clamp(24px,6vw,90px)}
.home-kicker{font-size:10px;letter-spacing:2px;font-weight:700;line-height:1.4;margin-bottom:16px}
.hero-content h1{font:500 clamp(42px,4.6vw,72px)/1.06 Arial,sans-serif;letter-spacing:-2.5px;margin-bottom:24px}
.hero-content>p:not(.home-kicker){font-size:16px;line-height:1.6;margin-bottom:30px}
.gold-button,.black-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 24px;min-height:52px;font-size:13px;font-weight:600;background:#aa8c59;color:#fff}
.black-button{background:#090909}.gold-button:hover{background:#967746}.black-button:hover{background:#303030}
.home-categories{max-width:1360px;margin:auto;padding:64px clamp(24px,6vw,90px) 72px;text-align:center}
.home-categories>.home-kicker{color:#8b7147}.home-categories h2,.home-contact h2{font:400 clamp(27px,2.6vw,38px)/1.2 Arial,sans-serif;letter-spacing:-1px}
.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:34px;text-align:left}
.category-card{min-width:0;display:block;border:1px solid #e8e5df;background:#fff;transition:box-shadow .2s}
.category-card:hover{box-shadow:0 8px 24px #00000014}.category-card>img{display:block;width:100%;height:auto;aspect-ratio:1.2;object-fit:cover}
.category-card>div{position:relative;padding:21px 18px 24px}.category-card h3{font-size:14px;text-transform:uppercase;letter-spacing:1.2px;margin:0 0 9px;font-weight:600}.category-card p{font-size:11px;color:#686868;line-height:1.5;padding-right:15px}.category-card span{position:absolute;right:16px;bottom:24px;font-size:18px;color:#94784b}
.home-contact{display:flex;align-items:center;justify-content:space-between;gap:32px;background:#f4f2ee;padding:50px max(24px,calc((100vw - 1180px)/2));}.home-contact .home-kicker{color:#8b7147}
.home-footer{background:#050505;color:#fff;text-align:center;padding:43px 24px 28px}.home-footer>p{color:#b3b3b3;font-size:12px;margin:14px 0 25px}.home-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 23px;font-size:11px;color:#ccc;margin-bottom:28px}.home-footer small{font-size:9px;color:#999}
.catalogue-heading{display:none}.catalogue-grid{display:contents}.listing-card{height:100%;position:relative}
@media(max-width:959px){
 :root{--header-size:60px}.site-header{padding:0 18px 0 58px;gap:10px}.site-header .site-wordmark{font-size:19px;letter-spacing:1.8px}.site-header nav{display:none}.portal-link{margin-left:auto;font-size:10px;padding:9px 10px}.menu-trigger{display:grid;z-index:22;top:calc(8px + var(--safe-top));left:7px}
 .mobile-app:not([data-route=home]){max-width:480px}.home-hero{height:560px;min-height:420px}.hero-content{padding:55px 25px}.hero-content h1{font-size:48px;letter-spacing:-1.7px}.hero-content>p:not(.home-kicker){font-size:14px;max-width:270px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.home-categories{padding:42px 22px 46px}.category-card>div{padding:17px 13px 20px}.category-card h3{font-size:12px}.category-card p{font-size:10px}.home-contact{padding:36px 24px;align-items:flex-start;flex-direction:column;gap:25px}.home-contact h2{font-size:30px}
 /* Category viewports keep their approved full-height canvas and top menu. */
 .mobile-app:not([data-route=home]) .site-header{display:none}.mobile-app:not([data-route=home]) .viewport{top:0}
}
@media(max-width:360px){.site-header .site-wordmark{font-size:16px;letter-spacing:1px}.portal-link{font-size:9px;padding:8px}.hero-content h1{font-size:41px}.category-grid{gap:12px}.home-categories{padding-left:17px;padding-right:17px}}
@media(min-width:960px){
 .viewport{bottom:0}.bottom-nav{display:none}.project-feed,#view-resale,#view-rental{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scroll-snap-type:none;background:#f7f6f3;color:#171717;padding:52px clamp(32px,5vw,90px) 70px}
 .catalogue-heading{display:block;max-width:1280px;margin:0 auto 32px}.catalogue-heading .home-kicker{color:#94784b}.catalogue-heading h1{font:400 38px/1.2 Arial,sans-serif;letter-spacing:-1px;margin-bottom:12px}.catalogue-heading>p:last-child{color:#6d6d6d;font-size:14px}
 .catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;max-width:1280px;margin:0 auto;align-items:start}
 .project-screen,.listing-card{height:auto;min-height:0;overflow:hidden;background:#fff;border:1px solid #e5e2dc;position:relative;scroll-snap-align:none}
 .project-gallery,#view-resale .resale-gallery,#view-rental .resale-gallery{position:relative;inset:auto;height:auto;aspect-ratio:4/3;width:100%;background:#eae7e1}
 .gallery-page,.gallery-page--group{height:100%;}.gallery-page--group .project-media{height:33.333%;aspect-ratio:auto;flex:1 1 0}.project-media img{object-fit:cover}.gallery-page--group .project-media img{object-fit:contain}
 #view-resale .resale-slide img,#view-rental .resale-slide img{height:100%;min-height:0;aspect-ratio:auto;object-fit:cover}
 .project-shade,.compact-brand{display:none}.preview-badge{top:14px;right:14px;background:#0009;color:#fff;font-size:8px;border:0}
 .project-copy,#view-resale .project-copy,#view-rental .project-copy{position:relative;inset:auto;padding:25px 22px 22px;text-shadow:none;color:#171717;pointer-events:auto}
 .project-copy .eyebrow,#view-resale .project-copy .eyebrow,#view-rental .project-copy .eyebrow{font:600 9px/1.4 Arial,sans-serif;letter-spacing:1.5px;color:#7c6747;margin-bottom:9px}
 .project-copy h2,#view-resale .project-copy h2,#view-rental .project-copy h2{font:500 clamp(21px,2vw,28px)/1.15 Arial,sans-serif;letter-spacing:-.6px;color:#171717}
 .project-copy .developer-logo{width:30%;flex-basis:30%;filter:invert(1)}
 .project-facts,#view-resale .project-facts,#view-rental .project-facts{color:#171717;margin:23px 0 12px;padding:17px 0;border-top:1px solid #e7e4df;border-bottom:1px solid #e7e4df}
 .project-facts>div{padding:0 5px}.project-facts>div+div{border-color:#ddd8ce}.project-facts dt{font-size:9px;color:#79756e}.project-facts dd,#view-resale .project-facts dd,#view-rental .project-facts dd{font-size:13px;font-weight:600;margin-top:6px}
 .media-controls{margin:0 auto 9px}.media-arrow{font-size:24px}.media-dot{background:#c2bfb8}.media-dot.is-active{background:#94784b;box-shadow:none}
 .explore-button,#view-resale .explore-button,#view-rental .explore-button{background:#080808;font:500 13px/1.3 Arial,sans-serif;min-height:48px;color:#fff}.explore-label,.explore-arrow{text-shadow:none}.explore-arrow{font-size:20px}
 .project-panel{width:min(82vw,1440px);max-width:100vw;margin:0 0 0 auto;left:auto;right:0}.project-panel::backdrop{background:#0008}#mobile-app.has-project-panel{transform:none;filter:none}.project-panel-title h2{font-family:Arial,sans-serif}
 .info-screen,.annex-screen{max-width:1100px;margin:0 auto}.annex-screen{padding-left:50px;padding-right:50px}
}
@media(prefers-reduced-motion:reduce){.category-card{transition:none}}
