/* Portal presentation, 17 October 2026. Loaded after the existing brand styles. */
:root{--portal-ink:#102b3d;--portal-gold:#b28a4c;--portal-paper:#f7f4ed;--portal-rule:#dedbd2}
body{background:var(--portal-paper)}

/* Keep the supplied skyline and artwork. Flow layout prevents collisions. */
#home{display:flex;flex-direction:column;gap:0;height:auto;min-height:100svh;padding:24px clamp(16px,3.4vw,56px) 32px;overflow:hidden}
#home::before{background-position:center center;filter:saturate(.88)}
#home::after{background:linear-gradient(180deg,rgba(6,28,50,.70),rgba(6,28,50,.38) 40%,rgba(6,28,50,.16) 66%,rgba(6,28,50,.83))}
#home>.header{position:relative;inset:auto;transform:none;width:100%;max-width:1328px;height:72px;margin:0 auto;gap:20px;flex:none}
#home .brand{width:210px;height:72px;flex:0 0 210px}
#home>.header>nav a{font-size:15px;line-height:1.4;padding:10px 0;margin:0 20px;min-height:44px;color:#fff}
#home>.header>nav a+a::before{display:none}
#home>.header>nav a.active{color:#e9d0a1;box-shadow:0 1px #e9d0a1}
#home>.header>nav a:hover{color:#e9d0a1;background:transparent}
#home .header-actions{gap:14px}
#home .header-markets{gap:12px}
#home .header-markets button{height:44px;min-height:44px;min-width:108px;border-color:#ffffff70;background:#ffffff08;font-size:13px}
#home .header-markets button:hover,#home .header-markets button.selected{background:#ffffff16;border-color:#dec394;box-shadow:none}
#home #headerSaved,#home .portal-menu>summary{width:44px;height:44px;min-width:44px;min-height:44px}
#home .portal-menu>div{background:#102b3df5;border-radius:6px;backdrop-filter:blur(12px)}
#home .hero-content{position:relative;inset:auto;transform:none;flex:1;justify-content:center;width:min(920px,100%);margin:0 auto;padding:48px 0 50px}
#home h1{border:0;border-radius:0;background:none;box-shadow:none;padding:0;margin:0 0 18px;font-size:clamp(60px,5.4vw,84px);font-weight:400;line-height:1.03;letter-spacing:-.035em;max-width:100%}
#home h1::before,#home h1::after{display:none}
/* Route changes focus this heading; keep visible focus rings on the controls. */
#home h1:focus{outline:none}
#home h1 span{padding:0 4px;line-height:1.03}
#home .hero-title-gold{color:#e2c38b;background:none;-webkit-text-fill-color:currentColor;filter:none}
#home .hero-tagline{font-size:clamp(18px,1.7vw,23px);line-height:1.4;white-space:normal;max-width:100%;text-wrap:balance}
#home .hero-search{width:min(788px,100%);height:64px;min-height:64px;padding:5px;margin-top:24px;background:#fbfaf6;border:1px solid #fff;border-radius:7px;box-shadow:0 8px 24px #04182c14;overflow:visible}
#home .hero-search>.search-field{padding:0 18px;gap:14px}
#home .hero-search input{font-size:15px;color:var(--portal-ink)}
#home .hero-search>.btn{height:52px;min-height:52px;min-width:158px;padding:0 24px;border:0;border-radius:3px;background:#d9b77c;color:var(--portal-ink);font-size:16px;gap:20px;transition:background-color .18s ease}
#home .hero-search>.btn:hover{background:#e4c896;transform:none;box-shadow:none}
#home .hero-search:focus-within{outline:2px solid #dec394;outline-offset:4px}
#home .quick-launches{display:flex;gap:32px;flex-wrap:wrap;margin-top:18px;max-width:100%}
#home .quick-launches button{flex-direction:row;gap:9px;padding:0 2px;min-height:44px;border-radius:0;box-shadow:none;border-bottom:1px solid transparent}
#home .quick-launches button:hover,#home .quick-launches button.selected,#home .quick-launches button[aria-pressed="true"]{border-bottom-color:#dec394;box-shadow:none}
#home .quick-launches span{font-size:14px;line-height:1.4}
#home .quick-launches svg{width:21px;height:21px}

/* Native scrolling, one set of cities, no automatic movement. */
#home .portal-city-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1328px;width:100%;margin:0 auto 10px;color:#fff;flex:none}
#home .portal-city-controls>span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#e2c38b}
#home .portal-city-buttons{display:flex;gap:8px}
#home .portal-city-buttons button{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #ffffff60;border-radius:50%;background:#102b3d88;color:#fff;transition:border-color .18s ease,background-color .18s ease}
#home .portal-city-buttons button:hover{border-color:#dec394;background:#102b3de6}
#home .portal-city-buttons button:disabled{opacity:.3;cursor:default}
#home .portal-city-buttons svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
#home .hero-destinations{position:relative;inset:auto;transform:none;width:100%;max-width:1328px;margin:0 auto;padding:4px;overflow-x:auto;overflow-y:hidden;mask-image:none;scroll-snap-type:x mandatory;scroll-padding:4px;scrollbar-width:none;flex:none}
#home .hero-city-track{display:block;width:100%;animation:none;transform:none;will-change:auto}
#home .hero-city-group{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 64px)/5);width:100%;gap:16px;padding:0}
#home .hero-city-group[aria-hidden="true"]{display:none}
#home .hero-destination{width:100%;min-width:0;height:92px;flex:none;border-radius:5px;border:1px solid #ffffff40;background:#0d3044df;box-shadow:none;backdrop-filter:none;scroll-snap-align:start;transition:border-color .18s ease,background-color .18s ease}
#home .hero-destination>img{display:none}
#home .hero-destination-caption{position:relative;inset:auto;justify-content:center;height:100%;padding:14px 18px;background:none}
#home .hero-destination strong{font-size:22px;font-weight:400;line-height:1.25;padding-right:26px}
#home .hero-destination small{font-size:12px;line-height:1.5;color:#d6e0e5;margin-top:5px}
#home .hero-destination-arrow{right:18px;bottom:31px}
#home .hero-destination:hover{background:#153d51;border-color:#dec394;box-shadow:none}
#home[hidden],#discover[hidden],#home .portal-city-buttons[hidden]{display:none}

/* Existing filters and data remain in place. */
#discover.wrap{max-width:1400px;padding:54px clamp(16px,3.4vw,48px) 52px}
#discover .section-head{margin-bottom:24px}
#discover .section-head .eyebrow{display:block;color:#94703a;font-size:11px;letter-spacing:.15em}
#discover .section-head h2{font-size:clamp(32px,3.2vw,44px);font-weight:400;line-height:1.2;margin:12px 0}
#discover .section-head p{font-size:15px;line-height:1.6;color:#5e6c73}
#discover .market-tabs{gap:10px;margin:0 0 24px;flex-wrap:wrap}
#discover .market-tabs button{min-height:44px;padding:10px 18px;font-size:14px;border-radius:4px;border:1px solid var(--portal-rule);background:transparent;color:var(--portal-ink)}
#discover .market-tabs button.selected{background:var(--portal-ink);border-color:var(--portal-ink);color:#fff}
#discover .market-tabs button:hover{border-color:#aa8852}
#discover .discovery-layout{display:block}
#discover .filters{position:static;display:flex;align-items:flex-end;flex-wrap:wrap;gap:18px 24px;padding:20px 24px;margin:0 0 22px;background:#fff;border:1px solid var(--portal-rule);border-radius:5px;box-shadow:none;width:auto}
#discover .filters>.filter-title{display:flex;align-items:center;justify-content:space-between;flex:0 0 100%;padding:0;margin:0;border:0;font-size:13px}
#discover .filters>.filter-title button{min-height:44px;padding:8px 0 8px 16px;color:#94703a;font-size:13px}
#discover .filters>label{display:block;flex:1 1 180px;width:auto;min-width:0;margin:0;color:#5e6c73;font-size:12px;line-height:1.5}
#discover .filters select{display:block;width:100%;max-width:none;min-width:0;height:44px;min-height:44px;margin:7px 0 0;padding:9px 12px;border:1px solid var(--portal-rule);border-radius:4px;background-color:#fcfbf8;color:var(--portal-ink);font-size:14px}
#discover .filters>.filter-note{flex:0 0 100%;margin:0;line-height:1.6;font-size:12px}
#discover .filters>.advisor-mini{display:none}
#discover .results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 18px;padding:0;font-size:14px}
#discover .results-toolbar label{font-size:13px}
#discover .results-toolbar select{min-height:44px;font-size:13px}
#discover .active-filters{padding:0 0 18px;color:#5e6c73}
#projectGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;justify-content:normal;align-items:stretch}
#projectGrid .project-card{display:flex;flex-direction:column;width:100%;max-width:none;height:auto;min-height:0;border:1px solid var(--portal-rule);border-radius:5px;overflow:hidden;background:#fff;box-shadow:none;transform:none;transition:border-color .18s ease}
#projectGrid .project-card:hover,#projectGrid .project-card:focus-within{border-color:#b28a4c;box-shadow:none;transform:none}
#projectGrid .card-photo{height:auto;aspect-ratio:16/9;flex:0 0 auto;overflow:hidden}
#projectGrid .card-photo img{height:100%;width:100%;object-fit:cover;object-position:center;transition:transform .25s ease}
#projectGrid .project-card:hover .card-photo img{transform:scale(1.025)}
#projectGrid .card-photo .status-badge{font-size:10px;line-height:1.4;padding:6px 9px;letter-spacing:.02em;border-radius:3px;max-width:calc(100% - 66px)}
#projectGrid .card-photo .save-project{width:44px;height:44px;min-height:44px;top:8px;right:8px;border:1px solid #ffffff90;border-radius:50%;background:#ffffffed;color:var(--portal-ink);font-size:22px}
#projectGrid .image-city{font-size:11px;line-height:1.4}
#projectGrid .card-body,#projectGrid .card-body:not(:has(.sample-label)){display:flex;flex-direction:column;gap:10px;padding:18px;flex:1;grid-template-rows:none;min-height:0;height:auto;overflow:visible}
#projectGrid .card-body :is(h3,.title-button,.location,.configuration,.card-price,.sample-label,.developer-name){height:auto;min-height:0;max-height:none;white-space:normal;overflow:visible;text-overflow:clip;-webkit-line-clamp:unset;margin:0}
#projectGrid .developer-name{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:11px;line-height:1.5;letter-spacing:.02em}
#projectGrid .developer-logo-frame{height:32px;width:74px;min-width:0;flex:0 0 74px}
#projectGrid .developer-logo-frame img{width:70px;height:30px;object-fit:contain}
#projectGrid .developer-name>span:not(.developer-logo-frame){min-width:0;overflow-wrap:anywhere;white-space:normal;overflow:visible}
#projectGrid .card-body h3{font-size:23px;line-height:1.3;font-weight:400;min-height:60px;overflow-wrap:anywhere}
#projectGrid .title-button{display:block;width:100%;padding:0;text-align:left;min-height:44px;font:inherit;color:var(--portal-ink);line-height:1.3;overflow-wrap:anywhere}
#projectGrid .project-card .card-body :is(h3,.title-button){font-size:23px;line-height:1.3}
#projectGrid .card-body :is(.location,.configuration){display:block;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
#projectGrid .card-body .location{color:#5e6c73}
#projectGrid .card-body .configuration{min-height:20px}
#projectGrid .card-price{margin:6px 0 0;padding:0;border:0}
#projectGrid .card-body .price-label{font-size:10px;line-height:1.5;letter-spacing:.06em;white-space:normal;overflow:visible;text-overflow:clip;color:#5e6c73}
#projectGrid .card-price .price{font-size:24px;line-height:1.35;font-weight:400;letter-spacing:-.02em;white-space:normal;overflow-wrap:anywhere;color:var(--portal-ink)}
#projectGrid .card-price .price-pending{font-size:17px;line-height:1.6;color:#5e6c73}
#projectGrid .rate{font-size:12px;line-height:1.5;white-space:normal;overflow:visible}
#projectGrid .sample-label{font-size:11px;line-height:1.6;color:#5e6c73;overflow-wrap:anywhere}
#projectGrid .card-actions{display:flex;flex-wrap:nowrap;width:100%;align-self:stretch;height:auto;min-height:44px;gap:12px;margin-top:auto;padding-top:12px;border-top:1px solid #e7e3db}
#projectGrid .card-actions .btn{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:44px;padding:9px 8px;font-size:13px;border-radius:3px}
#projectGrid .card-detail{border-color:#d8d5cc;background:transparent;color:var(--portal-ink)}
#projectGrid .card-enquiry{background:var(--portal-ink);color:#fff}
#discover .data-note{font-size:12px;line-height:1.7;margin-top:24px}
#discover .project-pagination{margin-top:28px}
#discover :is(button,select):focus-visible{outline:2px solid #94703a;outline-offset:3px}

@media(max-width:1199px){
 #home>.header>nav{display:none}
 #home .hero-city-group{grid-auto-columns:calc((100% - 48px)/4)}
 #projectGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:899px){
 #projectGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 #home .hero-city-group{grid-auto-columns:calc((100% - 32px)/3)}
}
@media(min-width:900px){
 #discover .filters{padding:16px 20px;gap:16px 20px}
 #discover .filters>.filter-title{flex:0 0 104px;align-self:stretch;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}
 #discover .filters>.filter-title button{padding:6px 0}
}
@media(max-width:680px){
 #home{padding:16px 16px calc(84px + env(safe-area-inset-bottom));min-height:100svh}
 #home>.header{height:112px;min-height:112px;align-items:flex-start;gap:10px}
 #home .brand{width:172px;height:58px;max-width:172px;flex:0 1 172px}
 #home .header-actions{margin-top:5px;gap:4px}
 #home .header-markets{position:absolute;top:66px;left:0;gap:12px}
 #home .header-markets button{min-width:108px;height:44px;min-height:44px}
 #home .hero-content{padding:30px 0 32px;flex:1}
 #home h1{font-size:clamp(46px,12vw,64px);line-height:1.04;margin-bottom:16px}
 #home .hero-tagline{font-size:18px;max-width:340px;line-height:1.45}
 #home .hero-search{height:58px;min-height:58px;margin-top:22px;padding:4px;border-radius:6px}
 #home .hero-search>.search-field{padding:0 9px;gap:8px}
 #home .search-field svg{width:19px;height:19px}
 #home .hero-search input{font-size:13px}
 #home .hero-search>.btn{height:48px;min-height:48px;min-width:94px;padding:0 12px;gap:8px;font-size:14px}
 #home .hero-search>.btn svg{width:18px;height:18px}
 #home .quick-launches{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:10px;width:100%;margin-top:16px}
 #home .quick-launches button{flex-direction:column;gap:7px;min-height:64px;white-space:normal;padding:5px 0;align-self:start}
 #home .quick-launches span{font-size:12px;line-height:1.4;max-width:110px}
 #home .portal-city-controls{margin-bottom:6px}
 #home .hero-city-group{grid-auto-columns:78%;gap:12px}
 #home .hero-destinations{margin:0 auto}
 #home .hero-destination{height:88px}
 #home .hero-destination strong{font-size:22px}
 #home .hero-destination-arrow{bottom:28px}
 #discover.wrap{padding-top:36px;padding-bottom:36px}
 #discover .filters{padding:16px;gap:14px}
 #discover .filters>label{flex-basis:100%}
 #discover .market-tabs{gap:8px}
 #discover .market-tabs button{font-size:13px;padding:9px 13px}
 #discover .results-toolbar{gap:8px;margin-bottom:16px}
 #discover .results-toolbar label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
 #projectGrid{grid-template-columns:minmax(0,1fr);max-width:440px;margin:0 auto}
 #projectGrid .card-body h3{min-height:0}
 #projectGrid .card-body{padding:18px}
}
@media(max-width:359px){
 #home .brand{width:150px;max-width:150px;flex-basis:150px;height:51px}
 #home .header-actions{gap:0}
 #home h1{font-size:45px}
 #home .hero-search input{font-size:12px}
 #home .hero-search>.btn{min-width:82px;padding:0 9px}
 #home .hero-search>.btn svg{display:none}
}
@media(prefers-reduced-motion:reduce){
 #home *,#projectGrid *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 #projectGrid .project-card:hover .card-photo img{transform:none}
}
