/* HomeSeek brand typography — General Sans (EN) + IBM Plex Sans Arabic (AR) */
@font-face{font-family:"General Sans";src:url("brand/fonts/GeneralSans-Regular.otf") format("opentype");font-weight:400;font-display:swap}
@font-face{font-family:"General Sans";src:url("brand/fonts/GeneralSans-Medium.otf") format("opentype");font-weight:500;font-display:swap}
@font-face{font-family:"General Sans";src:url("brand/fonts/GeneralSans-Semibold.otf") format("opentype");font-weight:600;font-display:swap}
@font-face{font-family:"General Sans";src:url("brand/fonts/GeneralSans-Bold.otf") format("opentype");font-weight:700 900;font-display:swap}
@font-face{font-family:"IBM Plex Sans Arabic";src:url("brand/fonts/IBMPlexSansArabic-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans Arabic";src:url("brand/fonts/IBMPlexSansArabic-SemiBold.ttf") format("truetype");font-weight:600 800;font-display:swap}

:root{
  --ink:#1f1f22;
  --ink-2:#26262b;
  --charcoal:#232327;
  --muted:#7d7a75;
  --paper:#f6f1eb;
  --cream:#fffdfa;
  --ivory:#faf6f0;
  --line:rgba(36,34,40,.12);
  --gold:#fd521b;
  --gold-2:#fd6a35;
  --champagne:#ffe161;
  --ruby:#7a1d10;
  --teal:#666538;
  --danger:#8f2d25;
  --ok:#1e755d;
  --glass:rgba(255,253,250,.68);
  --glass-strong:rgba(255,253,250,.84);
  --glass-dark:rgba(26,26,30,.55);
  --radius:8px;
  --shadow:0 34px 90px rgba(31,31,34,.18);
  --shadow-soft:0 18px 56px rgba(31,31,34,.10);
  --ease:cubic-bezier(.19,1,.22,1);
  --diamond-size:86px;
  --diamond-box-size:86px;
}

/* Mobile admin app layout */
@media (max-width:720px){
  body.admin-body{
    min-width:0;
    background-attachment:fixed;
    overflow-x:hidden;
  }
  .admin-main{
    width:100%;
    min-width:0;
    padding:10px 10px 96px;
  }
  .admin-top{
    position:sticky;
    top:8px;
    z-index:30;
    grid-template-columns:1fr;
    margin:0 0 12px;
    padding:11px;
    border-radius:18px;
    background:linear-gradient(180deg,rgba(255,253,250,.9),rgba(255,253,250,.72));
    box-shadow:0 16px 44px rgba(31,31,34,.12);
  }
  .top-heading{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    align-items:center;
    gap:10px;
    width:100%;
  }
  .top-heading > div{min-width:0}
  .crumbs{
    margin-bottom:3px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11px;
  }
  .admin-top h1{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:clamp(23px,7vw,30px);
    line-height:.98;
  }
  .sidebar-toggle{
    width:42px;
    height:42px;
    border-radius:14px;
    background:linear-gradient(145deg,rgba(255,253,250,.94),rgba(255,225,97,.48));
  }
  .top-actions{
    display:grid;
    grid-template-columns:1fr auto;
    width:100%;
    gap:8px;
  }
  .top-search{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:6px;
    width:100%;
  }
  .top-search input{
    min-width:0;
    min-height:42px;
    padding:10px 11px;
  }
  .top-search button{
    min-height:42px;
    padding:9px 12px;
    font-size:12px;
  }
  .top-actions > a{
    min-height:42px;
    padding:9px 11px;
    white-space:nowrap;
    font-size:12px;
  }
  .top-actions > a:last-child{display:none}
  .notif-link{
    position:relative;
    width:44px;
    overflow:hidden;
    text-indent:-999px;
  }
  .notif-link::before{
    content:"";
    position:absolute;
    inset:12px;
    border:2px solid var(--teal);
    border-radius:50% 50% 45% 45%;
  }
  .notif-badge{
    position:absolute;
    top:4px;
    right:4px;
    text-indent:0;
  }
  .admin-hero{
    min-height:0;
    margin:0 0 12px;
    padding:18px;
    border-radius:20px;
  }
  .admin-hero h2{
    font-size:clamp(31px,10vw,42px);
    line-height:.95;
  }
  .admin-hero p:not(.eyebrow){
    font-size:14px;
    line-height:1.55;
  }
  .admin-hero .btn{
    min-height:46px;
    border-radius:14px;
  }
  .quick-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin:0 0 12px;
  }
  .quick-actions a{
    min-width:0;
    min-height:52px;
    justify-content:flex-start;
    padding:11px;
    border-radius:15px;
    font-size:12px;
    line-height:1.2;
  }
  .quick-actions b{
    width:28px;
    height:28px;
    flex:0 0 28px;
  }
  .admin-grid.cards{
    display:flex;
    gap:10px;
    margin:0 -10px 12px;
    padding:0 10px 4px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .admin-grid.cards .metric{
    flex:0 0 min(78vw,290px);
    min-height:126px;
    scroll-snap-align:start;
    padding:16px;
    border-radius:18px;
  }
  .metric span{
    font-size:11px;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .metric strong{
    margin-top:7px;
    display:block;
    font-size:clamp(32px,10vw,44px);
    line-height:.9;
  }
  .metric small{
    margin-top:10px;
    font-size:12px;
  }
  .admin-columns{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
  }
  .panel{
    margin-bottom:12px;
    padding:15px;
    border-radius:18px;
  }
  .panel h2{
    font-size:clamp(21px,6.8vw,28px);
    line-height:1;
  }
  .panel-head{
    align-items:center;
  }
  .panel-head a{
    white-space:nowrap;
    font-size:12px;
  }
  .activity-line{
    grid-template-columns:1fr;
    gap:6px;
    padding:12px;
    margin-top:8px;
    border:1px solid rgba(255,255,255,.72);
    border-radius:15px;
    background:linear-gradient(145deg,rgba(255,253,250,.72),rgba(255,253,250,.44));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 10px 22px rgba(31,31,34,.06);
  }
  .activity-line span{
    grid-row:auto;
    width:max-content;
    max-width:100%;
    font-size:10px;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .activity-line strong{
    min-width:0;
    overflow-wrap:anywhere;
    font-size:14.5px;
    line-height:1.25;
  }
  .activity-line small{
    overflow-wrap:anywhere;
    line-height:1.45;
  }
  .inline-form{
    display:block;
    margin-top:8px;
  }
  .inline-form button{
    width:100%;
    min-height:38px;
  }
  .chart-panel{
    min-height:310px;
  }
  canvas{
    width:100%!important;
    max-height:260px;
  }
  .table-actions form{
    display:grid;
    grid-template-columns:1fr;
    max-width:none;
  }
  .table-actions input,
  .table-actions select,
  .table-actions button,
  .table-actions .btn{
    width:100%;
    min-height:46px;
  }
  .table-wrap{
    margin:0 -2px;
  }
  tbody tr{
    border-radius:16px;
  }
  td{
    align-items:flex-start;
    text-align:right;
    font-size:13.5px;
    line-height:1.35;
    overflow-wrap:anywhere;
  }
  td::before{
    max-width:42%;
    line-height:1.25;
  }
  .row-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
    gap:7px;
  }
  .row-actions a,
  .row-actions button,
  .row-actions form{
    width:100%;
  }
  .row-actions a,
  .row-actions button{
    justify-content:center;
  }
  .sidebar{
    width:min(88vw,326px);
    max-width:326px;
    padding:12px;
    gap:10px;
    border-radius:0 22px 22px 0;
  }
  .sidebar-brand-panel{
    padding:12px;
    border-radius:17px;
  }
  .sidebar-brand-panel .brand-text{
    max-width:190px;
    font-size:21px;
  }
  .sidebar-kicker{
    font-size:9.5px;
  }
  .sidebar nav{
    gap:8px;
    padding-right:0;
  }
  .sidebar-group{
    padding:8px;
    border-radius:16px;
  }
  .sidebar nav a{
    min-height:40px;
    grid-template-columns:28px minmax(0,1fr) 10px;
    gap:8px;
    padding:6px 8px;
    border-radius:12px;
    font-size:13px;
  }
  .nav-glyph{
    width:28px;
    height:28px;
    border-radius:9px;
  }
  .sidebar-user{
    grid-template-columns:38px minmax(0,1fr);
    padding:10px;
    border-radius:16px;
  }
  .sidebar-avatar{
    width:38px;
    height:38px;
    border-radius:13px;
    font-size:21px;
  }
  .admin-bottom-nav{
    left:8px;
    right:8px;
    bottom:8px;
    padding:7px;
    border-radius:18px;
    padding-bottom:calc(7px + env(safe-area-inset-bottom));
  }
  .admin-bottom-nav a,
  .admin-bottom-nav .sidebar-toggle{
    min-width:0;
    min-height:50px;
    font-size:10px;
    line-height:1;
  }
  .admin-bottom-nav svg{
    width:21px;
    height:21px;
  }
}

@media (max-width:390px){
  .top-actions{
    grid-template-columns:1fr;
  }
  .notif-link{
    width:100%;
    text-indent:0;
  }
  .notif-link::before{display:none}
  .quick-actions{
    grid-template-columns:1fr;
  }
  .admin-grid.cards .metric{
    flex-basis:84vw;
  }
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
body{
  margin:0;
  color:var(--ink);
  font-family:"General Sans",Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;
  line-height:1.55;
  background:
    radial-gradient(ellipse at 50% 50%,rgba(255,253,250,.18) 0 18%,rgba(255,253,250,.08) 40%,transparent 64%),
    linear-gradient(45deg,transparent 0 47%,rgba(125,96,58,.13) 49%,rgba(255,255,255,.34) 50%,transparent 53% 100%),
    linear-gradient(135deg,transparent 0 47%,rgba(255,255,255,.36) 49%,rgba(118,91,55,.12) 50%,transparent 53% 100%),
    radial-gradient(ellipse at 50% -12%,rgba(255,244,215,.82),transparent 36rem),
    radial-gradient(circle at 12% 8%,rgba(224,190,139,.38),transparent 30rem),
    radial-gradient(circle at 86% 14%,rgba(253,82,27,.10),transparent 34rem),
    radial-gradient(circle at 18% 78%,rgba(178,143,101,.16),transparent 32rem),
    linear-gradient(135deg,#fffaf0 0%,#eee1ce 42%,#dcc8ad 68%,#fff9ee 100%);
  background-size:var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),auto,auto,auto,auto,100% 100%;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 42%,rgba(255,255,255,.18),transparent 48%),
    linear-gradient(45deg,transparent 0 48%,rgba(255,255,255,.22) 49.5%,transparent 52% 100%),
    linear-gradient(135deg,transparent 0 48%,rgba(105,78,45,.08) 49.5%,transparent 52% 100%);
  background-size:var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size);
  opacity:.74;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.50;
  background:
    radial-gradient(ellipse at 50% 50%,rgba(255,253,250,.14),transparent 42%),
    linear-gradient(45deg,transparent 0 46.5%,rgba(118,91,55,.12) 48.5%,rgba(255,255,255,.22) 50%,transparent 53.5% 100%),
    linear-gradient(135deg,transparent 0 46.5%,rgba(255,255,255,.26) 48.5%,rgba(116,86,48,.10) 50%,transparent 53.5% 100%),
    radial-gradient(26rem 18rem at 72% 18%,rgba(255,248,232,.34),transparent 64%),
    radial-gradient(32rem 24rem at 18% 86%,rgba(150,111,65,.12),transparent 68%);
  background-size:var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),auto,auto;
  mix-blend-mode:multiply;
}

a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
h1,h2,h3{
  font-family:"General Sans",Inter,system-ui,sans-serif;
  font-weight:700;
  letter-spacing:0;
  color:inherit;
}
button,.btn{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:var(--radius);
  padding:12px 18px;
  color:#fffdfa;
  background:linear-gradient(135deg,#1f1f22,#2d261b);
  box-shadow:0 16px 38px rgba(26,26,30,.18);
  font:800 13px/1 Inter,ui-sans-serif,system-ui;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  transition:transform .34s var(--ease),box-shadow .34s var(--ease),border-color .34s var(--ease),background .34s var(--ease);
}
button::after,.btn::after,.property-card::after,.panel::after,.metric::after,.contact-card::after,.detail-summary::after,.login-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(112deg,transparent 0%,rgba(255,255,255,.34) 25%,transparent 48%);
  transform:translateX(-135%) skewX(-18deg);
  transition:transform .78s var(--ease);
  pointer-events:none;
}
button:hover,.btn:hover{transform:translateY(-2px);box-shadow:0 22px 50px rgba(26,26,30,.22)}
button:hover::after,.btn:hover::after,.property-card:hover::after,.panel:hover::after,.metric:hover::after,.contact-card:hover::after,.detail-summary:hover::after,.login-card:hover::after{transform:translateX(135%) skewX(-18deg)}
.btn.primary{color:#232327;background:linear-gradient(135deg,#ff9268,#fd521b);border-color:rgba(255,255,255,.5)}
.btn.ghost,.card-actions button,.view-toggle,.mobile-filter-toggle,.filter-close{color:var(--ink);background:rgba(255,253,250,.62);border-color:rgba(255,255,255,.72);box-shadow:none;backdrop-filter:blur(20px) saturate(1.25)}
input,select,textarea{
  width:100%;
  min-height:44px;
  border:1px solid rgba(36,34,40,.14);
  border-radius:var(--radius);
  background:rgba(255,253,250,.78);
  color:var(--ink);
  padding:12px 13px;
  font:inherit;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 12px 28px rgba(31,31,34,.045);
  backdrop-filter:blur(18px) saturate(1.2);
  transition:border-color .25s ease,box-shadow .25s ease,background .25s ease;
}
input,select,textarea,table,.mini-specs span,.card-glass strong,.price,.stats strong,.metric strong,.rent-card strong,.lease-line b,.activity-line span,.badge-cell,.footer-metrics b,.rental-head-card strong,.feature-list b,.insight-box strong,.mc-result strong,.area-stats strong,.community-stats strong,.project-glass strong{
  font-variant-numeric:lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1,"kern" 1;
}
input:focus,select:focus,textarea:focus{border-color:rgba(253,82,27,.74);box-shadow:0 0 0 4px rgba(253,82,27,.14),inset 0 1px 0 rgba(255,255,255,.85)}
textarea{min-height:120px;resize:vertical}
.eyebrow{
  margin:0 0 11px;
  color:var(--gold);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.site-nav{
  position:sticky;
  top:0;
  z-index:30;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:13px 5vw;
  background:linear-gradient(180deg,rgba(255,253,250,.84),rgba(255,253,250,.66));
  border-bottom:1px solid rgba(255,255,255,.72);
  box-shadow:0 16px 52px rgba(31,31,34,.09);
  backdrop-filter:blur(28px) saturate(1.35);
}
.site-nav::before{
  content:"";
  position:absolute;
  left:5vw;
  right:5vw;
  top:0;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--gold-2),var(--gold),var(--gold-2),transparent);
}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;color:var(--ink);white-space:nowrap}
.logo-mark{
  width:42px;
  height:42px;
  flex:0 0 auto;
  border-radius:50%;
  box-shadow:0 0 0 3px rgba(255,225,97,.16),0 14px 34px rgba(253,82,27,.38);
  overflow:visible;
}
.brand-text{display:grid;gap:1px;line-height:1.04}
.brand-text small{
  color:var(--muted);
  font-size:10px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.site-nav nav,.site-footer nav{display:flex;align-items:center;gap:18px;color:#3e382e;font-size:13px;font-weight:800}
.site-nav nav a{position:relative}
.site-nav nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:linear-gradient(90deg,var(--gold),var(--teal));transition:right .32s var(--ease)}
.site-nav nav a:hover::after,.site-nav nav a.is-current::after{right:0}
.nav-admin{padding:10px 13px;border-radius:var(--radius);color:#fffdfa!important;background:#1f1f22;box-shadow:0 12px 28px rgba(26,26,30,.18)}
.menu-toggle{display:none;width:44px;height:44px;padding:0;background:rgba(255,253,250,.68);box-shadow:none}
.menu-toggle span{display:block;width:18px;height:2px;border-radius:999px;background:var(--ink)}
.menu-toggle span+span{margin-top:5px}

.hero{
  min-height:780px;
  position:relative;
  display:grid;
  align-items:end;
  overflow:hidden;
  isolation:isolate;
  background:#1f1f22;
}
.hero:has(.lux-select.open){
  overflow:visible;
  z-index:80;
}
.hero-media{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(circle at 73% 22%,rgba(255,225,97,.25),transparent 23rem),
    linear-gradient(90deg,rgba(26,26,30,.94),rgba(26,26,30,.58) 38%,rgba(26,26,30,.18) 72%),
    linear-gradient(180deg,rgba(26,26,30,.02),rgba(26,26,30,.76)),
    url("brand/mark-orange.svg") 112% 118%/58% no-repeat,#1f1f22;
  transform:scale(1.04);
  animation:heroBreath 18s var(--ease) infinite alternate;
}
.hero::before{
  content:"";
  position:absolute;
  inset:72px 5vw auto;
  height:92px;
  z-index:1;
  pointer-events:none;
  border-top:1px solid rgba(253,106,53,.36);
  border-bottom:1px solid rgba(253,106,53,.18);
  background:linear-gradient(90deg,transparent,rgba(255,253,250,.08),transparent);
  mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);
}
.hero::after{
  content:"";
  position:absolute;
  left:5vw;
  right:5vw;
  bottom:26px;
  height:1px;
  z-index:1;
  background:linear-gradient(90deg,transparent,rgba(253,106,53,.78),transparent);
}
.hero-content{position:relative;z-index:2;width:min(1180px,100%);padding:130px 5vw 78px;color:#fffdfa}
.hero-content::before{
  content:"HomeSeek";
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 0 18px;
  padding:9px 16px;
  border:1px solid rgba(253,106,53,.46);
  border-radius:999px;
  color:rgba(255,225,97,.9);
  background:rgba(26,26,30,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 18px 42px rgba(0,0,0,.18);
  backdrop-filter:blur(18px) saturate(1.35);
  font-family:"General Sans",Inter,system-ui,sans-serif;
  font-size:19px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hero-kicker{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.hero-kicker span,.scroll-cue{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  color:rgba(255,253,250,.9);
  background:rgba(255,253,250,.13);
  border:1px solid rgba(255,255,255,.25);
  backdrop-filter:blur(18px) saturate(1.35);
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.hero h1{max-width:980px;margin:0 0 20px;font-size:clamp(56px,8.4vw,124px);line-height:.88;text-wrap:balance;text-shadow:0 24px 80px rgba(0,0,0,.5)}
.hero h1::after{
  content:"";
  display:block;
  width:min(280px,46vw);
  height:1px;
  margin:24px 0 0;
  background:linear-gradient(90deg,var(--gold-2),rgba(255,253,250,.08));
}
.hero p{max-width:700px;margin:0;color:rgba(255,253,250,.82);font-size:clamp(17px,1.6vw,22px)}
.search-panel{
  position:relative;
  z-index:5;
  width:min(1080px,100%);
  margin-top:34px;
  display:grid;
  grid-template-columns:1.45fr repeat(3,1fr) auto;
  gap:10px;
  padding:12px;
  border-radius:var(--radius);
  background:linear-gradient(145deg,rgba(255,253,250,.22),rgba(255,253,250,.11));
  border:1px solid rgba(255,225,97,.4);
  box-shadow:0 30px 100px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.32);
  backdrop-filter:blur(34px) saturate(1.45);
}
.search-panel:has(.lux-select.open),
.search-panel label:has(.lux-select.open){
  overflow:visible;
  z-index:140;
}
.search-panel label{display:grid;gap:7px;color:rgba(255,253,250,.74);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.search-panel input,.search-panel select{background:rgba(255,253,250,.87)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.scroll-cue{margin-top:22px}
.scroll-cue::after{content:"";width:6px;height:6px;margin-left:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);animation:scrollCue 1.3s var(--ease) infinite}

.band{padding:28px 5vw}
.stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  color:#fffdfa;
  background:linear-gradient(90deg,#1f1f22,#221b12,#1f1f22);
  border-top:1px solid rgba(253,106,53,.2);
  border-bottom:1px solid rgba(253,106,53,.16);
}
.stats div{position:relative}
.stats div::after{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(253,106,53,.6),transparent);
}
.stats div{padding:28px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025))}
.stats strong{display:block;color:var(--gold-2);font-family:"General Sans",Inter,system-ui,sans-serif;font-size:46px;line-height:1;letter-spacing:.01em;text-shadow:0 12px 34px rgba(253,106,53,.16)}
.stats span{color:rgba(255,253,250,.66);font-size:13px;font-weight:700}

.section{position:relative;padding:88px 5vw}
.section::before{
  content:"";
  position:absolute;
  left:5vw;
  right:5vw;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(253,82,27,.34),transparent);
}
.section-head,.toolbar{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:28px}
.section h2,.page-hero h1{max-width:880px;margin:0;font-size:clamp(36px,4.4vw,64px);line-height:.98;text-wrap:balance}
.section-head a{color:var(--teal);font-weight:900}
.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.property-grid.small{grid-template-columns:repeat(2,minmax(0,1fr))}
.property-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.72);
  border-radius:var(--radius);
  background:
    linear-gradient(145deg,rgba(255,253,250,.84),rgba(255,253,250,.5)),
    linear-gradient(135deg,rgba(255,225,97,.26),transparent 42%);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(28px) saturate(1.25);
  transform-style:preserve-3d;
  transition:transform .56s var(--ease),box-shadow .56s var(--ease),border-color .56s var(--ease);
}
.property-card::before,.panel::before,.contact-card::before,.detail-summary::before,.lux-form::before,.login-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(135deg,rgba(255,225,97,.72),rgba(255,255,255,.18),rgba(253,82,27,.32));
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
  pointer-events:none;
}
.property-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:rgba(255,255,255,.94)}
.card-media{height:292px;position:relative;overflow:hidden;background:#1f1f22}
.card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 38%,rgba(0,0,0,.52));pointer-events:none}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),filter .6s ease}
.property-card:hover img{transform:scale(1.07);filter:saturate(1.05) contrast(1.04)}
.card-media span,.card-media b,.badge{
  position:absolute;
  top:14px;
  left:14px;
  z-index:2;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.66);
  border-radius:999px;
  color:var(--ink);
  background:rgba(255,253,250,.72);
  backdrop-filter:blur(18px) saturate(1.3);
  font-size:11px;
  font-weight:950;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.card-media b{left:auto;right:14px;color:#232327;background:linear-gradient(135deg,rgba(246,220,148,.9),rgba(253,82,27,.9))}
.floating-fav{position:absolute;right:14px;top:58px;z-index:3;min-height:36px;padding:8px 11px;color:var(--ink);background:rgba(255,253,250,.72);box-shadow:none}
.card-glass{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  z-index:2;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  padding:13px;
  color:#fffdfa;
  border:1px solid rgba(255,225,97,.32);
  border-radius:var(--radius);
  background:rgba(26,26,30,.42);
  backdrop-filter:blur(22px) saturate(1.35);
}
.card-glass strong{font-family:"General Sans",Inter,system-ui,sans-serif;font-size:26px;line-height:1;color:#fffdfa;letter-spacing:.015em;text-shadow:0 10px 28px rgba(0,0,0,.28)}
.card-glass small{max-width:40%;color:rgba(255,253,250,.78);font-weight:800;text-align:right}
.detail-trust{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}
.detail-trust span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid rgba(253,82,27,.18);border-radius:9px;color:var(--muted);background:rgba(255,253,250,.5);font-size:10px;font-weight:750}
.detail-trust .ico{width:13px;height:13px;color:var(--teal)}
.card-body{position:relative;z-index:1;padding:20px}
.card-body p{margin:0 0 5px;color:var(--muted);font-size:13px;font-weight:700}
.card-body h3{margin:0 0 14px;font-size:27px;line-height:1.05}
.mini-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0}
.mini-specs span,.chips span,.feature-list span{
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.68);
  border-radius:999px;
  color:#3d3c41;
  background:rgba(255,253,250,.58);
  backdrop-filter:blur(14px);
  font-size:12px;
  font-weight:850;
}
.mini-specs .spec-pill{display:flex;align-items:center;gap:5px;min-width:0;padding:8px;border-color:rgba(253,82,27,.18);border-radius:10px;background:linear-gradient(145deg,rgba(255,253,250,.82),rgba(244,232,207,.56));font-variant-numeric:lining-nums tabular-nums}
.spec-pill .ico{width:15px;height:15px;flex:0 0 auto;color:var(--teal);stroke-width:1.9}
.spec-pill b{min-width:0;color:var(--ink);font-size:14px;line-height:1;font-weight:950}
.spec-pill small{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.mini-specs .stage-chip{grid-column:1/-1;justify-self:start}

/* Property cards should lead with the home, not a stack of labels. */
.card-media>span:not(:first-child),.card-media>b{box-shadow:0 5px 14px rgba(26,26,30,.12)}
.card-media>span:first-of-type,.card-media .verified-badge{top:12px;padding:5px 8px;border:1px solid rgba(255,255,255,.28);border-radius:9px;color:rgba(255,253,250,.94);background:rgba(26,26,30,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 6px 18px rgba(0,0,0,.13);backdrop-filter:blur(15px) saturate(1.08);font-size:9px;font-weight:600;letter-spacing:.055em;text-transform:uppercase}
.card-media .verified-badge{left:auto;right:12px;display:grid;place-items:center;width:30px;height:30px;min-height:30px;padding:0;color:rgba(255,253,250,.9);font-size:0}
.card-media .verified-badge .ico{width:13px;height:13px;color:var(--gold-2);stroke-width:1.8}
.card-media .new-badge,.card-media .drop-badge,.card-media>b{display:none}
.card-actions{display:flex;gap:9px}
.card-actions .btn,.card-actions button{flex:1;min-height:42px}
.favorite.is-active,.compare.is-active{color:#232327;background:linear-gradient(135deg,rgba(246,220,148,.95),rgba(15,92,87,.22));border-color:rgba(255,255,255,.88)}

.location-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.location-card{
  min-height:255px;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:18px;
  border-radius:var(--radius);
  color:#fffdfa;
  background:radial-gradient(circle at 76% 16%,rgba(255,225,97,.2),transparent 12rem),linear-gradient(180deg,rgba(26,26,30,.02),rgba(26,26,30,.8)),var(--location-image) center/cover;
  box-shadow:var(--shadow-soft);
  transform:translateY(var(--float-y,0));
  transition:transform .56s var(--ease),box-shadow .56s var(--ease),filter .56s ease;
}
.location-card::before{content:"";position:absolute;inset:auto 14px 14px 14px;height:88px;border:1px solid rgba(255,255,255,.28);border-radius:var(--radius);background:rgba(255,255,255,.13);backdrop-filter:blur(18px) saturate(1.35)}
.location-card span,.location-card strong{position:relative;z-index:1}
.location-card span{font-family:"General Sans",Inter,system-ui,sans-serif;font-size:31px;font-weight:700;line-height:1}
.location-card strong{color:rgba(255,253,250,.76);font-size:13px}
.location-card:hover{transform:translateY(calc(var(--float-y,0) - 8px)) scale(1.01);box-shadow:var(--shadow);filter:saturate(1.06)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;background:linear-gradient(135deg,rgba(255,253,250,.74),rgba(246,241,235,.5));backdrop-filter:blur(24px)}
.split p{max-width:640px;color:var(--muted);font-size:18px}
.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.feature-list span{display:block;border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-soft)}
.feature-list b{display:block;margin-bottom:8px;color:var(--gold);font-size:11px;letter-spacing:.14em}

.rental-showcase{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 50%,rgba(253,82,27,.055) 0 18%,rgba(15,92,87,.045) 42%,transparent 65%),
    linear-gradient(45deg,transparent 0 47%,rgba(253,82,27,.13) 49%,rgba(20,66,58,.16) 50%,transparent 53% 100%),
    linear-gradient(135deg,transparent 0 47%,rgba(99,70,38,.18) 49%,rgba(253,106,53,.08) 50%,transparent 53% 100%),
    radial-gradient(42rem 28rem at 12% 8%,rgba(253,106,53,.16),transparent 62%),
    radial-gradient(circle at 85% 10%,rgba(92,56,31,.20),transparent 26rem),
    radial-gradient(38rem 24rem at 80% 88%,rgba(15,92,87,.22),transparent 62%),
    linear-gradient(135deg,#1f1f22 0%,#263225 43%,#312719 68%,#102f2c 100%);
  background-size:var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),auto,auto,auto,100% 100%;
  background-position:0 0,0 0,0 0,center,center,center,center;
  color:#fffdfa;
}
.rental-showcase::before{background:linear-gradient(90deg,transparent,rgba(253,106,53,.58),transparent)}
.rental-showcase .section-head a{color:var(--gold-2)}
.rental-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:22px;
  align-items:stretch;
  margin-bottom:18px;
}
.rental-head>div:first-child{
  position:relative;
  padding:30px;
  border:1px solid rgba(253,106,53,.30);
  border-radius:var(--radius);
  background:
    linear-gradient(45deg,transparent 0 47%,rgba(253,106,53,.08) 49%,transparent 53% 100%),
    linear-gradient(135deg,transparent 0 47%,rgba(15,92,87,.10) 49%,transparent 53% 100%),
    linear-gradient(145deg,rgba(255,253,250,.14),rgba(255,253,250,.045));
  background-size:var(--diamond-box-size) var(--diamond-box-size),var(--diamond-box-size) var(--diamond-box-size),auto;
  background-position:0 0,0 0,center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(253,106,53,.08),0 28px 80px rgba(0,0,0,.22);
  backdrop-filter:blur(26px) saturate(1.25);
}
.rental-head h2{max-width:760px;margin:0;font-size:clamp(38px,5.2vw,72px);line-height:.9;text-wrap:balance}
.rental-head p:not(.eyebrow){max-width:690px;margin:16px 0 0;color:rgba(255,253,250,.68);font-size:17px}
.rental-head-card{
  display:grid;
  align-content:space-between;
  gap:12px;
  padding:22px;
  border:1px solid rgba(253,106,53,.34);
  border-radius:var(--radius);
  background:
    linear-gradient(45deg,transparent 0 47%,rgba(253,106,53,.09) 49%,transparent 53% 100%),
    linear-gradient(135deg,transparent 0 47%,rgba(15,92,87,.12) 49%,transparent 53% 100%),
    linear-gradient(150deg,rgba(255,225,97,.18),rgba(255,253,250,.06)),
    rgba(255,253,250,.06);
  background-size:var(--diamond-box-size) var(--diamond-box-size),var(--diamond-box-size) var(--diamond-box-size),auto,auto;
  background-position:0 0,0 0,center,center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 28px 80px rgba(0,0,0,.24);
  backdrop-filter:blur(28px) saturate(1.35);
}
.rental-head-card span,.leasing-pills span{
  color:var(--gold-2);
  font-size:11px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.rental-head-card strong{font-family:"General Sans",Inter,system-ui,sans-serif;font-size:36px;line-height:1}
.rental-head-card small{color:rgba(255,253,250,.62);font-weight:760}
.rental-head-card .btn{justify-self:start}
.leasing-pills{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}
.leasing-pills span{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border:1px solid rgba(255,225,97,.22);
  border-radius:999px;
  background:rgba(255,253,250,.075);
  color:rgba(255,253,250,.78);
  backdrop-filter:blur(16px);
}
.rental-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:18px;align-items:stretch}
.rental-command,.rent-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(253,106,53,.30);
  border-radius:var(--radius);
  background:
    linear-gradient(45deg,transparent 0 47%,rgba(253,106,53,.07) 49%,transparent 53% 100%),
    linear-gradient(135deg,transparent 0 47%,rgba(15,92,87,.10) 49%,transparent 53% 100%),
    linear-gradient(145deg,rgba(255,253,250,.14),rgba(255,253,250,.055));
  background-size:var(--diamond-box-size) var(--diamond-box-size),var(--diamond-box-size) var(--diamond-box-size),auto;
  background-position:0 0,0 0,center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 28px 80px rgba(0,0,0,.24);
  backdrop-filter:blur(26px) saturate(1.3);
}
.rental-command{padding:28px}
.rental-command h3{margin:0 0 12px;font-size:42px;line-height:.98}
.rental-command p:not(.eyebrow){color:rgba(255,253,250,.72)}
.rental-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.rent-card{display:grid;align-content:end;min-height:280px;padding:20px;transition:transform .42s var(--ease),border-color .3s ease,background .3s ease}
.rent-card:hover{transform:translateY(-5px);border-color:rgba(253,106,53,.48);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 34px 92px rgba(0,0,0,.30)}
.rent-card::before{content:"";position:absolute;inset:12px;border:1px solid rgba(255,225,97,.18);border-radius:var(--radius);pointer-events:none}
.rent-card span{width:max-content;padding:7px 10px;border:1px solid rgba(255,225,97,.34);border-radius:999px;color:var(--gold-2);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.1em}
.rent-card h3{position:relative;margin:42px 0 8px;font-size:30px;line-height:1}
.rent-card p,.rent-card small{position:relative;color:rgba(255,253,250,.68)}
.rent-card strong{position:relative;color:var(--gold-2);font-family:"General Sans",Inter,system-ui,sans-serif;font-size:31px;letter-spacing:.01em;text-shadow:0 12px 32px rgba(253,106,53,.14)}

.renter-shell{display:grid;gap:24px}
.renter-dashboard{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:20px;
  align-items:stretch;
}
.renter-welcome,.renter-request{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.74);
  border-radius:var(--radius);
  background:linear-gradient(145deg,rgba(255,253,250,.82),rgba(255,253,250,.5));
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(28px) saturate(1.25);
}
.renter-welcome{padding:28px}
.renter-welcome h2{margin:0 0 12px;font-size:48px;line-height:1}
.renter-welcome p:not(.eyebrow){color:var(--muted);font-size:18px}
.renter-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.renter-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.lease-line{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:6px 14px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid rgba(36,34,40,.09);
}
.lease-line span{grid-row:span 2;padding:7px 10px;border:1px solid rgba(253,82,27,.28);border-radius:999px;color:var(--teal);background:rgba(255,253,250,.58);font-size:11px;font-weight:950;text-transform:uppercase}
.lease-line strong{font-size:15px}
.lease-line small{color:var(--muted)}
.lease-line b{grid-row:span 2;color:var(--gold);font-family:"General Sans",Inter,system-ui,sans-serif;font-size:25px;letter-spacing:.01em}
.renter-request{grid-template-columns:repeat(2,1fr)}
.renter-request h2,.renter-request textarea,.renter-request button{grid-column:1/-1}
.renter-request h2{margin:0;font-size:38px}

