:root {
  --brand-ink:#0b0d0d;
  --brand-charcoal:#171919;
  --brand-gold:#bd8840;
  --brand-gold-dark:#9f6927;
  --brand-gold-light:#d5aa68;
  --brand-ivory:#f4eee5;
  --brand-paper:#fbf8f3;
  --brand-white:#fff;
  --brand-line:#dfd2bf;
  --brand-muted:#6d645a;
  --brand-shadow:0 18px 45px rgba(47,34,18,.11);
}

body {
  color:var(--brand-ink);
  background:var(--brand-paper)
}

.site-header {
  background:rgba(251,248,243,.97);
  border-bottom-color:var(--brand-line)
}

.topbar {
  background:var(--brand-ink);
  color:#ede4d7
}

.brand-mark {
  background:var(--brand-ink);
  color:var(--brand-gold-light);
  border:1px solid var(--brand-gold)
}

.brand small {
  color:var(--brand-muted)
}

.main-nav a:hover,.text-link,.service-grid a {
  color:var(--brand-gold-dark)
}

.btn,.luxe-gold-btn {
  background:linear-gradient(135deg,var(--brand-gold-light),var(--brand-gold-dark));
  color:#fff
}

.btn-dark,.luxe-dark-btn {
  background:var(--brand-ink);
  color:#fff
}

.page-hero {
  background:var(--brand-ivory);
  border-bottom:1px solid var(--brand-line)
}

.page-hero .eyebrow,.eyebrow {
  color:var(--brand-gold-dark)
}

.property-card,.contact-card,.contact-form,.filter-panel,.admin-card,.stat {
  border-color:var(--brand-line);
  box-shadow:none
}

.property-card:hover {
  box-shadow:var(--brand-shadow)
}

.status {
  background:var(--brand-ink)
}

.status-pending,.status-under_contract {
  background:var(--brand-gold-dark)
}

.experience-panel,.cta {
  background:var(--brand-ink)
}

.experience-panel strong {
  color:var(--brand-gold-light)
}

.service-grid article,.content-cards article {
  border-top-color:var(--brand-gold);
  background:var(--brand-ivory)
}

input:focus,select:focus,textarea:focus {
  outline-color:rgba(189,136,64,.28)!important;
  border-color:var(--brand-gold)!important
}

/* Dashboard and login use the same Tracy Dawson visual system. */
.admin-body {
  background:#f3eee7;
  color:var(--brand-ink)
}

.admin-shell {
  grid-template-columns:272px minmax(0,1fr)
}

.admin-sidebar {
  background:var(--brand-ink);
  color:#dcd4c9;
  padding:30px 24px;
  border-right:1px solid #302a23
}

.admin-sidebar .brand {
  padding-bottom:25px;
  border-bottom:1px solid #302a23
}

.admin-sidebar .admin-brand {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  text-align:center
}

.admin-sidebar .admin-brand-logo {
  display:block;
  width:min(100%,210px);
  height:auto
}

.admin-sidebar .admin-brand-label {
  color:#9e9488;
  font-size:.68rem;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase
}

.admin-sidebar .brand-mark {
  background:transparent;
  color:var(--brand-gold-light);
  border-color:var(--brand-gold)
}

.admin-sidebar .brand strong {
  color:#fff
}

.admin-sidebar .brand small {
  color:#9e9488
}

.admin-sidebar nav {
  gap:6px
}

.admin-sidebar nav a {
  padding:12px 14px;
  border-radius:2px;
  color:#c9c1b7;
  border-left:2px solid transparent
}

.admin-sidebar nav a:hover,.admin-sidebar nav a:focus {
  background:#1b1d1d;
  color:#fff;
  border-left-color:var(--brand-gold)
}

.admin-main {
  padding:38px clamp(22px,4vw,56px)
}

.admin-header {
  padding-bottom:20px;
  border-bottom:1px solid var(--brand-line)
}

.admin-header h1 {
  font-family:Georgia,serif;
  font-weight:500;
  letter-spacing:-.02em
}

.stat-grid {
  gap:16px
}

.stat {
  background:#fff;
  padding:25px;
  border:1px solid var(--brand-line);
  border-top:3px solid var(--brand-gold)
}

.stat strong {
  font-family:Georgia,serif;
  color:var(--brand-gold-dark)
}

.admin-card {
  background:#fff;
  border:1px solid var(--brand-line);
  box-shadow:0 10px 30px rgba(47,34,18,.055)
}

.admin-table th {
  background:var(--brand-ivory);
  color:#5e554b;
  font-size:.72rem;
  letter-spacing:.07em;
  text-transform:uppercase
}

.admin-table th,.admin-table td {
  border-bottom-color:#e8dfd3
}

.admin-form input,.admin-form select,.admin-form textarea {
  border-color:#d9cdbd;
  background:#fff
}

