@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Montserrat:wght@500;600;700;800&display=swap";.header-call{display:flex;align-items:center;gap:9px;color:var(--ink);font-size:13px;font-weight:700;white-space:nowrap}.header-call svg{width:17px;color:var(--coral)}.header-call span{display:grid;line-height:1.15}.header-call small{font-size:8px;color:var(--muted);letter-spacing:1px}@media(max-width:1200px){.public-header nav{gap:20px}.header-call span{font-size:12px}}@media(max-width:720px){.public-header{gap:10px;padding:0 16px}.public-header>.logo>span:last-child{display:none}.header-call{margin-left:auto}.header-call small{display:none}.menu-button{flex:0 0 40px}}@media(max-width:390px){.header-call span{font-size:11px}}.image-strip{grid-template-rows:1fr 1fr}.gallery-main,.image-note{grid-row:1/-1}.gallery-opposite{grid-column:3;grid-row:1}.gallery-detail{grid-column:3;grid-row:2}@media(max-width:1000px){.image-strip{grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr}.image-note{grid-column:2;grid-row:2}.gallery-opposite{display:block!important;grid-column:2;grid-row:1}.gallery-detail{display:none}}@media(max-width:720px){.image-strip{height:auto;grid-template-columns:1fr;grid-template-rows:300px 230px}.gallery-main{grid-column:1;grid-row:1}.gallery-opposite{grid-column:1;grid-row:2}.image-note{grid-column:auto;grid-row:auto;margin-top:250px}}:root{--ink:#0d1f3c;--forest:#0f2347;--deep:#081429;--coral:#c9a24a;--gold:#c9a24a;--gold-light:#e8cf86;--gold-dark:#a9822f;--paper:#f8f5ee;--white:#fff;--muted:#5d6878;--line:#e6dfcf;--shadow:0 20px 60px rgba(8,20,41,.14);font-family:DM Sans,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}p{line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2{font:700 1rem Montserrat,sans-serif;letter-spacing:0}.button{min-height:48px;padding:0 20px;border:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;font-weight:700;transition:.2s}.button:hover{transform:translateY(-2px)}.button.dark,.icon-button.dark{background:var(--ink);color:#fff}.button.coral{background:var(--coral);color:#fff}.button.quiet{background:#efe9dc}.button.full{width:100%}.button svg,.icon-button svg,.panel-title svg{width:18px}.icon-button{width:40px;height:40px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;position:relative}.eyebrow{display:flex;align-items:center;gap:11px;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:1.6px}.eyebrow span{width:26px;height:1px;background:var(--coral)}.eyebrow.light{color:#f3efe4}.logo{border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:0;cursor:pointer;color:inherit;text-align:left}.logo-mark{width:62px;height:62px;flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#081429;border-radius:50%;box-shadow:0 0 0 2px rgba(201,162,74,.6),0 4px 12px rgba(8,20,41,.18)}.logo-mark img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}.logo,.auth-logo{align-items:center}.public-header .logo{gap:14px}.portal-shell aside .logo-mark{width:52px;height:52px}.mobile-logo .logo-mark{width:44px;height:44px}@media(max-width:720px){.public-header .logo-mark{width:52px;height:52px}}.logo b{display:block;font:700 19px/1 Montserrat,sans-serif}.logo small{font-size:8px;letter-spacing:3px}.public-header{height:76px;padding:0 max(5vw,24px);background:#081429f5;display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;width:100%;z-index:10}.public-header nav{display:flex;gap:34px;font-size:13px;font-weight:600}.public-header nav a:hover{color:var(--coral)}.header-login{min-height:40px}.menu-button{display:none}.hero{height:min(830px,92vh);min-height:650px;background-size:cover;background-position:center;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:118px max(7vw,32px) 42px}.hero-content{max-width:650px;animation:reveal .8s ease-out}.hero h1{font-size:clamp(76px,9vw,144px);line-height:.78;margin:35px 0 30px}.hero-copy{font-size:18px;max-width:530px;color:#efe9dc}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:38px}.text-button{border:0;background:transparent;color:#fff;display:flex;gap:5px;align-items:center;cursor:pointer;font-weight:600}.hero-facts{display:flex;gap:60px;margin-top:auto;border-top:1px solid #ffffff47;padding-top:24px;color:#d6dce8;font-size:13px}.hero-facts b{display:block;color:#fff;font:700 25px Montserrat,sans-serif}.section{padding:110px max(7vw,32px)}.intro{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:80px}.intro h2,.section-heading h2,.rates h2,.portal-promo h2{font-size:clamp(43px,5vw,74px);line-height:1.02;margin:24px 0 0}.intro-copy{max-width:510px;color:var(--muted)}.underlink{border-bottom:1px solid;padding-bottom:6px;display:inline-flex;align-items:center;gap:20px;font-weight:700;margin-top:20px}.image-strip{padding-top:10px;padding-bottom:40px;display:grid;grid-template-columns:1.3fr .34fr .8fr;gap:14px;height:570px}.image-strip img{width:100%;height:100%;object-fit:cover;min-width:0}.image-note{background:var(--coral);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:28px}.amenities{background:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-heading>p{max-width:390px;color:var(--muted)}.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.amenity{padding:34px;min-height:270px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.amenity>span{position:absolute;right:26px;top:24px;color:#b9a575;font-size:11px}.amenity svg{color:var(--coral);width:28px;margin-top:20px}.amenity h3{margin:45px 0 12px;font:700 25px Montserrat,sans-serif}.amenity p{color:var(--muted);font-size:14px}.rates{background:var(--forest);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:90px}.rates>div:first-child>p:not(.eyebrow){color:#c8d0de;max-width:520px}.rates .button{margin-top:26px}.rate-list{border-top:1px solid #ffffff3d;align-self:center}.rate-list>div{padding:32px 0;display:flex;justify-content:space-between;border-bottom:1px solid #ffffff3d}.rate-list span{display:flex;gap:12px;color:#c8d0de}.rate-list p{margin:0}.rate-list b{font:700 30px Montserrat,sans-serif}.rate-list small{color:#a3aec2;display:block;margin-top:20px}.portal-promo{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.portal-promo>div:first-child p:not(.eyebrow){color:var(--muted)}.portal-preview{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:28px;transform:rotate(1deg)}.preview-top{display:flex;justify-content:space-between;font-weight:700;padding-bottom:25px}.preview-balance{background:var(--forest);color:#fff;padding:28px;display:grid;grid-template-columns:1fr auto}.preview-balance b{font:700 42px Montserrat,sans-serif;grid-row:2}.preview-balance span{grid-row:2;align-self:end;font-size:12px}.preview-ticket{border:1px solid var(--line);padding:20px;margin-top:15px;display:grid;grid-template-columns:1fr auto}.preview-ticket b,.preview-ticket small{grid-column:1}.preview-ticket small{color:var(--muted);margin-top:6px}footer{background:#081429;color:#fff;padding:70px max(7vw,32px) 25px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}footer p,footer a,footer button{color:#c3cad8;font-size:13px}footer a,footer button{display:block;margin:12px 0;border:0;padding:0;background:none;cursor:pointer}footer small{color:#c9a24a;letter-spacing:1.5px}.copyright{grid-column:1/-1;border-top:1px solid #1f3152;padding-top:24px;margin:30px 0 0}.auth-page{min-height:100vh;display:grid;grid-template-columns:46% 54%;background:#fff}.auth-photo{position:sticky;top:0;height:100vh;background-size:cover;background-position:center;padding:44px 6vw;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.auth-photo h1{font-size:76px;line-height:.9;margin:24px 0}.auth-photo p{color:#dbe6e1}.auth-panel{padding:40px 9vw;overflow-y:auto}.back-link{border:0;background:none;padding:0;cursor:pointer;color:var(--muted)}.auth-form{max-width:630px;margin:70px auto}.auth-form h2,.modal h2{font-size:48px;margin:14px 0 28px}.auth-form form,.modal form{display:grid;gap:17px}label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#3b475a}input,select,textarea{width:100%;border:1px solid #ccd5d1;background:#fff;min-height:46px;padding:11px 13px;outline:none;border-radius:0}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--forest);box-shadow:0 0 0 2px #0f234719}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-row.three{grid-template-columns:.45fr 1fr 1fr}.demo-note{background:#f5efe0;border-left:3px solid var(--forest);padding:15px 18px;margin-bottom:22px;display:grid;gap:4px;font-size:12px}.terms-box{padding:18px;background:var(--paper);border:1px solid var(--line)}.terms-box p{font-size:11px;color:var(--muted)}.check{display:flex;align-items:flex-start;gap:10px}.check input{width:17px;height:17px;min-height:0}.switch-auth{text-align:center;color:var(--muted);font-size:13px}.switch-auth button{border:0;background:none;color:var(--coral);font-weight:700;cursor:pointer}.form-error{background:#fff0ed;color:#a13222;padding:10px;margin:0;font-size:12px}.portal-shell{min-height:100vh;display:grid;grid-template-columns:235px minmax(0,1fr);background:#f5f6f3}.portal-shell>aside{background:var(--deep);color:#fff;position:fixed;width:235px;height:100vh;padding:26px 18px;display:flex;flex-direction:column;z-index:5}.portal-shell aside .logo{margin:0 9px 45px}.portal-shell aside nav{display:grid;gap:6px}.portal-shell aside nav button{border:0;background:transparent;color:#b7c0d1;min-height:46px;display:flex;align-items:center;gap:13px;padding:0 14px;cursor:pointer}.portal-shell aside nav button.active{background:#215047;color:#fff}.portal-shell aside nav svg{width:19px}.aside-user{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:20px;border-top:1px solid #2b3f63}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#ece2c8;color:var(--forest);font-weight:700;flex:0 0 auto;overflow:hidden}.aside-user span{min-width:0;flex:1}.aside-user b,.aside-user small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aside-user b{font-size:12px}.aside-user small{font-size:10px;color:#9aa6bb}.aside-user button{border:0;background:none;color:#9aa6bb}.portal-main{grid-column:2;min-width:0}.portal-main>header{height:72px;padding:0 34px;display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:4}.portal-main>header small,.portal-main>header b{display:block}.portal-main>header small{font-size:8px;letter-spacing:1.5px;color:var(--muted)}.header-tools{display:flex;align-items:center;gap:14px}.header-tools i{position:absolute;width:6px;height:6px;background:var(--coral);border-radius:50%;right:8px;top:8px}.mobile-logo{display:none;border:0;background:none}.portal-content{padding:40px 42px 70px;max-width:1500px;margin:auto}.portal-welcome,.page-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px}.portal-welcome p{margin:0;color:var(--coral);font-size:11px;font-weight:700;text-transform:uppercase}.portal-welcome h1,.page-title h1,.resident-heading h1{font-size:38px;margin:3px 0 6px}.portal-welcome span,.page-title p,.resident-heading p{color:var(--muted);font-size:13px;margin-bottom:0}.stay-band{background:var(--forest);color:#fff;padding:25px 28px;display:grid;grid-template-columns:1.2fr 1fr 1fr;margin-bottom:22px}.stay-band>div{padding:0 28px;border-right:1px solid #2a3d5e;display:flex;gap:15px;align-items:center}.stay-band>div:first-child{display:block;padding-left:0}.stay-band>div:last-child{border:0}.stay-band small,.stay-band b,.stay-band span{display:block}.stay-band small{color:#9aa6bb;font-size:9px;letter-spacing:1px}.stay-band b{margin:4px 0;font-size:17px}.stay-band span{color:#c3cad8;font-size:11px}.stay-band svg{color:#e9b85f}.dashboard-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:22px}.balance-panel,.quick-help,.recent-section,.table-panel,.request-list,.ticket-thread,.photo-panel,.profile-fields,.detail-grid>section{background:#fff;border:1px solid var(--line)}.balance-panel,.quick-help,.recent-section{padding:24px}.panel-title{display:flex;justify-content:space-between;align-items:center;min-height:30px}.panel-title>span{display:flex;align-items:center;gap:9px;font-weight:700;font-size:13px}.panel-title button{border:0;background:none;color:var(--muted);display:flex;align-items:center;cursor:pointer;font-size:11px}.balance-amount{display:flex;align-items:end;justify-content:space-between;padding:30px 0 24px}.balance-amount small,.balance-amount b,.bill-meta span,.bill-meta b{display:block}.balance-amount small,.bill-meta span{font-size:9px;color:var(--muted)}.balance-amount b{font:700 44px Montserrat,sans-serif}.status{display:inline-flex;width:max-content;padding:5px 9px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:#eef2ef;color:#64716d;white-space:nowrap}.status.open,.status.payment-due,.status.pending{background:#fff0eb;color:#b94431}.status.in-progress{background:#fff6db;color:#8a6713}.status.complete,.status.paid,.status.verified,.status.active{background:#e6f4ee;color:#237257}.bill-meta{border-top:1px solid var(--line);padding-top:20px;display:flex;gap:40px}.bill-meta b{color:var(--ink);margin-top:4px;font-size:12px}.quick-help p{font-size:12px;color:var(--muted)}.quick-help>button{width:50%;min-height:46px;border:1px solid var(--line);background:#fff;display:inline-flex;justify-content:space-between;align-items:center;padding:0 12px;font-size:11px}.recent-section{margin-top:22px}.ticket-row{width:100%;min-height:66px;border:0;border-top:1px solid var(--line);background:#fff;display:grid;grid-template-columns:42px 1fr auto 100px 20px;gap:14px;align-items:center;text-align:left;cursor:pointer}.ticket-icon{width:36px;height:36px;background:#f5efe0;display:grid;place-items:center}.ticket-row b,.ticket-row small{display:block}.ticket-row b{font-size:12px}.ticket-row small{font-size:10px;color:var(--muted)}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat-row.four{grid-template-columns:repeat(4,1fr)}.stat{background:#fff;border:1px solid var(--line);padding:22px;display:flex;gap:16px;align-items:center}.stat>span{width:40px;height:40px;background:#f5efe0;display:grid;place-items:center}.stat.accent>span{background:#fff0eb;color:var(--coral)}.stat small,.stat b,.stat em{display:block}.stat small{color:var(--muted);font-size:9px;text-transform:uppercase}.stat b{font:700 27px Montserrat,sans-serif}.stat em{font-style:normal;color:var(--muted);font-size:9px}.table-panel{overflow:hidden}.table-panel>.panel-title{padding:18px 22px;border-bottom:1px solid var(--line)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{padding:15px 20px;border-bottom:1px solid #e8ecea;text-align:left;font-size:11px}th{background:#f8f6f0;color:#6b7488;font-size:9px;text-transform:uppercase}.positive{color:#267458}.negative{color:#bd4936}.request-layout{display:grid;grid-template-columns:390px minmax(0,1fr);min-height:600px}.request-filter{display:flex;gap:6px;padding:15px;border-bottom:1px solid var(--line)}.request-filter button{border:0;background:#f0f3f1;padding:7px 11px;font-size:9px}.request-filter button.active{background:var(--ink);color:#fff}.request-item{width:100%;min-height:90px;padding:16px;background:#fff;border:0;border-bottom:1px solid var(--line);text-align:left;display:grid;grid-template-columns:1fr auto;gap:8px;cursor:pointer}.request-item.selected{background:#f5efe0;border-left:3px solid var(--coral)}.request-item b,.request-item small{display:block}.request-item b{font-size:12px}.request-item small{color:var(--muted);font-size:9px;margin-top:5px}.ticket-thread{border-left:0;display:flex;flex-direction:column;min-width:0}.ticket-thread>header{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.ticket-thread header small{color:var(--muted);font-size:9px}.ticket-thread h3{margin:5px 0 0;font:700 21px Montserrat,sans-serif}.ticket-thread header select{width:140px}.thread-body{padding:30px;flex:1;background:#fafbf9}.message{width:min(72%,560px);margin-bottom:20px}.message.admin{margin-left:auto}.message small{color:var(--muted);font-size:9px}.message p{padding:12px 15px;margin:5px 0;background:#fff;border:1px solid var(--line);font-size:12px}.message.admin p{background:#eaf3ef}.reply-box{border-top:1px solid var(--line);padding:15px;display:flex;gap:10px;align-items:end}.ticket-thread.empty{align-items:center;justify-content:center}.modal-backdrop{position:fixed;inset:0;background:#050d1cb3;z-index:20;display:grid;place-items:center;padding:20px}.modal{position:relative;width:min(560px,96vw);max-height:90vh;overflow:auto;background:#fff;padding:36px;box-shadow:var(--shadow)}.modal.small{width:min(440px,96vw)}.dialog-close{position:absolute;right:18px;top:18px;border:0;background:transparent;cursor:pointer}.profile-layout{display:grid;grid-template-columns:240px minmax(0,720px);gap:22px;align-items:start}.photo-panel{padding:28px;text-align:center}.large-avatar{width:96px;height:96px;border-radius:50%;background:#ece2c8;display:grid;place-items:center;margin:0 auto 18px;font:700 30px Montserrat,sans-serif;overflow:hidden}.large-avatar img{width:100%;height:100%;object-fit:cover}.upload-button{min-height:40px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);cursor:pointer}.upload-button input,.document-row input{display:none}.photo-panel>small{display:block;color:var(--muted);font-size:9px;margin-top:10px}.profile-fields{padding:28px;display:grid;gap:18px}.document-row{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid var(--line);margin-top:10px}.document-row>svg{color:var(--coral)}.document-row>span{flex:1}.document-row b,.document-row small{display:block}.document-row b{font-size:11px}.document-row small{color:var(--muted);font-size:9px}.consent-record{display:flex;gap:12px;background:#f5efe0;padding:15px}.consent-record svg{color:#24775a;flex:0 0 auto}.consent-record b,.consent-record small{display:block}.consent-record b{font-size:11px}.consent-record small{color:var(--muted);font-size:9px;line-height:1.6}.profile-fields>.button{justify-self:end}.filter-bar{display:flex;gap:10px;background:#fff;border:1px solid var(--line);padding:12px;margin-bottom:18px}.filter-bar select{width:150px}.filter-bar .search{flex:1;position:relative}.filter-bar .search svg{position:absolute;left:12px;top:12px;width:17px}.filter-bar .search input{padding-left:40px}.resident-cell{display:flex;align-items:center;gap:10px}.resident-cell b,.resident-cell small{display:block}.resident-cell small{color:var(--muted)}.resident-heading{display:flex;align-items:center;gap:20px;margin:24px 0}.resident-heading .large-avatar{margin:0}.resident-heading .button{margin-left:auto}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail-grid>section{padding:24px}.detail-grid dl{display:grid;grid-template-columns:1fr 1.5fr;gap:13px;font-size:11px}.detail-grid dt{color:var(--muted)}.detail-grid dd{margin:0;font-weight:600}.payment-big{display:flex;align-items:center;justify-content:space-between;padding:14px 0 22px;border-bottom:1px solid var(--line)}.payment-big small,.payment-big b{display:block}.payment-big b{font:700 34px Montserrat,sans-serif}.payment-big svg{color:var(--coral);width:32px}.filter-bar.finance{align-items:center}.filter-bar.finance>span{font-size:10px;color:var(--muted);margin-right:auto}@keyframes reveal{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media(max-width:1000px){.public-header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:25px;flex-direction:column}.public-header nav.nav-open{display:flex}.menu-button{display:grid}.header-login{margin-left:auto;margin-right:10px}.intro,.rates,.portal-promo{grid-template-columns:1fr}.image-strip{grid-template-columns:1fr .35fr}.image-strip img:last-child{display:none}.amenity-grid{grid-template-columns:repeat(2,1fr)}.portal-shell{grid-template-columns:78px minmax(0,1fr)}.portal-shell>aside{width:78px;padding:24px 12px}.portal-shell aside .logo{margin:0 auto 40px}.portal-shell aside .logo>span:last-child{display:none}.portal-shell aside nav button{font-size:0;justify-content:center;padding:0}.aside-user span,.aside-user>button{display:none}.aside-user{justify-content:center}.stat-row.four{grid-template-columns:repeat(2,1fr)}.request-layout{grid-template-columns:320px minmax(0,1fr)}}@media(max-width:720px){.public-header{height:68px}.header-login{display:none}.hero{min-height:680px;height:90vh;padding:105px 22px 26px;background-position:62% center}.hero h1{font-size:66px}.hero-copy{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-facts{gap:20px;justify-content:space-between}.hero-facts span{font-size:9px}.hero-facts b{font-size:18px}.section{padding:75px 22px}.intro{gap:30px}.intro h2,.section-heading h2,.rates h2,.portal-promo h2{font-size:42px}.image-strip{height:480px;padding-top:0;grid-template-columns:1fr}.image-note{position:absolute;margin:300px 0 0 20px;height:145px;width:180px}.section-heading{display:block}.amenity-grid{grid-template-columns:1fr;margin-top:45px}.amenity{min-height:230px}.rates{gap:50px}.rate-list>div{display:block}.rate-list p{margin-top:12px}.portal-preview{padding:16px}.auth-page{display:block}.auth-photo{position:relative;height:290px;padding:25px}.auth-photo h1{font-size:45px;margin:14px 0}.auth-photo p:last-child{display:none}.auth-panel{padding:26px 22px}.auth-form{margin:45px 0}.auth-form h2{font-size:37px}.form-row,.form-row.three{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}footer>div:first-child{grid-column:1/-1}.portal-shell{display:block}.portal-shell>aside{position:fixed;width:100%;height:64px;bottom:0;top:auto;padding:5px 8px;flex-direction:row}.portal-shell aside>.logo,.aside-user{display:none}.portal-shell aside nav{grid-template-columns:repeat(4,1fr);width:100%}.portal-shell aside nav button{min-height:52px;font-size:8px;flex-direction:column;gap:3px}.portal-main{padding-bottom:64px}.portal-main>header{padding:0 16px}.mobile-logo{display:block}.portal-content{padding:25px 16px 50px}.portal-welcome{align-items:flex-start;gap:18px}.portal-welcome h1,.page-title h1{font-size:31px}.portal-welcome .button{width:46px;padding:0;font-size:0}.stay-band{grid-template-columns:1fr 1fr;padding:20px}.stay-band>div{padding:15px 0;border:0}.stay-band>div:first-child{grid-column:1/-1;border-bottom:1px solid #2a3d5e}.dashboard-grid{grid-template-columns:1fr}.bill-meta{gap:18px}.ticket-row{grid-template-columns:36px 1fr auto 18px}.ticket-row>small{display:none}.stat-row,.stat-row.four{grid-template-columns:1fr}.page-title{align-items:flex-start;gap:15px}.page-title .button{min-width:46px;padding:0 12px}.request-layout{display:block}.request-list{max-height:310px;overflow-y:auto}.ticket-thread{min-height:520px;border-left:1px solid var(--line);margin-top:14px}.profile-layout{grid-template-columns:1fr}.photo-panel{display:flex;align-items:center;gap:14px}.photo-panel .large-avatar{margin:0;width:72px;height:72px}.photo-panel small{display:none}.profile-fields{padding:20px}.filter-bar{flex-wrap:wrap}.filter-bar .search{flex-basis:100%}.filter-bar select{flex:1;min-width:100px}.resident-heading{align-items:flex-start}.resident-heading .large-avatar{width:70px;height:70px}.resident-heading .button{width:40px;padding:0;font-size:0}.detail-grid{grid-template-columns:1fr}.modal{padding:30px 22px}.message{width:88%}}.portal-features{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.portal-features li{display:flex;gap:18px;align-items:flex-start;padding:24px 28px;border-bottom:1px solid var(--line)}.portal-features li:last-child{border-bottom:0}.portal-features svg{width:24px;flex:none;color:var(--coral);margin-top:2px}.portal-features b{display:block;font:700 21px Montserrat,sans-serif;margin-bottom:4px}.portal-features span{color:var(--muted);font-size:14px;line-height:1.6}@media(max-width:720px){.portal-features li{padding:18px}}.resident-actions{display:flex;gap:10px;margin-left:auto}.temporary-password{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0;padding:16px;background:var(--paper);border:1px solid var(--line)}.temporary-password code{font-size:22px;font-weight:700}.password-change-page{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:linear-gradient(135deg,#edf2ef,#fff 55%,#f8e8e3)}.password-change-panel{width:min(100%,520px);padding:44px;background:#fff;border-top:5px solid var(--coral);box-shadow:var(--shadow)}.password-change-panel h1{margin:16px 0 10px;font:700 42px/1.05 Montserrat,sans-serif}.password-change-panel>p:not(.eyebrow){color:var(--muted)}.password-change-panel form{display:grid;gap:17px;margin-top:28px}.password-change-icon{width:32px;height:32px;margin-top:24px;color:var(--coral)}@media(max-width:720px){.resident-actions{width:100%;margin-left:0;flex-wrap:wrap}.password-change-panel{padding:30px 22px}}.employee-admin-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:20px}.employee-account-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.7fr);gap:20px;align-items:start}.employee-account-error{margin-top:14px}.employee-panel,.employee-account{display:grid;gap:17px;padding:24px;background:#fff;border:1px solid var(--line)}.employee-salary-table,.employee-leave-admin{margin-top:20px}.employee-profile-password{margin-top:24px}.employee-profile-password .button{justify-self:start}.account-identity{display:flex;align-items:center;gap:18px;padding-bottom:20px;border-bottom:1px solid var(--line)}.account-identity .large-avatar,.account-identity h2,.account-identity p{margin:0}.account-identity p,.empty-state{color:var(--muted)}.empty-state{padding:28px;text-align:center}@media(max-width:900px){.employee-admin-grid,.employee-account-grid,.employee-profile-password .form-row{grid-template-columns:1fr}}.signup-requests{margin-bottom:24px;border-top:4px solid var(--coral)}.signup-requests .panel-heading{padding:18px 20px 6px}.signup-requests .panel-heading h3{margin:0 0 4px}.signup-requests .panel-heading p{margin:0;color:var(--muted);font-size:13px}.permission-panel{margin-bottom:22px;display:grid;gap:14px}.permission-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.permission-option{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);background:#fff;cursor:pointer}.permission-option.on{border-color:var(--forest);background:#f5efe0}.permission-option input{width:18px;height:18px;margin-top:3px;flex:none;accent-color:var(--forest)}.permission-option b{display:block;font-size:14px}.permission-option small{display:block;color:var(--muted);font-size:12.5px;line-height:1.5;margin-top:3px}.permission-panel .button{justify-self:start}.locked-note{display:block;color:var(--muted);font-size:12px;margin:6px 0 4px}.muted-note{color:var(--muted)}.photo-review{align-items:center}.photo-review img{width:84px;height:84px;object-fit:cover;border-radius:50%;border:1px solid var(--line);display:block}.photo-status{display:block;margin-top:8px;padding:8px 10px;background:#fff7e6;color:#7a5200;font-size:12.5px;line-height:1.5}.photo-status.rejected{background:#fdecea;color:#9b2c1f}.status.to-review{background:#fff4e0;color:#8a5a00}.status.not-approved{background:#eef1ef;color:var(--muted)}.status.rejected{background:#fdecea;color:#9b2c1f}@media(max-width:720px){.permission-list{grid-template-columns:1fr}.portal-shell aside nav.many{display:flex;overflow-x:auto}.portal-shell aside nav.many button{flex:0 0 72px}}.document-row>span.status{flex:0 0 auto}.room-conflict{margin:14px 0;padding:14px 16px;background:#fdecea;border-left:3px solid #c0392b;display:grid;gap:10px;color:#7d2418}.room-conflict>b{font-size:14px}.room-conflict small{color:#7d2418}.room-conflict-card{display:flex;gap:12px;align-items:center;background:#fff;padding:10px 12px;border:1px solid #f3c5bd}.room-conflict-card span{display:grid;gap:2px}.room-conflict-card small{color:var(--muted)}.form-row.three.room-row{grid-template-columns:1fr 1fr 1fr}@media(max-width:720px){.form-row.three.room-row{grid-template-columns:1fr}}.enquiry-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);gap:clamp(40px,8vw,110px);align-items:start;background:#efe9dc}.enquiry-intro{position:sticky;top:120px}.enquiry-intro h2{max-width:520px;margin:18px 0;font-size:clamp(42px,5vw,70px);line-height:.98}.enquiry-intro>p:not(.eyebrow){max-width:520px;color:var(--muted)}.enquiry-intro>a{display:inline-flex;align-items:center;gap:10px;margin-top:24px;font-weight:700}.enquiry-intro svg{width:18px}.enquiry-form{display:grid;gap:18px;padding:clamp(24px,4vw,44px);background:#fff;border-top:5px solid var(--coral);box-shadow:0 18px 50px #0814291a}.enquiry-form fieldset{margin:0;padding:0;border:0}.enquiry-form legend{margin-bottom:8px;font-size:12px;font-weight:700;color:#3b475a}.sharing-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sharing-options label{display:block}.sharing-options input{position:absolute;width:1px;height:1px;min-height:0;opacity:0;pointer-events:none}.sharing-options span{display:grid;place-items:center;min-height:46px;border:1px solid var(--line);cursor:pointer}.sharing-options input:checked+span{border-color:var(--forest);background:var(--forest);color:#fff}.form-success{display:flex;align-items:center;gap:8px;margin:0;padding:12px;background:#e8f4ee;color:#176344}.form-success svg{width:18px}.enquiry-filters{align-items:flex-end;justify-content:flex-start}.enquiry-filters label{gap:4px;font-size:9px;text-transform:uppercase}.enquiry-filters input,.enquiry-filters select{width:150px;min-height:34px;padding:6px 9px;font-size:11px}.enquiry-filters .icon-button{width:34px;height:34px}.enquiry-table .table-scroll{max-height:70vh;overflow:auto}.enquiry-table thead{position:sticky;top:0;z-index:1}.enquiry-table table{min-width:1120px}.enquiry-table th,.enquiry-table td{padding:3px 8px;white-space:nowrap}.enquiry-table td{height:34px;font-size:10px}.enquiry-table select{min-height:28px;padding:4px 7px;font-size:10px}.enquiry-notes-cell{max-width:170px;overflow:hidden;text-overflow:ellipsis}.enquiry-contact-actions{display:flex;gap:5px}.enquiry-contact-actions .icon-button{width:28px;height:28px}.enquiry-contact-actions svg{width:14px}@media(max-width:900px){.enquiry-section{grid-template-columns:1fr}.enquiry-intro{position:static}.enquiry-filters{overflow-x:auto}.enquiry-filters label{flex:0 0 auto}}@media(max-width:560px){.sharing-options{grid-template-columns:1fr}}.enquiry-page-hero{padding-top:120px;padding-bottom:8px}.enquiry-page-hero h1{margin:14px 0 20px;font:700 clamp(34px,6vw,58px)/1.05 Montserrat,sans-serif}.enquiry-page-hero ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.enquiry-page-hero li{display:flex;align-items:center;gap:10px}.enquiry-page-hero li svg{flex:0 0 auto;width:18px;color:#237257}.enquiry-page .public-header{background:#fff}.enquiry-page-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;padding:32px 20px 90px;font-size:14px}.offer-sticker{margin:22px 0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:24px 28px;background:#fff4dc;border:1px dashed #c99a3d;border-left:5px solid #a9822f;color:var(--ink)}.offer-sticker>svg{width:34px;height:34px;color:#a9822f}.offer-sticker small{display:block;font-size:10px;font-weight:800;letter-spacing:1.4px;color:#8b651f}.offer-sticker h2{font-size:28px;margin:3px 0}.offer-sticker p{margin:0;color:var(--muted)}.offer-sticker b{display:block;margin-top:7px}.offer-sticker span{display:block;margin-top:7px;font-size:12px;color:#24775a}.offer-sticker.claimed{background:#f5efe0;border-color:#72a18f;border-left-color:#24775a}.offer-admin-layout{display:grid;grid-template-columns:minmax(0,620px) minmax(320px,1fr);gap:24px;align-items:start}.offer-admin-layout>.profile-fields{background:#fff;border:1px solid var(--line)}.offer-admin-layout .offer-sticker{margin:0}.offer-toggle{display:flex;font-size:14px}.promo-code-form{margin:0 0 24px;padding:20px 22px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(210px,320px) auto;gap:14px;align-items:end;background:#f5efe0;border:1px solid #e2d6b6;border-left:4px solid var(--forest)}.promo-code-form>div small,.promo-code-form>div b{display:block}.promo-code-form>div small{margin-bottom:5px;color:var(--forest);font-size:9px;font-weight:800;letter-spacing:1px}.promo-code-form>div b{font-size:13px}.promo-code-form label{height:42px;padding:0 12px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line)}.promo-code-form label svg{width:17px;color:var(--coral)}.promo-code-form input{width:100%;height:100%;padding:0;border:0;background:transparent;text-transform:uppercase;font-weight:700;letter-spacing:1px}.promo-code-form input:focus{outline:0}.promo-code-form .button{height:42px}.promo-code-form .promo-success,.promo-code-form .form-error{grid-column:1/-1;margin:0;display:flex;align-items:center;gap:7px;font-size:11px}.promo-code-form .promo-success{color:#24775a}.promo-code-form .promo-success svg{width:15px}form>.promo-code-form{margin-top:20px;padding:16px;grid-template-columns:1fr 1fr auto}.promo-code-form+.form-error{margin-top:12px}@media(max-width:900px){.offer-admin-layout{grid-template-columns:1fr}.offer-sticker{grid-template-columns:auto 1fr}.offer-sticker .button{grid-column:1/-1;width:100%}.promo-code-form,form>.promo-code-form{grid-template-columns:1fr 1fr}.promo-code-form>div{grid-column:1/-1}}@media(max-width:520px){.offer-sticker{padding:20px;gap:14px}.offer-sticker h2{font-size:23px}}@media(max-width:600px){.promo-code-form,form>.promo-code-form{grid-template-columns:1fr}.promo-code-form>div{grid-column:auto}.promo-code-form .button{width:100%}}.email-settings{display:grid;gap:18px;max-width:640px}.email-status{display:grid;gap:8px;padding:18px;border:1px solid rgba(0,0,0,.08);border-radius:14px;background:#fff}.email-status p{margin:0;color:#555}.email-status .pill{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:6px 12px;border-radius:999px;font-weight:600;font-size:14px}.email-status .pill svg{width:16px;height:16px}.email-status .pill.ok{background:#e6f6ec;color:#17693a}.email-status .pill.warn{background:#fff4e0;color:#8a5a00}.email-settings code{background:#f2f2f2;padding:1px 5px;border-radius:4px}.email-actions{display:flex;flex-wrap:wrap;gap:10px}.leave-calendar-panel{padding:24px;background:#fff;border:1px solid var(--line)}.leave-calendar-head,.leave-calendar-actions,.leave-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px}.leave-calendar-head small{color:var(--coral);font-size:9px;font-weight:800;letter-spacing:1px}.leave-calendar-head h2{margin:4px 0 0;font:700 28px Montserrat,sans-serif}.leave-calendar-filters{display:flex;align-items:flex-end;gap:10px}.leave-calendar-filters label{gap:4px;font-size:9px;text-transform:uppercase}.leave-calendar-filters input,.leave-calendar-filters select{width:170px;min-height:38px;padding:7px 10px}.leave-legend{margin:18px 0 12px;display:flex;flex-wrap:wrap;gap:8px}.leave-legend span{padding:5px 8px;border:1px solid var(--line);font-size:9px;font-weight:700}.leave-legend .pending,.calendar-days .pending{background:#fff4dc}.leave-legend .approved,.calendar-days .approved{background:#e3f1eb}.leave-legend .rejected,.calendar-days .rejected{background:#fbe8e4}.leave-legend .selected,.calendar-days .selected{background:#ece2c8;border-color:var(--forest)}.leave-calendar{border:1px solid var(--line)}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays b{padding:10px 4px;background:#f4f6f3;color:var(--muted);text-align:center;text-transform:uppercase;font-size:9px}.calendar-days button,.calendar-days>span{min-height:70px;border:0;border-top:1px solid var(--line);border-right:1px solid var(--line);background:#fff}.calendar-days button{padding:9px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;color:var(--ink);cursor:pointer}.calendar-days button:nth-child(7n){border-right:0}.calendar-days button b{font-size:12px}.calendar-days button small{font-size:8px}.leave-calendar-actions{margin-top:16px;color:var(--muted);font-size:11px}.leave-action-buttons{display:flex;gap:8px}.leave-list{margin-top:20px;border-top:1px solid var(--line)}.leave-list>div{padding:12px 0;border-bottom:1px solid var(--line)}.leave-list>div>svg{width:18px}.leave-list span{margin-right:auto}.leave-list span b,.leave-list span small{display:block}.leave-list span b{font-size:11px}.leave-list span small,.leave-list>p{color:var(--muted);font-size:9px}.leave-list .icon-button{flex:0 0 34px;width:34px;height:34px}.leave-list .approve{color:#24775a}.leave-list .reject{color:var(--coral)}@media(max-width:600px){.leave-calendar-panel{padding:18px}.leave-calendar-head{align-items:flex-end}.leave-calendar-head h2{font-size:23px}.leave-calendar-filters input,.leave-calendar-filters select{width:145px}.calendar-days button,.calendar-days>span{min-height:54px}.calendar-days button{padding:6px}.calendar-days button small{display:none}.leave-calendar-actions{align-items:stretch;flex-direction:column}.leave-calendar-actions .button,.leave-action-buttons{width:100%}.leave-action-buttons .button{flex:1}}@media(max-width:420px){.leave-calendar-head,.leave-calendar-filters{align-items:stretch;flex-direction:column}.leave-calendar-filters input,.leave-calendar-filters select{width:100%}}.lop-summary{display:grid;gap:4px;margin:16px 0 4px;padding:14px 16px;background:#f5efe0;border-left:3px solid var(--forest);font-size:14px}.lop-summary>b{font-size:12px;letter-spacing:.8px;text-transform:uppercase;color:var(--forest)}.lop-summary small{color:var(--muted)}.staff-leave-picker label{display:grid;gap:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);min-width:280px}.staff-leave-list{display:grid;gap:8px;margin-top:16px}.staff-leave-list button{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;border:1px solid var(--line);cursor:pointer;text-align:left}.staff-leave-list button span{flex:1;display:grid}.staff-leave-list small{color:var(--muted)}.staff-leave-list svg{width:18px}.status[class*=pending]{background:#fff4e0;color:#8a5a00}.payment-submission{margin:20px 0;padding:24px;display:grid;grid-template-columns:minmax(220px,.75fr) minmax(260px,1fr);gap:16px 24px;border:1px solid var(--line);background:#fff}.payment-submission>div:first-child{grid-row:span 2}.payment-submission h2{margin:6px 0;font:700 28px Montserrat,sans-serif}.payment-submission p{color:var(--muted)}.payment-submission>label,.payment-submission>.form-row,.payment-submission>button,.payment-submission>.form-error,.payment-submission>.save-note{grid-column:2}.payment-submission input[type=file]{padding:9px}.payment-history{margin-top:20px}.payment-history .document-link{white-space:nowrap}.payment-reviews{margin-bottom:20px}.review-actions .approve{color:#24775a}.review-actions .reject{color:var(--coral)}@media(max-width:720px){.payment-submission{grid-template-columns:1fr;padding:18px}.payment-submission>div:first-child{grid-row:auto}.payment-submission>label,.payment-submission>.form-row,.payment-submission>button,.payment-submission>.form-error,.payment-submission>.save-note{grid-column:1}}.filter-bar.date-range{flex-wrap:wrap;gap:12px;align-items:end}.filter-bar.date-range label{display:grid;gap:4px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}.filter-bar.date-range input{min-height:44px;padding:0 12px;border:1px solid var(--line);background:#fff;font-size:14px;color:var(--ink);text-transform:none;letter-spacing:0}.range-presets{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}.range-presets button{min-height:36px;padding:0 12px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:13px;font-weight:600}.range-presets button.active{background:var(--forest);border-color:var(--forest);color:#fff}.flow-tag{display:inline-block;padding:3px 10px;font-size:11px;font-weight:700;letter-spacing:.5px}.flow-tag.in{background:#e6f6ec;color:#17693a}.flow-tag.out{background:#fdecea;color:#9b2c1f}.amount-in{color:#17693a;font-weight:700}.amount-out{color:#9b2c1f;font-weight:700}@media(max-width:720px){.range-presets{margin-left:0}}.filter-bar.finance.date-range{align-items:end}.filter-bar.finance.date-range>span{margin-right:8px;align-self:center;font-size:12px;font-weight:700;color:var(--ink)}.table-panel.transactions{margin-bottom:20px}.stat-row.money-flow{margin-bottom:22px}.social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}footer .social-links a{height:38px;margin:0;padding:0 12px;border:1px solid #2b3f63;display:inline-flex;align-items:center;gap:7px;color:#e8ecf3}footer .social-links a:hover{border-color:var(--coral);color:#fff}.social-links svg{width:16px}.social-links b,.social-links span{width:16px;text-align:center;font-size:17px}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:12;min-height:48px;padding:0 17px;background:#1f9d62;color:#fff;box-shadow:0 10px 28px #0814294d;display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700}.whatsapp-float svg{width:19px}@media(max-width:720px){.social-links{gap:7px}footer .social-links a{padding:0 9px;font-size:11px}.whatsapp-float{right:14px;bottom:14px;width:48px;padding:0;justify-content:center}.whatsapp-float span{display:none}}.location-section{background:var(--paper);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:center}.location-copy h2{font-size:clamp(38px,4.4vw,64px);line-height:1.04;margin:22px 0 18px}.location-copy>p:not(.eyebrow){color:var(--muted);max-width:480px}.location-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.location-social{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line);font-size:13px;font-weight:700}.location-social>span{color:var(--muted);font-size:11px;letter-spacing:1.4px;text-transform:uppercase;font-weight:700}.location-social a{border-bottom:1px solid currentColor;padding-bottom:2px}.location-social a:hover{color:var(--coral)}.location-social small{color:var(--muted);font-weight:500}.location-map{position:relative;display:block;height:clamp(320px,38vw,460px);border:1px solid var(--line);box-shadow:var(--shadow);background:#e7ece9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M0 20h40M20 0v40' stroke='%23d6ddd9'/%3E%3C/svg%3E");overflow:hidden}.location-map iframe{width:100%;height:100%;border:0;display:block}.location-pin-label{position:absolute;left:14px;top:14px;background:var(--ink);color:#fff;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:6px}.location-pin-label:hover{background:var(--coral)}.location-pin-label svg{width:15px;color:var(--coral)}.enquiry-page .location-section{background:#fff}@media(max-width:900px){.location-section{grid-template-columns:1fr}.location-map{height:320px}}@media(max-width:720px){.location-actions .button{flex:1 1 100%}}.brand-icon{width:24px;height:24px;flex:none;border-radius:50%;display:inline-grid;place-items:center;color:#fff}.brand-icon svg{width:15px!important;height:15px;display:block}.brand-icon.facebook{background:#1877f2}.brand-icon.facebook svg{width:16px!important;height:16px;transform:translateY(1px)}.brand-icon.instagram{background:radial-gradient(circle at 30% 107%,#fdf497,#fd5949 45%,#d6249f 60%,#285aeb 90%)}.brand-icon.whatsapp{background:#25d366}.brand-icon.whatsapp svg{width:17px!important;height:17px}.brand-icon.maps{background:#fff;box-shadow:0 0 0 1px #dfe5e2}.brand-icon.maps svg{width:17px!important;height:17px}.location-social{gap:12px}.location-social a{border:1px solid var(--line);background:#fff;padding:7px 14px 7px 8px;display:inline-flex;align-items:center;gap:9px;border-radius:999px;transition:.2s}.location-social a:hover{color:var(--ink);border-color:var(--ink);transform:translateY(-1px)}.location-social>span{flex-basis:100%}.maps-button .brand-icon{width:26px;height:26px}.location-pin-label .brand-icon{width:20px;height:20px;box-shadow:none}.location-pin-label .brand-icon svg{width:14px!important;height:14px}footer .social-links a{border-radius:999px;padding:0 14px 0 6px;gap:9px}footer .social-links .brand-icon{width:26px;height:26px}.enquiry-page-footer{align-items:center}.footer-brand{display:inline-flex;align-items:center;gap:8px}.footer-brand .brand-icon{width:26px;height:26px}.whatsapp-float .wa-glyph{width:22px;height:22px}.avatar img{width:100%;height:100%;object-fit:cover}.header-logout{height:38px;padding:0 12px;border:1px solid var(--line);background:#fff;display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-size:11px;font-weight:700}.header-logout svg{width:16px}.request-filter button span{margin-left:4px;opacity:.65}.empty-filter{padding:36px 18px;color:var(--muted);font-size:12px;text-align:center}.document-stack{display:grid;gap:9px;padding-bottom:15px;border-bottom:1px solid var(--line)}.pending-document{background:#fff9e8}.document-upload{justify-self:start;width:auto;padding:0 14px}.document-review-panel{grid-column:1 / -1}.admin-document+.admin-document{margin-top:18px}.document-link{padding:7px 10px;border:1px solid var(--line);color:var(--forest);font-size:10px;font-weight:700}.pending-review{margin-top:8px;padding:15px;border:1px solid #e8d596;background:#fff9e8;display:flex;align-items:center;gap:14px}.pending-review>div:first-child{flex:1}.pending-review b,.pending-review small{display:block}.pending-review b{font-size:11px}.pending-review small{margin-top:4px;color:var(--muted);font-size:9px}.review-actions{display:flex;gap:7px}.review-actions .button{min-height:36px;padding:0 11px;font-size:10px}.review-actions .approve{background:#237257;color:#fff}.review-actions .reject{border:1px solid #d99184;background:#fff;color:#a43827}.status.approved{background:#e6f4ee;color:#237257}.status.rejected{background:#fff0eb;color:#b94431}@media(max-width:720px){.header-logout{width:38px;padding:0;justify-content:center;font-size:0}.pending-review{align-items:flex-start;flex-wrap:wrap}.review-actions{width:100%}}.payment-options{margin-bottom:24px;padding:26px;border:1px solid var(--line);background:#fff;display:grid;grid-template-columns:1.1fr 250px 1fr;gap:26px;align-items:center}.payment-copy h2{margin:10px 0;font:700 30px Montserrat,sans-serif}.payment-copy>p:not(.eyebrow){color:var(--muted);font-size:12px}.upi-card{padding:16px;border:1px solid var(--line);background:#f8faf8;text-align:center}.upi-card img,.qr-loading{width:180px;height:180px;max-width:100%;margin:auto}.qr-loading{display:grid;place-items:center;border:1px dashed var(--line);color:var(--muted);font-size:10px}.upi-card span,.upi-card b,.upi-card small,.upi-card strong{display:block}.upi-card span{margin-top:10px}.upi-card b{font-size:12px}.upi-card small{margin-top:3px;color:var(--muted);font-size:10px}.upi-card strong{margin-top:8px;color:var(--coral);font:700 20px Montserrat,sans-serif}.bank-details{padding-left:26px;border-left:1px solid var(--line)}.bank-details>small{color:var(--coral);font-size:9px;font-weight:700;letter-spacing:1px}.bank-details dl{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin:16px 0;font-size:10px}.bank-details dt{color:var(--muted)}.bank-details dd{margin:0;font-weight:700;overflow-wrap:anywhere}.bank-details p{margin:0;color:var(--muted);font-size:9px}.export-actions{display:flex;gap:8px}.sort-heading{width:100%;padding:0;border:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;text-transform:uppercase;font-size:9px;font-weight:700}.sort-heading svg{width:13px;opacity:.45}.sort-heading.active{color:var(--forest)}.sort-heading.active svg{opacity:1}@media(max-width:1050px){.payment-options{grid-template-columns:1fr 220px}.bank-details{grid-column:1 / -1;padding:22px 0 0;border-top:1px solid var(--line);border-left:0}}@media(max-width:720px){.payment-options{padding:20px;grid-template-columns:1fr}.upi-card{width:100%}.bank-details{grid-column:auto}.export-actions{width:100%}.export-actions .button{flex:1;font-size:10px}}.portal-shell aside nav button{position:relative}.nav-count{min-width:18px;height:18px;margin-left:auto;padding:0 5px;border-radius:9px;background:var(--coral);color:#fff;display:inline-grid;place-items:center;font-size:9px;line-height:1}.notification-control,.notification-button{position:relative}.notification-button>span{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;border:2px solid white;border-radius:9px;background:var(--coral);color:#fff;display:grid;place-items:center;font-size:8px;font-weight:800}.notification-menu{position:absolute;top:46px;right:0;z-index:20;width:310px;padding:15px;border:1px solid var(--line);background:#fff;box-shadow:0 18px 45px #0d1f3c29}.notification-menu>b{display:block;margin:0 4px 9px;font:700 19px Montserrat,sans-serif}.notification-menu>button{width:100%;padding:12px 4px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);display:flex;align-items:flex-start;gap:10px;text-align:left;cursor:pointer}.notification-menu>button svg{width:18px;color:var(--coral)}.notification-menu strong,.notification-menu small{display:block}.notification-menu strong{font-size:11px}.notification-menu small,.notification-menu>p{margin-top:4px;color:var(--muted);font-size:9px}@media(max-width:1000px){.portal-shell aside nav button .nav-count{position:absolute;top:3px;right:8px;margin:0}}@media(max-width:520px){.notification-menu{position:fixed;top:65px;right:12px;left:12px;width:auto}}.room-summary{margin-bottom:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.room-summary button{min-height:76px;padding:15px 18px;border:1px solid var(--line);background:#fff;color:var(--ink);display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer}.room-summary button.active{border-color:var(--forest);box-shadow:inset 0 -3px var(--forest)}.room-summary svg{width:22px;color:var(--forest)}.room-summary small,.room-summary b{display:block}.room-summary small{color:var(--muted);font-size:9px;text-transform:uppercase}.room-summary b{margin-top:4px;font:700 24px Montserrat,sans-serif}.room-dot{width:12px;height:12px;border-radius:50%;background:#52a582}.room-summary .reserved .room-dot{background:#d8a331}.room-summary .occupied .room-dot{background:var(--coral)}.room-filters select{min-width:140px}.floor-stack{display:grid;gap:22px}.floor-section{padding:22px;border:1px solid var(--line);background:#fff}.floor-heading{margin-bottom:18px;display:flex;align-items:flex-end;justify-content:space-between}.floor-heading small{color:var(--coral);font-size:9px;font-weight:800;letter-spacing:1px}.floor-heading h2{margin:4px 0 0;font:700 23px Montserrat,sans-serif}.floor-heading>span{color:var(--muted);font-size:10px}.room-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.room-card{min-width:0;padding:15px;border:1px solid var(--line);border-top:3px solid #52a582;background:#fbfdfc}.room-card.reserved{border-top-color:#d8a331;background:#fffdf6}.room-card.occupied{border-top-color:var(--coral);background:#fdf9ef}.status.open{background:#e5f4ed;color:#247052}.status.reserved{background:#fff2cf;color:#8a650e}.status.occupied{background:#ffebe6;color:#a94331}.room-card-top,.room-resident,.room-empty{display:flex;align-items:center}.room-card-top{justify-content:space-between}.room-number{font:700 24px Montserrat,sans-serif}.room-resident,.room-empty{min-height:62px;margin:12px 0;gap:9px}.room-resident b,.room-resident small,.room-empty b,.room-empty small{display:block}.room-resident b,.room-empty b{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.room-resident small,.room-empty small{margin-top:3px;color:var(--muted);font-size:8px}.room-empty svg{width:30px;color:#9aa6bb}.room-card label{color:var(--muted);font-size:8px;font-weight:700;text-transform:uppercase}.room-card select{width:100%;height:34px;margin-top:5px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:10px}.room-card select:disabled{color:var(--muted);cursor:not-allowed}.room-empty-state{padding:70px 20px;border:1px dashed var(--line);color:var(--muted);text-align:center}.room-empty-state svg{width:34px}.room-empty-state h2{margin:12px 0 4px;color:var(--ink);font:700 24px Montserrat,sans-serif}@media(max-width:1150px){.room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1000px){.admin-shell aside nav{grid-template-columns:repeat(5,1fr)}}@media(max-width:720px){.room-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.room-filters{flex-wrap:wrap}.room-filters .search{flex-basis:100%}.room-filters select,.room-filters .button{min-width:0;flex:1}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.floor-section{padding:16px}}@media(max-width:430px){.room-grid{grid-template-columns:1fr}}.unassigned-note{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:12px 16px;background:#fff7e6;color:#7a5200;font-size:14px}.unassigned-note svg{width:18px;flex:none}.room-card .assign-resident{margin-bottom:12px}.room-card .assign-resident select{border-color:var(--forest)}.same-name-tag{display:inline-block;margin-left:8px;padding:1px 7px;font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;background:#fff4e0;color:#8a5a00;vertical-align:middle}.room-resident{flex-wrap:wrap}.room-resident .unassign-button{min-height:34px;padding:0 12px;font-size:12px;margin-left:auto;border:1px solid var(--line)}.auth-logo{display:flex;align-items:center;gap:10px}.auth-logo b,.auth-logo small{display:block}.auth-logo b{font:700 19px/1 Montserrat,sans-serif}.auth-logo small{font-size:8px;letter-spacing:3px}.back-link svg{width:15px;vertical-align:middle}.terms-box svg{width:17px}.field-hint{margin-top:-9px;color:var(--muted);font-size:10px}.auth-form button:disabled{cursor:wait;opacity:.65}.terms-box p{display:flex;align-items:flex-start;gap:8px}.terms-box p svg{flex:0 0 auto;color:#237257}.field-hint svg{width:13px;vertical-align:-2px;margin-right:4px}.text-link{padding:0;border:0;background:none;color:var(--coral);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.text-link:disabled{color:var(--muted);cursor:default}.forgot-link{justify-self:end;margin-top:-6px}.otp-step{display:grid;gap:14px}.otp-input{font-size:26px!important;letter-spacing:10px;text-align:center;font-weight:700}.otp-actions{display:flex;justify-content:space-between;gap:12px}.auth-copy{margin:0;color:var(--muted)}.account-type{margin:0;padding:0;border:0}.account-type legend{margin-bottom:8px;font-size:12px;font-weight:700}.enquiry-page main{padding-top:76px}.enquiry-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,460px);gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(48px,7vw,96px) max(6vw,24px);min-height:min(760px,calc(100vh - 76px));color:#fff;isolation:isolate;overflow:hidden;background:#081429}.enquiry-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,#050d1ce0,#050d1c9e 45%,#050d1c2e)}.enquiry-hero-bg,.enquiry-cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;background-size:cover;animation:slow-zoom 22s ease-out both}@keyframes slow-zoom{0%{transform:scale(1.08)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.enquiry-hero-bg,.enquiry-cta-bg{animation:none}}.enquiry-hero-copy{max-width:640px;animation:reveal .7s ease-out}.enquiry-hero h1{font:700 clamp(40px,5.2vw,72px) / 1.02 Montserrat,sans-serif;margin:22px 0 18px}.enquiry-hero-lead{font-size:18px;color:#dfe8e4;max-width:540px}.enquiry-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:26px 0 18px;padding:14px 18px;background:#ffffff1a;border:1px solid rgba(255,255,255,.22);width:fit-content;font-size:13px;color:#cdd5e2}.enquiry-price b{font:700 28px Montserrat,sans-serif;color:#fff}.enquiry-price small{font:400 13px DM Sans,sans-serif;color:#cdd5e2;margin-left:2px}.enquiry-price .divider{width:1px;height:22px;background:#ffffff4d;margin:0 6px;align-self:center}.enquiry-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 20px}.enquiry-chips li{display:flex;align-items:center;gap:6px;padding:7px 12px;background:#ffffff1f;font-size:13px;font-weight:600}.enquiry-chips svg{width:15px;color:#e8cf86}.hero-gallery-link{font-size:14px;text-decoration:underline;text-underline-offset:4px}.enquiry-form-card{background:#fff;color:var(--ink);border-radius:14px;overflow:hidden;padding:26px 26px 22px;border-top:5px solid var(--coral);box-shadow:0 30px 70px #00000059}.enquiry-form-card h2{font:700 30px Montserrat,sans-serif;margin:0 0 4px}.enquiry-form-card>p{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.5}.enquiry-form.compact{padding:0;box-shadow:none;border-top:0;gap:12px}.enquiry-form.compact textarea{min-height:64px}.enquiry-form.compact .button{width:100%}.enquiry-gallery{background:var(--paper)}.gallery-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:28px}.gallery-head h2{font:700 clamp(34px,4vw,54px) / 1.05 Montserrat,sans-serif;margin:14px 0 0;max-width:620px}.gallery-tabs{display:flex;gap:6px;flex-wrap:wrap}.gallery-tabs button{min-height:40px;padding:0 16px;border:1px solid var(--line);background:#fff;font-weight:600;font-size:13px;cursor:pointer}.gallery-tabs button.active{background:var(--forest);border-color:var(--forest);color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:250px;grid-auto-flow:dense;gap:16px}.gallery-item{position:relative;padding:0;border:0;overflow:hidden;cursor:zoom-in;background:#dfe5e2;border-radius:14px;box-shadow:0 10px 30px #0814291f;transition:box-shadow .3s ease,transform .3s ease}.gallery-item:hover{box-shadow:0 18px 44px #08142938;transform:translateY(-2px)}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;background-size:cover;background-position:center}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.04)}.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;background:linear-gradient(transparent,#050d1cd1);color:#fff;font-size:13px;font-weight:600;text-align:left;display:flex;justify-content:space-between;align-items:end;gap:8px}.gallery-caption em,.lightbox em{font-style:normal;font-size:10px;letter-spacing:.6px;text-transform:uppercase;background:#fff3;padding:3px 7px;white-space:nowrap}.lightbox{position:fixed;inset:0;z-index:50;background:#04100df0;display:flex;align-items:center;justify-content:center;padding:24px 70px}.lightbox figure{margin:0;max-width:min(1200px,100%)}.lightbox img{max-width:100%;max-height:calc(100vh - 120px);display:block;margin:0 auto;border-radius:10px;background-size:cover;box-shadow:0 30px 80px #00000080}.lightbox figcaption{color:#e4ece9;font-size:14px;padding-top:12px;display:flex;gap:10px;align-items:center}.lightbox figcaption span{margin-left:auto;color:#a3aec2}.lightbox-close,.lightbox-nav{position:absolute;width:48px;height:48px;border:0;border-radius:50%;background:#ffffff1f;color:#fff;display:grid;place-items:center;cursor:pointer}.lightbox-close{top:18px;right:18px}.lightbox-nav.prev{left:14px}.lightbox-nav.next{right:14px}.lightbox-close svg,.lightbox-nav svg{width:22px}.enquiry-perks{background:#fff}.enquiry-perks h2{font:700 clamp(32px,4vw,52px) / 1.05 Montserrat,sans-serif;margin:14px 0 34px;max-width:700px}.perk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.perk-grid div{display:grid;gap:4px;padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.perk-grid svg{width:26px;color:var(--coral);margin-bottom:10px}.perk-grid b{font:700 22px Montserrat,sans-serif}.perk-grid span{color:var(--muted);font-size:14px}.enquiry-cta{position:relative;isolation:isolate;overflow:hidden;padding:clamp(60px,8vw,110px) max(6vw,24px);color:#fff;background:#081429}.enquiry-cta:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#050d1ce6,#050d1c80)}.enquiry-cta-bg{animation:none}.enquiry-cta>div{max-width:640px}.enquiry-cta h2{font:700 clamp(32px,4vw,52px) / 1.05 Montserrat,sans-serif;margin:0 0 14px}.enquiry-cta p{color:#dbe5e1;font-size:17px}.enquiry-cta-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.enquiry-cta .button.quiet{background:#fff;color:var(--ink)}.enquiry-cta svg{width:18px}.enquiry-sticky-cta{display:none}@media(max-width:960px){.enquiry-hero{grid-template-columns:1fr;min-height:0}.enquiry-hero-form{max-width:560px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:200px}.perk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.enquiry-page main{padding-top:68px;padding-bottom:72px}.enquiry-hero{padding:36px 18px 28px;gap:24px}.enquiry-hero h1{font-size:38px}.enquiry-hero-lead{font-size:15px}.enquiry-price b{font-size:23px}.enquiry-form-card{padding:20px 16px 18px;margin:0 -2px}.gallery-grid{grid-auto-rows:150px;gap:8px}.gallery-caption{font-size:11px;padding:22px 8px 8px}.gallery-caption em{display:none}.perk-grid{grid-template-columns:1fr 1fr}.perk-grid div{padding:18px 14px}.perk-grid b{font-size:18px}.lightbox{padding:60px 8px}.lightbox-nav{top:auto;bottom:14px}.lightbox-nav.prev{left:calc(50% - 60px)}.lightbox-nav.next{right:calc(50% - 60px)}.enquiry-sticky-cta{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:11;padding:10px 14px;background:#fffffff5;box-shadow:0 -8px 24px #0814291f}.enquiry-sticky-cta .button.coral{flex:1}.enquiry-sticky-cta .button.dark{width:52px;padding:0}.enquiry-page .whatsapp-float{bottom:82px}}.gallery-tabs button{border-radius:999px}.enquiry-chips li{border-radius:999px;backdrop-filter:blur(6px)}.enquiry-price{border-radius:12px;backdrop-filter:blur(8px)}.perk-grid{border-radius:14px;overflow:hidden}@media(max-width:720px){.gallery-grid{gap:10px}.gallery-item{border-radius:10px}}.launch-offer{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;margin:0 0 4px;padding:10px 16px;border-radius:999px;background:linear-gradient(90deg,#e8cf86,#c9a24a);color:#fff;font-size:14px;line-height:1.35;box-shadow:0 10px 26px #c9a24a59;animation:offer-pulse 2.8s ease-in-out infinite}.launch-offer svg{width:18px;flex:none}.launch-offer.compact{margin:0 0 14px;padding:8px 14px;font-size:13px;font-weight:600;animation:none;box-shadow:none}.rate-list .launch-offer{margin-top:22px;animation:none}@keyframes offer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@media(prefers-reduced-motion:reduce){.launch-offer{animation:none}}@media(max-width:720px){.launch-offer{border-radius:14px;font-size:13px}}.enquiry-hero>picture{display:contents}.rate-list .launch-offer span{display:inline;color:#fff;gap:0}.rate-list .launch-offer b{font:700 14px DM Sans,sans-serif;color:#fff}.rate-list .launch-offer svg{color:#fff}.enquiry-hero-copy{grid-column:1;grid-row:1}.enquiry-hero-form{grid-column:2;grid-row:1}@media(max-width:960px){.enquiry-hero-form{grid-column:1;grid-row:2}}.enquiry-form-card>p.launch-offer{color:#fff}.gallery-grid{grid-auto-rows:270px}.gallery-grid.filtered{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:320px}.gallery-item.tall{grid-row:auto}@media(max-width:960px){.gallery-grid.all{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:220px}}@media(max-width:720px){.gallery-grid.all,.gallery-grid.filtered{grid-auto-rows:160px}}.enquiry-hero-bg{filter:saturate(1.4) contrast(1.15) brightness(.92)}.enquiry-hero:before{background:linear-gradient(100deg,#050d1cf0,#050d1cc7 38%,#050d1c59 70%,#050d1c26),linear-gradient(0deg,#050d1c8c,#050d1c00 35%)}@media(max-width:960px){.enquiry-hero:before{background:linear-gradient(180deg,#050d1cb8,#050d1cdb 55%,#050d1cf0)}}.gallery-grid.filtered.count-3{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:440px}.gallery-grid.filtered.count-4{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:340px}@media(max-width:720px){.gallery-grid.filtered.count-3{grid-template-columns:1fr;grid-auto-rows:300px}.gallery-grid.filtered.count-4{grid-auto-rows:200px}}.gallery-item.wide-desktop{grid-column:span 2}@media(max-width:960px){.gallery-item.wide-desktop{grid-column:auto}}.gallery-grid.filtered.count-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:520px}@media(max-width:720px){.gallery-grid.filtered.count-2{grid-auto-rows:260px}}.gallery-grid.filtered.count-1{grid-template-columns:minmax(0,560px);justify-content:center;grid-auto-rows:680px}@media(max-width:720px){.gallery-grid.filtered.count-1{grid-template-columns:1fr;grid-auto-rows:440px}}.public-site .section{padding-top:72px;padding-bottom:72px}.public-site .intro h2,.public-site .section-heading h2,.public-site .rates h2,.public-site .portal-promo h2{font-size:clamp(36px,3.8vw,56px);margin-top:16px}.public-site .intro{gap:56px}.public-site .image-strip{height:460px;padding-bottom:24px}.public-site .amenity-grid{margin-top:36px}.public-site .amenity{min-height:0;padding:26px 28px 28px}.public-site .amenity svg{margin-top:4px}.public-site .amenity h3{margin:18px 0 8px;font-size:23px}.public-site .amenity p{margin:0}.public-site .rates{gap:56px}.public-site .rates .button{margin-top:18px}.public-site .rate-list>div{padding:22px 0}.public-site .rate-list small{margin-top:10px}.public-site .portal-promo{gap:60px}.public-site .portal-features li{padding:18px 24px}.public-site .enquiry-section{gap:clamp(32px,5vw,72px)}.public-site .gallery-head{margin-bottom:20px}.public-site .gallery-grid{grid-auto-rows:230px}.public-site .gallery-grid.filtered{grid-auto-rows:290px}.public-site .location-copy h2{font-size:clamp(34px,3.6vw,52px);margin:16px 0 14px}.public-site .location-map{height:clamp(300px,32vw,400px)}.public-site .location-actions{margin-top:20px}.public-site .location-social{margin-top:22px;padding-top:18px}.public-site .enquiry-perks h2{margin-bottom:24px}.public-site .enquiry-cta{padding-top:64px;padding-bottom:64px}.public-site>main>footer:not(.enquiry-page-footer){padding-top:52px}@media(max-width:960px){.public-site .gallery-grid.all{grid-auto-rows:200px}}@media(max-width:720px){.public-site .section{padding-top:48px;padding-bottom:48px}.public-site .intro h2,.public-site .section-heading h2,.public-site .rates h2,.public-site .portal-promo h2{font-size:34px}.public-site .intro{gap:20px}.public-site .image-strip{height:380px}.public-site .image-note{margin-top:220px}.public-site .amenity-grid{margin-top:24px;grid-template-columns:1fr 1fr}.public-site .amenity{padding:18px 16px 20px}.public-site .amenity>span{right:14px;top:14px}.public-site .amenity h3{font-size:19px;margin:12px 0 6px}.public-site .amenity p{font-size:13px;line-height:1.5}.public-site .rates,.public-site .portal-promo{gap:32px}.public-site .rate-list>div{padding:16px 0}.public-site .gallery-grid.all,.public-site .gallery-grid.filtered{grid-auto-rows:150px}.public-site .location-map{height:280px}.public-site .portal-features li{padding:14px 16px}.public-site>main>footer:not(.enquiry-page-footer){padding-top:40px;gap:28px}}.public-site .image-strip{padding-bottom:0;margin-bottom:0}.public-site .image-strip+.enquiry-gallery{padding-top:56px}.public-site .rates h2,.public-site .portal-promo h2,.public-site .intro h2{margin-bottom:16px}@media(max-width:720px){.public-site .image-strip+.enquiry-gallery{padding-top:40px}}.public-site .image-strip{padding-top:10px}@media(min-width:721px){.public-site .image-strip{grid-template-rows:minmax(0,1fr) minmax(0,1fr)}}@media(max-width:720px){.public-site .image-strip{padding-top:0}}@media(max-width:720px){.public-site .image-strip{height:auto;grid-template-rows:260px 200px}.public-site .image-note{margin-top:180px;height:130px}}

/* ===== Bay Area Suites navy & gold theme (v41) ===== */
body{background:var(--paper)}
h1,h2,h3{letter-spacing:-.02em}
.eyebrow{color:var(--gold-dark)}
.eyebrow.light,.rates .eyebrow,.amenities .eyebrow,.hero .eyebrow{color:var(--gold-light)}
.eyebrow span{background:var(--gold)}
/* buttons: square, gold with navy text */
.button,.icon-button{border-radius:2px}
.button.coral{background:linear-gradient(135deg,var(--gold-light),var(--gold) 55%,var(--gold-dark));color:var(--deep)}
.button.coral:hover{box-shadow:0 10px 26px rgba(201,162,74,.35)}
.button.dark,.icon-button.dark{background:var(--deep);color:#fff}
.button.dark svg{color:var(--gold-light)}
.nav-count,.notification-button>span{color:var(--deep)}
/* header: dark, uppercase nav (pro4 style) */
.public-header{background:#081429f5;color:#fff;border-bottom:1px solid rgba(201,162,74,.25);backdrop-filter:blur(8px)}
.public-header .logo,.public-header .logo b{color:#fff}
.public-header .logo small{color:var(--gold-light)}
.public-header nav a{color:#e9edf5;text-transform:uppercase;font-size:11.5px;letter-spacing:1.4px;font-weight:600;position:relative}
.public-header nav a:hover{color:var(--gold-light)}
.public-header nav a:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .2s}
.public-header nav a:hover:after{transform:scaleX(1)}
.public-header .header-call{color:#fff}
.public-header .header-call svg{color:var(--gold)}
.public-header .header-call small{color:var(--gold-light)}
.public-header .button.dark{background:linear-gradient(135deg,var(--gold-light),var(--gold) 55%,var(--gold-dark));color:var(--deep)}
.public-header .button.dark svg{color:var(--deep)}
.menu-button{color:#fff;background:transparent;border-color:rgba(255,255,255,.3)!important}
.menu-button svg{color:#fff}
@media(max-width:1000px){.public-header nav{background:var(--deep);border-top:1px solid rgba(201,162,74,.25)}}
.enquiry-page .public-header{background:#081429f5}
/* hero: bold sans headline */
.hero{position:relative}
.hero-content{max-width:780px}
.hero h1{font-family:Montserrat,sans-serif;font-weight:800;font-size:clamp(58px,6.6vw,108px);line-height:.95;letter-spacing:-.03em;margin:28px 0 26px}
.hero h1:after{content:"";display:block;width:90px;height:4px;margin-top:26px;background:linear-gradient(90deg,var(--gold-light),var(--gold))}
.hero-copy{color:#e6e9f0}
.hero-facts{border-top-color:rgba(201,162,74,.45)}
.hero-facts b{color:var(--gold-light)}
@media(max-width:720px){.hero h1{font-size:50px}}
/* intro tile */
.image-note{background:var(--deep);color:#fff;border-top:4px solid var(--gold)}
.image-note svg{color:var(--gold-light)}
.image-note b{color:var(--gold-light)}
/* gallery tabs */
.gallery-tabs button.active{background:var(--deep);border-color:var(--deep);color:var(--gold-light)}
/* amenities: dark feature band (pro4 style) */
.amenities,.public-site .amenities{background:var(--deep);color:#fff}
.amenities .section-heading>p,.amenities .amenity p{color:#b9c2d3}
.amenity-grid{border-color:rgba(201,162,74,.22)!important}
.amenity{border-color:rgba(201,162,74,.22)!important;transition:background .2s}
.amenity:hover{background:rgba(201,162,74,.06)}
.amenity svg{color:var(--gold)}
.amenity>span{color:var(--gold-dark)}
.amenity h3{color:#fff}
/* rates band */
.rates{background:linear-gradient(135deg,#0f2347,#081429)}
.rate-list>div,.rate-list li{border-color:rgba(201,162,74,.28)!important}
.rate-list b{color:var(--gold-light)}
.rate-list svg{color:var(--gold)}
.launch-offer{color:var(--deep)}
.launch-offer b,.launch-offer strong{color:var(--deep)}
/* portal promo, location, enquiry */
.portal-features svg{color:var(--gold-dark)}
.location-pin-label:hover{color:var(--deep)}
.enquiry-section{background:#efe9dc}
.enquiry-form,.enquiry-form-card{border-top-color:var(--gold)}
.sharing-options input:checked+span{background:var(--deep);border-color:var(--deep);color:var(--gold-light)}
/* footer */
footer{background:var(--deep);border-top:3px solid var(--gold)}
footer small{color:var(--gold)}
footer a:hover,footer button:hover{color:var(--gold-light)}
footer .logo b{color:#fff}
footer .logo small{color:var(--gold-light)}
/* portal */
.portal-shell>aside{background:linear-gradient(180deg,#0f2347,#081429)}
.portal-shell aside nav button.active,.portal-shell aside nav button[aria-current]{color:var(--gold-light)}
.portal-welcome p{color:var(--gold-dark)}
.auth-logo b{color:inherit}
/* floating contact stack (pro4 style) */
.bas-contact-stack{position:fixed;right:22px;bottom:82px;z-index:12;display:flex;flex-direction:column;gap:10px}
.bas-contact-stack a{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--deep);color:var(--gold-light);border:1px solid rgba(201,162,74,.6);box-shadow:0 10px 26px rgba(8,20,41,.3);transition:transform .2s}
.bas-contact-stack a:hover{transform:translateY(-2px);background:var(--gold);color:var(--deep)}
.bas-contact-stack svg{width:20px;height:20px}
body:has(.portal-shell) .bas-contact-stack,body:has(.auth-photo) .bas-contact-stack{display:none}
body:has(.enquiry-page) .bas-contact-stack{bottom:142px}
@media(max-width:720px){.bas-contact-stack{right:14px;bottom:72px}.bas-contact-stack a{width:44px;height:44px}body:has(.enquiry-page) .bas-contact-stack{bottom:136px}}
/* readable gold text on light backgrounds */
:root{--gold-text:#8a6a24}
.eyebrow{color:var(--gold-text)}
.text-link,.switch-auth button,.portal-welcome p,.leave-calendar-head small,.floor-heading small,.bank-details>small,.leave-list .reject,.review-actions .reject{color:var(--gold-text)}
.portal-features svg,.document-row>svg,.payment-big svg,.password-change-icon,.room-summary svg{color:var(--gold-dark)}
@media(max-width:720px){.bas-contact-stack a[href^="mailto"]{display:none}}
.launch-offer,.launch-offer span,.launch-offer b,.launch-offer svg{color:var(--deep)!important}
.launch-offer{box-shadow:0 10px 26px rgba(201,162,74,.3)}

.danger-button{color:#9b2c1f!important;border:1px solid #e9c4bd!important;background:#fff6f4!important}.danger-button:hover{background:#9b2c1f!important;color:#fff!important}.danger-button svg{width:16px;height:16px}
.portal-shell aside nav button.active{background:rgba(201,162,74,.14)!important;color:var(--gold-light)!important;box-shadow:inset 3px 0 0 var(--gold)}.portal-shell aside nav button:hover{color:#fff}
.previous-residents .filter-bar{margin-bottom:18px}.previous-residents .filter-bar input{width:min(100%,420px)}.prev-person{display:flex;align-items:center;gap:10px}.prev-person span{display:grid}.prev-person small{color:var(--muted);font-size:11px}.prev-table{margin-top:22px}.prev-table .table-scroll{margin-top:8px}.amount-due{color:#9b2c1f;font-weight:700}.status.moved-out{background:#ece6d6;color:#5d5340}.previous-residents .icon-button span{font-size:22px;line-height:1}

.ig-admin{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:28px;align-items:start}
.ig-admin-form{display:grid;gap:16px;padding:28px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold)}
.ig-toggle{display:flex!important;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);background:#fbf8f0;cursor:pointer}
.ig-toggle input{width:20px;height:20px;margin-top:2px;accent-color:var(--deep);flex:none}
.ig-toggle span{display:grid;gap:4px}.ig-toggle b{font-size:14px;color:var(--ink)}.ig-toggle small{font-weight:500;color:var(--muted);font-size:12px;line-height:1.45}
.ig-help{margin:-8px 0 0;font-size:12px;color:var(--muted)}
.form-success{margin:0;padding:10px 12px;background:#e6f4ee;color:#237257;font-size:13px;font-weight:600}
.ig-admin .button{justify-self:start}
.ig-admin-preview{padding:20px;background:#fff;border:1px solid var(--line)}
.ig-admin-preview iframe{width:100%;height:560px;border:0;margin-top:12px;background:#fafafa}
@media(max-width:1000px){.ig-admin{grid-template-columns:1fr}}
/* public Instagram popup */
.ig-pop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px;background:rgba(5,13,28,.62);backdrop-filter:blur(3px);opacity:0;transition:opacity .25s}
.ig-pop.show{opacity:1}
.ig-pop-card{position:relative;width:min(420px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:#fff;border-top:4px solid #c9a24a;box-shadow:0 30px 80px rgba(0,0,0,.45);transform:translateY(14px);transition:transform .25s;font-family:DM Sans,sans-serif}
.ig-pop.show .ig-pop-card{transform:none}
.ig-pop-head{display:flex;align-items:center;gap:12px;padding:14px 52px 12px 16px;background:#081429;color:#fff}
.ig-pop-head img{width:40px;height:40px;border-radius:50%;box-shadow:0 0 0 2px rgba(201,162,74,.7);flex:none}
.ig-pop-head b{display:block;font:700 15px Montserrat,sans-serif}
.ig-pop-head small{display:block;color:#e8cf86;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;margin-top:2px}
.ig-pop-close{position:absolute;top:10px;right:10px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center}
.ig-pop-close:hover{background:#c9a24a;color:#081429}
.ig-pop-frame{flex:1;min-height:0;overflow:auto;background:#fafafa}
.ig-pop-frame iframe{display:block;width:100%;height:min(560px,62vh);border:0}
.ig-pop-actions{display:flex;gap:8px;padding:12px;border-top:1px solid #eee5d2}
.ig-pop-actions a{flex:1;min-height:42px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;text-decoration:none;border-radius:2px}
.ig-pop-actions .primary{background:linear-gradient(135deg,#e8cf86,#c9a24a 55%,#a9822f);color:#081429}
.ig-pop-actions .ghost{border:1px solid #d9cfb8;color:#0d1f3c}

/* ===== Amenities page (pro4-style) ===== */
.am-more{margin-top:30px;display:flex;justify-content:center}
.amenities-page main{padding-top:76px}
.amenities-page .public-header nav a.active{color:var(--gold-light)}
.amenities-page .public-header nav a.active:after{transform:scaleX(1)}
.am-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,72px);align-items:center;padding:clamp(56px,7vw,96px) max(7vw,24px);background:linear-gradient(135deg,#0f2347,#081429);color:#fff;position:relative;overflow:hidden}
.am-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(201,162,74,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(201,162,74,.07) 1px,transparent 1px);background-size:64px 64px;pointer-events:none}
.am-hero>*{position:relative}
.am-hero h1{font:800 clamp(40px,5vw,76px)/1.02 Montserrat,sans-serif;letter-spacing:-.03em;margin:20px 0 22px}
.am-hero h1 em,.am-property h2 em{font-style:normal;color:var(--gold-light)}
.am-property h2 em{color:var(--gold-dark)}
.am-hero-copy>p:not(.eyebrow){color:#c9d0de;font-size:17px;line-height:1.65;max-width:560px}
.am-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:30px}
.am-text-link{display:inline-flex;align-items:center;gap:8px;color:var(--gold-light);font-weight:700;font-size:14px}
.am-hero-media{position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid rgba(201,162,74,.35);box-shadow:0 30px 70px rgba(0,0,0,.4)}
.am-hero-media img,.am-card-media img,.am-property-media img{width:100%;height:100%;object-fit:cover;display:block;background-size:cover}
.am-tag{position:absolute;right:10px;bottom:10px;padding:4px 8px;background:rgba(5,13,28,.78);color:#e8cf86;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.am-inroom{position:relative;isolation:isolate;overflow:hidden;color:#fff;padding:clamp(56px,7vw,92px) max(7vw,24px)}
.am-inroom-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.am-inroom:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,13,28,.95),rgba(5,13,28,.82) 50%,rgba(5,13,28,.7))}
.am-inroom-inner{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.6fr);gap:clamp(28px,5vw,72px);align-items:center}
.am-inroom h2{font:800 clamp(34px,4vw,56px)/1.05 Montserrat,sans-serif;margin:16px 0 12px}
.am-inroom-inner>div>p:not(.eyebrow){color:#c9d0de}
.am-inroom-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.am-inroom-list li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:18px 10px;border:1px solid rgba(201,162,74,.28);background:rgba(8,20,41,.45);font-size:13px;font-weight:600;line-height:1.3}
.am-inroom-list svg{width:30px;height:30px;color:var(--gold-light)}
.am-property{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr);gap:clamp(28px,5vw,64px);align-items:stretch}
.am-property h2,.am-special h2,.am-cta h2{font:800 clamp(34px,4vw,56px)/1.05 Montserrat,sans-serif;margin:16px 0 0}
.am-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 26px;margin-top:40px}
.am-grid article h3,.am-card h3{font:700 17px/1.3 Montserrat,sans-serif;margin:14px 0 6px;color:var(--ink)}
.am-grid article p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.55}
.am-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#f3ecdb;color:var(--gold-dark);box-shadow:inset 0 0 0 1px rgba(201,162,74,.35)}
.am-icon svg{width:24px;height:24px}
.am-property-media{margin:0;position:relative;min-height:420px;overflow:hidden;border-top:4px solid var(--gold)}
.am-property-media figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 14px;background:linear-gradient(transparent,rgba(5,13,28,.85));color:#fff;font-size:13px;font-weight:600}
.am-special{background:var(--deep);color:#fff}
.am-special .section-heading>p{color:#b9c2d3}
.am-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:40px}
.am-card{background:#0d1f3c;border:1px solid rgba(201,162,74,.22);display:flex;flex-direction:column;transition:transform .2s,border-color .2s}
.am-card:hover{transform:translateY(-4px);border-color:rgba(201,162,74,.6)}
.am-card-media{position:relative;aspect-ratio:16/10;overflow:hidden}
.am-card-body{position:relative;padding:34px 22px 24px}
.am-card-body .am-icon{position:absolute;top:-26px;left:22px;background:#081429;color:var(--gold-light);box-shadow:0 0 0 2px var(--gold)}
.am-card h3{color:#fff}
.am-card p{margin:0;color:#b9c2d3;font-size:14px;line-height:1.55}
.am-location{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;margin:0 max(7vw,24px);padding:26px 30px;transform:translateY(-36px);background:#fff;border-top:4px solid var(--gold);box-shadow:var(--shadow)}
.am-location>svg{width:38px;height:38px;color:var(--gold-dark)}
.am-location h3{margin:0 0 4px;font:700 19px Montserrat,sans-serif;color:var(--ink)}
.am-location p{margin:0;color:var(--muted);font-size:14px}
.am-cta{text-align:center;padding:30px max(7vw,24px) 80px}
.am-cta>p{color:var(--muted);margin:12px 0 0}
.am-cta .am-hero-actions{justify-content:center}
@media(max-width:1100px){.am-inroom-list{grid-template-columns:repeat(3,minmax(0,1fr))}.am-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.am-hero,.am-inroom-inner,.am-property{grid-template-columns:1fr}.am-property-media{min-height:300px}.amenities-page main{padding-top:68px}}
@media(max-width:720px){.am-hero{padding:44px 20px 48px}.am-hero h1{font-size:38px}.am-inroom{padding:52px 20px}.am-inroom-list{grid-template-columns:repeat(2,minmax(0,1fr))}.am-grid{grid-template-columns:1fr 1fr;gap:24px 16px}.am-cards{grid-template-columns:1fr}.am-location{grid-template-columns:auto 1fr;margin:0 16px;padding:20px}.am-location .button{grid-column:1/-1}.am-cta{padding-bottom:60px}}
@media(max-width:340px){.am-grid{grid-template-columns:1fr}}

/* ===== FAQ page ===== */
.faq-page main{padding-top:76px}
.faq-page .public-header nav a.active{color:var(--gold-light)}
.faq-page .public-header nav a.active:after{transform:scaleX(1)}
.faq-hero{position:relative;overflow:hidden;padding:clamp(56px,7vw,96px) max(7vw,24px) clamp(48px,6vw,80px);background:linear-gradient(135deg,#0f2347,#081429);color:#fff}
.faq-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(201,162,74,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(201,162,74,.07) 1px,transparent 1px);background-size:64px 64px;pointer-events:none}
.faq-hero>*{position:relative}
.faq-hero h1{font:800 clamp(40px,5.4vw,80px)/1.02 Montserrat,sans-serif;letter-spacing:-.03em;margin:20px 0 18px;max-width:900px}
.faq-hero h1 em{font-style:normal;color:var(--gold-light)}
.faq-hero>p:not(.eyebrow){color:#c9d0de;font-size:17px;max-width:620px;margin:0}
.faq-body{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start;padding:clamp(48px,6vw,88px) max(7vw,24px)}
.faq-cats{position:sticky;top:96px;display:flex;flex-direction:column;border-left:2px solid var(--line)}
.faq-cats button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;margin-left:-2px;border:0;border-left:2px solid transparent;background:none;text-align:left;font:600 14px DM Sans,sans-serif;color:var(--muted);cursor:pointer;transition:color .15s,background .15s}
.faq-cats button small{min-width:24px;height:22px;display:grid;place-items:center;border-radius:11px;background:#efe9dc;color:var(--gold-text);font-size:11px;font-weight:700}
.faq-cats button:hover{color:var(--ink);background:#fbf8f0}
.faq-cats button.active{color:var(--ink);border-left-color:var(--gold);background:#f5efe0;font-weight:700}
.faq-cats button.active small{background:var(--deep);color:var(--gold-light)}
.faq-list h2{font:800 clamp(28px,3vw,40px)/1.1 Montserrat,sans-serif;margin:0 0 22px;color:var(--ink)}
.faq-item{border-bottom:1px solid var(--line);background:#fff;margin-bottom:10px;border:1px solid var(--line);transition:border-color .15s,box-shadow .15s}
.faq-item.open{border-color:rgba(201,162,74,.6);box-shadow:0 12px 30px rgba(8,20,41,.08)}
.faq-q{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:20px 22px;border:0;background:none;text-align:left;cursor:pointer;color:var(--ink)}
.faq-num{font:800 15px Montserrat,sans-serif;color:var(--gold-dark);min-width:26px}
.faq-text{font:700 16px/1.4 Montserrat,sans-serif}
.faq-chev{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);font-size:20px;line-height:1;color:var(--gold-dark);transition:transform .2s,background .2s}
.faq-item.open .faq-chev{transform:rotate(45deg);background:var(--deep);color:var(--gold-light);border-color:var(--deep)}
.faq-a{padding:0 22px 22px 62px}
.faq-a p{margin:0;color:#3b475a;font-size:15px;line-height:1.7}
.faq-cta{background:var(--paper);padding-top:20px}
@media(max-width:1000px){.faq-page main{padding-top:68px}.faq-body{grid-template-columns:1fr}.faq-cats{position:static;flex-direction:row;overflow-x:auto;border-left:0;border-bottom:2px solid var(--line);gap:4px;scrollbar-width:none}.faq-cats::-webkit-scrollbar{display:none}.faq-cats button{flex:none;margin:0 0 -2px;border-left:0;border-bottom:2px solid transparent;white-space:nowrap}.faq-cats button.active{border-bottom-color:var(--gold)}}
@media(max-width:720px){.faq-hero{padding:44px 20px}.faq-hero h1{font-size:38px}.faq-body{padding:32px 16px 48px}.faq-q{padding:16px;gap:10px}.faq-text{font-size:15px}.faq-a{padding:0 16px 18px 52px}}

/* Terms review modal (v48) */
.tc-modal{position:fixed;inset:0;z-index:1000;background:rgba(8,20,41,.72);display:flex;align-items:center;justify-content:center;padding:24px;animation:tcIn .12s ease-out}
@keyframes tcIn{from{opacity:0}to{opacity:1}}
.tc-card{background:#fff;width:min(820px,100%);height:min(88vh,860px);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 80px rgba(0,0,0,.35);border-top:4px solid var(--gold)}
.tc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 22px 14px;background:var(--deep);color:#fff}
.tc-head small{color:var(--gold);letter-spacing:1.5px;font-size:11px;font-weight:700}
.tc-head h3{margin:4px 0 0;font:700 22px Montserrat,sans-serif;color:#fff}
.tc-x{border:0;background:rgba(255,255,255,.1);color:#fff;width:36px;height:36px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;flex:none}
.tc-x:hover{background:rgba(255,255,255,.2)}
.tc-card iframe{flex:1;width:100%;border:0;background:#f8f5ee;min-height:0}
.tc-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:14px 22px;border-top:1px solid var(--line);background:#fff}
.tc-meta{display:flex;flex-direction:column;gap:3px;font-size:13px}
.tc-meta a{color:var(--gold-text,#8a6a24);font-weight:600}
.tc-hint{color:var(--muted)}
.tc-hint.ok{color:#2e7d4f;font-weight:600}
.tc-actions{display:flex;gap:10px;margin-left:auto}
.tc-decline,.tc-accept{min-height:46px;padding:0 20px;border-radius:999px;font:700 15px "DM Sans",sans-serif;cursor:pointer;transition:.2s}
.tc-decline{background:#fff;color:var(--ink);border:1px solid var(--line)}
.tc-decline:hover{border-color:var(--ink)}
.tc-accept{background:var(--gold);color:var(--deep);border:0}
.tc-accept:hover:not(:disabled){background:var(--gold-light)}
.tc-accept:disabled{background:#e6e1d4;color:#8d93a0;cursor:not-allowed}
@media (max-width:640px){.tc-modal{padding:0}.tc-card{height:100%;width:100%;border-radius:0}.tc-head{padding:14px 16px 12px}.tc-head h3{font-size:19px}.tc-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.tc-actions{width:100%}.tc-decline{flex:1}.tc-accept{flex:2}}

/* v48b: inline Terms content (fast, no iframe) */
.tc-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#f8f5ee;padding:14px;outline:none}
.tc-doc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 20px;font-size:14.5px;line-height:1.6;color:var(--ink);text-align:left}
.tc-doc section{padding:0;margin:0;min-height:0;background:none;display:block}
.tc-doc section+section{margin-top:22px}
.tc-doc h2{font:700 17px/1.3 Montserrat,sans-serif;margin:0 0 10px;padding:0 0 6px;border-bottom:2px solid var(--gold);color:var(--ink);letter-spacing:0}
.tc-doc h2 em{font-style:normal;color:var(--gold-text,#8a6a24);margin-right:6px}
.tc-doc p{margin:0 0 10px;font-size:inherit;color:inherit;max-width:none}
.tc-doc ol,.tc-doc ul{margin:0 0 10px;padding-left:20px}
.tc-doc li{margin:0 0 6px}
.tc-doc li::marker{color:var(--gold-text,#8a6a24);font-weight:700}
.tc-doc .note{background:#f6eedb;border-left:4px solid var(--gold);border-radius:8px;padding:10px 12px;margin:0 0 12px}
.tc-doc .table{overflow-x:auto;margin:4px 0 8px}
.tc-doc table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:480px}
.tc-doc th{background:var(--deep);color:#fff;text-align:left;padding:8px 10px;font-weight:600;border-bottom:3px solid var(--gold)}
.tc-doc td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.tc-doc tr:nth-child(even) td{background:#fbf8f1}
.tc-doc .small{font-size:13px;color:var(--muted)}
.tc-doc .contact{background:var(--deep);color:#fff;border-radius:10px;padding:14px 16px;display:grid;gap:10px;grid-template-columns:1fr 1fr}
.tc-doc .contact b{color:var(--gold)}.tc-doc .contact a{color:#fff}.tc-doc .contact span{color:var(--gold)}
.tc-loading{padding:40px 16px;text-align:center;color:var(--muted)}
.tc-note{font-size:13.5px;color:var(--muted);margin:10px 0 0}
@media (max-width:640px){.tc-body{padding:10px}.tc-doc{padding:16px 14px;font-size:14px}.tc-doc .contact{grid-template-columns:1fr}}

/* v48c: sharing type + amount due on sign-up */
.sharing-options.bas-three{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.bas-sharing .sharing-options span small{display:block;font-size:12px;font-weight:500;opacity:.8;margin-top:2px}
.bas-due{margin-top:12px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:10px;background:#fbf8f1;padding:12px 14px}
.bas-due-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.bas-due-top span{font-size:13px;font-weight:700;letter-spacing:.5px;color:var(--gold-text,#8a6a24);text-transform:uppercase}
.bas-due-top b{font:700 22px Montserrat,sans-serif;color:var(--ink)}
.bas-due p{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}

/* v48d: GST note under payment details */
.gst-note{grid-column:1 / -1;border:1px solid var(--line);border-left:4px solid var(--gold);background:#fbf8f1;border-radius:8px;padding:14px 16px}
.gst-note>b{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--gold-text,#8a6a24);margin-bottom:6px}
.gst-note p{margin:0 0 6px;font-size:13px;line-height:1.55;color:var(--ink)}
.gst-note p:last-child{margin:0;color:var(--muted)}
.gst-note a{color:var(--gold-text,#8a6a24);font-weight:600}

/* v48e: multiple promo codes */
.promo-admin{display:grid;gap:16px;max-width:1100px}
.promo-row{margin:0;padding:18px 20px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:10px;min-width:0}
.promo-row.off{border-left-color:#c9ccd3;opacity:.75}
.promo-row-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:14px}
.promo-row-head .check{display:flex;align-items:center;gap:6px;font-weight:700;font-size:13px;margin:0}
.promo-row-head>b{font:700 16px Montserrat,sans-serif;letter-spacing:.5px}
.promo-uses{font-size:12px;color:var(--muted)}
.promo-remove{margin-left:auto;border:0;background:none;color:#b5452b;font-weight:700;font-size:13px;cursor:pointer;padding:4px 0}
.promo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}
.promo-grid label{display:grid;gap:6px;font-size:12px;font-weight:700;color:var(--muted);margin:0}
.promo-grid .wide{grid-column:1/-1}
.promo-grid input,.promo-grid select{width:100%;height:42px;padding:0 12px;border:1px solid var(--line);background:#fff;font:600 14px "DM Sans",sans-serif;color:var(--ink);border-radius:6px;box-sizing:border-box}
.promo-admin-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.promo-admin-actions .button{margin-top:0}
.promo-admin-actions .button.coral{margin-left:auto}
.promo-admin-actions p{margin:0}
.promo-empty{margin:0;padding:18px;background:#fff;border:1px dashed var(--line);color:var(--muted)}
@media(max-width:820px){.promo-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.promo-grid{grid-template-columns:1fr}.promo-admin-actions .button{width:100%;margin-left:0!important}}
.promo-chips{grid-column:1/-1}
.promo-chips small{display:block;margin-bottom:8px;color:var(--forest);font-size:9px;font-weight:800;letter-spacing:1px}
.promo-chips>div{display:flex;flex-wrap:wrap;gap:8px}
.promo-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;border:1px dashed var(--gold);background:#fff;border-radius:8px;cursor:pointer;text-align:left;font-family:inherit}
.promo-chip b{font-size:13px;letter-spacing:1px;color:var(--ink)}
.promo-chip span{font-size:11px;color:var(--gold-text,#8a6a24);font-weight:600}
.promo-chip:hover:not(:disabled){border-style:solid;background:#fffaf0}
.promo-chip.used{border-color:var(--line);cursor:default}
.promo-chip.used span{color:var(--muted)}

/* v50: Terms you accepted (resident profile) */
.terms-accepted{grid-column:1/-1;background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:10px;padding:18px 20px;display:grid;gap:12px}
.terms-accepted-head{display:flex;align-items:center;gap:12px}
.terms-accepted-head svg{color:#24775a;width:22px;height:22px;flex:none}
.terms-accepted-head small{display:block;font-size:10px;font-weight:800;letter-spacing:1px;color:var(--gold-text,#8a6a24)}
.terms-accepted-head b{display:block;font:700 16px Montserrat,sans-serif}
.terms-accepted dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:13px}
.terms-accepted dt{color:var(--muted)}
.terms-accepted dd{margin:0;font-weight:700}
.terms-accepted-links{display:flex;flex-wrap:wrap;gap:10px}
.terms-accepted-links .button{margin:0;min-height:40px;font-size:13px;text-decoration:none}
.terms-accepted-note{margin:0;font-size:12px;color:var(--muted);line-height:1.5}
.terms-accepted-note a{color:var(--gold-text,#8a6a24);font-weight:600}
@media(max-width:560px){.terms-accepted-links .button{width:100%}}

/* v51: Terms page in resident menu */
.portal-content>.terms-accepted{margin-bottom:20px}
.terms-inline{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px}
.terms-inline h3{margin:0 0 12px;font:700 15px Montserrat,sans-serif;color:var(--ink)}
.terms-inline .tc-doc{border:0;padding:4px 2px}
@media(max-width:560px){.terms-inline{padding:12px}}
/* v51: phone bottom bar fits 5 resident items */
@media(max-width:720px){.portal-shell aside nav:has(>button:nth-child(5):last-child){grid-template-columns:repeat(5,minmax(0,1fr))}.portal-shell aside nav:has(>button:nth-child(5):last-child) button{padding:0 2px;font-size:9.5px;line-height:1.15;text-align:center;white-space:normal}}

/* v52: promo rule line */
.promo-code-form>div .promo-rule{display:block;margin-top:5px;font-size:12px;color:var(--muted);font-weight:500}
.promo-code-form>div .promo-rule strong{color:var(--ink);letter-spacing:.5px}

/* v53: payment submissions on resident page */
.pay-review{grid-column:1/-1}
.pay-sub{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fff}
.pay-sub.pending{border-left:4px solid var(--gold);background:#fffaf0}
.pay-sub-info{flex:1 1 240px;min-width:0}
.pay-sub-info b,.pay-sub-info small{display:block}
.pay-sub-info b{font-size:14px}
.pay-sub-info small{font-size:11px;color:var(--muted);margin-top:3px}
.pay-review .admin-document+.admin-document{margin-top:10px}
.pay-empty,.pay-noproof{color:var(--muted);font-size:12px;margin:0}

/* v54: admin notifications */
.admin-notices{max-height:min(70vh,560px);overflow-y:auto;width:340px}
.admin-notices .admin-notices-label{display:block;margin:10px 0 4px;font-size:9px;font-weight:800;letter-spacing:1px;color:var(--muted)}
.admin-notices .admin-notice-item{padding-left:12px}
.admin-notices .admin-notice-item strong{font-size:12px}
.admin-notices .admin-notice-item small{font-size:11px}
@media(max-width:520px){.admin-notices{width:auto}}

/* v55: resident portal banner */
.bas-banner-wrap{position:relative}
.bas-banner{position:relative;height:180px;overflow:hidden;background:var(--deep)}
.bas-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.bas-banner-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,20,41,.82) 0%,rgba(8,20,41,.45) 45%,rgba(8,20,41,.08) 100%),linear-gradient(0deg,rgba(8,20,41,.35),transparent 55%)}
.bas-banner-text{position:absolute;left:42px;bottom:24px;color:#fff;max-width:60%}
.bas-banner-text small{display:block;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:2px}
.bas-banner-text b{display:block;font:700 26px/1.15 Montserrat,sans-serif;margin:6px 0 4px;text-transform:capitalize;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bas-banner-text span{font-size:13px;color:#dbe1ec}
.bas-banner-edit{position:absolute;right:24px;bottom:20px;display:flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(8,20,41,.45);color:#fff;font:600 12px "DM Sans",sans-serif;cursor:pointer;backdrop-filter:blur(4px)}
.bas-banner-edit:hover{background:rgba(8,20,41,.7)}
.bas-banner-edit svg{width:15px;height:15px}
.bas-banner-picker{position:absolute;right:24px;top:calc(100% - 6px);z-index:6;width:370px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:12px;box-shadow:0 20px 50px rgba(8,20,41,.22);padding:14px 16px 16px}
.bas-banner-picker-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.bas-banner-picker-head b{font:700 15px Montserrat,sans-serif}
.bas-banner-picker-head button{border:0;background:none;font-size:22px;line-height:1;cursor:pointer;color:var(--muted)}
.bas-banner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bas-banner-opt{position:relative;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#eee;cursor:pointer;aspect-ratio:16/10}
.bas-banner-opt img{width:100%;height:100%;object-fit:cover;display:block}
.bas-banner-opt span{position:absolute;left:0;right:0;bottom:0;padding:3px 6px;background:linear-gradient(transparent,rgba(8,20,41,.8));color:#fff;font-size:10px;font-weight:600;text-align:left}
.bas-banner-opt.active{border-color:var(--gold)}
.bas-banner-upload{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;min-height:42px;border:1px dashed var(--gold);border-radius:8px;color:var(--ink);font-size:13px;font-weight:700;cursor:pointer;background:#fffaf0}
.bas-banner-upload input{display:none}
.bas-banner-upload svg{width:16px;height:16px;color:var(--gold-text,#8a6a24)}
.bas-banner-upload.busy{opacity:.7;cursor:progress}
.bas-banner-hint{display:block;margin-top:8px;font-size:11px;color:var(--muted)}
.bas-banner-picker .form-error{margin-top:8px}
@media(max-width:720px){.bas-banner{height:128px}.bas-banner-text{left:16px;bottom:16px;max-width:62%}.bas-banner-text b{font-size:19px}.bas-banner-text span{font-size:11px}.bas-banner-edit{right:12px;bottom:14px;padding:7px 10px;font-size:0;gap:0}.bas-banner-edit svg{width:17px;height:17px}.bas-banner-picker{position:fixed;left:12px;right:12px;top:auto;bottom:76px;width:auto;max-height:70vh;overflow-y:auto}}

/* v56: profile photo on the banner */
.bas-banner{height:210px}
.bas-banner-avatar{position:absolute;right:52px;top:20px;width:128px;height:128px;padding:0;border-radius:50%;border:4px solid var(--gold);background:#ece2c8;box-shadow:0 10px 30px rgba(8,20,41,.45),0 0 0 6px rgba(255,255,255,.18);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .2s}
.bas-banner-avatar:hover{transform:scale(1.04)}
.bas-banner-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.bas-banner-initials{font:700 40px Montserrat,sans-serif;color:var(--forest,#0f2347);line-height:1}
.bas-banner-avatar.empty small{margin-top:6px;font-size:10px;font-weight:700;letter-spacing:.5px;color:var(--gold-text,#8a6a24);text-transform:uppercase}
.bas-banner-edit{bottom:14px}
.bas-banner-text{bottom:28px}
@media(max-width:720px){.bas-banner{height:140px}.bas-banner-avatar{right:14px;top:12px;width:70px;height:70px;border-width:3px;box-shadow:0 6px 16px rgba(8,20,41,.45),0 0 0 3px rgba(255,255,255,.18)}.bas-banner-initials{font-size:22px}.bas-banner-avatar.empty small{display:none}.bas-banner-edit{bottom:10px;right:14px}.bas-banner-text{bottom:18px;max-width:calc(100% - 110px)}}
