:root{--ink:#1f2925;--muted:#66716c;--paper:#faf9f6;--sand:#efe9df;--line:#e6e0d6;--sage:#50675c;--sage-dark:#34483e;--lime:#d9e6bb;--clay:#bd6b4d;--white:#fff;--shadow:0 18px 45px rgba(38,45,39,.09)}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}.site-header{background:rgba(250,249,246,.93);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.navbar{min-height:76px}.navbar-brand{font-family:Georgia,serif;font-size:1.55rem;letter-spacing:-.05em;color:var(--ink)!important}.brand-mark{display:inline-grid;place-items:center;width:27px;height:27px;margin-right:.45rem;border-radius:50% 50% 50% 0;background:var(--sage);color:#fff;font:700 14px/1 system-ui;transform:rotate(-15deg)}.nav-link{color:var(--muted)!important;font-size:.9rem;font-weight:650}.nav-link:hover,.nav-link:focus{color:var(--sage-dark)!important}.btn{border-radius:999px;padding:.65rem 1.1rem;font-size:.9rem;font-weight:700}.btn-primary{background:var(--sage-dark);border-color:var(--sage-dark)}.btn-primary:hover,.btn-primary:focus{background:#23362d;border-color:#23362d}.btn-outline-secondary{border-color:#c8c4bb;color:var(--ink)}.btn-outline-secondary:hover{background:var(--ink);border-color:var(--ink)}h1,h2,h3,h4,.display-font{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.045em}h1{font-size:clamp(2.25rem,5vw,4.35rem);line-height:1.02}.eyebrow{color:var(--sage);font-size:.73rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.hero{position:relative;overflow:hidden;background:var(--sand);border-radius:2rem;padding:clamp(2rem,6vw,5.2rem)}.hero:after{content:"";position:absolute;width:40vw;height:40vw;max-width:560px;max-height:560px;right:-12%;top:-42%;border:1px solid rgba(80,103,92,.25);border-radius:50%;box-shadow:0 0 0 36px rgba(80,103,92,.06),0 0 0 84px rgba(80,103,92,.04)}.hero-copy{position:relative;z-index:1;max-width:630px}.hero-visual{position:absolute;right:7%;bottom:0;width:34%;height:68%;min-width:230px;background:linear-gradient(160deg,transparent 20%,#798c7c 21% 48%,#e7d9c6 49% 70%,#a9b99b 71%);border-radius:9rem 9rem 0 0;opacity:.85}.filter-panel,.card,.surface{background:var(--white);border:1px solid var(--line);border-radius:1.2rem;box-shadow:none}.filter-panel{margin-top:-2rem;position:relative;z-index:2;padding:1.25rem}.form-control,.form-select{border:1px solid #d8d5ce;border-radius:.65rem;padding:.68rem .8rem;color:var(--ink)}.form-control:focus,.form-select:focus{border-color:var(--sage);box-shadow:0 0 0 .2rem rgba(80,103,92,.14)}.form-label{font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.listing-card{overflow:hidden;height:100%;transition:transform .2s ease,box-shadow .2s ease}.listing-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.listing-image{height:220px;padding:1rem;display:flex;justify-content:flex-end;align-items:flex-start;background:linear-gradient(145deg,#c7d1bd 0 30%,#f0e7d9 30% 49%,#8ba095 49% 75%,#d6c6ad 75%)}.listing-image.alt{background:linear-gradient(145deg,#d9cbbb 0 25%,#879889 25% 50%,#e9e1d5 50% 70%,#627a6e 70%)}.listing-image.third{background:linear-gradient(145deg,#9aac9b 0 26%,#e5d8c8 26% 50%,#c1a98e 50% 74%,#f1ebe1 74%)}.status-Available,.status-Pending,.status-Leased{border-radius:99px;padding:.36rem .6rem;font-size:.7rem;font-weight:800;letter-spacing:.04em}.status-Available{background:#e6efdc;color:#405b45}.status-Pending{background:#f8ecd1;color:#896422}.status-Leased{background:#e9e9e5;color:#525852}.property-hero{min-height:375px;border-radius:1.5rem;background:linear-gradient(135deg,#9cad9d 0 35%,#ecdfcc 35% 55%,#697f73 55% 76%,#d6c2a7 76%);position:relative;overflow:hidden}.property-hero:after{content:"";position:absolute;inset:auto 8% 0 auto;width:45%;height:75%;background:rgba(255,255,255,.25);border-radius:7rem 7rem 0 0}.detail-aside{top:1.5rem}.fact{padding:1rem 0;border-bottom:1px solid var(--line)}.fact:last-child{border:0}.portal-shell{display:grid;grid-template-columns:245px minmax(0,1fr);gap:2rem}.portal-sidebar{background:var(--sage-dark);border-radius:1.4rem;padding:1.25rem;color:#f5f3ed;min-height:calc(100vh - 150px)}.portal-sidebar .brand{font:1.35rem Georgia,serif;margin:.25rem .55rem 2.2rem}.portal-sidebar .list-group{gap:.35rem}.portal-sidebar .list-group-item{background:transparent;border:0;border-radius:.65rem;color:#d5ddd5;font-size:.88rem;font-weight:650;padding:.75rem .85rem}.portal-sidebar .list-group-item:hover,.portal-sidebar .list-group-item:focus{background:rgba(255,255,255,.11);color:#fff}.portal-sidebar .list-group-item.active{background:var(--lime);color:#24382e}.metric-card{padding:1.35rem}.metric-value{font:2.15rem Georgia,serif;letter-spacing:-.06em}.notice{background:#edf2df;border:0;border-radius:1rem;color:#3e503a}.table-row{padding:1rem 0;border-bottom:1px solid var(--line)}.table-row:last-child{border-bottom:0}.skip-link{position:absolute;left:-999px;z-index:20}.skip-link:focus{left:1rem;top:1rem}.auth-card{max-width:500px;margin:4rem auto;padding:2rem}.map-panel{min-height:500px;background:linear-gradient(135deg,#d8e9e5,#b9d7d1);border-radius:1.2rem}.alert{border:0;border-radius:.8rem}@media(max-width:991px){.hero-visual{opacity:.3;right:-3%}.portal-shell{display:block}.portal-sidebar{min-height:auto;margin-bottom:1.25rem}.portal-sidebar .brand{margin-bottom:.8rem}.portal-sidebar .list-group{flex-direction:row;flex-wrap:wrap}.detail-aside{position:static!important}}@media(max-width:575px){.hero{border-radius:1.25rem;padding:2rem 1.3rem}.filter-panel{margin-top:-.6rem}.listing-image{height:190px}.portal-sidebar .list-group-item{font-size:.78rem;padding:.55rem .65rem}}

.signup-shell{width:min(100%,720px);margin:1.5rem auto 3rem}.signup-intro{text-align:center;margin-bottom:2rem}.signup-intro h1{max-width:14ch;margin:.25rem auto .65rem;font-size:clamp(2.25rem,6vw,3.5rem);text-wrap:balance}.signup-intro>p:last-child{max-width:520px;margin:0 auto;color:var(--muted)}.signup-progress{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin:0 auto 1.5rem;padding:0;list-style:none}.signup-progress:before{position:absolute;top:19px;right:25%;left:25%;height:1px;background:var(--line);content:""}.signup-progress li{position:relative;z-index:1;display:flex;align-items:center;gap:.7rem;color:var(--muted)}.signup-progress li:last-child{justify-self:end}.signup-progress li>span{display:grid;flex:0 0 auto;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--paper);font-size:.78rem;font-weight:800}.signup-progress li.current>span,.signup-progress li.complete>span{border-color:var(--sage-dark);background:var(--sage-dark);color:#fff}.signup-progress li.complete>span{font-size:0}.signup-progress li.complete>span:after{font-size:.85rem;content:"✓"}.signup-progress li div{display:grid}.signup-progress strong{color:var(--ink);font-size:.78rem}.signup-progress small{font-size:.68rem}.signup-card{padding:clamp(1.35rem,4vw,2.3rem);border:1px solid var(--line);border-radius:1.5rem;background:var(--white);box-shadow:var(--shadow)}.signup-card-header{margin-bottom:1.6rem}.signup-card-header h2{margin:.1rem 0 .35rem;font-size:clamp(1.65rem,4vw,2.1rem)}.signup-card-header>p:last-child{margin:0;color:var(--muted);font-size:.9rem}.signup-error-summary{margin-bottom:1rem;padding:.75rem 1rem;border-radius:.7rem;background:#fff0ed;color:#8a3428;font-size:.85rem}.signup-error-summary ul{margin:0;padding-left:1.1rem}.password-guidance{padding:.7rem .8rem;border:1px solid var(--line);border-radius:.65rem;background:var(--paper);color:var(--muted);font-size:.75rem}.password-guidance summary{cursor:pointer;color:var(--ink);font-weight:700}.password-guidance ul{margin:.65rem 0 0;padding-left:1.2rem}.signup-role-picker{padding:0;border:0}.signup-role-picker legend{float:none;width:auto;margin-bottom:.5rem}.signup-role-options{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.signup-role-options label{display:flex;align-items:flex-start;gap:.65rem;min-height:78px;padding:.85rem;border:1px solid var(--line);border-radius:.75rem;cursor:pointer}.signup-role-options label:has(input:checked){border-color:var(--sage);box-shadow:0 0 0 2px rgba(80,103,92,.11);background:#f3f7ef}.signup-role-options input{margin-top:.25rem;accent-color:var(--sage-dark)}.signup-role-options span{display:grid}.signup-role-options strong{font-size:.86rem}.signup-role-options small{margin-top:.12rem;color:var(--muted);font-size:.7rem;line-height:1.4}.signup-account-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:-.35rem 0 1.4rem;padding:.75rem .9rem;border-radius:.7rem;background:var(--sand);color:var(--muted);font-size:.78rem}.signup-account-summary strong{color:var(--ink)}.signup-role{padding:.22rem .55rem;border-radius:999px;background:var(--lime);color:var(--sage-dark);font-size:.66rem;font-weight:800}.signup-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.5rem}.signup-actions .btn{min-width:130px}.signup-signin{text-align:center;margin:1.25rem 0 0;color:var(--muted);font-size:.85rem}.signup-signin a{color:var(--sage-dark);font-weight:800}.invalid-feedback{font-size:.75rem}

@media(max-width:575px){.signup-shell{margin-top:.25rem}.signup-progress{gap:1rem}.signup-progress li div{display:none}.signup-progress li:last-child{justify-self:end}.signup-role-options{grid-template-columns:1fr}.signup-actions .btn{min-width:0;flex:1}.signup-card .form-control{font-size:1rem}}
.notification-center{position:fixed;right:1rem;top:4.75rem;z-index:1040}.notification-center:empty{display:none}.notification-center summary{cursor:pointer;list-style:none;background:var(--sage-dark);color:#fff;border-radius:999px;padding:.55rem .9rem;font-size:.875rem;font-weight:700;box-shadow:0 8px 24px rgba(34,49,42,.2)}.notification-menu{width:min(22rem,calc(100vw - 2rem));margin-top:.5rem;background:#fff;border:1px solid var(--line);border-radius:1rem;box-shadow:0 14px 40px rgba(34,49,42,.18);overflow:hidden}.notification-menu article{padding:.85rem 1rem;border-bottom:1px solid var(--line)}.notification-menu article:last-child{border:0}.notification-menu p{margin:.2rem 0;font-size:.9rem}.notification-menu small{color:var(--muted)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