.page-hero{
  position:relative;
  overflow:hidden;
  color:#fffdfa;
  padding:105px 5vw;
  background:
    linear-gradient(90deg,rgba(13,15,13,.9),rgba(16,24,21,.62) 52%,rgba(26,26,30,.22)),
    linear-gradient(180deg,rgba(26,26,30,.04),rgba(26,26,30,.54)),
    url("brand/mark-orange.svg") 108% 135%/40% no-repeat,#1f1f22;
}
.page-hero>*{position:relative;z-index:2}
.page-hero::before{
  content:"HomeSeek";
  position:absolute;
  left:5vw;
  top:44px;
  z-index:1;
  color:rgba(255,225,97,.08);
  font-family:"General Sans",Inter,system-ui,sans-serif;
  font-size:clamp(64px,12vw,160px);
  line-height:1;
  white-space:nowrap;
}
.page-hero.compact{min-height:318px;display:grid;align-content:end}
.page-hero p{max-width:760px;color:rgba(255,253,250,.74)}
.page-hero.listing-hero{background-image:linear-gradient(90deg,rgba(13,15,13,.9),rgba(16,24,21,.58) 52%,rgba(26,26,30,.18)),linear-gradient(180deg,rgba(26,26,30,.02),rgba(26,26,30,.56)),url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1800&q=82")}
.page-hero.advisors-hero{background-image:linear-gradient(90deg,rgba(13,15,13,.9),rgba(16,24,21,.58) 54%,rgba(26,26,30,.18)),linear-gradient(180deg,rgba(26,26,30,.04),rgba(26,26,30,.52)),url("https://images.unsplash.com/photo-1494790108377-be9c29b29330?auto=format&fit=crop&w=1800&q=82");background-position:center 35%}
.page-hero.projects-hero{background-image:linear-gradient(90deg,rgba(13,15,13,.9),rgba(16,24,21,.56) 52%,rgba(26,26,30,.2)),linear-gradient(180deg,rgba(26,26,30,.04),rgba(26,26,30,.56)),url("https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1800&q=82")}
.page-hero.communities-hero{background-image:linear-gradient(90deg,rgba(13,15,13,.9),rgba(16,24,21,.54) 52%,rgba(26,26,30,.18)),linear-gradient(180deg,rgba(26,26,30,.04),rgba(26,26,30,.52)),url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1800&q=82")}
.page-hero.areas-hero{background-image:linear-gradient(90deg,rgba(13,15,13,.9),rgba(16,24,21,.54) 52%,rgba(26,26,30,.18)),linear-gradient(180deg,rgba(26,26,30,.04),rgba(26,26,30,.52)),url("https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=1800&q=82")}
.page-hero.buyer-hero{background-image:linear-gradient(90deg,rgba(13,15,13,.9),rgba(16,24,21,.52) 52%,rgba(26,26,30,.18)),linear-gradient(180deg,rgba(26,26,30,.04),rgba(26,26,30,.52)),url("https://images.unsplash.com/photo-1600047509807-ba8f99d2cdde?auto=format&fit=crop&w=1800&q=82")}
.page-hero.owner-hero{background-image:linear-gradient(90deg,rgba(13,15,13,.9),rgba(16,24,21,.52) 52%,rgba(26,26,30,.18)),linear-gradient(180deg,rgba(26,26,30,.04),rgba(26,26,30,.52)),url("https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=1800&q=82")}
.page-hero.contact-hero{background-image:linear-gradient(90deg,rgba(13,15,13,.9),rgba(16,24,21,.52) 52%,rgba(26,26,30,.18)),linear-gradient(180deg,rgba(26,26,30,.04),rgba(26,26,30,.52)),url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1800&q=82")}
.listing-shell{display:grid;grid-template-columns:312px minmax(0,1fr);gap:24px;align-items:start}
.filter-rail{
  position:sticky;
  top:86px;
  z-index:20;
  display:grid;
  grid-template-columns:1fr;
  gap:13px;
  padding:18px;
  border:1px solid rgba(255,255,255,.74);
  border-radius:var(--radius);
  background:linear-gradient(145deg,rgba(255,253,250,.78),rgba(255,253,250,.48));
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(30px) saturate(1.25);
}
.filter-rail:has(.lux-select.open),
.listing-shell:has(.lux-select.open),
.search-panel:has(.lux-select.open),
.panel:has(.lux-select.open),
.contact-card:has(.lux-select.open),
.lux-form:has(.lux-select.open){
  overflow:visible;
  z-index:120;
}
.filter-rail label{display:grid;gap:7px;color:#3d3c41;font-weight:850;font-size:13px}
.filter-title{display:flex;align-items:center;justify-content:space-between;font-size:21px;font-family:"General Sans",Inter,system-ui,sans-serif;font-weight:700}
.filter-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.filter-close,.mobile-filter-toggle{display:none}
.listing-results{min-width:0}
.listing-results .property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.toolbar{align-items:center}
.toolbar strong{font-size:24px}
.property-grid.list{grid-template-columns:1fr}
.property-grid.list .property-card{display:grid;grid-template-columns:340px 1fr}
.property-grid.map-hidden{display:none}
.property-map{position:relative;isolation:isolate;min-height:560px;overflow:hidden;border:1px solid rgba(255,255,255,.74);border-radius:var(--radius);background:radial-gradient(circle at 18% 22%,rgba(253,106,53,.26),transparent 18%),radial-gradient(circle at 78% 68%,rgba(15,90,82,.22),transparent 24%),linear-gradient(135deg,#dce4d1,#b9cec2 48%,#e7d8b7);box-shadow:var(--shadow-soft)}
.map-gridlines{position:absolute;inset:0;opacity:.5;background:linear-gradient(27deg,transparent 47%,rgba(56,79,65,.22) 48% 49%,transparent 50%),linear-gradient(117deg,transparent 47%,rgba(255,253,250,.52) 48% 49%,transparent 50%),repeating-linear-gradient(0deg,transparent 0 54px,rgba(43,64,52,.1) 55px 56px);background-size:110px 110px,150px 150px,100% 56px}
.map-caption{position:absolute;z-index:2;left:18px;right:18px;top:18px;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 13px;border:1px solid rgba(255,255,255,.58);border-radius:12px;color:#fffdfa;background:rgba(26,26,30,.42);backdrop-filter:blur(18px) saturate(1.15)}
.map-caption span{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800}.map-caption .ico{width:15px;height:15px;color:var(--gold-2)}.map-caption small{color:rgba(255,253,250,.72);font-size:11px}
.map-pin{position:absolute;z-index:3;transform:translate(-50%,-50%);display:grid;gap:3px;max-width:150px;padding:8px 10px;border:1px solid rgba(255,255,255,.55);border-radius:11px;color:#fffdfa;background:rgba(26,26,30,.62);box-shadow:0 12px 24px rgba(26,26,30,.2);backdrop-filter:blur(16px) saturate(1.15);transition:transform .25s var(--ease),background .25s ease}.map-pin:hover{transform:translate(-50%,-56%);color:#fffdfa;background:rgba(15,90,82,.86)}.map-pin span{color:var(--gold-2);font-size:11px;font-weight:850;font-variant-numeric:lining-nums tabular-nums}.map-pin b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700}

/* Landing page: the first viewport must be immediately legible and decisive. */
.hero-content{opacity:1;filter:none}
@media (max-width:720px){
  .hero{min-height:0;align-items:end}
  .hero-media{background:linear-gradient(180deg,rgba(26,26,30,.08),rgba(26,26,30,.78)),linear-gradient(90deg,rgba(26,26,30,.54),rgba(26,26,30,.08)),url("brand/mark-orange.svg") 122% 108%/72% no-repeat,#1f1f22}
  .hero-content{width:100%;padding:28px 16px 20px;background:linear-gradient(180deg,transparent,rgba(26,26,30,.12))}
  .hero-kicker{margin-bottom:11px}.hero-kicker span:nth-child(n+2){display:none}
  .hero h1,.hero h1 em{color:#fffdfa!important;-webkit-text-fill-color:#fffdfa!important;text-shadow:0 8px 34px rgba(0,0,0,.72)}
  .hero h1{margin-bottom:10px;font-size:39px;line-height:.96}.hero h1::after{width:112px;margin-top:14px}
  .hero p{color:rgba(255,253,250,.92)!important;font-size:14.5px;line-height:1.48;text-shadow:0 4px 18px rgba(0,0,0,.62)}
  .hero .search-panel{margin-top:16px;padding:9px;gap:7px;border-radius:15px;background:rgba(255,253,250,.86);border-color:rgba(255,255,255,.7);box-shadow:0 16px 42px rgba(0,0,0,.28);backdrop-filter:blur(18px) saturate(1.15)}
  .hero .search-panel label span{color:#6d6151;font-size:8.5px}.hero .search-panel input,.hero .search-panel select,.hero .search-panel .lux-select-btn{min-height:43px;background:rgba(255,253,250,.96)}
  .hero .search-panel button{min-height:45px;border-radius:11px}.hero-trust{margin-top:11px}.hero-trust span{min-height:29px;padding:6px 8px;font-size:8.5px}.hero-trust span:nth-child(3){display:none}
  .scroll-cue{display:none}
}
.property-grid.list .card-media{height:100%}

.detail-hero{
  display:grid;
  grid-template-columns:1.55fr .78fr;
  gap:24px;
  padding:24px 5vw 58px;
  color:#fffdfa;
  background:
    radial-gradient(ellipse at 50% 50%,rgba(253,82,27,.05) 0 18%,rgba(15,92,87,.035) 42%,transparent 65%),
    linear-gradient(45deg,transparent 0 47%,rgba(253,82,27,.11) 49%,rgba(20,66,58,.13) 50%,transparent 53% 100%),
    linear-gradient(135deg,transparent 0 47%,rgba(99,70,38,.16) 49%,rgba(253,106,53,.06) 50%,transparent 53% 100%),
    radial-gradient(circle at 16% 18%,rgba(253,106,53,.18),transparent 25rem),
    linear-gradient(135deg,#1f1f22,#2b2115 48%,#7a1d10 80%,#0f332f);
  background-size:var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),auto,100% 100%;
  background-position:0 0,0 0,0 0,center,center;
}
.gallery{display:grid;grid-template-columns:2fr 1fr;gap:10px}
.gallery img{width:100%;height:255px;object-fit:cover;border-radius:var(--radius);box-shadow:0 20px 58px rgba(0,0,0,.2)}
.gallery img:first-child{grid-row:span 2;height:520px}
.detail-summary{
  align-self:end;
  position:relative;
  overflow:hidden;
  padding:32px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:var(--radius);
  background:rgba(255,253,250,.12);
  box-shadow:0 32px 90px rgba(0,0,0,.27),inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter:blur(30px) saturate(1.35);
}
.detail-summary h1{margin:46px 0 10px;font-size:50px;line-height:.96}
.price{display:block;color:var(--gold-2);font-family:"General Sans",Inter,system-ui,sans-serif;font-size:38px;line-height:1.05;letter-spacing:.01em;text-shadow:0 16px 40px rgba(253,106,53,.16)}
.detail-summary .btn{margin-right:8px;margin-top:8px}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:32px;align-items:start}
.detail-layout main,.contact-card,.panel{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.74);
  border-radius:var(--radius);
  background:linear-gradient(145deg,rgba(255,253,250,.78),rgba(255,253,250,.48));
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(28px) saturate(1.25);
}
.detail-layout main{padding:34px}
.detail-layout main h2,.panel h2{font-size:34px;margin:28px 0 12px}
.detail-layout main h2:first-child{margin-top:0}
.detail-layout main p{color:var(--muted);font-size:18px}
.contact-card{position:sticky;top:90px;padding:20px}
.contact-card img{width:100%;height:250px;object-fit:cover;border-radius:var(--radius)}
.contact-card form,.lux-form,.admin-form{display:grid;gap:12px;margin-top:18px}
.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}
.spec-grid div{padding:16px;border:1px solid rgba(255,255,255,.68);border-radius:var(--radius);background:rgba(255,253,250,.58)}
.spec-grid span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.tour-box,.map-box,.empty-state{padding:28px;border:1px dashed rgba(36,34,40,.2);border-radius:var(--radius);color:var(--muted);background:rgba(255,253,250,.5)}

.agent-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.agent-card{
  padding:16px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:var(--radius);
  background:linear-gradient(145deg,rgba(255,253,250,.78),rgba(255,253,250,.48));
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(26px);
  transition:transform .42s var(--ease),box-shadow .42s var(--ease);
}
.agent-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.agent-card img,.agent-profile img{width:100%;height:220px;object-fit:cover;object-position:center 20%;border-radius:var(--radius)}
.agent-card h3{margin:14px 0 8px;font-size:27px}
.agent-card p{color:var(--muted);font-size:14px}
.agent-profile{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:end}
.narrow{max-width:760px;margin:auto}
.prose{max-width:900px;font-size:20px;color:var(--muted)}
.lux-form,.login-card{padding:30px;border:1px solid rgba(255,255,255,.74);border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,253,250,.8),rgba(255,253,250,.5));box-shadow:var(--shadow-soft);backdrop-filter:blur(28px) saturate(1.25)}
.lux-form{position:relative;overflow:hidden}
.login-shell{min-height:80vh;display:grid;place-items:center;padding:40px;background:radial-gradient(circle at 30% 20%,rgba(253,106,53,.26),transparent 24rem),linear-gradient(135deg,#faf6f0,#f0e6d5)}
.login-card{width:min(460px,92vw);display:grid;gap:14px;position:relative;overflow:hidden}
.login-card h1{margin:0;font-size:38px}
.site-footer{display:flex;justify-content:space-between;gap:20px;padding:36px 5vw;color:#fffdfa;background:rgba(26,26,30,.94);backdrop-filter:blur(24px)}
.site-footer p,.site-footer a{color:rgba(255,253,250,.7)}
.toast-wrap{position:fixed;right:18px;top:86px;z-index:70;display:grid;gap:10px}
.toast{padding:14px 16px;border:1px solid rgba(255,255,255,.68);border-left:4px solid var(--ok);border-radius:var(--radius);background:rgba(255,253,250,.82);box-shadow:var(--shadow);backdrop-filter:blur(22px)}
.toast.visible{animation:toastIn .36s var(--ease)}
.toast.error{border-left-color:var(--danger)}

.admin-body{
  background:
    radial-gradient(ellipse at 50% 50%,rgba(255,253,250,.16) 0 18%,rgba(255,253,250,.07) 40%,transparent 64%),
    linear-gradient(45deg,transparent 0 47%,rgba(125,96,58,.10) 49%,rgba(255,255,255,.28) 50%,transparent 53% 100%),
    linear-gradient(135deg,transparent 0 47%,rgba(255,255,255,.30) 49%,rgba(118,91,55,.09) 50%,transparent 53% 100%),
    radial-gradient(circle at 8% 8%,rgba(253,106,53,.26),transparent 26rem),
    linear-gradient(135deg,#f8f3ed,#eee5da 58%,#fbf7f2);
  background-size:var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),auto,100% 100%;
}
.sidebar{position:fixed;inset:0 auto 0 0;width:270px;padding:22px;color:#fffdfa;background:linear-gradient(160deg,rgba(26,26,30,.9),rgba(32,42,35,.78));border-right:1px solid rgba(255,255,255,.18);box-shadow:26px 0 70px rgba(31,31,34,.18);backdrop-filter:blur(32px) saturate(1.35);overflow:auto}
.sidebar nav{display:grid;gap:6px;margin-top:26px}
.sidebar a{padding:10px 12px;border-radius:var(--radius);color:rgba(255,253,250,.76);font-weight:830;transition:background .28s ease,color .28s ease,transform .28s var(--ease)}
.sidebar a:hover{background:rgba(255,255,255,.12);color:#fffdfa;transform:translateX(3px)}
.sidebar-label{margin:12px 0 0;color:rgba(255,253,250,.56);font-size:12px;font-weight:820;letter-spacing:.08em;text-transform:uppercase}
.admin-main{margin-left:270px;padding:24px}
.admin-top{position:sticky;top:16px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px;padding:18px 22px;border:1px solid rgba(255,255,255,.74);border-radius:var(--radius);background:rgba(255,253,250,.72);box-shadow:var(--shadow-soft);backdrop-filter:blur(30px) saturate(1.35)}
.admin-top h1{margin:0;font-size:34px}
.top-actions{display:flex;gap:10px;align-items:center}
.top-actions a{padding:10px 12px;border:1px solid rgba(255,255,255,.72);border-radius:var(--radius);background:rgba(255,253,250,.64);font-weight:850}
.admin-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:18px;padding:24px;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);color:#fffdfa;background:radial-gradient(ellipse at 50% 50%,rgba(253,82,27,.06) 0 18%,rgba(15,92,87,.04) 42%,transparent 65%),linear-gradient(45deg,transparent 0 47%,rgba(253,82,27,.11) 49%,rgba(20,66,58,.13) 50%,transparent 53% 100%),linear-gradient(135deg,transparent 0 47%,rgba(99,70,38,.16) 49%,rgba(253,106,53,.06) 50%,transparent 53% 100%),linear-gradient(135deg,rgba(26,26,30,.92),rgba(15,92,87,.78));background-size:var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),100% 100%;background-position:0 0,0 0,0 0,center;box-shadow:var(--shadow)}
.admin-hero h2{margin:0 0 10px;font-size:clamp(30px,3.5vw,52px);line-height:1}
.admin-hero p:not(.eyebrow){max-width:620px;margin:0;color:rgba(255,253,250,.72)}
.admin-grid.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}
.metric{position:relative;overflow:hidden;padding:20px;border:1px solid rgba(255,255,255,.74);border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,253,250,.78),rgba(255,253,250,.48));box-shadow:var(--shadow-soft);backdrop-filter:blur(26px) saturate(1.25)}
.metric span{display:block;color:var(--muted);font-weight:820}
.metric strong{color:var(--teal);font-family:"General Sans",Inter,system-ui,sans-serif;font-size:38px;line-height:1;letter-spacing:.01em}
.metric small{display:block;margin-top:14px;color:var(--muted);font-weight:780}
.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.panel{padding:20px;margin-bottom:18px}
.table-actions{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:16px}
.table-actions form{display:flex;gap:10px;max-width:560px;flex:1}
.table-wrap{position:relative;z-index:1;overflow:auto;border-radius:var(--radius)}
table{width:100%;min-width:850px;border-collapse:separate;border-spacing:0}
th,td{text-align:left;padding:13px;border-bottom:1px solid rgba(36,34,40,.09);vertical-align:top;background:rgba(255,253,250,.24)}
th{font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.08em;background:rgba(255,253,250,.58)}
tbody tr:hover td{background:rgba(255,253,250,.64)}
.badge-cell{font-weight:900;color:var(--teal)}
.row-actions{display:flex;gap:8px;align-items:center}
.row-actions a,.row-actions button{min-height:36px;padding:8px 10px;border:1px solid rgba(255,255,255,.72);border-radius:var(--radius);color:var(--ink);background:rgba(255,253,250,.64);box-shadow:none;font-size:13px}
.row-actions form{margin:0}
.admin-form,.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.admin-form label,.settings-grid label{font-weight:850;color:#3d3c41}
.admin-form textarea,.settings-grid textarea{grid-column:1/-1}
.admin-form button,.settings-grid button{grid-column:1/-1;justify-self:start}
.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
canvas{max-height:320px}
.chart-panel{min-height:390px}
.activity-line{display:grid;grid-template-columns:110px 1fr;gap:8px 14px;padding:13px 0;border-bottom:1px solid rgba(36,34,40,.09)}
.activity-line span{grid-row:span 2;align-self:center;justify-self:start;padding:7px 10px;border:1px solid rgba(255,255,255,.7);border-radius:999px;color:var(--teal);background:rgba(255,253,250,.62);font-size:12px;font-weight:900}
.activity-line strong{font-size:15px}
.activity-line small{color:var(--muted)}

.reveal{opacity:0;transform:translateY(28px) scale(.985);filter:blur(8px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease)}
.reveal.visible{opacity:1;transform:none;filter:none}
.property-grid .reveal:nth-child(2n){transition-delay:90ms}
.property-grid .reveal:nth-child(3n){transition-delay:160ms}
.tilt-card{will-change:transform}
@keyframes heroBreath{from{transform:scale(1.04) translateY(0)}to{transform:scale(1.1) translateY(-12px)}}
@keyframes scrollCue{0%,100%{transform:translateY(-2px) rotate(45deg);opacity:.55}50%{transform:translateY(4px) rotate(45deg);opacity:1}}
@keyframes toastIn{from{opacity:0;transform:translate3d(14px,-6px,0) scale(.96)}to{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media (max-width:1100px){
  .search-panel{grid-template-columns:1fr 1fr}
  .property-grid,.agent-grid{grid-template-columns:repeat(2,1fr)}
  .location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail-hero,.detail-layout,.split,.admin-columns,.listing-shell{grid-template-columns:1fr}
  .rental-grid{grid-template-columns:1fr 1fr}
  .rental-head{grid-template-columns:1fr}
  .rental-command{grid-column:1/-1}
  .renter-dashboard,.renter-grid{grid-template-columns:1fr}
  .renter-metrics{grid-template-columns:repeat(3,1fr)}
  .filter-rail,.contact-card{position:relative;top:0}
  .admin-grid.cards{grid-template-columns:repeat(2,1fr)}
  .sidebar{position:static;width:auto}
  .admin-main{margin-left:0}
  .sidebar nav{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:720px){
  body{
    background:
      radial-gradient(ellipse at 50% 50%,rgba(255,253,250,.16) 0 18%,rgba(255,253,250,.07) 40%,transparent 64%),
      linear-gradient(45deg,transparent 0 47%,rgba(125,96,58,.12) 49%,rgba(255,255,255,.30) 50%,transparent 53% 100%),
      linear-gradient(135deg,transparent 0 47%,rgba(255,255,255,.32) 49%,rgba(118,91,55,.10) 50%,transparent 53% 100%),
      radial-gradient(ellipse at 50% -10%,rgba(255,244,215,.7),transparent 28rem),
      linear-gradient(135deg,#f8f3ed,#eee5da 56%,#fbf7f2);
    background-size:var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),auto,100% 100%;
  }
  .site-nav{align-items:center;padding:12px 18px}
  .brand{font-size:13px;min-width:0}
  .logo-mark{width:34px;height:34px}
  .brand-text{max-width:188px;overflow:hidden;text-overflow:ellipsis}
  .brand-text small{display:none}
  .menu-toggle{display:inline-flex;flex-direction:column}
  .site-nav .nav-links{
    display:grid;
    position:absolute;
    left:14px;
    right:14px;
    top:66px;
    padding:14px;
    border:1px solid rgba(255,255,255,.82);
    border-radius:var(--radius);
    background:rgba(255,253,250,.9);
    box-shadow:var(--shadow);
    backdrop-filter:blur(22px);
    opacity:0;
    transform:translateY(-10px);
    pointer-events:none;
    transition:.32s var(--ease);
  }
  body.nav-open .site-nav .nav-links{opacity:1;transform:none;pointer-events:auto}
  .hero{min-height:calc(100svh - 92px)}
  .hero-media{background:
    linear-gradient(180deg,rgba(26,26,30,.28),rgba(26,26,30,.88)),
    linear-gradient(90deg,rgba(26,26,30,.72),rgba(26,26,30,.18)),
    url("brand/mark-orange.svg") 120% 106%/74% no-repeat,
    #1f1f22}
  .hero-content{padding:24px 18px 18px}
  .hero-content::before{display:none}
  .hero-kicker{margin-bottom:12px}
  .hero-kicker span{min-height:30px;padding:6px 10px;font-size:10px}
  .hero h1{margin-bottom:12px;font-size:clamp(35px,10.8vw,46px);line-height:.96}
  .hero p{font-size:15px;line-height:1.45}
  .property-grid,.property-grid.small,.agent-grid,.stats,.feature-list,.spec-grid,.admin-grid.cards,.admin-form,.settings-grid,.report-grid{grid-template-columns:1fr}
  .search-panel{grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;padding:9px}
  .search-panel label:first-child,.search-panel button{grid-column:1/-1}
  .search-panel label{gap:4px}
  .search-panel input,.search-panel select{min-height:40px;padding:10px 11px}
  .hero-actions{margin-top:14px}
  .hero-actions .btn{flex:1 1 calc(50% - 6px);padding:11px 12px;font-size:12px}
  .scroll-cue{display:none}
  .section{padding:58px 18px}
  .section-head,.toolbar,.admin-top,.site-footer,.table-actions{display:grid;align-items:start}
  .section h2,.page-hero h1{font-size:clamp(34px,11vw,48px)}
  .rental-grid,.renter-dashboard,.renter-grid,.renter-metrics,.renter-request{grid-template-columns:1fr}
  .rental-head{grid-template-columns:1fr;gap:12px}
  .rental-head>div:first-child,.rental-head-card{padding:18px}
  .rental-head h2{font-size:clamp(36px,11vw,48px)}
  .rental-head p:not(.eyebrow){font-size:15px}
  .leasing-pills{gap:7px;margin-bottom:14px}
  .leasing-pills span{min-height:32px;padding:7px 10px;font-size:9.5px}
  .rental-command{grid-column:auto}
  .rental-command h3,.renter-welcome h2{font-size:36px}
  .lease-line{grid-template-columns:1fr}
  .lease-line span,.lease-line b{grid-row:auto}
  .property-grid{display:flex;overflow-x:auto;gap:16px;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:none}
  .property-grid::-webkit-scrollbar,.location-grid::-webkit-scrollbar{display:none}
  .property-card{min-width:86vw;scroll-snap-align:start}
  .listing-results .property-grid{display:grid;grid-template-columns:1fr;overflow:visible}
  .listing-results .property-card{min-width:0}
  .location-grid{display:flex;overflow-x:auto;gap:16px;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:none}
  .location-card{min-width:78vw;scroll-snap-align:start}
  .page-hero{padding:74px 18px}
  .filter-rail{
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;
    top:auto;
    z-index:60;
    max-height:82vh;
    overflow:auto;
    transform:translateY(110%);
    transition:transform .42s var(--ease);
    box-shadow:var(--shadow);
  }
  body.filters-open .filter-rail{transform:none}
  .filter-close,.mobile-filter-toggle{display:inline-flex}
  .detail-hero{padding:12px;gap:12px}
  .gallery{grid-template-columns:1fr}
  .gallery img,.gallery img:first-child{height:245px}
  .detail-summary h1{font-size:38px}
  .property-grid.list .property-card{display:block}
  .property-grid.list .card-media{height:292px}
  .agent-profile{grid-template-columns:1fr}
  .top-actions{display:grid;width:100%}
  .sidebar nav{grid-template-columns:1fr 1fr}
  .admin-main{padding:16px}
  .admin-hero{display:grid}
  .activity-line{grid-template-columns:1fr}
  .activity-line span{grid-row:auto}
}

/* Management upgrade: forms, photos, alerts */
.admin-form .span-all{grid-column:1/-1}
.check-line{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#3d3c41;padding:6px 0}
.check-line input{width:auto;accent-color:var(--gold)}
.amenity-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px 14px;margin-top:8px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--glass)}
.image-manager{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:14px}
.image-tile{position:relative;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--glass-strong);padding:10px;display:grid;gap:8px}
.image-tile img{width:100%;height:130px;object-fit:cover;border-radius:6px}
.image-tile .badge{justify-self:start;background:var(--gold);color:#fff;padding:2px 10px;border-radius:99px;font-size:.78rem;font-weight:700}
.image-tile form{margin:0}
.image-tile button{width:100%;padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--cream);cursor:pointer;font-weight:650}
.image-tile button:hover{background:var(--champagne)}
.alert-panel h2{color:var(--ruby)}
.alert-panel .activity-line span{background:rgba(143,45,37,.12);color:var(--danger);font-weight:700;border-radius:99px;padding:2px 10px}
.alert-panel .activity-line a{color:var(--teal);font-weight:700}
.row-actions{white-space:nowrap}
.row-actions form{display:inline-block;margin:0 4px}
.row-actions button{padding:4px 10px;border:1px solid var(--line);border-radius:6px;background:var(--cream);cursor:pointer;font-weight:650}
.row-actions button:hover{background:var(--champagne)}

/* ===== Premium platform upgrade ===== */

/* Login */
.login-sub{margin:0;color:var(--muted);font-size:15px}
.login-card label{display:grid;gap:6px;font-weight:800;color:#3d3c41;font-size:13px}
.login-hint{margin:4px 0 0;color:var(--muted);font-size:12.5px}
.demo-login-list{display:grid;gap:7px;margin-top:4px;padding-top:14px;border-top:1px solid rgba(36,34,40,.1)}
.demo-login-list>p{margin:0 0 2px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.demo-login{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 12px;border:1px solid rgba(253,82,27,.22);border-radius:12px;color:var(--ink);background:rgba(255,253,250,.62);box-shadow:none;text-align:left}
.demo-login span{font-size:13px;font-weight:900}.demo-login small{color:var(--muted);font-size:11px;font-weight:750}.demo-login:hover{transform:translateY(-1px);color:var(--teal);background:rgba(255,225,97,.38);box-shadow:none}

/* Premium footer */
.site-footer{
  display:block;
  padding:0;
  color:#fffdfa;
  background:
    radial-gradient(ellipse at 50% 50%,rgba(253,82,27,.052) 0 18%,rgba(15,92,87,.038) 42%,transparent 65%),
    linear-gradient(45deg,transparent 0 47%,rgba(253,82,27,.105) 49%,rgba(20,66,58,.13) 50%,transparent 53% 100%),
    linear-gradient(135deg,transparent 0 47%,rgba(99,70,38,.16) 49%,rgba(253,106,53,.055) 50%,transparent 53% 100%),
    radial-gradient(42rem 28rem at 18% 8%,rgba(253,106,53,.22),transparent 62%),
    radial-gradient(34rem 24rem at 82% 18%,rgba(15,92,87,.18),transparent 64%),
    linear-gradient(160deg,rgba(26,26,30,.98),rgba(28,25,19,.97) 54%,rgba(13,31,29,.94));
  background-size:var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),auto,auto,100% 100%;
  background-position:0 0,0 0,0 0,center,center,center;
  backdrop-filter:blur(24px);
  overflow:hidden;
}
.footer-shell{
  position:relative;
  z-index:2;
  width:min(1320px,100%);
  margin:0 auto;
  padding:0 5vw 34px;
}
.footer-atelier{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);
  gap:22px;
  align-items:stretch;
  margin-top:-14px;
}
.footer-brand,.footer-metrics,.footer-concierge,.site-footer .footer-col{
  position:relative;
  border:1px solid rgba(255,225,97,.24);
  border-radius:var(--radius);
  background:
    linear-gradient(45deg,transparent 0 47%,rgba(253,106,53,.07) 49%,transparent 53% 100%),
    linear-gradient(135deg,transparent 0 47%,rgba(15,92,87,.10) 49%,transparent 53% 100%),
    linear-gradient(145deg,rgba(255,253,250,.14),rgba(255,253,250,.055)),
    linear-gradient(135deg,rgba(255,225,97,.09),transparent 58%);
  background-size:var(--diamond-box-size) var(--diamond-box-size),var(--diamond-box-size) var(--diamond-box-size),auto,auto;
  background-position:0 0,0 0,center,center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -1px 0 rgba(253,106,53,.06),0 30px 80px rgba(0,0,0,.24);
  backdrop-filter:blur(28px) saturate(1.25);
}
.footer-brand{padding:26px;display:grid;align-content:start;justify-items:start}
.footer-brand .logo-mark{width:54px;height:54px;margin-bottom:18px}
.footer-kicker{color:var(--gold-2);font-size:11px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}
.footer-brand p{max-width:560px;margin:14px 0 0;color:rgba(255,253,250,.68);font-size:15.5px;line-height:1.7}
.footer-brand strong{display:block;margin-top:6px;color:#fffdfa;font-family:"General Sans",Inter,system-ui,sans-serif;font-size:clamp(34px,4vw,56px);line-height:.92}
.footer-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:10px}
.footer-metrics a{
  min-height:122px;
  display:grid;
  align-content:center;
  gap:8px;
  padding:18px;
  border-radius:7px;
  color:#fffdfa;
  background:rgba(255,253,250,.055);
  transition:background .3s ease,transform .34s var(--ease);
}
.footer-metrics a:hover{transform:translateY(-3px);background:rgba(255,225,97,.13)}
.footer-metrics b{color:var(--gold-2);font-family:"General Sans",Inter,system-ui,sans-serif;font-size:38px;line-height:1;font-weight:700}
.footer-metrics span{max-width:120px;color:rgba(255,253,250,.62);font-size:12px;font-weight:820;line-height:1.35}
.footer-grid{display:grid;grid-template-columns:1fr 1fr minmax(340px,1.45fr);gap:18px;padding:18px 0 0}
.site-footer .footer-col{display:grid;grid-auto-flow:row;justify-items:stretch;align-items:start;gap:8px;align-content:start;padding:20px}
.site-footer .footer-col strong{color:var(--gold-2);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}
.site-footer .footer-col a{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0;
  padding:9px 11px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:7px;
  color:rgba(255,253,250,.72);
  background:rgba(255,253,250,.035);
  font-size:14px;
  font-weight:780;
  transition:color .24s ease,background .24s ease,border-color .24s ease,transform .28s var(--ease);
}
.site-footer .footer-col a::after{content:"";width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);opacity:.58}
.site-footer .footer-col a:hover{color:#fffdfa;background:rgba(255,225,97,.11);border-color:rgba(253,106,53,.24);transform:translateX(3px)}
.footer-concierge{padding:22px;display:grid;gap:14px;align-content:start}
.footer-concierge strong{max-width:360px;font-family:"General Sans",Inter,system-ui,sans-serif;font-size:34px;line-height:.98}
.footer-concierge p{margin:0;color:rgba(255,253,250,.66)}
.footer-contact{display:grid;gap:8px}
.footer-contact a{color:rgba(255,253,250,.78);font-weight:820}
.footer-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.footer-actions .btn{min-height:42px}
.footer-actions .btn.ghost{color:#fffdfa;border-color:rgba(255,255,255,.22);background:rgba(255,253,250,.08)}
.site-footer .footer-base nav{display:flex;gap:0;flex-wrap:wrap}
.footer-base{position:relative;z-index:2;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:18px 5vw;border-top:1px solid rgba(255,253,250,.12);color:rgba(255,253,250,.52);font-size:13px;background:rgba(26,26,30,.3);backdrop-filter:blur(18px)}
.footer-base a{color:rgba(255,253,250,.66);margin-left:16px}

@media (max-width:980px){
  .footer-shell{padding:0 20px 28px}
  .footer-atelier,.footer-grid{grid-template-columns:1fr}
  .footer-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:640px){
  .footer-shell{padding:0 14px 24px}
  .footer-atelier{gap:12px;margin-top:-6px}
  .footer-brand,.footer-concierge,.site-footer .footer-col{padding:18px}
  .footer-brand .logo-mark{width:46px;height:46px;margin-bottom:14px}
  .footer-brand strong{font-size:36px}
  .footer-metrics{grid-template-columns:1fr;padding:8px}
  .footer-metrics a{min-height:82px;padding:14px}
  .footer-metrics span{max-width:none}
  .footer-grid{gap:12px;padding-top:12px}
  .footer-concierge strong{font-size:29px}
  .footer-actions{display:grid;grid-template-columns:1fr}
  .footer-actions .btn{width:100%}
  .footer-base{flex-direction:column;align-items:flex-start;padding:16px 20px}
  .footer-base a{margin:0 16px 0 0}
}

/* Admin top bar */
.top-heading{display:flex;align-items:center;gap:14px;min-width:0}
.crumbs{margin:0 0 2px;color:var(--muted);font-size:12px;font-weight:750}
.crumbs a{color:var(--teal)}
.crumbs b{opacity:.5;font-weight:400}
.sidebar-toggle{display:none;flex-direction:column;justify-content:center;gap:4px;width:44px;height:44px;padding:10px;border:1px solid rgba(255,255,255,.72);border-radius:var(--radius);background:rgba(255,253,250,.72);cursor:pointer}
.sidebar-toggle span{display:block;width:20px;height:2px;margin:0 auto;border-radius:2px;background:var(--ink)}
.top-search{display:flex;gap:0;flex:1;max-width:360px}
.top-search input{min-height:44px;border-radius:var(--radius) 0 0 var(--radius);border-right:0}
.top-search button{min-height:44px;padding:0 16px;border:1px solid rgba(36,34,40,.18);border-radius:0 var(--radius) var(--radius) 0;background:var(--ink);color:#fffdfa;font-weight:800;cursor:pointer}
.notif-link{position:relative}
.notif-badge{position:absolute;top:-7px;right:-9px;min-width:20px;height:20px;display:grid;place-items:center;padding:0 5px;border-radius:99px;background:var(--danger);color:#fff;font-size:11px;font-weight:850}

/* Sidebar */
.sidebar{display:flex;flex-direction:column}
.sidebar nav{flex:1}
.sidebar a.is-active{background:linear-gradient(90deg,rgba(253,106,53,.28),rgba(253,106,53,.08));color:var(--champagne)}
.sidebar-user{margin-top:18px;padding:14px;border:1px solid rgba(255,253,250,.16);border-radius:var(--radius);background:rgba(255,253,250,.06);display:grid;gap:2px}
.sidebar-user strong{color:#fffdfa;font-size:14.5px}
.sidebar-user small{color:rgba(255,253,250,.55);text-transform:capitalize}
.sidebar-user span{margin-top:6px;font-size:13px}
.sidebar-user a{color:var(--gold-2);font-weight:750}
.sidebar-scrim{display:none;position:fixed;inset:0;z-index:39;background:rgba(26,26,30,.45);backdrop-filter:blur(3px)}

/* Quick actions */
.quick-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.quick-actions a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid rgba(255,255,255,.74);border-radius:99px;background:rgba(255,253,250,.7);font-weight:800;font-size:14px;box-shadow:var(--shadow-soft);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.quick-actions a:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.quick-actions b{display:grid;place-items:center;width:22px;height:22px;border-radius:99px;background:var(--gold);color:#fff;font-size:15px}

/* Search results */
.search-hit{display:grid;gap:2px;padding:13px 10px;border-bottom:1px solid rgba(36,34,40,.09);border-radius:6px;transition:background .25s ease}
.search-hit:hover{background:rgba(255,253,250,.72)}
.search-hit strong{font-size:15.5px}
.search-hit small{color:var(--muted)}

/* Confirm modal */
.btn.danger{background:var(--danger);color:#fff;border:0}
.confirm-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:rgba(26,26,30,.5);backdrop-filter:blur(6px);opacity:0;transition:opacity .24s ease}
.confirm-modal[hidden]{display:none}
.confirm-modal.open{opacity:1}
.confirm-card{width:min(420px,100%);padding:26px;border:1px solid rgba(255,255,255,.8);border-radius:var(--radius);background:rgba(255,253,250,.96);box-shadow:var(--shadow);transform:translateY(10px) scale(.98);transition:transform .24s var(--ease)}
.confirm-modal.open .confirm-card{transform:none}
.confirm-card h3{margin:0 0 8px;font-size:24px}
.confirm-text{margin:0 0 20px;color:var(--muted)}
.confirm-actions{display:flex;gap:10px;justify-content:flex-end}
.confirm-actions .btn{min-height:44px;cursor:pointer}

/* Toast leave animation */
.toast{opacity:0;transform:translate3d(14px,-6px,0)}
.toast.visible{opacity:1;transform:none;transition:opacity .36s var(--ease),transform .36s var(--ease)}
.toast.leaving{opacity:0;transform:translate3d(20px,0,0)}

/* Image loading skeleton shimmer */
.card-media,.gallery{background:linear-gradient(100deg,rgba(36,34,40,.06) 30%,rgba(36,34,40,.12) 50%,rgba(36,34,40,.06) 70%);background-size:200% 100%;animation:shimmer 1.6s linear infinite}
.card-media img,.gallery img{background:#e9e0cf}
@keyframes shimmer{to{background-position:-200% 0}}

/* Bottom nav (mobile admin) */
.admin-bottom-nav{display:none}

/* Touch-friendly inputs everywhere */
input,select,textarea{font-size:16px}
button,.btn{cursor:pointer}

/* ===== Responsive admin ===== */
@media (max-width:1100px){
  .sidebar{position:fixed;inset:0 auto 0 0;width:288px;z-index:40;transform:translateX(-105%);transition:transform .38s var(--ease)}
  body.sidebar-open .sidebar{transform:none}
  body.sidebar-open .sidebar-scrim{display:block}
  .sidebar nav{display:grid;grid-template-columns:1fr}
  .sidebar-toggle{display:flex}
  .admin-main{margin-left:0}
}
@media (max-width:720px){
  .admin-main{padding:14px 14px 92px}
  .admin-top{position:static;padding:14px;gap:12px}
  .admin-top h1{font-size:26px}
  .top-actions{display:grid;grid-template-columns:1fr;gap:10px;width:100%}
  .top-search{max-width:none}
  .top-actions > a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .admin-hero{flex-direction:column;align-items:flex-start;gap:14px;padding:20px}
  .admin-hero .btn{width:100%;justify-content:center;text-align:center}
  .quick-actions a{flex:1 1 calc(50% - 5px);justify-content:center}
  .table-actions{grid-template-columns:1fr;gap:10px}
  .table-actions .btn{text-align:center}

  /* Tables become stacked cards */
  .table-wrap{overflow:visible;border-radius:0}
  table{min-width:0;border-spacing:0}
  thead{display:none}
  table,tbody,tr,td{display:block;width:100%}
  tbody tr{margin-bottom:14px;border:1px solid rgba(255,255,255,.78);border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,253,250,.85),rgba(255,253,250,.6));box-shadow:var(--shadow-soft);overflow:hidden}
  td{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:11px 14px;border-bottom:1px solid rgba(36,34,40,.07);background:none;text-align:right}
  td::before{content:attr(data-label);flex-shrink:0;color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;text-align:left}
  td:not([data-label])::before{content:none}
  td:last-child{border-bottom:0}
  .row-actions{flex-wrap:wrap;justify-content:flex-end}
  .row-actions a,.row-actions button{min-height:44px;display:inline-flex;align-items:center;padding:10px 14px;font-size:14px}

  /* Bottom navigation */
  .admin-bottom-nav{position:fixed;left:10px;right:10px;bottom:10px;z-index:38;display:flex;justify-content:space-around;gap:4px;padding:8px;border:1px solid rgba(255,255,255,.78);border-radius:16px;background:rgba(255,253,250,.9);box-shadow:var(--shadow);backdrop-filter:blur(26px) saturate(1.3)}
  .admin-bottom-nav a,.admin-bottom-nav .sidebar-toggle{display:grid;place-items:center;gap:3px;flex:1;min-height:52px;padding:6px 2px;border:0;border-radius:12px;background:none;color:var(--ink);font-size:11px;font-weight:800;width:auto;height:auto}
  .admin-bottom-nav svg{width:22px;height:22px}
  .admin-bottom-nav a:active,.admin-bottom-nav .sidebar-toggle:active{background:rgba(253,106,53,.24)}

  .image-manager{grid-template-columns:1fr 1fr}
  .amenity-picker{grid-template-columns:1fr 1fr}
  .admin-form input,.admin-form select,.settings-grid input{min-height:46px}
  .admin-form button,.settings-grid button{width:100%;min-height:48px;justify-self:stretch}
  .confirm-actions{flex-direction:column-reverse}
  .confirm-actions .btn{width:100%}
  .toast-wrap{left:14px;right:14px;top:14px}

}

/* =====================================================
   LIQUID GLASS — luxury flowing like rivers
   ===================================================== */

@keyframes auroraFlow{
  0%{transform:translate3d(-2.5%,-1.5%,0) scale(1) rotate(0deg)}
  50%{transform:translate3d(1.5%,2%,0) scale(1.07) rotate(.6deg)}
  100%{transform:translate3d(3%,-1%,0) scale(1.03) rotate(-.4deg)}
}
@keyframes riverRun{from{background-position:200% 50%}to{background-position:-200% 50%}}
@keyframes liquidPan{from{background-position:0% 30%}to{background-position:100% 70%}}
@keyframes goldFall{from{background-position:50% 220%}to{background-position:50% -220%}}

/* The base gradient was accidentally tiled at 56px (6 layers, 5 sizes) —
   give every layer an explicit size so the silk gradient flows unbroken.
   Scoped above 720px: the mobile background is a single layer. */
@media (min-width:721px){
  body{background-size:var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),auto,auto,auto,auto,100% 100%}
}

/* Flowing aurora rivers behind every page */
body::after{
  inset:-12%;
  opacity:.46;
  background:
    radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.16),transparent 46%),
    linear-gradient(45deg,transparent 0 47%,rgba(255,255,255,.20) 49%,rgba(114,83,47,.07) 50%,transparent 53% 100%),
    linear-gradient(135deg,transparent 0 47%,rgba(114,83,47,.08) 49%,rgba(255,255,255,.20) 50%,transparent 53% 100%),
    radial-gradient(42rem 30rem at 16% 18%,rgba(253,106,53,.18),transparent 62%),
    radial-gradient(50rem 36rem at 84% 8%,rgba(255,253,250,.18),transparent 60%);
  background-size:var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),auto,auto;
  mix-blend-mode:multiply;
  filter:blur(1.2px) saturate(1.02);
  animation:auroraFlow 30s ease-in-out infinite alternate;
  will-change:transform;
}

/* Nav ribbon flows like a stream of gold */
.site-nav::before{
  background:linear-gradient(90deg,transparent,var(--gold-2) 30%,#ffe161 42%,var(--gold) 55%,var(--gold-2) 70%,transparent);
  background-size:220% 100%;
  animation:riverRun 11s linear infinite;
}
.site-nav{background:linear-gradient(180deg,rgba(255,253,250,.82),rgba(255,253,250,.58));backdrop-filter:blur(32px) saturate(1.6)}

/* Dark hero surfaces breathe like slow water */
.admin-hero,.detail-hero,.rental-command,.login-shell,.hero-content::before{
  background-size:190% 190%;
  animation:liquidPan 22s ease-in-out infinite alternate;
}

/* Molten gold typography for money and headline numbers */
.price,.metric strong,.stats strong{
  background:linear-gradient(115deg,#c53e12 0%,#f04f1a 28%,#ff9268 46%,#a87b2e 64%,#b23611 100%);
  background-size:220% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  animation:riverRun 12s linear infinite;
  text-shadow:none;
}
.detail-summary .price{
  background:linear-gradient(115deg,#ffe161 0%,#fd6a35 30%,#fffdfa 48%,#fd6a35 66%,#f04f1a 100%);
  background-size:220% 100%;
  -webkit-background-clip:text;
  background-clip:text;
}

/* Premium numeric typography: clear 1s, no serif I-shape */
.price,
.card-glass strong,
.stats strong,
.metric strong,
.rent-card strong,
.lease-line b,
.footer-metrics b,
.rental-head-card strong,
.feature-list b,
.insight-box strong,
.mc-result strong,
.area-stats strong,
.community-stats strong,
.project-glass strong,
.project-aside .price{
  font-family:"General Sans",Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;
  font-weight:850;
  letter-spacing:0;
  font-variant-numeric:lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1,"cv01" 1,"kern" 1;
}
.price i,.card-glass strong i{font-style:normal;font-weight:760;font-size:.72em;opacity:.78}
.rental-command,.rent-card,.rental-head>div:first-child,.rental-head-card{
  animation:none;
}
.rental-command,.rent-card{background-size:var(--diamond-box-size) var(--diamond-box-size),var(--diamond-box-size) var(--diamond-box-size),auto;background-position:0 0,0 0,center}
.rental-head>div:first-child{background-size:var(--diamond-box-size) var(--diamond-box-size),var(--diamond-box-size) var(--diamond-box-size),auto;background-position:0 0,0 0,center}
.rental-head-card{background-size:var(--diamond-box-size) var(--diamond-box-size),var(--diamond-box-size) var(--diamond-box-size),auto,auto;background-position:0 0,0 0,center,center}

/* Liquid gold rivers under metric cards */
.metric{border-color:rgba(255,255,255,.82)}
.metric::before{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:3px;
  background:linear-gradient(90deg,transparent,rgba(253,106,53,.9) 30%,#ffe161 50%,rgba(253,82,27,.9) 70%,transparent);
  background-size:240% 100%;
  animation:riverRun 7s linear infinite;
  opacity:.75;
  pointer-events:none;
}

/* Deeper refraction: specular edges on every glass pane */
.panel,.metric,.property-card,.contact-card,.lux-form,.login-card,.rent-card,.confirm-card,.admin-top,.agent-card{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.85),
    inset 0 -1px 0 rgba(255,255,255,.25),
    inset 1px 0 0 rgba(255,255,255,.35),
    var(--shadow-soft);
}
.property-card:hover,.agent-card:hover{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 0 0 1px rgba(253,106,53,.55),
    0 18px 60px rgba(253,82,27,.16),
    var(--shadow);
}

/* Card price strip: water-line refraction */
.card-glass{border-top:1px solid rgba(255,255,255,.35);backdrop-filter:blur(18px) saturate(1.4)}

/* Primary buttons: molten gold that slowly flows */
.btn.primary{
  background:linear-gradient(115deg,#ff9268,#f04f1a 35%,#e9c87b 55%,#fd521b 80%,#ff9268);
  background-size:240% 100%;
  animation:riverRun 9s linear infinite;
  box-shadow:0 16px 38px rgba(253,82,27,.32),inset 0 1px 0 rgba(255,255,255,.65);
}
.btn.primary:hover{box-shadow:0 22px 54px rgba(253,82,27,.42),inset 0 1px 0 rgba(255,255,255,.75)}
button:active,.btn:active{transform:translateY(0) scale(.985)}

/* Quick actions: glass pills with passing light */
.quick-actions a{position:relative;overflow:hidden;backdrop-filter:blur(20px) saturate(1.3)}
.quick-actions a::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(112deg,transparent 0%,rgba(255,255,255,.4) 26%,transparent 48%);
  transform:translateX(-140%) skewX(-18deg);
  transition:transform .8s var(--ease);
  pointer-events:none;
}
.quick-actions a:hover::after{transform:translateX(140%) skewX(-18deg)}

/* Sidebar: dark glass canyon with a falling gold seam */
.sidebar{
  background:linear-gradient(168deg,rgba(26,26,30,.92) 0%,rgba(27,36,31,.86) 55%,rgba(17,22,19,.92) 100%);
  background-size:120% 160%;
  animation:liquidPan 34s ease-in-out infinite alternate;
  border-right:0;
}
.sidebar::after{
  content:"";
  position:absolute;
  top:0;bottom:0;right:0;width:1.5px;
  background:linear-gradient(180deg,transparent,rgba(253,106,53,.85) 35%,rgba(255,225,97,.95) 50%,rgba(15,92,87,.6) 70%,transparent);
  background-size:100% 240%;
  animation:goldFall 10s linear infinite;
  pointer-events:none;
}
.sidebar a.is-active{box-shadow:inset 0 1px 0 rgba(255,225,97,.28),inset 1px 0 0 rgba(255,225,97,.18)}

/* Admin top bar: brighter liquid pane */
.admin-top{background:linear-gradient(180deg,rgba(255,253,250,.8),rgba(255,253,250,.58));backdrop-filter:blur(34px) saturate(1.55)}

/* Hero search panel: jewel-case glass */
.search-panel{
  border:1px solid rgba(255,255,255,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(255,255,255,.1),0 30px 80px rgba(0,0,0,.35);
  backdrop-filter:blur(30px) saturate(1.5);
}

/* Tables: glass ledger */
th{backdrop-filter:blur(10px)}
thead tr th{border-bottom:1px solid rgba(253,82,27,.28)}
tbody tr:hover td{background:linear-gradient(90deg,rgba(255,253,250,.72),rgba(255,225,97,.34),rgba(255,253,250,.72))}

/* Chips and badges: droplet pills */
.chips span,.chips a{
  border:1px solid rgba(255,255,255,.7);
  background:linear-gradient(145deg,rgba(255,253,250,.8),rgba(255,253,250,.5));
  backdrop-filter:blur(14px) saturate(1.25);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 8px 22px rgba(31,31,34,.06);
  border-radius:999px;
}

/* Empty states: frosted invitation */
.empty-state{
  border:1px dashed rgba(253,82,27,.34);
  background:linear-gradient(145deg,rgba(255,253,250,.66),rgba(255,225,97,.22));
  backdrop-filter:blur(12px);
}

/* Confirm modal: deep-water glass */
.confirm-modal{backdrop-filter:blur(10px) saturate(1.2)}
.confirm-card{background:linear-gradient(150deg,rgba(255,253,250,.97),rgba(255,246,229,.93));backdrop-filter:blur(30px) saturate(1.4)}

/* Bottom nav: floating glass raft */
.admin-bottom-nav{background:linear-gradient(180deg,rgba(255,253,250,.86),rgba(255,253,250,.72))}

/* Luxury details: scrollbar, selection, focus */
::selection{background:rgba(253,106,53,.55);color:#232327}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{
  border-radius:99px;
  border:3px solid var(--paper);
  background:linear-gradient(180deg,#fd6a35,#fd521b 55%,#c53e12);
}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ffe161,#f04f1a 55%,#c53e12)}
:focus-visible{outline:2px solid rgba(253,82,27,.75);outline-offset:2px;border-radius:4px}

/* Footer: river surface at night */
.site-footer{position:relative}
.site-footer::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:1.5px;
  background:linear-gradient(90deg,transparent,rgba(253,106,53,.75) 30%,#ffe161 50%,rgba(253,106,53,.75) 70%,transparent);
  background-size:240% 100%;
  animation:riverRun 13s linear infinite;
}

/* Toast: condensation glass */
.toast{backdrop-filter:blur(26px) saturate(1.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),var(--shadow)}

/* ===== ERP suite: pipeline, calendar, HR, invoices ===== */

/* Grouped sidebar */
.sidebar .sidebar-label{margin:16px 0 4px;padding:0 12px}
.sidebar .sidebar-label:first-child{margin-top:18px}
.sidebar nav a{font-size:14px;padding:8px 12px}

/* Admin command sidebar */
.sidebar{
  width:304px;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:14px;
  isolation:isolate;
  background:
    radial-gradient(ellipse at 50% 50%,rgba(253,82,27,.10) 0 18%,rgba(15,92,87,.08) 42%,transparent 65%),
    linear-gradient(45deg,transparent 0 47%,rgba(253,82,27,.13) 49%,rgba(20,66,58,.15) 50%,transparent 53% 100%),
    linear-gradient(135deg,transparent 0 47%,rgba(99,70,38,.18) 49%,rgba(253,106,53,.08) 50%,transparent 53% 100%),
    linear-gradient(168deg,rgba(26,26,30,.96) 0%,rgba(30,39,33,.92) 54%,rgba(16,20,17,.97) 100%);
  background-size:var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),100% 100%;
  background-position:0 0,0 0,0 0,center;
  box-shadow:34px 0 92px rgba(31,31,34,.26);
}
.admin-main{margin-left:304px}
.sidebar-brand-panel{
  position:relative;
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid rgba(255,225,97,.22);
  border-radius:18px;
  background:linear-gradient(150deg,rgba(255,253,250,.12),rgba(255,253,250,.045));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 18px 42px rgba(0,0,0,.16);
  overflow:hidden;
}
.sidebar-brand-panel::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:linear-gradient(118deg,transparent 0%,rgba(255,225,97,.18) 42%,transparent 68%);
  transform:translateX(-45%);
  pointer-events:none;
}
.sidebar-brand-panel .brand{position:relative;padding:0;color:#fffdfa}
.sidebar-brand-panel .brand:hover{background:transparent;transform:none}
.sidebar-brand-panel .logo-mark{width:46px;height:46px;filter:drop-shadow(0 12px 18px rgba(253,82,27,.2))}
.sidebar-brand-panel .brand-text{font-family:"General Sans",Inter,system-ui,sans-serif;font-size:23px;line-height:.9;letter-spacing:.01em}
.sidebar-brand-panel .brand-text small{margin-top:6px;font-family:"General Sans",Inter,system-ui,sans-serif;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,253,250,.58)}
.sidebar-kicker{
  width:max-content;
  max-width:100%;
  padding:7px 10px;
  border:1px solid rgba(253,106,53,.32);
  border-radius:999px;
  color:#ffe161;
  background:rgba(26,26,30,.34);
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.sidebar nav{
  flex:1;
  display:grid;
  gap:10px;
  margin-top:0;
  padding-right:3px;
}
.sidebar-group{
  display:grid;
  gap:5px;
  padding:9px;
  border:1px solid rgba(255,253,250,.10);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,253,250,.075),rgba(255,253,250,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.sidebar .sidebar-label,.sidebar .sidebar-label:first-child{
  margin:0 0 4px;
  padding:0 6px;
  color:rgba(255,225,97,.68);
  font-size:10px;
  letter-spacing:.16em;
}
.sidebar nav a{
  position:relative;
  min-height:42px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 12px;
  align-items:center;
  gap:9px;
  padding:6px 9px;
  border:1px solid transparent;
  border-radius:13px;
  color:rgba(255,253,250,.72);
  font-size:13.5px;
  font-weight:850;
  line-height:1.15;
}
.sidebar nav a:hover{
  border-color:rgba(255,225,97,.2);
  background:linear-gradient(135deg,rgba(255,253,250,.13),rgba(255,253,250,.055));
  color:#fffdfa;
  transform:translateX(4px);
}
.nav-glyph{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(253,106,53,.24);
  border-radius:10px;
  color:#ffe161;
  background:linear-gradient(145deg,rgba(255,225,97,.13),rgba(15,92,87,.10));
  font-family:"General Sans",Inter,system-ui,sans-serif;
  font-size:16px;
  font-weight:700;
  line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
}
.nav-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-arrow{
  width:7px;
  height:7px;
  border-top:1.5px solid currentColor;
  border-right:1.5px solid currentColor;
  transform:rotate(45deg);
  opacity:.32;
}
.sidebar nav a.is-active{
  border-color:rgba(255,225,97,.44);
  color:#fffdfa;
  background:
    linear-gradient(90deg,rgba(253,106,53,.28),rgba(255,253,250,.10) 50%,rgba(15,92,87,.12)),
    rgba(255,253,250,.04);
  box-shadow:inset 3px 0 0 #fd6a35,inset 0 1px 0 rgba(255,255,255,.18),0 12px 28px rgba(0,0,0,.18);
}
.sidebar nav a.is-active .nav-glyph{
  color:#1f1f22;
  background:linear-gradient(145deg,#ffe161,#f04f1a 70%,#c53e12);
  border-color:rgba(255,225,97,.72);
}
.sidebar nav a.is-active .nav-arrow{opacity:.78}
.sidebar-user{
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:11px;
  margin-top:0;
  padding:12px;
  border-color:rgba(255,225,97,.24);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,253,250,.12),rgba(255,253,250,.045));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 18px 38px rgba(0,0,0,.14);
}
.sidebar-avatar{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,225,97,.5);
  border-radius:14px;
  color:#1f1f22;
  background:linear-gradient(145deg,#ffe161,#f04f1a 68%,#c53e12);
  font-family:"General Sans",Inter,system-ui,sans-serif;
  font-size:23px;
  font-weight:700;
  box-shadow:0 12px 26px rgba(253,82,27,.25);
}
.sidebar-user-copy{display:grid;min-width:0;gap:2px}
.sidebar-user strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.sidebar-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(255,253,250,.58);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.sidebar-user-actions{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:4px;
}
.sidebar-user-actions a{
  min-height:34px;
  display:grid;
  place-items:center;
  padding:7px 9px;
  border:1px solid rgba(255,225,97,.18);
  border-radius:11px;
  color:#ffe161;
  background:rgba(26,26,30,.24);
  font-size:12px;
  font-weight:900;
}
.sidebar-user-actions a:hover{background:rgba(255,225,97,.12);transform:translateY(-1px)}

@media (max-width:1100px){
  .sidebar{position:static;width:auto}
  .admin-main{margin-left:0}
  .sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .sidebar{position:fixed;width:304px}
  .sidebar nav{grid-template-columns:1fr}
}

/* Panel head with action link */
.panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.panel-head a{color:var(--teal);font-weight:800;font-size:13.5px}
.inline-form{display:inline}
.inline-form button{min-height:0;padding:2px 10px;font-size:12px;color:var(--teal);background:rgba(255,253,250,.7);border:1px solid rgba(15,92,87,.3);box-shadow:none}
.pipeline-hint{margin:0;color:var(--muted);font-size:14px}

/* Kanban board */
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:272px;gap:14px;overflow-x:auto;padding-bottom:14px;align-items:start;scrollbar-width:thin}
.kanban-col{
  border:1px solid rgba(255,255,255,.7);
  border-radius:var(--radius);
  background:linear-gradient(160deg,rgba(255,253,250,.6),rgba(255,253,250,.34));
  backdrop-filter:blur(22px) saturate(1.25);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),var(--shadow-soft);
  transition:background .25s ease,border-color .25s ease;
}
.kanban-col.drop-target{border-color:rgba(253,82,27,.75);background:linear-gradient(160deg,rgba(255,225,97,.5),rgba(255,253,250,.4))}
.kanban-col header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:13px 14px;border-bottom:1px solid rgba(253,82,27,.22)}
.kanban-col h3{margin:0;font-size:19px}
.kanban-col header span{color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}
.kanban-cards{display:grid;gap:10px;padding:12px;min-height:64px}
.kanban-card{
  position:relative;
  display:grid;
  gap:6px;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.85);
  border-radius:var(--radius);
  background:linear-gradient(150deg,rgba(255,253,250,.94),rgba(255,253,250,.72));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 26px rgba(31,31,34,.08);
  cursor:grab;
}
.kanban-card.dragging{opacity:.45;transform:rotate(1.5deg) scale(.98)}
.kanban-card strong{font-size:15px}
.kanban-card small{color:var(--muted)}
.kanban-meta{display:flex;justify-content:space-between;align-items:center}
.kanban-meta b{font-size:14.5px;color:var(--teal)}
.kanban-meta .score{padding:2px 9px;border-radius:99px;background:linear-gradient(135deg,rgba(253,106,53,.5),rgba(253,82,27,.3));font-size:11.5px;font-weight:850}
.kanban-move{display:flex;gap:6px}
.kanban-move select{min-height:36px;padding:6px 8px;font-size:13px;flex:1}
.kanban-move button{min-height:36px;padding:6px 12px;font-size:12px}
.kanban-edit{position:absolute;top:10px;right:12px;font-size:12px;font-weight:800;color:var(--teal)}

/* Calendar */
.calendar-nav{align-items:center}
.calendar-title{margin:0;font-size:30px}
.calendar-panel{overflow-x:auto}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:6px;min-width:880px}
.cal-head{padding:8px 10px;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;text-align:center}
.cal-day{
  min-height:104px;
  padding:8px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:8px;
  background:linear-gradient(155deg,rgba(255,253,250,.72),rgba(255,253,250,.45));
  display:grid;
  gap:4px;
  align-content:start;
}
.cal-empty{background:none;border-color:transparent}
.cal-quiet{opacity:.72}
.cal-day.is-today{border-color:rgba(253,82,27,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 0 0 1px rgba(253,82,27,.4),0 10px 26px rgba(253,82,27,.14)}
.cal-num{font-weight:850;color:var(--muted);font-size:12.5px}
.cal-day.is-today .cal-num{color:var(--gold)}
.cal-event{
  padding:4px 7px;
  border-radius:6px;
  font-size:11px;
  font-weight:750;
  line-height:1.25;
  border:1px solid rgba(255,255,255,.6);
  background:rgba(255,253,250,.8);
  overflow:hidden;
  text-overflow:ellipsis;
}
.cal-event.viewing{border-left:3px solid var(--teal)}
.cal-event.rent{border-left:3px solid var(--gold)}
.cal-event.lead{border-left:3px solid #5c4a6f}
.cal-event.task{border-left:3px solid var(--ok)}
.cal-event.invoice{border-left:3px solid var(--danger)}

@media (max-width:720px){
  .kanban{grid-auto-columns:82vw}
  .calendar-grid{min-width:760px}
  .calendar-nav{grid-template-columns:1fr 1fr}
  .calendar-title{grid-column:1/-1;order:-1}
}

/* ===== Marketplace features (PropertyFinder parity) ===== */

/* Hero search tabs */
.search-tabs{grid-column:1/-1;display:flex;gap:6px;padding:5px;border-radius:99px;background:rgba(26,26,30,.45);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(14px)}
.search-tab{flex:1;min-height:40px;padding:8px 14px;border:0;border-radius:99px;background:transparent;color:rgba(255,253,250,.75);font-weight:850;font-size:12.5px;box-shadow:none}
.search-tab:hover{transform:none;color:#fffdfa}
.search-tab.is-active{background:linear-gradient(135deg,#ff9268,#f04f1a);color:#232327;box-shadow:0 10px 26px rgba(253,82,27,.35)}

/* Trust badges */
.verified-badge{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 11px;border-radius:99px;
  color:#666538;background:linear-gradient(135deg,rgba(142,215,204,.92),rgba(255,253,250,.9));
  border:1px solid rgba(15,92,87,.35);
  font-size:11px;font-weight:900;letter-spacing:.04em;
}
.card-media .verified-badge{position:absolute;top:52px;left:14px}
.drop-badge{
  display:inline-flex;align-items:center;gap:4px;
  padding:5px 11px;border-radius:99px;
  color:#fffdfa;background:linear-gradient(135deg,#1e755d,#666538);
  border:1px solid rgba(255,255,255,.4);
  font-size:11px;font-weight:850;
}
.card-media .drop-badge{position:absolute;top:52px;right:14px}
.detail-summary .badge.verified-badge,.detail-summary .badge.drop-badge{margin-left:8px}
.listed-ago{color:var(--muted);font-size:12px;font-weight:650}
.per-sqm{display:block;margin-top:2px;color:rgba(255,253,250,.72);font-weight:700}

/* Card contact row */
.card-contact{display:flex;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(36,34,40,.09)}
.card-contact a{
  flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:40px;padding:8px 6px;border-radius:8px;
  border:1px solid rgba(36,34,40,.14);background:rgba(255,253,250,.68);
  font-size:12.5px;font-weight:800;color:var(--ink);
  transition:background .25s ease,border-color .25s ease;
}
.card-contact a:hover{background:rgba(255,225,97,.5);border-color:rgba(253,82,27,.4)}
.card-contact a.wa{color:#666538}
.card-contact svg{width:16px;height:16px;flex:0 0 auto}
.contact-cta{display:flex;gap:8px}
.contact-cta .btn{flex:1;padding:12px 8px;font-size:12px;margin:0}

/* Concierge contact showroom */
.contact-showroom{display:grid;gap:22px}.contact-intro{display:flex;justify-content:space-between;align-items:end;gap:28px}.contact-intro>div:first-child{max-width:760px}.contact-intro h2{margin:0;font-size:clamp(38px,5vw,64px);line-height:.94}.contact-intro p:not(.eyebrow){max-width:650px;margin:15px 0 0;color:var(--muted);font-size:17px;line-height:1.6}.contact-assurance{display:grid;gap:8px;min-width:250px}.contact-assurance span{display:flex;align-items:center;gap:8px;color:var(--teal);font-size:12px;font-weight:850}.contact-assurance .ico{width:16px;height:16px;color:var(--gold)}
.contact-showroom-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:18px;align-items:stretch}.contact-command{display:grid;align-content:start;gap:18px;padding:28px;border:1px solid rgba(255,225,97,.18);border-radius:18px;color:#fffdfa;background:radial-gradient(ellipse at 75% 10%,rgba(253,106,53,.16),transparent 35%),linear-gradient(45deg,transparent 0 47%,rgba(253,106,53,.1) 49%,rgba(15,90,82,.16) 50%,transparent 53% 100%),linear-gradient(145deg,#1f1f22,#21463e);box-shadow:var(--shadow)}.contact-command .eyebrow{color:var(--gold-2)}.contact-command h3{margin:0;font-family:"General Sans",Inter,system-ui,sans-serif;font-size:42px;line-height:.95}.contact-route-list{display:grid;gap:8px}.contact-route-list a{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;padding:11px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,253,250,.07);transition:background .25s ease,transform .25s var(--ease)}.contact-route-list a:hover{transform:translateX(3px);background:rgba(255,225,97,.13)}.contact-route-list>span,.contact-route-list a>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--gold-2);background:rgba(255,225,97,.1)}.contact-route-list .ico{width:18px;height:18px}.contact-route-list small,.contact-command-note small{display:block;color:rgba(255,253,250,.6);font-size:10px;font-weight:750}.contact-route-list strong,.contact-command-note strong{display:block;margin-top:3px;color:#fffdfa;font-size:13px}.contact-command-note{display:grid;gap:4px;margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.14)}.contact-command-note>span{color:var(--gold-2);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.contact-concierge-form{margin:0;padding:28px}.contact-concierge-form h2{grid-column:1/-1;margin:0;font-size:38px}.contact-intent{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.contact-intent label{position:relative}.contact-intent input{position:absolute;opacity:0;pointer-events:none}.contact-intent span{display:grid;place-items:center;min-height:44px;padding:8px;border:1px solid rgba(253,82,27,.2);border-radius:11px;color:var(--muted);background:rgba(255,253,250,.52);font-size:12px;font-weight:850;text-align:center}.contact-intent input:checked+span{color:#232327;border-color:rgba(253,82,27,.54);background:linear-gradient(135deg,#ff9268,#d2a858)}.contact-concierge-form textarea,.contact-concierge-form button,.contact-form-note{grid-column:1/-1}.contact-form-note{color:var(--muted);font-size:11px;line-height:1.45}
.contact-location{display:grid;grid-template-columns:1fr .9fr;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:18px;background:rgba(255,253,250,.64);box-shadow:var(--shadow-soft)}.contact-location>div:first-child{padding:28px}.contact-location h2{margin:0;font-size:42px;line-height:.95}.contact-location p:not(.eyebrow){max-width:520px;color:var(--muted);line-height:1.55}.contact-map-art{position:relative;display:grid;place-items:center;min-height:260px;background:linear-gradient(45deg,transparent 0 47%,rgba(253,82,27,.2) 49%,transparent 51%),linear-gradient(135deg,transparent 0 47%,rgba(15,90,82,.18) 49%,transparent 51%),radial-gradient(circle at 56% 48%,rgba(255,225,97,.86) 0 4px,transparent 5px),linear-gradient(135deg,#b9d0c3,#e7d4ac);background-size:64px 64px,64px 64px,100% 100%,100% 100%}.contact-map-pin{display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(255,255,255,.6);border-radius:50% 50% 50% 8px;transform:rotate(-45deg);color:#fffdfa;background:var(--teal);box-shadow:0 14px 34px rgba(15,90,82,.28)}.contact-map-pin .ico{width:25px;height:25px;transform:rotate(45deg);color:var(--gold-2)}.contact-map-art small{position:absolute;bottom:24px;padding:7px 10px;border:1px solid rgba(255,255,255,.55);border-radius:8px;color:#fffdfa;background:rgba(26,26,30,.5);font-size:11px;font-weight:850}

/* Alert form */
.alert-toggle{color:var(--ink);background:rgba(255,253,250,.62);border-color:rgba(255,255,255,.72);box-shadow:none}
.alert-form{
  display:grid;gap:8px;margin-bottom:18px;padding:18px;
  border:1px solid rgba(253,82,27,.4);border-radius:var(--radius);
  background:linear-gradient(150deg,rgba(255,225,97,.4),rgba(255,253,250,.7));
  backdrop-filter:blur(18px) saturate(1.3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),var(--shadow-soft);
}
.alert-form[hidden]{display:none}
.alert-form strong{font-size:18px}
.alert-form p{margin:0;color:var(--muted);font-size:14px}
.alert-fields{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}
.filters label.filter-check{display:flex;flex-direction:row;align-items:center;gap:9px;font-size:13.5px}
.filters .filter-check input{width:18px;height:18px;min-height:0;flex:0 0 auto;margin:0}

/* Market insight */
.insight-box{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.insight-box>div{
  padding:18px;border:1px solid rgba(255,255,255,.75);border-radius:var(--radius);
  background:linear-gradient(150deg,rgba(255,253,250,.82),rgba(255,253,250,.55));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),var(--shadow-soft);
}
.insight-box span{display:block;color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.insight-box strong{display:block;margin:6px 0 4px;font-family:"General Sans",Inter,system-ui,sans-serif;font-size:30px;line-height:1;color:var(--ink)}
.insight-box strong.good{color:var(--ok)}
.insight-box small{color:var(--muted)}

/* Mortgage calculator */
.mortgage-calc{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0;padding:20px;
  border:1px solid rgba(255,255,255,.75);border-radius:var(--radius);
  background:linear-gradient(150deg,rgba(255,253,250,.85),rgba(255,253,250,.55));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),var(--shadow-soft);
}
.mortgage-calc label{display:grid;gap:6px;font-size:12px;font-weight:850;color:#3d3c41}
.mc-result{grid-column:1/-1;display:grid;gap:2px;padding-top:12px;border-top:1px solid rgba(253,82,27,.28)}
.mc-result span{color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.mc-result strong{font-family:"General Sans",Inter,system-ui,sans-serif;font-size:34px;line-height:1.05;color:var(--teal)}
.mc-result small{color:var(--muted)}

/* Map embed */
.map-embed{border:1px solid rgba(255,255,255,.75);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft)}
.map-embed iframe{display:block;width:100%;height:320px;border:0}
.map-embed small{display:block;padding:10px 14px;color:var(--muted);background:rgba(255,253,250,.8)}
.map-embed a{color:var(--teal);font-weight:750}

/* Area guides */
.area-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.area-guide{
  position:relative;overflow:hidden;display:grid;gap:12px;padding:22px;
  border:1px solid rgba(255,255,255,.72);border-radius:var(--radius);
  background:linear-gradient(rgba(255,253,250,.92),rgba(255,253,250,.86)),var(--location-image) center/cover;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),var(--shadow-soft);
  backdrop-filter:blur(20px);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.area-guide:hover{transform:translateY(-5px);box-shadow:0 0 0 1px rgba(253,106,53,.5),var(--shadow)}
.area-guide header{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.area-guide h3{margin:0;font-size:28px}
.area-guide header span{color:var(--muted);font-size:12.5px;font-weight:850;white-space:nowrap}
.area-stats{display:grid;gap:8px}
.area-stats div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid rgba(36,34,40,.09)}
.area-stats span{color:var(--muted);font-size:12.5px;font-weight:750}
.area-stats strong{font-family:"General Sans",Inter,system-ui,sans-serif;font-size:21px}
.area-links{display:flex;gap:8px}
.area-links .btn{flex:1;padding:10px 8px;font-size:12px}

/* Gray structure */
.stage-chip{
  padding:4px 10px;border-radius:99px;
  color:#4a453c;background:linear-gradient(135deg,#dfd9cd,#c9c2b4);
  border:1px solid rgba(255,255,255,.7);
  font-size:11px;font-weight:850;letter-spacing:.03em;
}
.detail-summary .badge.stage-badge{margin-left:8px;color:#3d382f;background:linear-gradient(135deg,rgba(223,217,205,.95),rgba(201,194,180,.9));border:1px solid rgba(255,255,255,.5)}
.community-link{color:var(--gold-2);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.finish-calc{
  display:grid;gap:14px;margin:14px 0;padding:20px;
  border:1px solid rgba(255,255,255,.75);border-radius:var(--radius);
  background:linear-gradient(150deg,rgba(255,253,250,.85),rgba(244,239,229,.6));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),var(--shadow-soft);
}
.finish-intro{margin:0;color:var(--muted);font-size:14.5px}
.finish-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.finish-controls label{display:grid;gap:6px;font-size:12px;font-weight:850;color:#3d3c41}
.finish-stages{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
.finish-stages .check-line{display:flex;width:100%;font-size:13.5px}
.finish-stages em{margin-left:auto;color:var(--muted);font-style:normal;font-size:12px;font-weight:700}
.finish-note{margin:0;color:var(--muted);font-size:12.5px}

/* Gated communities */
.community-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.community-card{
  position:relative;overflow:hidden;display:grid;gap:14px;padding:24px;
  border:1px solid rgba(255,255,255,.72);border-radius:var(--radius);
  background:linear-gradient(rgba(255,253,250,.93),rgba(255,253,250,.88)),var(--location-image) center/cover;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),var(--shadow-soft);
  backdrop-filter:blur(20px);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.community-card:hover{transform:translateY(-5px);box-shadow:0 0 0 1px rgba(253,106,53,.5),var(--shadow)}
.community-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.community-card h3{margin:0;font-size:30px}
.community-card header small{color:var(--muted);font-weight:750}
.community-card header .badge{position:static;display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:99px;background:linear-gradient(135deg,#ff9268,#f04f1a);color:#232327;font-size:11px;font-weight:900;white-space:nowrap}
.community-desc{margin:0;color:var(--muted);font-size:14.5px}
.community-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.community-facts>div{
  display:grid;gap:2px;padding:12px;
  border:1px solid rgba(255,255,255,.7);border-radius:10px;
  background:rgba(255,253,250,.72);
}
.community-facts .ico{width:17px;height:17px;color:var(--gold)}
.community-facts span{color:var(--muted);font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.community-facts strong{font-size:13px;line-height:1.3}
.detail-facts{grid-template-columns:repeat(3,1fr);margin-bottom:14px}
.community-amenities{margin-top:4px}
.community-stats{display:flex;gap:18px;padding-top:4px}
.community-stats span{display:block;color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.community-stats strong{font-family:"General Sans",Inter,system-ui,sans-serif;font-size:24px}
.compare-panel{overflow:hidden}
.compare-table{min-width:760px}
.compare-table .compare-label{font-weight:850;color:#3d3c41;white-space:nowrap}
.compare-table td,.compare-table th{font-size:13.5px}
.compare-table thead th:first-child{width:150px}
.compare-note{margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.7}

/* Buyer and owner dashboards */
.buyer-hero,.owner-hero{overflow:hidden}
.buyer-shell,.owner-management-shell{display:grid;gap:22px}
.buyer-dashboard-grid,.owner-management-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;align-items:start}
.buyer-command{min-height:100%;display:grid;align-content:space-between;gap:22px}
.buyer-command h2,.owner-ledger h2{margin:0;font-size:clamp(34px,4vw,54px);line-height:.95}
.buyer-command p{max-width:620px;color:var(--muted);font-size:17px}
.buyer-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.buyer-stats div,.owner-care-card{
  padding:15px;
  border:1px solid rgba(255,255,255,.76);
  border-radius:var(--radius);
  background:linear-gradient(145deg,rgba(255,253,250,.78),rgba(255,253,250,.48));
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(22px) saturate(1.25);
}
.buyer-stats span,.owner-care-card p{color:var(--muted)}
.buyer-stats span{display:block;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.buyer-stats strong{display:block;margin-top:4px;color:var(--teal);font-family:"General Sans",Inter,system-ui,sans-serif;font-size:42px;line-height:1}
.buyer-brief,.owner-intake{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.buyer-brief h2,.buyer-brief textarea,.buyer-brief button,.owner-intake h2,.owner-intake textarea,.owner-intake button,.service-checks{grid-column:1/-1}
.buyer-tabs{position:sticky;top:88px;z-index:4;display:flex;gap:8px;overflow:auto;padding:10px;border:1px solid rgba(255,255,255,.74);border-radius:var(--radius);background:rgba(255,253,250,.76);box-shadow:var(--shadow-soft);backdrop-filter:blur(22px) saturate(1.25)}
.buyer-tabs a{flex:0 0 auto;padding:10px 13px;border:1px solid rgba(253,82,27,.22);border-radius:999px;color:var(--ink);font-size:13px;font-weight:900;background:rgba(255,253,250,.52)}
.search-history-list{display:grid;gap:10px}
.search-history-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 14px;border:1px solid rgba(255,255,255,.78);border-radius:var(--radius);background:rgba(255,253,250,.58);box-shadow:var(--shadow-soft)}
.search-history-item strong{color:var(--ink)}
.search-history-item small{color:var(--muted);font-weight:800;white-space:nowrap}
.buyer-alert-form{margin-top:14px}
#buyerPropertySource{display:none!important}
.owner-care-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.owner-care-card{display:grid;gap:10px;min-height:190px}
.owner-care-card .ico{width:30px;height:30px;color:var(--gold)}
.owner-care-card strong{font-family:"General Sans",Inter,system-ui,sans-serif;font-size:28px;line-height:1;color:var(--teal)}
.owner-ledger .feature-list{margin-top:18px}
.service-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.service-checks label{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(253,82,27,.22);border-radius:var(--radius);background:rgba(255,253,250,.58);font-weight:850;color:#3d3c41}
.service-checks input{width:18px;height:18px;accent-color:var(--gold)}

@media (max-width:980px){
  .buyer-dashboard-grid,.owner-management-grid,.owner-care-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .buyer-dashboard-grid,.owner-management-grid,.owner-care-grid,.buyer-stats,.buyer-brief,.owner-intake,.service-checks{grid-template-columns:1fr}
  .buyer-tabs{top:72px;margin-inline:-8px;border-radius:0}
  .buyer-command h2,.owner-ledger h2{font-size:36px}
  .buyer-stats div{min-height:92px}
  .search-history-item{display:grid}
  .owner-care-card{min-height:0}
}

@media (max-width:900px){
  .community-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  .finish-stages,.finish-controls{grid-template-columns:1fr}
  .community-facts,.detail-facts{grid-template-columns:1fr 1fr}
  .compare-table{min-width:0}
  .compare-table .compare-label{display:block;text-align:left;padding:9px 14px;background:linear-gradient(90deg,rgba(253,106,53,.4),transparent);font-size:11.5px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#b23611}
  .compare-table .compare-label::before{content:none}
}

/* New projects (off-plan) */
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.project-card{
  position:relative;overflow:hidden;display:flex;flex-direction:column;
  border:1px solid rgba(255,255,255,.72);border-radius:var(--radius);
  background:linear-gradient(150deg,rgba(255,253,250,.86),rgba(255,253,250,.6));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),var(--shadow-soft);
  backdrop-filter:blur(20px);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.project-card:hover{transform:translateY(-5px);box-shadow:0 0 0 1px rgba(253,106,53,.5),var(--shadow)}
.project-media{
  position:relative;height:190px;
  background:linear-gradient(180deg,rgba(26,26,30,.18),rgba(26,26,30,.62)),var(--location-image) center/cover;
}
.project-status{
  position:absolute;top:14px;left:14px;
  padding:5px 12px;border-radius:99px;
  font-size:11px;font-weight:900;letter-spacing:.04em;
  color:#fffdfa;background:rgba(26,26,30,.68);border:1px solid rgba(255,255,255,.35);
  backdrop-filter:blur(10px);
}
.project-status.announced{background:rgba(92,74,111,.78)}
.project-status.under-construction{background:rgba(253,82,27,.82)}
.project-status.delivering{background:rgba(15,92,87,.82)}
.project-featured{
  position:absolute;top:14px;right:14px;
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 11px;border-radius:99px;
  background:linear-gradient(135deg,#ff9268,#f04f1a);color:#232327;
  font-size:11px;font-weight:900;
}
.project-glass{
  position:absolute;left:14px;right:14px;bottom:14px;
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  padding:10px 14px;border-radius:10px;
  border:1px solid rgba(255,255,255,.3);
  background:rgba(26,26,30,.5);backdrop-filter:blur(16px) saturate(1.3);
  color:#fffdfa;
}
.project-glass strong{font-family:"General Sans",Inter,system-ui,sans-serif;font-size:22px;color:var(--gold-2)}
.project-glass small{color:rgba(255,253,250,.75)}
.project-body{display:grid;gap:11px;padding:18px 18px 20px}
.project-dev{margin:0;color:var(--muted);font-size:13px;font-weight:750}
.project-body h3{margin:0;font-size:26px}
.project-progress{display:grid;gap:6px}
.progress-track{height:8px;border-radius:99px;background:rgba(36,34,40,.12);overflow:hidden;box-shadow:inset 0 1px 2px rgba(31,31,34,.15)}
.progress-fill{
  height:100%;border-radius:99px;
  background:linear-gradient(90deg,#f04f1a,#ff9268 55%,#fd521b);
  background-size:200% 100%;
  animation:riverRun 6s linear infinite;
  box-shadow:0 0 10px rgba(253,106,53,.55);
}
.project-progress span{color:var(--muted);font-size:12.5px;font-weight:750}
.project-progress.big .progress-track{height:12px}
.project-progress.big span{font-size:14px}
.project-plan{
  display:flex;align-items:flex-start;gap:9px;
  padding:11px 13px;border-radius:10px;
  border:1px solid rgba(253,82,27,.28);
  background:linear-gradient(135deg,rgba(255,225,97,.35),rgba(255,253,250,.55));
  font-size:13px;font-weight:700;color:#3d3c41;
}
.project-plan .ico{width:16px;height:16px;color:var(--gold);margin-top:1px}
.project-meta{display:flex;justify-content:space-between;align-items:center;gap:10px}
.project-meta>span{color:var(--muted);font-size:12.5px;font-weight:750}
.project-meta .btn{padding:9px 14px;font-size:12px}

/* Project detail */
.project-detail{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:32px;align-items:start}
.project-detail main{padding:34px;border:1px solid rgba(255,255,255,.74);border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,253,250,.78),rgba(255,253,250,.48));box-shadow:var(--shadow-soft);backdrop-filter:blur(28px) saturate(1.25)}
.project-detail main h2{font-size:32px;margin:26px 0 12px}
.project-detail main h2:first-child{margin-top:0}
.prose-text{color:var(--muted);font-size:17px}
.plan-steps{display:grid;gap:10px;margin-top:6px}
.plan-step{
  display:flex;align-items:center;gap:14px;
  padding:14px 16px;border-radius:10px;
  border:1px solid rgba(255,255,255,.72);
  background:rgba(255,253,250,.66);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  font-weight:750;
}
.plan-step b{
  display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:99px;
  background:linear-gradient(135deg,#ff9268,#fd521b);color:#232327;font-size:14px;
}
.project-aside .price{margin:6px 0 4px}
.aside-note{color:var(--muted);font-size:13.5px}
.project-aside h3{margin:8px 0 0;font-size:22px}

@media (max-width:1100px){
  .project-grid{grid-template-columns:1fr 1fr}
  .project-detail{grid-template-columns:1fr}
}
@media (max-width:720px){
  .project-grid{grid-template-columns:1fr}
  .project-detail main{padding:20px}
}

/* SuperAgent */
.agent-photo{position:relative}
.super-agent{
  position:absolute;left:10px;bottom:10px;
  padding:5px 12px;border-radius:99px;
  background:linear-gradient(135deg,#ff9268,#fd521b);color:#232327;
  border:1px solid rgba(255,255,255,.6);
  font-size:11px;font-weight:900;letter-spacing:.05em;
  box-shadow:0 10px 24px rgba(253,82,27,.4);
}

@media (max-width:720px){
  .search-tabs{flex-wrap:nowrap;overflow-x:auto}
  .insight-box,.mortgage-calc{grid-template-columns:1fr 1fr}
  .area-guide-grid{grid-template-columns:1fr}
  .alert-fields{grid-template-columns:1fr}
  .card-contact a{font-size:11.5px;padding:8px 2px}
  .contact-cta{flex-wrap:wrap}
  .map-embed iframe{height:240px}
}
@media (max-width:1100px) and (min-width:721px){
  .area-guide-grid{grid-template-columns:1fr 1fr}
}

/* ===== Multi-company platform + signature skyline ===== */

/* In-house icon set */
.ico{width:1.05em;height:1.05em;flex:0 0 auto;vertical-align:-0.16em}
.verified-badge .ico,.drop-badge .ico,.new-badge .ico{width:13px;height:13px}
.quick-actions b .ico{width:13px;height:13px}
.alert-toggle .ico{width:15px;height:15px;margin-right:5px;color:var(--gold)}
.super-agent .ico{width:12px;height:12px}

/* Dubai skyline — brand band inside the public footer */
.site-footer .city-skyline{position:relative;pointer-events:none;opacity:.85;padding-top:26px}
.site-footer .city-skyline::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:60%;background:linear-gradient(180deg,transparent,rgba(26,26,30,.9))}
.city-skyline svg{display:block;width:100%;height:clamp(96px,13vw,180px)}
.city-skyline path{fill:none;stroke:rgba(253,106,53,.55);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.city-skyline .sky-back path{stroke:rgba(253,82,27,.35);stroke-width:1.1}
.city-skyline .sky-citadel path{stroke:rgba(255,225,97,.8);stroke-width:2;filter:drop-shadow(0 0 6px rgba(255,225,97,.35))}
.city-skyline .sky-lights circle{fill:#ffe161;stroke:none;animation:cityTwinkle 3.6s ease-in-out infinite}
.city-skyline .sky-lights circle:nth-child(2n){animation-delay:1.2s}
.city-skyline .sky-lights circle:nth-child(3n){animation-delay:2.2s}
@keyframes cityTwinkle{0%,100%{opacity:.2}50%{opacity:1}}
/* Admin: subtle fixed watermark behind content */
.admin-body .city-skyline{position:fixed;left:0;right:0;bottom:0;z-index:-1;opacity:.13;pointer-events:none}
.admin-body .city-skyline path{stroke:#8a6a33}
.admin-body .city-skyline .sky-citadel path{stroke:#b23611;filter:none}
.admin-body .city-skyline .sky-lights circle{fill:#f04f1a}

/* Pending-approval banner (partner admin) */
.pending-banner{
  display:flex;align-items:center;gap:14px;
  margin-bottom:18px;padding:15px 18px;
  border:1px solid rgba(253,82,27,.45);border-radius:var(--radius);
  background:linear-gradient(150deg,rgba(255,225,97,.55),rgba(255,253,250,.75));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),var(--shadow-soft);
  backdrop-filter:blur(18px) saturate(1.3);
  color:#3d3c41;font-size:14.5px;
}
.pending-banner .ico{width:26px;height:26px;color:var(--gold);flex:0 0 auto}
.pending-banner strong{color:var(--ink)}

/* New listing badge + company attribution */
.new-badge{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 11px;border-radius:99px;
  color:#232327;background:linear-gradient(135deg,#ffe161,#fd6a35);
  border:1px solid rgba(255,255,255,.65);
  font-size:11px;font-weight:900;letter-spacing:.04em;
}
.card-media .new-badge{position:absolute;top:88px;left:14px}
.poster-tag{color:var(--teal);font-size:12px;font-weight:800}
.poster-badge{background:rgba(255,253,250,.16)!important;color:#fffdfa}

/* Partner signup page */
.join-shell{display:grid;grid-template-columns:1fr 1.1fr;gap:28px;align-items:start}
.join-points{display:grid;gap:14px}
.join-points>div{
  display:grid;grid-template-columns:44px 1fr;gap:4px 14px;align-items:start;
  padding:18px;border:1px solid rgba(255,255,255,.75);border-radius:var(--radius);
  background:linear-gradient(150deg,rgba(255,253,250,.8),rgba(255,253,250,.5));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),var(--shadow-soft);
  backdrop-filter:blur(20px);
}
.join-points .ico{grid-row:span 2;width:34px;height:34px;padding:7px;border-radius:10px;color:var(--gold);background:linear-gradient(135deg,rgba(255,225,97,.6),rgba(253,106,53,.3));border:1px solid rgba(253,82,27,.3)}
.join-points strong{font-size:16.5px}
.join-points p{margin:0;color:var(--muted);font-size:14px}
.join-shell .lux-form h2{margin:0 0 4px;font-size:30px}

@media (max-width:900px){
  .join-shell{grid-template-columns:1fr}
}

/* ===== Mobile flow: same premium feel, tuned for touch ===== */

/* Touch niceties everywhere */
*{-webkit-tap-highlight-color:transparent}
a,button,.btn,input,select,textarea,summary{touch-action:manipulation}
html{scroll-padding-top:88px}
body{overscroll-behavior-x:none}

/* ===== HomeSeek landing ===== */

/* Hero accent line: champagne serif italic */
.hero-accent{
  font-style:italic;
  background:linear-gradient(115deg,#ffe161 0%,#fd6a35 34%,#fffdfa 52%,#fd6a35 70%,#f04f1a 100%);
  background-size:220% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  animation:riverRun 12s linear infinite;
}
.hero-trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.hero-trust span{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 14px;border-radius:99px;
  border:1px solid rgba(255,255,255,.26);
  background:rgba(26,26,30,.4);
  backdrop-filter:blur(14px) saturate(1.3);
  color:rgba(255,253,250,.88);
  font-size:12.5px;font-weight:800;
}
.hero-trust .ico{width:15px;height:15px;color:var(--gold-2)}

/* Category tiles */
.category-section{padding-top:64px;padding-bottom:26px}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.category-tile{
  position:relative;overflow:hidden;
  display:grid;grid-template-columns:auto 1fr;gap:2px 14px;align-items:center;
  padding:18px;border-radius:var(--radius);
  border:1px solid rgba(255,255,255,.75);
  background:linear-gradient(150deg,rgba(255,253,250,.85),rgba(255,253,250,.55));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),var(--shadow-soft);
  backdrop-filter:blur(20px) saturate(1.25);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.category-tile:hover{transform:translateY(-4px);box-shadow:0 0 0 1px rgba(253,106,53,.5),0 18px 50px rgba(253,82,27,.16),var(--shadow-soft)}
.category-tile b{
  grid-row:span 2;
  display:grid;place-items:center;width:48px;height:48px;border-radius:13px;
  color:#b23611;
  background:linear-gradient(135deg,rgba(255,225,97,.75),rgba(253,106,53,.42));
  border:1px solid rgba(253,82,27,.32);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.category-tile b .ico{width:23px;height:23px}
.category-tile strong{font-size:16.5px;line-height:1.15}
.category-tile span{color:var(--muted);font-size:12.5px;font-weight:750}

/* Custom liquid-glass dropdowns */
.lux-select{position:relative;z-index:2}
.lux-select select{display:none}
.lux-select-btn{
  width:100%;min-height:44px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 13px;border-radius:var(--radius);
  border:1px solid rgba(36,34,40,.14);
  background:rgba(255,253,250,.82);
  color:var(--ink);
  font:inherit;font-weight:650;text-align:left;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 12px 28px rgba(31,31,34,.045);
  overflow:hidden;
  transition:border-color .25s ease,box-shadow .25s ease;
}
.lux-select-btn:hover{transform:none;border-color:rgba(253,82,27,.5)}
.lux-select-btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lux-select-btn svg{width:15px;height:15px;flex:0 0 auto;color:var(--gold);transition:transform .3s var(--ease)}
.lux-select.open{z-index:130}
.lux-select.open .lux-select-btn{border-color:rgba(253,82,27,.74);box-shadow:0 0 0 4px rgba(253,82,27,.14),inset 0 1px 0 rgba(255,255,255,.85)}
.lux-select.open .lux-select-btn svg{transform:rotate(180deg)}
.lux-select-menu{
  position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:131;
  display:grid;gap:2px;padding:7px;
  max-height:268px;overflow:auto;
  border:1px solid rgba(255,255,255,.85);border-radius:12px;
  background:linear-gradient(160deg,rgba(255,253,250,.97),rgba(255,246,229,.94));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 26px 70px rgba(31,31,34,.22);
  backdrop-filter:blur(26px) saturate(1.35);
  opacity:0;transform:translateY(-6px) scale(.985);pointer-events:none;
  transition:opacity .22s var(--ease),transform .22s var(--ease);
}
.lux-select.open .lux-select-menu{opacity:1;transform:none;pointer-events:auto}
.lux-option{
  min-height:40px;padding:9px 12px;border:0;border-radius:8px;
  background:transparent;color:var(--ink);
  font:650 13.5px/1.2 Inter,ui-sans-serif,system-ui;text-align:left;
  box-shadow:none;justify-content:flex-start;
}
.lux-option:hover{transform:none;background:linear-gradient(90deg,rgba(255,225,97,.55),rgba(255,253,250,.4));box-shadow:none}
.lux-option.is-selected{background:linear-gradient(90deg,rgba(253,106,53,.5),rgba(255,225,97,.28));color:#b23611;font-weight:850}
.search-panel .lux-select-btn{background:rgba(255,253,250,.9)}

@media (max-width:1100px){
  .category-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .category-grid{grid-template-columns:1fr 1fr;gap:9px}
  .category-tile{padding:13px;gap:1px 11px}
  .category-tile b{width:40px;height:40px;border-radius:11px}
  .category-tile b .ico{width:19px;height:19px}
  .category-tile strong{font-size:13.5px}
  .category-tile span{font-size:10.5px}
  .category-section{padding-top:46px}
  .hero-trust span{font-size:10.5px;padding:7px 10px}
  .hero-accent{display:inline-block}
}

/* Detail summary badges flow inline instead of stacking on one absolute spot */
.detail-summary .badge{position:static;display:inline-flex;align-items:center;gap:5px;margin:0 6px 10px 0}
.detail-summary h1{margin-top:8px}
.detail-summary .badge.verified-badge,.detail-summary .badge.drop-badge,.detail-summary .badge.stage-badge,.detail-summary .badge.poster-badge{margin-left:0}

/* Delivering projects: live units chip */
.units-live{display:inline-flex;align-items:center;gap:6px;color:var(--ok);font-weight:850}
.units-live .ico{width:14px;height:14px}

@media (max-width:720px){
  /* Keep phones fast: still the aurora, lighten the blur */
  body::after{animation:none;filter:blur(1px) saturate(1.02);opacity:.44}
  .sidebar{animation:none}
  .admin-hero,.detail-hero,.rental-command,.login-shell{animation-duration:34s}
  .city-skyline{opacity:.1}
  .card-media .new-badge{top:auto;bottom:74px}

  /* Reveal without blur/scale: buttery on phone GPUs, same visual language */
  .reveal{filter:none;transform:translateY(16px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
  .reveal.visible{transform:none}
  .metric::before,.btn.primary,.progress-fill,.site-nav::before,.site-footer::before{animation-duration:14s}

  /* Menu links: tight, solid, full-height touch rows */
  .site-nav .nav-links{gap:0;background:linear-gradient(165deg,#fffdfa,#f6efe1);backdrop-filter:none;max-height:calc(100svh - 92px);overflow:auto}
  .site-nav .nav-links a{display:flex;align-items:center;min-height:46px;padding:2px 10px;font-size:15px;border-bottom:1px solid rgba(36,34,40,.07)}
  .site-nav .nav-links a:last-child{border-bottom:0}
  .site-nav .nav-links .nav-admin{justify-content:center;margin-top:8px;border-bottom:0}

  /* Section rhythm and reachable header links */
  .section-head a{display:inline-flex;align-items:center;min-height:44px;color:var(--teal);font-weight:800}
  .toolbar>div:last-child{display:flex;flex-wrap:wrap;gap:8px}
  .toolbar button{min-height:44px}

  /* ===== Mobile density: multiple cards per screen, portal-app style ===== */

  /* Property cards: 2-across compact grid everywhere (replaces the one-giant-card rail) */
  .property-grid,.property-grid.small{display:grid;grid-template-columns:1fr 1fr;gap:10px;overflow:visible;scroll-snap-type:none;padding-bottom:0}
  .property-card{min-width:0;scroll-snap-align:none;border-radius:12px}
  .listing-results .property-grid{grid-template-columns:1fr 1fr}
  .card-media{height:124px}
  .card-media span,.card-media b{top:7px;left:7px;padding:3px 8px;font-size:9px;letter-spacing:.04em}
  .card-media b{left:auto;right:7px}
  .card-media .verified-badge{top:7px;left:auto;right:7px;padding:3px 7px;font-size:8.5px}
  .card-media .drop-badge{top:30px;right:7px;left:auto;padding:3px 7px;font-size:8.5px}
  .card-media .new-badge{top:30px;left:7px;bottom:auto;padding:3px 7px;font-size:8.5px}
  .card-media .verified-badge .ico,.card-media .drop-badge .ico,.card-media .new-badge .ico{width:9px;height:9px}
  .floating-fav{display:none}
  .card-glass{left:7px;right:7px;bottom:7px;padding:5px 9px;border-radius:8px}
  .card-glass strong{font-size:13.5px}
  .card-glass strong i{font-size:10px}
  .card-glass small{display:none}
  .card-body{padding:10px 11px 12px}
  .card-body p{margin:0 0 3px;font-size:10px}
  .card-body .poster-tag{display:none}
  .card-body .listed-ago{font-size:9.5px}
  .card-body h3{margin:0 0 7px;font-size:15.5px;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .mini-specs{gap:4px;margin-bottom:8px}
  .mini-specs span{padding:3px 7px;font-size:9.5px}
  .mini-specs .spec-pill{min-height:31px;padding:5px 6px;gap:4px;border-radius:8px;white-space:nowrap}
  .spec-pill .ico{width:13px;height:13px;stroke-width:2.05}
  .spec-pill b{font-size:12px}
  .spec-pill small{font-size:8px;letter-spacing:.035em}
  .mini-specs .stage-chip{min-height:0;padding:4px 6px;font-size:8px}
  /* On compact cards, retain the listing type and one discreet trust signal only. */
  .card-media .new-badge,.card-media .drop-badge,.card-media>b{display:none}
  .card-media>span:first-of-type{top:7px;left:7px;padding:3px 7px;border-color:rgba(255,255,255,.28);font-size:8px;letter-spacing:.06em;background:rgba(26,26,30,.38)}
  .card-media .verified-badge{top:7px;right:7px;left:auto;width:25px;height:25px;min-height:25px;padding:0;border-radius:8px;display:grid;place-items:center}
  .card-media .verified-badge .ico{width:12px;height:12px}
  .card-media .verified-badge{font-size:0}
  .stage-chip{padding:3px 7px;font-size:9px}
  .card-actions{gap:6px}
  .card-actions .btn,.card-actions button{min-height:36px;padding:7px 4px;font-size:10px;white-space:nowrap}
  .card-contact{display:none}

  /* Location rail: show almost two per screen */
  .location-card{min-width:58vw}

  /* Detail gallery: swipeable photo carousel */
  .gallery{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--radius)}
  .gallery::-webkit-scrollbar{display:none}
  .gallery img,.gallery img:first-child{flex:0 0 86vw;width:86vw;height:250px;scroll-snap-align:center}

  /* Projects: shorter media so ~1.5 cards fit per screen */
  .project-media{height:140px}
  .project-glass{left:10px;right:10px;bottom:10px;padding:8px 11px}
  .project-glass strong{font-size:17px}
  .project-body{padding:13px 14px 15px;gap:8px}
  .project-body h3{font-size:20px}
  .project-plan{padding:9px 11px;font-size:11.5px}
  .project-meta>span{font-size:11px}

  /* Agents: 2-across compact */
  .agent-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .agent-card{padding:10px}
  .agent-card img{height:124px}
  .agent-card h3{margin:9px 0 4px;font-size:17px}
  .agent-card p{font-size:11px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .agent-card strong{font-size:11.5px}
  .super-agent{left:6px;bottom:6px;padding:3px 8px;font-size:9px}

  /* Detail pages breathe on small screens */
  .detail-summary{padding:20px 16px}
  .detail-summary .price{font-size:33px}
  .detail-layout main{padding:20px 16px}
  .detail-layout main h2,.project-detail main h2{font-size:27px}
  .project-detail main{padding:20px 16px}
  .project-glass strong{font-size:19px}
  .plan-step{padding:12px 13px;font-size:14px}
  .contact-card{padding:16px}
  .mini-specs{flex-wrap:wrap;row-gap:6px}
  .insight-box strong{font-size:24px}
  .mc-result strong{font-size:29px}
}

/* Final mobile admin overrides: keep the dashboard readable after all public-site mobile rules. */
@media (max-width:720px){
  body.admin-body{min-width:0;overflow-x:hidden;background-attachment:fixed}
  .admin-main{width:100%;min-width:0;margin-left:0;padding:10px 10px 98px}
  .admin-top{position:sticky;top:8px;z-index:30;display:grid;grid-template-columns:1fr;margin:0 0 12px;padding:11px;border-radius:18px;background:linear-gradient(180deg,rgba(255,253,250,.9),rgba(255,253,250,.72));box-shadow:0 16px 44px rgba(31,31,34,.12)}
  .top-heading{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;width:100%}
  .top-heading>div{min-width:0}
  .crumbs{margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
  .admin-top h1{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(23px,7vw,30px);line-height:.98}
  .top-actions{display:grid;grid-template-columns:1fr auto;width:100%;gap:8px}
  .top-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;width:100%}
  .top-search input{min-width:0;min-height:42px;padding:10px 11px}
  .top-search button{min-height:42px;padding:9px 12px;font-size:12px}
  .top-actions>a{min-height:42px;padding:9px 11px;white-space:nowrap;font-size:12px}
  .top-actions>a:last-child{display:none}
  .notif-link{position:relative;width:44px;overflow:hidden;text-indent:-999px}
  .notif-link::before{content:"";position:absolute;inset:12px;border:2px solid var(--teal);border-radius:50% 50% 45% 45%}
  .notif-badge{position:absolute;top:4px;right:4px;text-indent:0}
  .admin-hero{min-height:0;margin:0 0 12px;padding:18px;border-radius:20px}
  .admin-hero h2{font-size:clamp(31px,10vw,42px);line-height:.95}
  .admin-hero p:not(.eyebrow){font-size:14px;line-height:1.55}
  .admin-hero .btn{width:100%;min-height:46px;border-radius:14px}
  .quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px}
  .quick-actions a{min-width:0;min-height:52px;justify-content:flex-start;padding:11px;border-radius:15px;font-size:12px;line-height:1.2}
  .quick-actions b{width:28px;height:28px;flex:0 0 28px}
  .admin-grid.cards{display:flex!important;grid-template-columns:none;gap:10px;margin:0 -10px 12px;padding:0 10px 4px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .admin-grid.cards .metric{flex:0 0 min(78vw,290px);min-height:126px;scroll-snap-align:start;padding:16px;border-radius:18px}
  .metric span{font-size:11px;letter-spacing:.08em;text-transform:uppercase}
  .metric strong{display:block;margin-top:7px;font-size:clamp(32px,10vw,44px);line-height:.9}
  .metric small{margin-top:10px;font-size:12px}
  .admin-columns{display:grid;grid-template-columns:1fr;gap:12px}
  .panel{margin-bottom:12px;padding:15px;border-radius:18px}
  .panel h2{font-size:clamp(21px,6.8vw,28px);line-height:1}
  .panel-head{align-items:center}
  .panel-head a{white-space:nowrap;font-size:12px}
  .activity-line{grid-template-columns:1fr;gap:6px;padding:12px;margin-top:8px;border:1px solid rgba(255,255,255,.72);border-radius:15px;background:linear-gradient(145deg,rgba(255,253,250,.72),rgba(255,253,250,.44));box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 10px 22px rgba(31,31,34,.06)}
  .activity-line span{grid-row:auto;width:max-content;max-width:100%;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
  .activity-line strong{min-width:0;overflow-wrap:anywhere;font-size:14.5px;line-height:1.25}
  .activity-line small{overflow-wrap:anywhere;line-height:1.45}
  .inline-form{display:block;margin-top:8px}
  .inline-form button{width:100%;min-height:38px}
  .chart-panel{min-height:310px}
  canvas{width:100%!important;max-height:260px}
  .table-actions form{display:grid;grid-template-columns:1fr;max-width:none}
  .table-actions input,.table-actions select,.table-actions button,.table-actions .btn{width:100%;min-height:46px}
  .table-wrap{margin:0 -2px;overflow:visible;border-radius:0}
  tbody tr{border-radius:16px}
  td{align-items:flex-start;text-align:right;font-size:13.5px;line-height:1.35;overflow-wrap:anywhere}
  td::before{max-width:42%;line-height:1.25}
  .row-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:7px}
  .row-actions a,.row-actions button,.row-actions form{width:100%}
  .row-actions a,.row-actions button{justify-content:center}
  .sidebar{position:fixed;width:min(88vw,326px);max-width:326px;padding:12px;gap:10px;border-radius:0 22px 22px 0}
  .sidebar-brand-panel{padding:12px;border-radius:17px}
  .sidebar-brand-panel .brand-text{max-width:190px;font-size:21px}
  .sidebar-kicker{font-size:9.5px}
  .sidebar nav{grid-template-columns:1fr;gap:8px;padding-right:0}
  .sidebar-group{padding:8px;border-radius:16px}
  .sidebar nav a{min-height:40px;grid-template-columns:28px minmax(0,1fr) 10px;gap:8px;padding:6px 8px;border-radius:12px;font-size:13px}
  .nav-glyph{width:28px;height:28px;border-radius:9px}
  .sidebar-user{grid-template-columns:38px minmax(0,1fr);padding:10px;border-radius:16px}
  .sidebar-avatar{width:38px;height:38px;border-radius:13px;font-size:21px}
  .admin-bottom-nav{left:8px;right:8px;bottom:8px;padding:7px;padding-bottom:calc(7px + env(safe-area-inset-bottom));border-radius:18px}
  .admin-bottom-nav a,.admin-bottom-nav .sidebar-toggle{min-width:0;min-height:50px;font-size:10px;line-height:1}
  .admin-bottom-nav svg{width:21px;height:21px}
}
@media (max-width:390px){
  .top-actions{grid-template-columns:1fr}
  .notif-link{width:100%;text-indent:0}
  .notif-link::before{display:none}
  .quick-actions{grid-template-columns:1fr}
  .admin-grid.cards .metric{flex-basis:84vw}
}

/* Phone-first showroom pass: native scrolling, thumb-reachable navigation, and compact reading rhythm. */
.public-mobile-dock{display:none}

/* Private owner console */
.owner-portal{width:min(1240px,100%);margin:0 auto;padding:34px 5vw 88px}
.owner-portal-hero{position:relative;overflow:hidden;display:flex;align-items:end;justify-content:space-between;gap:28px;padding:38px;border:1px solid rgba(255,225,97,.18);border-radius:20px;color:#fffdfa;background:radial-gradient(ellipse at 72% 20%,rgba(253,106,53,.16),transparent 34%),linear-gradient(45deg,transparent 0 47%,rgba(253,82,27,.12) 49%,rgba(15,92,87,.15) 50%,transparent 53% 100%),linear-gradient(135deg,transparent 0 47%,rgba(255,225,97,.06) 49%,rgba(99,70,38,.18) 50%,transparent 53% 100%),linear-gradient(135deg,#1f1f22,#1c3833 92%);background-size:auto,var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),auto;box-shadow:var(--shadow)}
.owner-portal-hero::after{content:"";position:absolute;inset:auto -8% -70% 28%;height:130%;background:radial-gradient(ellipse,rgba(255,225,97,.13),transparent 64%);pointer-events:none}
.owner-portal-hero>*,.owner-portal-section{position:relative;z-index:1}
.owner-portal-hero h1{max-width:760px;margin:0;font-family:"General Sans",Inter,system-ui,sans-serif;font-size:clamp(46px,6vw,78px);line-height:.91}
.owner-portal-hero p:not(.eyebrow){max-width:650px;margin:16px 0 0;color:rgba(255,253,250,.76);font-size:17px;line-height:1.55}
.owner-portal-hero .eyebrow{color:var(--gold-2)}
.owner-portal-actions{display:grid;justify-items:end;gap:13px;min-width:max-content}
.owner-live-dot{display:inline-flex;align-items:center;gap:8px;color:rgba(255,253,250,.8);font-size:12px;font-weight:850}
.owner-live-dot::before{content:"";width:8px;height:8px;border-radius:50%;background:#99e2ba;box-shadow:0 0 0 5px rgba(153,226,186,.13)}
.owner-portal-actions .btn.ghost{color:#fffdfa;border-color:rgba(255,255,255,.25);background:rgba(255,253,250,.1)}
.owner-portal-tabs{position:sticky;top:78px;z-index:8;display:flex;gap:8px;overflow:auto;margin:18px 0;padding:9px;border:1px solid rgba(255,255,255,.72);border-radius:14px;background:rgba(255,253,250,.8);box-shadow:var(--shadow-soft);backdrop-filter:blur(20px) saturate(1.2)}
.owner-portal-tabs a{flex:0 0 auto;padding:10px 13px;border-radius:10px;color:var(--ink);font-size:13px;font-weight:900}
.owner-portal-tabs a:hover{background:rgba(15,90,82,.09);color:var(--teal)}
.owner-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:18px 0 30px}
.owner-metrics article,.owner-property-card,.owner-ledger-card,.owner-statement-card{border:1px solid rgba(255,255,255,.76);border-radius:16px;background:linear-gradient(150deg,rgba(255,253,250,.83),rgba(248,239,222,.62));box-shadow:var(--shadow-soft);backdrop-filter:blur(18px) saturate(1.15)}
.owner-metrics article{display:grid;gap:6px;min-height:152px;padding:20px;align-content:start}
.owner-metrics span{color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.owner-metrics strong{color:var(--teal);font-family:"General Sans",Inter,system-ui,sans-serif;font-size:32px;line-height:1;font-variant-numeric:lining-nums tabular-nums}
.owner-metrics small{color:var(--muted);font-size:12px}
.owner-portal-section{scroll-margin-top:140px;margin-top:28px}
.owner-section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}
.owner-section-head h2,.owner-statement-card h2{margin:0;font-family:"General Sans",Inter,system-ui,sans-serif;font-size:38px;line-height:.95}
.owner-section-head .eyebrow{margin-bottom:6px}
.owner-section-head>a{color:var(--teal);font-size:13px;font-weight:900}
.owner-section-head>span{color:var(--muted);font-size:12px;font-weight:800}
.owner-property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.owner-property-card{overflow:hidden}
.owner-property-card img{display:block;width:100%;height:185px;object-fit:cover}
.owner-property-card>div{display:grid;gap:7px;padding:16px}
.owner-property-card h3{margin:0;font-family:"General Sans",Inter,system-ui,sans-serif;font-size:26px;line-height:.96}
.owner-property-card p,.owner-property-card small{margin:0;color:var(--muted);font-size:12px;line-height:1.4}
.owner-property-card strong{color:var(--teal);font-size:15px;font-variant-numeric:lining-nums tabular-nums}
.owner-status{justify-self:start;padding:4px 8px;border-radius:999px;color:#fffdfa;background:var(--teal);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.owner-status.available{background:#76612e}.owner-status.reserved{background:#866333}.owner-status.sold,.owner-status.rented{background:#5a585c}.owner-status.unavailable{background:#795247}
.owner-two-column{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
.owner-ledger-card,.owner-statement-card{padding:20px}
.owner-ledger-line{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid rgba(36,34,40,.09)}
.owner-ledger-line:first-of-type{border-top:0}
.owner-ledger-line strong,.owner-document strong{display:block;color:var(--ink);font-size:14px}
.owner-ledger-line small,.owner-document small{display:block;margin-top:3px;color:var(--muted);font-size:12px}
.owner-ledger-line b{color:var(--teal);font-size:14px;font-variant-numeric:lining-nums tabular-nums}
.payment-state,.care-state{display:inline-flex;justify-content:center;min-width:62px;padding:5px 7px;border-radius:999px;background:rgba(15,90,82,.11);color:var(--teal);font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.payment-state.pending,.care-state.new{background:rgba(253,82,27,.15);color:#b23611}.payment-state.overdue,.care-state.in-progress{background:rgba(143,45,37,.12);color:#8f2d25}.care-state.scheduled{background:rgba(27,101,138,.12);color:#1b658a}
.owner-statement-card{display:grid;align-content:start;gap:14px;color:#fffdfa;border-color:rgba(255,225,97,.2);background:linear-gradient(145deg,#1a1711,#234840)}
.owner-statement-card .eyebrow{color:var(--gold-2);margin:0}
.owner-statement-card p:not(.eyebrow){margin:0;color:rgba(255,253,250,.7);line-height:1.55}
.owner-statement-card>div{display:grid;gap:4px;margin-top:4px;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,253,250,.07)}
.owner-statement-card>div span{color:rgba(255,253,250,.64);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.owner-statement-card>div strong{color:var(--gold-2);font-family:"General Sans",Inter,system-ui,sans-serif;font-size:39px;line-height:1;font-variant-numeric:lining-nums tabular-nums}
.owner-statement-card .btn{margin-top:auto;justify-content:center}
.owner-document{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid rgba(36,34,40,.09)}
.owner-document:first-of-type{border-top:0}.owner-document>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:var(--gold);background:rgba(253,82,27,.1)}
.owner-document .ico{width:18px;height:18px}.owner-document a{color:var(--teal);font-size:12px;font-weight:900}
.owner-analytics{margin-top:30px;scroll-margin-top:140px}
.owner-analytics-grid{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:14px}
.owner-trend-card,.owner-analytics-card,.owner-service-form,.owner-request-list{border:1px solid rgba(255,255,255,.76);border-radius:16px;background:linear-gradient(150deg,rgba(255,253,250,.83),rgba(248,239,222,.62));box-shadow:var(--shadow-soft);backdrop-filter:blur(18px) saturate(1.15)}
.owner-trend-card{display:grid;gap:12px;min-height:192px;padding:18px}
.owner-trend-bars{display:flex;align-items:end;justify-content:space-between;gap:10px;height:126px}
.owner-trend-bar{display:grid;flex:1;min-width:0;height:100%;grid-template-rows:1fr auto;gap:7px;align-items:end;text-align:center}
.owner-trend-bar i{display:block;width:100%;min-height:8px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,var(--gold-2),var(--teal));box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}
.owner-trend-bar span{color:var(--muted);font-size:10px;font-weight:850}
.owner-trend-legend{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid rgba(36,34,40,.09);color:var(--muted);font-size:12px}
.owner-trend-legend strong,.owner-analytics-card strong{color:var(--teal);font-family:"General Sans",Inter,system-ui,sans-serif;font-size:31px;line-height:1;font-variant-numeric:lining-nums tabular-nums}
.owner-analytics-card{display:grid;align-content:start;gap:10px;min-height:192px;padding:20px}
.owner-analytics-card span{color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.owner-analytics-card small{color:var(--muted);font-size:12px;line-height:1.45}
.owner-statement-card form{display:grid;gap:9px;margin-top:auto}.owner-statement-card input{min-height:42px;background:rgba(255,253,250,.9)}
.owner-service-form{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;padding:16px}
.owner-service-form h3,.owner-service-form input,.owner-service-form textarea,.owner-service-form button{grid-column:1/-1}
.owner-service-form h3{margin:0;font-family:"General Sans",Inter,system-ui,sans-serif;font-size:29px;line-height:1}.owner-service-form textarea{min-height:96px}.owner-service-form button{justify-self:start}
.owner-request-list{display:grid;gap:0;margin-top:14px;padding:16px}.owner-request-list h3{margin:0 0 5px;font-family:"General Sans",Inter,system-ui,sans-serif;font-size:28px}.owner-request-list>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 10px;align-items:center;padding:11px 0;border-top:1px solid rgba(36,34,40,.09)}.owner-request-list small{grid-column:2;color:var(--muted);font-size:11px}
.owner-tax-card,.owner-tax-help{padding:20px;border:1px solid rgba(255,255,255,.76);border-radius:16px;background:linear-gradient(150deg,rgba(255,253,250,.83),rgba(248,239,222,.62));box-shadow:var(--shadow-soft);backdrop-filter:blur(18px) saturate(1.15)}
.owner-tax-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:10px}.owner-tax-metrics>div{display:grid;gap:3px;padding:12px;border:1px solid rgba(36,34,40,.08);border-radius:12px;background:rgba(255,253,250,.58)}.owner-tax-metrics span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.owner-tax-metrics strong{color:var(--teal);font-family:"General Sans",Inter,system-ui,sans-serif;font-size:29px;line-height:1;font-variant-numeric:lining-nums tabular-nums}
.owner-tax-line{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid rgba(36,34,40,.09)}.owner-tax-line strong{display:block;font-size:14px}.owner-tax-line small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.owner-tax-line b{color:var(--teal);font-size:14px;font-variant-numeric:lining-nums tabular-nums}.payment-state.due{background:rgba(253,82,27,.15);color:#b23611}.payment-state.exempt{background:rgba(90,81,72,.12);color:#5a585c}
.owner-tax-help{display:grid;align-content:start;gap:14px;color:#fffdfa;border-color:rgba(255,225,97,.2);background:linear-gradient(145deg,#203f39,#232327)}.owner-tax-help .eyebrow{margin:0;color:var(--gold-2)}.owner-tax-help h2{margin:0;font-family:"General Sans",Inter,system-ui,sans-serif;font-size:38px;line-height:.95}.owner-tax-help p{margin:0;color:rgba(255,253,250,.72);line-height:1.55}.owner-tax-help small{color:rgba(255,253,250,.58);font-size:11px}.owner-tax-help .btn{justify-content:center}
@media (max-width:900px){.owner-metrics{grid-template-columns:repeat(2,1fr)}.owner-property-grid{grid-template-columns:repeat(2,1fr)}.owner-two-column,.owner-analytics-grid{grid-template-columns:1fr}}
@media (max-width:720px){
  html{scroll-padding-top:84px;scroll-padding-bottom:104px}
  body:not(.admin-body){min-width:0;padding-bottom:calc(82px + env(safe-area-inset-bottom));overflow-x:clip}
  body:not(.admin-body) .site-nav{top:0;z-index:72;min-height:66px;padding:10px 14px;background:linear-gradient(180deg,rgba(255,253,250,.96),rgba(255,253,250,.83));backdrop-filter:blur(18px) saturate(1.2)}
  .site-nav::before{left:14px;right:14px}
  .brand{gap:9px}
  .logo-mark{width:36px;height:36px}
  .brand-text{max-width:calc(100vw - 142px);font-size:14px}
  .menu-toggle{position:relative;z-index:74;display:grid;place-content:center;min-width:44px;min-height:44px;border-radius:13px}
  .menu-toggle span{transition:transform .22s var(--ease),opacity .22s var(--ease)}
  body.nav-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}
  body.nav-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .site-nav .nav-links{z-index:73;top:58px;left:10px;right:10px;max-height:calc(100svh - 154px);padding:10px;border-radius:18px;box-shadow:0 22px 60px rgba(25,19,11,.2)}
  .site-nav .nav-links a{min-height:48px;padding-inline:12px;border-radius:10px}
  .site-nav .nav-links a.is-current{color:var(--teal);background:rgba(15,90,82,.08)}
  .public-mobile-dock{position:fixed;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:80;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:6px;border:1px solid rgba(255,255,255,.82);border-radius:18px;background:linear-gradient(180deg,rgba(255,253,250,.95),rgba(246,237,220,.9));box-shadow:0 16px 42px rgba(31,31,34,.2);backdrop-filter:blur(20px) saturate(1.25)}
  .public-mobile-dock a,.public-mobile-dock button{display:grid;place-items:center;gap:3px;min-width:0;min-height:52px;padding:5px 2px;border:0;border-radius:12px;background:transparent;color:#494033;font:850 10px/1 Inter,ui-sans-serif,system-ui;box-shadow:none}
  .public-mobile-dock .ico{width:20px;height:20px;color:var(--teal);stroke-width:1.9}
  .public-mobile-dock a.is-current{color:#fffdfa;background:linear-gradient(145deg,#1c3d38,#0e554d);box-shadow:0 8px 18px rgba(15,90,82,.22)}
  .public-mobile-dock a.is-current .ico{color:var(--gold-2)}
  .public-mobile-dock button:active,.public-mobile-dock a:active{transform:scale(.96);box-shadow:none}
  .dock-menu-lines{position:relative;width:20px;height:14px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
  .dock-menu-lines::after{content:"";position:absolute;left:0;right:0;top:5px;border-top:2px solid currentColor}
  body.nav-open .mobile-dock-menu{color:#fffdfa;background:#232327}

  .hero{min-height:min(670px,calc(100svh - 66px));align-items:end}
  .hero-content{padding:28px 18px 24px}
  .hero h1{font-size:clamp(37px,10.6vw,48px);line-height:.94}
  .hero p{max-width:34rem;font-size:15px;line-height:1.5}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .hero-actions .btn{min-height:46px;padding:10px 11px;font-size:12px}
  .search-panel{margin-top:16px;padding:10px;gap:8px;border-radius:16px}
  .search-panel input,.search-panel select,.search-panel .lux-select-btn{min-height:46px}
  .section{padding:48px 14px}
  .section-head{gap:8px;margin-bottom:16px}
  .section h2,.page-hero h1{font-size:clamp(32px,10vw,43px);line-height:.98}
  .page-hero{min-height:340px;padding:62px 18px 28px}
  .page-hero.compact{min-height:340px}
  .page-hero p{font-size:15px;line-height:1.5}
  .panel,.lux-form,.contact-card{border-radius:16px}
  .panel{padding:16px}
  .panel-head{gap:10px;align-items:center}
  .panel-head h2{font-size:28px}
  input,select,textarea{min-height:48px;border-radius:13px;padding:12px 13px}
  textarea{min-height:132px}
  .lux-form button,.alert-form button{min-height:50px;border-radius:13px}
  .buyer-tabs{top:66px;margin-inline:-14px;padding:8px 14px;border-radius:0;box-shadow:0 8px 22px rgba(31,31,34,.08)}
  .buyer-tabs a{min-height:38px;padding:9px 12px}
  .buyer-command{gap:16px;padding:18px}
  .buyer-command h2,.owner-ledger h2{font-size:33px}
  .buyer-command p{font-size:15px;line-height:1.5}
  .buyer-stats{grid-template-columns:repeat(3,1fr);gap:7px}
  .buyer-stats div{min-height:82px;padding:11px 8px}
  .buyer-stats span{font-size:8.5px;line-height:1.2}
  .buyer-stats strong{font-size:31px}
  .owner-care-grid{display:flex;overflow-x:auto;gap:10px;margin-right:-14px;padding-right:14px;scroll-snap-type:x mandatory;scrollbar-width:none}
  .owner-care-grid::-webkit-scrollbar{display:none}
  .owner-care-card{flex:0 0 min(78vw,292px);scroll-snap-align:start;padding:17px;border-radius:16px}
  .service-checks{gap:8px}
  .service-checks label{min-height:44px;padding:9px 10px}
  .property-grid,.property-grid.small,.listing-results .property-grid{gap:9px}
  .property-card{border-radius:13px}
  .card-media{height:118px}
  .card-body{padding:9px 9px 10px}
  .card-body h3{font-size:14px}
  .card-actions .btn,.card-actions button{min-height:38px}
  .filter-rail{left:8px;right:8px;bottom:calc(78px + env(safe-area-inset-bottom));max-height:calc(100svh - 122px);padding:15px;border-radius:18px}
  .mobile-filter-toggle{position:sticky;bottom:calc(78px + env(safe-area-inset-bottom));z-index:20;min-height:48px;border-radius:14px}
  .gallery img,.gallery img:first-child{flex-basis:88vw;width:88vw;height:242px}
  .detail-trust{gap:5px}.detail-trust span{padding:5px 6px;font-size:8.5px}.detail-trust .ico{width:11px;height:11px}
  .detail-summary h1{font-size:34px}
  .detail-summary .price{font-size:30px}
  .site-footer{padding-bottom:14px}
  .footer-shell{padding:0 14px 22px}
  .footer-atelier{display:grid;grid-template-columns:1fr;gap:10px;margin-top:0}
  .footer-brand,.footer-metrics,.footer-concierge,.site-footer .footer-col{border-radius:16px}
  .footer-brand{padding:20px}
  .footer-brand strong{font-size:38px}
  .footer-metrics{padding:7px}
  .footer-metrics a{min-height:104px;padding:10px 8px}
  .footer-metrics b{font-size:29px}
  .footer-metrics span{font-size:10px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:9px;padding-top:10px}
  .footer-concierge{grid-column:1/-1;padding:18px}
  .footer-base{padding:14px;gap:8px;font-size:11px}
  .footer-base nav{gap:8px}
  .footer-base a{margin-left:0}
  .toast-wrap{left:12px;right:12px;top:auto;bottom:calc(88px + env(safe-area-inset-bottom));z-index:90}
  .toast{padding:12px 14px;border-radius:14px;font-size:13px}
  .owner-portal{padding:14px 14px 94px}
  .owner-portal-hero{display:grid;gap:22px;padding:22px 18px;border-radius:18px}
  .owner-portal-hero h1{font-size:42px}
  .owner-portal-hero p:not(.eyebrow){margin-top:12px;font-size:15px}
  .owner-portal-actions{justify-items:start;min-width:0}
  .owner-portal-actions .btn{width:100%;min-height:46px;justify-content:center}
  .owner-portal-tabs{top:66px;margin:12px -14px 14px;padding:8px 14px;border-radius:0}
  .owner-metrics{display:flex;gap:9px;margin:14px -14px 24px;padding:0 14px 5px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .owner-metrics::-webkit-scrollbar{display:none}
  .owner-metrics article{flex:0 0 min(68vw,250px);min-height:130px;padding:16px;scroll-snap-align:start}
  .owner-metrics strong{font-size:30px}
  .owner-portal-section{margin-top:24px;scroll-margin-top:126px}
  .owner-section-head{align-items:end;margin-bottom:12px}
  .owner-section-head h2,.owner-statement-card h2{font-size:31px}
  .owner-property-grid{display:flex;gap:10px;margin-right:-14px;padding-right:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .owner-property-grid::-webkit-scrollbar{display:none}
  .owner-property-card{flex:0 0 min(82vw,300px);scroll-snap-align:start}
  .owner-property-card img{height:168px}
  .owner-two-column{display:grid;gap:10px}
  .owner-analytics{margin-top:24px;scroll-margin-top:126px}.owner-analytics-grid{display:grid;gap:10px}.owner-trend-card,.owner-analytics-card{min-height:0;padding:16px}.owner-trend-bars{height:116px}.owner-service-form{grid-template-columns:1fr;gap:9px;padding:14px}.owner-service-form button{width:100%;min-height:48px;justify-content:center}.owner-request-list{padding:14px}
  .owner-tax-card,.owner-tax-help{padding:16px}.owner-tax-help h2{font-size:32px}.owner-tax-line{gap:9px}.owner-tax-line b{font-size:12px}.owner-tax-line small{font-size:11px}
  .contact-showroom{gap:16px}.contact-intro{display:grid;gap:14px}.contact-intro h2{font-size:38px}.contact-intro p:not(.eyebrow){font-size:15px}.contact-assurance{min-width:0;gap:6px}.contact-showroom-grid,.contact-location{grid-template-columns:1fr;gap:10px}.contact-command,.contact-concierge-form{padding:18px;border-radius:16px}.contact-command h3{font-size:35px}.contact-route-list a{padding:10px}.contact-intent{grid-template-columns:1fr;gap:6px}.contact-intent span{min-height:42px}.contact-location>div:first-child{padding:20px}.contact-location h2{font-size:35px}.contact-map-art{min-height:190px}.contact-map-art small{bottom:15px}
  .owner-ledger-card,.owner-statement-card{padding:16px;border-radius:16px}
  .owner-ledger-line{gap:9px;padding:12px 0}
  .owner-ledger-line b{font-size:12px}
  .owner-ledger-line small{font-size:11px}
  .payment-state,.care-state{min-width:54px;font-size:8px}
}
}

/* Native Sorani and Arabic layout. */
.language-switch{display:flex;align-items:center;gap:3px;margin-left:4px;padding:3px;border:1px solid rgba(253,82,27,.18);border-radius:10px;background:rgba(255,253,250,.52)}
.language-switch a{padding:6px 7px;border-radius:7px;color:var(--muted);font-size:10px;font-weight:850;line-height:1}.language-switch a::after{display:none!important}.language-switch a.is-active{color:#232327;background:linear-gradient(135deg,#ff9268,#d1a450)}
html[dir="rtl"] body{font-family:"IBM Plex Sans Arabic","General Sans",Inter,system-ui,sans-serif;text-align:right}
html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3,html[dir="rtl"] .brand-text,html[dir="rtl"] .price,html[dir="rtl"] .metric strong{font-family:"IBM Plex Sans Arabic","General Sans",system-ui,sans-serif;letter-spacing:0}
html[dir="rtl"] .site-nav,html[dir="rtl"] .site-nav nav,html[dir="rtl"] .hero-kicker,html[dir="rtl"] .hero-actions,html[dir="rtl"] .detail-trust,html[dir="rtl"] .footer-actions{direction:rtl}
html[dir="rtl"] .site-nav nav a::after{left:100%;right:0}html[dir="rtl"] .site-nav nav a:hover::after,html[dir="rtl"] .site-nav nav a.is-current::after{left:0}
html[dir="rtl"] .language-switch{margin-left:0;margin-right:4px;direction:ltr}
html[dir="rtl"] input,html[dir="rtl"] textarea,html[dir="rtl"] select{direction:rtl;text-align:right}
html[dir="rtl"] .hero-content,html[dir="rtl"] .page-hero,html[dir="rtl"] .detail-summary,html[dir="rtl"] .contact-command,html[dir="rtl"] .owner-portal{text-align:right}
html[dir="rtl"] .card-glass,html[dir="rtl"] .panel-head,html[dir="rtl"] .owner-section-head,html[dir="rtl"] .map-caption{direction:rtl}
html[dir="rtl"] .card-glass small{text-align:left}
html[dir="rtl"] .mini-specs,html[dir="rtl"] .spec-grid,html[dir="rtl"] .contact-intent{direction:rtl}
html[dir="rtl"] .public-mobile-dock{direction:rtl}.public-mobile-dock .ico{transform:scaleX(-1)}
html[dir="rtl"] .contact-route-list a,html[dir="rtl"] .owner-document,html[dir="rtl"] .owner-ledger-line,html[dir="rtl"] .owner-tax-line{direction:rtl}
@media (max-width:720px){.language-switch{display:grid;grid-template-columns:repeat(2,1fr);margin:10px 0 0;padding:5px}.language-switch a{display:grid;place-items:center;min-height:34px;font-size:11px}html[dir="rtl"] .site-nav .nav-links{direction:rtl;text-align:right}html[dir="rtl"] .site-nav .nav-links a{justify-content:flex-start}html[dir="rtl"] .hero .search-panel{direction:rtl}html[dir="rtl"] .hero .search-panel button{grid-column:1/-1}}

/* Tower unit selector */
.tower-selector{max-width:1180px}.tower-selector-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.tower-selector-head h2{margin:0}.tower-legend{display:flex;gap:9px;flex-wrap:wrap}.tower-legend span,.tower-state{border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;text-transform:capitalize}.tower-legend .available,.tower-state.available{background:#d9f1e7;color:#57562f}.tower-legend .reserved,.tower-state.reserved{background:#fff0ca;color:#805400}.tower-legend .sold,.tower-state.sold{background:#eee9e4;color:#6b625a}.tower-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,.7fr);gap:22px}.tower-plan{padding:20px;background:linear-gradient(145deg,#203530,#0f211d);border-radius:22px;box-shadow:0 20px 48px rgba(14,36,29,.18)}.tower-crown{padding:18px;text-align:center;letter-spacing:.17em;color:#f5d48a;font-weight:900;border:1px solid rgba(245,212,138,.42);border-radius:12px;margin-bottom:12px}.tower-crown small{display:block;margin-top:5px;color:#d7e1dc;letter-spacing:.06em}.tower-floor{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;margin:7px 0}.tower-floor>strong{color:#b5c8bf;font-size:12px;text-align:center}.tower-units{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tower-unit{min-height:58px;border:1px solid transparent;border-radius:10px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.tower-unit b,.tower-unit small{display:block}.tower-unit b{font-size:12px}.tower-unit small{font-size:9px;margin-top:3px;text-transform:uppercase;letter-spacing:.05em}.tower-unit.available{background:#dff6e9;color:#57562f}.tower-unit.reserved{background:#ffe161;color:#a53007}.tower-unit.sold{background:#7a787c;color:#e9e5df;cursor:not-allowed}.tower-unit:not(.sold):hover,.tower-unit.is-selected{transform:translateY(-2px);box-shadow:0 7px 16px rgba(0,0,0,.25);outline:2px solid #f1cd78}.tower-unit-detail{align-self:start;position:sticky;top:96px;min-height:300px;padding:26px;border-radius:20px;background:#fffaf2;border:1px solid rgba(253,82,27,.22);box-shadow:0 14px 35px rgba(36,27,12,.08)}.tower-unit-detail h2{font-size:31px;line-height:1.03}.tower-unit-detail .price{display:block;margin:22px 0;font-size:29px}.tower-unit-detail .btn{margin-top:20px}.tower-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.tower-detail-grid span{padding:10px;border-radius:10px;background:#f2ece1;font-size:12px;font-weight:700}@media(max-width:720px){.tower-selector-head,.tower-layout{display:grid}.tower-layout{grid-template-columns:1fr}.tower-plan{padding:13px}.tower-unit-detail{position:static}.tower-floor{grid-template-columns:36px 1fr}.tower-units{gap:5px}.tower-unit{min-height:51px}.tower-unit b{font-size:10px}.tower-unit small{font-size:8px}.tower-detail-grid{grid-template-columns:1fr}}

/* Leaflet / OpenStreetMap property experience */
.leaflet-property-map{height:360px;overflow:hidden;border:1px solid rgba(253,82,27,.24);border-radius:18px;background:#d8e7df;box-shadow:0 16px 38px rgba(27,53,43,.13)}.leaflet-portfolio-map{height:min(70vh,680px);border-radius:22px}.map-page-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.leaflet-container{font-family:"General Sans",Inter,system-ui,sans-serif}.hs-map-pin-wrap{background:transparent;border:0}.hs-map-pin{display:block;white-space:nowrap;padding:9px 11px;border:2px solid #fff;border-radius:999px;background:#0f5a52;color:#fff;font-weight:850;font-size:12px;box-shadow:0 5px 16px rgba(11,48,42,.3);transform:translate(-50%,-100%)}.hs-map-pin:after{content:"";position:absolute;left:50%;bottom:-7px;width:12px;height:12px;background:inherit;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:translateX(-50%) rotate(45deg)}.hs-map-pin.reserved{background:#bd8425}.hs-map-pin.sold,.hs-map-pin.rented{background:#6c6660}.leaflet-popup-content-wrapper{padding:0;overflow:hidden;border-radius:14px;box-shadow:0 12px 31px rgba(20,30,25,.22)}.leaflet-popup-content{margin:0!important}.hs-map-popup{width:250px;background:#fffdfa}.hs-map-popup img{width:100%;height:106px;object-fit:cover}.hs-map-popup div{display:grid;gap:5px;padding:12px}.hs-map-popup span{font-size:10px;color:#74706a;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.hs-map-popup strong{font-family:"General Sans",Inter,system-ui,sans-serif;font-size:21px;line-height:.95}.hs-map-popup b{color:#0d5c56}.hs-map-popup em{justify-self:start;padding:3px 7px;border-radius:99px;font-style:normal;font-size:9px;font-weight:900;text-transform:uppercase}.hs-map-popup em.available{color:#57562f;background:#dff6e9}.hs-map-popup em.reserved{color:#a53007;background:#ffe161}.hs-map-popup em.sold,.hs-map-popup em.rented{color:#fff;background:#7a787c}.hs-map-popup a{margin-top:5px;color:#0d5c56;font-size:12px;font-weight:900}@media(max-width:720px){.leaflet-property-map{height:300px}.leaflet-portfolio-map{height:62vh}.map-page-toolbar{gap:10px}.hs-map-popup{width:220px}}

/* Fix: tablet-width admin sidebar — keep it off-canvas (a later duplicate rule was forcing position:static, pushing content down) */
@media (max-width:1100px){
  .sidebar{position:fixed;inset:0 auto 0 0;width:288px;z-index:40;transform:translateX(-105%);transition:transform .38s var(--ease)}
  body.sidebar-open .sidebar{transform:none}
  .admin-main{margin-left:0}
}
@media (max-width:720px){
  .sidebar{width:min(88vw,326px);max-width:326px}
}

/* ===== Chrome performance tuning ===== */
/* Sticky glass surfaces re-blur on every scroll frame; smaller radii are visually close and far cheaper. */
.site-nav{backdrop-filter:blur(10px) saturate(1.3)}
.sidebar{backdrop-filter:blur(12px) saturate(1.2)}
/* Full-screen hero kept static — the infinite scale animation forced constant compositing. */
.hero-media{animation:none;transform:none}

/* Dedicated hero identity for every primary navigation destination. */
.page-hero.menu-page-hero{
  isolation:isolate;
  min-height:min(48vh,460px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  padding-bottom:56px;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.page-hero.menu-page-hero::before{
  content:"";
  inset:0;
  z-index:0;
  background:linear-gradient(90deg,rgba(18,18,20,.9) 0%,rgba(18,18,20,.68) 44%,rgba(18,18,20,.12) 82%),linear-gradient(180deg,rgba(15,35,31,.12),rgba(18,18,20,.68));
}
.page-hero.menu-page-hero::after{
  content:"";
  position:absolute;
  inset:auto 5vw 0 auto;
  z-index:1;
  width:180px;
  height:6px;
  background:linear-gradient(90deg,var(--gold),var(--champagne));
  border-radius:99px 99px 0 0;
  opacity:.9;
}
.page-hero.menu-page-hero h1{max-width:780px;text-shadow:0 18px 48px rgba(0,0,0,.58)}
.page-hero.menu-page-hero p{max-width:650px;color:rgba(255,253,250,.86);text-shadow:0 8px 26px rgba(0,0,0,.52)}

.page-hero.properties-hero{background-image:url("brand/banner-properties.webp");background-position:center 38%}
.page-hero.sale-hero{background-image:url("generated/dubai-waterfront-villa-hero.webp");background-position:center 58%}
.page-hero.rent-hero{background-image:url("generated/dubai-marina-penthouse.webp");background-position:center 48%}
.page-hero.buyer-hero{background-image:url("generated/buyer-desk-hero-v2.webp");background-position:center}
.page-hero.owner-hero{background-image:url("generated/owners-hero-v2.webp");background-position:center}
.page-hero.renter-hero{background-image:url("generated/renters-hero-v2.webp");background-position:center}
.page-hero.valuation-hero{background-image:url("generated/valuation-hero-v2.webp");background-position:center}
.page-hero.advisors-hero{background-image:url("generated/advisors-hero-v2.webp");background-position:center}
.page-hero.contact-hero{background-image:url("generated/contact-hero-v2.webp");background-position:center}

@media (max-width:720px){
  .page-hero.menu-page-hero{min-height:350px;padding:72px 18px 30px;background-position:center}
  .page-hero.menu-page-hero::before{background:linear-gradient(180deg,rgba(18,18,20,.28),rgba(18,18,20,.9) 82%)}
  .page-hero.menu-page-hero::after{right:18px;width:96px}
  .page-hero.menu-page-hero h1{font-size:clamp(34px,10vw,46px)}
  .page-hero.advisors-hero{background-position:center}
  .page-hero.sale-hero,.page-hero.buyer-hero{background-position:center}
}
/* Skip rendering off-screen listing cards until they approach the viewport. */
.property-grid .property-card{content-visibility:auto;contain-intrinsic-size:1px 430px}

/* ===== Investment layer: Golden Visa badge + Instagram strip ===== */
.card-media .gv-badge{position:absolute;left:12px;bottom:64px;display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid rgba(255,225,97,.55);border-radius:9px;color:#1f1f22;background:linear-gradient(135deg,#ffe161,#ffd23e);box-shadow:0 6px 18px rgba(0,0,0,.18);font-size:9px;font-weight:700;letter-spacing:.055em;text-transform:uppercase}
.card-media .gv-badge .ico{width:12px;height:12px}
.detail-summary .badge.gv-badge{border-color:rgba(197,158,0,.4);color:#5a4a00;background:linear-gradient(135deg,rgba(255,225,97,.5),rgba(255,225,97,.22))}
.roi-calc input{font-variant-numeric:tabular-nums}
.insta-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.insta-tile{display:block;overflow:hidden;border-radius:16px;border:1px solid rgba(36,34,40,.1);box-shadow:0 14px 34px rgba(31,31,34,.1)}
.insta-tile img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s var(--ease)}
.insta-tile:hover img{transform:scale(1.05)}
@media (max-width:1100px){.insta-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:720px){.insta-grid{grid-template-columns:repeat(2,1fr);gap:10px}}
.card-media .gv-badge{top:auto;right:auto;width:auto;height:auto;min-height:0}

/* ===== Dubai portal upgrades: community chips + popular searches ===== */
.location-chips{display:flex;gap:9px;flex-wrap:wrap;align-items:center;max-width:1280px;margin:-16px auto 6px;padding:10px 5vw 4px}
.loc-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border:1px solid rgba(36,34,40,.14);border-radius:99px;background:rgba(255,253,250,.85);color:var(--ink);font-size:13px;font-weight:600;text-decoration:none;transition:all .25s var(--ease)}
.loc-chip b{font-size:11px;font-weight:700;color:var(--gold);background:rgba(253,82,27,.1);border-radius:99px;padding:2px 7px}
.loc-chip:hover{border-color:rgba(253,82,27,.5);transform:translateY(-1px)}
.loc-chip.is-active{background:var(--ink);border-color:var(--ink);color:#fffdfa}
.loc-chip.is-active b{background:rgba(253,82,27,.9);color:#fff}
.popular-searches .chips a{text-decoration:none}
@media (max-width:720px){.location-chips{padding:10px 14px 2px;margin-top:-8px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.loc-chip{white-space:nowrap}}

/* ===== Properties page banner — The Valley footage from HomeSeek's own videos ===== */
.page-hero.listing-hero{
  min-height:min(46vh,430px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding-bottom:56px;
  background:
    linear-gradient(90deg,rgba(26,26,30,.88),rgba(26,26,30,.55) 46%,rgba(26,26,30,.08) 78%),
    linear-gradient(180deg,rgba(26,26,30,.22),rgba(26,26,30,.05) 40%,rgba(26,26,30,.62)),
    url("brand/banner-properties.webp") center 38%/cover,#1f1f22;
}
.page-hero.listing-hero::before{display:none}
.page-hero.listing-hero::after{
  content:"";
  position:absolute;
  right:-40px;
  bottom:-70px;
  width:300px;
  height:230px;
  background:url("brand/mark-orange.svg") center/contain no-repeat;
  opacity:.88;
  filter:drop-shadow(0 18px 40px rgba(31,31,34,.35));
}
.page-hero.listing-hero h1{max-width:640px;text-shadow:0 18px 48px rgba(0,0,0,.55)}
.page-hero.listing-hero p{max-width:520px;text-shadow:0 8px 26px rgba(0,0,0,.5)}
@media (max-width:720px){
  .page-hero.listing-hero{min-height:300px;padding-bottom:34px}
  .page-hero.listing-hero::after{width:170px;height:130px;right:-24px;bottom:-36px}
}

/* ===== Cleanup: no ring around the brand mark, no hero capsule/checkpoint lines ===== */
.logo-mark{border-radius:0;box-shadow:none}
.hero::before,.hero::after{display:none}
.hero-content::before{display:none}

/* ===== Landing hero photo — drop the generated image at assets/brand/hero-home.webp and it takes over automatically (chevron mark stays as fallback) ===== */
.hero-media{
  background:
    radial-gradient(circle at 73% 22%,rgba(255,225,97,.14),transparent 23rem),
    linear-gradient(90deg,rgba(26,26,30,.94),rgba(26,26,30,.55) 38%,rgba(26,26,30,.1) 72%),
    linear-gradient(180deg,rgba(26,26,30,.05),rgba(26,26,30,.72)),
    url("generated/dubai-waterfront-villa-hero.webp") 68% 42%/cover no-repeat,
    url("brand/mark-orange.svg") 112% 118%/58% no-repeat,
    #1f1f22;
}
@media (max-width:720px){
  .hero-media{
    background:
      linear-gradient(180deg,rgba(26,26,30,.3),rgba(26,26,30,.86)),
      linear-gradient(90deg,rgba(26,26,30,.6),rgba(26,26,30,.14)),
      url("generated/dubai-waterfront-villa-hero.webp") 62% center/cover no-repeat,
      url("brand/mark-orange.svg") 122% 108%/72% no-repeat,
      #1f1f22;
  }
}

/* Hero photo fine-tune: let the skyline glow through */
.hero-media{
  background:
    linear-gradient(90deg,rgba(26,26,30,.92),rgba(26,26,30,.5) 34%,rgba(26,26,30,.02) 64%),
    linear-gradient(180deg,rgba(26,26,30,.12),transparent 45%,rgba(26,26,30,.55)),
    url("generated/dubai-waterfront-villa-hero.webp") right 64%/cover no-repeat,
    #1f1f22;
}
@media (max-width:720px){
  .hero-media{
    background:
      linear-gradient(180deg,rgba(26,26,30,.25),rgba(26,26,30,.8)),
      linear-gradient(90deg,rgba(26,26,30,.5),rgba(26,26,30,.06)),
      url("generated/dubai-waterfront-villa-hero.webp") 70% 60%/cover no-repeat,
      #1f1f22;
  }
}

/* ============================================================
   Dashboard redesign — hero, stat tiles, quick actions
   ============================================================ */
.dash-hero{align-items:stretch;flex-wrap:wrap;gap:22px 30px;padding:28px 30px}
.dash-hero-copy{flex:1 1 300px}
.dash-hero-copy h2{margin:2px 0 8px}
.dash-hero-stats{display:flex;align-items:center;gap:26px;padding-left:4px}
.dash-hero-stats > div{display:flex;flex-direction:column;gap:4px}
.dash-hero-stats span{color:rgba(255,253,250,.6);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.dash-hero-stats strong{color:#fffdfa;font-size:23px;line-height:1;letter-spacing:-.01em}
.dash-hero-stats > div + div{padding-left:26px;border-left:1px solid rgba(255,255,255,.14)}
.dash-hero-cta{align-self:flex-end;display:inline-flex;align-items:center;gap:8px}
.dash-hero-cta .ico{width:17px;height:17px}

/* Stat tiles */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}
.stat-tile{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:2px;padding:18px 18px 16px;border:1px solid rgba(255,255,255,.7);border-radius:18px;background:linear-gradient(158deg,rgba(255,253,250,.94),rgba(255,253,250,.7));box-shadow:0 12px 32px rgba(31,31,34,.07);text-decoration:none;color:var(--ink);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.stat-tile::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tile-accent,var(--gold));opacity:.9}
.stat-tile::after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,var(--tile-glow,rgba(253,82,27,.13)),transparent 70%);pointer-events:none}
.stat-tile:hover{transform:translateY(-4px);box-shadow:0 24px 54px rgba(31,31,34,.14);border-color:rgba(253,82,27,.35)}
.stat-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.stat-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--tile-chip,rgba(253,82,27,.12));color:var(--tile-accent,var(--gold))}
.stat-ico .ico{width:21px;height:21px;stroke-width:1.8}
.stat-value{font-family:"General Sans",Inter,system-ui,sans-serif;font-size:32px;line-height:1;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.stat-label{margin-top:5px;color:var(--ink);font-size:13.5px;font-weight:750}
.stat-context{margin-top:3px;color:var(--muted);font-size:11.5px;font-weight:650}
.stat-trend{display:inline-flex;align-items:center;gap:3px;padding:4px 8px;border-radius:99px;font-size:11.5px;font-weight:850;font-variant-numeric:tabular-nums}
.stat-trend .ico{width:13px;height:13px;stroke-width:2.2}
.stat-trend.up{color:#1e755d;background:rgba(30,117,93,.12)}
.stat-trend.down{color:#c0341d;background:rgba(192,52,29,.12)}
.stat-trend.down .ico{transform:scaleY(-1)}
/* accent variants */
.stat-tile[data-accent="revenue"]{--tile-accent:#fd521b;--tile-chip:rgba(253,82,27,.13);--tile-glow:rgba(253,82,27,.16)}
.stat-tile[data-accent="lead"]{--tile-accent:#c98a12;--tile-chip:rgba(201,138,18,.14);--tile-glow:rgba(255,225,97,.2)}
.stat-tile[data-accent="info"]{--tile-accent:#3a6ea5;--tile-chip:rgba(58,110,165,.13);--tile-glow:rgba(58,110,165,.14)}
.stat-tile[data-accent="ok"]{--tile-accent:#1e755d;--tile-chip:rgba(30,117,93,.13);--tile-glow:rgba(30,117,93,.14)}
.stat-tile[data-accent="warn"]{--tile-accent:#c98a12;--tile-chip:rgba(201,138,18,.14);--tile-glow:rgba(201,138,18,.14)}
.stat-tile[data-accent="danger"]{--tile-accent:#c0341d;--tile-chip:rgba(192,52,29,.13);--tile-glow:rgba(192,52,29,.15)}
.stat-tile[data-accent="ink"]{--tile-accent:#1f1f22;--tile-chip:rgba(31,31,34,.08);--tile-glow:rgba(31,31,34,.08)}

@media (max-width:1180px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dash-hero-stats > div:last-child{display:none}}
@media (max-width:640px){.stat-grid{grid-template-columns:1fr 1fr;gap:11px}.stat-tile{padding:14px 13px}.stat-value{font-size:26px}.stat-ico{width:36px;height:36px}.dash-hero-stats{gap:16px;flex-wrap:wrap}.dash-hero-stats > div + div{padding-left:16px}}

/* ===== Dashboard panel headers with icons + color-coded alert panels ===== */
.admin-main .panel-head{align-items:center;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(36,34,40,.08)}
.admin-main .panel-head h2{display:flex;align-items:center;gap:9px;margin:0;font-size:18px}
.admin-main .panel-head h2 .ico{width:19px;height:19px;color:var(--gold);stroke-width:1.85}
.panel-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:99px;font-size:12.5px;font-weight:850;font-variant-numeric:tabular-nums}
.panel-count.danger{color:#c0341d;background:rgba(192,52,29,.13)}
.panel-count.info{color:#3a6ea5;background:rgba(58,110,165,.13)}
.alert-panel{position:relative;overflow:hidden}
.alert-panel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}
.alert-panel.is-attention::before{background:#c0341d}
.alert-panel.is-upcoming::before{background:#3a6ea5}
.alert-panel.is-attention .panel-head h2 .ico{color:#c0341d}
.alert-panel.is-upcoming .panel-head h2 .ico{color:#3a6ea5}
.alert-panel h2{color:var(--ink)}
.alert-panel.is-upcoming .activity-line span{background:rgba(58,110,165,.1);color:#3a6ea5}
/* tighter activity rows on the dashboard */
.admin-main .activity-line{padding:11px 0}
.admin-main .activity-line:last-child{border-bottom:0}

/* ============================================================
   Mobile & tablet polish pass (appended last = wins cascade)
   ============================================================ */

/* --- Tablet & down: admin top bar wraps so search gets full width --- */
@media (max-width:1100px){
  .admin-top{flex-wrap:wrap;row-gap:12px;padding:14px 16px}
  .top-heading{flex:1 1 100%;display:flex;align-items:center;gap:12px}
  .top-actions{flex:1 1 100%;display:flex;align-items:center;gap:8px}
  .top-search{flex:1 1 auto;display:flex;gap:8px;min-width:0}
  .top-search input{flex:1 1 auto;min-width:0}
  .top-actions > a[href$="/logout"]{display:none}
  .admin-top h1{font-size:30px}
}

/* --- Mobile: quick actions become a horizontal snap strip instead of stacking --- */
@media (max-width:720px){
  .quick-actions{display:flex;flex-wrap:nowrap;gap:9px;overflow-x:auto;overflow-y:hidden;margin:0 -10px 14px;padding:2px 10px 10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .quick-actions::-webkit-scrollbar{display:none}
  .quick-actions a{flex:0 0 auto;min-width:0;min-height:46px;justify-content:flex-start;padding:10px 15px;border-radius:99px;scroll-snap-align:start;white-space:nowrap;font-size:13px;line-height:1}
  .quick-actions b{width:26px;height:26px;flex:0 0 26px}
  .quick-actions b .ico{width:14px;height:14px}

  /* Notifications stays a compact bell icon at every phone width */
  .notif-link{position:relative;width:46px;min-height:46px;flex:0 0 46px;overflow:hidden;text-indent:-999px;border-radius:14px}
  .notif-link::before{content:"";position:absolute;left:50%;top:44%;width:17px;height:18px;transform:translate(-50%,-50%);border:2px solid var(--ink);border-radius:50% 50% 40% 40%;text-indent:0}
  .notif-link::after{content:"";position:absolute;left:50%;bottom:11px;width:7px;height:2px;transform:translateX(-50%);border-radius:2px;background:var(--ink)}
  .notif-badge{position:absolute;top:5px;right:6px;z-index:2;text-indent:0}

  /* Tighter stacked table cards */
  td{padding:9px 13px}
  tbody tr{margin-bottom:11px;border-radius:15px}
  td:first-child{background:linear-gradient(90deg,rgba(253,82,27,.05),transparent);font-weight:800}

  /* Stat tiles: comfortable 2-up with bigger tap area */
  .stat-grid{gap:10px;margin-bottom:14px}
  .stat-tile{padding:15px 14px 14px;border-radius:16px}
  .stat-value{font-size:27px}
  .dash-hero{padding:20px 18px}
  .dash-hero-stats{gap:14px 20px}
  .dash-hero-stats strong{font-size:20px}
  .dash-hero-cta{width:100%;justify-content:center}
}

/* --- Small phones: keep the strip, never collapse to 1 column --- */
@media (max-width:400px){
  .quick-actions{display:flex}
  .top-actions{flex-wrap:nowrap}
  .stat-grid{grid-template-columns:1fr 1fr}
}

/* ============================================================
   Hub navigation — accordion sidebar + hub landing pages
   ============================================================ */
/* Sidebar hub headers */
.nav-hub{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:13px;color:rgba(255,253,250,.82);font-weight:800;font-size:14.5px;text-decoration:none;transition:background .25s ease,color .25s ease}
.nav-hub .nav-glyph{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:9px;background:rgba(255,255,255,.08);color:rgba(255,253,250,.9);transition:background .25s ease,color .25s ease}
.nav-hub .nav-glyph .ico{width:17px;height:17px;stroke-width:1.85}
.nav-hub .nav-text{flex:1;min-width:0}
.nav-hub-caret{display:grid;place-items:center;width:16px;height:16px;opacity:.5;transition:transform .3s var(--ease)}
.nav-hub-caret .ico{width:14px;height:14px}
.nav-hub:hover{background:rgba(255,255,255,.08);color:#fffdfa}
.hub-block.is-open > .nav-hub{color:#fffdfa}
.hub-block.is-open .nav-hub-caret{transform:rotate(180deg);opacity:.9}
.nav-hub.is-active{background:linear-gradient(135deg,rgba(253,82,27,.9),rgba(253,106,53,.72));color:#fff;box-shadow:0 10px 24px rgba(253,82,27,.28)}
.nav-hub.is-active .nav-glyph{background:rgba(255,255,255,.2);color:#fff}
/* Sidebar sub-items — smooth expand/collapse (active hub pinned open; desktop opens on hover) */
.nav-sub{overflow:hidden;max-height:0;opacity:0;margin-left:15px;transition:max-height .34s var(--ease),opacity .24s ease,margin .3s ease}
.nav-sub-list{display:grid;gap:2px;padding:2px 0 4px 11px;border-left:1px solid rgba(255,255,255,.14)}
.hub-block.is-open > .nav-sub{max-height:400px;opacity:1;margin-top:4px;margin-bottom:4px}
@media (hover:hover) and (pointer:fine){
  .hub-block:hover > .nav-sub{max-height:400px;opacity:1;margin-top:4px;margin-bottom:4px}
  .hub-block:hover > .nav-hub{background:rgba(255,255,255,.08);color:#fffdfa}
  .hub-block:hover > .nav-hub .nav-hub-caret{transform:rotate(180deg);opacity:.9}
  .hub-block:hover > .nav-hub.is-active{background:linear-gradient(135deg,rgba(253,82,27,.9),rgba(253,106,53,.72));color:#fff}
}
.nav-item{display:flex;align-items:center;gap:9px;padding:8px 11px;border-radius:10px;color:rgba(255,253,250,.66);font-weight:700;font-size:13px;text-decoration:none;transition:background .2s ease,color .2s ease,transform .2s var(--ease)}
.nav-item .nav-dot{display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px;color:rgba(255,253,250,.55)}
.nav-item .nav-dot .ico{width:15px;height:15px;stroke-width:1.8}
.nav-item:hover{background:rgba(255,255,255,.09);color:#fffdfa;transform:translateX(2px)}
.nav-item.is-active{background:rgba(253,82,27,.18);color:#fffdfa}
.nav-item.is-active .nav-dot{color:var(--gold-2)}
.sidebar-group{margin-bottom:3px}

/* Hub landing page */
.hub-hero{background:linear-gradient(135deg,rgba(26,26,30,.95),rgba(46,42,38,.82))}
.hub-hero .eyebrow{display:inline-flex;align-items:center;gap:7px}
.hub-hero .eyebrow .ico{width:15px;height:15px}
.hub-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.hub-grid{margin-top:4px}
.hub-card .stat-value{font-size:30px}
.hub-card .stat-value .ico{width:26px;height:26px;stroke-width:2;color:var(--tile-accent,var(--gold))}
.hub-card .stat-context{text-transform:capitalize}
.hub-jump{margin-top:6px;padding:18px 20px;border:1px solid rgba(36,34,40,.1);border-radius:16px;background:rgba(255,253,250,.6)}
.hub-jump > span{display:block;margin-bottom:10px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.hub-jump .chips{display:flex;flex-wrap:wrap;gap:9px}
.hub-jump .chips a{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border:1px solid rgba(36,34,40,.14);border-radius:99px;background:#fffdfa;color:var(--ink);font-weight:750;font-size:13.5px;text-decoration:none;transition:all .25s var(--ease)}
.hub-jump .chips a .ico{width:16px;height:16px;color:var(--gold)}
.hub-jump .chips a:hover{border-color:rgba(253,82,27,.45);transform:translateY(-2px);box-shadow:0 12px 26px rgba(31,31,34,.1)}

/* Keep the HomeSeek OS brand + user panel from collapsing when the nav is tall — nav scrolls instead */
.sidebar-brand-panel{flex:0 0 auto}
.sidebar-user{flex:0 0 auto}
.sidebar > nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
.sidebar > nav::-webkit-scrollbar{width:6px}
.sidebar > nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:99px}
.sidebar-brand-panel .logo-mark{flex:0 0 auto;width:46px;height:46px}

/* ============================================================
   Desktop: sub-menus open as a FLYOUT beside the rail, so hovering
   a hub never shifts the hub list under the cursor. (Mobile keeps
   the inline accordion — no hover there.)
   ============================================================ */
@media (hover:hover) and (pointer:fine){
  .sidebar .nav-sub{
    position:fixed; z-index:130; width:214px; max-height:none; margin:0; overflow:visible;
    opacity:0; visibility:hidden; pointer-events:none; transform:translateX(-8px);
    transition:opacity .16s ease, transform .18s var(--ease), visibility 0s linear .16s;
  }
  .sidebar .nav-sub-list{
    margin:0; padding:7px; gap:2px; border-left:0; border-radius:14px;
    background:linear-gradient(165deg,rgba(28,28,32,.98),rgba(42,42,48,.98));
    border:1px solid rgba(255,255,255,.13);
    box-shadow:0 26px 64px rgba(0,0,0,.5);
    backdrop-filter:blur(22px) saturate(1.2);
  }
  /* invisible bridge so the cursor can travel from hub to flyout without a gap */
  .sidebar .nav-sub::before{content:"";position:absolute;left:-14px;top:-8px;bottom:-8px;width:18px}
  .hub-block:hover > .nav-sub{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .16s ease, transform .18s var(--ease)}
  /* active hub is highlighted only — it no longer expands inline (rail stays perfectly still) */
  .hub-block.is-open > .nav-sub{opacity:0;visibility:hidden;max-height:none;margin:0}
  .hub-block.is-open:hover > .nav-sub{opacity:1;visibility:visible;pointer-events:auto}
  /* caret hints the menu opens to the side */
  .hub-block > .nav-hub .nav-hub-caret{transform:rotate(-90deg);opacity:.55}
  .hub-block:hover > .nav-hub .nav-hub-caret,.hub-block.is-open > .nav-hub .nav-hub-caret{transform:rotate(-90deg);opacity:.85}
  .sidebar .nav-item{color:rgba(255,253,250,.82)}
  .sidebar .nav-item:hover{background:rgba(253,82,27,.9);color:#fff}
  .sidebar .nav-item:hover .nav-dot{color:#fff}
}

/* Lift the sidebar (and its flyout menus) above the admin header + content on desktop */
@media (hover:hover) and (pointer:fine){
  .sidebar{z-index:60}
}

/* Sidebar must NOT clip/contain its flyouts: drop backdrop-filter on desktop (it makes the
   sidebar the containing block for the fixed flyout and clips it to the rail width) */
@media (hover:hover) and (pointer:fine){
  .sidebar{backdrop-filter:none !important;background:linear-gradient(160deg,#20201d,#1b2a25) !important;overflow:visible}
  .sidebar > nav{overflow:visible}
}

/* Hub page: section dividers + KPI row */
.hub-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:22px 2px 12px}
.hub-section-head h2{display:flex;align-items:center;gap:9px;margin:0;font-size:17px}
.hub-section-head h2 .ico{width:18px;height:18px;color:var(--gold)}
.hub-section-head > span{color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.hub-kpi-row{margin-bottom:6px}
.hub-kpi-row .metric strong{color:var(--ink);font-size:26px}

/* ===== Dubai compliance features: RERA permit panel + DLD/RERA calculators ===== */
.badge.permit-badge{border-color:rgba(30,117,93,.35);color:#1e755d;background:rgba(30,117,93,.1)}
.badge.permit-badge .ico{width:13px;height:13px}
.permit-panel{display:grid;grid-template-columns:132px 1fr;gap:22px;align-items:start;margin:12px 0 6px;padding:20px;border:1px solid rgba(255,255,255,.75);border-radius:var(--radius);background:linear-gradient(150deg,rgba(255,253,250,.9),rgba(246,241,235,.7));box-shadow:var(--shadow-soft)}
.permit-qr{width:132px;height:132px;padding:8px;border-radius:12px;background:#fff;border:1px solid rgba(36,34,40,.12);box-shadow:0 8px 20px rgba(31,31,34,.08)}
.permit-qr svg{display:block;width:100%;height:100%}
.permit-lead{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.5}
.permit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}
.permit-grid span{display:block;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.permit-grid strong{font-size:15px;font-variant-numeric:tabular-nums}
.permit-note{display:block;margin-top:14px;color:var(--muted);font-size:12px}
.dld-calc,.rera-calc{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:14px 0;padding:20px;border:1px solid rgba(255,255,255,.75);border-radius:var(--radius);background:linear-gradient(150deg,rgba(255,253,250,.85),rgba(255,253,250,.55));box-shadow:inset 0 1px 0 rgba(255,255,255,.85),var(--shadow-soft)}
.dld-calc label,.rera-calc label{display:grid;gap:6px;font-size:12px;font-weight:850;color:#3d3c41}
.dld-breakdown{grid-column:1/-1;display:grid;gap:7px;padding:12px 0;border-top:1px solid rgba(36,34,40,.1)}
.dld-breakdown div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;font-size:14px}
.dld-breakdown span{color:var(--muted)}
.dld-breakdown b{font-variant-numeric:tabular-nums}
@media (max-width:720px){.permit-panel{grid-template-columns:1fr;justify-items:center;text-align:center}.permit-grid{text-align:left}.dld-calc,.rera-calc{grid-template-columns:1fr}}

/* Ejari panel on the lease file */
.ejari-panel .ejari-live{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:6px 0 4px}
.ejari-live > div{display:grid;gap:3px}
.ejari-live span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.ejari-live strong{font-size:16px;font-variant-numeric:tabular-nums}
.ejari-ok{color:#1e755d;font-size:13px !important}
@media (max-width:720px){.ejari-panel .ejari-live{grid-template-columns:1fr}}

/* ===== AML/KYC, AVM valuation, escrow, listing-quality UI ===== */
.kyc-chip{display:inline-grid;place-items:center;padding:5px 13px;border-radius:99px;font-size:12px;font-weight:850;text-transform:capitalize}
.kyc-ok{color:#1e755d;background:rgba(30,117,93,.13)}
.kyc-warn{color:#c98a12;background:rgba(201,138,18,.15)}
.kyc-danger{color:#c0341d;background:rgba(192,52,29,.13)}
.kyc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:6px 0 8px}
.kyc-grid > div{display:grid;gap:2px}
.kyc-grid span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.kyc-grid strong{font-size:15px}.kyc-grid small{color:var(--muted);font-size:12px}
.risk-low{color:#1e755d}.risk-medium{color:#c98a12}.risk-high{color:#c0341d}
@media (max-width:720px){.kyc-grid{grid-template-columns:1fr 1fr}}

/* AVM valuation page */
.valuation-hero .eyebrow{display:inline-flex;align-items:center;gap:7px}.valuation-hero .eyebrow .ico{width:15px;height:15px}
.valuation-shell{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.valuation-form{margin:0}
.valuation-result{display:flex;flex-direction:column;gap:12px;padding:30px;border:1px solid rgba(253,82,27,.28);border-radius:18px;background:linear-gradient(160deg,rgba(31,31,34,.96),rgba(46,42,38,.9));color:#fffdfa;box-shadow:var(--shadow)}
.val-tag{display:inline-flex;align-items:center;gap:7px;color:var(--gold-2);font-size:12px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.val-tag .ico{width:15px;height:15px}
.val-figure{font-family:"General Sans",Inter,system-ui,sans-serif;font-size:clamp(38px,5vw,54px);line-height:1;letter-spacing:-.02em}
.val-range{color:rgba(255,253,250,.8);font-size:15px}.val-range b{color:#fffdfa}
.val-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:6px;padding-top:16px;border-top:1px solid rgba(255,255,255,.15)}
.val-meta span{display:block;color:rgba(255,253,250,.6);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.val-meta strong{font-size:16px}
.val-note{color:rgba(255,253,250,.62);font-size:12.5px;line-height:1.5;margin:4px 0 0}
.valuation-placeholder{display:grid;place-items:center;gap:12px;padding:44px 30px;text-align:center;border:1px dashed rgba(36,34,40,.2);border-radius:18px;background:rgba(255,253,250,.5);color:var(--muted)}
.valuation-placeholder span .ico{width:34px;height:34px;color:var(--gold)}
@media (max-width:900px){.valuation-shell{grid-template-columns:1fr}}

/* Off-plan escrow / Oqood */
.escrow-panel{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:8px 0}
.escrow-card{display:flex;gap:14px;padding:20px;border:1px solid rgba(30,117,93,.2);border-radius:16px;background:linear-gradient(150deg,rgba(223,246,233,.5),rgba(255,253,250,.6))}
.escrow-ico{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:rgba(30,117,93,.14);color:#1e755d}.escrow-ico .ico{width:22px;height:22px}
.escrow-card strong{display:block;margin-bottom:4px}.escrow-card p{margin:0 0 8px;color:var(--muted);font-size:13.5px;line-height:1.5}.escrow-card small{color:#1e755d;font-weight:700;font-size:12px}
@media (max-width:720px){.escrow-panel{grid-template-columns:1fr}}

/* Listing quality gauge + portals */
.quality-body{display:flex;gap:22px;align-items:center}
.quality-gauge{display:grid;place-items:center;width:104px;height:104px;flex:0 0 104px;border-radius:50%;background:conic-gradient(var(--gold) calc(var(--pct)*1%),rgba(36,34,40,.1) 0);position:relative}
.quality-gauge::before{content:"";position:absolute;inset:10px;border-radius:50%;background:#fffdfa}
.quality-gauge span{position:relative;font-family:"General Sans",Inter,system-ui,sans-serif;font-size:30px;font-weight:700;line-height:1}
.quality-gauge small{position:relative;color:var(--muted);font-size:11px}
.quality-detail{flex:1;min-width:0}
.portal-status{display:flex;flex-wrap:wrap;gap:9px;margin:8px 0}
.portal-chip{display:inline-flex;align-items:center;padding:7px 13px;border-radius:99px;border:1px solid rgba(36,34,40,.16);font-size:13px;font-weight:750;color:var(--muted);background:#fff}
.portal-chip.on{color:#1e755d;border-color:rgba(30,117,93,.4);background:rgba(30,117,93,.08)}
@media (max-width:720px){.quality-body{flex-direction:column;align-items:flex-start}}

/* ===== Agent digital business card (matches the printed HomeSeek card) ===== */
.agent-bizcard-section{padding-top:6px}
.agent-bizcard-wrap{max-width:580px}
.agent-bizcard-wrap .eyebrow{margin-bottom:12px}
.agent-bizcard{position:relative;overflow:hidden;aspect-ratio:1.62/1;min-height:230px;padding:26px 30px;border-radius:18px;background:#fff;border:1px solid rgba(36,34,40,.1);box-shadow:0 26px 64px rgba(31,31,34,.16);color:#1f1f22;display:flex;flex-direction:column;justify-content:space-between}
.ac-watermark{position:absolute;right:-4%;bottom:-16%;width:50%;opacity:.85;pointer-events:none}
.ac-watermark svg{width:100%;height:auto;transform:skewX(-9deg)}
.ac-top{position:relative;z-index:1;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.ac-brand{display:flex;align-items:center;gap:11px}
.ac-brand svg{width:30px;height:auto;flex:0 0 30px}
.ac-brandname{display:flex;flex-direction:column;font-weight:700;font-size:19px;line-height:1;letter-spacing:-.01em}
.ac-brandname small{margin-top:4px;font-size:9.5px;font-weight:600;letter-spacing:.03em;color:#8f74c0;text-transform:none}
.ac-id{text-align:right;padding-left:18px;border-left:2px solid #cbb3e6}
.ac-id strong{display:block;font-size:19px;font-weight:700;line-height:1.15}
.ac-id span{font-size:12.5px;color:#8f74c0;font-weight:500}
.ac-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;gap:18px;align-items:flex-end}
.ac-contact{display:grid;gap:6px}
.ac-contact a{display:flex;align-items:center;gap:9px;color:#1f1f22;font-size:13px;font-weight:600;text-decoration:none}
.ac-contact a i{display:grid;place-items:center;width:23px;height:23px;flex:0 0 23px;border-radius:50%;background:rgba(143,116,192,.15);color:#8f74c0}
.ac-contact a i svg{width:12px;height:12px}
.ac-contact a i:empty{background:none}
.ac-addr{display:flex;align-items:flex-start;gap:8px;text-align:left;font-size:12.5px;line-height:1.5;color:#3d3c41;max-width:46%}
.ac-addr i{display:grid;place-items:center;width:23px;height:23px;flex:0 0 23px;color:#8f74c0}
.ac-addr i svg{width:16px;height:16px}
@media (max-width:560px){
  .agent-bizcard{aspect-ratio:auto;min-height:0;padding:18px 18px 20px}
  .ac-top{gap:12px}
  .ac-brand{gap:9px}
  .ac-brand svg{width:26px;flex-basis:26px}
  .ac-brandname{font-size:15px}
  .ac-id{padding-left:12px}
  .ac-id strong{font-size:15px;overflow-wrap:anywhere}
  .ac-id span{font-size:11px}
  .ac-bottom{margin-top:26px;gap:12px}
  .ac-contact a{font-size:11.5px;gap:7px}
  .ac-contact a i{width:20px;height:20px;flex-basis:20px}
  .ac-addr{font-size:11px;max-width:46%;gap:6px}
  .ac-addr i{width:18px;height:18px;flex-basis:18px}
}

/* Frame agent portraits on the face, not the neck/chest */
.agent-profile img{height:300px;object-position:center 22%}
@media (max-width:900px){.agent-profile img{height:260px;object-position:center 20%}}

/* ============================================================
   SCROLL PERFORMANCE PASS — measured 32fps / 133ms spikes.
   Causes: full-page animated aurora (blur + blend + transform),
   10 infinite shimmer animations, 202 backdrop-filter layers.
   Keep the look; stop the per-frame compositing.
   ============================================================ */

/* 1) Aurora overlay: keep the tint as a static wash */
body::after{animation:none !important;filter:none !important;mix-blend-mode:normal !important;will-change:auto !important;opacity:.3 !important}

/* 2) Freeze every infinite shimmer (gradients remain, static) */
.site-nav::before,
.admin-hero,.detail-hero,.rental-command,.login-shell,.hero-content::before,
.price,.metric strong,.stats strong,
.metric::before,
.btn.primary,
.site-footer::before,
.progress-fill,
.hero-accent,
.sidebar{animation:none !important}
.city-skyline .sky-lights circle{animation:none !important;opacity:.7}

/* 3) Backdrop blur only on the one sticky surface that truly needs it */
*,*::before,*::after{backdrop-filter:none !important}
.site-nav{backdrop-filter:blur(10px) saturate(1.25) !important}
/* keep photo-overlay glass readable without blur */
.card-glass{background:rgba(24,24,28,.72) !important}
.floating-fav{background:rgba(255,253,250,.9) !important}
/* 4) Loading-skeleton shimmer kept animating behind loaded photos — make it static */
.card-media,.gallery{animation:none !important}

/* 5) Body backgrounds: 8 stacked gradient layers made every newly-exposed
   scroll region 8x more expensive to paint. Keep the cream + diamond texture
   with 3 cheap tiled layers; drop the full-page glow stack. */
body{
  background:
    linear-gradient(45deg,transparent 0 47%,rgba(125,96,58,.10) 49%,rgba(255,255,255,.26) 50%,transparent 53% 100%),
    linear-gradient(135deg,transparent 0 47%,rgba(255,255,255,.28) 49%,rgba(118,91,55,.09) 50%,transparent 53% 100%),
    #f3ecdf !important;
  background-size:var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),auto !important;
}
body::after{display:none !important}
body.admin-body{
  background:
    linear-gradient(45deg,transparent 0 47%,rgba(125,96,58,.09) 49%,rgba(255,255,255,.24) 50%,transparent 53% 100%),
    linear-gradient(135deg,transparent 0 47%,rgba(255,255,255,.26) 49%,rgba(118,91,55,.08) 50%,transparent 53% 100%),
    #f1eadd !important;
  background-size:var(--diamond-size) var(--diamond-size),var(--diamond-size) var(--diamond-size),auto !important;
}

/* Golden Visa badge: compact corner chip (was covering the photo) */
.card-media .gv-badge{left:12px;top:44px;bottom:auto;right:auto;padding:3px 7px;gap:4px;font-size:8px;letter-spacing:.04em;border-radius:7px;box-shadow:0 4px 10px rgba(0,0,0,.14)}
.card-media .gv-badge .ico{width:10px;height:10px}

/* ============================================================
   Listing Studio — creation flow with live card preview
   ============================================================ */
.studio{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}
.studio-form{min-width:0;display:grid;gap:0}
.studio-sec{margin-bottom:16px}
.studio-step{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:9px;background:rgba(253,82,27,.12);color:var(--gold);font-size:13px;font-weight:850}
.studio-sec label{display:grid;gap:6px;font-size:12px;font-weight:850;color:#3d3c41}
.studio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.st-full{grid-column:1/-1;margin-bottom:10px}
.st-hint{color:var(--muted);font-weight:600;font-size:11px}
.st-inline{display:flex;gap:8px}
.st-inline input{flex:1;min-width:0}
.st-mini{min-height:0;padding:8px 12px;font-size:12px;white-space:nowrap}
.studio-pills{display:flex;gap:8px;margin:0 0 12px}
.st-pill{min-height:42px;padding:9px 22px;border-radius:99px;border:1px solid rgba(36,34,40,.16);background:#fffdfa;color:var(--ink);font-weight:800;font-size:13.5px;box-shadow:none;cursor:pointer}
.st-pill.is-on{background:linear-gradient(135deg,#fd521b,#fd6a35);border-color:transparent;color:#fff;box-shadow:0 10px 24px rgba(253,82,27,.3)}
.studio-amenities{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.st-check{display:inline-flex}
.st-check input{position:absolute;opacity:0;pointer-events:none}
.st-check span{padding:8px 13px;border-radius:99px;border:1px solid rgba(36,34,40,.14);background:#fffdfa;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer;transition:all .2s ease}
.st-check input:checked + span{border-color:rgba(253,82,27,.55);background:rgba(253,82,27,.08);color:var(--ink)}
.studio-drop{position:relative;display:grid;place-items:center;min-height:110px;border:2px dashed rgba(253,82,27,.35);border-radius:14px;background:rgba(253,82,27,.03);cursor:pointer;text-align:center}
.studio-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.studio-drop span{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-weight:700;font-size:13.5px;pointer-events:none;padding:12px}
.studio-drop span .ico{color:var(--gold)}
.studio-agents{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:10px 0 14px}
.st-agent{display:block}
.st-agent input{position:absolute;opacity:0;pointer-events:none}
.st-agent-card{display:grid;justify-items:center;gap:4px;padding:12px 8px;border:2px solid rgba(36,34,40,.1);border-radius:14px;background:#fffdfa;cursor:pointer;text-align:center;transition:all .2s ease}
.st-agent-card img{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:center 25%}
.st-agent-card strong{font-size:12.5px;line-height:1.15}
.st-agent-card small{color:var(--muted);font-size:10.5px}
.st-agent input:checked + .st-agent-card{border-color:#fd521b;background:rgba(253,82,27,.06);box-shadow:0 12px 26px rgba(253,82,27,.14)}
.st-owner{max-width:320px}
.studio-flags{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:12px}
.st-flag{display:block}
.st-flag input{position:absolute;opacity:0;pointer-events:none}
.st-flag span{display:flex;align-items:center;gap:9px;padding:12px 14px;border:2px solid rgba(36,34,40,.1);border-radius:13px;background:#fffdfa;font-weight:800;font-size:13px;cursor:pointer;transition:all .2s ease}
.st-flag span .ico{width:17px;height:17px;color:var(--muted)}
.st-flag span small{display:block;font-weight:600;color:var(--muted);font-size:10.5px;margin-left:auto;text-align:right;max-width:46%}
.st-flag input:checked + span{border-color:rgba(253,82,27,.55);background:rgba(253,82,27,.06)}
.st-flag input:checked + span .ico{color:var(--gold)}
.studio-submit{width:100%;justify-content:center;display:inline-flex;align-items:center;gap:8px;min-height:52px;font-size:15.5px}
/* preview rail */
.studio-preview{position:sticky;top:96px}
.studio-preview .eyebrow{display:inline-flex;align-items:center;gap:7px;margin-bottom:10px}
.studio-preview .eyebrow .ico{width:14px;height:14px}
.studio-card{pointer-events:none}
.studio-quality{margin-top:14px;padding:16px;border:1px solid rgba(36,34,40,.1);border-radius:14px;background:rgba(255,253,250,.75)}
.sq-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.sq-head span{color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.sq-head b{font-size:19px;font-variant-numeric:tabular-nums}
.sq-track{height:8px;border-radius:99px;background:rgba(36,34,40,.1);overflow:hidden}
.sq-fill{height:100%;width:0;border-radius:99px;background:#fd521b;transition:width .35s var(--ease),background .35s ease}
.studio-quality small{display:block;margin-top:8px;color:var(--muted);font-size:11.5px;line-height:1.45}
@media (max-width:1100px){.studio{grid-template-columns:1fr}.studio-preview{position:static;max-width:420px}}
@media (max-width:720px){.studio-grid{grid-template-columns:1fr}.studio-agents{grid-template-columns:repeat(3,1fr)}}
/* studio preview: hidden attribute must win over badge display rules */
.studio-card [hidden]{display:none !important}

/* ============================================================
   1) Hero: bring the warm orange glow back over the skyline
   ============================================================ */
.hero-media{
  background:
    radial-gradient(48rem 32rem at 80% 16%,rgba(253,82,27,.36),transparent 68%),
    radial-gradient(40rem 28rem at 8% 92%,rgba(253,106,53,.28),transparent 64%),
    linear-gradient(90deg,rgba(26,26,30,.92),rgba(26,26,30,.5) 34%,rgba(26,26,30,.02) 64%),
    linear-gradient(180deg,rgba(26,26,30,.12),transparent 45%,rgba(26,26,30,.55)),
    url("brand/hero-home.webp") right 64%/cover no-repeat,
    #1f1f22 !important;
}
@media (max-width:720px){
  .hero-media{
    background:
      radial-gradient(30rem 22rem at 82% 12%,rgba(253,82,27,.32),transparent 66%),
      linear-gradient(180deg,rgba(26,26,30,.28),rgba(26,26,30,.82)),
      linear-gradient(90deg,rgba(26,26,30,.55),rgba(26,26,30,.1)),
      url("brand/hero-home.webp") 62% center/cover no-repeat,
      #1f1f22 !important;
  }
}

/* ============================================================
   2) Agent card: pinned while you scroll, scrolls internally —
      the booking form is always within reach
   ============================================================ */
@media (min-width:1101px){
  .contact-card{position:sticky;top:88px;max-height:calc(100vh - 104px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
  .contact-card::-webkit-scrollbar{width:6px}
  .contact-card::-webkit-scrollbar-thumb{background:rgba(36,34,40,.18);border-radius:99px}
}

/* ============================================================
   3) Photo gallery viewer: main image + thumbnails + arrows
   ============================================================ */
.gviewer{display:grid;gap:10px;min-width:0}
.gv-main{position:relative;overflow:hidden;border-radius:var(--radius)}
.gv-main img{display:block;width:100%;height:520px;object-fit:cover;border-radius:var(--radius);background:#e9e0cf;box-shadow:0 20px 58px rgba(0,0,0,.2)}
.gv-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:grid;place-items:center;width:46px;height:46px;min-height:0;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(24,24,28,.55);color:#fff;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 10px 26px rgba(0,0,0,.25);transition:background .2s ease,transform .2s ease}
.gv-nav:hover{background:rgba(253,82,27,.92);transform:translateY(-50%) scale(1.06)}
.gv-prev{left:14px}.gv-next{right:14px}
.gv-count{position:absolute;right:14px;bottom:12px;z-index:2;padding:5px 11px;border-radius:99px;background:rgba(24,24,28,.72);color:#fff;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.gv-thumbs{display:flex;gap:8px;overflow-x:auto;padding:2px;scrollbar-width:thin}
.gv-thumb{flex:0 0 auto;width:96px;height:66px;min-height:0;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:none;cursor:pointer;opacity:.65;transition:opacity .2s ease,border-color .2s ease;box-shadow:0 6px 16px rgba(31,31,34,.12)}
.gv-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.gv-thumb.is-on{border-color:#fd521b;opacity:1}
.gv-thumb:hover{opacity:1}
@media (max-width:900px){
  .gv-main img{height:300px}
  .gv-nav{width:38px;height:38px;font-size:22px}
  .gv-thumb{width:74px;height:52px}
}

/* ============================================================
   Branded scrollbars on mobile/touch too.
   Mobile Chrome/Firefox ignore ::-webkit-scrollbar for the page and
   use the standard scrollbar-color property instead — give touch
   devices the same HomeSeek orange thumb, slimmed for small screens.
   ============================================================ */
@media (hover:none) and (pointer:coarse){
  html{scrollbar-color:#fd521b rgba(31,31,34,.06);scrollbar-width:thin}
  body,.table-wrap,.gv-thumbs,.contact-card,.sidebar > nav,.kanban,.admin-grid.cards{scrollbar-color:#fd521b rgba(31,31,34,.06);scrollbar-width:thin}
  /* Android browsers that still honor webkit pseudos on inner scrollers: slimmer + orange */
  ::-webkit-scrollbar{width:5px;height:5px}
  ::-webkit-scrollbar-thumb{border:0;border-radius:99px;background:#fd521b}
  ::-webkit-scrollbar-track{background:rgba(31,31,34,.05)}
}
/* Firefox desktop never supported ::-webkit-scrollbar — give it the orange too */
@supports not selector(::-webkit-scrollbar){
  html{scrollbar-color:#fd521b rgba(31,31,34,.08)}
  *{scrollbar-color:#fd521b rgba(31,31,34,.08)}
}

/* ============================================================
   Living hero — the gradient breathes and flows on PC + mobile.
   GPU-cheap: the drifting glow animates transform/opacity only
   (compositor thread), and the flowing text gradient repaints a
   few hundred pixels of headline, not the page.
   ============================================================ */
/* 1) "seek home." flows again (perf pass had frozen it) */
.hero h1 .hero-accent{animation:riverRun 9s linear infinite !important}
/* headline underline shimmers in the same current */
.hero h1::after{
  background:linear-gradient(90deg,#ffe161,#fd521b,rgba(255,253,250,.12));
  background-size:220% 100%;
  animation:riverRun 9s linear infinite;
}
/* 2) mobile was forcing the accent to flat white — restore the gradient */
@media (max-width:720px){
  .hero h1 em.hero-accent{
    color:transparent !important;
    -webkit-text-fill-color:transparent !important;
    background:linear-gradient(115deg,#ffe161 0%,#fd6a35 34%,#fffdfa 52%,#fd6a35 70%,#f04f1a 100%);
    background-size:220% 100%;
    -webkit-background-clip:text;
    background-clip:text;
    text-shadow:none;
    filter:drop-shadow(0 6px 22px rgba(0,0,0,.55));
  }
}
/* 3) drifting warm glow over the skyline — the light slowly wanders */
@keyframes heroGlowDrift{
  0%{transform:translate3d(-5%,3%,0) rotate(0deg) scale(1);opacity:.75}
  50%{transform:translate3d(4%,-4%,0) rotate(3deg) scale(1.12);opacity:1}
  100%{transform:translate3d(-5%,3%,0) rotate(0deg) scale(1);opacity:.75}
}
.hero::before{
  content:"";
  display:block !important;
  position:absolute;
  inset:-25% -18%;
  height:auto;
  z-index:1;
  border:0;
  -webkit-mask-image:none;
  mask-image:none;
  pointer-events:none;
  background:
    radial-gradient(46rem 32rem at 78% 24%,rgba(253,82,27,.26),transparent 66%),
    radial-gradient(38rem 26rem at 14% 86%,rgba(255,225,97,.13),transparent 60%),
    radial-gradient(30rem 24rem at 48% 50%,rgba(253,106,53,.10),transparent 62%);
  will-change:transform,opacity;
  animation:heroGlowDrift 16s ease-in-out infinite;
}
@media (max-width:720px){
  .hero::before{inset:-18% -14%}
}
/* accessibility: honor reduced-motion */
@media (prefers-reduced-motion:reduce){
  .hero::before,.hero h1 .hero-accent,.hero h1::after{animation:none !important}
}

/* ============================================================
   Hero refinement: towers show through + seamless gradient loop
   ============================================================ */
/* 1) Lift the dark veil — the skyline reads, headline stays legible */
.hero-media{
  background:
    radial-gradient(48rem 32rem at 80% 16%,rgba(253,82,27,.28),transparent 68%),
    radial-gradient(40rem 28rem at 8% 92%,rgba(253,106,53,.2),transparent 64%),
    linear-gradient(90deg,rgba(26,26,30,.82),rgba(26,26,30,.3) 30%,transparent 54%),
    linear-gradient(180deg,rgba(26,26,30,.05),transparent 40%,rgba(26,26,30,.38)),
    url("brand/hero-home.webp") right 60%/cover no-repeat,
    #1f1f22 !important;
}
@media (max-width:720px){
  .hero-media{
    background:
      radial-gradient(30rem 22rem at 82% 12%,rgba(253,82,27,.26),transparent 66%),
      linear-gradient(180deg,rgba(26,26,30,.16),transparent 42%,rgba(26,26,30,.66)),
      linear-gradient(90deg,rgba(26,26,30,.36),rgba(26,26,30,.04)),
      url("brand/hero-home.webp") 62% center/cover no-repeat,
      #1f1f22 !important;
  }
}
/* soften the drifting glow so it lights the towers instead of covering them */
.hero::before{
  background:
    radial-gradient(46rem 32rem at 78% 24%,rgba(253,82,27,.18),transparent 66%),
    radial-gradient(38rem 26rem at 14% 86%,rgba(255,225,97,.11),transparent 60%),
    radial-gradient(30rem 24rem at 48% 50%,rgba(253,106,53,.07),transparent 62%);
}
/* 2) Seamless flow: the gradient tile is periodic (pattern repeats every
   half of the 200%-wide image), and one animation cycle shifts by exactly
   two periods — the last frame is pixel-identical to the first, no snap. */
@keyframes riverLoop{from{background-position:0% 50%}to{background-position:-200% 50%}}
.hero h1 .hero-accent{
  background:linear-gradient(90deg,#ffe161 0%,#fd6a35 13%,#fffdfa 25%,#fd6a35 37%,#f04f1a 44%,#ffe161 50%,#fd6a35 63%,#fffdfa 75%,#fd6a35 87%,#f04f1a 94%,#ffe161 100%);
  background-size:200% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  animation:riverLoop 11s linear infinite !important;
}
@media (max-width:720px){
  .hero h1 em.hero-accent{
    background:linear-gradient(90deg,#ffe161 0%,#fd6a35 13%,#fffdfa 25%,#fd6a35 37%,#f04f1a 44%,#ffe161 50%,#fd6a35 63%,#fffdfa 75%,#fd6a35 87%,#f04f1a 94%,#ffe161 100%);
    background-size:200% 100%;
    -webkit-background-clip:text;
    background-clip:text;
  }
}
.hero h1::after{
  background:linear-gradient(90deg,#ffe161 0%,#fd521b 25%,rgba(255,253,250,.35) 37%,#ffe161 50%,#fd521b 75%,rgba(255,253,250,.35) 87%,#ffe161 100%);
  background-size:200% 100%;
  animation:riverLoop 11s linear infinite;
}

/* ============================================================
   Powered by We Manage — footer credit
   ============================================================ */
.footer-base{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px}
.powered-by{
  margin-left:auto;
  display:inline-flex;
  align-items:baseline;
  gap:7px;
  padding:0;
  border:0;
  background:none;
  color:rgba(255,253,250,.5);
  font-family:"General Sans",Inter,system-ui,sans-serif;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.02em;
  text-transform:none;
  text-decoration:none;
  transition:color .25s ease;
}
.powered-by b{
  font-weight:800;
  font-size:13.5px;
  letter-spacing:.01em;
  background:linear-gradient(100deg,#ffb057 0%,#fd6a35 34%,#fd521b 60%,#ff7a2e 100%);
  background-size:200% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 10px rgba(253,82,27,.35));
  animation:pbSheen 6s linear infinite;
}
.powered-by:hover{color:rgba(255,253,250,.8)}
.powered-by:hover b{filter:drop-shadow(0 2px 16px rgba(253,82,27,.6))}
@keyframes pbSheen{from{background-position:0% 50%}to{background-position:-200% 50%}}
@media (prefers-reduced-motion:reduce){.powered-by b{animation:none}}
@media (max-width:720px){
  .footer-base{justify-content:center;text-align:center}
  .powered-by{margin:6px auto 0}
}

/* ============================================================
   Installed app (add to home screen): standalone polish
   ============================================================ */
/* respect notches / gesture bars — offset only, never grow the bar itself */
.site-nav{padding-top:env(safe-area-inset-top,0px)}
@media (display-mode:standalone){
  /* the dock is the app's tab bar — keep it flush and give it app depth */
  .public-mobile-dock{border-radius:18px 18px 0 0;box-shadow:0 -12px 34px rgba(31,31,34,.16)}
  /* no browser chrome: give the sticky nav a touch more presence */
  .site-nav{box-shadow:0 10px 30px rgba(31,31,34,.12)}
}

/* ============================================================
   Real-app mobile audit: no awkward placement
   ============================================================ */
@media (max-width:720px){
  /* Listing toolbar: one clean thumb-scrollable row instead of a two-row wrap */
  .toolbar{display:flex;flex-direction:column;align-items:stretch;gap:10px}
  .toolbar>div:last-child{display:flex;flex-wrap:nowrap;gap:8px;width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
  .toolbar>div:last-child::-webkit-scrollbar{display:none}
  .toolbar button{white-space:nowrap;flex:0 0 auto}

  /* Compact cards: specs become one clean icon+number line — the pill chips
     were clipping the sqft figures at card edges */
  .property-card .mini-specs{display:flex;flex-wrap:wrap;gap:4px 12px;margin-bottom:8px}
  .property-card .mini-specs .spec-pill{min-height:0;padding:0;border:0;background:none;box-shadow:none;border-radius:0;gap:4px}
  .property-card .spec-pill b{font-size:11.5px}
  .property-card .spec-pill small{font-size:8.5px}
  .property-card .spec-pill .ico{width:12px;height:12px;stroke-width:2}

  /* Detail hero badges: compact chips pair up instead of one-per-line stacking */
  .detail-summary .badge{padding:5px 9px;font-size:9px;letter-spacing:.05em;margin:0 5px 8px 0}
  .detail-summary .badge .ico{width:11px;height:11px}
  .detail-summary h1{margin-top:12px}

  /* Property facts: two per row — app density, half the scrolling */
  .detail-layout .spec-grid{grid-template-columns:1fr 1fr;gap:10px}
}

/* Page heroes: the photo layer inherited the base shorthand's 40%-size /
   off-canvas position meant for the chevron mark — photos floated awkwardly
   instead of filling the hero. Pin every variant to a proper cover crop. */
.page-hero.listing-hero,.page-hero.advisors-hero,.page-hero.projects-hero,.page-hero.communities-hero,.page-hero.areas-hero,.page-hero.buyer-hero,.page-hero.owner-hero,.page-hero.contact-hero{
  background-size:auto,auto,cover;
  background-position:0 0,0 0,center 32%;
  background-repeat:no-repeat;
}

/* ============================================================
   Mobile polish: stable dock, smaller Golden Visa, tidy overview
   ============================================================ */
@media (max-width:720px){
  /* 1) Bottom dock: solid + fixed size. Was semi-transparent with a blur, so
     it looked "whiter" as content scrolled behind it, and its padding grew
     with the safe-area inset when the browser URL bar retracted. Now it's an
     opaque bar of constant height that never shifts on scroll. */
  .public-mobile-dock{
    bottom:0;
    left:0;
    right:0;
    padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px));
    border:0;
    border-top:1px solid rgba(31,31,34,.08);
    border-radius:0;
    background:#fbf6ee;
    box-shadow:0 -8px 24px rgba(31,31,34,.1);
    backdrop-filter:none;
  }
  .public-mobile-dock a,.public-mobile-dock button{min-height:48px}

  /* 2) Golden Visa: was a wide "GOLDEN VISA" pill eating ~half the card.
     On cards it's now a small gold star medallion (full wording stays on the
     detail page); the star reads instantly and frees the photo. */
  .card-media .gv-badge{
    top:38px;
    left:8px;
    right:auto;
    bottom:auto;
    width:24px;
    height:24px;
    min-height:0;
    padding:0;
    gap:0;
    font-size:0;
    border-radius:8px;
    display:grid;
    place-items:center;
  }
  .card-media .gv-badge .ico{width:13px;height:13px}

  /* 3) Property detail overview: description reads at a comfortable size, and
     the fact tiles are compact rows instead of tall near-empty boxes. */
  .detail-layout main p{font-size:15px;line-height:1.55}
  .detail-layout .spec-grid{gap:8px;margin:16px 0}
  .detail-layout .spec-grid div{padding:11px 12px;border-radius:13px}
  .detail-layout .spec-grid span{font-size:10px;letter-spacing:.06em;margin-bottom:2px}
  .detail-layout .spec-grid strong{font-size:15px}
  /* clear the fixed dock at the very end of the page */
  .detail-layout{padding-bottom:8px}
}

/* ============================================================
   Add to Home Screen — install banner + installed-app polish
   ============================================================ */
.a2hs{
  position:fixed;
  z-index:95;
  left:50%;
  bottom:20px;
  transform:translate(-50%,140%);
  width:min(420px,calc(100vw - 24px));
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 12px 12px 14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:linear-gradient(150deg,#26262b,#1a1a1e);
  box-shadow:0 24px 60px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08);
  color:#fffdfa;
  opacity:0;
  transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .3s ease;
}
.a2hs.is-in{transform:translate(-50%,0);opacity:1}
.a2hs-mark{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(145deg,#fd6a35,#fd521b);
  box-shadow:0 8px 20px rgba(253,82,27,.4);
}
.a2hs-copy{flex:1;min-width:0;display:grid;gap:2px}
.a2hs-copy strong{font-size:14px;font-weight:800;letter-spacing:.01em}
.a2hs-copy small{font-size:11.5px;line-height:1.35;color:rgba(255,253,250,.68)}
.a2hs-copy small b{color:#ffe161;font-weight:800}
.a2hs-go{
  flex:0 0 auto;
  min-height:40px;
  padding:0 16px;
  border:0;
  border-radius:11px;
  background:linear-gradient(135deg,#fd6a35,#fd521b);
  color:#fff;
  font-family:"General Sans",Inter,system-ui,sans-serif;
  font-size:13.5px;
  font-weight:800;
  cursor:pointer;
  transition:filter .2s ease,transform .12s ease;
}
.a2hs-go:hover{filter:brightness(1.06)}
.a2hs-go:active{transform:scale(.96)}
.a2hs-x{
  flex:0 0 auto;
  width:30px;
  height:30px;
  border:0;
  border-radius:9px;
  background:rgba(255,255,255,.08);
  color:rgba(255,253,250,.7);
  font-size:19px;
  line-height:1;
  cursor:pointer;
  transition:background .2s ease,color .2s ease;
}
.a2hs-x:hover{background:rgba(255,255,255,.16);color:#fffdfa}
.a2hs.show-ios .a2hs-x{align-self:flex-start}
@media (max-width:720px){
  /* sit clear above the bottom dock */
  .a2hs{bottom:calc(72px + env(safe-area-inset-bottom,0px));width:calc(100vw - 20px)}
}

/* Installed app (launched from the home screen): pad the nav under the
   status bar and give the whole shell app-like edges — no browser chrome. */
@media (display-mode:standalone){
  body:not(.admin-body) .site-nav{padding-top:calc(10px + env(safe-area-inset-top,0px))}
  .admin-topbar{padding-top:calc(env(safe-area-inset-top,0px))}
  /* the install banner is irrelevant once installed */
  .a2hs{display:none !important}
}

/* ============================================================
   Search segmented control — refined All / Buy / Rent / Luxury
   ============================================================ */
.search-tabs{
  grid-column:1/-1;
  display:flex;
  gap:4px;
  padding:5px;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(20,20,24,.58),rgba(20,20,24,.42));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 -1px 0 rgba(0,0,0,.2),0 10px 30px rgba(0,0,0,.22);
}
.search-tab{
  flex:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:44px;
  padding:8px 12px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:rgba(255,253,250,.72);
  font-family:"General Sans",Inter,system-ui,sans-serif;
  font-weight:750;
  font-size:13.5px;
  letter-spacing:.01em;
  cursor:pointer;
  box-shadow:none;
  transition:color .22s ease,background .22s ease,transform .12s ease;
}
.search-tab .ico{width:16px;height:16px;stroke-width:1.9;opacity:.85;transition:opacity .22s ease,transform .22s ease}
.search-tab:hover{color:#fffdfa;background:rgba(255,255,255,.06)}
.search-tab:hover .ico{opacity:1}
.search-tab:active{transform:scale(.97)}
.search-tab.is-active{
  color:#1f1f22;
  background:linear-gradient(150deg,#ffd39a 0%,#ff8a4c 38%,#fd521b 100%);
  box-shadow:0 8px 20px rgba(253,82,27,.4),inset 0 1px 0 rgba(255,255,255,.5);
}
.search-tab.is-active .ico{opacity:1;color:#1f1f22}
/* Luxury tab reads gold when active */
.search-tab[data-luxury].is-active{
  background:linear-gradient(150deg,#ffe9a8 0%,#ffd05a 42%,#e8a815 100%);
  box-shadow:0 8px 20px rgba(232,168,21,.42),inset 0 1px 0 rgba(255,255,255,.6);
}
@media (max-width:720px){
  .search-tabs{gap:3px;padding:4px;border-radius:14px}
  .search-tab{min-height:42px;font-size:12.5px;gap:5px;padding:7px 8px}
  .search-tab .ico{width:14px;height:14px}
}
/* very narrow phones: icons alone would be cryptic, so keep labels but let the
   row scroll rather than crushing them */
@media (max-width:380px){
  .search-tab{gap:4px;padding:7px 7px}
  .search-tab .ico{width:13px;height:13px}
}

/* ============================================================
   Floating compare tray — appears directly as you add properties
   ============================================================ */
.cmp-tray{
  position:fixed;
  left:50%;
  bottom:20px;
  z-index:90;
  transform:translate(-50%,150%);
  display:flex;
  align-items:center;
  gap:14px;
  max-width:min(760px,calc(100vw - 24px));
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:linear-gradient(150deg,#26262b,#1a1a1e);
  box-shadow:0 24px 60px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08);
  color:#fffdfa;
  opacity:0;
  transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .3s ease;
}
.cmp-tray.is-in{transform:translate(-50%,0);opacity:1}
.cmp-lead{flex:0 0 auto;display:grid;line-height:1.05;padding-right:12px;border-right:1px solid rgba(255,255,255,.12)}
.cmp-lead b{font-size:22px;font-weight:850;color:#ff8a4c}
.cmp-lead span{font-size:10.5px;font-weight:700;letter-spacing:.04em;color:rgba(255,253,250,.6);text-transform:uppercase}
.cmp-items{display:flex;gap:8px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.cmp-items::-webkit-scrollbar{display:none}
.cmp-thumb{
  position:relative;
  flex:0 0 auto;
  width:66px;height:50px;
  border-radius:10px;
  background:#3a3a40 center/cover no-repeat;
  border:1px solid rgba(255,255,255,.14);
  overflow:hidden;
  text-decoration:none;
}
.cmp-thumb-price{
  position:absolute;left:0;right:0;bottom:0;
  padding:2px 4px;
  font-size:8.5px;font-weight:800;color:#fff;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.78));
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.cmp-x{
  position:absolute;top:2px;right:2px;
  width:17px;height:17px;
  display:grid;place-items:center;
  border:0;border-radius:50%;
  background:rgba(20,20,24,.72);color:#fff;
  font-size:13px;line-height:1;cursor:pointer;
}
.cmp-x:hover{background:#fd521b}
.cmp-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}
.cmp-clear{
  border:0;background:rgba(255,255,255,.08);
  color:rgba(255,253,250,.72);
  padding:9px 12px;border-radius:10px;
  font-family:"General Sans",Inter,system-ui,sans-serif;
  font-size:12.5px;font-weight:700;cursor:pointer;
}
.cmp-clear:hover{background:rgba(255,255,255,.16);color:#fffdfa}
.cmp-go{
  display:inline-flex;align-items:center;
  min-height:40px;padding:0 18px;
  border-radius:11px;
  background:linear-gradient(135deg,#fd6a35,#fd521b);
  color:#fff;text-decoration:none;
  font-family:"General Sans",Inter,system-ui,sans-serif;
  font-size:13.5px;font-weight:800;white-space:nowrap;
  box-shadow:0 8px 20px rgba(253,82,27,.4);
}
.cmp-go:hover{filter:brightness(1.06)}
@media (max-width:720px){
  .cmp-tray{
    left:8px;right:8px;
    transform:translateY(160%);
    max-width:none;
    bottom:calc(72px + env(safe-area-inset-bottom,0px));
    gap:10px;padding:10px;
    border-radius:16px;
  }
  .cmp-tray.is-in{transform:translateY(0)}
  .cmp-lead{padding-right:8px}
  .cmp-lead b{font-size:18px}
  .cmp-thumb{width:52px;height:42px}
  .cmp-go{padding:0 13px;font-size:12.5px}
  .cmp-clear{padding:8px 9px;font-size:11.5px}
}

/* ============================================================
   Compare page — side-by-side data table
   ============================================================ */
.compare-table-wrap{margin-top:4px}
.cmp-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(36,34,40,.12);border-radius:18px;background:#fffdfa;box-shadow:0 20px 50px rgba(31,31,34,.08)}
table.cmp-table{border-collapse:collapse;width:100%;min-width:520px}
table.cmp-table th,table.cmp-table td{padding:14px 16px;text-align:left;border-bottom:1px solid rgba(36,34,40,.08);vertical-align:middle}
table.cmp-table tbody th[scope="row"]{
  position:sticky;left:0;z-index:2;
  background:#f7f1e9;
  color:#6d6151;font-size:12.5px;font-weight:800;letter-spacing:.02em;
  white-space:nowrap;
  border-right:1px solid rgba(36,34,40,.1);
}
.cmp-corner{
  position:sticky;left:0;z-index:3;
  background:var(--ink);color:#fffdfa;
  font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  border-top-left-radius:18px;
}
table.cmp-table thead th{background:var(--ink);color:#fffdfa;border-bottom:0}
.cmp-col-head{display:grid;justify-items:center;gap:8px;width:150px;text-decoration:none;color:#fffdfa}
.cmp-col-img{width:100%;height:78px;border-radius:11px;background:#3a3a40 center/cover no-repeat;border:1px solid rgba(255,255,255,.14)}
.cmp-col-title{font-size:12.5px;font-weight:700;line-height:1.25;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
table.cmp-table td{font-size:14px;font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums}
table.cmp-table tbody tr:nth-child(even) td{background:rgba(247,241,233,.35)}
td.cmp-best{color:#0e7a54;font-weight:850}
td.cmp-best::after{content:" ★";color:#f0a500;font-size:11px}
td.cmp-yes{color:#0e7a54;font-weight:800}
.cmp-actions-row td{padding-top:16px;padding-bottom:16px}
.cmp-view{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:38px;padding:0 18px;border-radius:10px;
  background:linear-gradient(135deg,#fd6a35,#fd521b);color:#fff;
  font-size:13px;font-weight:800;text-decoration:none;
  box-shadow:0 8px 18px rgba(253,82,27,.28);
}
.cmp-view:hover{filter:brightness(1.06)}
.compare-empty{margin-top:18px}
@media (max-width:720px){
  table.cmp-table th,table.cmp-table td{padding:11px 12px}
  .cmp-col-head{width:118px}
  .cmp-col-img{height:62px}
  table.cmp-table td{font-size:13px}
  .cmp-col-title{font-size:11.5px}
}

/* The global mobile rule collapses <table> to display:block (admin cards).
   The comparison table must stay a real grid at every width. */
table.cmp-table{display:table !important;width:100%}
table.cmp-table thead{display:table-header-group !important}
table.cmp-table tbody{display:table-row-group !important}
table.cmp-table tr{display:table-row !important}
table.cmp-table th,table.cmp-table td{display:table-cell !important}

/* ============================================================
   Card price panel: soft gradient scrim instead of a solid black box
   (the blur was removed for performance; this keeps the price readable
   while letting the photo show through — no hard box covering the image)
   ============================================================ */
.card-glass{
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  padding:34px 15px 13px !important;
  border:0 !important;
  border-radius:0 !important;
  background:linear-gradient(to top,
    rgba(10,10,13,.85) 0%,
    rgba(10,10,13,.55) 38%,
    rgba(10,10,13,.16) 72%,
    transparent 100%) !important;
  backdrop-filter:none !important;
}
.card-glass strong{text-shadow:0 2px 14px rgba(0,0,0,.55)}
.card-glass small{text-shadow:0 1px 8px rgba(0,0,0,.6)}
@media (max-width:720px){
  .card-glass{left:0 !important;right:0 !important;bottom:0 !important;padding:22px 10px 9px !important}
}

/* ============================================================
   Listing community chips: one tidy scrollable row (short area names)
   ============================================================ */
.location-chips{
  flex-wrap:nowrap !important;
  overflow-x:auto;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  gap:8px;
  padding-top:12px;
  padding-bottom:8px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 2%,#000 96%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 2%,#000 96%,transparent);
}
.location-chips::-webkit-scrollbar{display:none}
.location-chips .loc-chip{
  flex:0 0 auto;
  white-space:nowrap;
  padding:8px 14px;
  font-size:12.5px;
  font-weight:700;
}
.location-chips .loc-chip b{font-variant-numeric:tabular-nums}
.location-chips .area-photo-chip{
  position:relative;
  isolation:isolate;
  min-width:176px;
  min-height:78px;
  align-items:flex-end;
  justify-content:space-between;
  overflow:hidden;
  padding:12px 12px 11px;
  border-color:rgba(255,255,255,.64);
  border-radius:14px;
  color:#fffdfa;
  background:linear-gradient(180deg,rgba(20,20,22,.03) 12%,rgba(20,20,22,.84) 100%),var(--area-image) center/cover no-repeat;
  box-shadow:0 12px 32px rgba(31,31,34,.14);
  text-shadow:0 2px 12px rgba(0,0,0,.7);
}
.location-chips .area-photo-chip::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,92,87,.18),transparent 58%)}
.location-chips .area-photo-chip span{max-width:125px;white-space:normal;font-size:13px;line-height:1.08}
.location-chips .area-photo-chip b{flex:0 0 auto;color:#fff;background:rgba(253,82,27,.92);text-shadow:none}
.location-chips .area-photo-chip:hover{transform:translateY(-2px);border-color:var(--champagne);filter:saturate(1.06)}
.location-chips .area-photo-chip.is-active{border-color:var(--champagne);box-shadow:0 0 0 2px rgba(255,225,97,.36),0 14px 36px rgba(31,31,34,.2)}
@media (max-width:720px){
  .location-chips{-webkit-mask-image:none;mask-image:none}
  .location-chips .loc-chip{padding:7px 12px;font-size:12px}
  .location-chips .area-photo-chip{min-width:148px;min-height:68px;padding:10px}
  .location-chips .area-photo-chip span{max-width:104px;font-size:12px}
}

/* ============================================================
   Agent card: role + languages (real HomeSeek roster)
   ============================================================ */
.agent-card .agent-role{
  display:block;
  margin:-4px 0 8px;
  color:var(--gold);
  font-size:12.5px;
  font-weight:850;
  letter-spacing:.02em;
}
.agent-card .agent-langs{
  display:block;
  margin:8px 0 2px;
  color:var(--muted);
  font-size:11.5px;
  font-weight:650;
}

/* ============================================================
   Maps: HomeSeek-branded pins, subtle attribution, all-listings map
   ============================================================ */
/* Attribution: tiny + translucent so Leaflet/OpenStreetMap stay unobtrusive */
.leaflet-control-attribution{
  opacity:.14 !important;
  font-size:8px !important;
  line-height:1.1 !important;
  padding:0 4px !important;
  background:transparent !important;
  color:rgba(20,20,24,.55) !important;
  box-shadow:none !important;
}
.leaflet-control-attribution a{color:inherit !important;text-decoration:none !important}
.leaflet-control-attribution:hover{opacity:.5 !important}

/* Zoom control: match the brand */
.leaflet-bar a{color:#1f1f22 !important;border-color:rgba(31,31,34,.08) !important}
.leaflet-bar a:hover{background:#fff5ef !important;color:#fd521b !important}

/* Price pins → HomeSeek orange */
.hs-map-pin{background:linear-gradient(135deg,#fd6a35,#fd521b) !important;border-color:#fffdfa !important;box-shadow:0 6px 18px rgba(253,82,27,.4) !important}
.hs-map-pin.reserved{background:#e8a815 !important}
.hs-map-pin.sold,.hs-map-pin.rented{background:#6c6660 !important}
.hs-map-pin-wrap:hover{z-index:600 !important}
.hs-map-pin-wrap:hover .hs-map-pin{transform:translate(-50%,-104%) scale(1.06);transition:transform .15s ease}
/* Popup accents in brand orange */
.hs-map-popup b{color:#fd521b !important}
.hs-map-popup a{color:#fd521b !important}
.hs-map-popup em.available{color:#7a3a12 !important;background:#ffe4d3 !important}

/* Live all-listings map on the listings page */
.property-map-live{position:relative;isolation:isolate}
.property-map-live .leaflet-portfolio-map{height:min(72vh,700px)}
.property-map-live .map-caption{
  position:absolute;z-index:500;top:14px;left:14px;
  display:inline-flex;flex-direction:column;gap:1px;
  padding:9px 14px;border-radius:13px;
  background:rgba(26,26,30,.82);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 10px 26px rgba(0,0,0,.28);
  color:#fffdfa;pointer-events:none;
}
.property-map-live .map-caption span{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:850}
.property-map-live .map-caption span .ico{width:15px;height:15px;color:var(--gold-2)}
.property-map-live .map-caption small{color:rgba(255,253,250,.72);font-size:10.5px;font-weight:600}
/* subtle branded tone on the tiles for a custom, cohesive look */
.leaflet-portfolio-map .leaflet-tile-pane{filter:none}
@media (max-width:720px){
  .property-map-live .leaflet-portfolio-map{height:64vh}
  .property-map-live .map-caption{top:10px;left:10px;padding:7px 11px}
}

/* ============================================================
   Map: smaller, more interactive custom UI (compact pins/popup)
   ============================================================ */
/* Compact price pins with abbreviated values */
.hs-map-pin{
  padding:5px 9px !important;
  border-width:1.5px !important;
  border-radius:999px !important;
  font-size:11px !important;
  font-weight:850 !important;
  letter-spacing:.01em;
  box-shadow:0 4px 12px rgba(253,82,27,.38) !important;
  transition:transform .14s ease,box-shadow .14s ease;
}
.hs-map-pin:after{width:9px !important;height:9px !important;bottom:-5px !important}
/* active/hover pin pops forward and brightens */
.hs-map-pin-wrap:hover .hs-map-pin,
.leaflet-marker-icon.leaflet-marker-active .hs-map-pin{
  transform:translate(-50%,-104%) scale(1.12);
  box-shadow:0 8px 20px rgba(253,82,27,.5) !important;
  z-index:700;
}

/* Compact popup card */
.hs-map-popup{width:206px !important}
.hs-map-popup img{height:88px !important}
.hs-map-popup div{gap:3px !important;padding:9px 11px !important}
.hs-map-popup span{font-size:9px !important;letter-spacing:.05em}
.hs-map-popup strong{font-size:15px !important;line-height:1.08 !important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hs-map-popup b{font-size:14px !important;font-weight:850}
.hs-map-popup em{font-size:8px !important;padding:2px 6px !important}
.hs-map-popup a{margin-top:3px !important;font-size:11px !important}
.leaflet-popup-content-wrapper{border-radius:12px !important}
.leaflet-popup-tip{width:12px !important;height:12px !important}

/* Compact caption chip */
.property-map-live .map-caption{padding:7px 12px !important;border-radius:11px !important}
.property-map-live .map-caption span{font-size:11.5px !important}
.property-map-live .map-caption small{font-size:9.5px !important}

/* Smaller zoom control */
.leaflet-bar a{width:26px !important;height:26px !important;line-height:26px !important;font-size:15px !important}

/* ============================================================
   Buy / Rent toggle — same building available in both modes
   ============================================================ */
.buyrent-toggle{
  display:inline-flex;
  gap:4px;
  margin:4px 0 14px;
  padding:5px;
  border-radius:14px;
  background:rgba(26,26,30,.34);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:none;
}
.buyrent-toggle .br-opt{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1px;
  min-width:112px;
  padding:8px 16px;
  border-radius:10px;
  text-decoration:none;
  color:rgba(255,253,250,.78);
  font-size:12px;
  font-weight:850;
  letter-spacing:.03em;
  text-transform:uppercase;
  transition:background .2s ease,color .2s ease;
}
.buyrent-toggle .br-opt b{
  font-size:15px;
  font-weight:800;
  letter-spacing:0;
  text-transform:none;
  font-family:"General Sans",Inter,system-ui,sans-serif;
}
.buyrent-toggle .br-opt.is-on{
  background:linear-gradient(135deg,#fd6a35,#fd521b);
  color:#fff;
  box-shadow:0 8px 20px rgba(253,82,27,.35);
}
.buyrent-toggle a.br-opt:hover{background:rgba(255,255,255,.08);color:#fffdfa}
@media (max-width:720px){
  .buyrent-toggle{width:100%}
  .buyrent-toggle .br-opt{flex:1;min-width:0;padding:8px 12px}
}

/* ============================================================
   Property agent card: stay in place, do NOT follow the scroll
   ============================================================ */
.contact-card{position:static !important;top:auto !important;max-height:none !important;overflow:visible !important}

/* ============================================================
   Custom viewing-time picker (pick a day, then a time)
   ============================================================ */
.viewing-picker{display:grid;gap:11px;margin:2px 0 4px}
.vp-label{display:inline-flex;align-items:center;gap:7px;color:#3d3c41;font-size:12.5px;font-weight:850}
.vp-label .ico{width:15px;height:15px;color:var(--gold)}
.vp-days{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.vp-days::-webkit-scrollbar{display:none}
.vp-day{
  flex:0 0 auto;
  display:grid;justify-items:center;gap:1px;
  min-width:66px;padding:9px 12px;
  border:1.5px solid rgba(36,34,40,.14);
  border-radius:13px;
  background:#fffdfa;color:var(--ink);
  cursor:pointer;box-shadow:none;
  transition:border-color .2s ease,background .2s ease,transform .1s ease;
}
.vp-day span{font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.vp-day b{font-size:14px;font-weight:850;font-family:"General Sans",Inter,system-ui,sans-serif}
.vp-day small{font-size:9px;color:var(--muted);font-weight:700}
.vp-day:hover{border-color:rgba(253,82,27,.4)}
.vp-day.is-on{border-color:transparent;background:var(--ink);color:#fffdfa}
.vp-day.is-on span,.vp-day.is-on small{color:rgba(255,253,250,.72)}
.vp-times{display:flex;flex-wrap:wrap;gap:7px}
.vp-time{
  padding:8px 13px;
  border:1.5px solid rgba(36,34,40,.14);
  border-radius:10px;
  background:#fffdfa;color:var(--ink);
  font-size:12.5px;font-weight:800;font-variant-numeric:tabular-nums;
  cursor:pointer;box-shadow:none;
  transition:border-color .18s ease,background .18s ease,color .18s ease,transform .1s ease;
}
.vp-time[hidden]{display:none}
.vp-time:hover{border-color:rgba(253,82,27,.5);background:rgba(253,82,27,.05)}
.vp-time:active{transform:scale(.96)}
.vp-time.is-on{
  border-color:transparent;
  background:linear-gradient(135deg,#fd6a35,#fd521b);
  color:#fff;box-shadow:0 8px 18px rgba(253,82,27,.32);
}
.vp-selected{
  margin:2px 0 0;padding:8px 12px;
  border-radius:10px;
  background:rgba(253,82,27,.08);
  color:var(--gold);font-size:12px;font-weight:850;
}
.viewing-picker.is-error .vp-times{outline:2px solid rgba(224,64,32,.5);outline-offset:6px;border-radius:12px}
.viewing-picker.is-error::after{content:"Please choose a time slot to book.";color:#c0341a;font-size:11.5px;font-weight:800}

/* ============================================================
   Agent contact-card photo: bias the crop up so the head isn't cut
   ============================================================ */
.contact-card img{object-position:center 12% !important;height:270px}
@media (max-width:1100px){.contact-card img{height:300px;object-position:center 14% !important}}

/* ============================================================
   Viewing picker — calendar date grid
   ============================================================ */
.vp-cal{border:1.5px solid rgba(36,34,40,.12);border-radius:16px;padding:12px;background:#fffdfa}
.vp-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.vp-month{font-family:"General Sans",Inter,system-ui,sans-serif;font-size:14.5px;font-weight:850;color:var(--ink)}
.vp-nav{
  width:30px;height:30px;display:grid;place-items:center;
  border:1px solid rgba(36,34,40,.14);border-radius:9px;background:#fffdfa;
  color:var(--ink);font-size:17px;line-height:1;cursor:pointer;box-shadow:none;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.vp-nav:hover:not(:disabled){border-color:rgba(253,82,27,.5);color:var(--gold);background:rgba(253,82,27,.05)}
.vp-nav:disabled{opacity:.32;cursor:default}
.vp-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}
.vp-weekdays span{text-align:center;font-size:9.5px;font-weight:850;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}
.vp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.vp-grid[hidden]{display:none}
.vp-cell{
  aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;position:relative;
  border:0;border-radius:10px;background:transparent;
  font-size:13px;font-weight:750;font-variant-numeric:tabular-nums;
}
.vp-off{color:rgba(36,34,40,.28)}
.vp-empty{background:transparent}
.vp-date{
  cursor:pointer;color:var(--ink);font-weight:800;
  border:1.5px solid rgba(253,82,27,.28);background:rgba(253,82,27,.05);
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .1s ease;
}
.vp-date b{font-weight:800}
.vp-date i{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--gold)}
.vp-date:hover{border-color:var(--gold);background:rgba(253,82,27,.12)}
.vp-date:active{transform:scale(.94)}
.vp-date.is-on{
  border-color:transparent;
  background:linear-gradient(135deg,#fd6a35,#fd521b);
  color:#fff;box-shadow:0 8px 18px rgba(253,82,27,.34);
}
.vp-date.is-on i{background:#fff}

/* ============================================================
   Legal & info pages (Privacy, Terms, Cookies, Disclaimer, FAQ)
   ============================================================ */
.legal-shell{display:grid;grid-template-columns:230px minmax(0,1fr);gap:38px;align-items:start;max-width:1080px}
.legal-toc{position:sticky;top:96px;padding:18px;border:1px solid rgba(36,34,40,.1);border-radius:16px;background:rgba(255,253,250,.7)}
.legal-toc-title{display:block;margin-bottom:10px;font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.legal-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;counter-reset:toc}
.legal-toc a{display:block;padding:6px 8px;border-radius:8px;color:#4a453f;font-size:13px;font-weight:650;text-decoration:none;transition:background .15s ease,color .15s ease}
.legal-toc a:hover{background:rgba(253,82,27,.08);color:var(--gold)}
.legal-body{min-width:0;font-size:15.5px;line-height:1.66;color:#3a352f}
.legal-updated{display:inline-block;margin:0 0 6px;padding:5px 11px;border-radius:99px;background:rgba(253,82,27,.09);color:var(--gold);font-size:12px;font-weight:800}
.legal-intro{font-size:17px;line-height:1.6;color:var(--ink);font-weight:600;margin:0 0 26px}
.legal-section{scroll-margin-top:96px;margin:0 0 26px}
.legal-section h2{font-size:20px;margin:0 0 10px;color:var(--ink)}
.legal-section p{margin:0 0 12px}
.legal-section ul{margin:0 0 12px;padding-left:20px;display:grid;gap:8px}
.legal-section li{padding-left:2px}
.legal-section a{color:var(--gold);font-weight:750}
.legal-related{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:32px;padding-top:20px;border-top:1px solid rgba(36,34,40,.1)}
.legal-related span{font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.legal-related a{padding:6px 13px;border:1px solid rgba(36,34,40,.14);border-radius:99px;color:var(--ink);font-size:12.5px;font-weight:750;text-decoration:none;transition:all .18s ease}
.legal-related a:hover{border-color:rgba(253,82,27,.5);color:var(--gold)}
@media (max-width:900px){
  .legal-shell{grid-template-columns:1fr}
  .legal-toc{position:static;order:2;margin-top:24px}
}

/* FAQ accordion */
.legal-shell:has(.faq-list){grid-template-columns:minmax(0,1fr) 300px}
.faq-list{display:grid;gap:10px;min-width:0}
.faq-item{border:1px solid rgba(36,34,40,.12);border-radius:14px;background:#fffdfa;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}
.faq-item[open]{border-color:rgba(253,82,27,.35);box-shadow:0 12px 30px rgba(31,31,34,.07)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;cursor:pointer;list-style:none;font-size:15.5px;font-weight:800;color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-mark{position:relative;flex:0 0 auto;width:18px;height:18px}
.faq-mark::before,.faq-mark::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--gold);border-radius:2px}
.faq-mark::before{width:14px;height:2px}
.faq-mark::after{width:2px;height:14px;transition:transform .2s ease,opacity .2s ease}
.faq-item[open] .faq-mark::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.faq-answer{padding:0 18px 17px;color:#4a453f;font-size:14.5px;line-height:1.62}
.faq-answer p{margin:0}
.faq-answer a{color:var(--gold);font-weight:750}
.legal-aside .legal-cta{position:sticky;top:96px;padding:22px;border:1px solid rgba(36,34,40,.1);border-radius:18px;background:linear-gradient(160deg,rgba(253,82,27,.06),rgba(255,253,250,.4))}
.legal-aside h3{margin:2px 0 6px;font-size:19px}
.legal-aside p{color:var(--muted);font-size:13.5px;margin:0 0 14px}
.legal-aside .btn{width:100%;justify-content:center}
@media (max-width:900px){.legal-shell:has(.faq-list){grid-template-columns:1fr}.legal-aside .legal-cta{position:static}}

/* ============================================================
   Cookie consent banner (essential-only by default)
   ============================================================ */
.cookie-banner{
  position:fixed;left:12px;right:12px;bottom:12px;z-index:97;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  max-width:820px;margin:0 auto;
  padding:14px 16px;border:1px solid rgba(255,255,255,.14);border-radius:16px;
  background:linear-gradient(150deg,#26262b,#1a1a1e);
  box-shadow:0 24px 60px rgba(0,0,0,.42);
  color:#fffdfa;opacity:0;transform:translateY(140%);
  transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .3s ease;
}
.cookie-banner.is-in{opacity:1;transform:translateY(0)}
.cookie-banner .ck-body{flex:1;min-width:220px}
.cookie-banner strong{display:block;font-size:14px;font-weight:850;margin-bottom:2px}
.cookie-banner p{margin:0;font-size:12px;line-height:1.4;color:rgba(255,253,250,.7)}
.cookie-banner a{color:#ffb057;font-weight:750}
.cookie-banner .ck-actions{display:flex;gap:8px;flex:0 0 auto}
.ck-btn{min-height:40px;padding:0 16px;border-radius:11px;border:0;font-family:"General Sans",Inter,system-ui,sans-serif;font-size:13px;font-weight:800;cursor:pointer;transition:filter .2s ease,background .2s ease}
.ck-ess{background:rgba(255,255,255,.1);color:#fffdfa}
.ck-ess:hover{background:rgba(255,255,255,.18)}
.ck-all{background:linear-gradient(135deg,#fd6a35,#fd521b);color:#fff;box-shadow:0 8px 18px rgba(253,82,27,.34)}
.ck-all:hover{filter:brightness(1.06)}
@media (max-width:720px){
  .cookie-banner{bottom:calc(72px + env(safe-area-inset-bottom,0px));flex-direction:column;align-items:stretch;text-align:left}
  .cookie-banner .ck-actions{width:100%}
  .ck-btn{flex:1}
}

/* ============================================================
   Refine-search filter rail: keep it pinned even when tall
   (the form is taller than the viewport, so cap it and let it
   scroll internally instead of letting its top scroll away)
   ============================================================ */
@media (min-width:1101px){
  .filter-rail{
    max-height:calc(100vh - 104px);
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:#fd521b rgba(31,31,34,.06);
  }
  .filter-rail::-webkit-scrollbar{width:6px}
  .filter-rail::-webkit-scrollbar-thumb{background:rgba(253,82,27,.55);border-radius:99px}
  .filter-rail::-webkit-scrollbar-track{background:transparent}
  /* when a custom dropdown opens, don't clip it */
  .filter-rail:has(.lux-select.open){max-height:none;overflow:visible}
}

/* ============================================================
   Listing Studio — cover-photo area + croppable gallery
   ============================================================ */
.st-media{display:grid;gap:16px}
.st-media-label{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:850;color:#3d3c41;margin-bottom:8px}
.st-media-label .ico{width:15px;height:15px;color:var(--gold)}
.st-media-label small{color:var(--muted);font-weight:700}
/* Cover area */
.st-cover{
  position:relative;display:grid;place-items:center;
  aspect-ratio:16/10;border:2px dashed rgba(253,82,27,.4);border-radius:16px;
  background:rgba(253,82,27,.04);cursor:pointer;overflow:hidden;
  transition:border-color .2s ease,background .2s ease;
}
.st-cover.st-drag,.st-cover:hover{border-color:var(--gold);background:rgba(253,82,27,.08)}
.st-cover.has-img{border-style:solid;border-color:rgba(36,34,40,.12);cursor:default}
.st-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.st-cover-empty{display:grid;justify-items:center;gap:5px;text-align:center;color:var(--muted);padding:20px}
.st-cover-empty .ico{width:30px;height:30px;color:var(--gold)}
.st-cover-empty span{font-size:15px;font-weight:850;color:var(--ink)}
.st-cover-empty small{font-size:12px;max-width:280px}
.st-cover-tag{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:8px;background:linear-gradient(135deg,#fd6a35,#fd521b);color:#fff;font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 6px 14px rgba(253,82,27,.32)}
/* Gallery grid */
.st-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
.st-thumb{position:relative;aspect-ratio:1/1;border-radius:12px;overflow:hidden;border:1px solid rgba(36,34,40,.1);background:#f2ece2}
.st-thumb img{width:100%;height:100%;object-fit:cover}
.st-add-tile{display:grid;place-items:center;gap:4px;aspect-ratio:1/1;border:2px dashed rgba(36,34,40,.2);border-radius:12px;background:#fffdfa;color:var(--muted);font-size:22px;font-weight:400;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease}
.st-add-tile span{font-size:11px;font-weight:800}
.st-add-tile:hover{border-color:var(--gold);color:var(--gold);background:rgba(253,82,27,.05)}
/* Photo hover actions */
.st-media-actions{position:absolute;top:7px;right:7px;display:flex;gap:5px;opacity:0;transition:opacity .18s ease;z-index:2}
.st-cover:hover .st-media-actions,.st-thumb:hover .st-media-actions,.st-cover.has-img .st-media-actions{opacity:1}
.st-media-actions button{
  width:28px;height:28px;display:grid;place-items:center;
  border:0;border-radius:8px;background:rgba(20,20,24,.78);color:#fff;
  font-size:14px;line-height:1;cursor:pointer;transition:background .15s ease;
}
.st-media-actions button:hover{background:#fd521b}
.st-media-actions button[data-act="remove"]:hover{background:#c0341a}
@media (max-width:720px){.st-media-actions{opacity:1}}
/* Crop modal */
.st-crop-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px;background:rgba(15,15,18,.72);backdrop-filter:blur(4px)}
.st-crop-modal[hidden]{display:none}
.st-crop-panel{width:min(760px,100%);max-height:92vh;display:flex;flex-direction:column;gap:0;border-radius:18px;overflow:hidden;background:#1b1b1f;box-shadow:0 40px 90px rgba(0,0,0,.5)}
.st-crop-head{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.1);color:#fffdfa}
.st-crop-head strong{display:inline-flex;align-items:center;gap:8px;font-size:15px}
.st-crop-head .ico{width:16px;height:16px;color:#ff8a4c}
.st-crop-ratios{display:flex;gap:5px;margin-left:auto}
.st-ratio{padding:5px 11px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:transparent;color:rgba(255,253,250,.72);font-size:12px;font-weight:800;cursor:pointer}
.st-ratio.is-on{background:linear-gradient(135deg,#fd6a35,#fd521b);border-color:transparent;color:#fff}
.st-crop-x{width:30px;height:30px;border:0;border-radius:8px;background:rgba(255,255,255,.1);color:#fff;font-size:19px;cursor:pointer}
.st-crop-stage{position:relative;display:grid;place-items:center;padding:16px;background:#0e0e11;overflow:auto;min-height:200px}
.st-crop-stage img{display:block;max-width:100%;max-height:64vh;user-select:none;-webkit-user-drag:none}
.st-crop-box{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px rgba(10,10,13,.5);cursor:move;box-sizing:border-box}
.st-crop-box .st-h{position:absolute;width:14px;height:14px;background:#fd521b;border:2px solid #fff;border-radius:50%}
.st-h[data-h="nw"]{left:-8px;top:-8px;cursor:nwse-resize}
.st-h[data-h="ne"]{right:-8px;top:-8px;cursor:nesw-resize}
.st-h[data-h="sw"]{left:-8px;bottom:-8px;cursor:nesw-resize}
.st-h[data-h="se"]{right:-8px;bottom:-8px;cursor:nwse-resize}
.st-crop-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border-top:1px solid rgba(255,255,255,.1)}
.st-crop-foot small{color:rgba(255,253,250,.55);font-size:11.5px}
.st-crop-btns{display:flex;gap:8px}
@media (max-width:720px){.st-crop-head{flex-wrap:wrap}.st-crop-ratios{margin-left:0;order:3;width:100%}}

/* Watermark toggle in the Listing Studio */
.st-wm-toggle{display:flex;align-items:center;gap:11px;margin-top:14px;padding:12px 14px;border:1px solid rgba(36,34,40,.12);border-radius:13px;background:rgba(255,253,250,.7);cursor:pointer;user-select:none}
.st-wm-toggle input{position:absolute;opacity:0;pointer-events:none}
.st-wm-switch{flex:0 0 auto;position:relative;width:42px;height:24px;border-radius:99px;background:rgba(36,34,40,.2);transition:background .2s ease}
.st-wm-switch::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.25);transition:transform .2s ease}
.st-wm-toggle input:checked + .st-wm-switch{background:linear-gradient(135deg,#fd6a35,#fd521b)}
.st-wm-toggle input:checked + .st-wm-switch::after{transform:translateX(18px)}
.st-wm-text{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;font-weight:800;color:var(--ink)}
.st-wm-text .logo-mark,.st-wm-text svg{width:20px;height:16px;flex:0 0 auto}
.st-wm-toggle input:focus-visible + .st-wm-switch{outline:2px solid var(--gold);outline-offset:2px}

/* Home page live portfolio map — a touch shorter than the full /map page */
.home-map-section{scroll-margin-top:90px}
.home-map-frame.property-map-live .leaflet-portfolio-map{height:min(58vh,500px)}
@media(max-width:720px){.home-map-frame.property-map-live .leaflet-portfolio-map{height:56vh}}

/* ============================================================
   SCROLL PERF (reversible A/B test — delete this whole block to revert)
   1) Public nav: drop the live backdrop-blur that forced the browser to
      re-blur the orange hero gradient on every scroll frame. Keep the
      frosted look with a near-opaque cream fill (costs nothing per frame).
   2) Hero: pause the drifting orange glow + headline flow once the hero
      scrolls off-screen (app.js toggles .hero-paused via IntersectionObserver).
   ============================================================ */
.site-nav{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  background:linear-gradient(180deg,rgba(255,253,250,.97),rgba(255,253,250,.9)) !important;
}
.hero.hero-paused::before,
.hero.hero-paused h1 .hero-accent,
.hero.hero-paused h1::after{animation-play-state:paused !important}

/* ============================================================
   SCROLL PERF test B (reversible — delete this block to restore)
   The two fixed, full-viewport decorative overlays (body::before diamond
   shimmer + body::after multiply vignette) were re-compositing against the
   whole moving page every scroll frame — mix-blend-mode:multiply especially.
   The body's own background keeps the texture; these are turned off to test.
   ============================================================ */
body::before,
body::after{display:none !important}

/* ============================================================
   Hero: plain STATIC background (per request) — the skyline photo
   and its warm glow no longer breathe, parallax, or drift. The
   image just sits there as a flat background.
   ============================================================ */
.hero-media{animation:none !important;transform:none !important;translate:none !important}
.hero::before{animation:none !important}

/* ============================================================
   Map: overlapping listings at the same spot become one count pin
   ("2 homes") whose popup lists every listing there, each clickable.
   ============================================================ */
.hs-map-pin-multi{background:#1f1f22;border-color:#fff}
.hs-map-pin-multi:after{background:#1f1f22}
.hs-map-multi{width:250px;background:#fffdfa}
.hs-map-multi>header{padding:9px 12px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#74706a;background:#fff;border-bottom:1px solid rgba(31,31,34,.10)}
.hs-map-multi-list{max-height:300px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#fd521b rgba(31,31,34,.06)}
.hs-map-multi-list .hs-map-popup{width:100%;border-bottom:1px solid rgba(31,31,34,.08)}
.hs-map-multi-list .hs-map-popup:last-child{border-bottom:0}
.hs-map-multi-list .hs-map-popup img{height:84px}
.hs-map-multi-list::-webkit-scrollbar{width:6px}
.hs-map-multi-list::-webkit-scrollbar-thumb{background:#fd521b;border-radius:99px}

/* ============================================================
   Dashboard portfolio map — same light look as the website map,
   plus admin "move pins" mode for correcting a listing's spot.
   ============================================================ */
.dash-map-shell{position:relative;margin-bottom:18px;padding:20px;border:1px solid rgba(255,255,255,.78);border-radius:var(--radius);color:var(--ink);background:linear-gradient(150deg,rgba(255,253,250,.92),rgba(255,253,250,.66));box-shadow:var(--shadow-soft);overflow:hidden}
.dash-map-shell::before{content:"";position:absolute;inset:-46% -20% auto;height:70%;pointer-events:none;background:radial-gradient(40rem 18rem at 84% 0%,rgba(253,82,27,.10),transparent 65%)}
.dash-map-head{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
.dash-map-head .eyebrow{margin:0 0 4px}
.dash-map-head h2{margin:0;font-size:22px;letter-spacing:-.01em}
.dash-map-chips{display:flex;gap:8px;flex-wrap:wrap}
.dash-map-chips span{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border:1px solid rgba(31,31,34,.12);border-radius:999px;background:rgba(255,253,250,.85);font-size:12px;font-weight:650;color:#5f5b57}
.dash-map-chips b{color:#fd521b;font-size:14px;font-weight:850}
.dash-map-actions{display:flex;gap:8px;flex-wrap:wrap}
.dash-map-actions .btn.ghost.is-active{background:#fd521b;border-color:transparent;color:#fff}
.leaflet-portfolio-map.dash-map{height:min(52vh,470px);border-radius:16px}
.dash-map.is-move-mode{outline:2px dashed rgba(253,82,27,.55);outline-offset:4px}
.dash-map.is-move-mode .hs-map-pin{cursor:grab}
.dash-map.is-move-mode .leaflet-marker-dragging .hs-map-pin{cursor:grabbing}
.hs-map-pin.is-saved{background:#0f7a4d !important;transition:background .25s ease}
.hs-map-pin.is-failed{background:#b3261e !important;transition:background .25s ease}
.dash-map-hint{margin:10px 2px 0;font-size:12.5px;color:#8a6a3e;font-weight:600}
.dash-clock{font-variant-numeric:tabular-nums;font-weight:800;color:#ffe161}
@media (max-width:720px){
  .dash-map-shell{padding:14px}
  .leaflet-portfolio-map.dash-map{height:48vh}
  .dash-map-head h2{font-size:18px}
}

/* Sold / rented listings: bold ribbon on the card, photo slightly dimmed. */
.property-card.is-taken .card-media img{filter:grayscale(.45) brightness(.92)}
.taken-badge{position:absolute;top:12px;right:12px;z-index:2;padding:6px 12px;border-radius:9px;background:#1f1f22;color:#ffe161;font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;box-shadow:0 8px 22px rgba(0,0,0,.3)}

/* ============================================================
   Map layering + HomeSeek warm theme
   1) Leaflet's internal panes/controls run up to z-index 1000 and were
      painting OVER the admin top bar and sidebar. isolation:isolate traps
      the whole map in its own stacking context at z-index 0, so the page
      chrome (top bar z-8, sidebar z-40, popovers) always wins.
   2) Dashboard map tinted warm — sand/cream cast that sits naturally in
      the HomeSeek palette instead of a cold stock-map look.
   ============================================================ */
.leaflet-property-map{position:relative;isolation:isolate;z-index:0}
.property-map-live,.dash-map-shell,.map-embed{isolation:isolate;z-index:0}

/* Warm the dashboard tiles toward the brand cream; keep them crisp. */
.dash-map .leaflet-tile-pane{filter:sepia(.16) saturate(1.04) brightness(1.015)}
.dash-map{border:1px solid rgba(253,82,27,.22) !important;box-shadow:0 16px 40px rgba(148,88,45,.16)}

/* Shell: cream body, warm orange thread — same family as the admin panels. */
.dash-map-shell{border:1px solid rgba(253,82,27,.16);background:linear-gradient(150deg,#fffdf7,#f8ecdb 60%,#fdf3e4)}
.dash-map-shell::before{background:radial-gradient(40rem 18rem at 84% 0%,rgba(253,82,27,.14),transparent 65%)}
.dash-map-head .eyebrow{color:#c2410c}
.dash-map-chips span{border-color:rgba(253,82,27,.18);background:#fffdfa;color:#6b5540}
.dash-map-hint{color:#a35f2a}

/* ============================================================
   Team & access — per-user permission ticks
   ============================================================ */
.team-card{margin-bottom:16px}
.team-card-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.team-card-head img{width:52px;height:52px;border-radius:14px;object-fit:cover;box-shadow:0 8px 20px rgba(31,31,34,.14)}
.team-card-head h2{margin:0;font-size:19px}
.team-card-head small{color:#74706a}
.team-role{padding:2px 9px;border-radius:99px;font-style:normal;font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.role-super_admin{background:#1f1f22;color:#ffe161}
.role-admin{background:#fd521b;color:#fff}
.role-manager{background:#0f5a52;color:#fff}
.role-agent{background:rgba(31,31,34,.08);color:#4c4a45}
.team-lock{margin-left:auto;display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:1px solid rgba(31,31,34,.1);border-radius:999px;background:rgba(255,225,97,.18);font-size:12px;font-weight:700;color:#6b5540}
.team-lock .ico{width:14px;height:14px}
.team-role-pick{display:inline-flex;flex-direction:column;gap:5px;margin:8px 0 2px;font-size:12px;font-weight:700;color:#6b5540}
.team-role-pick select{min-width:180px}
.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:12px 0 14px}
.perm-group{margin:0;padding:12px 14px;border:1px solid rgba(31,31,34,.1);border-radius:14px;background:rgba(255,253,250,.8)}
.perm-group legend{padding:0 7px;font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#a35f2a}
.perm-tick{display:flex;align-items:center;gap:9px;padding:5px 2px;font-size:13.5px;color:#3c3a36;cursor:pointer}
.perm-tick input{width:16px;height:16px;accent-color:#fd521b;cursor:pointer}
.perm-tick:has(input:not(:checked)) span{color:#a09b93;text-decoration:line-through;text-decoration-color:rgba(253,82,27,.4)}
.team-card-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.team-card-actions small{color:#8a857e}
@media (max-width:720px){.team-lock{margin-left:0}.perm-grid{grid-template-columns:1fr 1fr}}

/* ============================================================
   Login — split brand panel + clean, legitimate sign-in card
   ============================================================ */
.login-split{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:stretch;width:min(980px,100%);margin-inline:auto;padding:48px 5vw 72px}
.login-brand-panel{position:relative;overflow:hidden;border-radius:calc(var(--radius) + 6px);color:#fffdfa;background:
  radial-gradient(34rem 22rem at 82% 10%,rgba(253,82,27,.34),transparent 66%),
  linear-gradient(160deg,rgba(26,26,30,.88),rgba(26,26,30,.55)),
  url("brand/hero-home.webp") 70% center/cover no-repeat,#1f1f22;
  box-shadow:0 26px 60px rgba(20,20,24,.3)}
.login-brand-inner{display:flex;flex-direction:column;justify-content:flex-end;gap:14px;height:100%;padding:34px}
.login-brand-inner .brand-mark{width:52px;height:52px}
.login-brand-inner h2{margin:6px 0 0;font-size:clamp(26px,3vw,34px);line-height:1.02;letter-spacing:-.01em}
.login-brand-inner h2 em{font-style:italic;color:#ffb648}
.login-brand-inner p{margin:0;max-width:34ch;color:rgba(255,253,250,.82);font-size:14.5px;line-height:1.55}
.login-points{display:grid;gap:8px;margin:8px 0 0;padding:0;list-style:none}
.login-points li{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700;color:rgba(255,253,250,.88)}
.login-points .ico{width:15px;height:15px;color:#ffe161}
.login-split .login-card{margin:0;width:100%}
.login-card button .ico{width:15px;height:15px;margin-right:6px;vertical-align:-2px}
.login-hint .ico{width:13px;height:13px;margin-right:5px;vertical-align:-2px;color:#0f7a4d}
.login-legit{margin-top:16px;padding-top:14px;border-top:1px solid rgba(31,31,34,.1);font-size:11.5px;line-height:1.6;color:#8a857e;text-align:center;letter-spacing:.02em}
@media (max-width:900px){
  .login-split{grid-template-columns:1fr;padding:24px 5vw 56px}
  .login-brand-inner{padding:26px;min-height:230px}
}

/* Toolbar sort control on the listing pages */
.toolbar-sort{display:inline-flex;margin:0}
.toolbar-sort select{min-height:0;padding:9px 30px 9px 13px;border:1px solid rgba(31,31,34,.14);border-radius:999px;background:rgba(255,253,250,.85);font-size:12.5px;font-weight:700;color:#3c3a36;cursor:pointer}
@media (max-width:720px){.toolbar-sort{width:100%}.toolbar-sort select{width:100%}}

/* Card badges: Golden Visa sits in its own slot BELOW the Verified pill —
   the two never overlap. (Type chip top:12, Verified top:52, Golden Visa top:88.) */
.card-media .gv-badge{top:88px;left:12px;bottom:auto;right:auto}
@media (max-width:720px){
  /* mobile: type chip top-left, gold star medallion under it, verified is the
     top-right medallion — three distinct corners, no stacking conflicts */
  .card-media .gv-badge{top:46px;left:10px}
}

/* Password field: show/hide eye */
.pw-wrap{position:relative;display:block}
.pw-wrap input{width:100%;padding-right:46px}
.pw-eye{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:grid;place-items:center;width:34px;height:34px;min-height:0;padding:0;border:0;border-radius:9px;background:transparent;color:#8a857e;cursor:pointer;box-shadow:none}
.pw-eye:hover{color:#fd521b;background:rgba(253,82,27,.08)}
.pw-eye svg{width:18px;height:18px}
