/* Outlook Courts — traditional garden townhouse identity. */
:root{
  --forest:#244536;--forest-deep:#153026;--eucalyptus:#617e67;--sage:#dfe9dc;
  --lime:#c5a45d;--coral:#8f4a3c;--cream:#f3eee3;--paper:#fffdf8;
  --ink:#2c332e;--muted:#6e746e;--line:#d8cfbf;--shadow:0 18px 45px rgba(43,54,46,.13);
  --serif:"Newsreader",Georgia,serif;--sans:"DM Sans",Arial,sans-serif
}
body{background:var(--cream);color:var(--ink)}
.container{width:min(1180px,calc(100% - 48px))}
.utility-bar{background:var(--forest-deep);color:#d8e4dc}.utility-inner{height:32px}.utility-inner a{color:#f3e7cb}
.site-header{background:rgba(255,253,248,.97);border-bottom:1px solid #ded5c5;backdrop-filter:blur(10px)}
.site-header .nav-inner{height:88px}
.brand-symbol{width:46px;height:46px;border-radius:50%;background:var(--forest);border:2px solid #d7bd80;color:#fff;font:600 .9rem/1 var(--serif);transform:none;box-shadow:inset 0 0 0 4px var(--forest),inset 0 0 0 5px #d7bd80}
.brand-logo-mark{display:block;width:88px;height:42px;object-fit:contain;margin:0}
.brand-logo-full{display:block;width:250px;height:60px;object-fit:contain;object-position:left center;margin:0}
.brand-copy{gap:4px}.brand-copy strong{font-family:var(--serif);font-size:.94rem;letter-spacing:.12em;color:var(--forest-deep)}
.brand-copy small{font-size:.5rem;letter-spacing:.13em;color:#8a6a35;white-space:nowrap}
.primary-nav{gap:22px;font-family:var(--sans);font-size:.76rem}.primary-nav>a:not(.nav-portal)::after{background:#9a743a}
.nav-portal{border:1px solid var(--forest);border-radius:2px;background:var(--forest);color:#fff;padding:11px 16px}
.dropdown-menu{background:var(--paper);border:1px solid var(--line);box-shadow:0 14px 32px rgba(31,48,38,.14)}

.hero,.hero-inner{min-height:700px}.hero{background:var(--forest-deep);color:#fff;border-bottom:7px solid #b99552}
.hero::after{background:linear-gradient(90deg,rgba(21,48,38,.99) 0%,rgba(28,61,47,.93) 43%,rgba(36,69,54,.18) 72%)}
.hero-inner{align-items:center}.hero-copy{max-width:680px;padding:88px 0}
.hero h1,.section-heading h2,.notices h2,.info-layout h2,.contact h2{font-family:var(--serif);font-weight:500;letter-spacing:-.038em}
.hero h1{font-size:clamp(3.9rem,6.5vw,6.6rem);line-height:.9;margin-bottom:26px}
.hero h1 em{color:#e5cb91;font-style:italic;font-weight:500}
.hero-lead{max-width:570px;color:#e4ebe5;font-size:1.08rem}
.eyebrow{color:#dfc27e}.eyebrow.dark{color:#7c673e}
.button{min-height:50px;border-radius:2px;padding:0 22px}.button-light{background:#fffdf8;color:var(--forest-deep)}.button-outline{border-color:#d9c895;color:#fff}
.hero-art{inset:0 0 0 49%;background:url('assets/community/outlook-courts-hero-no-person.webp') center center/cover no-repeat}
.hero-art::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,45,34,.02) 45%,rgba(19,45,34,.28) 100%)}
.hero-art .sun,.hero-art .building,.hero-art .canopy{display:none}
.sun{top:74px;right:10%;width:175px;height:175px;background:#f0d99f;opacity:.82}
.building{border:1px solid #6d675b;background:#e8dfce;box-shadow:0 22px 45px rgba(37,53,42,.25)}
.building::before{content:"";position:absolute;left:-12px;right:-12px;top:-72px;width:0;height:0;border-left:calc(var(--roof-width,140px)) solid transparent;border-right:calc(var(--roof-width,140px)) solid transparent;border-bottom:73px solid #805046;filter:drop-shadow(0 -1px 0 #5d443d)}
.building span{background:#365746;border:7px solid #ddd3c1;box-shadow:inset 0 0 0 2px #b99761}
.building-back{--roof-width:140px;width:280px;height:330px;right:14%;bottom:185px;transform:none;background:#d9cfba}
.building-front{--roof-width:215px;width:430px;height:300px;right:-42px;bottom:54px;background:#eee7d9}
.building-front span:nth-child(4){height:132px;top:auto;bottom:0;background:#70483e;border-bottom:0}
.canopy{background:#315f3d;box-shadow:0 0 0 14px rgba(93,137,77,.7)}
.canopy-one{width:160px;height:135px}.canopy-two{width:205px;height:165px}.canopy-three{width:150px;height:125px}
.scroll-cue{color:#fff}.scroll-cue i{border-color:#e7d5aa}

.quick-links{padding:105px 0;background:var(--paper)}
.split-heading{grid-template-columns:1fr 1fr;gap:90px}.section-heading{margin-bottom:44px}.section-heading h2{font-size:clamp(3rem,5vw,4.8rem);line-height:.95;color:var(--forest-deep)}
.section-heading>p,.split-heading>p{color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;border:0}
.service-card{min-height:300px;padding:28px;background:#fffdf8;border:1px solid var(--line)!important;border-top:4px solid #b99552!important;border-radius:3px;box-shadow:0 10px 28px rgba(54,66,57,.07)}
.service-card:nth-child(-n+3){grid-column:span 2}.service-card:nth-child(n+4){grid-column:span 3}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.service-card.featured{background:var(--forest);border-color:var(--forest)!important;color:#fff}.service-card.portal-card{background:#edf3ea}.service-card.sales-card{background:#8f4a3c;border-color:#8f4a3c!important}
.card-number{font-family:var(--serif);font-size:.72rem;color:#9a7a43}.featured .card-number,.sales-card .card-number{color:#ead8ad}
.service-icon{margin:44px 0 22px;background:#e8eadf;color:var(--forest);border:1px solid #c9cbbf}.featured .service-icon{background:#d8bd7e}.sales-card .service-icon{background:#f2e3d8;color:#7d4034}
.service-card h3{font:500 1.65rem/1.08 var(--serif);letter-spacing:-.02em}.service-card p{font-size:.86rem}.text-link{font-size:.72rem}

.notices{padding:105px 0;background:#e8eee5;color:var(--ink);border-top:1px solid #ccd8cb;border-bottom:1px solid #ccd8cb}
.notices-layout{grid-template-columns:.8fr 1.2fr;gap:100px}.notices h2{font-size:clamp(3.5rem,5.5vw,5.4rem);line-height:.9;color:var(--forest-deep)}
.notices-intro>p:not(.eyebrow):not(.notice-note),.notice-note,.notice-item p,.notice-meta{color:#5b675e}
.notice-note{border-color:#b9c8bb}.notice-list{border-top:2px solid var(--forest)}.notice-item{border-bottom:1px solid #b9c8bb}.notice-meta span{color:#8f4a3c}.notice-item h3{font:500 1.6rem/1.2 var(--serif);color:var(--forest-deep)}

.news-feed{padding:100px 0;background:#f5f0e6}.news-grid{gap:20px}.news-card{border:1px solid var(--line);border-top:4px solid #b99552;background:var(--paper)}.featured-news{background:var(--forest);border-color:var(--forest)}
.news-category{color:#87682f}.news-card h3{font:500 1.65rem/1.1 var(--serif)}

.facilities{padding:110px 0;background:var(--forest-deep);color:#fff}
.facilities .eyebrow.dark{color:#d7ba77}.facilities .section-heading h2{color:#fff}.facilities .section-heading>p{color:#cbd8cf}
.facility-grid{gap:28px}.facility-card{border-radius:3px;background:#fffdf8;box-shadow:0 18px 45px rgba(0,0,0,.2)}
.facility-visual{height:310px}.gym-card .facility-visual{background:url('assets/facilities/outlook-courts-gym-home.webp') center/cover no-repeat}
.green-space-card .green-space-visual{background:url('assets/facilities/outlook-courts-greens-bay-park-02.webp') center/cover no-repeat}
.gym-card .facility-visual>*,.green-space-card .green-space-visual>*{display:none}
.facility-copy h3{font:500 2.1rem/1 var(--serif);color:var(--forest-deep)}

.resident-info{padding:95px 0;background:#efe5d5}.info-layout h2{font-size:clamp(3.2rem,5vw,5rem);line-height:.92;color:var(--forest-deep)}
.routing-list>div,.routing-list>div:last-child{border-color:#d1c3af}.routing-list span{background:var(--forest)}

.contact{padding:110px 0;background:#203a2f;color:#fff}.contact h2{font-size:clamp(3.5rem,5vw,5.2rem);line-height:.92}.contact-team{border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);padding:20px 0}.team-mark{background:#d5ba7c;color:var(--forest-deep)}
.propertyme-callout{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.2)}.propertyme-callout a{color:#e2c983}
.contact-form{border-radius:3px;background:#fffdf8;border:1px solid #d6c9b5;box-shadow:0 22px 52px rgba(0,0,0,.2)}
.contact-form input,.contact-form select,.contact-form textarea{background:#fff;border-color:#cfc4b4}.submit-button{background:var(--forest)}
.site-footer{background:#10261d}.footer-brand .brand-logo-mark{content:url('assets/branding/mesm-mark-light.png')}.footer-brand .brand-logo-full{content:url('assets/branding/mesm-logo-horizontal-light.png')}.footer-brand .brand-copy strong{color:#fff}.footer-brand .brand-copy small{color:#d7bd80}.footer-contact a{color:inherit;text-decoration:none}.footer-contact a:hover{color:#e2c983}

.about-hero,.gallery-hero,.facility-hero,.guide-hero,.legal-hero{background-color:var(--forest)!important;background-image:radial-gradient(circle at 78% 28%,rgba(231,208,154,.25),transparent 24%),linear-gradient(135deg,#173126 0%,#315c45 65%,#6d866c 100%)!important;color:#fff!important;border-bottom:5px solid #b99552}
.about-hero{background-image:linear-gradient(90deg,rgba(20,48,37,.94),rgba(20,48,37,.58),rgba(20,48,37,.12)),url('assets/community/outlook-courts-streetscape-01.webp')!important;background-position:center!important;background-size:cover!important}
.facility-gallery picture{display:block;min-width:0}.facility-gallery picture img{width:100%;height:100%;object-fit:cover}
.about-hero h1,.gallery-hero h1,.facility-hero h1,.guide-hero h1,.legal-hero h1{font-family:var(--serif)!important;font-weight:500!important;letter-spacing:-.045em!important;text-transform:none!important}
.about-hero p:not(.eyebrow),.gallery-hero p:not(.eyebrow),.facility-hero p:not(.eyebrow),.guide-hero p:not(.eyebrow){color:#e7eee8!important}
.about-section,.about-gallery,.gallery-main,.guide-main,.legal-main,.facility-detail{background:var(--paper)!important}
.about-facts{background:#d5cbb8!important}.about-facts div{background:#fffdf8!important}.about-facts strong,.local-icon,.preview-label{color:#8a6a35!important}
.local-guide{background:#e5eee2!important}.local-card{border:1px solid #ced9cc!important;border-top:4px solid #a7803d!important;background:#fffdf8!important}
.about-note,.gallery-cta{background:var(--forest)!important}.photo-placeholder{border-radius:3px;background:radial-gradient(circle at 72% 22%,rgba(239,215,159,.75),transparent 18%),linear-gradient(155deg,#c3d5ca 0 38%,#6d9069 38% 65%,#31533f 65%);box-shadow:var(--shadow)}
.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch}.gallery-card{display:grid!important;grid-template-rows:auto 1fr;grid-row:auto!important;cursor:default!important;border:1px solid var(--line)!important;background:#fffdf8!important}.gallery-card picture{display:block;aspect-ratio:3/2;overflow:hidden}.gallery-card img,.gallery-card:nth-child(4n+1) img{display:block;width:100%;height:100%;aspect-ratio:auto!important;object-fit:cover;object-position:center}.gallery-card figcaption{display:flex;align-items:center;min-height:58px;background:#fffdf8!important;color:var(--forest-deep)!important}.gallery-note{border-left-color:#b99552!important;background:#f2eadb!important}
.site-map-card picture{display:block;max-width:760px;margin:0 auto}.site-map-card img{background:#e6e0d5}
.auth-page{background:linear-gradient(135deg,#173126,#52745c)!important}.auth-card{border-radius:3px;background:#fffdf8!important;box-shadow:var(--shadow)}.auth-card .brand-lockup{margin-bottom:30px}.auth-card .brand-logo-mark{width:108px;height:auto;margin:0}.auth-card .brand-logo-full{width:300px;height:auto;margin:0}.auth-card h1{font-family:var(--serif)!important;color:var(--forest-deep)!important}.auth-card button{background:var(--forest)!important}
.admin-page{background:#f4efe5!important}.admin-header{background:var(--forest-deep)!important}.admin-header .brand-logo-mark{width:94px;height:44px}.admin-header .brand-logo-full{width:235px;height:58px;content:url('assets/branding/mesm-logo-horizontal-light.png')}.admin-header .brand-copy strong{color:#fff}.admin-header .brand-copy small{color:#d7bd80}.admin-intro h1,.admin-panel h2,.preview-panel h2{font-family:var(--serif)!important;color:var(--forest-deep)!important}.admin-panel,.preview-panel{background:#fffdf8!important;border-color:#d6cbbb!important}.admin-actions .button{background:var(--forest)!important}

@media(max-width:1100px) and (min-width:901px){.site-header .primary-nav{display:none!important;position:absolute!important;top:88px!important;left:0!important;right:0!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:14px 30px 26px!important;background:var(--paper)!important;box-shadow:0 16px 32px rgba(25,46,35,.14)!important}.site-header .primary-nav.open{display:flex!important}.site-header .primary-nav a{padding:12px 0!important}.site-header .menu-toggle{display:block!important}}
@media(max-width:900px){.site-header .primary-nav{top:88px}.hero-art{left:59%;opacity:.72}.service-card:nth-child(n){grid-column:span 3}.facility-card{transform:none}.notices-layout{grid-template-columns:minmax(0,1fr);gap:50px}.notices-intro,.notice-list,.notice-item{min-width:0}}
@media(max-width:620px){.container{width:min(100% - 32px,1180px)}.brand-logo-mark{width:72px;height:36px}.brand-logo-full{width:190px;height:48px}.brand-copy strong{font-size:.82rem}.brand-copy small{font-size:.44rem}.hero,.hero-inner{min-height:680px}.hero-copy{padding:68px 0 300px}.hero h1{font-size:3.7rem}.hero-art{inset:auto -95px 0 8%;height:275px;opacity:.62}.building-back{display:none}.building-front{height:210px;width:330px;right:-20px}.building-front::before{--roof-width:165px}.service-card:nth-child(n){grid-column:1/-1;min-height:265px}.notices-layout{grid-template-columns:minmax(0,1fr);gap:32px}.notices h2{font-size:clamp(3rem,15vw,3.55rem)}.notice-meta{gap:12px;flex-wrap:wrap}.notice-item h3,.notice-item p{overflow-wrap:anywhere}.facility-visual{height:235px}.photo-grid{grid-template-columns:1fr!important}.footer-top{align-items:flex-start}}