.login-wrap {
  background:linear-gradient(135deg,var(--brand-ivory),#e8ddce)
}

.login-card {
  border-top:4px solid var(--brand-gold);
  box-shadow:var(--brand-shadow)
}

@media(max-width:900px) {
  .admin-shell {
    grid-template-columns:1fr
  }
  .admin-sidebar {
    height:auto;
    position:static
  }
}

/* Header contrast correction: light header with clearly readable navigation. */
.site-header.luxe-header {
  background:rgba(251,248,243,.98);
  border-bottom:1px solid var(--brand-line);
  box-shadow:0 6px 24px rgba(35,27,18,.06);
}

.site-header .brand-script {
  color:var(--brand-gold-dark)
}

.site-header .luxe-brand small {
  color:#4d463f
}

.site-header .main-nav>a:not(.btn),
.site-header .luxe-main-nav>a:not(.btn) {
  color:#171919;
  font-weight:800
}

.site-header .main-nav>a:not(.btn):hover,
.site-header .main-nav>a:not(.btn):focus-visible,
.site-header .luxe-main-nav>a:not(.btn):hover,
.site-header .luxe-main-nav>a:not(.btn):focus-visible {
  color:var(--brand-gold-dark)
}

.site-header .menu-toggle span {
  background:#171919
}

/* Photography and digital-presentation section follows the website's hero palette. */
.td-marketing {
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,var(--brand-ivory) 0%,var(--brand-paper) 58%,#eadfce 100%);
  color:var(--brand-ink);
  border-top:1px solid var(--brand-line);
  border-bottom:1px solid var(--brand-line);
}

.td-marketing::before {
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-170px;
  top:-210px;
  border-radius:50%;
  border:1px solid rgba(189,136,64,.24);
  box-shadow:0 0 0 55px rgba(189,136,64,.045),0 0 0 110px rgba(189,136,64,.025);
  pointer-events:none;
}

.td-marketing__layout {
  position:relative;
  z-index:1
}

.td-marketing__eyebrow {
  color:var(--brand-gold-dark)
}

.td-marketing__copy h2 {
  color:var(--brand-ink)
}

.td-marketing__copy>p {
  color:var(--brand-muted)
}

.td-marketing__copy li {
  color:#3f3933
}

.td-marketing__copy li::before {
  color:var(--brand-gold-dark)
}

.td-marketing .luxe-gold-btn,
.td-marketing .btn {
  background:var(--brand-ink);
  color:#fff;
  border:1px solid var(--brand-ink);
  box-shadow:none;
}

.td-marketing .luxe-gold-btn:hover,
.td-marketing .btn:hover {
  background:var(--brand-gold-dark);
  border-color:var(--brand-gold-dark);
  color:#fff;
}

.td-marketing__main-image {
  border:8px solid #fff;
  box-shadow:0 25px 65px rgba(47,34,18,.18);
}

.td-marketing__browser {
  background:#fff;
  color:var(--brand-ink);
  border:1px solid var(--brand-line);
  box-shadow:0 24px 55px rgba(47,34,18,.2);
}

.td-marketing__browser-bar {
  border-bottom:1px solid #eee5d9
}

.td-marketing__browser-bar i {
  background:var(--brand-gold-light)
}

@media(max-width:900px) {
  .site-header .main-nav,
    .site-header .luxe-main-nav {
    background:#111414!important;
    border-color:#302a23!important
  }
  .site-header .main-nav>a:not(.btn),
    .site-header .luxe-main-nav>a:not(.btn) {
    color:#fff!important
  }
  .site-header .main-nav>a:not(.btn):hover,
    .site-header .luxe-main-nav>a:not(.btn):hover {
    color:var(--brand-gold-light)!important
  }
}

.admin-sidebar .admin-logout-form button {
  padding:12px 14px;
  border-radius:2px;
  color:#c9c1b7;
  border-left:2px solid transparent;
}

.admin-sidebar .admin-logout-form button:hover,
.admin-sidebar .admin-logout-form button:focus-visible {
  background:#1b1d1d;
  color:#fff;
  border-left-color:var(--brand-gold);
}


/* Tracy Dawson SVG header logo: thin navigation with the key overlapping the hero. */
.site-header.luxe-header {
  overflow:visible;
}

.site-header .luxe-nav-wrap {
  position:relative;
  height:92px;
  overflow:visible;
}

.site-header .td-header-brand {
  position:relative;
  z-index:4;
  display:block;
  flex:0 0 312px;
  width:312px;
  height:92px;
  overflow:visible;
}

.site-header .td-header-logo {
  position:absolute;
  top:4px;
  left:0;
  display:block;
  width:300px;
  height:auto;
  max-width:none;
  z-index:5;
}

@media (max-width:1180px) and (min-width:901px) {
  .site-header .td-header-brand {
    flex-basis:250px;
    width:250px;
  }

  .site-header .td-header-logo {
    width:240px;
  }

  .site-header .main-nav,
  .site-header .luxe-main-nav {
    gap:14px;
    font-size:.76rem;
  }
}

@media (max-width:900px) {
  .site-header .luxe-nav-wrap {
    height:76px;
  }

  .site-header .td-header-brand {
    flex-basis:170px;
    width:170px;
    height:76px;
  }

  .site-header .td-header-logo {
    top:2px;
    width:160px;
  }

  .site-header .main-nav,
  .site-header .luxe-main-nav {
    top:76px;
    max-height:calc(100vh - 76px);
  }
}

@media (max-width:600px) {
  .site-header .luxe-nav-wrap {
    height:72px;
  }

  .site-header .td-header-brand {
    flex-basis:153px;
    width:153px;
    height:72px;
  }

  .site-header .td-header-logo {
    top:1px;
    width:145px;
  }

  .site-header .main-nav,
  .site-header .luxe-main-nav {
    top:72px;
    max-height:calc(100vh - 72px);
  }
}


@media (max-width:900px) {
  .admin-sidebar .admin-brand-logo {
    width:min(100%,190px)
  }
}

@media (max-width:520px) {
  .admin-sidebar .admin-brand-logo {
    width:min(100%,170px)
  }
}

/* Tracy Control login branding */
.login-brand-logo-link {
  display:inline-flex;
  align-items:center;
  width:max-content;
}

.login-brand-logo {
  display:block;
  width:clamp(175px,18vw,225px);
  height:auto;
}

.login-mobile-brand {
  text-align:center;
}

.login-mobile-brand a {
  display:inline-block;
}

.login-mobile-brand-logo {
  display:block;
  width:min(175px,55vw);
  height:auto;
  margin:0 auto;
}

@media (max-width:900px) {
  .login-mobile-brand {
    margin-bottom:24px;
  }
}
