/*
  Contents

  1. Global
  2. Navigation
  3. Search
  4. Forms
  5. Mobile
  6. Media

 */
body {
  font-family: georgia, arial, sans-serif;
  background-color: #f5f6f8;
  color: #111111;
}

body.area-guides-page {
  background-color: #f4f2f0;
}

p {
  font-family: inherit;
  text-align: left;
  text-transform: none;
}

a {
  color: #337ab7;
}

h1 {
  font-family: georgia, arial, sans-serif;
  font-weight: 400;
  font-size: 24px;
}

h2 {
  font-family: georgia, arial, sans-serif;
  text-transform: capitalize;
  font-weight: 500;
  font-size: 24px;
}

h3 {
  font-family: georgia, arial, sans-serif;
  text-transform: capitalize;
  font-weight: 400;
  font-size: 20px;
  color: #000000;
}

h4 {
  font-family: georgia, arial, sans-serif;
  text-transform: capitalize;
  font-weight: 400;
}

.footer-wrapper {
  background-color: #0f172a;
  color: #ffffff;
  width: 100%;
  padding: 3rem 0 2rem;
}
.footer-wrapper a {
  color: inherit;
  text-decoration: none;
}
.footer-wrapper a:hover, .footer-wrapper a:focus {
  text-decoration: underline;
}
.footer-wrapper .footer__heading {
  font-family: tradegothicbold, arial, sans-serif;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.footer-wrapper .footer__subheading {
  font-family: tradegothicbold, arial, sans-serif;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 1rem;
}
.footer-wrapper .footer__tagline {
  font-size: 0.95rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 1.5rem;
}
.footer-wrapper .footer__cta-link {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background-color: #337ab7;
  color: #ffffff;
  border-radius: 4px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.footer-wrapper .footer__cta-link:hover, .footer-wrapper .footer__cta-link:focus {
  background-color: rgb(39.8846153846, 95.4102564103, 143.1153846154);
}
.footer-wrapper .footer__social {
  margin-top: 1.5rem;
}
.footer-wrapper .footer__social a {
  margin-right: 0.5rem;
  font-size: 2.25rem;
  display: inline-block;
  transition: transform 0.2s ease;
}
.footer-wrapper .footer__social a:hover, .footer-wrapper .footer__social a:focus {
  transform: translateY(-2px);
}
.footer-wrapper .footer__contact p,
.footer-wrapper .footer__contact li,
.footer-wrapper .footer__offices p,
.footer-wrapper .footer__offices li,
.footer-wrapper .footer__links p,
.footer-wrapper .footer__links li {
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.95rem;
  line-height: 1.6;
}
.footer-wrapper .footer__contact strong,
.footer-wrapper .footer__offices strong,
.footer-wrapper .footer__links strong {
  color: #ffffff;
}
.footer-wrapper .footer__links ul {
  margin-bottom: 1.5rem;
}
.footer-wrapper .footer__links ul li {
  margin-bottom: 0.5rem;
}
.footer-wrapper .footer__bottom {
  margin-top: 2.5rem;
}
.footer-wrapper .footer__bottom p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.85rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

input,
select,
textarea {
  font-family: georgia, arial, sans-serif;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #dfe1e5;
  border-radius: 0;
  background-color: #f8f8f9;
  color: #111111;
  padding: 12px 16px;
  height: 48px;
  line-height: 1.4;
  box-shadow: none;
}

input:disabled,
select:disabled,
textarea:disabled {
  background-color: #f0f1f2;
  color: #a0a4a8;
  cursor: not-allowed;
}

::placeholder {
  color: #9aa1a9;
}

@font-face {
  font-family: "tradegothicbold";
  src: url(/font/tradegothicbold-webfont.eot);
  src: url(/font/tradegothicbold-webfont.eot?#iefix) format("embedded-opentype"), url(/font/tradegothicbold-webfont.woff) format("woff"), url(/font/tradegothicbold-webfont.ttf) format("truetype"), url(/font/tradegothicbold-webfont.svg#tradegothicbold) format("svg");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "TradeGothic";
  src: url(/font/tradegothicbold-webfont.eot);
  src: url(/font/tradegothicbold-webfont.eot?#iefix) format("embedded-opentype"), url(/font/tradegothicbold-webfont.woff) format("woff"), url(/font/tradegothicbold-webfont.ttf) format("truetype"), url(/font/tradegothicbold-webfont.svg#tradegothicbold) format("svg");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "tradegothic";
  src: url(/font/tradegothicbold-webfont.eot);
  src: url(/font/tradegothicbold-webfont.eot?#iefix) format("embedded-opentype"), url(/font/tradegothicbold-webfont.woff) format("woff"), url(/font/tradegothicbold-webfont.ttf) format("truetype"), url(/font/tradegothicbold-webfont.svg#tradegothicbold) format("svg");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
.hammer-bg {
  background-color: #000;
  background-image: none;
  background-position: right bottom;
  background-repeat: no-repeat;
  border-top: 0 solid #fff;
  overflow: hidden;
  padding: 1.5em;
  min-height: 330px;
}
.hammer-bg h1, .hammer-bg p {
  color: white;
}
.hammer-bg .section-header {
  border-color: #FFF;
}

.inline-subheader {
  font-weight: bold;
}

.profile-wrapper {
  background-color: #F3F3F3;
  background-clip: content-box;
  margin-bottom: 2em;
}

.profile-container {
  overflow-y: hidden;
  height: 180px;
}
.profile-container a {
  word-wrap: break-word;
}
.profile-container p {
  margin: 0;
  font-size: 11px;
}
.profile-container h6 {
  font-size: 11px;
}
.profile-container h4 {
  font-size: 14px;
  font-weight: bold;
}

.profile-link {
  float: left;
  margin-top: 10px;
  text-decoration: underline;
}

.contact-us p {
  font-size: 14px;
  text-align: left;
}

.linked-in {
  color: #007ab9;
}

.suburb-list h4 {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.suburb-list h4 a {
  color: #000000;
  font-size: 14px;
}
.suburb-list a {
  font-size: 13px;
}

.featured-head {
  font-size: 25px;
}

.frontend-breadcrumbs {
  margin: 15px 0;
}
.frontend-breadcrumbs .breadcrumb {
  background: transparent;
  padding: 0;
  margin-bottom: 0;
  font-size: 13px;
  text-transform: none;
  display: flex;
  align-items: center;
  gap: 0;
}
.frontend-breadcrumbs .breadcrumb > li {
  max-width: 240px;
  position: relative;
  padding: 0 8px;
}
.frontend-breadcrumbs .breadcrumb > li > a,
.frontend-breadcrumbs .breadcrumb > li.active {
  font-family: arial, sans-serif;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.nav-tabs {
  border-bottom: 0;
}
.nav-tabs li.active a {
  border-color: #F3F3F3;
  background-color: #F3F3F3;
  color: #000000;
}
.nav-tabs li a {
  border-color: #d2d2d2;
  background-color: #d2d2d2;
  font-family: tradegothicbold, arial, sans-serif;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #424242;
  padding: 12px 24px;
  text-transform: uppercase;
}
.nav-tabs li a:hover, .nav-tabs li a:focus {
  background-color: transparent;
  color: #000000;
}
.nav-tabs li.active > a, .nav-tabs li.active > a:focus, .nav-tabs li.active > a:hover {
  border: none;
  border-bottom: 2px solid #000000;
  color: #000000;
  background-color: transparent;
}

.tab-pane {
  background-color: #ffffff;
  border: 1px solid #dfe1e5;
  border-top: none;
  padding: 32px;
  box-shadow: none;
}

.suburb-block {
  width: 14%;
  float: left;
}

.featured-news h4 {
  color: #000000;
}
.featured-news p {
  color: #777;
  font-family: arial, sans-serif;
  text-transform: none;
  margin-top: 0;
  font-size: 16px;
  min-height: 70px;
}
.featured-news a:hover {
  text-decoration: none;
}

.panel-body {
  background-color: #F3F3F3;
}

.panel-group {
  margin-bottom: 0;
}

.broker-details p {
  margin: 0;
  margin-bottom: 10px;
}
.broker-details .show-email-link {
  color: #1693c0;
  text-decoration: underline;
  cursor: pointer;
  border: none;
  background: none;
  padding: 0;
  font: inherit;
  display: inline;
  transition: color 0.15s;
}
.broker-details .show-email-link:focus, .broker-details .show-email-link:hover {
  color: #106b8c;
  outline: none;
  text-decoration: underline;
}

.navbar {
  margin-top: 10px;
  margin-bottom: 10px;
  background-color: #ffffff;
}
.navbar .navbar-toggle {
  background-color: #ffffff;
  border-color: white;
  float: left;
  margin: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-top: 5px;
}
.navbar .navbar-toggle:hover {
  border-color: white;
  background-color: #ffffff;
}

@media (min-width: 768px) {
  .navbar {
    background-color: transparent;
  }
}
.navbar-default, .navbar-collapse {
  border: 0;
}

.navbar-nav .nav-item {
  font-size: 12px;
  text-transform: uppercase;
  border-top: 1px solid transparent;
}

.navbar-desktop {
  display: flex;
  align-items: flex-start;
  width: 100%;
  padding: 10px 0;
}
.navbar-desktop__logo {
  flex-shrink: 0;
  margin-right: 30px;
}
.navbar-desktop__logo-img {
  max-width: 108px;
  height: auto;
}
.navbar-desktop__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.navbar-desktop__cta {
  margin-bottom: 10px;
}
.navbar-desktop__call-now {
  font-family: tradegothicbold, arial, sans-serif;
  font-size: 25px;
  color: #000000;
  text-transform: uppercase;
}
.navbar-desktop__nav {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}
.navbar-desktop__nav-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  float: none;
  margin: 0;
}
.navbar-desktop__nav-list > li {
  float: none;
}

.mobile-search {
  padding-top: 15px;
  padding-bottom: 15px;
  margin-bottom: 1em;
  width: 100%;
  color: #ffffff;
}
.mobile-search h1 {
  margin: 0;
}

.call-now {
  color: #000000;
  font-family: tradegothicbold, arial, sans-serif;
  font-size: 25px;
}

.call-now:hover {
  text-decoration: none;
  color: #000000;
}

.block {
  display: block;
  width: 100%;
}

.card {
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 0;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06), 0 2px 8px rgba(16, 24, 40, 0.04);
}

.search-container {
  background-image: linear-gradient(rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.82));
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #f0f2f4;
  padding: 80px 0;
  border-top: none;
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.search-container .search-layout {
  margin-left: 0;
  margin-right: 0;
}
.search-container .search-layout__primary {
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  padding: 32px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06), 0 2px 8px rgba(16, 24, 40, 0.04);
  overflow: visible;
}
.search-container .search-layout__aside {
  margin-top: 24px;
}
@media (min-width: 992px) {
  .search-container .search-layout__aside {
    margin-top: 0;
    padding-left: 32px;
  }
}
.search-container .search-tabs {
  border-bottom: 1px solid #e5e7eb;
  margin-left: -4px;
  margin-right: -4px;
  margin-bottom: 16px;
}
.search-container .search-tabs > li > a {
  border: none;
  border-bottom: 2px solid transparent;
  background: transparent;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #374151;
  padding: 16px 24px;
}
.search-container .search-tabs > li > a:hover {
  color: #000;
  background: transparent;
}
.search-container .search-tabs > li.active > a,
.search-container .search-tabs > li.active > a:focus,
.search-container .search-tabs > li.active > a:hover {
  color: #000;
  background: transparent;
  border: none;
  border-bottom: 2px solid #000;
}
.search-container .search {
  background-color: #ffffff;
  border: none;
  padding: 0;
  box-shadow: none;
}
.search-container .search_form .chzn {
  width: 100%;
}
.search-container .search-pane {
  border: none;
  overflow: visible;
}
.search-container .search-pane label,
.search-container .search-pane em {
  font-size: 12px;
  color: #4b5563;
  text-transform: none;
}
.search-container .search-pane .form-control {
  font-size: 14px;
}
.search-container .search-pane .minimal-padding {
  padding: 0 10px;
}
.search-container .search-pane .search-details {
  padding-left: 0;
  padding-right: 0;
  margin-bottom: 16px;
}
.search-container .search-pane .search-button {
  margin-top: 24px;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  letter-spacing: 0.08em;
}
.search-container .search-tabs {
  border-bottom: 1px solid #e5e7eb;
  margin-left: -4px;
  margin-right: -4px;
  margin-bottom: 16px;
}
.search-container .search-tabs > li > a {
  border: none;
  border-bottom: 2px solid transparent;
  background: transparent;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #374151;
  padding: 16px 24px;
}
.search-container .search-tabs > li > a:hover {
  color: #000;
  background: transparent;
}
.search-container .search-tabs > li.active > a,
.search-container .search-tabs > li.active > a:focus,
.search-container .search-tabs > li.active > a:hover {
  color: #000;
  background: transparent;
  border: none;
  border-bottom: 2px solid #000;
}
.search-container .search_label {
  text-transform: none;
  font-family: Georgia;
  font-weight: bold;
  color: #111111;
  margin-bottom: 8px;
}
.search-container label {
  font-weight: 500;
  color: #374151;
}

.form-control,
.search input,
.search select,
.search textarea,
.search .chzn-container .chzn-single,
.search .chzn-container .chzn-choices,
.enquiry input,
.enquiry select,
.enquiry textarea {
  border: 1px solid #dfe1e5;
  border-radius: 0;
  background-color: #f8f8f9;
  color: #111111;
  box-shadow: none;
}

.form-control:focus,
.search input:focus,
.search select:focus,
.search textarea:focus,
.enquiry input:focus,
.enquiry select:focus,
.enquiry textarea:focus {
  outline: none;
  border-color: #b7bcc2;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06);
}

.search-container .search input,
.search-container .search select,
.search-container .search textarea,
.search-container .search .chzn-container .chzn-single,
.search-container .search .chzn-container .chzn-choices {
  height: 56px;
  padding: 0 16px;
  font-size: 20px;
  font-family: arial, sans-serif;
}

.search-container .search .chzn-container .chzn-choices {
  padding: 12px 8px;
  min-height: 56px;
  font-size: 20px;
}

.search-container .search .chzn-container .chzn-single span {
  color: #111111;
}

.search-option-row > .col-xs-12 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  background-color: transparent;
  padding: 12px 0 16px;
}

.search-option-row label,
.search .form-group label {
  font-family: arial, sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: #111111;
  margin-bottom: 8px;
}

.search-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: #111111;
  margin: 0;
}

.search-tabs + #searchTabContent .tab-pane {
  background: transparent;
  border: 0;
  padding: 0;
  box-shadow: none;
}

.search-details .row {
  margin-left: -10px;
  margin-right: -10px;
}

.search-details .row > [class*=col-] {
  padding-left: 10px;
  padding-right: 10px;
}

@media (min-width: 992px) {
  .search-button {
    margin-top: 32px;
  }
}
.form-check {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.form-check-input[type=checkbox],
.search-checkbox input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border: 1px solid #dfe1e5;
  background: #fff;
  border-radius: 2px;
  display: inline-block;
  position: relative;
}

.form-check-input[type=checkbox]:focus,
.search-checkbox input[type=checkbox]:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06);
  border-color: #b7bcc2;
}

.form-check-input[type=checkbox]:checked,
.search-checkbox input[type=checkbox]:checked {
  background: #000;
  border-color: #000;
}

.form-check-input[type=checkbox]:checked::after,
.search-checkbox input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 5px;
  width: 4px;
  height: 8px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.form-check-input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border: 1px solid #dfe1e5;
  background: #fff;
  border-radius: 50%;
  position: relative;
}

.form-check-input[type=radio]:focus {
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06);
  border-color: #b7bcc2;
}

.form-check-input[type=radio]:checked {
  border-color: #000;
}

.form-check-input[type=radio]:checked::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: #000;
  border-radius: 50%;
  top: 4px;
  left: 4px;
}

select.form-control,
.search select,
.enquiry select {
  background-image: linear-gradient(45deg, transparent 50%, #999 50%), linear-gradient(135deg, #999 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 2px), calc(100% - 13px) calc(50% - 2px);
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  padding-right: 32px;
}

.result_count {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-style: normal;
  font-size: 18px;
  color: #6b7280;
}

.result_count__label {
  text-transform: lowercase;
}

.search-option-row .search-spinner {
  margin-left: 12px;
  color: #6b7280;
}

.search-spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: anvil-spin 0.8s linear infinite;
}

@keyframes anvil-spin {
  to {
    transform: rotate(360deg);
  }
}
.search-details {
  margin-top: 20px;
}
.search-details .row {
  margin-left: -10px;
  margin-right: -10px;
}
.search-details .p-2,
.search-details .minimal-padding {
  padding-left: 10px !important;
  padding-right: 10px !important;
  margin-bottom: 18px;
}
.search-details label {
  font-size: 13px;
  font-weight: 600;
  color: #1f2933;
  margin-bottom: 6px;
}
.search-details select {
  background-color: #f8f8f9;
}

.search-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px 24px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-family: tradegothicbold, arial, sans-serif;
  font-size: 16px;
  border: none;
}

.search-button__icon {
  display: inline-flex;
  align-items: center;
  font-size: 16px;
}
.search-button__icon svg {
  width: 1.125em;
  height: 1.125em;
  display: block;
}

.search-button__text {
  display: inline-flex;
  align-items: center;
}

.search-layout__primary .search_label {
  font-family: georgia, arial, sans-serif;
  font-size: 28px;
  font-weight: 500;
  color: #111111;
  margin-bottom: 24px;
}

.overflow-content {
  overflow: hidden;
  height: 200px;
}

#search-spinner {
  padding: 0.25em;
}

.surrounding.checkbox {
  margin-top: 0;
  margin-bottom: 0;
  line-height: 130%;
}

.unit-details {
  margin-top: 1em;
}
.unit-details p {
  color: #000000;
}
.unit-details h3 {
  color: #000000;
  font-size: 20px;
  margin-top: 10px;
}
.unit-details h3 a {
  color: inherit;
  text-decoration: none;
}
.unit-details h3 a:hover,
.unit-details h3 a:focus {
  color: inherit;
  text-decoration: none;
}
.unit-details .unit-price {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.unit-details .unit-price p {
  color: #000000;
  font-size: 15px;
  font-weight: bold;
  font-family: tradegothicbold, arial, sans-serif;
  text-transform: uppercase;
  margin-bottom: 0;
}
.unit-details .unit-display {
  font-family: arial, sans-serif;
  color: #777;
  text-transform: capitalize;
}
.unit-details .unit-icon {
  width: 30px;
}

.unit-details.related-card {
  min-height: 400px;
}

.unit-footer {
  background-color: #F3F3F3;
  color: inherit;
  padding: 5px;
  border-radius: 0;
  margin-bottom: 1em;
}
.unit-footer button {
  font-size: 18px;
}
.unit-footer p {
  margin: 0;
  font-family: tradegothicbold, arial, sans-serif;
  text-transform: uppercase;
}
.unit-footer a {
  color: #000000;
}
.unit-footer .more-info h3 {
  color: #337ab7;
}
.unit-footer .more-info:hover a {
  text-decoration: none;
}
.unit-footer .web-ref {
  font-family: georgia, arial, sans-serif;
  text-transform: none;
  font-weight: bold;
  margin-top: 10px;
}

@media only screen and (max-width: 768px) {
  .crop-thumbnail {
    display: block;
    max-width: 100%;
    height: auto;
  }
}
@media only screen and (min-width: 768px) {
  .crop-thumbnail {
    /*max-height: 220px;*/
    height: 197px;
    width: 100%;
  }
}

.thumbnail-container {
  overflow: hidden;
  margin-bottom: 1em;
}

.facilities img {
  float: left;
}
.facilities p {
  float: left;
  margin-bottom: 0;
  margin-top: 4px;
}
.facilities h4 {
  color: #000000;
  padding-left: 10px;
}

#refine-search {
  background-color: #ffffff;
  border-radius: 0;
  border: 1px solid #dfe1e5;
  box-shadow: none;
  padding: 32px;
  margin-top: 1em;
}
#refine-search label {
  font-weight: normal;
}
#refine-search p {
  font-weight: bold;
}
#refine-search .select-size {
  width: 50%;
  padding-right: 10px;
  float: left;
}
#refine-search select {
  background-color: #dddddd;
}

.separator {
  color: #d2d2d2;
}

.bluebtn, .blackbtn {
  color: #fff;
  font-family: tradegothicbold, arial, sans-serif;
  text-transform: uppercase;
  text-shadow: none;
  font-size: 22px;
  border: none;
  background: var(--color-accent);
}

.blackbtn {
  background: #000000;
}

.blackbtn:hover {
  color: #fff;
  background: #000000;
}

.bluebtn:hover, .blackbtn:hover {
  color: #fff;
  background: var(--color-accent-dark);
}

.btn.bluebtn,
.btn.blackbtn {
  font-family: tradegothicbold, arial, sans-serif;
  text-transform: uppercase;
  font-size: 22px;
  letter-spacing: 0.12em;
}

#cta_home {
  background-color: #F3F3F3;
  margin-left: 20px;
  border-radius: 0;
}

.enquiry.card {
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06), 0 2px 8px rgba(16, 24, 40, 0.04);
}
.enquiry.card .card-body {
  padding: 32px;
}
.enquiry.card .card-title {
  margin-top: 0;
  margin-bottom: 24px;
  font-family: georgia, arial, sans-serif;
  font-size: 20px;
  font-weight: 500;
  text-align: left;
  color: #111111;
}
.enquiry.card .form-group {
  margin-bottom: 16px;
}
.enquiry.card .form-control {
  height: 48px;
  padding: 12px 16px;
}
.enquiry.card .enquiry-button {
  margin-top: 0;
  padding: 0;
  font-family: tradegothicbold, arial, sans-serif;
  letter-spacing: 0.12em;
}
.enquiry.card .enquiry-disclaimer {
  margin-top: 20px;
  margin-bottom: 0;
  font-size: 12px;
  color: #6b7280;
  text-align: center;
}

.search-enquiry .enquiry {
  margin-top: 56px;
}

.field_with_errors label {
  color: red;
  float: left;
}

.call-now-sm {
  color: #000000;
  font-family: tradegothicbold, arial, sans-serif;
  font-size: 14px;
}

#mobile-sticky-footer {
  display: none;
}

@media only screen and (max-width: 768px) {
  #galleria {
    height: 350px;
  }
}
@media only screen and (min-width: 768px) {
  #galleria {
    height: 500px;
  }
}

#map_canvas {
  width: 100%;
  height: 300px;
}

#large_map_canvas {
  width: 100%;
  height: 400px;
}
.m-0 {
  margin: 0 !important;
}

.mx-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.m-1 {
  margin: 4px !important;
}

.mx-1 {
  margin-left: 4px !important;
  margin-right: 4px !important;
}

.my-1 {
  margin-top: 4px !important;
  margin-bottom: 4px !important;
}

.mt-1 {
  margin-top: 4px !important;
}

.mr-1 {
  margin-right: 4px !important;
}

.mb-1 {
  margin-bottom: 4px !important;
}

.ml-1 {
  margin-left: 4px !important;
}

.m-2 {
  margin: 8px !important;
}

.mx-2 {
  margin-left: 8px !important;
  margin-right: 8px !important;
}

.my-2 {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

.mt-2 {
  margin-top: 8px !important;
}

.mr-2 {
  margin-right: 8px !important;
}

.mb-2 {
  margin-bottom: 8px !important;
}

.ml-2 {
  margin-left: 8px !important;
}

.m-3 {
  margin: 12px !important;
}

.mx-3 {
  margin-left: 12px !important;
  margin-right: 12px !important;
}

.my-3 {
  margin-top: 12px !important;
  margin-bottom: 12px !important;
}

.mt-3 {
  margin-top: 12px !important;
}

.mr-3 {
  margin-right: 12px !important;
}

.mb-3 {
  margin-bottom: 12px !important;
}

.ml-3 {
  margin-left: 12px !important;
}

.m-4 {
  margin: 16px !important;
}

.mx-4 {
  margin-left: 16px !important;
  margin-right: 16px !important;
}

.my-4 {
  margin-top: 16px !important;
  margin-bottom: 16px !important;
}

.mt-4 {
  margin-top: 16px !important;
}

.mr-4 {
  margin-right: 16px !important;
}

.mb-4 {
  margin-bottom: 16px !important;
}

.ml-4 {
  margin-left: 16px !important;
}

.m-5 {
  margin: 24px !important;
}

.mx-5 {
  margin-left: 24px !important;
  margin-right: 24px !important;
}

.my-5 {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

.mt-5 {
  margin-top: 24px !important;
}

.mr-5 {
  margin-right: 24px !important;
}

.mb-5 {
  margin-bottom: 24px !important;
}

.ml-5 {
  margin-left: 24px !important;
}

.m-6 {
  margin: 32px !important;
}

.mx-6 {
  margin-left: 32px !important;
  margin-right: 32px !important;
}

.my-6 {
  margin-top: 32px !important;
  margin-bottom: 32px !important;
}

.mt-6 {
  margin-top: 32px !important;
}

.mr-6 {
  margin-right: 32px !important;
}

.mb-6 {
  margin-bottom: 32px !important;
}

.ml-6 {
  margin-left: 32px !important;
}

.m-7 {
  margin: 48px !important;
}

.mx-7 {
  margin-left: 48px !important;
  margin-right: 48px !important;
}

.my-7 {
  margin-top: 48px !important;
  margin-bottom: 48px !important;
}

.mt-7 {
  margin-top: 48px !important;
}

.mr-7 {
  margin-right: 48px !important;
}

.mb-7 {
  margin-bottom: 48px !important;
}

.ml-7 {
  margin-left: 48px !important;
}

.m-8 {
  margin: 64px !important;
}

.mx-8 {
  margin-left: 64px !important;
  margin-right: 64px !important;
}

.my-8 {
  margin-top: 64px !important;
  margin-bottom: 64px !important;
}

.mt-8 {
  margin-top: 64px !important;
}

.mr-8 {
  margin-right: 64px !important;
}

.mb-8 {
  margin-bottom: 64px !important;
}

.ml-8 {
  margin-left: 64px !important;
}

.m-9 {
  margin: 96px !important;
}

.mx-9 {
  margin-left: 96px !important;
  margin-right: 96px !important;
}

.my-9 {
  margin-top: 96px !important;
  margin-bottom: 96px !important;
}

.mt-9 {
  margin-top: 96px !important;
}

.mr-9 {
  margin-right: 96px !important;
}

.mb-9 {
  margin-bottom: 96px !important;
}

.ml-9 {
  margin-left: 96px !important;
}

.m-10 {
  margin: 120px !important;
}

.mx-10 {
  margin-left: 120px !important;
  margin-right: 120px !important;
}

.my-10 {
  margin-top: 120px !important;
  margin-bottom: 120px !important;
}

.mt-10 {
  margin-top: 120px !important;
}

.mr-10 {
  margin-right: 120px !important;
}

.mb-10 {
  margin-bottom: 120px !important;
}

.ml-10 {
  margin-left: 120px !important;
}

.p-0 {
  padding: 0 !important;
}

.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.p-1 {
  padding: 4px !important;
}

.px-1 {
  padding-left: 4px !important;
  padding-right: 4px !important;
}

.py-1 {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

.pt-1 {
  padding-top: 4px !important;
}

.pr-1 {
  padding-right: 4px !important;
}

.pb-1 {
  padding-bottom: 4px !important;
}

.pl-1 {
  padding-left: 4px !important;
}

.p-2 {
  padding: 8px !important;
}

.px-2 {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.py-2 {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.pt-2 {
  padding-top: 8px !important;
}

.pr-2 {
  padding-right: 8px !important;
}

.pb-2 {
  padding-bottom: 8px !important;
}

.pl-2 {
  padding-left: 8px !important;
}

.p-3 {
  padding: 12px !important;
}

.px-3 {
  padding-left: 12px !important;
  padding-right: 12px !important;
}

.py-3 {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.pt-3 {
  padding-top: 12px !important;
}

.pr-3 {
  padding-right: 12px !important;
}

.pb-3 {
  padding-bottom: 12px !important;
}

.pl-3 {
  padding-left: 12px !important;
}

.p-4 {
  padding: 16px !important;
}

.px-4 {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

.py-4 {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

.pt-4 {
  padding-top: 16px !important;
}

.pr-4 {
  padding-right: 16px !important;
}

.pb-4 {
  padding-bottom: 16px !important;
}

.pl-4 {
  padding-left: 16px !important;
}

.p-5 {
  padding: 24px !important;
}

.px-5 {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.py-5 {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.pt-5 {
  padding-top: 24px !important;
}

.pr-5 {
  padding-right: 24px !important;
}

.pb-5 {
  padding-bottom: 24px !important;
}

.pl-5 {
  padding-left: 24px !important;
}

.p-6 {
  padding: 32px !important;
}

.px-6 {
  padding-left: 32px !important;
  padding-right: 32px !important;
}

.py-6 {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}

.pt-6 {
  padding-top: 32px !important;
}

.pr-6 {
  padding-right: 32px !important;
}

.pb-6 {
  padding-bottom: 32px !important;
}

.pl-6 {
  padding-left: 32px !important;
}

.p-7 {
  padding: 48px !important;
}

.px-7 {
  padding-left: 48px !important;
  padding-right: 48px !important;
}

.py-7 {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}

.pt-7 {
  padding-top: 48px !important;
}

.pr-7 {
  padding-right: 48px !important;
}

.pb-7 {
  padding-bottom: 48px !important;
}

.pl-7 {
  padding-left: 48px !important;
}

.p-8 {
  padding: 64px !important;
}

.px-8 {
  padding-left: 64px !important;
  padding-right: 64px !important;
}

.py-8 {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

.pt-8 {
  padding-top: 64px !important;
}

.pr-8 {
  padding-right: 64px !important;
}

.pb-8 {
  padding-bottom: 64px !important;
}

.pl-8 {
  padding-left: 64px !important;
}

.p-9 {
  padding: 96px !important;
}

.px-9 {
  padding-left: 96px !important;
  padding-right: 96px !important;
}

.py-9 {
  padding-top: 96px !important;
  padding-bottom: 96px !important;
}

.pt-9 {
  padding-top: 96px !important;
}

.pr-9 {
  padding-right: 96px !important;
}

.pb-9 {
  padding-bottom: 96px !important;
}

.pl-9 {
  padding-left: 96px !important;
}

.p-10 {
  padding: 120px !important;
}

.px-10 {
  padding-left: 120px !important;
  padding-right: 120px !important;
}

.py-10 {
  padding-top: 120px !important;
  padding-bottom: 120px !important;
}

.pt-10 {
  padding-top: 120px !important;
}

.pr-10 {
  padding-right: 120px !important;
}

.pb-10 {
  padding-bottom: 120px !important;
}

.pl-10 {
  padding-left: 120px !important;
}

.section {
  padding-top: 64px;
  padding-bottom: 64px;
}

@media (max-width: 991px) {
  .section {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}
@media (max-width: 575px) {
  .section {
    padding-top: 32px;
    padding-bottom: 32px;
  }
}
.section--sm {
  padding-top: 32px;
  padding-bottom: 32px;
}

.section--lg {
  padding-top: 96px;
  padding-bottom: 96px;
}
@charset "UTF-8";
html {
  font-size: 16px;
}

:root {
  --font-xs: 0.75rem;
  --font-sm: 0.875rem;
  --font-md: 1rem;
  --font-lg: 1.125rem;
  --font-xl: 1.25rem;
  --font-2xl: 1.5rem;
  --font-3xl: 2rem;
  --font-4xl: 2.5rem;
  --font-5xl: 3.25rem;
  --font-6xl: 3rem;
  --font-7xl: 4.5rem;
  --font-size-xs: var(--font-xs);
  --font-size-sm: var(--font-sm);
  --font-size-base: var(--font-md);
  --font-size-lg: var(--font-lg);
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-heading: 'Georgia', serif;
  --font-ui: var(--font-body);
  --font-display: 'TradeGothic', 'Helvetica', sans-serif;
  --color-primary: #000000;
  --color-primary-dark: #1a1a1a;
  --color-primary-light: #333333;
  --color-secondary: #183541;
  --color-secondary-alt: #0f242b;
  --color-secondary-dark: #122a33;
  --color-accent: #bf2842;
  --color-accent-dark: #8b1f2f;
  --color-accent-light: #e8495f;
  --color-deep-teal: #183541;
  --color-deep-teal-alt: #0f242b;
  --color-deep-teal-dark: #122a33;
  --color-white: #ffffff;
  --color-black: #000000;
  --color-sand-soft: #f4f2f0;
  --color-gray-50: #f8f7f6;
  --color-gray-100: #f3f3f3;
  --color-gray-200: #e6e6e6;
  --color-gray-300: #d0d0d0;
  --color-gray-400: #999999;
  --color-gray-500: #666666;
  --color-gray-600: #333333;
  --color-gray-700: #111827;
  --color-text-secondary: #6b7280;
  --color-text-muted: #9ca3af;
  --color-border-muted: #e5e7eb;
  --color-border-ghost: #d1d5db;
  --color-surface-muted: #f3f4f6;
  --color-bg-light: #fbf8f2;
  --color-bg-warm: #e8e7e3;
  --color-bg-default: #ffffff;
  --color-bg-dark: #f3f3f3;
  --color-bg-panel: #f7f8f9;
  --color-overlay-soft: #0000000a;
  --color-hero-background: #f4f2ef;
  --color-success: #10b981;
  --color-warning: #f59e0b;
  --color-error: #ef4444;
  --color-error-light: #fecaca;
  --color-error-bg: #fff1f2;
  --color-error-dark: #991b1b;
  --color-error-text: #b91c1c;
  --color-info: #3b82f6;
  --space-xxs: 4px;
  --space-xs: 8px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 32px;
  --space-xl: 40px;
  --space-2xl: 48px;
  --space-3xl: 64px;
  --space-4xl: 80px;
  --space-5xl: 96px;
  --space-6xl: 160px;
  --property-sidebar-width: 22rem;
  --space-section: 20px;
  --space-compact: 12px;
  --space-micro: 10px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-soft: 10px;
  --radius-xl: 12px;
  --radius-panel: 20px;
  --radius-card: 5px;
  --radius-full: 9999px;
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
  --shadow-floating: 0 8px 30px rgba(0, 0, 0, 0.12);
  --shadow-none: none;
}

@media screen and (max-width: 767px) {
  :root {
    --font-xs: 0.675rem;
    --font-sm: 0.8rem;
    --font-md: 0.9rem;
    --font-lg: 1rem;
    --font-xl: 1.125rem;
    --font-2xl: 1.35rem;
    --font-3xl: 1.675rem;
    --font-4xl: 2rem;
    --font-5xl: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --space-xs: calc(8px * 0.6);
    --space-sm: calc(16px * 0.6);
    --space-md: calc(24px * 0.6);
    --space-lg: calc(32px * 0.6);
    --space-xl: calc(40px * 0.6);
    --space-2xl: calc(48px * 0.6);
    --space-3xl: calc(64px * 0.6);
    --space-4xl: calc(80px * 0.6);
    --space-5xl: calc(96px * 0.6);
    --space-6xl: calc(160px * 0.6);
  }
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

body {
  min-height: 100vh;
  line-height: 1.5;
}

h1, h2, h3, h4, h5, h6,
button, input, label {
  line-height: 1.1;
}

h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}

img,
picture,
video,
canvas,
svg {
  max-width: 100%;
  display: block;
}

input,
button,
textarea,
select {
  font: inherit;
}

button {
  background: none;
  border: none;
  cursor: pointer;
}

textarea:not([rows]) {
  min-height: 10em;
}

:target {
  scroll-margin-block: 5ex;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

legend {
  display: table;
  max-width: 100%;
  white-space: normal;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

body {
  font-family: var(--font-body);
  color: var(--color-gray-600);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-heading);
  color: var(--color-black);
  font-weight: 400;
  margin-top: 0;
  margin-bottom: var(--space-sm);
}

h1, .h1 {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 600;
  line-height: 1.2;
}

h2, .h2 {
  font-size: 28px;
  font-weight: 400;
  line-height: 1.3;
}

h3, .h3 {
  font-size: 28px;
  font-weight: 400;
  line-height: 1.4;
}

h4, .h4 {
  font-size: var(--font-2xl);
  font-weight: 500;
  line-height: 1.4;
}

h5, .h5 {
  font-size: var(--font-xl);
  font-weight: 500;
  line-height: 1.5;
}

h6, .h6 {
  font-size: var(--font-lg);
  font-weight: 500;
  line-height: 1.5;
}

.h1-lg {
  font-size: 62px;
}

.h1-md {
  font-size: 52px;
}

.h1-sm {
  font-size: 40px;
}

.h2-lg {
  font-size: 48px;
}

.h2-md {
  font-size: 40px;
}

.h2-sm {
  font-size: 32px;
}

.h3-lg {
  font-size: 40px;
}

.h3-md {
  font-size: 32px;
}

.h3-sm {
  font-size: 28px;
}

.h4-lg {
  font-size: 28px;
}

.h4-md {
  font-size: 24px;
}

.h4-sm {
  font-size: 20px;
}

.h5-lg {
  font-size: 20px;
}

.h5-md {
  font-size: 18px;
}

.h5-sm {
  font-size: 16px;
}

.h6-lg {
  font-size: 18px;
}

.h6-md {
  font-size: 16px;
}

.h6-sm {
  font-size: 14px;
}

.text-xs {
  font-size: var(--font-xs);
}

.text-sm {
  font-size: var(--font-sm);
}

.text-md {
  font-size: var(--font-md);
}

.text-lg {
  font-size: var(--font-lg);
}

.text-xl {
  font-size: var(--font-xl);
}

.text-2xl {
  font-size: var(--font-2xl);
}

.text-3xl {
  font-size: var(--font-3xl);
}

.text-4xl {
  font-size: var(--font-4xl);
}

.text-5xl {
  font-size: var(--font-5xl);
  line-height: 1.3;
}

.text-6xl {
  font-size: var(--font-6xl);
}

.text-7xl {
  font-size: var(--font-7xl);
}

.font-light {
  font-weight: 300;
}

.font-normal {
  font-weight: 400;
}

.font-medium {
  font-weight: 500;
}

.font-semibold {
  font-weight: 600;
}

.font-bold {
  font-weight: 700;
}

.font-family-body {
  font-family: var(--font-body);
}

.font-family-heading {
  font-family: var(--font-heading);
}

.font-family-display {
  font-family: var(--font-display);
}

.font-family-ui {
  font-family: var(--font-ui);
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.capitalize {
  text-transform: capitalize;
}

.normal-case {
  text-transform: none;
}

.tracking-tight {
  letter-spacing: -0.025em;
}

.tracking-normal {
  letter-spacing: normal;
}

.tracking-wide {
  letter-spacing: 0.12em;
}

.leading-none {
  line-height: 1;
}

.leading-tight {
  line-height: 1.25;
}

.leading-snug {
  line-height: 1.375;
}

.leading-normal {
  line-height: 1.5;
}

.leading-relaxed {
  line-height: 1.625;
}

.leading-loose {
  line-height: 2;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-justify {
  text-align: justify;
}

.text-primary {
  color: var(--color-primary);
}

.text-secondary {
  color: var(--color-secondary);
}

.text-accent {
  color: var(--color-accent);
}

.text-white {
  color: var(--color-white);
}

.text-dark {
  color: var(--color-black);
}

.text-gray-400 {
  color: var(--color-gray-400);
}

.text-gray-500 {
  color: var(--color-gray-500);
}

.text-gray-600 {
  color: var(--color-gray-600);
}

.text-success {
  color: var(--color-success);
}

.text-warning {
  color: var(--color-warning);
}

.text-error {
  color: var(--color-error);
}

.text-info {
  color: var(--color-info);
}

.underline {
  text-decoration: underline;
}

.line-through {
  text-decoration: line-through;
}

.no-underline {
  text-decoration: none;
}

.container {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--space-lg);
  padding-right: var(--space-lg);
}

@media screen and (max-width: 767px) {
  .container {
    padding-left: var(--space-md);
    padding-right: var(--space-md);
  }
}
.page-shell {
  width: 100%;
}

.page-shell--full-bleed {
  padding-left: 0;
  padding-right: 0;
}

.p-xs {
  padding: var(--space-xs);
}

.p-sm {
  padding: var(--space-sm);
}

.p-md {
  padding: var(--space-md);
}

.p-lg {
  padding: var(--space-lg);
}

.p-xl {
  padding: var(--space-xl);
}

.p-2xl {
  padding: var(--space-2xl);
}

.p-3xl {
  padding: var(--space-3xl);
}

.p-4xl {
  padding: var(--space-4xl);
}

.p-5xl {
  padding: var(--space-5xl);
}

.p-6xl {
  padding: var(--space-6xl);
}

.pt-xs {
  padding-top: var(--space-xs);
}

.pt-sm {
  padding-top: var(--space-sm);
}

.pt-md {
  padding-top: var(--space-md);
}

.pt-lg {
  padding-top: var(--space-lg);
}

.pt-xl {
  padding-top: var(--space-xl);
}

.pt-2xl {
  padding-top: var(--space-2xl);
}

.pt-3xl {
  padding-top: var(--space-3xl);
}

.pt-4xl {
  padding-top: var(--space-4xl);
}

.pt-5xl {
  padding-top: var(--space-5xl);
}

.pt-6xl {
  padding-top: var(--space-6xl);
}

.pr-xs {
  padding-right: var(--space-xs);
}

.pr-sm {
  padding-right: var(--space-sm);
}

.pr-md {
  padding-right: var(--space-md);
}

.pr-lg {
  padding-right: var(--space-lg);
}

.pr-xl {
  padding-right: var(--space-xl);
}

.pr-2xl {
  padding-right: var(--space-2xl);
}

.pr-3xl {
  padding-right: var(--space-3xl);
}

.pr-4xl {
  padding-right: var(--space-4xl);
}

.pr-5xl {
  padding-right: var(--space-5xl);
}

.pr-6xl {
  padding-right: var(--space-6xl);
}

.pb-xs {
  padding-bottom: var(--space-xs);
}

.pb-sm {
  padding-bottom: var(--space-sm);
}

.pb-md {
  padding-bottom: var(--space-md);
}

.pb-lg {
  padding-bottom: var(--space-lg);
}

.pb-xl {
  padding-bottom: var(--space-xl);
}

.pb-2xl {
  padding-bottom: var(--space-2xl);
}

.pb-3xl {
  padding-bottom: var(--space-3xl);
}

.pb-4xl {
  padding-bottom: var(--space-4xl);
}

.pb-5xl {
  padding-bottom: var(--space-5xl);
}

.pb-6xl {
  padding-bottom: var(--space-6xl);
}

.pl-xs {
  padding-left: var(--space-xs);
}

.pl-sm {
  padding-left: var(--space-sm);
}

.pl-md {
  padding-left: var(--space-md);
}

.pl-lg {
  padding-left: var(--space-lg);
}

.pl-xl {
  padding-left: var(--space-xl);
}

.pl-2xl {
  padding-left: var(--space-2xl);
}

.pl-3xl {
  padding-left: var(--space-3xl);
}

.pl-4xl {
  padding-left: var(--space-4xl);
}

.pl-5xl {
  padding-left: var(--space-5xl);
}

.pl-6xl {
  padding-left: var(--space-6xl);
}

.px-xs {
  padding-left: var(--space-xs);
  padding-right: var(--space-xs);
}

.px-sm {
  padding-left: var(--space-sm);
  padding-right: var(--space-sm);
}

.px-md {
  padding-left: var(--space-md);
  padding-right: var(--space-md);
}

.px-lg {
  padding-left: var(--space-lg);
  padding-right: var(--space-lg);
}

.px-xl {
  padding-left: var(--space-xl);
  padding-right: var(--space-xl);
}

.px-2xl {
  padding-left: var(--space-2xl);
  padding-right: var(--space-2xl);
}

.px-3xl {
  padding-left: var(--space-3xl);
  padding-right: var(--space-3xl);
}

.px-4xl {
  padding-left: var(--space-4xl);
  padding-right: var(--space-4xl);
}

.px-5xl {
  padding-left: var(--space-5xl);
  padding-right: var(--space-5xl);
}

.px-6xl {
  padding-left: var(--space-6xl);
  padding-right: var(--space-6xl);
}

.py-xs {
  padding-top: var(--space-xs);
  padding-bottom: var(--space-xs);
}

.py-sm {
  padding-top: var(--space-sm);
  padding-bottom: var(--space-sm);
}

.py-md {
  padding-top: var(--space-md);
  padding-bottom: var(--space-md);
}

.py-lg {
  padding-top: var(--space-lg);
  padding-bottom: var(--space-lg);
}

.py-xl {
  padding-top: var(--space-xl);
  padding-bottom: var(--space-xl);
}

.py-2xl {
  padding-top: var(--space-2xl);
  padding-bottom: var(--space-2xl);
}

.py-3xl {
  padding-top: var(--space-3xl);
  padding-bottom: var(--space-3xl);
}

.py-4xl {
  padding-top: var(--space-4xl);
  padding-bottom: var(--space-4xl);
}

.py-5xl {
  padding-top: var(--space-5xl);
  padding-bottom: var(--space-5xl);
}

.py-6xl {
  padding-top: var(--space-6xl);
  padding-bottom: var(--space-6xl);
}

.m-xs {
  margin: var(--space-xs);
}

.m-sm {
  margin: var(--space-sm);
}

.m-md {
  margin: var(--space-md);
}

.m-lg {
  margin: var(--space-lg);
}

.m-xl {
  margin: var(--space-xl);
}

.m-2xl {
  margin: var(--space-2xl);
}

.m-3xl {
  margin: var(--space-3xl);
}

.m-4xl {
  margin: var(--space-4xl);
}

.m-5xl {
  margin: var(--space-5xl);
}

.m-6xl {
  margin: var(--space-6xl);
}

.m-auto {
  margin: auto;
}

.mt-xs {
  margin-top: var(--space-xs);
}

.mt-sm {
  margin-top: var(--space-sm);
}

.mt-md {
  margin-top: var(--space-md);
}

.mt-lg {
  margin-top: var(--space-lg);
}

.mt-xl {
  margin-top: var(--space-xl);
}

.mt-2xl {
  margin-top: var(--space-2xl);
}

.mt-3xl {
  margin-top: var(--space-3xl);
}

.mt-4xl {
  margin-top: var(--space-4xl);
}

.mt-5xl {
  margin-top: var(--space-5xl);
}

.mt-6xl {
  margin-top: var(--space-6xl);
}

.mt-auto {
  margin-top: auto;
}

.mr-xs {
  margin-right: var(--space-xs);
}

.mr-sm {
  margin-right: var(--space-sm);
}

.mr-md {
  margin-right: var(--space-md);
}

.mr-lg {
  margin-right: var(--space-lg);
}

.mr-xl {
  margin-right: var(--space-xl);
}

.mr-2xl {
  margin-right: var(--space-2xl);
}

.mr-3xl {
  margin-right: var(--space-3xl);
}

.mr-4xl {
  margin-right: var(--space-4xl);
}

.mr-5xl {
  margin-right: var(--space-5xl);
}

.mr-6xl {
  margin-right: var(--space-6xl);
}

.mr-auto {
  margin-right: auto;
}

.mb-xs {
  margin-bottom: var(--space-xs);
}

.mb-sm {
  margin-bottom: var(--space-sm);
}

.mb-md {
  margin-bottom: var(--space-md);
}

.mb-lg {
  margin-bottom: var(--space-lg);
}

.mb-xl {
  margin-bottom: var(--space-xl);
}

.mb-2xl {
  margin-bottom: var(--space-2xl);
}

.mb-3xl {
  margin-bottom: var(--space-3xl);
}

.mb-4xl {
  margin-bottom: var(--space-4xl);
}

.mb-5xl {
  margin-bottom: var(--space-5xl);
}

.mb-6xl {
  margin-bottom: var(--space-6xl);
}

.mb-auto {
  margin-bottom: auto;
}

.ml-xs {
  margin-left: var(--space-xs);
}

.ml-sm {
  margin-left: var(--space-sm);
}

.ml-md {
  margin-left: var(--space-md);
}

.ml-lg {
  margin-left: var(--space-lg);
}

.ml-xl {
  margin-left: var(--space-xl);
}

.ml-2xl {
  margin-left: var(--space-2xl);
}

.ml-3xl {
  margin-left: var(--space-3xl);
}

.ml-4xl {
  margin-left: var(--space-4xl);
}

.ml-5xl {
  margin-left: var(--space-5xl);
}

.ml-6xl {
  margin-left: var(--space-6xl);
}

.ml-auto {
  margin-left: auto;
}

.mx-xs {
  margin-left: var(--space-xs);
  margin-right: var(--space-xs);
}

.mx-sm {
  margin-left: var(--space-sm);
  margin-right: var(--space-sm);
}

.mx-md {
  margin-left: var(--space-md);
  margin-right: var(--space-md);
}

.mx-lg {
  margin-left: var(--space-lg);
  margin-right: var(--space-lg);
}

.mx-xl {
  margin-left: var(--space-xl);
  margin-right: var(--space-xl);
}

.mx-2xl {
  margin-left: var(--space-2xl);
  margin-right: var(--space-2xl);
}

.mx-3xl {
  margin-left: var(--space-3xl);
  margin-right: var(--space-3xl);
}

.mx-4xl {
  margin-left: var(--space-4xl);
  margin-right: var(--space-4xl);
}

.mx-5xl {
  margin-left: var(--space-5xl);
  margin-right: var(--space-5xl);
}

.mx-6xl {
  margin-left: var(--space-6xl);
  margin-right: var(--space-6xl);
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.my-xs {
  margin-top: var(--space-xs);
  margin-bottom: var(--space-xs);
}

.my-sm {
  margin-top: var(--space-sm);
  margin-bottom: var(--space-sm);
}

.my-md {
  margin-top: var(--space-md);
  margin-bottom: var(--space-md);
}

.my-lg {
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
}

.my-xl {
  margin-top: var(--space-xl);
  margin-bottom: var(--space-xl);
}

.my-2xl {
  margin-top: var(--space-2xl);
  margin-bottom: var(--space-2xl);
}

.my-3xl {
  margin-top: var(--space-3xl);
  margin-bottom: var(--space-3xl);
}

.my-4xl {
  margin-top: var(--space-4xl);
  margin-bottom: var(--space-4xl);
}

.my-5xl {
  margin-top: var(--space-5xl);
  margin-bottom: var(--space-5xl);
}

.my-6xl {
  margin-top: var(--space-6xl);
  margin-bottom: var(--space-6xl);
}

.my-auto {
  margin-top: auto;
  margin-bottom: auto;
}

.d-block {
  display: block;
}

.d-inline {
  display: inline;
}

.d-inline-block {
  display: inline-block;
}

.d-flex {
  display: flex;
}

.d-inline-flex {
  display: inline-flex;
}

.d-grid {
  display: grid;
}

.d-none {
  display: none;
}

@media screen and (min-width: 576px) {
  .d-sm-block {
    display: block;
  }
  .d-sm-none {
    display: none;
  }
  .d-sm-flex {
    display: flex;
  }
  .d-sm-grid {
    display: grid;
  }
}
@media screen and (min-width: 768px) {
  .d-md-block {
    display: block;
  }
  .d-md-none {
    display: none;
  }
  .d-md-flex {
    display: flex;
  }
  .d-md-grid {
    display: grid;
  }
}
@media screen and (min-width: 1024px) {
  .d-lg-block {
    display: block;
  }
  .d-lg-none {
    display: none;
  }
  .d-lg-flex {
    display: flex;
  }
  .d-lg-grid {
    display: grid;
  }
}
@media screen and (min-width: 1280px) {
  .d-xl-block {
    display: block;
  }
  .d-xl-none {
    display: none;
  }
  .d-xl-flex {
    display: flex;
  }
  .d-xl-grid {
    display: grid;
  }
}
.flex-row {
  flex-direction: row;
}

.flex-row-reverse {
  flex-direction: row-reverse;
}

.flex-col {
  flex-direction: column;
}

.flex-column {
  flex-direction: column;
}

.flex-col-reverse {
  flex-direction: column-reverse;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-nowrap {
  flex-wrap: nowrap;
}

.justify-start {
  justify-content: flex-start;
}

.justify-center {
  justify-content: center;
}

.justify-end {
  justify-content: flex-end;
}

.justify-between {
  justify-content: space-between;
}

.justify-around {
  justify-content: space-around;
}

.justify-evenly {
  justify-content: space-evenly;
}

.justify-content-start {
  justify-content: flex-start;
}

.justify-content-center {
  justify-content: center;
}

.justify-content-end {
  justify-content: flex-end;
}

.justify-content-between {
  justify-content: space-between;
}

.justify-content-around {
  justify-content: space-around;
}

.items-start {
  align-items: flex-start;
}

.items-center {
  align-items: center;
}

.items-end {
  align-items: flex-end;
}

.items-stretch {
  align-items: stretch;
}

.items-baseline {
  align-items: baseline;
}

.align-items-start {
  align-items: flex-start;
}

.align-items-center {
  align-items: center;
}

.align-items-end {
  align-items: flex-end;
}

.align-items-stretch {
  align-items: stretch;
}

.self-start {
  align-self: flex-start;
}

.self-center {
  align-self: center;
}

.self-end {
  align-self: flex-end;
}

.self-stretch {
  align-self: stretch;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.flex-start {
  display: flex;
  align-items: flex-start;
}

.flex-end {
  display: flex;
  align-items: flex-end;
}

.flex-1 {
  flex: 1 1 0%;
}

.flex-auto {
  flex: 1 1 auto;
}

.flex-none {
  flex: none;
}

.flex-grow {
  flex-grow: 1;
}

.flex-grow-0 {
  flex-grow: 0;
}

.flex-shrink {
  flex-shrink: 1;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.flex-basis-300 {
  flex: 1 1 300px;
}

@media screen and (min-width: 768px) {
  .flex-md-row {
    flex-direction: row;
  }
  .flex-md-column {
    flex-direction: column;
  }
}
@media screen and (min-width: 1024px) {
  .flex-lg-row {
    flex-direction: row;
  }
  .flex-lg-column {
    flex-direction: column;
  }
}
.gap-xs {
  gap: var(--space-xs);
}

.gap-sm {
  gap: var(--space-sm);
}

.gap-md {
  gap: var(--space-md);
}

.gap-lg {
  gap: var(--space-lg);
}

.gap-xl {
  gap: var(--space-xl);
}

.gap-2xl {
  gap: var(--space-2xl);
}

.gap-3xl {
  gap: var(--space-3xl);
}

.gap-4xl {
  gap: var(--space-4xl);
}

.row-gap-xs {
  row-gap: var(--space-xs);
}

.row-gap-sm {
  row-gap: var(--space-sm);
}

.row-gap-md {
  row-gap: var(--space-md);
}

.row-gap-lg {
  row-gap: var(--space-lg);
}

.row-gap-xl {
  row-gap: var(--space-xl);
}

.row-gap-2xl {
  row-gap: var(--space-2xl);
}

.row-gap-3xl {
  row-gap: var(--space-3xl);
}

.row-gap-4xl {
  row-gap: var(--space-4xl);
}

.col-gap-xs {
  column-gap: var(--space-xs);
}

.col-gap-sm {
  column-gap: var(--space-sm);
}

.col-gap-md {
  column-gap: var(--space-md);
}

.col-gap-lg {
  column-gap: var(--space-lg);
}

.col-gap-xl {
  column-gap: var(--space-xl);
}

.w-full {
  width: 100%;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto;
}

.h-full {
  height: 100%;
}

.h-100 {
  height: 100%;
}

.h-auto {
  height: auto;
}

.min-h-screen {
  min-height: 100vh;
}

.max-w-full {
  max-width: 100%;
}

.mw-100 {
  max-width: 100%;
}

.max-w-lg {
  max-width: 640px;
}

.max-w-xl {
  max-width: 720px;
}

.max-w-2xl {
  max-width: 768px;
}

.measure-md {
  max-width: 40rem;
}

.measure-lg {
  max-width: 45rem;
}

.max-height-500 {
  max-height: 500px;
}

.h-20 {
  height: 80px;
}

.h-24 {
  height: 96px;
}

.h-40 {
  height: 160px;
}

.bg-white {
  background-color: var(--color-white);
}

.bg-black {
  background-color: var(--color-black);
}

.bg-light {
  background-color: #f8f3ef;
}

.bg-darken {
  background-color: rgba(0, 0, 0, 0.04);
}

.bg-darken-01 {
  background-color: rgba(0, 0, 0, 0.04);
}

.bg-darken-02 {
  background-color: rgba(0, 0, 0, 0.08);
}

.bg-primary {
  background-color: var(--color-primary);
}

.bg-primary-light {
  background-color: var(--color-primary-light);
}

.bg-primary-dark {
  background-color: var(--color-primary-dark);
}

.bg-secondary {
  background-color: var(--color-secondary);
}

.bg-secondary-alt {
  background-color: var(--color-secondary-alt);
}

.bg-accent {
  background-color: var(--color-accent);
}

.bg-accent-light {
  background-color: var(--color-accent-light);
}

.bg-sand-soft {
  background-color: var(--color-sand-soft);
}

.bg-gray-50 {
  background-color: var(--color-gray-50);
}

.bg-gray-100 {
  background-color: var(--color-gray-100);
}

.bg-gray-200 {
  background-color: var(--color-gray-200);
}

.bg-gray-400 {
  background-color: var(--color-gray-400);
}

.bg-gray-600 {
  background-color: var(--color-gray-600);
}

.bg-deep-teal {
  background-color: var(--color-deep-teal);
}

.bg-deep-teal-alt {
  background-color: var(--color-deep-teal-alt);
}

.bg-deep-teal-dark {
  background-color: var(--color-deep-teal-dark);
}

.bg-transparent {
  background-color: transparent;
}

.border {
  border: 1px solid var(--color-gray-200);
}

.border-light-grey {
  border: 1px solid var(--color-gray-200) !important;
}

.border-top {
  border-top: 1px solid var(--color-gray-200);
}

.border-right {
  border-right: 1px solid var(--color-gray-200);
}

.border-bottom {
  border-bottom: 1px solid var(--color-gray-200);
}

.border-left {
  border-left: 1px solid var(--color-gray-200);
}

.border-none {
  border: none;
}

.rounded {
  border-radius: var(--radius-sm);
}

.rounded-sm {
  border-radius: 2px;
}

.rounded-md {
  border-radius: var(--radius-md);
}

.rounded-lg {
  border-radius: var(--radius-lg);
}

.rounded-xl {
  border-radius: var(--radius-xl);
}

.rounded-full {
  border-radius: var(--radius-full);
}

.rounded-none {
  border-radius: 0;
}

.shadow-sm {
  box-shadow: var(--shadow-sm);
}

.shadow {
  box-shadow: var(--shadow-md);
}

.shadow-md {
  box-shadow: var(--shadow-md);
}

.shadow-lg {
  box-shadow: var(--shadow-lg);
}

.shadow-xl {
  box-shadow: var(--shadow-xl);
}

.shadow-none {
  box-shadow: none;
}

.box-shadow {
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.06);
}

.box-shadow-md {
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.06);
}

.box-shadow-lg {
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.06);
}

.position-relative {
  position: relative;
}

.position-absolute {
  position: absolute;
}

.position-fixed {
  position: fixed;
}

.position-sticky {
  position: sticky;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.fixed {
  position: fixed;
}

.sticky {
  position: sticky;
}

.inset-0 {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.top-0 {
  top: 0;
}

.right-0 {
  right: 0;
}

.bottom-0 {
  bottom: 0;
}

.left-0 {
  left: 0;
}

.z-0 {
  z-index: 0;
}

.z-10 {
  z-index: 10;
}

.z-20 {
  z-index: 20;
}

.z-30 {
  z-index: 30;
}

.z-40 {
  z-index: 40;
}

.z-50 {
  z-index: 50;
}

.overflow-auto {
  overflow: auto;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-visible {
  overflow: visible;
}

.overflow-scroll {
  overflow: scroll;
}

.overflow-x-auto {
  overflow-x: auto;
}

.overflow-y-auto {
  overflow-y: auto;
}

.overflow-x-hidden {
  overflow-x: hidden;
}

.overflow-y-hidden {
  overflow-y: hidden;
}

.object-cover {
  object-fit: cover;
}

.object-contain {
  object-fit: contain;
}

.object-fill {
  object-fit: fill;
}

.object-none {
  object-fit: none;
}

.object-fit-cover {
  object-fit: cover;
}

.object-fit-top {
  object-position: top;
}

.object-fit-bottom {
  object-position: bottom;
}

.object-fit-left {
  object-position: left;
}

.object-fit-right {
  object-position: right;
}

.object-center {
  object-position: center;
}

.object-top {
  object-position: top;
}

.object-bottom {
  object-position: bottom;
}

.opacity-0 {
  opacity: 0;
}

.opacity-20 {
  opacity: 0.2;
}

.opacity-25 {
  opacity: 0.25;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-75 {
  opacity: 0.75;
}

.opacity-100 {
  opacity: 1;
}

.cursor-pointer {
  cursor: pointer;
}

.cursor-default {
  cursor: default;
}

.cursor-not-allowed {
  cursor: not-allowed;
}

.list-unstyled {
  list-style: none;
  padding: 0;
  margin: 0;
}

.list-disc {
  list-style-type: disc;
}

.list-decimal {
  list-style-type: decimal;
}

.list-none {
  list-style-type: none;
}

.transition {
  transition: all 0.3s ease;
}

.transition-all {
  transition: all 0.3s ease;
}

.transition-fast {
  transition: all 0.15s ease;
}

.transition-slow {
  transition: all 0.5s ease;
}

.transition-none {
  transition: none;
}

.hover-scale:hover {
  transform: scale(1.02);
}

.hover-lift:hover {
  transform: translateY(-2px);
}

.hover-opacity:hover {
  opacity: 0.8;
}

.hover-bg-gray-50:hover {
  background-color: var(--color-gray-50);
}

.rotate-45 {
  transform: rotate(45deg);
}

.rotate-90 {
  transform: rotate(90deg);
}

.rotate-180 {
  transform: rotate(180deg);
}

.rotate-270 {
  transform: rotate(270deg);
}

.-rotate-45 {
  transform: rotate(-45deg);
}

.-rotate-90 {
  transform: rotate(-90deg);
}

.scale-100 {
  transform: scale(1);
}

.scale-105 {
  transform: scale(1.05);
}

.scale-110 {
  transform: scale(1.1);
}

.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

.pointer-events-none {
  pointer-events: none;
}

.pointer-events-auto {
  pointer-events: auto;
}

.select-none {
  user-select: none;
}

.select-text {
  user-select: text;
}

.select-all {
  user-select: all;
}

.border-collapse {
  border-collapse: collapse;
}

.spacing-viz {
  background: repeating-linear-gradient(45deg, #fbf8f2, #fbf8f2 10px, #ffffff 10px, #ffffff 20px);
}

.spacing-viz--80 {
  height: 80px;
}

.spacing-viz--96 {
  height: 96px;
}

.spacing-viz--160 {
  height: 160px;
}

.section {
  padding-top: var(--space-5xl);
  padding-bottom: var(--space-5xl);
}
.section--compact {
  padding-top: var(--space-4xl);
  padding-bottom: var(--space-4xl);
}
.section--spacious {
  padding-top: var(--space-6xl);
  padding-bottom: var(--space-6xl);
}
.section--flush {
  padding-top: 0;
  padding-bottom: 0;
}

@media (max-width: 1024px) {
  .section {
    padding-top: var(--space-4xl);
    padding-bottom: var(--space-4xl);
  }
  .section--compact {
    padding-top: var(--space-3xl);
    padding-bottom: var(--space-3xl);
  }
  .section--spacious {
    padding-top: var(--space-5xl);
    padding-bottom: var(--space-5xl);
  }
}
@media (max-width: 768px) {
  .section {
    padding-top: var(--space-3xl);
    padding-bottom: var(--space-3xl);
  }
  .section--compact {
    padding-top: var(--space-3xl);
    padding-bottom: var(--space-3xl);
  }
  .section--spacious {
    padding-top: var(--space-4xl);
    padding-bottom: var(--space-4xl);
  }
}
.surface {
  padding: var(--space-2xl);
  background-color: var(--color-white);
  border-radius: var(--radius-lg);
}
.surface--compact {
  padding: var(--space-xl);
}
.surface--spacious {
  padding: var(--space-3xl);
}
.surface--flush {
  padding: 0;
}
.surface--bordered {
  border: 1px solid var(--color-gray-200);
}
.surface--elevated {
  box-shadow: var(--shadow-md);
}

.stack-xxs {
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
}

.stack-xs {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.stack-sm {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.stack-md {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.stack-lg {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.stack-xl {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

.stack-2xl {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xl);
}

.stack-3xl {
  display: flex;
  flex-direction: column;
  gap: var(--space-3xl);
}

.cluster-xs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

.cluster-sm {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.cluster-md {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
}

.cluster-lg {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-lg);
}

.full-bleed {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
}

.container {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--space-lg);
  padding-right: var(--space-lg);
}
.container--narrow {
  max-width: 720px;
}
.container--medium {
  max-width: 960px;
}
.container--wide {
  max-width: 1200px;
}
.container--full {
  max-width: none;
}

@media screen and (max-width: 767px) {
  .container {
    padding-left: var(--space-md);
    padding-right: var(--space-md);
  }
}
.page-shell {
  width: 100%;
}

.page-shell--full-bleed {
  padding-left: 0;
  padding-right: 0;
}

.section-title {
  margin-bottom: 40px;
}
.section-title .section-tagline {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #000000;
  margin-bottom: 16px;
  display: block;
}
.section-title h2 {
  font-family: var(--font-heading);
  font-size: 40px;
  line-height: 1.3;
  font-weight: 400;
  color: #000000;
  margin-bottom: 16px;
  margin-top: 0;
}
@media (max-width: 768px) {
  .section-title h2 {
    font-size: 32px;
  }
}
.section-title .section-subtitle {
  font-family: var(--font-body);
  font-size: 18px;
  color: #000000;
  margin: 0;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(var(--space-md) * -0.5);
  margin-right: calc(var(--space-md) * -0.5);
}
.row--no-gutters {
  margin-left: 0;
  margin-right: 0;
}
.row--no-gutters > [class*=col] {
  padding-left: 0;
  padding-right: 0;
}
.row--center {
  justify-content: center;
}
.row--between {
  justify-content: space-between;
}
.row--end {
  justify-content: flex-end;
}
.row--middle {
  align-items: center;
}
.row--top {
  align-items: flex-start;
}
.row--bottom {
  align-items: flex-end;
}
.row--reverse {
  flex-direction: row-reverse;
}

[class^=col-],
[class*=" col-"],
.col {
  padding-left: calc(var(--space-md) * 0.5);
  padding-right: calc(var(--space-md) * 0.5);
  width: 100%;
}

.col {
  flex: 1 0 0%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.333333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.666667%;
}

.col-3 {
  flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  flex: 0 0 auto;
  width: 33.333333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.666667%;
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  flex: 0 0 auto;
  width: 58.333333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.666667%;
}

.col-9 {
  flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  flex: 0 0 auto;
  width: 83.333333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.666667%;
}

.col-12 {
  flex: 0 0 auto;
  width: 100%;
}

@media screen and (min-width: 576px) {
  .col-sm {
    flex: 1 0 0%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .col-md {
    flex: 1 0 0%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .col-lg {
    flex: 1 0 0%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
}
@media screen and (min-width: 1280px) {
  .col-xl {
    flex: 1 0 0%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
}
[class*=grid-cols-],
.grid {
  display: grid;
}

.grid-cols-1 {
  grid-template-columns: 1fr;
}

.grid-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

.grid-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}

.grid-cols-4 {
  grid-template-columns: repeat(4, 1fr);
}

.grid-cols-5 {
  grid-template-columns: repeat(5, 1fr);
}

.grid-cols-6 {
  grid-template-columns: repeat(6, 1fr);
}

.grid-cols-7 {
  grid-template-columns: repeat(7, 1fr);
}

.grid-cols-8 {
  grid-template-columns: repeat(8, 1fr);
}

.grid-cols-9 {
  grid-template-columns: repeat(9, 1fr);
}

.grid-cols-10 {
  grid-template-columns: repeat(10, 1fr);
}

.grid-cols-11 {
  grid-template-columns: repeat(11, 1fr);
}

.grid-cols-12 {
  grid-template-columns: repeat(12, 1fr);
}

.col-span-1 {
  grid-column: span 1/span 1;
}

.col-span-2 {
  grid-column: span 2/span 2;
}

.col-span-3 {
  grid-column: span 3/span 3;
}

.col-span-4 {
  grid-column: span 4/span 4;
}

.col-span-5 {
  grid-column: span 5/span 5;
}

.col-span-6 {
  grid-column: span 6/span 6;
}

.col-span-7 {
  grid-column: span 7/span 7;
}

.col-span-8 {
  grid-column: span 8/span 8;
}

.col-span-9 {
  grid-column: span 9/span 9;
}

.col-span-10 {
  grid-column: span 10/span 10;
}

.col-span-11 {
  grid-column: span 11/span 11;
}

.col-span-12 {
  grid-column: span 12/span 12;
}

.col-span-full {
  grid-column: 1/-1;
}

@media screen and (max-width: 1023px) {
  .grid-cols-lg-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-cols-lg-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-cols-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-cols-5 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-cols-6 {
    grid-template-columns: repeat(3, 1fr);
  }
  .col-span-12, .col-span-11, .col-span-10, .col-span-9, .col-span-8 {
    grid-column: span 12/span 12;
  }
}
@media screen and (max-width: 767px) {
  .grid-cols-2 {
    grid-template-columns: 1fr;
  }
  .grid-cols-3 {
    grid-template-columns: 1fr;
  }
  .grid-cols-4 {
    grid-template-columns: 1fr;
  }
  .grid-cols-5 {
    grid-template-columns: 1fr;
  }
  .grid-cols-6 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-cols-12 {
    grid-template-columns: 1fr;
  }
  .grid-cols-lg-2 {
    grid-template-columns: 1fr;
  }
  .grid-cols-lg-3 {
    grid-template-columns: 1fr;
  }
  [class*=col-span-] {
    grid-column: span 1/-1;
  }
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-compact);
  padding: 10px 24px;
  border-radius: var(--radius-md);
  font-family: var(--font-display);
  font-size: var(--font-md);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
}
.btn:hover {
  opacity: 0.9;
}
.btn:active {
  transform: scale(0.98);
}
.btn:disabled, .btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.btn:focus-visible {
  opacity: 0.85;
}

.btn-primary {
  background-color: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}
.btn-primary:hover {
  background-color: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
}

.btn-secondary {
  background-color: rgba(0, 0, 0, 0.05);
  color: var(--color-black);
  border-color: transparent;
}
.btn-secondary:hover {
  background-color: rgba(0, 0, 0, 0.1);
}

.btn-outline {
  background-color: transparent;
  color: var(--color-primary);
  border-color: var(--color-primary);
}
.btn-outline:hover {
  background-color: var(--color-primary);
  color: var(--color-white);
}

.btn-accent {
  background-color: var(--color-accent);
  color: var(--color-white);
  border-color: var(--color-accent);
}
.btn-accent:hover {
  background-color: var(--color-accent-dark);
  border-color: var(--color-accent-dark);
}

.btn-ghost {
  background-color: transparent;
  color: var(--color-gray-600);
  border-color: transparent;
}
.btn-ghost:hover {
  background-color: var(--color-gray-100);
}

.btn-link {
  background-color: transparent;
  color: var(--color-accent);
  border-color: transparent;
  padding-left: 0;
  padding-right: 0;
}
.btn-link:hover {
  text-decoration: underline;
}

.btn-warning {
  background-color: transparent;
  color: var(--color-warning);
  border-color: var(--color-warning);
}
.btn-warning:hover {
  background-color: var(--color-warning);
  color: var(--color-white);
}

.btn-error,
.btn-danger {
  background-color: transparent;
  color: var(--color-error);
  border-color: var(--color-error);
}
.btn-error:hover,
.btn-danger:hover {
  background-color: var(--color-error);
  color: var(--color-white);
}

.btn-success {
  background-color: var(--color-success);
  color: var(--color-white);
  border-color: var(--color-success);
}
.btn-success:hover {
  opacity: 0.85;
}

.btn-xs {
  padding: 4px 12px;
  font-size: var(--font-xs);
}

.btn-sm {
  padding: 6px 16px;
  font-size: var(--font-sm);
}

.btn-lg {
  padding: 14px 32px;
  font-size: var(--font-lg);
}

.btn-xl {
  padding: 18px 40px;
  font-size: var(--font-xl);
}

.btn-block {
  width: 100%;
}

.btn-icon {
  padding: 10px;
  aspect-ratio: 1;
}
.btn-icon.btn-sm {
  padding: 6px;
}
.btn-icon.btn-lg {
  padding: 14px;
}

.btn-with-icon {
  gap: var(--space-xs);
}
.btn-with-icon svg, .btn-with-icon .icon {
  width: 1em;
  height: 1em;
  flex-shrink: 0;
}

.button-with-icon__icon {
  margin-right: var(--space-xs);
}

.btn-pill {
  border-radius: var(--radius-full);
}

.btn-group {
  display: inline-flex;
}
.btn-group .btn {
  border-radius: 0;
}
.btn-group .btn:first-child {
  border-top-left-radius: var(--radius-md);
  border-bottom-left-radius: var(--radius-md);
}
.btn-group .btn:last-child {
  border-top-right-radius: var(--radius-md);
  border-bottom-right-radius: var(--radius-md);
}
.btn-group .btn:not(:last-child) {
  border-right-width: 0;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0;
  background-color: transparent;
}
.breadcrumb-item {
  display: inline-flex;
  align-items: center;
  font-size: var(--font-sm);
  color: var(--color-gray-600);
  line-height: 1.5;
}
.breadcrumb-item a {
  color: var(--color-gray-600);
  text-decoration: none;
  transition: color 0.2s ease;
  display: inline-flex;
  align-items: center;
}
.breadcrumb-item a:hover {
  color: var(--color-primary);
}
.breadcrumb-item.active {
  color: var(--color-gray-600);
  font-weight: 500;
}
.breadcrumb-item:first-child a {
  color: var(--color-accent);
}
.breadcrumb-item:first-child a:hover {
  color: var(--color-accent);
  opacity: 0.8;
}
.breadcrumb-item:not(:last-child)::after {
  content: "/";
  margin: 0 var(--space-sm);
  color: var(--color-gray-400);
  font-size: 0.8em;
  opacity: 0.5;
}

.breadcrumb--chevron .breadcrumb-item:not(:last-child)::after {
  content: "›";
  font-size: 1.2em;
  opacity: 0.6;
}

.breadcrumb--arrow .breadcrumb-item:not(:last-child)::after {
  content: "→";
  font-size: 0.9em;
  opacity: 0.6;
}

.form-group {
  margin-bottom: var(--space-xs);
}
.form-group label {
  display: block;
  margin-bottom: var(--space-xs);
  font-family: var(--font-body);
  font-size: var(--font-sm);
  font-weight: 400;
  color: var(--color-gray-600);
}

.input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.form-input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  background-color: var(--color-white);
  font-family: var(--font-body);
  font-size: var(--font-md);
  line-height: 1.5;
  color: var(--color-gray-600);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.form-input::placeholder {
  color: var(--color-gray-400);
}
.form-input:focus {
  outline: none;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.1);
}
.form-input.has-icon-left {
  padding-left: 44px;
}
.form-input.has-icon-right {
  padding-right: 44px;
}
.form-input.error {
  border-color: var(--color-error);
}
.form-input.error:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

textarea.form-input {
  min-height: 120px;
  resize: vertical;
}

select.form-input {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  padding-right: 40px;
}

.input-icon {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: var(--color-gray-500);
  pointer-events: none;
}
.input-icon.left {
  left: 12px;
}
.input-icon.right {
  right: 12px;
}

.form-hint {
  margin-top: var(--space-xs);
  font-size: var(--font-sm);
  color: var(--color-gray-500);
  font-family: var(--font-body);
}

.form-error {
  margin-top: var(--space-xs);
  font-size: var(--font-sm);
  color: var(--color-error);
  font-family: var(--font-body);
}

.toggle-switch {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}
.toggle-switch input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.toggle-switch .toggle-slider {
  position: relative;
  width: 44px;
  height: 24px;
  background-color: var(--color-gray-200);
  border-radius: var(--radius-full);
  transition: 0.2s;
}
.toggle-switch .toggle-slider:before {
  content: "";
  position: absolute;
  height: 20px;
  width: 20px;
  left: 2px;
  bottom: 2px;
  background-color: var(--color-white);
  border-radius: 50%;
  transition: 0.2s;
  box-shadow: var(--shadow-sm);
}
.toggle-switch input:checked + .toggle-slider {
  background-color: var(--color-accent);
}
.toggle-switch input:checked + .toggle-slider:before {
  transform: translateX(20px);
}
.toggle-switch input:focus + .toggle-slider {
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.2);
}

.toggle-field {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
}

.toggle-field__label {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  font-weight: 500;
  color: var(--color-text-secondary);
  line-height: 1;
}

.radio-group,
.checkbox-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.radio-option,
.checkbox-option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  position: relative;
  padding-left: 0;
  line-height: 1.4;
  user-select: none;
}

.checkbox-option__input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.checkbox-option__control {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  border: 2px solid var(--color-border-ghost);
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
}

.checkbox-option__icon {
  width: 12px;
  height: 10px;
  color: var(--color-white);
  opacity: 0;
  transform: scale(0.5);
  transition: all 0.15s ease;
}

.checkbox-option__input:checked + .checkbox-option__control {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
}
.checkbox-option__input:checked + .checkbox-option__control .checkbox-option__icon {
  opacity: 1;
  transform: scale(1);
}

.checkbox-option__input:focus-visible + .checkbox-option__control {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.checkbox-option__label {
  font-family: var(--font-body);
  font-size: var(--font-md);
  color: var(--color-gray-600);
  cursor: pointer;
}

.checkbox-option--disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.checkbox-option--disabled .checkbox-option__control {
  background-color: var(--color-gray-100);
  border-color: var(--color-gray-300);
}

.radio-option {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  cursor: pointer;
}
.radio-option input {
  margin-top: 2px;
  accent-color: var(--color-accent);
}
.radio-option .option-label {
  font-family: var(--font-body);
  font-size: var(--font-md);
  color: var(--color-gray-600);
}
.radio-option .option-description {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-gray-500);
  margin-top: var(--space-xxs);
}

.form-row {
  display: flex;
  gap: var(--space-xs);
}
.form-row > * {
  flex: 1;
}
@media (max-width: 767px) {
  .form-row {
    flex-direction: column;
  }
}

.form-section {
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid var(--color-gray-200);
}
.form-section:last-child {
  border-bottom: none;
}
.form-section-title {
  font-family: var(--font-display);
  font-size: var(--font-lg);
  font-weight: 600;
  color: var(--color-gray-600);
  margin-bottom: var(--space-md);
  margin-top: 0;
}

.form-field {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--space-md);
}
.form-field label {
  display: block;
  margin-bottom: var(--space-xs);
  font-family: var(--font-body);
  font-size: var(--font-sm);
  font-weight: 500;
  color: var(--color-gray-600);
}
.form-field--short {
  max-width: 16rem;
}
.form-field--standard {
  max-width: 32rem;
}
.form-field--long {
  max-width: 44rem;
}
.form-field--full {
  max-width: none;
}

.form-field__radio-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.form-row {
  display: flex;
  gap: var(--space-sm);
  max-width: 32rem;
  margin-bottom: var(--space-md);
}
.form-row .form-field {
  flex: 1;
  min-width: 0;
  margin-bottom: 0;
  max-width: none;
}
@media (max-width: 767px) {
  .form-row {
    flex-direction: column;
  }
  .form-row .form-field {
    flex: 1 1 100%;
    margin-bottom: var(--space-md);
    max-width: none;
  }
}

.form-group-label {
  font-size: var(--font-sm);
  font-weight: 600;
  color: var(--color-gray-600);
  margin-bottom: var(--space-xs);
  margin-top: var(--space-md);
}

.form-actions {
  display: flex;
  gap: var(--space-sm);
  margin-top: var(--space-lg);
}
.form-actions--left {
  justify-content: flex-start;
}
.form-actions--right {
  justify-content: flex-end;
}
.form-actions--center {
  justify-content: center;
}
.form-actions--stack {
  flex-direction: column;
}

.card {
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-sm);
  overflow: hidden;
  box-shadow: none;
  transition: box-shadow 0.3s ease;
}
.card:hover {
  box-shadow: var(--shadow-lg);
}

.card--flat,
.card.card-flat {
  border: none;
  background-color: var(--color-gray-50);
}
.card--flat:hover,
.card.card-flat:hover {
  box-shadow: none;
}

.card--elevated {
  box-shadow: var(--shadow-md);
}
.card--elevated:hover {
  box-shadow: var(--shadow-xl);
}

.card--borderless {
  border: none;
}

.card--interactive {
  cursor: pointer;
}
.card--interactive:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}
.card--interactive:active {
  transform: translateY(0);
}

.card-image {
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
}

.card-image--sm {
  height: 160px;
}

.card-image--lg {
  height: 320px;
}

.card-image--aspect {
  height: 0;
  padding-bottom: 66.67%;
  position: relative;
}
.card-image--aspect img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card-body {
  padding: var(--space-md);
}

.card-body--compact {
  padding: var(--space-sm);
}

.card-body--spacious {
  padding: var(--space-lg);
}

.card-title {
  font-family: var(--font-heading);
  font-size: var(--font-2xl);
  font-weight: 400;
  margin-bottom: var(--space-sm);
  line-height: 1.3;
  color: var(--color-black);
}

.card-subtitle {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-gray-500);
  margin-bottom: var(--space-sm);
}

.card-text {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-gray-500);
  margin-bottom: var(--space-md);
  line-height: 1.6;
}

.card-meta {
  font-family: var(--font-body);
  font-size: var(--font-xs);
  color: var(--color-gray-400);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.card-footer {
  padding: var(--space-sm) var(--space-md);
  border-top: 1px solid var(--color-gray-200);
  background-color: var(--color-gray-50);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.card-actions {
  display: flex;
  gap: var(--space-sm);
}

.card-grid {
  display: grid;
  gap: var(--space-lg);
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 768px) {
  .card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .card-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 768px) {
  .card-grid--2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 768px) {
  .card-grid--4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .card-grid--4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

.feature-card {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background-color: var(--color-white);
}

.feature-card__image-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 66.67%;
  overflow: hidden;
  background-color: var(--color-gray-200);
}

.feature-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.feature-card:hover .feature-card__image {
  transform: scale(1.05);
}

.feature-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, transparent 50%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--space-lg);
}

.feature-card__content {
  color: var(--color-white);
}

.feature-card__title {
  font-family: var(--font-heading);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.4;
  margin-bottom: var(--space-sm);
}

.feature-card__text {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  line-height: 1.6;
  opacity: 0.9;
}

[x-cloak] {
  display: none !important;
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  overflow-x: hidden;
  overflow-y: auto;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: var(--space-lg);
}
.modal.fade, .modal.fade.show {
  opacity: 1;
}
.modal.fade .modal-dialog {
  transform: none;
}

.modal-dialog {
  position: relative;
  width: 100%;
  max-width: 800px;
  margin: auto;
  pointer-events: none;
}

.modal-dialog.modal-lg {
  max-width: 900px;
}

.modal-content {
  position: relative;
  pointer-events: all;
  background: var(--color-white, #fff);
  border-radius: var(--radius-lg, 8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.18);
  max-height: calc(100vh - 2 * var(--space-lg, 1.5rem));
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 1999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-lg);
  overflow-y: auto;
  isolation: isolate;
}
.modal-backdrop.fade, .modal-backdrop.fade.show, .modal-backdrop.show {
  opacity: 1;
}

.modal-panel {
  background: var(--color-white);
  border-radius: var(--radius-lg);
  max-width: 560px;
  width: 100%;
  max-height: calc(100vh - var(--space-2xl) * 2);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.18);
}

.modal-panel--sm {
  max-width: 400px;
}

.modal-panel--lg {
  max-width: 720px;
}

.modal-panel--xl {
  max-width: 960px;
}

.modal-panel--full {
  max-width: calc(100vw - var(--space-lg) * 2);
  max-height: calc(100vh - var(--space-lg) * 2);
}

.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-md) var(--space-lg);
  border-bottom: 1px solid var(--color-gray-200);
  flex-shrink: 0;
}

.modal-title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--font-2xl);
  font-weight: 500;
  color: var(--color-black);
}

.modal-close {
  border: none;
  background: transparent;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  padding: var(--space-xs);
  margin: calc(var(--space-xs) * -1);
  color: var(--color-gray-500);
  transition: color 0.2s;
}
.modal-close:hover {
  color: var(--color-black);
}
.modal-close svg {
  width: 24px;
  height: 24px;
}

.modal-body {
  padding: var(--space-lg);
  font-family: var(--font-body);
  font-size: var(--font-md);
  line-height: 1.6;
  overflow-y: auto;
  flex: 1;
}

.modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-sm);
  padding: var(--space-md) var(--space-lg);
  border-top: 1px solid var(--color-gray-200);
  flex-shrink: 0;
}

.modal-footer--left {
  justify-content: flex-start;
}

.modal-footer--center {
  justify-content: center;
}

.modal-footer--between {
  justify-content: space-between;
}

.modal--confirm .modal-panel {
  max-width: 400px;
}
.modal--confirm .modal-body {
  text-align: center;
  padding: var(--space-2xl);
}
.modal--confirm .modal-icon {
  width: 48px;
  height: 48px;
  margin: 0 auto var(--space-md);
}
.modal--confirm .modal-icon--warning {
  color: var(--color-warning);
}
.modal--confirm .modal-icon--error {
  color: var(--color-error);
}
.modal--confirm .modal-icon--success {
  color: var(--color-success);
}
.modal--confirm .modal-icon--info {
  color: var(--color-info);
}

.tabs-container {
  width: 100%;
}

.tabs-nav {
  display: flex;
  border-bottom: 1px solid var(--color-gray-200);
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}
.tabs-nav button,
.tabs-nav a {
  padding: var(--space-sm) var(--space-xxs);
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  font-family: var(--font-body);
  font-size: var(--font-md);
  font-weight: 500;
  color: var(--color-gray-500);
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
}
.tabs-nav button:hover,
.tabs-nav a:hover {
  color: var(--color-gray-600);
}
.tabs-nav button.active, .tabs-nav button[aria-selected=true],
.tabs-nav a.active,
.tabs-nav a[aria-selected=true] {
  color: var(--color-primary);
  border-bottom-color: var(--color-accent);
}

.tabs-nav--scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.tabs-nav--scroll::-webkit-scrollbar {
  display: none;
}

.tabs-nav--center {
  justify-content: center;
}

.tabs-nav--full button,
.tabs-nav--full a {
  flex: 1;
  text-align: center;
}

.tabs-nav--pills {
  border-bottom: none;
  gap: var(--space-xs);
  background-color: var(--color-gray-100);
  padding: var(--space-xxs);
  border-radius: var(--radius-md);
}
.tabs-nav--pills button,
.tabs-nav--pills a {
  border-bottom: none;
  padding: var(--space-xs) var(--space-md);
  border-radius: var(--radius-sm);
}
.tabs-nav--pills button.active, .tabs-nav--pills button[aria-selected=true],
.tabs-nav--pills a.active,
.tabs-nav--pills a[aria-selected=true] {
  background-color: var(--color-white);
  box-shadow: var(--shadow-sm);
  color: var(--color-primary);
}

.tabs-content .tab-panel {
  display: none;
}
.tabs-content .tab-panel.active, .tabs-content .tab-panel[aria-hidden=false] {
  display: block;
}

.tabs-content--fade .tab-panel {
  opacity: 0;
  transition: opacity 0.2s ease;
}
.tabs-content--fade .tab-panel.active, .tabs-content--fade .tab-panel[aria-hidden=false] {
  opacity: 1;
}

.tabs-nav--underline {
  border-bottom: none;
  gap: var(--space-lg);
}
.tabs-nav--underline button,
.tabs-nav--underline a {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: var(--font-sm);
  padding: var(--space-sm) 0;
  border-bottom-width: 3px;
}
.tabs-nav--underline button.active, .tabs-nav--underline button[aria-selected=true],
.tabs-nav--underline a.active,
.tabs-nav--underline a[aria-selected=true] {
  border-bottom-color: var(--color-accent);
}

.tabs-container--vertical {
  display: flex;
  gap: var(--space-lg);
}
.tabs-container--vertical .tabs-nav {
  flex-direction: column;
  border-bottom: none;
  border-right: 1px solid var(--color-gray-200);
  gap: 0;
  margin-bottom: 0;
  padding-right: var(--space-md);
  min-width: 200px;
}
.tabs-container--vertical .tabs-nav button,
.tabs-container--vertical .tabs-nav a {
  border-bottom: none;
  border-right: 2px solid transparent;
  text-align: left;
  padding: var(--space-sm) var(--space-md);
}
.tabs-container--vertical .tabs-nav button.active, .tabs-container--vertical .tabs-nav button[aria-selected=true],
.tabs-container--vertical .tabs-nav a.active,
.tabs-container--vertical .tabs-nav a[aria-selected=true] {
  border-right-color: var(--color-accent);
  background-color: var(--color-gray-50);
}
.tabs-container--vertical .tabs-content {
  flex: 1;
}
@media (max-width: 767px) {
  .tabs-container--vertical {
    flex-direction: column;
  }
  .tabs-container--vertical .tabs-nav {
    flex-direction: row;
    border-right: none;
    border-bottom: 1px solid var(--color-gray-200);
    overflow-x: auto;
    padding-right: 0;
    min-width: auto;
  }
  .tabs-container--vertical .tabs-nav button,
  .tabs-container--vertical .tabs-nav a {
    border-right: none;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
  }
  .tabs-container--vertical .tabs-nav button.active,
  .tabs-container--vertical .tabs-nav a.active {
    border-bottom-color: var(--color-accent);
    background-color: transparent;
  }
}

.label,
.tag {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
  padding: 2px 8px;
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: var(--radius-sm);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--font-xs);
  color: var(--color-black);
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.label--primary,
.tag--primary {
  background-color: var(--color-primary);
  color: var(--color-white);
}

.label--secondary,
.tag--secondary {
  background-color: var(--color-secondary);
  color: var(--color-white);
}

.label--accent,
.tag--accent {
  background-color: var(--color-accent);
  color: var(--color-white);
}

.label--success,
.tag--success {
  background-color: rgba(16, 185, 129, 0.1);
  color: var(--color-success);
}

.label--warning,
.tag--warning {
  background-color: rgba(245, 158, 11, 0.1);
  color: var(--color-warning);
}

.label--error,
.tag--error {
  background-color: rgba(239, 68, 68, 0.1);
  color: var(--color-error);
}

.label--info,
.tag--info {
  background-color: rgba(59, 130, 246, 0.1);
  color: var(--color-info);
}

.label--outline,
.tag--outline {
  background-color: transparent;
  border: 1px solid currentColor;
}

.label--sm,
.tag--sm {
  padding: 1px 6px;
  font-size: 10px;
}

.label--lg,
.tag--lg {
  padding: 4px 12px;
  font-size: var(--font-sm);
}

.tag--removable {
  padding-right: var(--space-xxs);
}
.tag--removable .tag__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-left: var(--space-xxs);
  border: none;
  background: transparent;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.2s;
}
.tag--removable .tag__remove:hover {
  opacity: 1;
}
.tag--removable .tag__remove svg {
  width: 12px;
  height: 12px;
}

.tag-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background-color: var(--color-accent);
  color: var(--color-white);
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  border-radius: var(--radius-full);
}

.badge--sm {
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  font-size: 10px;
}

.badge--gray {
  background-color: var(--color-gray-400);
}

.badge--success {
  background-color: var(--color-success);
}

.badge--warning {
  background-color: var(--color-warning);
}

.badge--error {
  background-color: var(--color-error);
}

.status-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-gray-400);
}
.status-dot--success {
  background-color: var(--color-success);
}
.status-dot--warning {
  background-color: var(--color-warning);
}
.status-dot--error {
  background-color: var(--color-error);
}
.status-dot--info {
  background-color: var(--color-info);
}

.status-indicator {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-gray-600);
}

.label-tag {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 4px;
}
.label-tag span {
  font-family: "tradegothic", Arial, sans-serif;
  font-weight: 700;
  font-size: 12px;
  color: #000000;
  line-height: 1.5;
  text-transform: uppercase;
}

.main-content:has(.migration-sync) {
  max-width: 100%;
}

.main-content .ds-page.migration-sync {
  padding-left: 8px;
  padding-right: 8px;
}

.ds-page.migration-sync {
  max-width: 100%;
}
.ds-page.migration-sync .v3-backoffice-surface__body {
  padding: var(--space-md);
}

.migration-sync__toolbar {
  margin-bottom: var(--space-sm);
}
.migration-sync__toolbar .btn {
  margin-right: var(--space-xxs);
}
.migration-sync__filter-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-bottom: var(--space-sm);
}
.migration-sync__filter-bar label {
  font-weight: normal;
  margin-bottom: 0;
  cursor: pointer;
  font-size: var(--font-sm);
}
.migration-sync__filter-bar input[type=checkbox] {
  margin-right: var(--space-xxs);
}
.migration-sync__filter-bar button {
  cursor: pointer;
  transition: all 0.2s ease;
}
.migration-sync__filter-bar button:hover {
  opacity: 0.85;
}
.migration-sync__filter-label {
  font-size: var(--font-sm);
  font-weight: 600;
  margin-right: var(--space-xs);
}
.migration-sync__filter-right {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}
.migration-sync__stats {
  font-size: var(--font-sm);
  color: var(--color-text-muted);
}
.migration-sync__stats strong {
  color: var(--color-accent);
}
.migration-sync__import-status {
  margin-bottom: var(--space-xs);
  font-size: var(--font-sm);
  color: var(--color-text-muted);
}
.migration-sync__diff-summary {
  margin-top: var(--space-md);
  margin-bottom: var(--space-md);
}
.migration-sync__diff-summary table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--font-sm);
}
.migration-sync__diff-summary thead {
  background: var(--color-gray-50);
  border-bottom: 1px solid var(--color-border-muted);
}
.migration-sync__diff-summary th {
  padding: var(--space-sm);
  text-align: left;
  font-weight: 600;
  color: var(--color-text-muted);
}
.migration-sync__diff-summary td {
  padding: var(--space-sm);
  border-bottom: 1px solid var(--color-gray-200);
}
.migration-sync__diff-summary tbody tr:last-child td {
  border-bottom: 0;
}
.migration-sync__grid-wrapper {
  display: flex;
  gap: 0;
  margin-top: var(--space-sm);
  user-select: none;
  width: 100%;
  overflow: hidden;
}
.migration-sync__grid-wrapper.resizing {
  cursor: col-resize;
}
.migration-sync__grid-wrapper.resizing * {
  pointer-events: none;
}
.migration-sync__grid-pane {
  min-width: 0;
  overflow: hidden;
  flex-shrink: 0;
}
.migration-sync__grid-resizer {
  width: 8px;
  background: linear-gradient(90deg, var(--color-border-muted) 0%, var(--color-border-subtle) 50%, var(--color-border-muted) 100%);
  cursor: col-resize;
  flex-shrink: 0;
  transition: background-color 0.2s ease;
  position: relative;
}
.migration-sync__grid-resizer:hover {
  background: linear-gradient(90deg, var(--color-border-default) 0%, var(--color-accent) 50%, var(--color-border-default) 100%);
}
.migration-sync__grid-resizer:active {
  background: var(--color-accent);
}
.migration-sync__grid-resizer::before {
  content: "";
  position: absolute;
  left: -4px;
  right: -4px;
  top: 0;
  bottom: 0;
}
.migration-sync__grid-label {
  font-weight: 600;
  font-size: var(--font-sm);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: var(--space-xxs);
  padding: var(--space-xxs) var(--space-xs);
  border-radius: var(--radius-sm);
}
.migration-sync__grid-label--aws {
  background: rgba(16, 185, 129, 0.1);
  color: var(--color-success);
}
.migration-sync__grid-label--hatchbox {
  background: rgba(59, 130, 246, 0.1);
  color: var(--color-info);
}
.migration-sync__grid-label--zoho {
  background: rgba(191, 40, 66, 0.1);
  color: var(--color-accent);
}
.migration-sync__loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 300px;
  color: var(--color-text-muted);
  font-size: var(--font-md);
}
.migration-sync__spinner {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid var(--color-gray-200);
  border-top-color: var(--color-accent);
  border-radius: var(--radius-full);
  animation: migration-sync-spin 0.6s linear infinite;
  margin-right: var(--space-xs);
}
@keyframes migration-sync-spin {
  to {
    transform: rotate(360deg);
  }
}
.migration-sync__actions {
  display: none;
  background: var(--color-gray-50);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-md);
  padding: var(--space-xs) var(--space-sm);
  margin-top: var(--space-sm);
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
}
.migration-sync__actions--visible {
  display: flex;
}
.migration-sync__selection-count {
  font-weight: 600;
  margin-right: var(--space-sm);
  font-size: var(--font-sm);
}
.migration-sync__script-group {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: var(--space-xxs);
}
.migration-sync__column-picker {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-sm);
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease;
  padding: 0;
}
.migration-sync__column-picker--open {
  max-height: 400px;
  overflow-y: auto;
  padding: var(--space-sm) 0;
}
.migration-sync__column-picker-actions {
  width: 100%;
  display: flex;
  gap: var(--space-xs);
  margin-bottom: var(--space-xs);
}
.migration-sync__column-picker-btn {
  padding: var(--space-xxs) var(--space-sm);
  font-size: var(--font-xs);
  font-weight: 600;
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-sm);
  background: var(--color-white);
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: all 0.15s ease;
}
.migration-sync__column-picker-btn:hover {
  background: var(--color-gray-50);
  color: var(--color-text-primary);
  border-color: var(--color-accent);
}
.migration-sync__column-label {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  cursor: pointer;
  font-size: var(--font-sm);
  color: var(--color-text-secondary);
  user-select: none;
  transition: color 0.15s ease;
}
.migration-sync__column-label:hover {
  color: var(--color-text-primary);
}
.migration-sync__column-checkbox {
  cursor: pointer;
  margin: 0;
  width: 16px;
  height: 16px;
  accent-color: var(--color-accent);
}
.migration-sync__column-checkbox:hover {
  opacity: 0.8;
}
.migration-sync__column-text {
  text-transform: capitalize;
}
.migration-sync__column-filter {
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease;
  padding: 0;
  margin-bottom: 0;
}
.migration-sync__column-filter--open {
  max-height: 500px;
  overflow-y: auto;
  padding: var(--space-sm) 0;
  margin-bottom: var(--space-sm);
}
.migration-sync__column-filter-label {
  font-size: var(--font-xs);
  font-weight: 600;
  color: var(--color-text-secondary);
  padding: 0 var(--space-sm);
  margin-bottom: var(--space-xxs);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.migration-sync__column-filter-menu {
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
}
.migration-sync__column-filter-btn {
  padding: var(--space-xxs) var(--space-sm);
  font-size: var(--font-sm);
  font-weight: 500;
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-sm);
  background: var(--color-white);
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: all 0.15s ease;
  text-align: left;
}
.migration-sync__column-filter-btn:hover {
  background: var(--color-gray-50);
  color: var(--color-text-primary);
  border-color: var(--color-accent);
}
.migration-sync__column-filter-btn.active {
  background: var(--color-accent-light);
  border-color: var(--color-accent);
  color: var(--color-accent);
  font-weight: 600;
}
.migration-sync__popover {
  position: fixed;
  z-index: 10000;
  background: var(--color-white);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-floating);
  padding: var(--space-sm);
  min-width: 260px;
  max-width: 400px;
  font-size: var(--font-sm);
}
.migration-sync__popover-header {
  font-weight: 600;
  margin-bottom: var(--space-xs);
  padding-bottom: var(--space-xxs);
  border-bottom: 1px solid var(--color-border-muted);
}
.migration-sync__popover-value-row {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--space-xxs);
}
.migration-sync__popover-value-label {
  color: var(--color-text-muted);
  font-size: var(--font-xs);
  text-transform: uppercase;
}
.migration-sync__popover-value-text {
  word-break: break-all;
}
.migration-sync__popover-actions {
  margin-top: var(--space-xs);
  padding-top: var(--space-xs);
  border-top: 1px solid var(--color-border-muted);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xxs);
}
@charset "UTF-8";
.area-guides-slider-section {
  padding: var(--space-5xl) 0;
  background: var(--color-sand-soft);
  overflow: hidden;
}
@media (max-width: 1024px) {
  .area-guides-slider-section {
    padding: var(--space-4xl) 0;
  }
}
@media (max-width: 768px) {
  .area-guides-slider-section {
    padding: var(--space-3xl) 0;
  }
}

.area-guides-slider-section--full-bleed {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}

.area-guides-slider-section__container {
  display: flex;
  gap: var(--space-2xl);
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 var(--space-lg);
  align-items: stretch;
}
@media (max-width: 767px) {
  .area-guides-slider-section__container {
    flex-direction: column;
    gap: var(--space-lg);
  }
}

.area-guides-slider-section__header {
  flex: 0 0 25%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-2xl);
}
@media (max-width: 767px) {
  .area-guides-slider-section__header {
    flex: none;
    gap: var(--space-md);
  }
}

.area-guides-slider-section__header-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.area-guides-slider-section__header-nav {
  display: flex;
  gap: var(--space-xs);
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .area-guides-slider-section__header-nav {
    margin-top: var(--space-lg);
    justify-content: flex-end;
  }
}

.area-guides-slider-section__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-full);
  background: var(--color-primary);
  color: var(--color-white);
  border: none;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.area-guides-slider-section__btn[disabled], .area-guides-slider-section__btn.swiper-button-disabled {
  opacity: 0.3;
  cursor: default;
}
.area-guides-slider-section__btn svg {
  pointer-events: none;
}

.area-guides-slider-section__slider-wrapper {
  flex: 1;
  overflow: hidden;
}

.area-guides-slider-section__swiper {
  overflow: visible !important;
}
.area-guides-slider-section__swiper .swiper-wrapper {
  align-items: stretch;
  min-height: 500px;
}
.area-guides-slider-section__swiper .swiper-slide {
  width: 320px;
  height: 100%;
  display: flex;
  flex-direction: column;
}
@media (max-width: 768px) {
  .area-guides-slider-section__swiper .swiper-slide {
    width: 260px;
  }
}
@media (max-width: 767px) {
  .area-guides-slider-section__swiper .swiper-slide {
    width: 65vw;
  }
}
.area-guides-slider-section__swiper .area-guides-dark-panels-section__panel {
  flex: 1;
}

.search-widget__toggle-area--inline {
  justify-content: space-between;
  padding-top: 4px;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.search-widget__result-count {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin-left: auto;
  text-align: right;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .search-widget__result-count {
    margin-left: 0;
    flex: 0 0 auto;
    text-align: left;
  }
}

.header-nav {
  background-color: var(--color-hero-background);
  border-bottom: 1px solid var(--color-border-muted);
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1200;
  margin: 0;
}

.header-nav__container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 var(--space-md);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 72px;
}
@media (max-width: 768px) {
  .header-nav__container {
    padding: 0 var(--space-compact);
  }
}

@media (max-width: 991px) {
  .header-nav__container {
    justify-content: space-between;
    gap: var(--space-sm);
  }
}
.split-feature__list {
  padding-left: 0;
  margin: 0;
}
.split-feature__list li {
  list-style: none;
  font-size: var(--font-sm, 14px);
  line-height: 1.5;
}
.split-feature__list li .text-md,
.split-feature__list li span {
  font-size: var(--font-sm, 14px) !important;
  line-height: 1.5;
}

.split-feature__list--two-column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
}
@media (max-width: 767px) {
  .split-feature__list--two-column {
    grid-template-columns: 1fr;
  }
}

.split-feature__list-item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
}

.split-feature__icon {
  display: inline-flex;
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  flex-shrink: 0;
  margin-top: 2px;
}

.split-feature__icon-image {
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
  object-fit: contain;
  display: block;
}

.split-feature__image {
  background-size: cover;
  background-position: center;
  min-height: 400px;
}
@media (max-width: 1024px) {
  .split-feature__image {
    min-height: 320px;
  }
}
@media (max-width: 768px) {
  .split-feature__image {
    min-height: 240px;
  }
}

.split-feature__image.editorial-treatment {
  opacity: 0.9;
}

.header-nav__logo {
  flex-shrink: 0;
}

.header-nav__logo-link {
  display: flex;
  align-items: center;
  text-decoration: none;
}

.header-nav__logo-img {
  height: 43px;
  width: auto;
}

.header-nav__desktop {
  display: none;
  margin: 0 auto;
}
@media (min-width: 992px) {
  .header-nav__desktop {
    display: block;
  }
}

.services-mosaic__location-links--columns {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 1024px) {
  .services-mosaic__location-links--columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.services-mosaic__location-column {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.header-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}

@media (max-width: 1200px) {
  .header-nav__list {
    column-gap: 8px;
  }
}
@media (max-width: 1060px) {
  .header-nav__list {
    column-gap: var(--space-xxs);
  }
}
.header-nav__item {
  position: relative;
}

.header-nav__link {
  font-family: var(--font-display);
  font-size: var(--font-sm);
  font-weight: 700;
  letter-spacing: 0.5px;
  line-height: 1;
  text-transform: uppercase;
  color: var(--color-primary);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  padding: var(--space-compact) var(--space-sm);
  margin: 0;
  border: none;
  background: none;
  cursor: pointer;
  white-space: nowrap;
  vertical-align: top;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.header-nav__link:hover, .header-nav__link:focus {
  color: var(--color-accent);
  text-decoration: none;
}

@media (max-width: 1200px) {
  .header-nav__link {
    padding: var(--space-micro) var(--space-compact);
  }
}
@media (max-width: 1060px) {
  .header-nav__link {
    padding: var(--space-xs) var(--space-micro);
  }
}
.header-nav__link--dropdown {
  display: flex;
  align-items: center;
  gap: var(--space-xxs);
}

.header-nav__chevron {
  width: 20px;
  height: 20px;
  transition: transform 200ms ease;
}
.header-nav__chevron.open {
  transform: rotate(180deg);
}

.header-nav__submenu {
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--color-white);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-md);
  min-width: 200px;
  margin-top: var(--space-xs);
  box-shadow: var(--shadow-md);
  overflow: hidden;
  z-index: 50;
}

.header-nav__submenu-link {
  display: block;
  padding: var(--space-compact) var(--space-sm);
  color: var(--color-primary);
  text-decoration: none;
  font-size: var(--font-sm);
  transition: background 200ms ease;
}
.header-nav__submenu-link:hover {
  background: var(--color-bg-dark);
  color: var(--color-accent);
}
@media (max-width: 640px) {
  .header-nav__submenu-link {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .header-nav__submenu-link .search-widget__toggle {
    width: 100%;
  }
  .header-nav__submenu-link .search-widget__more-filters {
    width: 100%;
    justify-content: flex-start;
  }
}
.header-nav__submenu-link__link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  color: #f2f2f2;
  opacity: 0.85;
  text-decoration: none;
  padding: 10px 20px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 999px;
  transition: color 0.2s ease, opacity 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}
.header-nav__submenu-link__link:hover {
  color: #ffffff;
  opacity: 1;
  border-color: rgba(255, 255, 255, 0.8);
  background-color: rgba(255, 255, 255, 0.08);
}
.header-nav__submenu-link__link svg {
  width: 24px;
  height: 24px;
  stroke: currentColor;
}

.header-nav__megamenu {
  position: absolute;
  top: 100%;
  left: -110px;
  background: var(--color-white);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-md);
  margin-top: var(--space-xs);
  box-shadow: var(--shadow-md);
  padding: var(--space-lg);
  min-width: 980px;
  z-index: 50;
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: var(--space-xl);
}
.header-nav__megamenu--mosaic {
  min-width: 1100px;
}

.header-nav__megamenu-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  min-width: 0;
}

.dropdown-trigger--underline {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  padding: 0 0 8px;
  font-family: var(--font-display);
  font-size: var(--font-sm);
  font-weight: 500;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--color-primary);
  cursor: pointer;
  white-space: nowrap;
  transition: color 150ms ease, border-color 150ms ease;
}
.dropdown-trigger--underline svg {
  color: inherit;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.dropdown-trigger--underline:hover:not([aria-expanded=true]) {
  color: var(--color-primary);
}
.dropdown-trigger--underline[aria-expanded=true] {
  color: var(--color-accent);
}

.header-nav__mosaic-controls {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-md);
  padding-bottom: var(--space-md);
}

.header-nav__mosaic-tabs {
  display: flex;
  gap: 0;
}

.header-nav__mosaic-tab {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  padding: 0 0 8px;
  margin-right: 24px;
  font-family: var(--font-display);
  font-size: var(--font-sm);
  font-weight: 500;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--color-primary);
  cursor: pointer;
  border-radius: 0;
  white-space: nowrap;
  transition: color 150ms ease, border-color 150ms ease;
}
.header-nav__mosaic-tab:hover:not(.active) {
  color: var(--color-primary);
}
.header-nav__mosaic-tab.active {
  border-bottom-color: var(--color-accent);
  color: var(--color-accent);
}

.header-nav__mosaic-rental {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.header-nav__mosaic-rental-label {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-gray-400);
  white-space: nowrap;
}

.header-nav__mosaic-rental-chevron {
  width: 16px;
  height: 16px;
}
.header-nav__mosaic-rental-chevron.open {
  transform: rotate(180deg);
}

.header-nav__mosaic-rental-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: var(--color-white);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-floating);
  min-width: 180px;
  z-index: 60;
  overflow: hidden;
}

.header-nav__mosaic-rental-option {
  display: block;
  width: 100%;
  background: none;
  border: none;
  padding: var(--space-compact) var(--space-sm);
  text-align: left;
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-gray-600);
  cursor: pointer;
  transition: background 150ms ease;
}
.header-nav__mosaic-rental-option + .header-nav__mosaic-rental-option {
  border-top: 1px solid var(--color-surface-muted);
}
.header-nav__mosaic-rental-option:hover {
  background: var(--color-gray-50);
}
.header-nav__mosaic-rental-option.active {
  background: rgba(191, 40, 66, 0.05);
  color: var(--color-accent);
  font-weight: 500;
}

.header-nav__mosaic-grid {
  column-count: 3;
  column-gap: var(--space-lg);
}

.header-nav__mosaic-empty {
  column-span: all;
  color: var(--color-text-muted);
  font-size: var(--font-sm);
  font-family: var(--font-body);
  margin: 0;
}

.header-nav__mosaic-province {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  break-inside: avoid;
  margin-bottom: var(--space-lg);
}

.header-nav__mosaic-province-name {
  font-family: var(--font-display);
  font-size: var(--font-sm);
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 2px;
}

.header-nav__mosaic-city-link {
  display: flex;
  align-items: baseline;
  gap: var(--space-xxs);
  text-decoration: none;
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-gray-500, #6b7280);
  transition: color 150ms ease;
  line-height: 1.6;
}
.header-nav__mosaic-city-link:hover {
  color: var(--color-accent);
}

.header-nav__mosaic-city-count {
  font-size: 11px;
  opacity: 0.6;
}

.services-mosaic__rental-dropdown {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.services-mosaic__rental-label {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-gray-400);
  white-space: nowrap;
}
@media (max-width: 640px) {
  .services-mosaic__rental-label {
    display: none;
  }
}

.services-mosaic__rental-chevron {
  width: 16px;
  height: 16px;
}
.services-mosaic__rental-chevron.open {
  transform: rotate(180deg);
}

.services-mosaic__rental-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: var(--color-white);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-floating);
  min-width: 200px;
  z-index: 20;
  overflow: hidden;
}

.services-mosaic__rental-option {
  display: block;
  width: 100%;
  background: none;
  border: none;
  padding: var(--space-compact) var(--space-sm);
  text-align: left;
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-gray-600);
  cursor: pointer;
  transition: background 150ms ease;
}
.services-mosaic__rental-option + .services-mosaic__rental-option {
  border-top: 1px solid var(--color-surface-muted);
}
.services-mosaic__rental-option:hover {
  background: var(--color-gray-50);
}
.services-mosaic__rental-option.active {
  background: rgba(191, 40, 66, 0.05);
  color: var(--color-accent);
  font-weight: 500;
}

.services-mosaic__cta {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  flex-shrink: 0;
}

.services-mosaic__tab-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
}

.header-nav__megamenu-columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-xl);
}

.header-nav__megamenu-column {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.header-nav__megamenu-heading {
  font-family: var(--font-display);
  font-size: var(--font-sm);
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--color-primary);
  margin: 0;
  padding: 0;
}

.header-nav__megamenu-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.header-nav__megamenu-link {
  color: var(--color-primary);
  text-decoration: none;
  font-family: var(--font-body);
  font-size: var(--font-sm);
  transition: color 200ms ease;
}
.header-nav__megamenu-link:hover {
  color: var(--color-accent);
}

.header-nav__megamenu-areas {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding-top: var(--space-md);
  border-top: 1px solid var(--color-border-muted);
}

.header-nav__megamenu-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

.header-nav__megamenu-chip {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  background: var(--color-surface-muted, #f4f4f4);
  color: var(--color-primary);
  border-radius: 999px;
  font-family: var(--font-body);
  font-size: var(--font-sm);
  text-decoration: none;
  transition: background 200ms ease, color 200ms ease;
}
.header-nav__megamenu-chip:hover {
  background: var(--color-primary);
  color: var(--color-white);
}

.header-nav__megamenu-promo {
  display: flex;
  flex-direction: column;
  background: var(--color-primary, #111);
  color: var(--color-white);
  padding: var(--space-lg);
  border-radius: var(--radius-md);
  text-decoration: none;
  transition: transform 200ms ease;
}
.header-nav__megamenu-promo:hover {
  transform: translateY(-2px);
  color: var(--color-white);
}

.header-nav__megamenu-promo-eyebrow {
  font-family: var(--font-display);
  font-size: var(--font-xs);
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  opacity: 0.7;
  margin-bottom: var(--space-sm);
}

.header-nav__megamenu-promo-title {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: var(--space-sm);
}

.header-nav__megamenu-promo-body {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  line-height: 1.5;
  opacity: 0.85;
  margin: 0 0 var(--space-lg) 0;
  flex: 1;
}

.header-nav__megamenu-promo-cta {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-family: var(--font-display);
  font-size: var(--font-sm);
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.header-nav__megamenu-promo-cta svg {
  width: 16px;
  height: 16px;
}

@media (max-width: 1200px) {
  .header-nav__megamenu {
    min-width: 860px;
    gap: var(--space-lg);
    padding: var(--space-md);
    grid-template-columns: 1fr 240px;
  }
}
@media (max-width: 1024px) {
  .header-nav__megamenu {
    grid-template-columns: 1fr;
    min-width: 600px;
  }
  .header-nav__megamenu-promo {
    display: none;
  }
}
@media (max-width: 768px) {
  .header-nav__megamenu {
    display: none;
  }
}
.header-nav__actions {
  display: none;
  gap: var(--space-md, 16px);
  align-items: center;
  flex-shrink: 0;
}
@media (min-width: 992px) {
  .header-nav__actions {
    display: flex;
  }
}

.header-nav__hamburger {
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
  margin-left: auto;
  margin-right: calc(-1 * var(--space-xs));
  margin-top: calc(-1 * var(--space-xs));
  margin-bottom: calc(-1 * var(--space-xs));
  background: none;
  border: none;
  cursor: pointer;
  padding: var(--space-xs);
}
@media (min-width: 992px) {
  .header-nav__hamburger {
    display: none;
  }
}

.header-nav__hamburger-line {
  width: 24px;
  height: 2px;
  background: var(--color-primary);
  transition: all 200ms ease;
}

.header-nav__item--dropdown {
  position: relative;
}

.feature-card-grid {
  background-color: var(--color-hero-background);
}

.feature-card-grid--full-bleed {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
}

.feature-card-grid__wrapper {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 var(--space-3xl);
  position: relative;
  z-index: 1;
}

.feature-card {
  border-radius: var(--radius-lg);
  overflow: hidden;
  background-color: var(--color-white);
}

.feature-card__image-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 66.67%;
  overflow: hidden;
  background-color: #ddd;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.feature-card__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.feature-card__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 1;
}

.feature-card__content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: var(--space-md);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
}

.feature-card__heading {
  font-family: var(--font-heading);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: -0.28px;
  color: var(--color-white);
  margin: 0;
  padding: 0;
}

.feature-card__description {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-white);
  margin: 0;
  padding: 0;
}

.feature-card__actions {
  position: relative;
  z-index: 2;
}

.feature-card__button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-white);
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.feature-card__button:hover {
  opacity: 0.8;
}
.feature-card__button:focus {
  outline: 2px solid var(--color-white);
  outline-offset: 2px;
}

.feature-card__icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .feature-card-grid .grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .feature-card-grid .grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
.split-feature__row {
  align-items: stretch;
}

.split-feature__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-4xl);
}

.split-feature__copy--text-only {
  gap: 0;
}

.split-feature__body {
  display: flex;
  flex-direction: column;
}

.split-feature__body-text {
  margin: 0;
}

.split-feature__media {
  display: flex;
}

.split-feature__feature-list {
  display: flex;
  align-items: center;
}

.split-feature__row--text-only {
  align-items: start;
}

.split-feature__row--text-only-body {
  margin-top: var(--space-lg);
}

.split-feature__list--text-only {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2xl) var(--space-3xl);
  width: 100%;
  margin-top: auto;
}

.split-feature__image {
  min-height: 320px;
  width: 100%;
  background-color: #dcd7ce;
  display: block;
  background-size: cover;
  background-position: center;
  min-height: 100%;
  height: 100%;
  flex: 1 1 auto;
}

.split-feature.bg-sand-soft {
  background-color: #ffffff;
}

@media (max-width: 1024px) {
  .split-feature__feature-list {
    align-items: start;
  }
  .split-feature__row--text-only-body {
    margin-top: var(--space-md);
  }
  .split-feature__list--text-only {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }
}
.card-slider {
  margin-top: var(--space-4xl);
  margin-bottom: var(--space-4xl);
}
.card-slider__viewport {
  position: relative;
  overflow: hidden;
}
.card-slider .alpine-carousel {
  width: 100%;
}
.card-slider .alpine-carousel .carousel-slide {
  display: flex;
}
.card-slider .alpine-carousel .carousel-controls {
  margin-top: var(--space-lg);
  justify-content: flex-end;
}
.card-slider .card .card-text {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.alpine-carousel {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.alpine-carousel .carousel-wrapper {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Firefox */
}
.alpine-carousel .carousel-wrapper::-webkit-scrollbar {
  display: none; /* Chrome/Safari */
}
.alpine-carousel .carousel-slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
}
@media (min-width: 768px) {
  .alpine-carousel .carousel-slide {
    flex: 0 0 calc(50% - 12px);
  }
}
@media (min-width: 1024px) {
  .alpine-carousel .carousel-slide {
    flex: 0 0 calc(33.333% - 16px);
  }
}
.alpine-carousel .carousel-controls {
  display: flex;
  gap: 12px;
  margin-top: 24px;
  justify-content: center;
}
.alpine-carousel .carousel-controls button {
  width: 22px;
  height: 22px;
  border-radius: 4px;
  border: 0;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
}
.alpine-carousel .carousel-controls button:hover:not(:disabled) {
  background: transparent;
}
.alpine-carousel .carousel-controls button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.typeahead-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.typeahead-field__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.typeahead-field__label {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  font-weight: 400;
  color: var(--color-gray-400);
  line-height: 1.5;
}

.typeahead-field__clear {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  font-weight: 400;
  color: var(--color-gray-400);
  line-height: 1.5;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.typeahead-field__clear:hover {
  color: var(--color-primary);
}

.choices {
  margin-bottom: 0;
}

.choices__inner {
  background-color: var(--color-overlay-soft) !important;
  border: 1px solid transparent !important;
  border-radius: var(--radius-md) !important;
  min-height: 40px;
  padding: var(--space-xs) var(--space-compact) !important;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

.choices__list--multiple .choices__item {
  background-color: var(--color-primary) !important;
  border: 1px solid transparent !important;
  border-radius: var(--radius-sm) !important;
  font-family: var(--font-body);
  font-size: var(--font-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--color-white);
  padding: var(--space-xxs) var(--space-micro);
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
}
.choices__list--multiple .choices__item .choices__button {
  border: none;
  background-color: transparent;
  background-image: none;
  background-size: 8px;
  width: 8px;
  margin-left: 0;
  margin-right: var(--space-xxs);
  padding-left: 0;
  opacity: 0.6;
  order: -1;
}
.choices__list--multiple .choices__item .choices__button:hover {
  opacity: 1;
}

.choices__list--multiple .choices__item.is-highlighted {
  background-color: var(--color-primary-light) !important;
  border-color: transparent !important;
}

.choices__input {
  background-color: transparent !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  font-family: var(--font-body);
  font-size: var(--font-md);
  color: var(--color-primary);
  flex: 1;
  min-width: 120px;
}
.choices__input::placeholder {
  color: var(--color-primary);
}

.choices[data-type*=select-one] .choices__input {
  display: none;
}

.choices[data-type*=select-multiple]::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
}

.choices[data-type*=select-multiple] {
  position: relative;
}
.choices[data-type*=select-multiple] .choices__inner {
  padding-right: 40px !important;
}

.choices__list--dropdown {
  border: 1px solid var(--color-border-muted) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-md) !important;
  margin-top: var(--space-xxs) !important;
  padding: 0 !important;
}
.choices__list--dropdown .choices__item--selectable {
  padding: var(--space-micro) var(--space-sm);
  font-size: var(--font-sm);
}
.choices__list--dropdown .choices__item--selectable.is-highlighted {
  background-color: var(--color-surface-muted);
}

.radio-group,
.checkbox-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-compact);
}

.radio-option {
  display: flex;
  align-items: center;
  align-content: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}

.radio-option__input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.radio-option__control {
  width: 18px;
  height: 18px;
  border: 2px solid var(--color-border-ghost);
  border-radius: 50%;
  background-color: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.15s ease;
}
.radio-option__control::after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-primary);
  transform: scale(0);
  transition: transform 0.15s ease;
}

.radio-option__input:checked + .radio-option__control {
  border-color: var(--color-primary);
}
.radio-option__input:checked + .radio-option__control::after {
  transform: scale(1);
}

.radio-option__input:focus-visible + .radio-option__control {
  box-shadow: 0 0 0 3px var(--color-overlay-soft);
}

.radio-option__label {
  display: block;
  margin-bottom: 6px;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  color: var(--color-gray-700, #374151);
  line-height: 1.5;
}

.radio-option--disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.radio-option--disabled .radio-option__control {
  background-color: var(--color-surface-muted);
}

.checkbox-option {
  display: inline-flex;
  align-items: center;
  align-content: center;
  gap: 8px;
  cursor: pointer;
  position: relative;
  padding-left: 0;
  line-height: 1.4;
  user-select: none;
}

.checkbox-option__input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.checkbox-option__control {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  border: 2px solid var(--color-border-ghost);
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
}

.checkbox-option__icon {
  width: 12px;
  height: 10px;
  color: var(--color-white);
  opacity: 0;
  transform: scale(0.5);
  transition: all 0.15s ease;
}

.checkbox-option__input:checked + .checkbox-option__control {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}
.checkbox-option__input:checked + .checkbox-option__control .checkbox-option__icon {
  opacity: 1;
  transform: scale(1);
}

.checkbox-option__input:focus-visible + .checkbox-option__control {
  box-shadow: 0 0 0 3px var(--color-overlay-soft);
}

.checkbox-option__label {
  margin: 0;
  display: inline-block;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  color: var(--color-gray-600);
}

.checkbox-option--disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.checkbox-option--disabled .checkbox-option__control {
  background-color: var(--color-surface-muted);
}

.form-label {
  display: block;
  margin-bottom: var(--space-compact);
  font-family: var(--font-body);
  font-size: var(--font-sm);
  font-weight: 500;
  color: var(--color-gray-600);
}

.search-filter-tabs {
  display: inline-flex;
  align-items: stretch;
}

.search-filter-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  padding: var(--space-micro) var(--space-sm);
  border: none;
  background-color: var(--color-overlay-soft);
  font-family: var(--font-body);
  font-size: var(--font-md);
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-primary);
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.search-filter-tab:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.search-filter-tab:last-child {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.search-filter-tab:hover:not(.active) {
  background-color: var(--color-overlay-soft);
}
.search-filter-tab.active {
  background-color: var(--color-primary);
  color: var(--color-white);
  border-bottom: 2px solid var(--color-white);
}
.search-filter-tab:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-overlay-soft);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.search-filter-select {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  min-width: 0;
}

.search-filter-select__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  color: #7f7f7f;
}

.search-filter-select__label {
  flex: 1;
  margin: 0;
  font-weight: 400;
}

.search-filter-select__clear {
  background: none;
  border: none;
  padding: 0;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  color: #7f7f7f;
  cursor: pointer;
  transition: color 0.2s ease;
}
.search-filter-select__clear:hover {
  color: #000000;
}

.search-filter-select__dropdown {
  position: relative;
}

.search-filter-select__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  width: 100%;
  padding: var(--space-xs) var(--space-compact);
  background-color: var(--color-bg-dark);
  border: none;
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: var(--font-md);
  line-height: 1.5;
  color: var(--color-primary);
  cursor: pointer;
  transition: background-color 0.2s ease;
  text-align: left;
}
.search-filter-select__trigger:hover {
  background-color: var(--color-gray-200);
}
.search-filter-select__trigger:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-overlay-soft);
}

.search-filter-select__value {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.search-filter-select__icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  color: var(--color-primary);
  transition: transform 0.2s ease;
}
.search-filter-select__icon.rotated {
  transform: rotate(180deg);
}

.search-filter-select__menu {
  position: absolute;
  top: calc(100% + var(--space-xxs));
  left: 0;
  right: 0;
  z-index: 50;
  background-color: var(--color-white);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-md);
  max-height: 240px;
  overflow-y: auto;
}

.search-filter-select__option {
  display: block;
  width: 100%;
  padding: var(--space-micro) var(--space-compact);
  background: none;
  border: none;
  font-family: var(--font-body);
  font-size: var(--font-md);
  line-height: 1.5;
  color: var(--color-primary);
  text-align: left;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.search-filter-select__option:hover {
  background-color: var(--color-surface-muted);
}
.search-filter-select__option.selected {
  background-color: var(--color-bg-dark);
  font-weight: 500;
}

.transition-enter {
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.transition-enter-start {
  opacity: 0;
  transform: translateY(-4px);
}

.transition-enter-end {
  opacity: 1;
  transform: translateY(0);
}

.transition-leave {
  transition: opacity 0.1s ease, transform 0.1s ease;
}

.transition-leave-start {
  opacity: 1;
  transform: translateY(0);
}

.transition-leave-end {
  opacity: 0;
  transform: translateY(-4px);
}

.search-filters-row {
  display: flex;
  gap: 32px;
  padding: 24px 12px;
  background-color: #ffffff;
}
@media (max-width: 768px) {
  .search-filters-row {
    flex-direction: column;
    gap: 24px;
  }
}

.search-widget {
  display: flex;
  flex-direction: column;
  background-color: transparent;
  position: relative;
  z-index: 500;
  border-radius: 0;
  overflow: visible;
  width: 100%;
  max-width: 1040px;
  min-width: 840px;
  margin: 0 auto;
}
@media (max-width: 820px) {
  .search-widget {
    min-width: 100%;
    max-width: 100%;
  }
}
@media (max-width: 768px) {
  .search-widget {
    min-width: 0;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

.search-widget__body {
  background-color: var(--color-white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-floating);
}

.search-widget__tabs {
  display: inline-flex;
  align-items: stretch;
  background-color: transparent;
  margin-left: var(--space-lg);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
@media (max-width: 768px) {
  .search-widget__tabs {
    margin-left: 0;
    width: 100%;
    justify-content: center;
  }
}

.search-widget__tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  padding: var(--space-md) var(--space-lg);
}
@media (min-width: 769px) {
  .search-widget__tab {
    padding: calc(var(--space-sm) * 0.875) calc(var(--space-md) * 0.875);
  }
}
.search-widget__tab {
  margin: 0;
  border: none;
  background-color: var(--color-overlay-soft);
  font-family: var(--font-display);
  font-size: var(--font-md);
  font-weight: 700;
  letter-spacing: 0.5px;
  line-height: 1;
  color: var(--color-primary);
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  white-space: nowrap;
  vertical-align: top;
}
.search-widget__tab:hover:not(.active) {
  background-color: var(--color-overlay-soft);
}
.search-widget__tab.active {
  background-color: var(--color-primary);
  color: var(--color-white);
}
.search-widget__tab:focus {
  outline: none;
}
.search-widget__tab:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}

.search-widget__filters {
  display: flex;
  flex-wrap: nowrap;
  gap: 24px;
  padding: 16px 16px 16px;
  align-items: flex-end;
}
@media (max-width: 768px) {
  .search-widget__filters {
    flex-wrap: wrap;
    gap: 12px;
    padding: 12px;
  }
}
@media (max-width: 480px) {
  .search-widget__filters {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    padding: 12px;
  }
}

.search-widget__area-section {
  flex: 1.4 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.search-widget__filter {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: flex-start;
}
.search-widget__filter--medium {
  width: 154px;
}
@media (max-width: 480px) {
  .search-widget__filter {
    width: 100%;
    flex: 1 1 100%;
  }
}

.search-widget__search-button {
  flex: 0 0 auto;
  height: 52px;
  min-height: 52px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background-color: var(--color-accent, #bf2842);
  border: 1px solid var(--color-accent, #bf2842);
  border-radius: 6px;
  color: #ffffff;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  white-space: nowrap;
}
@media (max-width: 480px) {
  .search-widget__search-button {
    flex: 1 1 100%;
    width: 100%;
    height: 44px;
  }
}
.search-widget__search-button:hover {
  background-color: #a01f35;
  border-color: #a01f35;
}
.search-widget__search-button svg {
  flex-shrink: 0;
}

.search-widget__title {
  padding: 24px 24px 0;
  margin: 0;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #000000;
}

.search-widget__toggle-area {
  padding: 16px 22px 12px;
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: flex-start;
  flex-wrap: wrap;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  margin-top: 8px;
}
@media (max-width: 640px) {
  .search-widget__toggle-area {
    gap: 16px 0;
  }
  .search-widget__toggle-area .search-widget__toggle-row {
    flex: 0 0 100%;
  }
  .search-widget__toggle-area .search-widget__more-filters {
    width: auto;
    margin-left: auto;
    justify-content: flex-end;
  }
  .search-widget__toggle-area .search-widget__more-filters span {
    display: none;
  }
}

.search-widget__toggle-row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
  min-width: 0;
}

.search-widget__toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #000000;
  transition: opacity 0.2s ease;
}
.search-widget__toggle:hover {
  opacity: 0.7;
}
.search-widget__toggle:focus {
  outline: none;
}
.search-widget__toggle:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 2px;
  border-radius: 2px;
}

.search-widget__toggle-checkbox {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border: 2px solid #000000;
  border-radius: 2px;
  background-color: #ffffff;
  transition: all 0.2s ease;
}
.search-widget__toggle-checkbox.checked {
  background-color: #000000;
  border-color: #000000;
}
.search-widget__toggle-checkbox.checked::after {
  content: "✓";
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.search-widget__more-filters {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  background-color: transparent;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  color: var(--color-accent, #bf2842);
  line-height: 1.5;
  transition: all 200ms ease;
}
.search-widget__more-filters:hover {
  background-color: rgba(191, 40, 66, 0.1);
}
.search-widget__more-filters:focus-visible {
  background-color: rgba(191, 40, 66, 0.1);
  outline: 2px solid var(--color-accent, #bf2842);
  outline-offset: 2px;
}
.search-widget__more-filters[aria-expanded=true] {
  background-color: rgba(191, 40, 66, 0.15);
}
.search-widget__more-filters svg {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}

.search-widget__toggle-label {
  user-select: none;
}

.search-widget__body {
  background-color: #ffffff;
}

.search-widget__filter-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  color: #7f7f7f;
}

.search-widget__filter-label {
  flex: 1;
  margin: 0;
  font-weight: 400;
}

.search-widget__filter-clear {
  background: none;
  border: none;
  padding: 0;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  color: #7f7f7f;
  cursor: pointer;
  transition: color 0.2s ease;
}
.search-widget__filter-clear:hover {
  color: #000000;
}

.search-widget__dropdown {
  position: relative;
}

.search-widget__dropdown-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  width: 100%;
  padding: 0 var(--space-compact);
  background-color: var(--color-bg-dark);
  border: none;
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: var(--font-sm);
  line-height: 1.5;
  color: var(--color-primary);
  cursor: pointer;
  transition: background-color 0.2s ease;
  text-align: left;
  height: 52px;
  min-height: 52px;
}
.search-widget__dropdown-trigger:hover {
  background-color: var(--color-gray-200);
}
.search-widget__dropdown-trigger:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-overlay-soft);
}

.search-widget__input {
  display: block;
  width: 100%;
  padding: 0 var(--space-compact);
  background-color: var(--color-bg-dark);
  border: none;
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: var(--font-sm);
  line-height: 1.5;
  color: var(--color-primary);
  height: 52px;
  min-height: 52px;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
.search-widget__input:hover {
  background-color: var(--color-gray-200);
}
.search-widget__input:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-overlay-soft);
  background-color: var(--color-white);
}
.search-widget__input::placeholder {
  color: var(--color-gray-400);
}

.search-widget__dropdown-value {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: var(--font-sm);
}

.search-widget__dropdown-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  color: var(--color-primary);
  transition: transform 0.2s ease;
}
.search-widget__dropdown-icon.rotated {
  transform: rotate(180deg);
}

.search-widget__dropdown-menu {
  position: absolute;
  top: calc(100% + var(--space-xxs));
  left: 0;
  right: 0;
  z-index: 50;
  background-color: var(--color-white);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-md);
  max-height: 240px;
  overflow-y: auto;
}

.search-widget__dropdown-option {
  display: block;
  width: 100%;
  padding: var(--space-micro) var(--space-compact);
  background: none;
  border: none;
  font-family: var(--font-body);
  font-size: var(--font-md);
  line-height: 1.5;
  color: var(--color-primary);
  text-align: left;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.search-widget__dropdown-option:hover {
  background-color: var(--color-surface-muted);
}
.search-widget__dropdown-option.selected {
  background-color: var(--color-bg-dark);
  font-weight: 500;
}

.search-widget__area-section {
  padding: 0;
  width: 100%;
}

.search-widget__area-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 0;
}

.search-widget__area-input-wrapper {
  position: relative;
  display: flex;
  align-items: stretch;
  min-width: 0;
}

.search-widget__area-input-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-height: 52px;
  padding: 2px 40px 2px 12px;
  background-color: #f2f2f2;
  border-radius: 4px;
  cursor: text;
}

.search-widget__area-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 4px 0 0;
}

.search-widget__area-header {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  color: #7f7f7f;
}

.search-widget__area-label {
  flex: 1;
  margin: 0;
  font-weight: 400;
}

.search-widget__area-clear {
  background: none;
  border: none;
  padding: 0;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  color: #7f7f7f;
  cursor: pointer;
  transition: color 0.2s ease;
}
.search-widget__area-clear:hover {
  color: #000000;
}

.search-widget__area-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px 0;
}

.search-widget__area-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px;
  background-color: #000000;
  border-radius: 4px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  color: #ffffff;
}

.search-widget__area-tag-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  padding: 0;
  background: none;
  border: none;
  color: #ffffff;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.search-widget__area-tag-remove:hover {
  opacity: 0.7;
}
.search-widget__area-tag-remove svg {
  width: 100%;
  height: 100%;
}

.search-widget__area-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.search-widget__area-input {
  flex: 1 1 120px;
  min-width: 140px;
  padding: 2px 0;
  background-color: transparent;
  border: none;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  color: #000000;
  outline: none;
}
.search-widget__area-input::placeholder {
  color: #7f7f7f;
}

.search-widget__area-overflow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  background-color: #000000;
  color: #ffffff;
  border-radius: 999px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  border: none;
  cursor: pointer;
}

.search-widget__area-input-icon {
  position: absolute;
  right: 12px;
  width: 24px;
  height: 24px;
  color: #000000;
  pointer-events: none;
  transition: transform 0.2s ease;
}
.search-widget__area-input-icon.is-open {
  transform: rotate(180deg);
}

.search-widget__area-results {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 300;
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  max-height: 240px;
  overflow-y: auto;
}

.search-widget__area-result {
  display: block;
  width: 100%;
  padding: 10px 12px;
  background: none;
  border: none;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.5;
  color: #000000;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.search-widget__area-result:hover {
  background-color: #f3f4f6;
}
.search-widget__area-result.selected {
  background-color: rgba(191, 40, 66, 0.05);
}

.search-widget__nearby-section {
  border-top: 1px solid #e5e7eb;
  margin-top: 8px;
  padding-top: 8px;
}

.search-widget__nearby-label {
  padding: 8px 16px 4px;
  font-size: 11px;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.search-widget__area-result--nearby {
  color: #6b7280;
}
.search-widget__area-result--nearby:hover {
  background-color: #f9fafb;
  color: #374151;
}
.search-widget__area-result--nearby.selected {
  background-color: rgba(191, 40, 66, 0.05);
  color: var(--color-accent, #bf2842);
}

.search-widget__histogram {
  margin-top: 16px;
  margin-bottom: 16px;
}

.search-widget__filter-section-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 0 0 32px;
}

.search-widget__filter-section-title {
  font-size: var(--font-sm);
  font-weight: 600;
  color: var(--color-primary);
  margin: 0 0 16px;
}

.search-widget__filter-section-header .search-widget__filter-section-title {
  margin: 0;
}

.search-widget__filter-clear-btn {
  font-size: var(--font-sm);
  font-weight: 400;
  color: var(--color-gray-500);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
}
.search-widget__filter-clear-btn:hover {
  color: var(--color-primary);
}

.search-widget__filter-options {
  display: flex;
  justify-content: space-around;
}
.search-widget__filter-options .checkbox-option__label {
  white-space: nowrap;
}

.search-widget__histogram-bars {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  height: 80px;
  padding-bottom: 8px;
}

.search-widget__histogram-bar-wrapper {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  padding: 4px 2px;
  border-radius: 4px;
}
.search-widget__histogram-bar-wrapper:hover .search-widget__histogram-bar {
  background-color: var(--color-gray-400);
}
.search-widget__histogram-bar-wrapper.active .search-widget__histogram-bar {
  background-color: var(--color-accent, #bf2842);
}

.search-widget__histogram-bar {
  width: 100%;
  min-height: 4px;
  background-color: var(--color-gray-300);
  border-radius: 2px 2px 0 0;
  transition: background-color 0.15s ease;
}

.search-widget__histogram-label {
  font-size: 10px;
  color: #6b7280;
  margin-top: 4px;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.search-widget__histogram-total {
  text-align: center;
  font-size: 13px;
  color: #6b7280;
  padding-top: 8px;
  border-top: 1px solid #e5e7eb;
}

.search-widget__search-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  padding: 0 24px;
  background-color: var(--color-accent, #bf2842);
  border: 1px solid var(--color-accent, #bf2842);
  border-radius: 6px;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  color: #ffffff;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  white-space: nowrap;
}
.search-widget__search-button:hover {
  background-color: #a01f34;
  border-color: #a01f34;
}
.search-widget__search-button:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(191, 40, 66, 0.2);
}

@media (max-width: 768px) {
  .search-widget__area-input {
    font-size: 14px;
  }
  .search-widget__area-tag {
    font-size: 11px;
  }
}
.transition-enter {
  transition: opacity 0.15s ease-in, transform 0.15s ease-in;
}

.transition-enter-start {
  opacity: 0;
  transform: translateY(-4px);
}

.transition-enter-end {
  opacity: 1;
  transform: translateY(0);
}

.transition-leave {
  transition: opacity 0.15s ease-out, transform 0.15s ease-out;
}

.transition-leave-start {
  opacity: 1;
  transform: translateY(0);
}

.transition-leave-end {
  opacity: 0;
  transform: translateY(-4px);
}

.stats {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}

.stats__item {
  min-width: 0;
}

.stats__value {
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
  color: #000000;
}

.stats__label {
  margin-top: 4px;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  color: #6b7280;
}

.stats-band {
  background-color: #000000;
  color: #ffffff;
  padding: 32px 0;
}
.stats-band__container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 64px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 32px;
}
.stats-band__item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.stats-band__eyebrow {
  font-family: var(--font-body);
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
}
.stats-band__description {
  font-family: "Gelasio", var(--font-heading);
  font-size: 18px;
  line-height: 1.5;
  margin: 0;
  color: #ffffff;
}
@media (max-width: 768px) {
  .stats-band {
    padding: 24px 0;
  }
  .stats-band__container {
    padding: 0 24px;
    gap: 24px;
  }
  .stats-band__description {
    font-size: 16px;
  }
}

.cta {
  background-color: var(--color-secondary);
  color: #f2f2f2;
  padding-top: var(--space-4xl);
  padding-bottom: var(--space-4xl);
}
.cta__inner {
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-3xl);
}
.cta__content {
  max-width: 768px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
}
.cta__heading {
  font-family: "Gelasio", var(--font-heading);
  font-weight: 400;
  font-size: var(--font-5xl);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #f2f2f2;
  margin: 0;
}
.cta__body {
  font-family: var(--font-body);
  font-size: var(--font-lg);
  line-height: 1.5;
  margin: 0;
  color: #f2f2f2;
}
.cta__actions {
  display: flex;
  gap: var(--space-sm);
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.cta__link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-compact) var(--space-md);
  font-family: var(--font-display);
  font-size: var(--font-sm);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: #f2f2f2;
  border: none;
  border-radius: 0;
  background: transparent;
}
.cta__link span {
  display: inline-block;
}
.cta__link svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
}
.cta__link:hover, .cta__link:focus {
  color: var(--color-white);
  border-color: rgba(255, 255, 255, 0.8);
  background-color: rgba(255, 255, 255, 0.08);
  text-decoration: none;
}
.cta .btn.btn-primary {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
  color: var(--color-white);
}
.cta .btn.btn-primary:hover {
  background-color: var(--color-accent-dark);
  border-color: var(--color-accent-dark);
}
.cta .btn.btn-secondary {
  background-color: rgba(0, 0, 0, 0.05);
  border-color: transparent;
  color: #f2f2f2;
}
.cta .btn.btn-secondary:hover {
  background-color: rgba(0, 0, 0, 0.12);
  color: var(--color-white);
}
.cta.cta--light {
  background-color: transparent;
  color: #0f1f2c;
}
.cta.cta--light .cta__heading,
.cta.cta--light .cta__body {
  color: currentColor;
}
.cta.cta--light .cta__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xxs, 6px);
  white-space: nowrap;
}
.cta.cta--light .cta__link span {
  display: flex;
  align-items: center;
}
.cta.cta--light .cta__link {
  padding: 0;
  border: none;
  background: transparent;
  color: currentColor;
}
.cta.cta--light .btn.btn-primary {
  color: #ffffff;
}
.cta.cta--light .btn-link-dark {
  color: var(--color-primary);
  font-weight: 600;
}
.cta.cta--light .btn-link-dark svg {
  stroke: currentColor;
}
.cta.cta--light .btn-link-dark:hover {
  color: var(--color-primary-dark);
  opacity: 0.85;
}
@media (max-width: 767px) {
  .cta {
    padding-top: var(--space-4xl);
    padding-bottom: var(--space-4xl);
  }
  .cta__heading {
    font-size: var(--font-4xl);
  }
  .cta__body {
    font-size: 16px;
  }
}

.page-hero {
  position: relative;
  padding: var(--space-4xl) var(--space-section);
  color: var(--color-white);
  text-align: center;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  overflow: hidden;
  background-color: var(--color-gray-600);
}
.page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(52, 52, 52, var(--page-hero-overlay-opacity, 0.7));
  pointer-events: none;
  z-index: 1;
}
.page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--page-hero-bg);
  background-size: cover;
  background-position: var(--page-hero-bg-position, center);
  filter: none;
  z-index: 0;
}
.page-hero__container {
  position: relative;
  z-index: 2;
  max-width: 1440px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  justify-content: center;
}
.page-hero__content {
  max-width: 768px;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: center;
}
.page-hero__title {
  font-family: "Gelasio", var(--font-heading);
  font-weight: 400;
  font-size: var(--font-4xl);
  line-height: 1.3;
  letter-spacing: -0.4px;
  text-transform: none;
  text-align: center;
  margin: 0;
  color: var(--color-white);
}
.page-hero__subtitle {
  font-family: var(--font-body);
  font-size: var(--font-lg);
  line-height: 1.5;
  text-align: center;
  margin: 0;
  color: var(--color-white);
}

.page-hero--stacked-media {
  background-color: var(--color-white);
  color: var(--color-gray-600);
  padding-bottom: 0;
  opacity: 1;
  filter: none;
}
.page-hero--stacked-media::before, .page-hero--stacked-media::after {
  display: none;
}
.page-hero--stacked-media .page-hero__content {
  align-items: center;
  margin: 0 auto;
  padding-bottom: var(--space-3xl);
  text-align: center;
}
.page-hero--stacked-media .page-hero__title,
.page-hero--stacked-media .page-hero__subtitle {
  color: #111111;
}
.page-hero--stacked-media .page-hero__subtitle {
  max-width: 720px;
}
.page-hero--stacked-media .page-hero__media {
  width: min(100%, 1440px);
  height: clamp(320px, 48vw, 620px);
  margin: 0 auto;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0.85;
}

@media (max-width: 1024px) {
  .page-hero {
    padding: var(--space-4xl) var(--space-2xl);
  }
  .page-hero__title {
    font-size: var(--font-4xl);
    letter-spacing: -0.36px;
  }
}
@media (max-width: 768px) {
  .page-hero {
    padding: var(--space-4xl) var(--space-md);
  }
  .page-hero__title {
    font-size: var(--font-3xl);
    letter-spacing: -0.32px;
  }
  .page-hero__subtitle {
    font-size: var(--font-sm);
  }
  .page-hero--stacked-media .page-hero__content {
    padding-bottom: var(--space-2xl);
  }
}
.region-mega {
  color: #000000;
}
.region-mega__filters {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 0;
}
.region-mega__filter-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 16px;
  margin: 0;
  border: none;
  background-color: var(--color-gray-100, #f3f3f3);
  font-family: "tradegothic", Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.5px;
  line-height: 1;
  color: #000000;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  white-space: nowrap;
  vertical-align: top;
}
.region-mega__filter-btn:hover:not(.active) {
  background-color: var(--color-gray-200, #e6e6e6);
}
.region-mega__filter-btn.active {
  background-color: var(--color-primary, #000000);
  color: #ffffff;
}
.region-mega__tab-container {
  background-color: transparent;
  border-radius: 4px;
  overflow: hidden;
  margin-top: 0;
}
.region-mega__tabs {
  display: flex;
  border-bottom: none;
}
.region-mega__tab {
  flex: 1 1 0;
  padding: var(--space-sm) var(--space-md);
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #000000;
  background-color: transparent;
  border: none;
  border-bottom: 8px solid transparent;
  cursor: pointer;
  transition: color 0.2s ease;
}
.region-mega__tab:hover {
  color: #000000;
}
.region-mega__tab.is-active {
  color: #000000;
  position: relative;
  z-index: 2;
}
.region-mega__content {
  padding: var(--space-xl);
}
.region-mega__columns {
  display: flex;
  gap: var(--space-xl);
  flex-wrap: wrap;
}
.region-mega__column {
  flex: 1 1 140px;
  min-width: 140px;
}
.region-mega__column-title {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  color: #ffffff;
  margin-bottom: var(--space-md);
}
.region-mega__link-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.region-mega__link {
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.85);
  padding: 8px 0;
  text-decoration: none;
  transition: color 0.2s ease;
}
.region-mega__link:hover {
  color: #ffffff;
  text-decoration: underline;
}
@media (max-width: 991px) {
  .region-mega__tabs {
    flex-wrap: wrap;
  }
  .region-mega__tab {
    flex: 1 1 calc(50% - 1px);
    min-width: 120px;
  }
  .region-mega__columns {
    gap: var(--space-xl);
  }
  .region-mega__column {
    flex: 1 1 calc(50% - var(--space-xl));
  }
}
@media (max-width: 767px) {
  .region-mega__filters {
    gap: var(--space-sm);
  }
  .region-mega__tab {
    flex: 1 1 100%;
    padding: var(--space-md) var(--space-lg);
    font-size: 14px;
  }
  .region-mega__content {
    padding: var(--space-xl);
  }
  .region-mega__columns {
    flex-direction: column;
    gap: var(--space-lg);
  }
  .region-mega__column {
    flex: 1 1 100%;
  }
}

.region-mega__filter-btn.active {
  background-color: var(--color-primary, #000000) !important;
  color: #ffffff !important;
}

.styleguide-sections-preview .cta {
  margin-top: var(--space-xl);
}
.styleguide-sections-preview .region-mega {
  margin-top: var(--space-xl);
  overflow: hidden;
}
.styleguide-sections-preview .split-feature__list {
  padding-left: 0;
  margin: 0;
}
.styleguide-sections-preview .split-feature__list li {
  list-style: none;
}
.styleguide-sections-preview .split-feature__icon {
  display: inline-flex;
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  flex-shrink: 0;
}
.styleguide-sections-preview .split-feature__icon-image {
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  object-fit: contain;
  display: block;
}
.styleguide-sections-preview .split-feature__image {
  background-size: cover;
  background-position: center;
  min-height: 400px;
}
@media (max-width: 1024px) {
  .styleguide-sections-preview .split-feature__image {
    min-height: 320px;
  }
}
@media (max-width: 768px) {
  .styleguide-sections-preview .split-feature__image {
    min-height: 240px;
  }
}
.styleguide-sections-preview .why-choose-us__image-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.styleguide-sections-preview .included-benefits__media {
  display: flex;
  align-items: stretch;
}
.styleguide-sections-preview .included-benefits__image {
  width: 100%;
  height: 100%;
  min-height: 360px;
}
@media (max-width: 768px) {
  .styleguide-sections-preview .included-benefits__image {
    min-height: 240px;
  }
}
.styleguide-sections-preview .included-benefits__image-img {
  height: 100%;
}
.styleguide-sections-preview .why-choose-us__features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
  margin-top: var(--space-2xl);
}
@media (max-width: 768px) {
  .styleguide-sections-preview .why-choose-us__features {
    grid-template-columns: 1fr;
  }
}
.styleguide-sections-preview .why-choose-us__feature {
  display: flex;
  gap: var(--space-md);
}
.styleguide-sections-preview .why-choose-us__icon {
  display: inline-flex;
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  flex-shrink: 0;
}
.styleguide-sections-preview .why-choose-us__icon-image {
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  object-fit: contain;
  display: block;
}
.styleguide-sections-preview .why-choose-us__feature-title {
  font-family: var(--font-ui);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: #000000;
  margin-bottom: 6px;
}
.styleguide-sections-preview .why-choose-us__feature-body {
  color: var(--color-gray-600);
  font-size: 14px;
  line-height: 1.6;
}
.styleguide-sections-preview .included-benefits__row {
  padding: var(--space-3xl) 0;
}
@media (min-width: 992px) {
  .styleguide-sections-preview .included-benefits__row {
    align-items: stretch;
  }
}
.styleguide-sections-preview .included-benefits__media {
  display: flex;
  align-items: stretch;
}
.styleguide-sections-preview .included-benefits__image {
  width: 100%;
  height: 100%;
  min-height: 360px;
}
@media (max-width: 768px) {
  .styleguide-sections-preview .included-benefits__image {
    min-height: 240px;
  }
}
.styleguide-sections-preview .included-benefits__image-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.styleguide-sections-preview .included-benefits__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
  margin-top: var(--space-4xl);
}
@media (max-width: 768px) {
  .styleguide-sections-preview .included-benefits__items {
    grid-template-columns: 1fr;
  }
}
.styleguide-sections-preview .included-benefits__item {
  display: flex;
  gap: var(--space-md);
}
.styleguide-sections-preview .included-benefits__icon {
  display: inline-flex;
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  flex-shrink: 0;
}
.styleguide-sections-preview .included-benefits__icon-image {
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  object-fit: contain;
  display: block;
}
.styleguide-sections-preview .included-benefits__item-title {
  font-family: var(--font-ui);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: #000000;
  margin-bottom: 6px;
}
.styleguide-sections-preview .included-benefits__item-body {
  color: var(--color-gray-600);
  font-size: 14px;
  line-height: 1.6;
}
.styleguide-sections-preview .insurance-hero__header {
  max-width: 720px;
}
.styleguide-sections-preview .insurance-hero__images {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
  margin-top: var(--space-3xl);
  margin-bottom: var(--space-3xl);
}
@media (max-width: 768px) {
  .styleguide-sections-preview .insurance-hero__images {
    grid-template-columns: 1fr;
  }
}
.styleguide-sections-preview .insurance-hero__image {
  border-radius: 10px;
  overflow: hidden;
  background-color: #f3f1ec;
}
.styleguide-sections-preview .insurance-hero__image-img {
  display: block;
  width: 100%;
  height: 320px;
  object-fit: cover;
}
@media (max-width: 768px) {
  .styleguide-sections-preview .insurance-hero__image-img {
    height: 240px;
  }
}
.styleguide-sections-preview .insurance-hero__trusted {
  text-align: center;
  padding-top: var(--space-xl);
  border-top: 1px solid rgba(0, 0, 0, 0.12);
}
.styleguide-sections-preview .insurance-hero__trusted-line {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--color-gray-600);
  margin-bottom: var(--space-xl);
}
.styleguide-sections-preview .insurance-hero__logos {
  display: flex;
  justify-content: center;
  gap: var(--space-2xl);
  flex-wrap: wrap;
}
.styleguide-sections-preview .insurance-hero__logo {
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.65;
}
.styleguide-sections-preview .insurance-hero__logo-img {
  height: 22px;
  width: auto;
  display: block;
}
.styleguide-sections-preview .broker-agent-alt__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-xl);
}
@media (max-width: 992px) {
  .styleguide-sections-preview .broker-agent-alt__grid {
    grid-template-columns: 1fr;
  }
}
.styleguide-sections-preview .broker-agent-alt__quote {
  background-color: #ff6a00;
  border-radius: 10px;
  overflow: hidden;
  min-height: 320px;
}
.styleguide-sections-preview .broker-agent-alt__quote-inner {
  padding: var(--space-2xl);
  display: flex;
  flex-direction: column;
  height: 100%;
  color: #ffffff;
}
.styleguide-sections-preview .broker-agent-alt__quote-icon {
  width: 24px;
  height: 24px;
  margin-bottom: var(--space-xl);
  opacity: 0.95;
}
.styleguide-sections-preview .broker-agent-alt__quote-icon-image {
  width: 100%;
  height: 100%;
  display: block;
  filter: brightness(0) invert(1);
}
.styleguide-sections-preview .broker-agent-alt__quote-text {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.7;
  margin-bottom: var(--space-xl);
  max-width: 420px;
}
.styleguide-sections-preview .broker-agent-alt__quote-author {
  margin-top: auto;
}
.styleguide-sections-preview .broker-agent-alt__quote-author-name {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 13px;
}
.styleguide-sections-preview .broker-agent-alt__quote-author-title {
  font-family: var(--font-body);
  font-size: 12px;
  opacity: 0.9;
}
.styleguide-sections-preview .broker-agent-alt__card {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  min-height: 320px;
  background-color: #f3f1ec;
}
.styleguide-sections-preview .broker-agent-alt__card-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.styleguide-sections-preview .broker-agent-alt__card-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: var(--space-md) var(--space-lg);
  background: linear-gradient(to top, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0));
  color: #ffffff;
}
.styleguide-sections-preview .broker-agent-alt__card-name {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 2px;
}
.styleguide-sections-preview .broker-agent-alt__card-title {
  font-family: var(--font-body);
  font-size: 11px;
  opacity: 0.9;
}
.styleguide-sections-preview .blog-alt__header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: var(--space-lg);
  margin-bottom: var(--space-2xl);
}
@media (max-width: 768px) {
  .styleguide-sections-preview .blog-alt__header {
    grid-template-columns: 1fr;
    justify-items: start;
  }
}
.styleguide-sections-preview .blog-alt__tagline {
  font-family: var(--font-ui);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 12px;
  color: var(--color-gray-600);
}
.styleguide-sections-preview .blog-alt__title {
  font-family: var(--font-heading);
  font-size: 28px;
  font-weight: 400;
  margin: 0;
  color: #000000;
  text-align: center;
}
@media (max-width: 768px) {
  .styleguide-sections-preview .blog-alt__title {
    text-align: left;
  }
}
.styleguide-sections-preview .blog-alt__header-right {
  justify-self: end;
}
@media (max-width: 768px) {
  .styleguide-sections-preview .blog-alt__header-right {
    justify-self: start;
  }
}
.styleguide-sections-preview .blog-alt__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-xl);
}
@media (max-width: 992px) {
  .styleguide-sections-preview .blog-alt__grid {
    grid-template-columns: 1fr;
  }
}
.styleguide-sections-preview .blog-alt__card {
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
}
.styleguide-sections-preview .blog-alt__card-image {
  border-radius: 10px;
  overflow: hidden;
  background-color: #f3f1ec;
  aspect-ratio: 4/3;
}
.styleguide-sections-preview .blog-alt__card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.styleguide-sections-preview .blog-alt__card-body {
  padding-top: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.styleguide-sections-preview .blog-alt__tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.styleguide-sections-preview .blog-alt__tag {
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 600;
  color: var(--color-gray-600);
  background-color: rgba(0, 0, 0, 0.06);
  padding: 2px 8px;
  border-radius: 999px;
}
.styleguide-sections-preview .blog-alt__card-title {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.3;
  margin: 0;
}
.styleguide-sections-preview .blog-alt__card-title a {
  color: #000000;
  text-decoration: none;
}
.styleguide-sections-preview .blog-alt__card-title a:hover {
  color: var(--color-accent);
}
.styleguide-sections-preview .blog-alt__card-excerpt {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.6;
  color: var(--color-gray-600);
  margin: 0;
}
.styleguide-sections-preview .blog-alt__card-link {
  font-family: var(--font-ui);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 12px;
  color: #000000;
  text-decoration: none;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
  width: fit-content;
  margin-top: var(--space-sm);
}
.styleguide-sections-preview .blog-alt__card-link:hover {
  border-bottom-color: rgba(0, 0, 0, 0.6);
}

.styleguide-sidebar {
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  padding-right: 24px;
}
.styleguide-sidebar a {
  color: #666;
  transition: color 0.2s ease;
}
.styleguide-sidebar a:hover {
  color: #000;
}

.south-africa-contact-map-preview-page {
  padding: var(--space-4xl) 0 var(--space-6xl);
  background: linear-gradient(180deg, #f4f2ef 0%, #ffffff 20%);
}

.south-africa-contact-map-preview-page__intro {
  max-width: 720px;
  padding-bottom: var(--space-4xl);
}

.south-africa-contact-map {
  background: #ffffff;
}

.south-africa-contact-map--full-bleed {
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
}

.south-africa-contact-map__hero {
  margin-bottom: var(--space-3xl);
}

.south-africa-contact-map__hero-media {
  overflow: hidden;
  border-radius: 28px;
  background: #d9ddd8;
  min-height: 320px;
}

.south-africa-contact-map__hero-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
}

.south-africa-contact-map__body {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: var(--space-3xl);
  align-items: start;
}

.south-africa-contact-map__content {
  max-width: 560px;
}

.south-africa-contact-map__eyebrow {
  font-family: var(--font-display);
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: var(--space-sm);
}

.south-africa-contact-map__title {
  margin-bottom: var(--space-md);
}

.south-africa-contact-map__intro,
.south-africa-contact-map__province-summary {
  color: var(--color-gray-600);
  font-size: 16px;
  line-height: 1.65;
}

.south-africa-contact-map__benefits {
  margin: var(--space-xl) 0;
  padding-left: 20px;
}
.south-africa-contact-map__benefits li + li {
  margin-top: var(--space-xs);
}

.south-africa-contact-map__selector-wrap {
  margin-bottom: var(--space-xl);
}

.south-africa-contact-map__selector-label {
  display: block;
  margin-bottom: var(--space-xs);
  font-size: 14px;
  color: var(--color-gray-600);
}

.south-africa-contact-map__selector {
  width: 100%;
  min-height: 52px;
  border: 1px solid #d9ddd8;
  border-radius: 10px;
  background: #f7f7f4;
  padding: 0 16px;
  font-size: 15px;
  color: var(--color-primary);
}

.south-africa-contact-map__province-card {
  background: #f8f5f0;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 20px;
  padding: var(--space-xl);
}

.south-africa-contact-map__badge-row {
  display: flex;
  justify-content: flex-start;
  margin-bottom: var(--space-lg);
}

.south-africa-contact-map__team-badges {
  display: flex;
  align-items: center;
}

.south-africa-contact-map__team-badge {
  display: inline-flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 2px solid #ffffff;
  background: #123f3a;
  color: #ffffff;
  font-family: var(--font-display);
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.south-africa-contact-map__team-badge + .south-africa-contact-map__team-badge {
  margin-left: -10px;
}

.south-africa-contact-map__province-name {
  font-family: var(--font-heading);
  font-size: 30px;
  line-height: 1.15;
  color: var(--color-primary);
  margin-bottom: var(--space-sm);
}

.south-africa-contact-map__contact-links {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  margin: var(--space-lg) 0;
}

.south-africa-contact-map__contact-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--color-primary);
  text-decoration: none;
  font-size: 15px;
}
.south-africa-contact-map__contact-link:hover {
  color: var(--color-accent);
  text-decoration: none;
}

.south-africa-contact-map__contact-icon {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(18, 63, 58, 0.1);
  color: #123f3a;
  font-size: 12px;
  font-weight: 700;
}

.south-africa-contact-map__offices {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: var(--space-lg);
}

.south-africa-contact-map__office-pill {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  font-size: 13px;
  color: var(--color-primary);
}

.south-africa-contact-map__map-panel {
  position: sticky;
  top: 104px;
}

.south-africa-contact-map__map-shell {
  background: linear-gradient(180deg, #f3f0ea 0%, #ffffff 100%);
  border-radius: 28px;
  padding: clamp(20px, 3vw, 32px);
  overflow: hidden;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.14);
}

.south-africa-contact-map__map-figure {
  position: relative;
}

.south-africa-contact-map__map-image {
  display: block;
  width: 100%;
  height: auto;
}

.south-africa-contact-map__hotspot {
  position: absolute;
  width: 28px;
  height: 28px;
  margin: -14px 0 0 -14px;
  border: 4px solid #154844;
  border-radius: 999px;
  background: rgba(21, 72, 68, 0.14);
  box-shadow: 0 0 0 0 rgba(217, 147, 95, 0.45);
  transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.south-africa-contact-map__hotspot:hover, .south-africa-contact-map__hotspot:focus-visible, .south-africa-contact-map__hotspot.is-active {
  background: #d9935f;
  transform: scale(1.12);
  box-shadow: 0 0 0 8px rgba(217, 147, 95, 0.18);
  outline: none;
}

.south-africa-contact-map__hotspot--wc {
  left: 29%;
  top: 74%;
}

.south-africa-contact-map__hotspot--nc {
  left: 30%;
  top: 43%;
}

.south-africa-contact-map__hotspot--ec {
  left: 52%;
  top: 78%;
}

.south-africa-contact-map__hotspot--fs {
  left: 50%;
  top: 59%;
}

.south-africa-contact-map__hotspot--nw {
  left: 52%;
  top: 42%;
}

.south-africa-contact-map__hotspot--gp {
  left: 60%;
  top: 41%;
  width: 24px;
  height: 24px;
  margin: -12px 0 0 -12px;
}

.south-africa-contact-map__hotspot--kzn {
  left: 72%;
  top: 62%;
}

.south-africa-contact-map__hotspot--mp {
  left: 70%;
  top: 35%;
}

.south-africa-contact-map__hotspot--lp {
  left: 70%;
  top: 18%;
}

.south-africa-contact-map__map-active-label {
  position: absolute;
  top: 18px;
  left: 18px;
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  background: rgba(15, 36, 48, 0.82);
  color: #ffffff;
  font-family: var(--font-ui);
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

@media (max-width: 991px) {
  .south-africa-contact-map__body {
    grid-template-columns: 1fr;
  }
  .south-africa-contact-map__map-panel {
    position: static;
  }
}
@media (max-width: 767px) {
  .south-africa-contact-map-preview-page {
    padding-top: var(--space-3xl);
  }
  .south-africa-contact-map__hero-media,
  .south-africa-contact-map__hero-image {
    min-height: 220px;
  }
  .south-africa-contact-map__province-card {
    padding: var(--space-lg);
  }
  .south-africa-contact-map__province-name {
    font-size: 26px;
  }
  .south-africa-contact-map__map-shell {
    padding: 16px;
  }
  .south-africa-contact-map__hotspot {
    width: 22px;
    height: 22px;
    margin: -11px 0 0 -11px;
    border-width: 3px;
  }
  .south-africa-contact-map__hotspot--gp {
    width: 18px;
    height: 18px;
    margin: -9px 0 0 -9px;
  }
}
.services-section {
  background-color: #e8e7e3;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.services-section__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-xl);
  margin-bottom: var(--space-2xl);
}
@media (max-width: 768px) {
  .services-section__header {
    flex-direction: column;
    align-items: flex-start;
  }
}

.services-section__cta {
  flex-shrink: 0;
}

.services-section__grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: var(--space-xl) !important;
}
@media (min-width: 1024px) {
  .services-section__grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
.services-section__grid {
  width: 100% !important;
}
@media (min-width: 1200px) {
  .services-section__grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 640px) {
  .services-section__grid {
    grid-template-columns: 1fr !important;
  }
}

.services-section__card {
  background-color: transparent !important;
  border-radius: 0 !important;
  padding: var(--space-lg) !important;
  min-height: 280px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--space-md);
  border: none;
}
@media (max-width: 767px) {
  .services-section__card {
    border: 1.7px solid rgba(0, 0, 0, 0.1);
    border-radius: 6px !important;
  }
}

.services-section__card-icon {
  margin-bottom: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background-color: #000000;
  border-radius: 4px;
  padding: 8px;
  flex-shrink: 0;
}
.services-section__card-icon svg {
  width: 24px;
  height: 24px;
}

@media (min-width: 1024px) {
  .services-section__grid {
    position: relative;
    gap: 0 !important;
  }
  .services-section__grid::before,
  .services-section__grid::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0;
    border-left: 1.7px solid #000000;
    pointer-events: none;
  }
  .services-section__grid::before {
    left: 33.3333333333%;
  }
  .services-section__grid::after {
    left: 66.6666666667%;
  }
  .services-section__card {
    border: none;
  }
  .services-section__card:nth-child(-n+3) {
    border-bottom: 1.7px solid #000000;
  }
}
.services-section__card-icon-img {
  width: 24px;
  height: 24px;
  filter: brightness(0) invert(1);
}

.services-section__card-title {
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: 22px;
  line-height: 1.3;
  margin-bottom: var(--space-md);
  color: #000000;
}

.services-section__card-body {
  color: var(--color-gray-700);
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 0;
  margin-top: auto;
}

.services-section__card-link {
  font-family: var(--font-ui);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 12px;
  color: #000000;
  text-decoration: none;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
  width: fit-content;
}

.services-section__card-link:hover {
  border-bottom-color: rgba(0, 0, 0, 0.6);
}

.contact-form-only {
  background-color: var(--color-bg-dark);
  border-radius: var(--radius-md);
  padding: var(--space-2xl);
}
.contact-form-only__header {
  margin-bottom: var(--space-md);
}
.contact-form-only__title {
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: var(--font-2xl);
  line-height: 1.3;
  margin: 0 0 var(--space-xs) 0;
  color: var(--color-primary);
}
.contact-form-only__subtitle {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  line-height: 1.5;
  margin: 0;
  color: var(--color-gray-500);
}
@media (max-width: 768px) {
  .contact-form-only {
    padding: var(--space-md);
  }
  .contact-form-only__title {
    font-size: var(--font-xl);
  }
}
.contact-form-only--bare {
  background-color: transparent;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}
.contact-form-only--bare .contact-form-only__title {
  font-size: var(--font-3xl);
}
.contact-form-only--bare .contact-form-only__subtitle {
  font-size: var(--font-md);
}

.services-mosaic__header {
  display: none;
}

.services-mosaic__cta {
  flex-shrink: 0;
}

.services-mosaic-region {
  padding-top: var(--space-4xl);
  padding-bottom: var(--space-4xl);
}
@media (max-width: 768px) {
  .services-mosaic-region {
    padding-top: var(--space-3xl);
    padding-bottom: var(--space-3xl);
  }
}

.services-mosaic__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
}
@media (max-width: 1024px) {
  .services-mosaic__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .services-mosaic__grid {
    grid-template-columns: 1fr;
  }
}

.services-mosaic__tabs.search-widget__tabs {
  margin-left: 0;
  border-radius: 0;
  justify-content: flex-start;
}

.services-mosaic__tabs .search-widget__tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 8px;
  margin-right: 24px;
  background-color: transparent;
  border-radius: 0;
  border: 0;
  font-family: "tradegothic", Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  text-transform: uppercase;
  color: #000000;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: all 0.3s ease;
  white-space: nowrap;
  vertical-align: top;
}
@media (max-width: 767px) {
  .services-mosaic__tabs .search-widget__tab {
    font-size: var(--font-sm);
  }
}

.services-mosaic__tabs .search-widget__tab:hover:not(.active) {
  background-color: transparent;
  color: #000000;
}

.services-mosaic__tabs .search-widget__tab.active {
  border-bottom-color: #bf2842;
  color: #bf2842;
  font-weight: 500;
}

.services-mosaic__tile {
  border-radius: var(--radius-card);
  overflow: hidden;
  min-height: 260px;
  opacity: 1;
}
@media (max-width: 640px) {
  .services-mosaic__tile {
    min-height: auto;
  }
}

.services-mosaic__tile--image {
  background-color: #f3f1ec;
}

.services-mosaic__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.editorial-treatment {
  opacity: 0.9;
}

.services-mosaic__image.editorial-treatment,
.blog-card__image img.editorial-treatment,
.area-guides-dark-panels-section__image.editorial-treatment,
.advantage-tabs__image-item img.editorial-treatment,
.timeline-section__milestone-image.editorial-treatment img,
.split-feature__image.editorial-treatment,
.team-section__image.editorial-treatment,
.team-section__image img.editorial-treatment,
.team-section__image.editorial-treatment img {
  opacity: 0.9;
}

.page-hero.editorial-treatment::after {
  opacity: 0.85;
}

.services-mosaic__tile--service {
  background-color: rgba(0, 0, 0, 0.05);
  padding: var(--space-xl);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: var(--space-sm, 16px);
}
@media (max-width: 640px) {
  .services-mosaic__tile--service {
    padding: var(--space-lg);
  }
}

.search-area-services-card.services-mosaic__tile--service {
  background-color: transparent;
  padding-top: 0;
  animation: none;
  opacity: 1;
}

.services-mosaic__tile--wide {
  grid-column: span 2;
  padding: var(--space-xl);
}
@media (max-width: 640px) {
  .services-mosaic__tile--wide {
    grid-column: span 1;
    padding: var(--space-lg);
  }
}

.services-mosaic__tile-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}

.services-mosaic__location-name {
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: 24px;
  line-height: 1.2;
  color: #000000;
  margin-bottom: var(--space-sm, 16px);
}

.services-mosaic__location-description {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.5;
  color: var(--color-gray-500, rgba(0, 0, 0, 0.5));
  margin-bottom: var(--space-md);
}

.services-mosaic__location-links {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: auto;
}
@media (max-width: 640px) {
  .services-mosaic__location-links {
    gap: 12px;
  }
}

.services-mosaic__location-links--wide {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  row-gap: 6px;
  column-gap: 6px;
}
@media (min-width: 1200px) {
  .services-mosaic__location-links--wide {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .services-mosaic__location-links--wide {
    grid-template-columns: 1fr;
  }
}

.services-mosaic__location-link {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.4;
  font-weight: 400;
  color: #000000;
  text-decoration: none;
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
}
.services-mosaic__location-link:hover {
  color: var(--color-accent, #bf2842);
  text-decoration: underline;
}
.services-mosaic__location-link:hover .services-mosaic__location-label,
.services-mosaic__location-link:hover .services-mosaic__location-count {
  color: var(--color-accent, #bf2842);
}

.services-mosaic__location-label {
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  color: #000000;
}

.services-mosaic__location-count {
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 500;
  color: var(--color-gray-500, #6b7280);
  white-space: nowrap;
  flex-shrink: 0;
}

.services-mosaic__location-title {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 12px;
  color: #000000;
  margin-bottom: var(--space-sm);
}

.services-mosaic__icon {
  width: 28px;
  height: 28px;
  border-radius: 4px;
  background-color: #ff6a00;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--space-lg);
}

.services-mosaic__icon-image {
  width: 18px;
  height: 18px;
  filter: brightness(0) invert(1);
  display: block;
}

.services-mosaic__title {
  font-family: var(--font-ui);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.3;
  margin-bottom: var(--space-sm);
  color: #000000;
}

.services-mosaic__body {
  color: var(--color-gray-600);
  font-size: 13px;
  line-height: 1.6;
  margin-top: auto;
  margin-bottom: var(--space-lg);
}

.services-mosaic__shortcut-group {
  margin-top: var(--space-lg);
}

.services-mosaic__shortcut-group:first-child {
  margin-top: 0;
}

.services-mosaic__shortcut-heading {
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: 16px;
  color: #000000;
  margin-bottom: 4px;
}

.services-mosaic__shortcut-links {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.services-mosaic__shortcut-link {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 500;
  color: #000000;
  text-decoration: none;
  padding: 2px 0;
}
.services-mosaic__shortcut-link:hover {
  text-decoration: underline;
}

.services-mosaic__link {
  font-family: var(--font-ui);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 12px;
  color: #000000;
  text-decoration: none;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
  width: fit-content;
}

.services-mosaic__link:hover {
  border-bottom-color: rgba(0, 0, 0, 0.6);
}

.btn-neutral {
  background-color: #eeebe8;
  border-color: #eeebe8;
  color: #000000;
}
.btn-neutral:hover {
  background-color: #e0ddd8;
  border-color: #e0ddd8;
  color: #000000;
}

.site-footer {
  background-color: var(--color-black);
  color: var(--color-white);
  padding-top: var(--space-5xl);
  padding-bottom: var(--space-5xl);
}
.site-footer--full-bleed, .full-bleed .site-footer {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
}
.site-footer__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 var(--space-lg);
}
.site-footer__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4xl);
  margin-bottom: var(--space-4xl);
}
@media (max-width: 1024px) {
  .site-footer__header {
    flex-direction: column;
    gap: var(--space-3xl);
  }
  .site-footer__header .site-footer__logo,
  .site-footer__header .site-footer__newsletter {
    flex: none;
    max-width: 100%;
  }
}
.site-footer__logo {
  flex: 0 0 25%;
  max-width: 25%;
}
.site-footer__logo-link {
  display: inline-flex;
  align-items: center;
}
.site-footer__logo-img {
  height: 40px;
  width: auto;
  filter: invert(1);
}
.site-footer__newsletter {
  flex: 0 0 50%;
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}
.site-footer__newsletter-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.site-footer__newsletter-title {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--font-lg);
  line-height: 1.5;
  margin: 0;
  color: var(--color-white);
}
.site-footer__newsletter-subtitle {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--font-md);
  line-height: 1.5;
  margin: 0;
  color: var(--color-white);
}
.site-footer__newsletter-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.site-footer__form-group {
  display: flex;
  gap: var(--space-sm);
  align-items: stretch;
}
@media (max-width: 640px) {
  .site-footer__form-group {
    flex-direction: column;
  }
}
.site-footer__input {
  flex: 1;
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  padding: var(--space-xs) var(--space-compact);
  font-family: var(--font-body);
  font-size: var(--font-md);
  color: var(--color-white);
  line-height: 1.5;
}
.site-footer__input::placeholder {
  color: rgba(255, 255, 255, 0.6);
}
.site-footer__input:focus {
  outline: none;
  background-color: rgba(255, 255, 255, 0.15);
}
.site-footer__subscribe-btn {
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  padding: var(--space-micro) var(--space-md);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: var(--font-md);
  color: var(--color-white);
  line-height: 1.5;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color 0.2s ease;
}
.site-footer__subscribe-btn:hover {
  background-color: rgba(255, 255, 255, 0.15);
}
.site-footer__subscribe-btn:active {
  background-color: rgba(255, 255, 255, 0.2);
}
.site-footer__form-disclaimer {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--font-xs);
  line-height: 1.5;
  margin: 0;
  color: var(--color-white);
  display: flex;
  gap: var(--space-xxs);
  flex-wrap: wrap;
}
.site-footer__form-link {
  color: var(--color-white);
  text-decoration: underline;
  font-family: "Roboto", sans-serif;
}
.site-footer__form-link:hover {
  opacity: 0.8;
}
.site-footer__divider {
  height: 1px;
  background-color: rgba(255, 255, 255, 0.1);
  margin: var(--space-4xl) 0;
}
.site-footer__links {
  display: flex;
  gap: var(--space-2xl);
  margin-bottom: var(--space-4xl);
  flex-wrap: wrap;
}
@media (max-width: 1024px) {
  .site-footer__links {
    gap: var(--space-xl);
  }
}
@media (max-width: 768px) {
  .site-footer__links {
    flex-direction: column;
    gap: var(--space-2xl);
  }
}
.site-footer__column {
  flex: 1;
  min-width: 160px;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.site-footer__column-title {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--font-md);
  line-height: 1.5;
  margin: 0;
  color: var(--color-white);
}
.site-footer__link-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.site-footer__link {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--font-sm);
  line-height: 1.5;
  color: var(--color-white);
  text-decoration: none;
  padding: var(--space-xs) 0;
  display: block;
  transition: opacity 0.2s ease;
}
.site-footer__link:hover {
  opacity: 1;
  text-decoration: underline;
  color: var(--color-white);
}
.site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xl);
}
@media (max-width: 768px) {
  .site-footer__bottom {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}
.site-footer__copyright {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--font-sm);
  line-height: 1.5;
  margin: 0;
  color: var(--color-white);
  text-align: right;
}
@media (max-width: 768px) {
  .site-footer__copyright {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .site-footer {
    padding-top: var(--space-4xl);
    padding-bottom: var(--space-4xl);
  }
  .site-footer__header {
    gap: var(--space-2xl);
    margin-bottom: var(--space-3xl);
  }
  .site-footer__divider {
    margin: var(--space-3xl) 0;
  }
  .site-footer__links {
    margin-bottom: var(--space-3xl);
  }
}

.faq-section {
  padding-top: var(--space-5xl);
  padding-bottom: var(--space-5xl);
  background-color: var(--color-white);
}
.faq-section__inner {
  max-width: 768px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4xl);
}
.faq-section__header {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.faq-section__title {
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: var(--font-4xl);
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--color-primary);
  margin: 0;
}
@media (max-width: 768px) {
  .faq-section__title {
    font-size: var(--font-2xl);
  }
}
.faq-section__subtitle {
  font-family: var(--font-body);
  font-size: var(--font-lg);
  line-height: 1.5;
  color: var(--color-primary);
  margin: 0;
  text-align: center;
}
.faq-section__accordion {
  width: 100%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}
.faq-section__item {
  border-top: 1px solid rgba(0, 0, 0, 0.15);
}
.faq-section__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  padding: var(--space-micro) 0;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
}
.faq-section__question-text {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: var(--font-lg);
  line-height: 1.5;
  color: var(--color-primary);
  flex: 1;
  margin: 0;
}
.faq-section__icon {
  width: var(--space-lg);
  height: var(--space-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
  color: var(--color-primary);
  transform: rotate(180deg);
}
.faq-section__icon--open {
  transform: rotate(0deg);
}
.faq-section__answer {
  padding-bottom: var(--space-md);
  overflow: hidden;
}
.faq-section__answer p {
  font-family: var(--font-body);
  font-size: var(--font-md);
  line-height: 1.5;
  color: var(--color-primary);
  margin: 0;
}
.faq-section__cta {
  max-width: 560px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
  text-align: center;
}
.faq-section__cta-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.faq-section__cta-title {
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: var(--font-3xl);
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--color-primary);
  margin: 0;
}
@media (max-width: 768px) {
  .faq-section__cta-title {
    font-size: var(--font-2xl);
  }
}
.faq-section__cta-subtitle {
  font-family: var(--font-body);
  font-size: var(--font-lg);
  line-height: 1.5;
  color: var(--color-primary);
  margin: 0;
  text-align: center;
}
.faq-section__cta-actions {
  display: flex;
  align-items: center;
  justify-content: center;
}

.advantage-tabs {
  padding-top: var(--space-5xl);
  padding-bottom: var(--space-5xl);
}
.advantage-tabs__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
}
.advantage-tabs__header-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.advantage-tabs__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  flex-wrap: wrap;
}
.advantage-tabs__actions .btn.btn-primary {
  background-color: var(--color-accent, #bf2842);
  border-color: var(--color-accent, #bf2842);
  color: #ffffff;
}
.advantage-tabs__actions .btn.btn-primary:hover {
  background-color: var(--color-accent-dark, #8b1f2f);
  border-color: var(--color-accent-dark, #8b1f2f);
}
.advantage-tabs__actions .btn-link-dark {
  color: var(--color-primary);
  font-weight: 600;
}
.advantage-tabs__actions .btn-link-dark svg {
  stroke: currentColor;
}
.advantage-tabs__actions .btn-link-dark:hover {
  color: var(--color-primary-dark);
  opacity: 0.85;
}
.advantage-tabs__content {
  display: flex;
  align-items: stretch;
  gap: 80px;
  width: 100%;
  min-height: 500px;
}
@media (max-width: 1024px) {
  .advantage-tabs__content {
    flex-direction: column;
    gap: 48px;
    min-height: auto;
  }
}
.advantage-tabs__image {
  flex: 1 1 auto;
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  background-color: #f0f0f0;
  min-height: 400px;
  aspect-ratio: auto;
}
@media (max-width: 1024px) {
  .advantage-tabs__image {
    width: 100%;
    aspect-ratio: auto;
    min-height: 300px;
  }
}
.advantage-tabs__image-item {
  position: absolute;
  inset: 0;
}
.advantage-tabs__image-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.advantage-tabs__menu {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.advantage-tabs__tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 24px 0;
  border: none;
  background: transparent;
  text-align: center;
  cursor: pointer;
  transition: opacity 0.2s ease;
  max-width: 560px;
}
.advantage-tabs__tab:first-child {
  padding-top: 0;
}
.advantage-tabs__tab:not(.advantage-tabs__tab--active) {
  opacity: 0.5;
}
.advantage-tabs__tab:not(.advantage-tabs__tab--active):hover {
  opacity: 0.75;
}
.advantage-tabs__tab--active {
  opacity: 1;
}
.advantage-tabs__tab-title {
  font-family: "Gelasio", var(--font-heading);
  font-weight: 400;
  font-size: var(--font-2xl);
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: #000000;
  margin: 0;
}
@media (max-width: 768px) {
  .advantage-tabs__tab-title {
    font-size: var(--font-3xl);
  }
}
.advantage-tabs__tab:hover .advantage-tabs__tab-title, .advantage-tabs__tab:focus-visible .advantage-tabs__tab-title {
  color: var(--color-accent, #bf2842);
}
.advantage-tabs__tab-description {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.5;
  color: #000000;
  margin: 0;
  font-weight: 400;
  text-align: center;
}

.timeline-section {
  background-color: #000000;
  color: #ffffff;
  padding-top: var(--space-5xl);
  padding-bottom: var(--space-5xl);
}
.timeline-section__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
}
.timeline-section__header-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.timeline-section__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  flex-wrap: wrap;
}
.timeline-section__actions .btn.btn-primary {
  background-color: var(--color-accent, #bf2842);
  border-color: var(--color-accent, #bf2842);
  color: #ffffff;
}
.timeline-section__actions .btn.btn-primary:hover {
  background-color: var(--color-accent-dark, #8b1f2f);
  border-color: var(--color-accent-dark, #8b1f2f);
}
.timeline-section__timeline {
  display: flex;
  width: 100%;
  overflow-x: auto;
  padding-bottom: 16px;
}
@media (max-width: 768px) {
  .timeline-section__timeline {
    gap: 0;
  }
}
.timeline-section__milestone {
  flex: 1;
  min-width: 180px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
@media (max-width: 768px) {
  .timeline-section__milestone {
    min-width: 150px;
  }
}
.timeline-section__milestone-image {
  width: 204px;
  height: 204px;
  border-radius: 8px;
  overflow: hidden;
  background-color: rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
@media (max-width: 1024px) {
  .timeline-section__milestone-image {
    width: 160px;
    height: 160px;
  }
}
@media (max-width: 768px) {
  .timeline-section__milestone-image {
    width: 120px;
    height: 120px;
  }
}
@media (max-width: 480px) {
  .timeline-section__milestone-image {
    width: 100px;
    height: 100px;
  }
}
.timeline-section__milestone-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.timeline-section__milestone-image.editorial-treatment, .timeline-section__milestone-image.editorial-treatment img {
  opacity: 0.9;
  filter: grayscale(0.2);
}
.timeline-section__milestone-placeholder {
  color: rgba(255, 255, 255, 0.3);
}
.timeline-section__milestone-progress {
  display: flex;
  align-items: center;
  width: 100%;
  padding-top: 16px;
}
.timeline-section__milestone-line {
  flex: 1;
  height: 3px;
  background-color: #ffffff;
}
.timeline-section__milestone-dot {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: #ffffff;
  flex-shrink: 0;
}
.timeline-section__milestone-content {
  text-align: center;
  padding: 0 8px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.timeline-section__milestone-year {
  font-family: "Gelasio", var(--font-heading);
  font-weight: 400;
  font-size: 28px;
  line-height: 1.4;
  letter-spacing: -0.01em;
  color: #ffffff;
  margin: 0;
}
@media (max-width: 768px) {
  .timeline-section__milestone-year {
    font-size: 22px;
  }
}
.timeline-section__milestone-description {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
  color: #ffffff;
  margin: 0;
}
@media (max-width: 768px) {
  .timeline-section__milestone-description {
    font-size: 14px;
  }
}

.btn-link-light {
  background: transparent;
  border: none;
  padding: 0;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--font-md, 16px);
  letter-spacing: 0;
  line-height: 1.5;
  color: var(--color-white, #ffffff);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: var(--space-sm, 12px);
  cursor: pointer;
  text-transform: none;
  transition: color 0.2s ease, opacity 0.2s ease;
}
.btn-link-light svg {
  width: 24px;
  height: 24px;
}
.btn-link-light:hover {
  color: var(--color-white, #ffffff);
  text-decoration: none;
  opacity: 0.8;
}

.btn-link-dark {
  background: transparent;
  border: none;
  padding: 0;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--font-md, 16px);
  letter-spacing: 0;
  line-height: 1.5;
  color: var(--color-primary);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: var(--space-sm, 12px);
  cursor: pointer;
  text-transform: none;
  transition: color 0.2s ease, opacity 0.2s ease;
}
.btn-link-dark svg {
  width: 24px;
  height: 24px;
  stroke: currentColor;
}
.btn-link-dark:hover {
  color: var(--color-primary-dark);
  text-decoration: none;
  opacity: 0.85;
}

.testimonials-section {
  background-color: #e8e7e3;
  padding-top: var(--space-5xl);
  padding-bottom: var(--space-5xl);
}
.testimonials-section--full-bleed, .full-bleed .testimonials-section {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
}
.testimonials-section__inner {
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.testimonials-section__grid {
  margin-top: var(--space-4xl);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
@media (max-width: 1024px) {
  .testimonials-section__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .testimonials-section__grid {
    grid-template-columns: 1fr;
  }
}
.testimonials-section__slider {
  margin-top: var(--space-4xl);
}
.testimonials-section__card {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 0;
  justify-content: space-between;
}
.testimonials-section__card:first-child {
  background-color: #000000;
}
.testimonials-section__card:nth-child(2) {
  background-color: #000000;
}
.testimonials-section__card:nth-child(3) {
  background: linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)), url(/images/stock/image-01.jpeg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.testimonials-section__card-content {
  display: flex;
  flex-direction: column;
  gap: 24px;
  flex: 1;
  justify-content: space-between;
}
.testimonials-section__logo {
  display: none;
}
.testimonials-section__logo-text {
  display: none;
}
.testimonials-section__logo img {
  max-height: 100%;
  width: auto;
}
.testimonials-section__quote-block {
  display: flex;
  flex-direction: column;
  gap: 200px;
  flex: 1;
  justify-content: space-between;
}
.testimonials-section__quote {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.5;
  color: #ffffff;
  margin: 0;
  text-align: left;
}
.testimonials-section__author {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: auto;
}
.testimonials-section__author-avatar {
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  border-radius: 50%;
  overflow: hidden;
  background-color: rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.testimonials-section__author-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.testimonials-section__author-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.testimonials-section__author-info {
  display: flex;
  flex-direction: column;
}
.testimonials-section__author-name {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 16px;
  line-height: 1.5;
  color: #ffffff;
  margin: 0;
}
.testimonials-section__author-title {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.5;
  color: #ffffff;
  margin: 0;
}
.testimonials-section__card-actions {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: auto;
}
.testimonials-section__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.5;
  color: #ffffff;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.testimonials-section__link:hover {
  opacity: 0.8;
  color: #ffffff;
  text-decoration: none;
}
.testimonials-section__link svg {
  flex-shrink: 0;
}

.image-gallery {
  position: relative;
  width: 100%;
  display: block;
  border-radius: 8px;
  overflow: hidden;
}
.image-gallery .gallery-track,
.image-gallery .gallery-slide {
  width: 100%;
  height: 100%;
}
.image-gallery .gallery-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.property-listing-section {
  background-color: #e8e7e3;
  padding-top: var(--space-5xl);
  padding-bottom: var(--space-5xl);
}
.property-listing-section__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding-left: var(--space-lg);
  padding-right: var(--space-lg);
}
.property-listing-section__content {
  padding-bottom: 32px;
}
.property-listing-section__breadcrumbs {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
}
.property-listing-section__breadcrumb-link {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  color: #000000;
  text-decoration: none;
}
.property-listing-section__breadcrumb-link:hover {
  text-decoration: underline;
}
.property-listing-section__breadcrumb-separator {
  width: 16px;
  height: 16px;
  color: #000000;
  flex-shrink: 0;
}
.property-listing-section__breadcrumb-current {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 14px;
  line-height: 1.5;
  color: #000000;
}
.property-listing-section__title {
  font-family: "Gelasio", var(--font-heading);
  font-weight: 400;
  font-size: 44px;
  line-height: 1.2;
  letter-spacing: -0.44px;
  color: #000000;
  margin: 0 0 24px 0;
}
@media (max-width: 768px) {
  .property-listing-section__title {
    font-size: 32px;
  }
}
.property-listing-section__layout {
  display: flex;
  gap: 48px;
  align-items: flex-start;
}
@media (max-width: 1024px) {
  .property-listing-section__layout {
    flex-direction: column;
  }
}
.property-listing-section__main {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.property-listing-section__gallery {
  width: 100%;
}
.property-listing-section__gallery .image-gallery {
  border-radius: 8px;
  overflow: hidden;
  min-height: 400px;
}
.property-listing-section__description {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.property-listing-section__description-text {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: #000000;
  margin: 0;
}
.property-listing-section__features {
  list-style: disc;
  padding-left: 24px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.property-listing-section__features li {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: #000000;
}
.property-listing-section__tabs {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.property-listing-section__tabs-menu {
  display: flex;
  gap: 24px;
  padding-top: 8px;
}
.property-listing-section__tab {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: #000000;
  background: transparent;
  border: none;
  padding: 0 0 8px 0;
  cursor: pointer;
  position: relative;
}
.property-listing-section__tab::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background-color: transparent;
  transition: background-color 0.2s ease;
}
.property-listing-section__tab--active::after {
  background-color: var(--color-accent, #bf2842);
}
.property-listing-section__tab:hover:not(.property-listing-section__tab--active)::after {
  background-color: rgba(0, 0, 0, 0.2);
}
.property-listing-section__tab-content p {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: #000000;
  margin: 0;
}
.property-listing-section__sidebar {
  width: 360px;
  max-width: 100%;
  flex-shrink: 0;
}
@media (max-width: 1024px) {
  .property-listing-section__sidebar {
    width: 100%;
  }
}
.property-listing-section__agent-card {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: var(--space-xl);
  border-radius: 16px;
  background-color: #ffffff;
  box-shadow: 0 20px 40px rgba(15, 15, 15, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.04);
}
.property-listing-section__agent-avatar {
  width: 100%;
  height: 200px;
  border-radius: 8px;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
}
.property-listing-section__agent-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.property-listing-section__agent-placeholder {
  color: rgba(0, 0, 0, 0.3);
}
.property-listing-section__agent-info {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.property-listing-section__agent-name {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  line-height: 1.5;
  color: #000000;
  margin: 0;
}
.property-listing-section__agent-title {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: #000000;
  margin: 0;
}
.property-listing-section__agent-bio {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  color: #000000;
  margin: 0;
}
.property-listing-section__agent-social {
  display: flex;
  gap: 16px;
  margin-top: 8px;
}
.property-listing-section__social-link {
  width: 24px;
  height: 24px;
  color: #000000;
  transition: opacity 0.2s ease;
}
.property-listing-section__social-link:hover {
  opacity: 0.7;
}
.property-listing-section__social-link svg {
  width: 100%;
  height: 100%;
}
.property-listing-section__form {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
}
.property-listing-section__form-row {
  display: flex;
  gap: 16px;
}
@media (max-width: 480px) {
  .property-listing-section__form-row {
    flex-direction: column;
  }
}
.property-listing-section__form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.property-listing-section__label {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: #000000;
}
.property-listing-section__terms-link {
  color: #000000;
  text-decoration: underline;
}
.property-listing-section__terms-link:hover {
  opacity: 0.7;
}
.property-listing-section__form-actions {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 8px;
}
.property-listing-section__form-actions .btn {
  width: 100%;
}

.contact-form-section {
  padding: var(--space-5xl) 0;
  background-color: var(--color-sand-soft);
}
.contact-form-section.full-bleed {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
}
.contact-form-section__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4xl);
  align-items: start;
}
.contact-form-section__info {
  display: flex;
  flex-direction: column;
  gap: var(--space-3xl);
}
.contact-form-section__details {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}
.contact-form-section__detail-item {
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
}
.contact-form-section__detail-label {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-primary);
  display: flex;
  justify-content: space-between;
}
.contact-form-section__detail-value {
  font-family: var(--font-body);
  font-size: var(--font-md);
  line-height: 1.5;
  color: var(--color-gray-500);
  margin: 0;
}
.contact-form-section__detail-value a {
  color: var(--color-gray-500);
  text-decoration: none;
}
.contact-form-section__detail-value a:hover {
  color: var(--color-accent);
}
.contact-form-section__form {
  background-color: var(--color-white);
  border-radius: var(--radius-md);
  padding: var(--space-2xl);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.1);
  border: none;
}
.contact-form-section__form--unstyled {
  background-color: transparent;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}
.contact-form-section--form-only .contact-form-section__grid {
  grid-template-columns: 1fr;
  justify-items: center;
}
.contact-form-section--form-only .contact-form-section__form {
  max-width: 640px;
  width: 100%;
}
@media (max-width: 1023px) {
  .contact-form-section__grid {
    grid-template-columns: 1fr;
    gap: var(--space-3xl);
  }
  .contact-form-section__title {
    font-size: var(--font-4xl);
    letter-spacing: -0.4px;
  }
}
@media (max-width: 767px) {
  .contact-form-section {
    padding: var(--space-4xl) 0;
  }
  .contact-form-section__title {
    font-size: var(--font-3xl);
    letter-spacing: -0.32px;
  }
  .contact-form-section__subtitle {
    font-size: var(--font-md);
  }
  .contact-form-section__form {
    padding: var(--space-xl);
  }
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.contact-form textarea.form-control {
  min-height: 140px;
  background-color: #ffffff;
  resize: vertical;
}
.contact-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-xs);
}
.contact-form__field {
  display: flex;
  flex-direction: column;
}
.contact-form__actions {
  padding-top: var(--space-sm);
}
@media (max-width: 767px) {
  .contact-form__row {
    grid-template-columns: 1fr;
  }
}

.office-locations-section {
  padding: var(--space-5xl) 0;
  background-color: #ffffff;
}
.office-locations-section.full-bleed {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
}
.office-locations-section__grid {
  margin-top: var(--space-4xl);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-2xl);
}
@media (max-width: 1023px) {
  .office-locations-section__grid {
    grid-template-columns: 1fr;
  }
  .office-locations-section__title {
    font-size: 40px;
    letter-spacing: -0.4px;
  }
}
@media (max-width: 767px) {
  .office-locations-section {
    padding: var(--space-4xl) 0;
  }
  .office-locations-section__title {
    font-size: 32px;
    letter-spacing: -0.32px;
  }
  .office-locations-section__subtitle {
    font-size: 16px;
  }
}

.office-location-card {
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.office-location-card__map {
  position: relative;
  width: 100%;
  height: 240px;
  background-color: #f3f4f6;
  overflow: hidden;
}
.office-location-card__map-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.office-location-card__map-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9ca3af;
}
.office-location-card__content {
  padding: var(--space-xl);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.office-location-card__name {
  font-family: "Gelasio", var(--font-heading);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.24px;
  color: #000000;
  margin: 0;
}
.office-location-card__details {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.office-location-card__detail {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  color: #666666;
}
.office-location-card__detail strong {
  font-weight: 600;
  color: #000000;
  display: block;
  margin-bottom: 2px;
}
.office-location-card__detail a {
  color: #666666;
  text-decoration: none;
}
.office-location-card__detail a:hover {
  color: var(--color-accent);
}
@media (max-width: 767px) {
  .office-location-card__map {
    height: 200px;
  }
  .office-location-card__content {
    padding: var(--space-lg);
  }
  .office-location-card__name {
    font-size: 20px;
    letter-spacing: -0.2px;
  }
}

.team-section {
  padding: var(--space-4xl) 0;
  background-color: var(--color-white);
}

.team-section--carousel .section-header__subtitle {
  font-size: var(--font-md);
}

.team-section.team-section--full-bleed {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
}
.page-shell--full-bleed .team-section.team-section--full-bleed {
  left: auto;
  right: auto;
  margin-left: 0;
  margin-right: 0;
  width: 100%;
}

.team-section__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: center;
}

.team-section__tabs-wrapper {
  width: 100%;
  border-bottom: 1px solid var(--color-border-muted);
  margin-bottom: var(--space-xl);
}

.team-section__tabs {
  display: flex;
  gap: var(--space-xl);
  justify-content: center;
  margin-bottom: var(--space-xs);
}
@media (max-width: 767px) {
  .team-section__tabs {
    flex-wrap: wrap;
    gap: var(--space-md);
    max-width: 100%;
  }
}

.team-section__tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 var(--space-xs);
  background-color: transparent;
  border-radius: 0;
  border: 0;
  font-family: var(--font-display);
  font-size: var(--font-sm);
  font-weight: 500;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--color-primary);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: all 0.3s ease;
  white-space: nowrap;
}
.team-section__tab:hover:not(.team-section__tab--active) {
  color: var(--color-accent);
}
.team-section__tab--active {
  border-bottom-color: var(--color-accent);
  color: var(--color-accent);
}

.team-section__carousel-wrapper {
  width: 100%;
  position: relative;
  padding: 0 var(--space-3xl);
}
@media (max-width: 767px) {
  .team-section__carousel-wrapper {
    padding: 0;
  }
}

.team-section__swiper {
  width: 100%;
  padding: 0 0 var(--space-md);
}
.team-section__swiper .swiper-button-next,
.team-section__swiper .swiper-button-prev {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.85);
  color: var(--color-primary);
  box-shadow: none;
  transition: transform 120ms ease;
}
.team-section__swiper .swiper-button-next:hover, .team-section__swiper .swiper-button-next:focus,
.team-section__swiper .swiper-button-prev:hover,
.team-section__swiper .swiper-button-prev:focus {
  transform: scale(1.05);
}
.team-section__swiper .swiper-button-next::after,
.team-section__swiper .swiper-button-prev::after {
  font-size: var(--font-lg);
  font-weight: 600;
}
@media (max-width: 767px) {
  .team-section__swiper .swiper-button-next,
  .team-section__swiper .swiper-button-prev {
    display: none;
  }
}

.team-section__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-5xl);
  width: 100%;
}

.team-section__row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-2xl);
  width: 100%;
}
@media (max-width: 1023px) {
  .team-section__row {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .team-section__row {
    grid-template-columns: 1fr;
  }
}

.team-section__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: center;
  position: relative;
  cursor: pointer;
  border-radius: var(--radius-card);
}
.team-section__card:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
}

.team-section__image {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  border-radius: var(--radius-card);
  overflow: hidden;
  background-color: var(--color-surface-muted);
}
.team-section__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  object-position: top;
  filter: grayscale(100%);
  transition: filter 0.35s ease;
}
.team-section__image:hover img {
  filter: grayscale(0%);
}

.team-section__image-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-surface-muted);
  color: var(--color-text-muted);
}
.team-section__image-placeholder svg {
  width: 48px;
  height: 48px;
}

.broker-profile-image {
  opacity: 0.8;
  filter: grayscale(100%);
}

.team-section__card-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: center;
  text-align: center;
  width: 100%;
}

.team-section__card-title {
  display: flex;
  flex-direction: column;
  gap: var(--space-compact);
  align-items: center;
  width: 100%;
}

.team-section__name {
  font-family: var(--font-heading);
  font-size: var(--font-xl);
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-primary);
  margin: 0;
}

.team-section__job-title {
  font-family: var(--font-body);
  font-size: var(--font-xs);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.4;
  color: var(--color-gray-400);
  margin: 0;
}

.team-section__bio {
  font-family: var(--font-body);
  font-size: var(--font-md);
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-gray-500);
  margin: 0;
  text-align: inherit;
}

.team-section__social {
  display: flex;
  gap: var(--space-compact);
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.team-section__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: var(--color-primary);
  text-decoration: none;
  transition: color 0.2s ease, transform 0.2s ease;
}
.team-section__social-link:hover {
  color: var(--color-accent);
  transform: scale(1.1);
}
.team-section__social-link svg {
  width: 100%;
  height: 100%;
}

.team-section__hiring {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: center;
  max-width: 768px;
  width: 100%;
  text-align: center;
}

.team-section__hiring-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: center;
  width: 100%;
}

.team-section__hiring-title {
  font-family: var(--font-heading);
  font-size: var(--font-3xl);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.36px;
  color: var(--color-primary);
  margin: 0;
}

.team-section__hiring-subtitle {
  font-family: var(--font-body);
  font-size: var(--font-lg);
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-gray-500);
  margin: 0;
}

.team-section__hiring-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.image-gallery-section {
  padding: var(--space-6xl) 0;
  background-color: #ffffff;
}
.image-gallery-section--full-bleed {
  padding-left: 0;
  padding-right: 0;
}

.image-gallery-section__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-6xl);
  align-items: center;
}
@media (max-width: 767px) {
  .image-gallery-section__inner {
    gap: var(--space-4xl);
  }
}

.image-gallery-section__content {
  margin-top: var(--space-4xl);
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.image-gallery-section__track {
  display: flex;
  gap: var(--space-2xl);
  overflow-x: auto;
  scroll-behavior: smooth;
  width: 100%;
  padding: var(--space-md) 0;
}
.image-gallery-section__track::-webkit-scrollbar {
  height: 0;
}
.image-gallery-section__track {
  scrollbar-width: none;
}
@media (max-width: 767px) {
  .image-gallery-section__track {
    gap: var(--space-md);
  }
}

.image-gallery-section__image {
  position: relative;
  flex: 0 0 296px;
  width: 296px;
  height: 296px;
  border-radius: 8px;
  overflow: hidden;
  background-color: #f3f4f6;
}
.image-gallery-section__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 767px) {
  .image-gallery-section__image {
    flex: 0 0 144px;
    width: 144px;
    height: 144px;
  }
}

.image-gallery-section__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  padding: 12px;
  background-color: #f2f2f2;
  border: 1px solid #ffffff;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--color-primary, #000000);
  transition: background-color 0.2s ease, transform 0.2s ease;
  z-index: 10;
}
.image-gallery-section__arrow:hover {
  background-color: #e5e5e5;
  transform: translateY(-50%) scale(1.05);
}
.image-gallery-section__arrow:focus {
  outline: 2px solid var(--color-accent, #bf2842);
  outline-offset: 2px;
}
.image-gallery-section__arrow svg {
  width: 24px;
  height: 24px;
}
@media (max-width: 767px) {
  .image-gallery-section__arrow {
    display: none;
  }
}

.image-gallery-section__arrow--left {
  left: -28px;
}

.image-gallery-section__arrow--right {
  right: -28px;
}

.image-gallery-section__dots {
  display: flex;
  gap: 9px;
  justify-content: center;
  padding: var(--space-sm);
  margin-top: var(--space-md);
  width: 100%;
}

.image-gallery-section__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: transparent;
  border: 2px solid var(--color-primary, #000000);
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
}
.image-gallery-section__dot:hover {
  transform: scale(1.2);
}
.image-gallery-section__dot:focus {
  outline: 2px solid var(--color-accent, #bf2842);
  outline-offset: 2px;
}
.image-gallery-section__dot--active {
  background-color: var(--color-primary, #000000);
  border-color: var(--color-primary, #000000);
}

.image-carousel-section {
  padding: var(--space-6xl) 0;
  background-color: #ffffff;
}
.image-carousel-section--full-bleed {
  padding-left: 0;
  padding-right: 0;
}

.image-carousel-section__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-6xl);
  align-items: center;
}
@media (max-width: 767px) {
  .image-carousel-section__inner {
    gap: var(--space-4xl);
  }
}

.image-carousel-section__carousel-wrapper {
  margin-top: var(--space-4xl);
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: var(--space-md);
}

.image-carousel-section__content {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.image-carousel-section__track {
  display: flex;
  gap: var(--space-2xl);
  overflow-x: auto;
  scroll-behavior: smooth;
  width: 100%;
  padding: var(--space-md) 0;
}
.image-carousel-section__track::-webkit-scrollbar {
  height: 0;
}
.image-carousel-section__track {
  scrollbar-width: none;
}
@media (max-width: 767px) {
  .image-carousel-section__track {
    gap: var(--space-md);
  }
}

.image-carousel-section__image {
  position: relative;
  flex: 0 0 624px;
  width: 624px;
  height: 624px;
  border-radius: 8px;
  overflow: hidden;
  background-color: #f3f4f6;
}
.image-carousel-section__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 767px) {
  .image-carousel-section__image {
    flex: 0 0 314px;
    width: 314px;
    height: 314px;
  }
}

.image-carousel-section__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  padding: 12px;
  background-color: #f2f2f2;
  border: 1px solid #ffffff;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--color-primary, #000000);
  transition: background-color 0.2s ease, transform 0.2s ease;
  z-index: 10;
}
.image-carousel-section__arrow:hover {
  background-color: #e5e5e5;
  transform: translateY(-50%) scale(1.05);
}
.image-carousel-section__arrow:focus {
  outline: 2px solid var(--color-accent, #bf2842);
  outline-offset: 2px;
}
.image-carousel-section__arrow svg {
  width: 24px;
  height: 24px;
}
@media (max-width: 767px) {
  .image-carousel-section__arrow {
    display: none;
  }
}

.image-carousel-section__arrow--left {
  left: -28px;
}

.image-carousel-section__arrow--right {
  right: -28px;
}

.image-carousel-section__dots {
  display: flex;
  gap: 9px;
  justify-content: center;
  padding: var(--space-sm);
  margin-top: var(--space-md);
  width: 100%;
}

.image-carousel-section__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: transparent;
  border: 2px solid var(--color-primary, #000000);
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
}
.image-carousel-section__dot:hover {
  transform: scale(1.2);
}
.image-carousel-section__dot:focus {
  outline: 2px solid var(--color-accent, #bf2842);
  outline-offset: 2px;
}
.image-carousel-section__dot--active {
  background-color: var(--color-primary, #000000);
  border-color: var(--color-primary, #000000);
}

.cta-newsletter {
  background-color: var(--color-white, #ffffff);
  padding: var(--space-5xl) var(--page-padding, 64px);
}
@media (max-width: 768px) {
  .cta-newsletter {
    padding: var(--space-4xl) var(--space-lg);
  }
}

.cta-newsletter--full-bleed {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
}

.cta-newsletter__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2xl);
}

.cta-newsletter__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
  max-width: 768px;
  text-align: center;
}

.cta-newsletter__heading {
  font-family: var(--font-heading);
  font-size: 52px;
  font-weight: 400;
  line-height: 1.2;
  color: var(--color-black, #000000);
  margin: 0;
}
@media (max-width: 768px) {
  .cta-newsletter__heading {
    font-size: 40px;
  }
}

.cta-newsletter__body {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-black, #000000);
  margin: 0;
  max-width: 600px;
}

.cta-newsletter__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
  max-width: 513px;
  width: 100%;
}

.cta-newsletter__form {
  width: 100%;
}

.cta-newsletter__form-group {
  display: flex;
  gap: var(--space-sm);
  width: 100%;
}
@media (max-width: 480px) {
  .cta-newsletter__form-group {
    flex-direction: column;
  }
}

.cta-newsletter__input {
  flex: 1;
  padding: var(--space-xs) var(--space-sm);
  background-color: rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(255, 255, 255, 0);
  border-radius: 6px;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-black, #000000);
  transition: all 0.2s ease;
}
.cta-newsletter__input::placeholder {
  color: rgba(0, 0, 0, 0.6);
}
.cta-newsletter__input:focus {
  outline: none;
  background-color: rgba(0, 0, 0, 0.08);
  border-color: var(--color-accent, #bf2842);
}

.cta-newsletter__button {
  padding: 10px 24px;
  background-color: var(--color-accent, #bf2842);
  border: 1px solid var(--color-accent, #bf2842);
  border-radius: 6px;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-white, #ffffff);
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.cta-newsletter__button:hover {
  background-color: #a01f35;
  border-color: #a01f35;
}
.cta-newsletter__button:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.2);
}
@media (max-width: 480px) {
  .cta-newsletter__button {
    width: 100%;
  }
}

.cta-newsletter__terms {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-black, #000000);
  text-align: center;
  margin: 0;
  max-width: 100%;
}

.cta-newsletter__terms-link {
  color: var(--color-black, #000000);
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-underline-position: from-font;
  transition: color 0.2s ease;
}
.cta-newsletter__terms-link:hover {
  color: var(--color-accent, #bf2842);
}
.cta-newsletter__terms-link:focus {
  outline: 2px solid var(--color-accent, #bf2842);
  outline-offset: 2px;
}

.cta-blog {
  background-color: var(--color-white, #ffffff);
  padding: var(--space-5xl) var(--page-padding, 64px);
}
@media (max-width: 768px) {
  .cta-blog {
    padding: var(--space-4xl) var(--space-lg);
  }
}

.cta-blog--full-bleed {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
}

.cta-blog__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.cta-blog__component {
  display: flex;
  gap: var(--space-2xl);
  width: 100%;
  align-items: flex-start;
}
@media (max-width: 768px) {
  .cta-blog__component {
    flex-direction: column;
    align-items: center;
  }
}

.cta-blog__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  flex: 1;
}
@media (max-width: 768px) {
  .cta-blog__content {
    align-items: center;
    text-align: center;
  }
}

.cta-blog__heading {
  font-family: var(--font-heading);
  font-size: 44px;
  font-weight: 400;
  line-height: 1.2;
  color: var(--color-black, #000000);
  margin: 0;
  letter-spacing: -0.44px;
}
@media (max-width: 768px) {
  .cta-blog__heading {
    font-size: 36px;
    letter-spacing: -0.36px;
  }
}

.cta-blog__body {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-black, #000000);
  margin: 0;
}

.cta-blog__actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  width: 513px;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .cta-blog__actions {
    width: 100%;
  }
}

.cta-blog__form {
  width: 100%;
}

.cta-blog__form-group {
  display: flex;
  gap: var(--space-sm);
  width: 100%;
}
@media (max-width: 480px) {
  .cta-blog__form-group {
    flex-direction: column;
  }
}

.cta-blog__input {
  flex: 1;
  padding: var(--space-xs) var(--space-sm);
  background-color: rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(255, 255, 255, 0);
  border-radius: 6px;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-black, #000000);
  transition: all 0.2s ease;
}
.cta-blog__input::placeholder {
  color: rgba(0, 0, 0, 0.6);
}
.cta-blog__input:focus {
  outline: none;
  background-color: rgba(0, 0, 0, 0.08);
  border-color: var(--color-accent, #bf2842);
}

.cta-blog__button {
  padding: 10px 24px;
  background-color: var(--color-accent, #bf2842);
  border: 1px solid var(--color-accent, #bf2842);
  border-radius: 6px;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-white, #ffffff);
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.cta-blog__button:hover {
  background-color: #a01f35;
  border-color: #a01f35;
}
.cta-blog__button:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.2);
}
@media (max-width: 480px) {
  .cta-blog__button {
    width: 100%;
  }
}

.cta-blog__terms {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-black, #000000);
  margin: 0;
  max-width: 100%;
}

.cta-blog__terms-link {
  color: var(--color-black, #000000);
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-underline-position: from-font;
  transition: color 0.2s ease;
}
.cta-blog__terms-link:hover {
  color: var(--color-accent, #bf2842);
}
.cta-blog__terms-link:focus {
  outline: 2px solid var(--color-accent, #bf2842);
  outline-offset: 2px;
}

.section-header {
  display: flex;
  flex-direction: column;
  gap: var(--section-header-gap, var(--space-md));
  max-width: var(--section-header-max-width, 768px);
}
.section-header--center {
  align-items: center;
  text-align: center;
  margin: 0 auto;
}
.section-header--left {
  align-items: flex-start;
  text-align: left;
}

.section-header__tagline {
  font-family: var(--font-display);
  font-size: var(--font-md);
  font-weight: 600;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--color-primary);
  margin: 0;
}

.section-header__title {
  font-family: "Gelasio", var(--font-heading);
  font-size: var(--font-4xl);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--color-primary);
  margin: 0;
}
@media (max-width: 768px) {
  .section-header__title {
    font-size: var(--font-3xl);
    letter-spacing: -0.32px;
  }
}

.section-header__subtitle {
  font-family: var(--font-body);
  font-size: var(--font-lg);
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-gray-500);
  margin: 0;
  text-align: inherit;
}
@media (max-width: 768px) {
  .section-header__subtitle {
    font-size: var(--font-md);
  }
}

.timeline-section .section-header__tagline,
.timeline-section .section-header__title,
.timeline-section .section-header__subtitle {
  color: var(--color-white);
}

.page-hero,
.cta {
  text-align: center;
}

.page-hero__content,
.cta__content {
  margin-left: auto;
  margin-right: auto;
  max-width: 800px;
}

.page-hero__title,
.page-hero__subtitle,
.cta__heading,
.cta__body {
  text-align: center;
}

.search-results,
.unit-details,
.property-card {
  text-align: left;
}

.area-guides-section {
  padding: var(--space-5xl) 0;
  background-color: var(--color-sand-soft, #f4f2f0);
}

.area-guides-section--full-bleed {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
}

.area-guides-section__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-lg);
  margin-bottom: var(--space-3xl);
}
@media (max-width: 768px) {
  .area-guides-section__header {
    flex-direction: column;
    gap: var(--space-md);
  }
}

.area-guides-section__header-text {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  max-width: 600px;
}

.area-guides-section__header-action {
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .area-guides-section__header-action {
    align-self: flex-start;
  }
}

.area-guide-homepage-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  min-height: 180px;
  padding: 24px !important;
  background-color: #111111;
  border-radius: 8px !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
  position: relative;
}
.area-guide-homepage-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25);
  color: #ffffff !important;
}
.area-guide-homepage-card:focus {
  outline: 2px solid var(--color-accent, #bf2842);
  outline-offset: 2px;
}

.area-guide-homepage-card__content {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  align-items: flex-start !important;
  width: 100%;
}

.area-guide-homepage-card__title {
  font-family: var(--font-heading, "Georgia", serif) !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  color: #ffffff !important;
  margin: 0 !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.area-guide-homepage-card__description {
  font-family: var(--font-body, sans-serif) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  margin: 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-align: left;
}

.area-guide-homepage-card__metrics {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 4px 0 0 0;
}

.area-guide-homepage-card__metric {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.area-guide-homepage-card__metric dt {
  font-family: var(--font-body, sans-serif) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.75) !important;
}
.area-guide-homepage-card__metric dd {
  font-family: var(--font-body, sans-serif) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.95) !important;
}

.area-guide-homepage-card__footer {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: auto !important;
  padding-top: 24px !important;
}

.area-guide-homepage-card__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: var(--font-heading, "Georgia", serif) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  text-transform: none;
  letter-spacing: 0;
  color: #ffffff !important;
}
.area-guide-homepage-card__link svg {
  transition: transform 0.2s ease;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.area-guide-homepage-card:hover .area-guide-homepage-card__link svg {
  transform: translateX(4px);
}

.area-guides-section__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 1fr;
  gap: 24px !important;
}
@media (max-width: 992px) {
  .area-guides-section__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .area-guides-section__grid {
    grid-template-columns: 1fr;
  }
}

.area-guides-home-explorer-preview-page {
  padding: var(--space-4xl) 0 var(--space-6xl);
  background: #ffffff;
}

.area-guides-home-explorer-preview-page__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  max-width: 760px;
  margin: 0 auto var(--space-4xl);
}

.area-guides-home-explorer-preview-page__intro--secondary {
  margin-top: var(--space-5xl);
}

.area-guides-home-explorer {
  padding: var(--space-5xl) 0;
  background: var(--color-sand-soft, #f4f2f0);
  overflow: clip;
}

.area-guides-home-explorer--full-bleed {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
}

.area-guides-home-explorer__intro {
  max-width: 48rem;
  margin-bottom: var(--space-2xl);
  animation: area-guides-home-explorer-rise 700ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.area-guides-home-explorer__regions-title {
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 400;
  line-height: 1.15;
  color: #0f2430;
  margin: 0 0 16px;
}

.area-guides-home-explorer__regions-copy {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  color: #4b5563;
  margin: 0;
}

.area-guides-home-explorer__regions-link {
  display: inline-flex;
  align-items: center;
  margin-top: 18px;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  color: #0f2430;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-underline-position: from-font;
  transition: color 0.2s ease;
}
.area-guides-home-explorer__regions-link:hover, .area-guides-home-explorer__regions-link:focus-visible {
  color: var(--color-accent, #bf2842);
  text-decoration: underline;
}

.area-guides-home-explorer__featured-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
  margin-bottom: var(--space-2xl);
}
@media (max-width: 1024px) {
  .area-guides-home-explorer__featured-grid {
    grid-template-columns: 1fr;
  }
}

.area-guides-home-explorer-feature-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-height: 100%;
  padding: 24px;
  border: 1px solid rgba(15, 36, 48, 0.1);
  border-radius: 12px;
  background: #fbf8f2;
}

.area-guides-home-explorer-feature-card__map-wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-bottom: 6px;
  color: rgba(15, 36, 48, 0.32);
}

.area-guides-home-explorer-feature-card__eyebrow {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8b7764;
  margin: 0;
}

.area-guides-home-explorer-feature-card__map {
  display: block;
  width: 100%;
  height: auto;
}

.area-guides-home-explorer-feature-card__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-md);
}

.area-guides-home-explorer-feature-card__title {
  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 400;
  line-height: 1.2;
  color: #0f2430;
  margin: 0;
}

.area-guides-home-explorer-feature-card__count {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.5;
  color: #6b7280;
  margin: 4px 0 0;
}

.area-guides-home-explorer-feature-card__summary {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: #4b5563;
  margin: 0;
}

.area-guides-home-explorer-feature-card__accent {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.5;
  color: #8b7764;
  margin: -4px 0 0;
}

.area-guides-home-explorer-feature-card__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  margin-top: auto;
}

.area-guides-home-explorer-feature-card__link {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  color: #0f2430;
  text-decoration: none;
}
.area-guides-home-explorer-feature-card__link:hover, .area-guides-home-explorer-feature-card__link:focus-visible {
  color: var(--color-accent, #bf2842);
  text-decoration: none;
}

.area-guides-home-explorer__browse-list {
  display: flex;
  flex-direction: column;
  border-top: 1px solid rgba(15, 36, 48, 0.12);
}

.area-guides-home-explorer-region-row {
  padding: 22px 0;
  border-bottom: 1px solid rgba(15, 36, 48, 0.1);
}
.area-guides-home-explorer-region-row:last-child {
  border-bottom: 0;
}

.area-guides-home-explorer-region-row__heading {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 12px;
}

.area-guides-home-explorer-region-row__title {
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.2;
  color: #0f2430;
  margin: 0;
  transition: color 0.25s ease;
}

.area-guides-home-explorer-region-row__count {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.5;
  color: #6b7280;
  margin: 0;
}

.area-guides-home-explorer-region-row__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
}

.area-guides-home-explorer-region-row__recent {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: baseline;
  margin-top: 14px;
}

.area-guides-home-explorer-region-row__recent-label {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-accent, #bf2842);
  margin: 0;
}

.area-guides-home-explorer-region-row__recent-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
}

.area-guides-home-explorer-region-row__link {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  color: #0f2430;
  text-decoration: none;
  transition: color 0.2s ease;
}
.area-guides-home-explorer-region-row__link:hover, .area-guides-home-explorer-region-row__link:focus-visible {
  color: var(--color-accent, #bf2842);
  text-decoration: none;
}

@keyframes area-guides-home-explorer-rise {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .area-guides-home-explorer__intro {
    animation: none;
  }
  .area-guides-home-explorer__regions-link {
    transition-duration: 0.01ms !important;
    transform: none !important;
  }
}
.area-guides-layout-lab {
  padding: var(--space-4xl) 0 var(--space-6xl);
  background: #f5f1e8;
}

.area-guides-layout-lab__intro,
.area-guides-layout-lab__recreation-header {
  max-width: 56rem;
}

.area-guides-layout-lab__wireframes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
  margin-top: var(--space-3xl);
}
@media (max-width: 1024px) {
  .area-guides-layout-lab__wireframes {
    grid-template-columns: 1fr;
  }
}

.area-guides-layout-lab-study {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.area-guides-layout-lab-study__label {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8c7764;
}

.area-guides-layout-lab-study__canvas {
  min-height: 360px;
  padding: 18px;
  border: 1px solid rgba(15, 36, 48, 0.14);
  background: rgba(255, 255, 255, 0.58);
}

.area-guides-layout-lab-study__rule,
.area-guides-layout-lab-study__caption,
.area-guides-layout-lab-study__copy-block,
.area-guides-layout-lab-study__display-block,
.area-guides-layout-lab-study__image-block,
.area-guides-layout-lab-study__list-row,
.area-guides-layout-lab-study__timeline-card,
.area-guides-layout-lab-study__stack,
.area-guides-layout-lab-study__photo-cut,
.area-guides-layout-lab-study__hero-image,
.area-guides-layout-lab-study__hero-copy,
.area-guides-layout-lab-study__mini-card {
  background: rgba(15, 36, 48, 0.08);
  border: 1px dashed rgba(15, 36, 48, 0.18);
}

.area-guides-layout-lab-study__canvas--editorial {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.area-guides-layout-lab-study__rule {
  height: 1px;
  background: rgba(15, 36, 48, 0.2);
  border: 0;
}

.area-guides-layout-lab-study__editorial-top,
.area-guides-layout-lab-study__editorial-main {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 16px;
}

.area-guides-layout-lab-study__caption {
  min-height: 24px;
}

.area-guides-layout-lab-study__copy-block {
  min-height: 96px;
}

.area-guides-layout-lab-study__display-block,
.area-guides-layout-lab-study__image-block {
  min-height: 132px;
}

.area-guides-layout-lab-study__editorial-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.area-guides-layout-lab-study__list-row {
  min-height: 42px;
}

.area-guides-layout-lab-study__canvas--programme {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.area-guides-layout-lab-study__timeline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.area-guides-layout-lab-study__timeline-card {
  min-height: 112px;
}

.area-guides-layout-lab-study__programme-grid {
  display: grid;
  grid-template-columns: 0.8fr 0.9fr 1fr;
  gap: 14px;
  flex: 1;
}

.area-guides-layout-lab-study__stack,
.area-guides-layout-lab-study__photo-cut {
  min-height: 180px;
}

.area-guides-layout-lab-study__canvas--system {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.area-guides-layout-lab-study__hero-band {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 16px;
}

.area-guides-layout-lab-study__hero-image,
.area-guides-layout-lab-study__hero-copy {
  min-height: 120px;
}

.area-guides-layout-lab-study__card-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.area-guides-layout-lab-study__mini-card {
  min-height: 160px;
}

.area-guides-layout-lab-study__mini-card--lifted {
  transform: translateY(18px);
  background: rgba(15, 36, 48, 0.12);
}

.area-guides-layout-lab-study__note {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: #5a5b5f;
  margin: 0;
}

.area-guides-layout-lab__recreation {
  margin-top: var(--space-5xl);
}

.area-guides-layout-lab-board {
  margin-top: var(--space-2xl);
  border-top: 1px solid rgba(15, 36, 48, 0.14);
  border-bottom: 1px solid rgba(15, 36, 48, 0.14);
}

.area-guides-layout-lab-board__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.2fr);
  gap: var(--space-2xl);
  padding: var(--space-2xl) 0;
  border-bottom: 1px solid rgba(15, 36, 48, 0.14);
}
@media (max-width: 1024px) {
  .area-guides-layout-lab-board__hero {
    grid-template-columns: 1fr;
  }
}

.area-guides-layout-lab-board__meta {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8c7764;
  margin: 0 0 14px;
}

.area-guides-layout-lab-board__title {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 400;
  line-height: 0.98;
  max-width: 10ch;
  color: #0f2430;
  margin: 0;
}

.area-guides-layout-lab-board__text {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.65;
  color: #4b5563;
  max-width: 34rem;
  margin: 18px 0 0;
}

.area-guides-layout-lab-board__link {
  display: inline-flex;
  margin-top: 20px;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #0f2430;
  text-decoration: none;
}
.area-guides-layout-lab-board__link:hover, .area-guides-layout-lab-board__link:focus-visible {
  color: var(--color-accent, #bf2842);
  text-decoration: none;
}

.area-guides-layout-lab-board__hero-aside {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-left: 1px solid rgba(15, 36, 48, 0.12);
}
@media (max-width: 1024px) {
  .area-guides-layout-lab-board__hero-aside {
    grid-template-columns: 1fr;
    border-left: 0;
    border-top: 1px solid rgba(15, 36, 48, 0.12);
  }
}

.area-guides-layout-lab-board__city-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 14px;
  min-height: 100%;
  padding: 22px;
  border-right: 1px solid rgba(15, 36, 48, 0.12);
  background: rgba(255, 255, 255, 0.42);
}
.area-guides-layout-lab-board__city-card:last-child {
  border-right: 0;
}
@media (max-width: 1024px) {
  .area-guides-layout-lab-board__city-card {
    border-right: 0;
    border-bottom: 1px solid rgba(15, 36, 48, 0.12);
  }
  .area-guides-layout-lab-board__city-card:last-child {
    border-bottom: 0;
  }
}

.area-guides-layout-lab-board__city-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(15, 36, 48, 0.2);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 600;
  color: #0f2430;
}

.area-guides-layout-lab-board__city-title {
  font-family: var(--font-heading);
  font-size: 28px;
  line-height: 1.05;
  color: #0f2430;
  margin: 0;
}

.area-guides-layout-lab-board__city-copy {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: #4b5563;
  margin: 0;
}

.area-guides-layout-lab-board__city-links,
.area-guides-layout-lab-board__row-links,
.area-guides-layout-lab-board__row-latest-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
}

.area-guides-layout-lab-board__city-link,
.area-guides-layout-lab-board__row-link {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  color: #0f2430;
  text-decoration: none;
}
.area-guides-layout-lab-board__city-link:hover, .area-guides-layout-lab-board__city-link:focus-visible,
.area-guides-layout-lab-board__row-link:hover,
.area-guides-layout-lab-board__row-link:focus-visible {
  color: var(--color-accent, #bf2842);
  text-decoration: none;
}

.area-guides-layout-lab-board__rows {
  display: flex;
  flex-direction: column;
}

.area-guides-layout-lab-board__row {
  display: grid;
  grid-template-columns: minmax(180px, 0.5fr) minmax(0, 1fr) minmax(220px, 0.7fr);
  gap: var(--space-xl);
  padding: 20px 0;
  border-bottom: 1px solid rgba(15, 36, 48, 0.12);
}
.area-guides-layout-lab-board__row:last-child {
  border-bottom: 0;
}
@media (max-width: 1024px) {
  .area-guides-layout-lab-board__row {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

.area-guides-layout-lab-board__row-heading {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.area-guides-layout-lab-board__row-title {
  font-family: var(--font-heading);
  font-size: 22px;
  line-height: 1.1;
  color: #0f2430;
  margin: 0;
}

.area-guides-layout-lab-board__row-count {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.5;
  color: #6b7280;
  margin: 0;
}

.area-guides-layout-lab-board__row-latest {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: baseline;
}

.area-guides-layout-lab-board__row-latest-label {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8c7764;
}

.area-guides-city-cards-section__intro {
  max-width: 42rem;
  margin-bottom: var(--space-xl);
}

.area-guides-city-cards-section__title {
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 400;
  line-height: 1.1;
  color: #0f2430;
  margin: 0 0 14px;
}

.area-guides-city-cards-section__subtitle {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  color: #4b5563;
  margin: 0;
}

.area-guides-city-cards-section__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
}
@media (max-width: 1024px) {
  .area-guides-city-cards-section__grid {
    grid-template-columns: 1fr;
  }
}

.area-guides-city-cards-section__card {
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}

.area-guides-city-cards-section__image-wrap {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  background: #d9d2c5;
}

.area-guides-city-cards-section__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1) contrast(0.9) brightness(1.04);
}

.area-guides-city-cards-section__wash {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 28px;
  background: rgba(191, 40, 66, 0.65);
}

.area-guides-city-cards-section__content {
  padding: 16px 0 0;
  border-left: 1px solid rgba(15, 36, 48, 0.14);
  padding-left: 14px;
}

.area-guides-city-cards-section__region {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8c7764;
  margin: 0 0 10px;
}

.area-guides-city-cards-section__city {
  font-family: var(--font-heading);
  font-size: 30px;
  font-weight: 400;
  line-height: 1.05;
  color: #0f2430;
  margin: 0;
}

.area-guides-city-cards-section__value {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  color: #0f2430;
  margin: 8px 0 0;
}

.area-guides-dark-panels-section {
  padding: var(--space-5xl) 0;
  background: var(--color-sand-soft, #f4f2f0);
  color: #000000;
}
@media (max-width: 1024px) {
  .area-guides-dark-panels-section {
    padding: var(--space-4xl) 0;
  }
}
@media (max-width: 768px) {
  .area-guides-dark-panels-section {
    padding: var(--space-3xl) 0;
  }
}

.area-guides-dark-panels-section--full-bleed {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}

.area-guides-dark-panels-section__intro {
  max-width: 48rem;
  margin-bottom: var(--space-2xl);
}

.area-guides-dark-panels-section__title {
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 400;
  line-height: 1.15;
  color: #000000;
  margin: 0 0 16px;
}

.area-guides-dark-panels-section__subtitle {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: #4b5563;
  margin: 0;
}

.area-guides-dark-panels-section__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-lg);
}
@media (max-width: 1280px) {
  .area-guides-dark-panels-section__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 1024px) {
  .area-guides-dark-panels-section__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.area-guides-dark-panels-section__panel {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-height: 100%;
  padding: 0;
}

.area-guides-dark-panels-section__top {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.area-guides-dark-panels-section__panel-title {
  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 400;
  line-height: 1.5;
  color: #000000;
  margin: 0;
}

.area-guides-dark-panels-section__body {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.7;
  color: #000000;
  margin: 12px 0 0;
}

.area-guides-dark-panels-section__cta {
  display: inline-flex;
  margin-top: auto;
  padding-top: 20px;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-accent, #bf2842);
  text-decoration: none;
}
.area-guides-dark-panels-section__cta:hover, .area-guides-dark-panels-section__cta:focus-visible {
  color: #d92346;
  text-decoration: none;
}

.area-guides-dark-panels-section__media {
  overflow: hidden;
  background: rgba(15, 36, 48, 0.06);
  height: 100%;
}

.area-guides-dark-panels-section__footer {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.area-guides-dark-panels-section__media-shell {
  overflow: hidden;
}

.area-guides-dark-panels-section__image {
  display: block;
  width: 100%;
  aspect-ratio: 1/1.15;
  object-fit: cover;
  opacity: 0.92;
}

.area-guides-dark-panels-section__links {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px 14px;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
}

.area-guides-dark-panels-section__more {
  margin-top: 2px;
}

.area-guides-dark-panels-section__more-toggle {
  display: inline-flex;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  list-style: none;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  color: #0f2430;
  transition: color 0.2s ease;
  z-index: 3;
}
.area-guides-dark-panels-section__more-toggle::-webkit-details-marker {
  display: none;
}
.area-guides-dark-panels-section__more-toggle:hover, .area-guides-dark-panels-section__more-toggle:focus-visible {
  color: var(--color-accent, #bf2842);
  outline: none;
}

.area-guides-dark-panels-section__more-links {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px 14px;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  margin-top: 12px;
  padding-bottom: 2px;
  white-space: nowrap;
}

.area-guides-dark-panels-section__link {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  color: #0f2430;
  text-decoration: none;
}
.area-guides-dark-panels-section__link:hover, .area-guides-dark-panels-section__link:focus-visible {
  color: var(--color-accent, #bf2842);
  text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
  .area-guides-dark-panels-section__more-toggle {
    transition: none;
  }
}
.search-bar {
  background-color: var(--color-white);
  border-bottom: 1px solid var(--color-border-muted);
  position: relative;
  z-index: 100;
  padding: 0;
}

.search-bar__form {
  width: 100%;
}

.search-bar__container {
  max-width: 1440px;
  margin: 0 auto;
  padding: var(--space-compact) var(--space-md);
  display: flex;
  align-items: center;
  gap: var(--space-compact);
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .search-bar__container {
    padding: var(--space-compact);
    gap: var(--space-micro);
  }
}

.search-bar__btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
  min-height: 48px;
  padding: var(--space-xs) var(--space-sm);
  background: var(--color-white);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-sm);
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text-secondary);
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
  overflow: hidden;
}
.search-bar__btn svg {
  color: #374151;
  flex-shrink: 0;
  transition: color 0.2s ease;
}
.search-bar__btn:hover {
  background-color: var(--color-gray-50);
  border-color: var(--color-border-ghost);
}
.search-bar__btn:hover.search-bar__btn--active {
  background-color: rgba(191, 40, 66, 0.05);
  border-color: var(--color-accent, #bf2842);
}
.search-bar__btn--active {
  background-color: rgba(191, 40, 66, 0.05);
  border-color: var(--color-accent, #bf2842);
  color: var(--color-accent, #bf2842);
}
.search-bar__btn--active svg {
  color: var(--color-accent, #bf2842);
}
@media (max-width: 768px) {
  .search-bar__btn {
    width: 100%;
    padding: 10px 12px;
    font-size: 13px;
    white-space: normal;
    justify-content: space-between;
  }
}

.search-bar__chevron {
  color: var(--color-text-muted);
  margin-left: var(--space-xxs);
  transition: transform 0.2s ease;
}
.search-bar__chevron.rotated {
  transform: rotate(180deg);
}
.search-bar__btn--active .search-bar__chevron {
  color: var(--color-accent, #bf2842);
}

.search-bar__btn-label {
  display: inline-block;
  min-width: 110px;
  text-align: left;
  font-size: var(--font-sm);
  font-weight: 400;
}
@media (max-width: 768px) {
  .search-bar__btn-label {
    min-width: auto;
    flex: 1;
    text-align: left;
  }
}

.search-bar__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background-color: var(--color-accent, #bf2842);
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
  color: #ffffff;
  margin-left: 4px;
}

.search-bar__dropdown-wrapper {
  position: relative;
}

.search-bar__area-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: 400px;
  background: var(--color-white);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-floating);
  z-index: 50;
  padding: var(--space-md);
}
@media (max-width: 480px) {
  .search-bar__area-dropdown {
    width: 300px;
    left: -20px;
  }
}

.search-bar__area-section {
  margin-bottom: var(--space-md);
}

.search-bar__area-input-wrapper {
  position: relative;
}

.search-bar__area-input-inner {
  display: flex;
  align-items: center;
  gap: var(--space-xxs);
  min-height: 48px;
  padding: var(--space-xs) var(--space-sm);
  background: var(--color-white);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-md);
  flex-wrap: wrap;
}
.search-bar__area-input-inner:focus-within {
  border-color: var(--color-accent, #bf2842);
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.1);
}

.search-bar__area-tag {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
  padding: var(--space-xxs) var(--space-xs);
  background: rgba(191, 40, 66, 0.08);
  border-radius: var(--radius-sm);
  font-size: var(--font-sm);
  color: var(--color-accent);
  font-weight: 500;
}

.search-bar__area-tag-remove {
  background: none;
  border: none;
  padding: 0;
  color: var(--color-accent);
  cursor: pointer;
  display: flex;
}

.search-bar__area-input {
  flex: 1;
  min-width: 100px;
  border: none;
  outline: none;
  font-size: 14px;
  color: #111827;
  padding: 0;
}

.search-bar__area-results {
  margin-top: var(--space-sm);
  max-height: 240px;
  overflow-y: auto;
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-md);
}

.search-bar__area-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: var(--space-xs) var(--space-sm);
  background: transparent;
  border: none;
  text-align: left;
  font-size: 14px;
  color: var(--color-text-secondary);
  cursor: pointer;
  border-bottom: 1px solid var(--color-surface-muted);
}
.search-bar__area-result:last-child {
  border-bottom: none;
}
.search-bar__area-result:hover {
  background: var(--color-gray-50);
}
.search-bar__area-result.selected {
  background: rgba(191, 40, 66, 0.05);
  color: var(--color-accent, #bf2842);
  font-weight: 500;
}
.search-bar__area-result svg {
  color: var(--color-accent, #bf2842);
}

.search-bar__area-empty {
  padding: var(--space-sm);
  text-align: center;
  font-size: 13px;
  color: var(--color-text-muted);
}

.search-bar__dropdown-footer {
  display: flex;
  justify-content: flex-end;
}

.search-bar__btn-full {
  width: 100%;
  justify-content: center;
}

.search-bar__sort-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 220px;
  background: var(--color-white);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-floating);
  z-index: 50;
  overflow: hidden;
}

.search-bar__sort-option {
  display: block;
  width: 100%;
  padding: var(--space-compact) var(--space-sm);
  background: transparent;
  border: none;
  text-align: left;
  font-size: var(--font-sm);
  color: var(--color-gray-600);
  cursor: pointer;
}
.search-bar__sort-option:hover {
  background: var(--color-gray-50);
}
.search-bar__sort-option.active {
  background: rgba(191, 40, 66, 0.05);
  color: var(--color-accent);
  font-weight: 500;
}
.search-bar__sort-option + .search-bar__sort-option {
  border-top: 1px solid var(--color-surface-muted);
}

.search-bar__clear-link--toolbar {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-accent, #bf2842);
  text-decoration: none;
}
.search-bar__clear-link--toolbar:hover {
  text-decoration: underline;
}
.search-bar__clear-link--toolbar svg {
  transition: transform 0.2s ease;
}
.search-bar__clear-link--toolbar:hover svg {
  transform: translateX(4px);
}

.search-bar__filter-drawer {
  position: absolute;
  top: 100%;
  right: 0;
  min-width: 420px;
  background: var(--color-white);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-floating);
  z-index: 50;
}
@media (max-width: 480px) {
  .search-bar__filter-drawer {
    min-width: 300px;
    right: -20px;
  }
}

.search-bar__filter-content--toolbar {
  max-width: 1440px;
  margin: 0 auto;
  padding: var(--space-md) var(--space-lg);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-lg);
}
@media (max-width: 992px) {
  .search-bar__filter-content--toolbar {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }
}

.search-bar__filter-content--single {
  max-width: 1440px;
  margin: 0 auto;
  padding: 24px 32px;
}
@media (max-width: 768px) {
  .search-bar__filter-content--single {
    padding: 16px;
  }
}

.search-bar__filter-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.search-bar__filter-title {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  color: #6b7280;
  letter-spacing: 0.5px;
  margin: 0;
}

.search-bar__filter-options--row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px;
}

.search-bar__input {
  width: 100%;
  padding: 10px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
}
.search-bar__input:focus {
  border-color: var(--color-accent, #bf2842);
  outline: none;
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.1);
}

.search-bar__filter-separator {
  align-self: center;
  color: #9ca3af;
}

.search-bar__filter-grid {
  display: flex;
  gap: 8px;
}

.search-bar__filter-actions {
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-compact);
  padding: var(--space-md) var(--space-lg);
  border-top: 1px solid var(--color-border-muted);
}

.search-bar__clear-link--drawer {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  color: #6b7280;
  text-decoration: none;
  transition: color 0.2s ease;
}
.search-bar__clear-link--drawer svg {
  color: #6b7280;
  transition: color 0.2s ease;
}
.search-bar__clear-link--drawer:hover {
  color: #374151;
}
.search-bar__clear-link--drawer:hover svg {
  color: #374151;
}

.search-bar__filter-actions-buttons {
  display: flex;
  gap: 12px;
  align-items: center;
}

.search-bar__btn-icon-only {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  width: 48px;
  padding: 0;
  background: var(--color-accent, #bf2842);
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s ease;
}
.search-bar__btn-icon-only svg {
  color: white;
}
.search-bar__btn-icon-only:hover {
  background: var(--color-accent-dark, #9a2035);
}

.search-bar__btn-primary {
  padding: 10px 24px;
  background: var(--color-accent, #bf2842);
  color: white;
  border: none;
  border-radius: 6px;
  font-weight: 500;
  cursor: pointer;
}
.search-bar__btn-primary:hover {
  background: var(--color-accent-dark, #9a2035);
}

.search-bar__btn-secondary {
  padding: 10px 24px;
  background: white;
  border: 1px solid #d1d5db;
  color: #374151;
  border-radius: 6px;
  font-weight: 500;
  cursor: pointer;
}
.search-bar__btn-secondary:hover {
  background: #f9fafb;
}

.search-bar__filters-panel {
  width: 100%;
}

.search-bar__more-filters-toggle {
  width: 100%;
  justify-content: flex-start;
}
.search-bar__more-filters-toggle--has-filters {
  background-color: rgba(191, 40, 66, 0.1);
}
@media (min-width: 769px) {
  .search-bar__more-filters-toggle {
    display: none !important;
  }
}

@media (min-width: 769px) {
  .search-bar__filters-panel {
    display: block !important;
  }
}
.search-bar__more-filters-badge {
  background: var(--color-accent, #bf2842);
  color: var(--color-white);
  border-radius: 50%;
  font-size: 11px;
  font-weight: 600;
  padding: 0;
  width: 20px;
  height: 20px;
  min-width: unset;
  flex-shrink: 0;
}

.search-bar__histogram {
  margin-bottom: 16px;
  padding-bottom: 12px;
  padding-top: 22px;
  border-bottom: 1px solid #e5e7eb;
}

.search-bar__histogram-bars {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  height: 80px;
  padding-bottom: 4px;
}

.search-bar__histogram-bar-wrapper {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  padding: 4px 2px;
  border-radius: 4px;
}
.search-bar__histogram-bar-wrapper:hover .search-bar__histogram-bar {
  background-color: #9ca3af;
}
.search-bar__histogram-bar-wrapper.active .search-bar__histogram-bar {
  background-color: var(--color-accent, #bf2842);
}

.search-bar__container--stacked {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media (min-width: 769px) {
  .search-bar__container--stacked {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
    align-items: center;
  }
}

.search-bar__container--stacked .search-bar__area-wrapper {
  width: 100%;
}
@media (min-width: 769px) {
  .search-bar__container--stacked .search-bar__area-wrapper {
    width: auto;
    flex: 1;
    min-width: 0;
  }
}

.search-bar__row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
@media (min-width: 769px) {
  .search-bar__row {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
  }
}

.search-bar__row--primary .search-bar__dropdown-wrapper {
  flex-shrink: 0;
}
.search-bar__row--primary .search-bar__area-wrapper {
  width: 100%;
}
@media (min-width: 769px) {
  .search-bar__row--primary .search-bar__area-wrapper {
    flex: 1;
    min-width: 0;
    width: auto;
  }
}

.search-bar__row--secondary .search-bar__dropdown-wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .search-bar__row--secondary .search-bar__dropdown-wrapper {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
  }
}
.search-bar__row--secondary > .search-bar__btn {
  width: 100%;
}
@media (min-width: 769px) {
  .search-bar__row--secondary > .search-bar__btn {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
  }
}
.search-bar__row--secondary .search-bar__btn {
  display: flex;
  width: 100%;
}
@media (min-width: 769px) {
  .search-bar__row--secondary .search-bar__btn {
    display: inline-flex;
    width: auto;
  }
}

.search-bar__btn--search-cta {
  width: 100%;
  background: var(--color-accent, #bf2842);
  color: white;
  font-weight: 500;
  font-size: 16px;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.search-bar__btn--search-cta > span {
  font-weight: inherit;
}
@media (min-width: 769px) {
  .search-bar__btn--search-cta {
    width: auto;
    min-width: 180px;
    flex: 0 0 auto;
    white-space: nowrap;
    gap: 12px;
  }
}
.search-bar__btn--search-cta:hover {
  background: var(--color-accent-dark, #9a2035);
}
.search-bar__btn--search-cta svg {
  color: white;
}

.search-bar__cta-icon {
  color: white;
  flex-shrink: 0;
}

.search-bar__search-count {
  font-size: 14px;
  font-weight: 500;
  opacity: 0.9;
}

@keyframes search-bar-skeleton-pulse {
  0%, 100% {
    opacity: 0.6;
  }
  50% {
    opacity: 0.3;
  }
}
.search-bar__skeleton {
  background-color: var(--color-white);
  border-bottom: 1px solid var(--color-border-muted);
  position: relative;
  z-index: 100;
  padding: 0;
  width: 100%;
}

.search-bar__skeleton-wrapper {
  max-width: 1440px;
  margin: 0 auto;
  padding: var(--space-compact) var(--space-md);
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}
@media (max-width: 767px) {
  .search-bar__skeleton-wrapper {
    padding: var(--space-compact);
    gap: 8px;
  }
}

.search-bar__skeleton-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
@media (min-width: 769px) {
  .search-bar__skeleton-row {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
  }
}

.search-bar__skeleton-item {
  background: linear-gradient(90deg, #f0f0f0 0%, #f9f9f9 50%, #f0f0f0 100%);
  background-size: 200% 100%;
  border-radius: var(--radius-sm);
  min-height: 48px;
  flex-shrink: 0;
  animation: search-bar-skeleton-pulse 1.5s ease-in-out infinite;
}
@media (max-width: 767px) {
  .search-bar__skeleton-item {
    width: 100%;
  }
}

@media (min-width: 769px) {
  .search-bar__skeleton-item--button {
    width: auto;
  }
}

.search-bar__skeleton-item--input {
  border-radius: var(--radius-md);
}
@media (max-width: 767px) {
  .search-bar__skeleton-item--input {
    width: 100%;
  }
}

.search-bar__skeleton-item--primary {
  background: linear-gradient(90deg, #e8b8bf 0%, #f0d0d6 50%, #e8b8bf 100%);
  background-size: 200% 100%;
  min-height: 48px;
}
@media (max-width: 767px) {
  .search-bar__skeleton-item--primary {
    width: 100%;
  }
}

.search-widget__filters--stacked {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media (min-width: 769px) {
  .search-widget__filters--stacked {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
  }
}

.search-widget__filters--stacked .search-bar__area-wrapper {
  width: 100%;
}
@media (min-width: 769px) {
  .search-widget__filters--stacked .search-bar__area-wrapper {
    width: auto;
    flex: 1;
    min-width: 200px;
  }
}

.search-widget__filters--stacked .search-bar__btn {
  width: 100%;
}
@media (min-width: 769px) {
  .search-widget__filters--stacked .search-bar__btn {
    width: auto;
    flex: 0 0 auto;
  }
}

.search-bar__histogram-bar {
  width: 100%;
  max-width: 40px;
  background-color: var(--color-gray-300);
  border-radius: 2px 2px 0 0;
  min-height: 4px;
}

.search-bar__histogram-label {
  font-size: 9px;
  color: var(--color-text-secondary);
  margin-top: 4px;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.search-bar__histogram-total {
  text-align: center;
  font-size: 11px;
  color: var(--color-text-secondary);
  margin-top: 8px;
}

.search-bar__filter-actions {
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  padding: 16px 32px;
  border-top: 1px solid #e5e7eb;
}

.search-bar__size-dropdown-content {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f3f4f6;
}

.search-bar__input-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}

.search-bar__label-sm {
  font-size: 11px;
  font-weight: 600;
  color: var(--color-text-secondary);
  text-transform: uppercase;
}

.search-bar__area-wrapper {
  position: relative;
  flex: 1;
  min-width: 300px;
}

.search-bar__area-input-container {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 6px 12px;
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  cursor: text;
  transition: all 0.2s ease;
}
.search-bar__area-input-container.focused {
  border-color: var(--color-accent, #bf2842);
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.1);
}

.search-bar__search-icon {
  color: var(--color-text-muted);
  flex-shrink: 0;
}

.search-bar__clear-query {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  padding: 0;
  background: none;
  border: none;
  border-radius: 50%;
  color: var(--color-text-muted);
  cursor: pointer;
  transition: background-color 150ms ease, color 150ms ease;
}
.search-bar__clear-query:hover {
  background-color: var(--color-gray-200);
  color: var(--color-primary);
}

.search-bar__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xxs);
  flex: 1;
  align-items: center;
}

.search-bar__chips--stacked {
  align-items: flex-start;
}

.search-bar__chip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
  padding: var(--space-xxs) var(--space-micro);
  background: rgba(191, 40, 66, 0.08);
  border-radius: var(--radius-sm);
  font-size: var(--font-sm);
  font-weight: 500;
  color: var(--color-accent);
}

.search-bar__chip-remove {
  display: flex;
  padding: 0;
  background: none;
  border: none;
  color: var(--color-accent);
  cursor: pointer;
  opacity: 0.7;
}
.search-bar__chip-remove:hover {
  opacity: 1;
}

.search-bar__chip-more {
  background: var(--color-surface-muted);
  color: var(--color-text-secondary);
  font-weight: 600;
  font-size: var(--font-xs);
  border: 0;
  cursor: pointer;
  opacity: 0.85;
}
.search-bar__chip-more:hover {
  opacity: 1;
}
.search-bar__chip-more:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.search-bar__inline-input {
  flex: 1;
  min-width: 160px;
  border: none;
  outline: none;
  font-size: 14px;
  color: #111827;
  background: transparent;
  padding: 0;
  height: 24px;
}
.search-bar__inline-input::placeholder {
  color: var(--color-text-muted);
}
.search-bar__inline-input::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
}

@media (max-width: 768px) {
  .search-widget .search-bar__inline-input {
    font-size: 16px;
  }
}
.search-bar__area-results-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  z-index: 60;
  max-height: 300px;
  overflow-y: auto;
  padding: 8px 0;
}
@media (max-width: 768px) {
  .search-bar__area-results-dropdown {
    display: flex;
    flex-direction: column;
    max-height: 360px;
    overflow: hidden;
    padding: 0;
  }
}

@media (max-width: 768px) {
  .search-bar__area-results-scroll {
    flex: 1;
    overflow-y: auto;
    padding: 8px 0;
  }
}

.search-bar__result-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 10px 16px;
  background: transparent;
  border: none;
  text-align: left;
  font-size: 14px;
  color: #374151;
  cursor: pointer;
  gap: 12px;
  min-width: 0;
}
.search-bar__result-item span:first-child {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-bar__result-item div:last-child {
  flex-shrink: 0;
  white-space: nowrap;
}
.search-bar__result-item:hover {
  background: #f9fafb;
}
.search-bar__result-item.selected {
  background: rgba(191, 40, 66, 0.05);
  color: var(--color-accent, #bf2842);
  font-weight: 500;
}

.search-bar__no-results {
  padding: 12px 16px;
  color: #6b7280;
  font-size: 14px;
  text-align: center;
}

.search-bar__area-done-row {
  display: none;
}
@media (max-width: 768px) {
  .search-bar__area-done-row {
    display: block;
    flex-shrink: 0;
    padding: 12px 16px;
    background: white;
    border-top: 1px solid var(--color-border-muted, #e5e7eb);
    border-radius: 0 0 8px 8px;
  }
}

.search-bar__area-done-btn {
  width: 100%;
  justify-content: center;
}

.search-bar__nearby-section {
  border-top: 1px solid #e5e7eb;
  margin-top: 4px;
  padding-top: 4px;
}

.search-bar__nearby-label {
  padding: 12px 16px 4px;
  font-size: 10px;
  font-weight: 700;
  color: #9ca3af;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.search-bar__selected-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px 6px;
}

.search-bar__clear-all {
  background: none;
  border: 0;
  padding: 0;
  color: var(--color-accent, #bf2842);
  font-weight: 600;
  cursor: pointer;
}
.search-bar__clear-all:hover {
  text-decoration: underline;
}
.search-bar__clear-all:focus-visible {
  outline: 2px solid var(--color-accent, #bf2842);
  outline-offset: 2px;
}

.search-bar__divider {
  margin: 8px 0;
  border: 0;
  border-top: 1px solid #eee;
}

.search-bar__loading-row {
  padding: 10px 16px;
  color: #9ca3af;
  font-size: 13px;
}

.search-bar__result-item--nearby {
  background-color: transparent;
}
.search-bar__result-item--nearby:hover {
  background-color: #f9fafb;
}

.search-toolbar {
  background-color: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  position: relative;
  z-index: 100;
  transition: box-shadow 0.2s ease;
}
.search-toolbar[data-sticky=true] {
  position: sticky;
  top: 72px;
}
.search-toolbar.is-sticky {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.search-toolbar__inner {
  width: 100%;
}

.search-toolbar__container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 12px 32px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .search-toolbar__container {
    padding: 12px 16px;
    gap: 6px;
  }
}

.search-toolbar__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: transparent;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.search-toolbar__btn:hover {
  background-color: #f9fafb;
  border-color: #d1d5db;
}
.search-toolbar__btn:focus {
  outline: none;
  border-color: var(--color-accent, #bf2842);
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.1);
}
.search-toolbar__btn--saved, .search-toolbar__btn--active {
  background-color: var(--color-accent, #bf2842);
  border-color: var(--color-accent, #bf2842);
  color: #ffffff;
}
.search-toolbar__btn--saved:hover, .search-toolbar__btn--active:hover {
  background-color: var(--color-accent-dark, #9a2035);
  border-color: var(--color-accent-dark, #9a2035);
}
@media (max-width: 768px) {
  .search-toolbar__btn {
    padding: 8px 12px;
    font-size: 13px;
    gap: 6px;
  }
}
@media (max-width: 576px) {
  .search-toolbar__btn .search-toolbar__label {
    display: none;
  }
  .search-toolbar__btn {
    padding: 10px;
  }
}

.search-toolbar__icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  stroke: currentColor;
}
@media (max-width: 768px) {
  .search-toolbar__icon {
    width: 18px;
    height: 18px;
  }
}

@media (max-width: 576px) {
  .search-toolbar__label {
    display: none;
  }
}

.search-toolbar__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background-color: var(--color-accent, #bf2842);
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
  color: #ffffff;
}

.search-toolbar__clear {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  padding: 10px 16px;
  background: transparent;
  border: none;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 14px;
  font-weight: 500;
  color: var(--color-accent, #bf2842);
  cursor: pointer;
  text-decoration: none;
  transition: color 0.2s ease;
}
.search-toolbar__clear:hover {
  color: var(--color-accent-dark, #9a2035);
  text-decoration: none;
}
.search-toolbar__clear svg {
  width: 16px;
  height: 16px;
  transition: transform 0.2s ease;
}
.search-toolbar__clear:hover svg {
  transform: translateX(4px);
}
@media (max-width: 768px) {
  .search-toolbar__clear {
    padding: 8px 12px;
    font-size: 13px;
  }
}

.search-toolbar__dropdown-wrapper {
  position: relative;
}

.search-toolbar__dropdown {
  position: absolute;
  top: calc(100% + var(--space-xxs));
  left: 0;
  min-width: 200px;
  background: var(--color-white);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-floating);
  z-index: 50;
  overflow: hidden;
}

.search-toolbar__dropdown-item {
  display: block;
  width: 100%;
  padding: var(--space-compact) var(--space-sm);
  background: transparent;
  border: none;
  font-family: var(--font-body);
  font-size: var(--font-sm);
  text-align: left;
  color: var(--color-gray-600);
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.search-toolbar__dropdown-item:hover {
  background-color: var(--color-gray-50);
}
.search-toolbar__dropdown-item.active {
  background-color: rgba(191, 40, 66, 0.08);
  color: var(--color-accent);
  font-weight: 500;
}
.search-toolbar__dropdown-item + .search-toolbar__dropdown-item {
  border-top: 1px solid var(--color-surface-muted);
}

.search-toolbar__filter-drawer {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--color-white);
  border-top: 1px solid var(--color-border-muted);
  box-shadow: var(--shadow-floating);
  z-index: 40;
}

.search-toolbar__filter-form {
  max-width: 1440px;
  margin: 0 auto;
}

.search-toolbar__filter-content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
  padding: var(--space-md) var(--space-lg);
}
@media (max-width: 992px) {
  .search-toolbar__filter-content {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .search-toolbar__filter-content {
    grid-template-columns: 1fr;
    padding: var(--space-section) var(--space-sm);
    gap: var(--space-md);
  }
}

.search-toolbar__filter-section {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.search-toolbar__filter-title {
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #6b7280;
  margin: 0;
}

.search-toolbar__filter-grid {
  display: flex;
  align-items: center;
  gap: 12px;
}

.search-toolbar__filter-separator {
  color: #9ca3af;
}

.search-toolbar__input {
  flex: 1;
  padding: 10px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 14px;
  color: #111827;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.search-toolbar__input::placeholder {
  color: #9ca3af;
}
.search-toolbar__input:focus {
  outline: none;
  border-color: var(--color-accent, #bf2842);
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.1);
}

.search-toolbar__filter-options {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.search-toolbar__property-dropdown {
  position: relative;
}

.search-toolbar__dropdown-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: var(--space-micro) var(--space-compact);
  background: var(--color-white);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-md);
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-gray-600);
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.search-toolbar__dropdown-trigger:hover {
  border-color: var(--color-border-ghost);
}
.search-toolbar__dropdown-trigger:focus {
  outline: none;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.1);
}

.search-toolbar__dropdown-value {
  flex: 1;
  text-align: left;
}

.search-toolbar__dropdown-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  stroke: currentColor;
  transition: transform 0.2s ease;
}
.search-toolbar__dropdown-icon.rotated {
  transform: rotate(180deg);
}

.search-toolbar__dropdown-menu {
  position: absolute;
  top: calc(100% + var(--space-xxs));
  left: 0;
  right: 0;
  background: var(--color-white);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-floating);
  z-index: 50;
  overflow: hidden;
}

.search-toolbar__dropdown-option {
  display: block;
  width: 100%;
  padding: var(--space-compact) var(--space-sm);
  background: transparent;
  border: none;
  font-family: var(--font-body);
  font-size: var(--font-sm);
  text-align: left;
  color: var(--color-gray-600);
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.search-toolbar__dropdown-option:hover {
  background-color: var(--color-gray-50);
}
.search-toolbar__dropdown-option.selected {
  background-color: rgba(191, 40, 66, 0.08);
  color: var(--color-accent);
  font-weight: 500;
}
.search-toolbar__dropdown-option + .search-toolbar__dropdown-option {
  border-top: 1px solid var(--color-surface-muted);
}

.search-toolbar__checkbox {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-gray-600);
  cursor: pointer;
}
.search-toolbar__checkbox input[type=checkbox],
.search-toolbar__checkbox input[type=radio] {
  width: 18px;
  height: 18px;
  accent-color: var(--color-accent);
  cursor: pointer;
}
.search-toolbar__checkbox:hover {
  color: var(--color-gray-600);
}

.search-toolbar__filter-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-compact);
  padding: var(--space-sm) var(--space-lg);
  border-top: 1px solid var(--color-border-muted);
  background: var(--color-gray-50);
}
@media (max-width: 576px) {
  .search-toolbar__filter-actions {
    padding: var(--space-sm);
    flex-direction: column;
  }
}

.search-toolbar__btn-secondary {
  padding: var(--space-micro) var(--space-md);
  background: var(--color-white);
  border: 1px solid var(--color-border-ghost);
  border-radius: var(--radius-md);
  font-family: var(--font-body);
  font-size: var(--font-sm);
  font-weight: 500;
  color: var(--color-gray-600);
  cursor: pointer;
  transition: all 0.2s ease;
}
.search-toolbar__btn-secondary:hover {
  background: var(--color-gray-50);
  border-color: var(--color-text-secondary);
}
@media (max-width: 576px) {
  .search-toolbar__btn-secondary {
    width: 100%;
  }
}

.search-toolbar__btn-primary {
  padding: var(--space-micro) var(--space-md);
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: var(--radius-md);
  font-family: var(--font-body);
  font-size: var(--font-sm);
  font-weight: 500;
  color: var(--color-white);
  cursor: pointer;
  transition: all 0.2s ease;
}
.search-toolbar__btn-primary:hover {
  background: var(--color-accent-dark);
  border-color: var(--color-accent-dark);
}
@media (max-width: 576px) {
  .search-toolbar__btn-primary {
    width: 100%;
  }
}

.search-toolbar__area-section {
  position: relative;
  flex: 1;
  min-width: 0;
}

.search-toolbar__area-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #6b7280;
  pointer-events: none;
  z-index: 1;
}

.search-toolbar__area-input-wrapper {
  position: relative;
  width: 100%;
}

.search-toolbar__area-input-inner {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 6px 40px 6px 44px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  cursor: text;
  flex-wrap: wrap;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.search-toolbar__area-input-inner:focus-within {
  border-color: var(--color-accent, #bf2842);
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.1);
}

.search-toolbar__area-tag {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
  padding: var(--space-xxs) var(--space-xs);
  background: rgba(191, 40, 66, 0.08);
  border-radius: var(--radius-sm);
  font-size: var(--font-sm);
  color: var(--color-accent);
  font-weight: 500;
  white-space: nowrap;
}
.search-toolbar__area-tag span {
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.search-toolbar__area-tag-remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--space-sm);
  height: var(--space-sm);
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 3px;
  cursor: pointer;
  color: var(--color-accent);
  transition: background-color 0.15s ease;
}
.search-toolbar__area-tag-remove:hover {
  background: rgba(191, 40, 66, 0.15);
}
.search-toolbar__area-tag-remove svg {
  width: 10px;
  height: 10px;
}

.search-toolbar__area-overflow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
  padding: var(--space-xxs) var(--space-xs);
  background: var(--color-surface-muted);
  border: none;
  border-radius: var(--radius-sm);
  font-size: var(--font-sm);
  font-weight: 500;
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.search-toolbar__area-overflow:hover {
  background: var(--color-border-muted);
}

.search-toolbar__area-input {
  flex: 1;
  min-width: 120px;
  padding: 0;
  border: none;
  background: transparent;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 14px;
  color: #111827;
  outline: none;
}
.search-toolbar__area-input::placeholder {
  color: #9ca3af;
}

.search-toolbar__area-dropdown-icon {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #6b7280;
  pointer-events: none;
  transition: transform 0.2s ease;
}
.search-toolbar__area-dropdown-icon.is-open {
  transform: translateY(-50%) rotate(180deg);
}

.search-toolbar__area-results {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  max-height: 400px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  overflow-y: auto;
  z-index: 50;
}

.search-toolbar__area-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 12px 16px;
  background: transparent;
  border: none;
  border-bottom: 1px solid #f3f4f6;
  text-align: left;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 14px;
  color: #374151;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.search-toolbar__area-result:hover {
  background-color: #f9fafb;
}
.search-toolbar__area-result.selected {
  background-color: rgba(191, 40, 66, 0.05);
  color: var(--color-accent, #bf2842);
  font-weight: 500;
}
.search-toolbar__area-result.selected svg {
  color: var(--color-accent, #bf2842);
}
.search-toolbar__area-result:last-child {
  border-bottom: none;
}
.search-toolbar__area-result svg {
  flex-shrink: 0;
  color: var(--color-accent, #bf2842);
}

.search-toolbar__area-empty {
  padding: 20px 16px;
  text-align: center;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 14px;
  color: #9ca3af;
}

.search-toolbar__area-wrapper {
  position: relative;
}

.search-toolbar__area-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 400px;
  max-width: 500px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  z-index: 50;
  overflow: hidden;
}
@media (max-width: 768px) {
  .search-toolbar__area-dropdown {
    min-width: 320px;
    max-width: calc(100vw - 32px);
  }
}

.search-toolbar__area-dropdown-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid #e5e7eb;
}

.search-toolbar__area-search-input {
  flex: 1;
  padding: 8px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 14px;
  color: #111827;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.search-toolbar__area-search-input::placeholder {
  color: #9ca3af;
}
.search-toolbar__area-search-input:focus {
  outline: none;
  border-color: var(--color-accent, #bf2842);
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.1);
}

.search-toolbar__area-clear-btn {
  padding: 6px 12px;
  background: transparent;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 13px;
  font-weight: 500;
  color: #6b7280;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.search-toolbar__area-clear-btn:hover {
  background: #f9fafb;
  border-color: #d1d5db;
  color: #374151;
}

.search-toolbar__area-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid #e5e7eb;
  max-height: 120px;
  overflow-y: auto;
}

.search-toolbar__area-tag {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
  padding: var(--space-xxs) var(--space-micro);
  background: rgba(191, 40, 66, 0.08);
  border-radius: var(--radius-md);
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-accent);
  font-weight: 500;
}
.search-toolbar__area-tag span {
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.search-toolbar__area-tag-remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--space-sm);
  height: var(--space-sm);
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 3px;
  cursor: pointer;
  color: var(--color-accent);
  transition: background-color 0.15s ease;
}
.search-toolbar__area-tag-remove:hover {
  background: rgba(191, 40, 66, 0.15);
}
.search-toolbar__area-tag-remove svg {
  width: 10px;
  height: 10px;
}

.search-toolbar__area-results {
  max-height: 300px;
  overflow-y: auto;
}

.search-toolbar__area-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 12px 16px;
  background: transparent;
  border: none;
  border-bottom: 1px solid #f3f4f6;
  text-align: left;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 14px;
  color: #374151;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.search-toolbar__area-result:hover {
  background-color: #f9fafb;
}
.search-toolbar__area-result.selected {
  background-color: rgba(191, 40, 66, 0.05);
  color: var(--color-accent, #bf2842);
  font-weight: 500;
}
.search-toolbar__area-result.selected svg {
  color: var(--color-accent, #bf2842);
}
.search-toolbar__area-result svg {
  flex-shrink: 0;
  color: var(--color-accent, #bf2842);
}

.search-toolbar__area-empty {
  padding: 20px 16px;
  text-align: center;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 14px;
  color: #9ca3af;
}

.search-toolbar__area-actions {
  padding: 12px 16px;
  border-top: 1px solid #e5e7eb;
  background: #f9fafb;
  display: flex;
  justify-content: flex-end;
}

.search-toolbar__area-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 24px;
}

.search-toolbar__area-panel {
  background: #ffffff;
  border-radius: 12px;
  width: 100%;
  max-width: 480px;
  max-height: 80vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.search-toolbar__area-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid #e5e7eb;
}
.search-toolbar__area-header h3 {
  font-family: var(--font-heading, Georgia, serif);
  font-size: 20px;
  font-weight: 400;
  color: #111827;
  margin: 0;
}

.search-toolbar__close-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  color: #6b7280;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.search-toolbar__close-btn:hover {
  background: #f3f4f6;
  color: #111827;
}

.search-toolbar__area-body {
  padding: 20px 24px;
  overflow-y: auto;
}

.search-toolbar__area-hint {
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 14px;
  color: #6b7280;
  margin: 0 0 16px 0;
}

.search-toolbar__area-input {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 16px;
  color: #111827;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.search-toolbar__area-input::placeholder {
  color: #9ca3af;
}
.search-toolbar__area-input:focus {
  outline: none;
  border-color: var(--color-accent, #bf2842);
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.1);
}

.search-toolbar__area-results {
  margin-top: 16px;
  max-height: 300px;
  overflow-y: auto;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}

.search-toolbar__area-item {
  display: block;
  width: 100%;
  padding: 14px 16px;
  background: transparent;
  border: none;
  text-align: left;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 15px;
  color: #374151;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.search-toolbar__area-item:hover {
  background-color: #f0fdfa;
}
.search-toolbar__area-item + .search-toolbar__area-item {
  border-top: 1px solid #f3f4f6;
}

.drawer-enter {
  transition: all 0.2s ease-out;
}

.drawer-leave {
  transition: all 0.15s ease-in;
}

.split-gallery {
  width: 100%;
}

.split-gallery__container {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 16px;
  width: 100%;
}
@media (max-width: 992px) {
  .split-gallery__container {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

.split-gallery__main {
  position: relative;
  width: 100%;
  border-radius: var(--radius-card, 5px);
  overflow: hidden;
  background: #f5f5f5;
}

.split-gallery__swiper {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/10;
}
@media (max-width: 768px) {
  .split-gallery__swiper {
    aspect-ratio: 4/3;
  }
}

.split-gallery__slide {
  width: 100%;
  height: 100%;
  position: relative;
  background: #f5f5f5;
}

.split-gallery__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.split-gallery__slide--video {
  position: relative;
  background: #000000;
}

.split-gallery__video-embed {
  width: 100%;
  height: 100%;
}
.split-gallery__video-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.split-gallery__video-link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  text-decoration: none;
}
.split-gallery__video-link:hover .split-gallery__video-icon {
  transform: translate(-50%, -50%) scale(1.1);
  background: rgba(191, 40, 66, 0.95);
}

.split-gallery__video-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(191, 40, 66, 0.9);
  color: #ffffff;
  border-radius: 50%;
  font-size: 24px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.split-gallery__video-label {
  position: absolute;
  bottom: 24px;
  left: 24px;
  padding: 10px 16px;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(8px);
  color: #ffffff;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 14px;
  font-weight: 500;
  border-radius: 6px;
}

.split-gallery__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.95);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.split-gallery__arrow:hover {
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transform: translateY(-50%) scale(1.05);
}
.split-gallery__arrow:active {
  transform: translateY(-50%) scale(0.95);
}
.split-gallery__arrow svg {
  color: #111827;
}
@media (max-width: 768px) {
  .split-gallery__arrow {
    width: 40px;
    height: 40px;
  }
  .split-gallery__arrow svg {
    width: 20px;
    height: 20px;
  }
}

.split-gallery__arrow--prev {
  left: 16px;
}

.split-gallery__arrow--next {
  right: 16px;
}

.split-gallery__open-btn {
  position: absolute;
  bottom: 16px;
  right: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  border: none;
  border-radius: 8px;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 14px;
  font-weight: 500;
  color: #111827;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  z-index: 10;
}
.split-gallery__open-btn:hover {
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transform: translateY(-2px);
}
.split-gallery__open-btn:active {
  transform: translateY(0);
}
.split-gallery__open-btn svg {
  width: 20px;
  height: 20px;
}
@media (max-width: 768px) {
  .split-gallery__open-btn {
    padding: 8px 12px;
    font-size: 13px;
  }
  .split-gallery__open-btn span {
    display: none;
  }
}

.split-gallery__sidebar {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
}
@media (max-width: 992px) {
  .split-gallery__sidebar {
    flex-direction: row;
    height: auto;
    margin-top: 12px;
  }
  .split-gallery__sidebar .split-gallery__thumbnail {
    flex: 0 0 calc(50% - 6px);
    height: auto;
    aspect-ratio: 16/9;
  }
}
@media (max-width: 576px) {
  .split-gallery__sidebar {
    gap: 8px;
  }
  .split-gallery__sidebar .split-gallery__thumbnail {
    height: auto;
    aspect-ratio: 16/9;
  }
}

.split-gallery__thumbnail {
  position: relative;
  width: 100%;
  flex: 1;
  min-height: 0;
  aspect-ratio: 16/9;
  border-radius: var(--radius-card, 5px);
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s ease;
  background: #f5f5f5;
  padding: 0;
  border: none;
  outline: none;
}
.split-gallery__thumbnail:hover {
  transform: none;
  box-shadow: none;
}
.split-gallery__thumbnail:active {
  transform: none;
}
.split-gallery__thumbnail:focus-visible {
  outline: 2px solid #bf2842;
  outline-offset: 2px;
}

.split-gallery__thumbnail--active {
  box-shadow: none;
}
.split-gallery__thumbnail--active:hover {
  box-shadow: none;
}

.split-gallery__thumbnail-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: #f5f5f5;
  border: none;
  outline: none;
  transition: transform 0.3s ease;
}
.split-gallery__thumbnail:hover .split-gallery__thumbnail-img {
  transform: scale(1.05);
}

.split-gallery__slide.is-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f5f5f5 0%, #e9e9e9 100%);
}

.split-gallery__image--placeholder {
  width: 90px;
  height: auto;
  max-width: 24%;
  object-fit: contain;
  display: block;
  margin: 0 auto;
  background: transparent;
  opacity: 0.1;
  filter: grayscale(1) brightness(1.1);
}

.split-gallery__thumbnail.is-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f5f5f5 0%, #e9e9e9 100%);
}

.split-gallery__thumbnail-img--placeholder {
  width: 48px;
  height: auto;
  max-width: 32%;
  object-fit: contain;
  display: block;
  margin: 0 auto;
  background: transparent;
  opacity: 0.1;
  filter: grayscale(1) brightness(1.1);
}

.gallery-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  transition: opacity 0.3s ease;
}

.gallery-overlay--entering {
  opacity: 0;
}

.gallery-overlay--leaving {
  opacity: 0;
}

.gallery-overlay__backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.98);
  backdrop-filter: blur(12px);
}

.gallery-overlay__content {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  z-index: 1;
}

.gallery-overlay__scroll-container {
  flex: 1;
  overflow-y: auto;
  padding: 80px 24px;
  -webkit-overflow-scrolling: touch;
}
.gallery-overlay__scroll-container::-webkit-scrollbar {
  width: 8px;
}
.gallery-overlay__scroll-container::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
}
.gallery-overlay__scroll-container::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
}
.gallery-overlay__scroll-container::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.3);
}

.gallery-overlay__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
}

.gallery-overlay__item {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.gallery-overlay__image {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}

.gallery-overlay__caption {
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 14px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.7);
  text-align: center;
  margin: 0;
  padding: 0 16px;
}

.gallery-overlay__close {
  position: fixed;
  top: 24px;
  right: 24px;
  background: none;
  border: none;
  color: #ffffff;
  cursor: pointer;
  z-index: 100;
  padding: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(4px);
  transition: all 0.2s ease;
}
.gallery-overlay__close:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: scale(1.1);
}

.gallery-overlay__counter {
  position: absolute;
  top: 32px;
  left: 50%;
  transform: translateX(-50%);
  color: #ffffff;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 16px;
  font-weight: 500;
  z-index: 10;
  background: rgba(0, 0, 0, 0.5);
  padding: 6px 16px;
  border-radius: 20px;
}

.gallery-overlay__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #ffffff;
  cursor: pointer;
  z-index: 10;
  padding: 12px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
  transition: all 0.2s ease;
}
.gallery-overlay__arrow:hover {
  background: rgba(255, 255, 255, 0.15);
  transform: translateY(-50%) scale(1.1);
}
@media (max-width: 768px) {
  .gallery-overlay__arrow {
    display: none;
  }
}

.gallery-overlay__arrow--prev {
  left: 24px;
}

.gallery-overlay__arrow--next {
  right: 24px;
}

.gallery-overlay__video-container {
  width: 100%;
  aspect-ratio: 16/9;
  background: #000;
  box-shadow: 0 20px 80px rgba(0, 0, 0, 0.6);
  border-radius: 8px;
  overflow: hidden;
}

.property-chat {
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  position: sticky;
  top: 24px;
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 48px);
}
@media (max-width: 992px) {
  .property-chat {
    position: relative;
    top: 0;
    margin-bottom: 24px;
    max-height: 500px;
  }
}

.property-chat__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: linear-gradient(135deg, #111827 0%, #1f2937 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.property-chat__header-content {
  display: flex;
  align-items: center;
  gap: 12px;
}

.property-chat__avatar {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--color-accent, #bf2842) 0%, #e85a73 100%);
  border-radius: 12px;
  color: #ffffff;
}
.property-chat__avatar svg {
  width: 22px;
  height: 22px;
}

.property-chat__title {
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 15px;
  font-weight: 600;
  color: #ffffff;
  margin: 0;
}

.property-chat__status {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
  margin: 2px 0 0 0;
}

.property-chat__status-dot {
  width: 8px;
  height: 8px;
  background: #10b981;
  border-radius: 50%;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.property-chat__minimize {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.8);
  cursor: pointer;
  transition: all 0.2s ease;
}
.property-chat__minimize:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}

.property-chat__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

.property-chat__messages {
  flex: 1;
  overflow-y: auto;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 200px;
  max-height: 350px;
  background: #f9fafb;
}
.property-chat__messages::-webkit-scrollbar {
  width: 6px;
}
.property-chat__messages::-webkit-scrollbar-track {
  background: transparent;
}
.property-chat__messages::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 3px;
}

.property-chat__message {
  display: flex;
  gap: 10px;
  animation: messageSlideIn 0.3s ease;
}

@keyframes messageSlideIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.property-chat__message--user {
  flex-direction: row-reverse;
}
.property-chat__message--user .property-chat__message-bubble {
  background: linear-gradient(135deg, var(--color-accent, #bf2842) 0%, #d12d4a 100%);
  color: #ffffff;
  border-radius: 18px 18px 4px 18px;
}
.property-chat__message--user .property-chat__message-time {
  text-align: right;
}

.property-chat__message--assistant .property-chat__message-bubble {
  background: #ffffff;
  color: #374151;
  border-radius: 18px 18px 18px 4px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.property-chat__message-avatar {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #111827 0%, #374151 100%);
  border-radius: 50%;
  color: #ffffff;
}
.property-chat__message-avatar svg {
  width: 14px;
  height: 14px;
}

.property-chat__message-content {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-width: 85%;
}

.property-chat__message-bubble {
  padding: 12px 16px;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 14px;
  line-height: 1.5;
}
.property-chat__message-bubble strong {
  font-weight: 600;
}

.property-chat__message-time {
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 11px;
  color: #9ca3af;
  padding: 0 4px;
}

.property-chat__typing-indicator {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 12px 16px;
  background: #ffffff;
  border-radius: 18px 18px 18px 4px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.property-chat__typing-indicator span {
  width: 8px;
  height: 8px;
  background: #9ca3af;
  border-radius: 50%;
  animation: typingBounce 1.4s infinite ease-in-out both;
}
.property-chat__typing-indicator span:nth-child(1) {
  animation-delay: -0.32s;
}
.property-chat__typing-indicator span:nth-child(2) {
  animation-delay: -0.16s;
}
.property-chat__typing-indicator span:nth-child(3) {
  animation-delay: 0s;
}

@keyframes typingBounce {
  0%, 80%, 100% {
    transform: scale(0.6);
    opacity: 0.5;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}
.property-chat__suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 20px 16px;
  background: #f9fafb;
}

.property-chat__suggestion {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 100px;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 13px;
  color: #374151;
  cursor: pointer;
  transition: all 0.2s ease;
}
.property-chat__suggestion:hover {
  border-color: var(--color-accent, #bf2842);
  color: var(--color-accent, #bf2842);
  background: rgba(191, 40, 66, 0.04);
  transform: translateY(-1px);
}
.property-chat__suggestion:active {
  transform: translateY(0);
}

.property-chat__input-area {
  padding: 16px 20px;
  background: #ffffff;
  border-top: 1px solid #f3f4f6;
}

.property-chat__input-wrapper {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  padding: 8px 8px 8px 16px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 24px;
  transition: all 0.2s ease;
}
.property-chat__input-wrapper:focus-within {
  border-color: var(--color-accent, #bf2842);
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.1);
  background: #ffffff;
}

.property-chat__input {
  flex: 1;
  padding: 6px 0;
  background: transparent;
  border: none;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 14px;
  color: #111827;
  resize: none;
  outline: none;
  line-height: 1.5;
  max-height: 120px;
}
.property-chat__input::placeholder {
  color: #9ca3af;
}
.property-chat__input:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.property-chat__send-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  padding: 0;
  background: #e5e7eb;
  border: none;
  border-radius: 50%;
  color: #9ca3af;
  cursor: not-allowed;
  transition: all 0.2s ease;
}
.property-chat__send-btn.is-active {
  background: linear-gradient(135deg, var(--color-accent, #bf2842) 0%, #d12d4a 100%);
  color: #ffffff;
  cursor: pointer;
}
.property-chat__send-btn.is-active:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(191, 40, 66, 0.3);
}
.property-chat__send-btn.is-active:active {
  transform: scale(0.95);
}
.property-chat__send-btn svg {
  width: 18px;
  height: 18px;
}

.property-chat__disclaimer {
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 11px;
  color: #9ca3af;
  text-align: center;
  margin: 10px 0 0 0;
}

.search-area-brokers-sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  margin-bottom: var(--space-lg);
}

.btn-outline-black {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  background: transparent;
  border: 1px solid #111;
  color: #111;
  font-family: var(--font-body);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 14px;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.btn-outline-black:hover {
  background: #111;
  color: #fff;
  text-decoration: none;
}

.brand-watermark {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.brand-watermark > * {
  position: relative;
  z-index: 1;
}
.brand-watermark::after {
  content: "";
  position: absolute;
  inset: var(--brand-watermark-inset, auto -10% -34% auto);
  width: 56vw;
  max-width: 760px;
  height: 420px;
  background-image: var(--brand-watermark-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: var(--brand-watermark-opacity, 0.28);
  pointer-events: none;
  z-index: 0;
}

.brand-watermark--anvil {
  --brand-watermark-image: url(/icons/anvil_section_watermark.svg);
  --brand-watermark-opacity: 0.42;
}

.styleguide-watermark-demo {
  background: linear-gradient(135deg, #041419 0%, #082b34 58%, #112631 100%);
  border-radius: 24px;
  padding: 48px;
  min-height: 320px;
  display: flex;
  align-items: flex-start;
  color: #f7f4ef;
  box-shadow: 0 24px 60px rgba(4, 20, 25, 0.18);
}
.styleguide-watermark-demo__content {
  max-width: 540px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.styleguide-watermark-demo__eyebrow {
  font-family: var(--font-ui, "tradegothic", Arial, sans-serif);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(247, 244, 239, 0.72);
}
.styleguide-watermark-demo__title {
  margin: 0;
  font-family: "Gelasio", var(--font-heading);
  font-size: 46px;
  line-height: 1.12;
  letter-spacing: -0.03em;
  color: #ffffff;
}
.styleguide-watermark-demo__body {
  margin: 0;
  max-width: 44ch;
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.6;
  color: rgba(247, 244, 239, 0.84);
}
.styleguide-watermark-demo__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.styleguide-watermark-demo__tag {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid rgba(247, 244, 239, 0.2);
  border-radius: 999px;
  font-family: var(--font-ui, "tradegothic", Arial, sans-serif);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #f7f4ef;
  background: rgba(255, 255, 255, 0.05);
}

.styleguide-watermark-notes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.styleguide-watermark-notes__card {
  height: 100%;
  padding: 24px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 20px;
  background: #ffffff;
}
.styleguide-watermark-notes__title {
  margin: 0 0 12px;
  font-family: var(--font-ui, "tradegothic", Arial, sans-serif);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #082b34;
}
.styleguide-watermark-notes__body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.6;
  color: #3b4852;
}
.styleguide-watermark-notes code {
  font-size: 13px;
}

@media (max-width: 991px) {
  .brand-watermark::after {
    width: 78vw;
    max-width: 620px;
    height: 340px;
    inset: auto -20% -24% auto;
  }
  .styleguide-watermark-notes {
    grid-template-columns: 1fr;
  }
  .styleguide-watermark-demo__title {
    font-size: 38px;
  }
}
@media (max-width: 767px) {
  .brand-watermark::after {
    width: 480px;
    height: 280px;
    inset: auto -34% -18% auto;
  }
  .styleguide-watermark-demo {
    padding: 32px 24px;
    min-height: 280px;
  }
  .styleguide-watermark-demo__title {
    font-size: 32px;
  }
  .styleguide-watermark-demo__body {
    font-size: 16px;
  }
}
.services-capabilities {
  background-color: var(--color-bg-warm);
  padding: var(--space-3xl) 0;
  width: 100vw;
}

.services-capabilities__container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 var(--space-xl);
}

.services-capabilities__header {
  margin-bottom: var(--space-xl);
}

.services-capabilities__tagline {
  color: var(--color-accent);
  font-weight: 600;
  font-size: var(--font-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  display: block;
  margin-bottom: var(--space-xs);
}

.services-capabilities__title {
  font-family: var(--font-heading);
  font-size: var(--font-4xl);
  font-weight: 400;
  margin: 0 0 var(--space-sm) 0;
  color: var(--color-primary);
  line-height: 1.3;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
@media (max-width: 768px) {
  .services-capabilities__title {
    font-size: var(--font-2xl);
  }
}

.services-capabilities__subtitle {
  color: var(--color-gray-500);
  font-size: var(--font-md);
  line-height: 1.6;
  margin: 0;
}

.services-capabilities__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-xl);
  margin-top: var(--space-xl);
  width: 100%;
}
@media (max-width: 768px) {
  .services-capabilities__grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }
}

.services-capabilities__card {
  background-color: transparent;
  padding: var(--space-micro) 0;
}

.services-capabilities__icon {
  display: none;
}

.services-capabilities__icon-image {
  width: 24px;
  height: 24px;
  filter: brightness(0) invert(1);
}

.services-capabilities__card-title {
  font-family: var(--font-heading);
  font-size: var(--font-2xl);
  font-weight: 400;
  margin: 0 0 var(--space-compact) 0;
  color: var(--color-primary);
  line-height: 1.3;
}

.services-capabilities__card-description {
  color: var(--color-gray-500);
  font-size: var(--font-md);
  line-height: 1.6;
  margin: 0;
}
.search-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1rem;
  padding: 1rem 0.5rem 0;
  border-top: 1px solid #e5e7eb;
  gap: 1rem;
}

.search-form-footer__left {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.search-form-footer__right {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}

.search-more-filters-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  background: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6b7280;
  cursor: pointer;
  transition: all 200ms ease;
  white-space: nowrap;
}
.search-more-filters-btn:hover {
  color: #111827;
  border-color: #9ca3af;
  background-color: #f9fafb;
}
.search-more-filters-btn[aria-expanded=true] {
  color: #bf2842;
  border-color: #bf2842;
  background-color: #fef2f2;
}
.search-more-filters-btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.1);
}

.search-more-filters-icon {
  width: 1.25rem;
  height: 1.25rem;
  stroke-width: 2;
  flex-shrink: 0;
}

.search-filter-drawer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 400ms cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  transition: max-height 400ms cubic-bezier(0.4, 0, 0.2, 1), opacity 400ms cubic-bezier(0.4, 0, 0.2, 1);
}
.search-filter-drawer[x-show] {
  max-height: 1200px;
  opacity: 1;
}

.filter-drawer-content {
  padding: 1.5rem 0.5rem;
  border-top: 1px solid #e5e7eb;
  margin-top: 1rem;
}

.filter-drawer-section {
  margin-bottom: 1.5rem;
}
.filter-drawer-section:last-child {
  margin-bottom: 0;
}

.filter-drawer-section-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 1rem 0;
}

.filter-drawer-options {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 1rem;
}
@media (max-width: 768px) {
  .filter-drawer-options {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .filter-drawer-options {
    grid-template-columns: 1fr;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.filter-drawer-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  cursor: pointer;
  transition: all 200ms ease;
  background: #ffffff;
  opacity: 0;
  animation: fadeInUp 300ms ease forwards;
}
.filter-drawer-option:hover {
  background-color: #f9fafb;
  border-color: #d1d5db;
}
.filter-drawer-option:focus-within {
  border-color: #bf2842;
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.1);
}
.filter-drawer-option input[type=checkbox] {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  cursor: pointer;
  accent-color: #bf2842;
}
.filter-drawer-option input[type=checkbox]:focus {
  outline: 2px solid #bf2842;
  outline-offset: 2px;
}
.filter-drawer-option img {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  object-fit: contain;
}
.filter-drawer-option span {
  font-size: 0.9375rem;
  color: #111827;
  flex: 1;
}

@media (prefers-reduced-motion: reduce) {
  .search-filter-drawer,
  .filter-drawer-option {
    transition: none !important;
    animation: none !important;
  }
  .filter-drawer-option {
    opacity: 1;
  }
}
@media (max-width: 768px) {
  .search-form-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  .search-form-footer__left {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
  }
  .search-form-footer__right {
    width: 100%;
  }
  .search-more-filters-btn {
    width: 100%;
    justify-content: center;
  }
}
.search-hero {
  background-color: #e5e8de;
  padding: 80px 64px;
  position: relative;
  overflow: hidden;
}

.search-hero__container {
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
}

.search-hero__search {
  width: 100%;
  display: flex;
  justify-content: center;
}

@media (max-width: 1024px) {
  .search-hero {
    padding: 60px 48px;
  }
  .search-hero__container {
    gap: 24px;
  }
}
@media (max-width: 768px) {
  .search-hero {
    padding: 40px 24px;
  }
  .search-hero__container {
    gap: 20px;
  }
  .search-hero__search {
    width: 100%;
  }
}
@media (max-width: 480px) {
  .search-hero {
    padding: 32px 16px;
  }
  .search-hero__container {
    gap: 16px;
  }
}
@media (max-width: 768px) {
  .search-widget {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .search-widget__body {
    padding: 20px 0;
  }
}

@media (max-width: 768px) {
  .search-widget__filters {
    gap: 12px;
  }
}

@media (max-width: 768px) {
  .search-bar__area-wrapper,
  .search-bar__dropdown-wrapper {
    width: 100%;
  }
}

.search-bar__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.search-bar__btn .search-bar__btn-content {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
}
.search-bar__btn .search-bar__chevron {
  flex-shrink: 0;
}
.search-bar__btn .search-bar__badge {
  flex-shrink: 0;
  margin-left: auto;
}
#refine-search {
  display: none !important;
}

#enquiry_message {
  min-height: 140px;
  background-color: #fff;
  resize: vertical;
}

.search-results-container {
  width: 100%;
  overflow-x: hidden;
}

.search-results-header-full-bleed {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background-color: #ffffff;
  padding: var(--space-xl, 40px) 0;
}
@media (max-width: 768px) {
  .search-results-header-full-bleed {
    padding-bottom: var(--space-sm, 16px);
  }
}

.search-results-full-bleed {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background-color: #ffffff;
  padding: 40px 0;
}
@media (max-width: 768px) {
  .search-results-full-bleed {
    padding-top: 8px;
  }
}

.search-results-header__title {
  font-family: "Inter", sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.5;
  color: #000;
  margin: 0 0 24px 0;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}

.search-results-header__breadcrumbs {
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  flex-wrap: wrap;
}

.search-results-header__breadcrumb-link {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #666;
  text-decoration: none;
  transition: color 0.2s ease;
}
.search-results-header__breadcrumb-link:hover {
  color: #444;
}

.search-result-card--stacked {
  flex-direction: column;
  min-height: 0;
  margin-bottom: 0;
}
.search-result-card--stacked .search-result-card__media {
  width: 100%;
  min-height: 240px;
}
.search-result-card--stacked .search-result-card__image {
  height: 240px;
  min-height: 240px;
}
.search-result-card--stacked .search-result-card__content {
  justify-content: flex-start;
}
.search-result-card--stacked .search-result-card__image-placeholder {
  min-height: 240px;
}
.search-result-card--stacked .search-result-card__specs {
  grid-template-columns: repeat(3, minmax(min-content, 1fr)) !important;
  gap: 10px 18px;
}
.search-result-card--stacked .search-result-card__spec:nth-child(4) {
  grid-column: 1/-1;
}
.search-result-card--stacked .search-result-card__spec:nth-child(4) .search-result-card__spec-value {
  white-space: nowrap;
}
.search-result-card--stacked .search-result-card__actions {
  justify-content: flex-end;
  margin-top: 16px;
}
.search-result-card--stacked .search-result-card__eyebrow {
  margin: 0 0 6px;
}

.search-results-header__breadcrumb-text {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #666;
}
.search-results-header__breadcrumb-text--active {
  font-weight: 600;
}

.search-results-header__breadcrumb-icon {
  color: #999;
  flex-shrink: 0;
}

.search-results-header__sub-areas {
  margin-top: 32px;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}

.search-results-header__sub-areas-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.search-results-header__sub-area-link {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #000;
  text-decoration: none;
  transition: color 0.2s ease;
}
.search-results-header__sub-area-link:hover {
  color: #bf2842;
  text-decoration: underline;
}

.search-results-header__see-all-btn {
  display: inline-block;
  padding: 0;
  background: none;
  border: none;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  color: #000;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s ease;
}
.search-results-header__see-all-btn:hover {
  color: #bf2842;
  text-decoration: underline;
}
.search-results-header__see-all-btn:active {
  color: #bf2842;
}

.search-results-header__sub-areas-expanded {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e8e8e8;
}

.search-results-grid {
  display: grid;
  grid-template-columns: 1fr 250px;
  gap: var(--space-lg, 32px);
  min-width: 0;
}
.search-results-grid > * {
  min-width: 0;
}
@media (max-width: 1024px) {
  .search-results-grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg, 24px);
  }
}
@media (max-width: 768px) {
  .search-results-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md, 16px);
  }
}

.search-results-grid--no-sidebar {
  grid-template-columns: 1fr;
}
.search-results-grid--no-sidebar .search-results {
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
}

.search-results {
  width: 100%;
  min-width: 0;
}
@media (min-width: 550px) and (max-width: 1024px) {
  .search-results {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-md, 16px);
    align-items: stretch;
  }
  .search-results .search-result-card {
    flex-direction: column;
    margin-bottom: 0;
    height: 100%;
  }
  .search-results .search-result-card .search-result-card__media {
    flex: 0 0 auto;
    width: 100%;
    min-height: 200px;
  }
  .search-results .search-result-card .search-result-card__image,
  .search-results .search-result-card .search-result-card__image-placeholder {
    height: 200px;
    min-height: 200px;
  }
  .search-results .search-result-card .search-result-card__content {
    height: auto;
    flex: 1;
  }
  .search-results .search-result-card .search-result-card__specs {
    grid-template-columns: repeat(3, minmax(min-content, 1fr)) !important;
  }
  .search-results .search-result-card .search-result-card__footer {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-xs, 8px);
  }
  .search-results .search-result-card .search-result-card__broker {
    flex: none;
  }
  .search-results .search-result-card .search-result-card__actions {
    justify-content: stretch;
    width: 100%;
  }
  .search-results .search-result-card .search-result-card__actions .btn {
    flex: 1;
    justify-content: center;
  }
}

.search-result-card {
  display: flex;
  gap: 0;
  background-color: var(--color-white);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-card);
  overflow: hidden;
  margin-bottom: var(--space-lg);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
  width: 100%;
}
.search-result-card:hover {
  box-shadow: var(--shadow-md);
}

.search-result-card__media {
  flex: 0 0 400px;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  background: var(--color-gray-200);
  border-radius: 0;
  overflow: hidden;
  box-sizing: border-box;
}

.search-result-card__image {
  flex: 1;
  position: relative;
  border-radius: 0;
  overflow: hidden;
  width: 100%;
  min-height: 0;
  max-height: none;
  height: 100%;
}

.search-result-card__badges {
  position: absolute;
  top: var(--space-compact);
  left: var(--space-compact);
  z-index: 5;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 4px;
}

.search-result-card__badge {
  background: var(--color-accent);
  color: var(--color-white);
  font-family: var(--font-display);
  font-size: var(--font-xs);
  font-weight: 700;
  padding: var(--space-xxs) var(--space-micro);
  border-radius: var(--radius-sm);
  letter-spacing: 0.8px;
  text-transform: uppercase;
  line-height: 1.2;
}

.search-result-card__badge--grade {
  background: #fff;
  color: #111;
}

.search-result-card__slider {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: var(--radius-card) 0 0 var(--radius-card);
}
.search-result-card__slider .swiper-wrapper {
  height: 100%;
}

.search-result-card__slider .swiper-button-next,
.search-result-card__slider .swiper-button-prev {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.85);
  color: var(--color-primary);
  box-shadow: none;
  transition: transform 120ms ease, opacity 150ms ease;
  opacity: 0;
  pointer-events: none;
}
.search-result-card__slider .swiper-button-next::after,
.search-result-card__slider .swiper-button-prev::after {
  font-size: var(--font-lg);
  font-weight: 600;
}
.search-result-card__slider .swiper-button-disabled {
  opacity: 0 !important;
  pointer-events: none;
}
.search-result-card__slider .swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  margin: -21px 0 0 -21px;
  border: 2px solid rgba(191, 40, 66, 0.15);
  border-top-color: var(--color-accent);
  border-right-color: rgba(191, 40, 66, 0.4);
}

@media (hover: hover) and (pointer: fine) {
  .search-result-card__image:hover .swiper-button-next,
  .search-result-card__image:hover .swiper-button-prev {
    opacity: 1;
    pointer-events: auto;
  }
  .search-result-card__slider .swiper-button-next:hover,
  .search-result-card__slider .swiper-button-prev:hover,
  .search-result-card__slider .swiper-button-next:focus,
  .search-result-card__slider .swiper-button-prev:focus {
    transform: scale(1.05);
  }
}
.search-result-card__slide {
  width: 100%;
  height: 100%;
}

.search-result-card__slide-link {
  display: block;
  width: 100%;
  height: 100%;
}

.search-result-card__slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: inherit;
}

.search-result-card__bookmark {
  position: absolute;
  top: var(--space-compact);
  right: var(--space-compact);
  z-index: 6;
  width: 36px;
  height: 36px;
  padding: 0;
  appearance: none;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-sm);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.search-result-card__bookmark:hover {
  background: var(--color-white, #ffffff);
}
.search-result-card__bookmark svg {
  width: 18px;
  height: 18px;
  color: var(--color-gray-600, #333333);
}

.search-result-card__photo-count {
  position: absolute;
  bottom: 12px;
  left: 12px;
  z-index: 5;
  background: rgba(0, 0, 0, 0.55);
  color: var(--color-white, #ffffff);
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: 12px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.search-result-card__photo-count svg {
  width: 14px;
  height: 14px;
}

.search-result-card__image-link {
  display: block;
  width: 100%;
  height: 100%;
}

@media (max-width: 1200px) {
  .search-result-card__media {
    width: 275px;
  }
}
.search-result-card__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: flex-start;
  padding: var(--space-md, 24px) var(--space-md, 24px) var(--space-sm, 16px);
  min-width: 0;
  background: transparent;
  height: 100%;
  overflow: visible;
}

@media (max-width: 1024px) {
  .search-result-card__content {
    padding: var(--space-sm, 16px) var(--space-md, 24px);
    gap: 12px;
  }
}
@media (max-width: 768px) {
  .search-result-card__content {
    padding: var(--space-sm, 16px) var(--space-md, 24px);
    gap: 14px;
  }
}
.search-result-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-xs, 8px);
}

.search-result-card__location {
  display: none;
}

.search-result-card__address {
  font-family: var(--font-heading, "Georgia", serif);
  font-size: 24px;
  font-weight: 400;
  color: var(--color-primary, #000000);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.25;
}

@media (max-width: 1200px) {
  .search-result-card__address {
    font-size: 23px;
  }
}
@media (max-width: 1100px) {
  .search-result-card__address {
    font-size: 22px;
  }
}
@media (max-width: 1024px) {
  .search-result-card__address {
    font-size: 21px;
  }
}
@media (max-width: 768px) {
  .search-result-card__address {
    font-size: 20px;
  }
}
.search-result-card__title-wrapper {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.search-result-card__eyebrow {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--color-accent, #bf2842);
  margin: 0;
}

.search-result-card__subtitle {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: var(--font-xs, 0.75rem);
  font-weight: 500;
  line-height: 1.4;
  color: var(--color-accent, #bf2842);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin: 0;
}

.search-result-card__title-link {
  text-decoration: none;
  color: inherit;
  flex: 1;
  min-width: 0;
}
.search-result-card__title-link:hover {
  text-decoration: none;
}

.search-result-card__title {
  font-family: var(--font-heading, "Georgia", serif);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-primary, #000000);
  margin: 0;
  letter-spacing: -0.28px;
  word-break: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  hyphens: auto;
}

@media (max-width: 1024px) {
  .search-result-card__title {
    font-size: 19px;
  }
}
.search-result-card__description {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: var(--font-sm, 0.875rem);
  font-weight: 400;
  line-height: 1.55;
  color: var(--color-gray-500, #666666);
  margin: 0;
  min-height: 3.1em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.search-result-card__facility-pills-wrapper {
  width: 100%;
}

.search-result-card__facility-pills {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--space-xs, 8px);
  width: 100%;
  overflow: hidden;
}

.search-result-card__facility-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  background-color: var(--color-sand-soft, #f4f2f0);
  border-radius: var(--radius-sm, 4px);
  font-family: var(--font-body);
  font-size: 9px;
  font-weight: 600;
  line-height: 1;
  color: var(--color-gray-500, #666666);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  flex-shrink: 0;
  height: 24px;
}

@media (max-width: 768px) {
  .search-result-card__facility-pill {
    padding: 4px 8px;
    font-size: 8px;
    height: 22px;
  }
}
.search-result-card__facility-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  background-color: var(--color-sand-soft, #f4f2f0);
  border: none;
  border-radius: var(--radius-sm, 4px);
  font-family: var(--font-body);
  font-size: 9px;
  font-weight: 600;
  line-height: 1;
  color: var(--color-gray-500, #666666);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  height: 24px;
  transition: background-color 0.2s ease;
}
.search-result-card__facility-more:hover {
  background-color: var(--color-bg-warm, #e8e7e3);
}

.search-result-card__facilities {
  margin-top: -4px;
  display: block;
}

.search-result-card__facility {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.search-result-card__facility-separator {
  color: var(--color-gray-400, #999999);
  font-size: 14px;
  line-height: 1;
}

.search-result-card__facility-icon {
  width: 18px;
  height: 18px;
  object-fit: contain;
  flex: 0 0 auto;
}

.search-result-card__specs {
  display: grid;
  grid-template-columns: repeat(4, minmax(min-content, 1fr)) !important;
  gap: 10px;
  margin-bottom: 0;
  margin-top: 0;
  width: 100%;
  padding: 0;
}

@media (max-width: 1200px) {
  .search-result-card__media {
    flex: 0 0 320px;
  }
}
@media (max-width: 1024px) {
  .search-result-card__specs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}
.search-result-card__spec-column {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.search-result-card__spec-row {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 4px;
  align-items: baseline;
}

.search-result-card__spec-value {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: 14px;
  font-weight: 600;
  color: var(--color-primary, #000000);
  word-wrap: break-word;
  overflow-wrap: break-word;
  text-align: left;
  white-space: nowrap;
}

.search-result-card__spec-unit {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: 12px;
  font-weight: 400;
  color: var(--color-gray-500, #666666);
  white-space: normal;
}

.search-result-card__spec-label {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-gray-400, #999999);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .search-result-card__specs {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .search-result-card__spec-column {
    gap: 4px;
  }
  .search-result-card__spec-row {
    grid-template-columns: 70px 1fr;
    gap: 4px;
  }
  .search-result-card__spec-label {
    font-size: 9px;
  }
  .search-result-card__spec-value {
    font-size: 13px;
  }
}
@media (max-width: 480px) {
  .search-result-card__specs {
    gap: 15px 15px;
  }
  .search-result-card__spec-row {
    grid-template-columns: 60px 1fr;
    gap: 4px;
  }
  .search-result-card__spec-label {
    font-size: 8px;
  }
  .search-result-card__spec-value {
    font-size: 12px;
  }
}
.search-result-card__specs-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 30px;
  align-items: baseline;
  width: 100%;
}

.search-result-card__specs-meta-item {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: 12px;
  color: var(--color-gray-600, #333333);
  white-space: nowrap;
  flex: 0 0 auto;
}
.search-result-card__specs-meta-item strong {
  font-weight: 700;
  color: var(--color-primary, #000000);
}

@media (max-width: 768px) {
  .search-result-card__specs {
    gap: 15px;
  }
  .search-result-card__specs-meta {
    gap: 16px 20px;
  }
  .search-result-card__specs-meta-item {
    font-size: 11px;
  }
}
@media (max-width: 480px) {
  .search-result-card__specs {
    gap: 15px;
  }
  .search-result-card__specs-meta {
    gap: 12px 16px;
  }
  .search-result-card__specs-meta-item {
    font-size: 10px;
  }
}
.search-result-card__broker {
  display: flex;
  align-items: center;
  gap: var(--space-sm, 16px);
  flex: 0 0 auto;
}

.search-result-card__broker-image {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
  background-color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
}
.search-result-card__broker-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.search-result-card__broker-initials {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-white, #ffffff);
  background-color: var(--color-primary-dark, #1a1a1a);
}

.search-result-card__broker-info {
  flex: 1;
  min-width: 0;
}

.search-result-card__broker-name {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: 14px;
  font-weight: 600;
  color: var(--color-gray-700, #212121);
  margin: 0;
  padding: 0;
  line-height: 1.3;
}

.search-result-card__broker-title {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: capitalize;
  color: var(--color-gray-400, #999999);
  margin: 0;
  padding: 0;
  line-height: 1.4;
}

@media (max-width: 768px) {
  .search-result-card__broker {
    gap: var(--space-sm, 16px);
  }
  .search-result-card__broker-image {
    width: 44px;
    height: 44px;
  }
  .search-result-card__broker-name {
    font-size: 13px;
  }
  .search-result-card__broker-title {
    font-size: 11px;
  }
}
@media (max-width: 480px) {
  .search-result-card__broker {
    gap: var(--space-xs, 8px);
  }
  .search-result-card__broker-image {
    width: 40px;
    height: 40px;
  }
  .search-result-card__broker-name {
    font-size: 12px;
  }
  .search-result-card__broker-title {
    font-size: 10px;
  }
}
.search-result-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm, 16px);
  padding-top: 16px;
  padding-bottom: 0px;
  margin-top: auto;
  border-top: 1px solid var(--color-gray-200, #e5e5e5);
  flex-wrap: wrap;
}

@media (max-width: 1024px) {
  .search-result-card__footer {
    justify-content: space-between;
    gap: var(--space-md, 24px);
  }
}
.search-result-card__price-main {
  font-family: var(--font-heading, "Georgia", serif);
  font-size: 20px;
  font-weight: 400;
  color: var(--color-primary, #000000);
}

.search-result-card__price-unit {
  font-family: var(--font-ui, var(--font-body, "Inter", sans-serif));
  font-size: 12px;
  color: var(--color-gray-400, #999999);
  font-weight: 500;
}

.search-result-card__pricing {
  display: flex;
  align-items: center;
}

.search-result-card__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.search-result-card__action-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: var(--radius-sm, 4px);
  padding: 10px 16px;
}

.search-result-card__action-icon svg {
  width: 16px;
  height: 16px;
  display: block;
}

.search-result-card__contact-label {
  display: inline-block;
  white-space: nowrap;
}

.search-result-card__contact-label--mobile {
  display: none;
}

@media (max-width: 1200px) {
  .search-result-card__contact-label--desktop {
    display: none;
  }
  .search-result-card__contact-label--mobile {
    display: inline;
  }
}
@media (max-width: 1200px) {
  .search-result-card__footer {
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: var(--space-sm, 16px);
  }
  .search-result-card__actions {
    gap: var(--space-xs, 8px);
  }
}
@media (max-width: 768px) {
  .search-result-card__footer {
    justify-content: space-between;
    flex-wrap: nowrap;
  }
  .search-result-card__actions {
    width: auto;
    gap: var(--space-xs, 8px);
  }
  .search-result-card__actions .btn {
    min-width: auto;
  }
}
@media (max-width: 480px) {
  .search-result-card__footer {
    flex-wrap: wrap;
  }
  .search-result-card__actions {
    flex-direction: row;
    align-items: center;
    width: 100%;
  }
  .search-result-card__actions .btn {
    width: 100%;
  }
}
.search-result-card__actions .btn svg {
  width: 15px;
  height: 15px;
}

.search-result-card__action-btn {
  min-width: 0;
}

.search-result-card__shortlist {
  position: relative;
  flex-shrink: 0;
}

.search-result-card__shortlist-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 8px;
  min-height: 0;
  padding: 6px 16px;
  background: rgba(191, 40, 66, 0.05);
  border: 1px solid var(--color-accent, #bf2842);
  border-radius: 4px;
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-accent, #bf2842);
  cursor: pointer;
  white-space: nowrap;
  transition: border-color 0.2s, color 0.2s, background-color 0.2s;
}
.search-result-card__shortlist-btn svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--color-accent, #bf2842);
}
.search-result-card__shortlist-btn:hover {
  background: rgba(191, 40, 66, 0.12);
  border-color: var(--color-accent, #bf2842);
  color: var(--color-accent, #bf2842);
}

.search-result-card__shortlist-chevron {
  transition: transform 0.2s;
}
.search-result-card__shortlist-chevron.is-open {
  transform: rotate(180deg);
}

.search-result-card__shortlist-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  margin-bottom: 0;
  min-width: 200px;
  background: #fff;
  border: 1px solid #e4e4e4;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  z-index: 20;
  padding: 8px 0;
}

.search-result-card__shortlist-label {
  font-family: "Inter", sans-serif;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #999;
  padding: 4px 12px 6px;
  margin: 0;
}

.search-result-card__shortlist-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.search-result-card__shortlist-empty {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  color: #999;
  padding: 6px 12px;
}

.search-result-card__shortlist-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 12px;
  font-family: "Inter", sans-serif;
  font-size: 13px;
  color: #333;
  cursor: pointer;
}
.search-result-card__shortlist-item svg {
  width: 16px;
  height: 16px;
  color: var(--color-accent, #bf2842);
}
.search-result-card__shortlist-item:hover {
  background: #f5f5f5;
}

.search-result-card__shortlist-create {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  padding: 8px 12px;
  margin-top: 4px;
  border-top: 1px solid #eee;
  background: none;
  border-left: none;
  border-right: none;
  border-bottom: none;
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: var(--color-accent, #bf2842);
  cursor: pointer;
}
.search-result-card__shortlist-create svg {
  width: 14px;
  height: 14px;
}
.search-result-card__shortlist-create:hover {
  background: #fdf2f4;
}

.search-card-modal__body {
  padding: var(--space-lg);
}
.search-card-modal__body h3 {
  font-family: var(--font-heading);
  font-size: var(--font-2xl);
  font-weight: 400;
  margin: 0 0 var(--space-xs);
  color: var(--color-primary);
}
.search-card-modal__body p {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-gray-500);
  margin: 0 0 var(--space-md);
  line-height: 1.5;
}
.search-card-modal__body .search-card-modal__agent-name {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: 14px;
  font-weight: 600;
  color: var(--color-gray-700, #212121);
  margin: 0;
  padding: 0;
  line-height: 1.3;
}
.search-card-modal__body .search-card-modal__agent-role {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: capitalize;
  color: var(--color-gray-400, #999999);
  margin: 0;
  padding: 0;
  line-height: 1.4;
}

.search-card-modal__form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-xs);
  margin-top: 0;
}
.search-card-modal__form .form-group:nth-child(n+3) {
  grid-column: 1/-1;
}
.search-card-modal__form label {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.search-card-modal__form label span {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  font-weight: 500;
  color: var(--color-gray-600);
}
.search-card-modal__form label input {
  font-family: var(--font-body);
  font-size: var(--font-md);
  padding: var(--space-micro) var(--space-compact);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  outline: none;
  background-color: var(--color-white);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.search-card-modal__form label input:focus {
  outline: none;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.1);
}
.search-card-modal__form label input::placeholder {
  color: var(--color-gray-300);
}

.search-card-modal__errors {
  list-style: none;
  margin: var(--space-sm) 0 0;
  padding: var(--space-sm);
  background: rgba(239, 68, 68, 0.05);
  border: 1px solid rgba(239, 68, 68, 0.2);
  border-radius: var(--radius-md);
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-error);
}
.search-card-modal__errors li + li {
  margin-top: var(--space-xs);
}

.search-card-modal__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-sm);
  margin-top: var(--space-md);
}

.search-card-modal__primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: var(--space-micro) var(--space-md);
  font-family: var(--font-display);
  font-size: var(--font-sm);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-white);
  background-color: var(--color-primary);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: all 0.2s ease;
}
.search-card-modal__primary:hover {
  background-color: var(--color-primary-light);
}
.search-card-modal__primary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.search-card-modal__secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: var(--space-micro) var(--space-md);
  font-family: var(--font-display);
  font-size: var(--font-sm);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-gray-600);
  background-color: transparent;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: all 0.2s ease;
}
.search-card-modal__secondary:hover {
  background-color: var(--color-gray-50);
  border-color: var(--color-gray-300);
}

.search-card-modal__success {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  font-weight: 500;
  color: var(--color-success);
  margin: var(--space-sm) 0 0;
  text-align: center;
}

.search-card-modal__agent-header {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding-bottom: var(--space-md);
  margin-bottom: var(--space-md);
  border-bottom: 1px solid var(--color-gray-100);
}

.search-card-modal__agent-avatar {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border-radius: 50%;
  overflow: hidden;
  background-color: transparent;
  align-self: center;
}
.search-card-modal__agent-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.search-card-modal__agent-initials {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading, "Georgia", serif);
  font-size: var(--font-lg);
  font-weight: 500;
  color: var(--color-primary, #000000);
  background-color: var(--color-gray-100);
}

.search-card-modal__agent-detail {
  flex: 1;
  min-width: 0;
}

.search-card-modal__agent-name {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: 14px;
  font-weight: 600;
  color: var(--color-gray-700, #212121);
  margin: 0;
  padding: 0;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

.search-card-modal__agent-role {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: capitalize;
  color: var(--color-gray-400, #999999);
  margin: 0;
  padding: 0;
  line-height: 1.4;
  display: block;
}

.search-card-modal__reveal {
  text-align: center;
  padding: var(--space-sm) 0 0;
}

.search-card-modal__call-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.search-card-modal__call-cta.btn {
  padding: 14px 28px;
  font-size: var(--font-lg);
  letter-spacing: 0.04em;
  min-width: 240px;
}
.search-card-modal__call-cta.btn svg {
  flex-shrink: 0;
}

.search-card-modal__copy-btn.btn {
  padding: 6px 14px;
  font-size: var(--font-xs);
  letter-spacing: 0.05em;
  gap: 6px;
}
.search-card-modal__copy-btn.btn svg {
  flex-shrink: 0;
}

.search-card-modal__no-phone {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-gray-500);
  margin: 0;
}

.search-card-modal__body .search-card-modal__helper {
  font-family: var(--font-body);
  font-size: var(--font-xs);
  color: var(--color-gray-400, #9a9a9a);
  text-align: center;
  margin: 24px 0 0;
}

.search-area-services-card__groups {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-top: auto;
}
.search-area-services-card__group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.search-area-services-card__group-label {
  font-family: "tradegothic", Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #000;
}
.search-area-services-card.services-mosaic__tile--service {
  padding-left: 0;
  padding-right: 0;
}

.services-mosaic__location-link {
  color: #363636;
}
.services-mosaic__location-link.is-active {
  background-color: transparent;
  color: #bf2842;
}

@media (max-width: 768px) {
  .search-result-card {
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    min-height: 0;
    height: auto;
  }
  .search-result-card__media {
    flex: none;
    width: 100%;
    aspect-ratio: 3/2;
    flex-direction: column;
    gap: 0;
    padding: 0;
  }
  .search-result-card__image {
    flex: 1;
    height: 100%;
    min-height: 0;
    border-radius: var(--radius-card) var(--radius-card) 0 0;
  }
  .search-result-card__slider {
    border-radius: var(--radius-card) var(--radius-card) 0 0;
  }
  .search-result-card__specs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .search-result-card__thumbnails {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 140px;
    flex-shrink: 0;
  }
  .search-result-card__thumbnail {
    aspect-ratio: 3/2;
  }
  .search-result-card__badge {
    top: 12px;
    left: 12px;
  }
  .search-result-card__location {
    white-space: normal;
    word-break: break-word;
  }
}
@media (max-width: 768px) {
  .search-results-header-full-bleed .container,
  .search-results-full-bleed .container {
    width: 100%;
    max-width: 100%;
    padding-left: var(--space-sm, 16px);
    padding-right: var(--space-sm, 16px);
  }
  .search-results-header-full-bleed .container {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 550px) and (max-width: 1024px) {
  .search-results-header-full-bleed .container,
  .search-results-full-bleed .container {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (max-width: 768px) {
  .search-results-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-xl, 40px);
  }
  .search-results-header {
    padding: 40px 0;
    margin-bottom: var(--space-md, 24px);
  }
  .search-results-header__title {
    font-size: 20px;
    margin-bottom: 16px;
  }
  .search-results-header__breadcrumbs {
    font-size: 12px;
    gap: 6px;
  }
  .search-results-header__sub-areas {
    margin-top: 24px;
  }
  .search-results-header__sub-areas-grid {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 10px;
    margin-bottom: 12px;
  }
  .search-results-header__sub-area-link {
    padding: 6px 10px;
    font-size: 13px;
  }
  .search-results-header__see-all-btn {
    font-size: 13px;
  }
  .search-results-header__sub-areas-expanded {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 10px;
    margin-top: 12px;
    padding-top: 12px;
  }
  .search-result-card {
    margin-bottom: var(--space-lg, 32px);
    height: auto;
  }
  .search-result-card__title {
    font-size: 20px;
  }
  .search-result-card__description {
    font-size: 13px;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }
  .search-result-card__actions {
    justify-content: flex-start;
    width: 100%;
  }
  .search-result-card__action-btn {
    width: 100%;
  }
  .search-result-card__specs {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 1024px) {
  .search-results-full-bleed,
  .search-results-header-full-bleed {
    width: 100%;
    margin-left: 0;
  }
}
@media (max-width: 480px) {
  .search-results-header {
    padding: 32px 0;
    margin-bottom: var(--space-sm, 16px);
  }
  .search-results-header__title {
    font-size: 18px;
    margin-bottom: 12px;
  }
  .search-results-header__breadcrumbs {
    font-size: 11px;
    gap: 4px;
  }
  .search-result-card {
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--color-gray-200, #e6e6e6);
    border-radius: var(--radius-card);
    margin-bottom: var(--space-lg, 32px);
    max-width: 100%;
    box-sizing: border-box;
    height: auto;
  }
  .search-result-card__media {
    flex: none;
    width: 100%;
    aspect-ratio: 3/2;
    flex-direction: column;
    padding: 0;
  }
  .search-result-card__image {
    flex: 1;
    height: 100%;
    min-height: 0;
    border-radius: var(--radius-card) var(--radius-card) 0 0;
  }
  .search-result-card__slider {
    border-radius: var(--radius-card) var(--radius-card) 0 0;
  }
  .search-result-card__specs {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
  }
  .search-result-card__thumbnails {
    display: none;
  }
  .property-related-section .blog-card__content {
    padding: 28px;
    gap: 4px;
  }
  .search-result-card__badge {
    top: 8px;
    left: 8px;
  }
  .search-result-card__content {
    gap: 12px;
    padding: var(--space-sm, 16px);
  }
  .search-result-card__title {
    font-size: 18px;
  }
  .search-result-card__description {
    font-size: 12px;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }
  .search-result-card__pricing {
    font-size: 14px;
  }
  .search-result-card__specs {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
    gap: 6px 12px;
  }
  .search-result-card__spec:nth-child(4) {
    grid-column: span 2;
  }
  .search-result-card__shortlist-btn span {
    display: inline;
  }
}
.pagination {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  flex-wrap: wrap;
  row-gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}
.pagination li {
  display: inline-flex;
}
.pagination li a,
.pagination li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 12px;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
  transition: all 0.2s ease;
}
.pagination li a:hover:not(.disabled),
.pagination li span:hover:not(.disabled) {
  background-color: #f5f5f5;
  border-color: #ccc;
}
.pagination li.active a, .pagination li.active span {
  color: #fff;
  background-color: var(--color-accent, #bf2842);
  border-color: var(--color-accent, #bf2842);
}
.pagination li.disabled a, .pagination li.disabled span {
  color: #bbb;
  cursor: not-allowed;
  background-color: #f8f9fa;
  border-color: #eee;
}
.pagination li.disabled a:hover, .pagination li.disabled span:hover {
  background-color: #f8f9fa;
  border-color: #eee;
}
.pagination li.prev a,
.pagination li.prev span, .pagination li.next a,
.pagination li.next span {
  padding: 0 16px;
  font-weight: 600;
}

.text-center .pagination {
  justify-content: center;
}

.property-related-wrapper {
  background-color: var(--color-sand-soft, #f4f2ef);
  padding: var(--space-3xl, 64px) 0;
  margin-top: var(--space-3xl, 64px);
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  position: relative;
  left: 0;
  right: 0;
  z-index: 1;
}

@media (max-width: 768px) {
  .property-related-wrapper {
    padding: var(--space-2xl, 48px) 0;
    margin-top: var(--space-2xl, 48px);
  }
}
.property-related-section {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}

.property-related-title {
  font-family: var(--font-heading, "Georgia", serif);
  font-size: var(--font-3xl, 2rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0 0 var(--space-2xl, 48px) 0;
  color: var(--color-primary, #000000);
}

.property-related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md, 24px);
  align-items: stretch;
}

.property-related-grid > * {
  min-width: 0;
  display: flex;
}

.property-related-grid > * .search-result-card {
  height: 100%;
}

@media (max-width: 1200px) {
  .property-related-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 900px) {
  .property-related-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .property-related-grid {
    grid-template-columns: 1fr;
  }
}
.property-related-grid .search-result-card {
  flex-direction: column;
  height: auto;
  min-height: 0;
  margin-bottom: 0;
  border: 1px solid var(--color-gray-200, #e6e6e6);
  border-radius: var(--radius-card);
}

.property-related-grid .search-result-card__media {
  width: 100%;
  flex: none;
}

.property-related-grid .search-result-card__image {
  flex: none;
  height: 180px;
  min-height: 180px;
  max-height: 180px;
}

.property-related-grid .search-result-card__slider {
  border-radius: var(--radius-card) var(--radius-card) 0 0;
  height: 100%;
}

.property-related-grid .search-result-card__slide-img {
  height: 100%;
  object-fit: cover;
}

.property-related-grid .search-result-card__content {
  padding: var(--space-md, 24px);
  gap: var(--space-sm, 16px);
  flex: 1;
  display: flex;
  flex-direction: column;
}

@media (min-width: 1201px) {
  .property-related-grid .search-result-card__content {
    padding: var(--space-sm, 16px);
  }
}
.property-related-grid .search-result-card__address {
  font-size: var(--font-lg, 1.125rem);
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-primary, #000000);
  margin: 0;
}

.property-related-grid .search-result-card__title {
  font-family: var(--font-heading, "Georgia", serif);
  font-size: var(--font-2xl, 1.5rem);
  font-weight: 400;
  line-height: 1.25;
  color: var(--color-primary, #000000);
  margin: 4px 0 0 0;
  letter-spacing: -0.02em;
}

.property-related-grid .search-result-card__specs {
  display: flex !important;
  flex-direction: row;
  gap: 0;
  margin-top: auto;
  font-size: var(--font-sm, 0.875rem);
  min-width: 0;
  width: 100%;
  border-top: 1px solid var(--color-border, #e6e6e6);
  padding-top: var(--space-sm, 16px);
}

.property-related-grid .search-result-card__spec,
.property-related-grid .search-result-card__spec-column {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-start;
  flex: 1;
  min-width: 0;
  padding: 0 var(--space-xs, 8px);
  border-right: 1px solid var(--color-border, #e6e6e6);
}
.property-related-grid .search-result-card__spec:first-child,
.property-related-grid .search-result-card__spec-column:first-child {
  padding-left: 0;
}
.property-related-grid .search-result-card__spec:last-child,
.property-related-grid .search-result-card__spec-column:last-child {
  border-right: none;
}

.property-related-grid .search-result-card__spec-label {
  font-family: var(--font-display, "TradeGothic", sans-serif);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-gray-400, #999999);
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.property-related-grid .search-result-card__spec-label::after {
  content: none;
}

.property-related-grid .search-result-card__spec-value {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: 13px;
  font-weight: 600;
  color: var(--color-primary, #000000);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.property-related-grid .search-result-card__spec-unit {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: 11px;
  font-weight: 400;
  color: var(--color-gray-500, #666666);
  white-space: normal;
}

.search-result-card__price-hero {
  display: flex;
  align-items: baseline;
  gap: var(--space-xs, 8px);
  margin: 0 0 12px 0;
}

.search-result-card__price-hero-value {
  font-family: var(--font-heading, "Georgia", serif);
  font-size: var(--font-2xl, 1.75rem);
  font-weight: 400;
  color: var(--color-primary, #000000);
  line-height: 1.1;
}

.search-result-card__price-hero-unit {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: var(--font-xs, 0.75rem);
  font-weight: 500;
  color: var(--color-gray-500, #666666);
}

.property-related-grid .search-result-card__price {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 6px;
  flex-wrap: nowrap;
  margin-top: 0;
}

.property-related-grid .search-result-card__footer {
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-sm, 16px);
  border-top: none;
  padding-top: var(--space-sm, 16px);
}

.property-related-grid .search-result-card__pricing {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 0;
}

.property-related-grid .search-result-card__price-main {
  font-family: var(--font-heading, "Georgia", serif);
  font-size: var(--font-xl, 1.25rem);
  font-weight: 400;
  color: var(--color-primary, #000000);
  line-height: 1.2;
}

.property-related-grid .search-result-card__price-unit {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: var(--font-xs, 0.75rem);
  color: var(--color-gray-500, #666666);
  font-weight: 500;
}

.property-related-grid .search-result-card__actions {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: var(--space-sm, 16px);
  width: 100%;
}

.property-related-grid .search-result-card__actions .btn {
  flex: 1;
  justify-content: center;
  min-width: 0;
}

.available-units-stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg, 32px);
}

.available-units-stack--rows {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg, 32px);
}

.available-unit-card {
  min-width: 0;
  display: flex;
}

.available-units-stack--rows .available-unit-card {
  display: block;
}

.available-unit-card .search-result-card {
  margin-bottom: 0;
  height: 100%;
}

.available-units-stack--rows .available-unit-card .search-result-card {
  height: auto;
}

@media (max-width: 768px) {
  .property-related-section {
    padding: 0;
  }
  .available-units-stack {
    grid-template-columns: 1fr;
    gap: var(--space-md, 24px);
  }
  .property-related-grid .search-result-card__content {
    padding: var(--space-md, 24px);
  }
  .property-related-grid .search-result-card__address {
    font-size: var(--font-lg, 1.125rem);
  }
  .property-related-grid .search-result-card__title {
    font-size: var(--font-xl, 1.25rem);
  }
  .property-related-grid .search-result-card__specs {
    grid-template-columns: 1fr !important;
    gap: var(--space-xs, 8px);
  }
  .property-related-grid .search-result-card__spec-label {
    font-size: 9px;
  }
  .property-related-grid .search-result-card__spec-value {
    font-size: 13px;
  }
}
@media (max-width: 480px) {
  .property-related-grid .search-result-card__content {
    padding: var(--space-sm, 16px);
    gap: var(--space-xs, 8px);
  }
  .property-related-grid .search-result-card__address {
    font-size: var(--font-md, 1rem);
  }
  .property-related-grid .search-result-card__title {
    font-size: var(--font-lg, 1.125rem);
  }
  .property-related-grid .search-result-card__specs {
    grid-template-columns: 1fr !important;
    gap: var(--space-xs, 8px);
  }
  .property-related-grid .search-result-card__spec-label {
    font-size: 8px;
  }
  .property-related-grid .search-result-card__spec-value {
    font-size: 12px;
  }
}
.blog-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: var(--color-white);
  border-radius: var(--radius-card);
  border: 1px solid var(--color-border-muted);
  overflow: hidden;
  padding: 0;
  transition: all 200ms ease;
}
.blog-card:hover {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px);
}

.blog-card__image {
  width: 100%;
  height: 240px;
  overflow: hidden;
  background-color: var(--color-gray-100);
  border-radius: 0;
}
.blog-card__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 300ms ease;
}
.blog-card:hover .blog-card__image img {
  transform: none;
}

.blog-card__content {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: var(--space-md);
  gap: var(--space-md);
  background-color: var(--color-white);
}

.blog-card__category {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  color: var(--color-accent, #bf2842);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.blog-card__title {
  font-family: "Gelasio", var(--font-heading);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-black);
  margin: 0;
}
.blog-card__title a {
  color: inherit;
  text-decoration: none;
}
.blog-card__title a:hover {
  color: var(--color-accent, #bf2842);
}

.blog-card__excerpt {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-gray-500);
  margin: 0;
  flex: 1;
}

.blog-card__meta {
  display: flex;
  gap: var(--space-sm);
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  color: var(--color-gray-400);
  margin-top: auto;
  padding-top: var(--space-sm);
  border-top: 1px solid var(--color-border-muted);
}

.blog-card__author,
.blog-card__date {
  display: inline-block;
}

@media (max-width: 768px) {
  .blog-card__image {
    height: 210px;
  }
}
.featured-article {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3xl);
  align-items: center;
  margin-bottom: var(--space-5xl);
}
@media (max-width: 1024px) {
  .featured-article {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
    margin-bottom: 60px;
  }
}

.featured-article__image {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: var(--radius-card);
  background-color: var(--color-bg-light);
}
.featured-article__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 1024px) {
  .featured-article__image {
    order: 2;
  }
}

.featured-article__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
@media (max-width: 1024px) {
  .featured-article__content {
    order: 1;
  }
}

.featured-article__category {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  color: var(--color-accent, #bf2842);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.featured-article__title {
  font-family: "Gelasio", var(--font-heading);
  font-size: 40px;
  font-weight: 400;
  line-height: 1.2;
  color: var(--color-black);
  margin: 0;
}
.featured-article__title a {
  color: inherit;
  text-decoration: none;
}
.featured-article__title a:hover {
  color: var(--color-accent, #bf2842);
}
@media (max-width: 768px) {
  .featured-article__title {
    font-size: 28px;
  }
}

.featured-article__excerpt {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-gray-500);
  margin: 0;
}

.featured-article__meta {
  display: flex;
  gap: var(--space-lg);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  color: var(--color-gray-400);
  padding-top: var(--space-md);
  border-top: 1px solid var(--color-border-muted);
}

.featured-article__author,
.featured-article__date {
  display: inline-block;
}

.featured-article__cta {
  margin-top: 8px;
}

.blog-section {
  padding: var(--space-4xl) 0;
  background-color: var(--color-hero-background) !important;
}
@media (max-width: 768px) {
  .blog-section {
    padding: var(--space-3xl) 0;
  }
}
@media (max-width: 480px) {
  .blog-section {
    padding: var(--space-2xl) 0;
  }
}
.blog-section--full-bleed {
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
  background: var(--color-sand-soft, #f5f2ee);
  padding: var(--space-5xl) 0;
}
.blog-section > .section,
.blog-section .blog-section__subsection > .section,
.blog-section .blog-section__subsection .section {
  padding: 0;
  margin: 0;
  background: transparent;
}

.blog-section__header {
  margin-bottom: var(--space-4xl);
}
@media (max-width: 768px) {
  .blog-section__header {
    margin-bottom: var(--space-3xl);
  }
}
@media (max-width: 480px) {
  .blog-section__header {
    margin-bottom: var(--space-xl);
  }
}

.blog-section__subsection {
  margin-top: var(--space-4xl, 64px);
}

.blog-section__subheading {
  text-align: center;
  margin-bottom: var(--space-2xl);
  font-family: var(--font-heading);
  font-size: var(--font-2xl);
  font-weight: 400;
  line-height: 1.3;
}
@media (max-width: 768px) {
  .blog-section__subheading {
    font-size: var(--font-2xl);
    margin-bottom: var(--space-lg);
  }
}

.blog-section__featured {
  margin-bottom: var(--space-4xl);
}
@media (max-width: 768px) {
  .blog-section__featured {
    margin-bottom: var(--space-3xl);
  }
}
@media (max-width: 480px) {
  .blog-section__featured {
    margin-bottom: var(--space-2xl);
  }
}

.blog-section__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
  margin-bottom: var(--space-2xl);
}
@media (max-width: 1024px) {
  .blog-section__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-md);
  }
}
@media (max-width: 768px) {
  .blog-section__grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }
}

.blog-section__grid-item {
  display: flex;
}

.blog-section__footer {
  display: flex;
  justify-content: center;
  padding-top: var(--space-lg);
  border-top: 1px solid var(--color-border-muted);
}
@media (max-width: 480px) {
  .blog-section__footer {
    padding-top: var(--space-md);
  }
}
.blog-post__header {
  padding: 80px 0 0;
  border-bottom: 1px solid #e5e7eb;
}
@media (max-width: 768px) {
  .blog-post__header {
    padding: 60px 0 0;
  }
}
@media (max-width: 480px) {
  .blog-post__header {
    padding: 48px 0 0;
  }
}

.blog-post__breadcrumbs {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-family: var(--font-body);
  font-size: 14px;
  color: #666666;
}

.blog-post__breadcrumb-link {
  color: var(--color-accent, #bf2842);
  text-decoration: none;
  transition: color 200ms ease;
}
.blog-post__breadcrumb-link:hover {
  color: #000000;
}

.blog-post__breadcrumb-text {
  color: #000000;
}

.blog-post__breadcrumb-separator {
  color: #cccccc;
}

.blog-post__title {
  font-family: var(--font-heading);
  font-size: 48px;
  font-weight: 400;
  line-height: 1.2;
  color: #000000;
  margin: 0 0 32px;
}
@media (max-width: 768px) {
  .blog-post__title {
    font-size: 36px;
  }
}
@media (max-width: 480px) {
  .blog-post__title {
    font-size: 28px;
    margin-bottom: 24px;
  }
}

.blog-post__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 24px;
  padding-bottom: 0;
}
@media (max-width: 768px) {
  .blog-post__meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 24px;
    padding-bottom: 0;
  }
}

.blog-post__author {
  display: flex;
  align-items: center;
  gap: 16px;
}

.blog-post__author-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
  background-color: #f0f0f0;
}
.blog-post__author-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-post__author-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.blog-post__author-name {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  margin: 0;
}

.blog-post__publish-date {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  color: #666666;
  margin: 0;
}

.blog-post__sharing {
  display: flex;
  gap: 16px;
}

.blog-post__share-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #f0f0f0;
  color: #000000;
  transition: all 200ms ease;
  text-decoration: none;
}
.blog-post__share-button svg {
  width: 20px;
  height: 20px;
}
.blog-post__share-button:hover {
  background-color: var(--color-accent, #bf2842);
  color: #ffffff;
}

.blog-post__featured-image {
  margin-top: 48px;
  border-radius: 8px;
  overflow: hidden;
  background-color: #f0f0f0;
}
.blog-post__featured-image img {
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 768px) {
  .blog-post__featured-image {
    margin-top: 32px;
  }
}

.blog-post__content {
  padding: 80px 0;
}
@media (max-width: 768px) {
  .blog-post__content {
    padding: 60px 0;
  }
}
@media (max-width: 480px) {
  .blog-post__content {
    padding: 48px 0;
  }
}

.blog-post__body {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.7;
  color: #333333;
}
.blog-post__body p {
  margin: 0 0 24px;
}
.blog-post__body p:last-child {
  margin-bottom: 0;
}
.blog-post__body h2 {
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 400;
  line-height: 1.3;
  color: #000000;
  margin: 48px 0 24px;
}
@media (max-width: 768px) {
  .blog-post__body h2 {
    font-size: 24px;
    margin: 36px 0 18px;
  }
}
.blog-post__body h3 {
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3;
  color: #000000;
  margin: 36px 0 18px;
}
@media (max-width: 768px) {
  .blog-post__body h3 {
    font-size: 20px;
    margin: 28px 0 14px;
  }
}
.blog-post__body ul,
.blog-post__body ol {
  margin: 24px 0;
  padding-left: 40px;
}
.blog-post__body ul li,
.blog-post__body ol li {
  margin-bottom: 8px;
  line-height: 1.8;
}
.blog-post__body ul li:last-child,
.blog-post__body ol li:last-child {
  margin-bottom: 0;
}
.blog-post__body blockquote {
  margin: 32px 0;
  padding: 24px;
  border-left: 4px solid var(--color-accent, #bf2842);
  background-color: #fbf8f2;
  font-style: italic;
  color: #666666;
}
.blog-post__body blockquote p {
  margin: 0;
}
.blog-post__body code {
  font-family: "Courier New", monospace;
  background-color: #f5f5f5;
  padding: 2px 6px;
  border-radius: 4px;
  color: #d63384;
}
.blog-post__body pre {
  background-color: #f5f5f5;
  padding: 16px;
  border-radius: 8px;
  overflow-x: auto;
  margin: 24px 0;
}
.blog-post__body pre code {
  background-color: transparent;
  padding: 0;
  color: #333333;
}
.blog-post__body img {
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 32px 0;
  border-radius: 8px;
}
.blog-post__body a {
  color: var(--color-accent, #bf2842);
  text-decoration: none;
  transition: color 200ms ease;
}
.blog-post__body a:hover {
  text-decoration: underline;
}

.article-metadata {
  max-width: 768px;
  margin: 0 auto;
  padding: 80px 0;
  border-bottom: 1px solid #e5e7eb;
}
@media (max-width: 768px) {
  .article-metadata {
    padding: 60px 0;
  }
}
@media (max-width: 480px) {
  .article-metadata {
    padding: 48px 0;
  }
}

.article-metadata__author-section {
  margin-bottom: 48px;
}
@media (max-width: 768px) {
  .article-metadata__author-section {
    margin-bottom: 36px;
  }
}

.article-metadata__author-bio {
  background-color: transparent;
  padding: 32px;
  border-radius: 8px;
}
@media (max-width: 768px) {
  .article-metadata__author-bio {
    padding: 24px;
  }
}

.article-metadata__author-header {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
}

.article-metadata__author-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  overflow: hidden;
  background-color: #e5e7eb;
  flex-shrink: 0;
}
.article-metadata__author-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article-metadata__author-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.article-metadata__author-name {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 600;
  color: #000000;
  margin: 0;
}

.article-metadata__author-title {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  color: #666666;
  margin: 0;
}

.article-metadata__author-description {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: #333333;
  margin: 0;
}

.article-metadata__tags-section {
  margin-bottom: 48px;
}
@media (max-width: 768px) {
  .article-metadata__tags-section {
    margin-bottom: 36px;
  }
}

.article-metadata__tags-title {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  margin: 0 0 16px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.article-metadata__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.article-metadata__tag {
  display: inline-block;
  padding: 8px 16px;
  background-color: #f0f0f0;
  border-radius: 20px;
  font-family: var(--font-body);
  font-size: 14px;
  color: #000000;
  text-decoration: none;
  text-transform: capitalize;
  transition: all 200ms ease;
}
.article-metadata__tag:hover {
  background-color: var(--color-accent, #bf2842);
  color: #ffffff;
}

.article-metadata__sharing-section {
  margin-top: 48px;
}
@media (max-width: 768px) {
  .article-metadata__sharing-section {
    margin-top: 36px;
  }
}

.article-metadata__sharing-title {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  margin: 0 0 16px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.article-metadata__sharing-buttons {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.article-metadata__share-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 6px;
  background-color: #f0f0f0;
  color: #000000;
  text-decoration: none;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  transition: all 200ms ease;
}
.article-metadata__share-button svg {
  width: 20px;
  height: 20px;
}
.article-metadata__share-button:hover {
  background-color: var(--color-accent, #bf2842);
  color: #ffffff;
}
.article-metadata__share-button--facebook:hover {
  background-color: #1877f2;
}
.article-metadata__share-button--twitter:hover {
  background-color: #1da1f2;
}
.article-metadata__share-button--linkedin:hover {
  background-color: #0a66c2;
}

.newsletter-signup {
  padding: 80px;
  background: linear-gradient(135deg, #fbf8f2 0%, #f5f3ed 100%);
  border-radius: 12px;
  text-align: center;
  margin: 80px 0;
}
@media (max-width: 768px) {
  .newsletter-signup {
    padding: 60px 40px;
    margin: 60px 0;
  }
}
@media (max-width: 480px) {
  .newsletter-signup {
    padding: 40px 24px;
    margin: 48px 0;
  }
}

.newsletter-signup__content {
  margin-bottom: 32px;
}

.newsletter-signup__title {
  font-family: var(--font-heading);
  font-size: 36px;
  font-weight: 400;
  line-height: 1.2;
  color: #000000;
  margin: 0 0 16px;
}
@media (max-width: 768px) {
  .newsletter-signup__title {
    font-size: 28px;
  }
}

.newsletter-signup__subtitle {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  color: #666666;
  margin: 0;
  text-align: center;
}

.newsletter-signup__form {
  max-width: 500px;
  margin: 0 auto 24px;
}

.newsletter-signup__input-group {
  display: flex;
  gap: 12px;
}
@media (max-width: 480px) {
  .newsletter-signup__input-group {
    flex-direction: column;
  }
}

.newsletter-signup__input {
  flex: 1;
  padding: 12px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  font-family: var(--font-body);
  font-size: 16px;
  transition: border-color 200ms ease;
}
.newsletter-signup__input:focus {
  outline: none;
  border-color: var(--color-accent, #bf2842);
}
.newsletter-signup__input::placeholder {
  color: #999999;
}

.newsletter-signup__button {
  padding: 12px 32px;
  white-space: nowrap;
}
@media (max-width: 480px) {
  .newsletter-signup__button {
    width: 100%;
  }
}

.newsletter-signup__privacy {
  font-family: var(--font-body);
  font-size: 12px;
  color: #999999;
  margin: 0;
}

.newsletter-signup__message {
  padding: 16px;
  border-radius: 6px;
  font-family: var(--font-body);
  font-size: 14px;
  margin-top: 16px;
}
.newsletter-signup__message--success {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}
.newsletter-signup__message--error {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

.related-posts {
  padding: 80px 0;
  border-top: 1px solid #e5e7eb;
}
@media (max-width: 768px) {
  .related-posts {
    padding: 60px 0;
  }
}
@media (max-width: 480px) {
  .related-posts {
    padding: 48px 0;
  }
}

.related-posts__header {
  text-align: center;
  margin-bottom: 64px;
}
.related-posts__header .related-posts__subtitle {
  text-align: center;
}
@media (max-width: 768px) {
  .related-posts__header {
    margin-bottom: 48px;
  }
}
@media (max-width: 480px) {
  .related-posts__header {
    margin-bottom: 36px;
  }
}

.related-posts__title {
  font-family: var(--font-heading);
  font-size: 36px;
  font-weight: 400;
  line-height: 1.2;
  color: #000000;
  margin: 0 0 12px;
}
@media (max-width: 768px) {
  .related-posts__title {
    font-size: 28px;
  }
}

.related-posts__subtitle {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 400;
  color: #666666;
  margin: 0;
  text-align: center;
}

.related-posts__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
@media (max-width: 1024px) {
  .related-posts__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}
@media (max-width: 768px) {
  .related-posts__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.related-posts__item {
  display: flex;
}
@charset "UTF-8";
.property-sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

@media (min-width: 992px) {
  .property-sidebar {
    padding-top: 45px;
  }
}
.property-contact-card {
  --property-contact-card-padding: var(--space-lg);
  background-color: var(--color-white);
  border: 1px solid var(--color-border-muted);
  box-shadow: var(--shadow-none);
  border-radius: var(--radius-card);
  padding: var(--property-contact-card-padding);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.property-area-guide-section {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  margin-top: var(--space-md);
  padding-top: 0;
}

.property-area-guide-section__title {
  font-family: var(--font-heading);
  font-size: var(--font-2xl);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: var(--color-primary);
  margin: 0;
}

.property-area-guide-section__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xs) var(--space-sm);
  margin: 0;
}

.property-area-guide-section__stats-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.property-area-guide-section__stats-item dt {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-xs);
  font-weight: 500;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--color-gray-400);
}

.property-area-guide-section__stats-item dd {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--font-md);
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-primary);
}

.property-contact-identity {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.property-area-guide-section__description {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-text-secondary);
  margin: 0;
}

.property-area-guide-section__link {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  font-weight: 600;
  color: var(--color-accent);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs);
  transition: color 0.2s ease;
}

.property-area-guide-section__link::after {
  content: "→";
  font-size: 0.9em;
  transition: transform 0.2s ease;
}

.property-area-guide-section__link:hover {
  color: var(--color-accent-dark);
  text-decoration: underline;
}

.property-area-guide-section__link:hover::after {
  transform: translateX(2px);
}

.property-contact-card textarea {
  min-height: clamp(120px, 18vh, 220px);
  max-height: 360px;
  resize: vertical;
  line-height: 1.5;
}

.property-contact-card h3 {
  font-family: var(--font-heading);
  font-size: var(--font-2xl);
  font-weight: 400;
  line-height: 1.2;
  color: var(--color-primary);
  margin: 0;
}

.property-contact-header {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}

.property-contact-image {
  width: 96px;
  height: 96px;
  flex: 0 0 96px;
  border-radius: var(--radius-card);
  background-color: var(--color-border-ghost);
  overflow: hidden;
}

.property-contact-image img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
  object-position: center top;
}

.property-contact-header .property-contact-identity {
  flex: 1;
  min-width: 0;
  gap: 2px;
}

.property-contact-name {
  font-family: var(--font-heading);
  font-size: var(--font-xl);
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-primary);
  margin: 0;
}

.property-contact-title {
  font-family: var(--font-body);
  font-size: var(--font-xs);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.4;
  color: var(--color-gray-400);
  margin: 0 0 0 0;
}

.property-contact-description {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-gray-500);
  margin: var(--space-xxs) 0 0 0;
  max-width: 32ch;
}

.property-contact-socials {
  display: flex;
  gap: var(--space-xs);
}

.property-contact-socials a {
  width: var(--space-md);
  height: var(--space-md);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  text-decoration: none;
  transition: color 0.3s ease;
}

.property-contact-socials a:hover {
  color: var(--color-accent);
}

.property-contact-share-section {
  margin-top: var(--space-lg);
  padding-top: var(--space-lg);
  border-top: 1px solid var(--color-gray-200);
}

.property-contact-share-label {
  font-size: var(--font-xs);
  color: var(--color-gray-500);
  margin-bottom: var(--space-sm);
  text-transform: uppercase;
  font-weight: 600;
  margin: 0 0 var(--space-sm) 0;
}

.property-contact-meta {
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
  margin-top: var(--space-sm);
}

.property-contact-meta__item {
  display: flex;
  gap: var(--space-xxs);
  align-items: baseline;
  font-size: var(--font-sm);
  line-height: 1.5;
  color: var(--color-gray-500);
}

.property-contact-meta__label {
  font-family: var(--font-body);
  font-weight: 600;
  color: var(--color-primary);
}

.property-contact-meta__link,
.property-contact-meta__item a {
  color: var(--color-accent);
  text-decoration: none;
  font-weight: 500;
}

.property-contact-meta__link:hover,
.property-contact-meta__item a:hover {
  text-decoration: underline;
}

.property-contact-email__toggle {
  border: none;
  background: transparent;
  padding: 0;
  font: inherit;
  color: var(--color-accent);
  font-weight: 500;
  cursor: pointer;
}

.property-contact-email__toggle:hover,
.property-contact-email__toggle:focus {
  text-decoration: underline;
}

@media (max-width: 768px) {
  .property-sidebar {
    gap: var(--space-lg);
  }
  .property-contact-card {
    --property-contact-card-padding: var(--space-lg);
    padding: var(--property-contact-card-padding);
    gap: var(--space-md);
  }
  .property-contact-card h3 {
    font-size: var(--font-2xl);
  }
  .property-contact-name {
    font-size: var(--font-xl);
    font-weight: 400;
  }
  .property-contact-title {
    font-size: var(--font-xs);
  }
  .property-contact-description {
    font-size: var(--font-md);
    line-height: 1.6;
  }
  .property-contact-meta__item {
    font-size: var(--font-md);
  }
  .property-area-guide-section__stats {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 480px) {
  .property-sidebar {
    gap: var(--space-lg);
  }
  .property-contact-card {
    --property-contact-card-padding: var(--space-lg);
    padding: var(--property-contact-card-padding);
    gap: var(--space-md);
  }
  .property-contact-card h3 {
    font-size: var(--font-2xl);
  }
  .property-contact-name {
    font-size: var(--font-xl);
    font-weight: 400;
  }
  .property-contact-title {
    font-size: var(--font-xs);
  }
  .property-contact-description {
    font-size: var(--font-md);
  }
  .property-contact-meta__item {
    font-size: var(--font-md);
  }
  .property-contact-socials a {
    width: var(--space-md);
    height: var(--space-md);
  }
}
@charset "UTF-8";
.js-lazy-map.is-loading {
  filter: blur(12px);
  transform: scale(1.02);
  transition: filter 200ms ease, transform 200ms ease;
  background-color: var(--color-gray-100);
}

.gallery-swiper {
  --gallery-swiper-aspect: 16 / 9;
  min-height: 580px;
  width: 100% !important;
  max-width: 100%;
}

.gallery-swiper .swiper-wrapper,
.gallery-swiper .swiper-slide {
  width: 100% !important;
}

.property-header {
  background: var(--color-white);
  padding: var(--space-2xl) 0 0;
}

.property-container {
  max-width: 1440px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
  padding: 0 var(--space-md);
}

.property-breadcrumbs,
.search-results-header__breadcrumbs {
  display: flex;
  gap: var(--space-xs);
  align-items: center;
  margin-bottom: var(--space-md);
  font-family: var(--font-body);
  font-size: var(--font-sm);
  line-height: 1.5;
}

.property-breadcrumbs p,
.search-results-header__breadcrumb-text,
.search-results-header__breadcrumb-link {
  margin: 0;
  color: var(--color-primary);
}

.search-results-header__breadcrumb-link {
  font-weight: 500;
  text-decoration: none;
}

.search-results-header__breadcrumb-link:hover {
  text-decoration: underline;
}

.search-results-header__breadcrumb-text--active {
  font-weight: 600;
}

.property-title {
  font-family: var(--font-heading);
  font-size: 36px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.36px;
  margin: var(--space-md) 0 var(--space-2xl);
  color: var(--color-primary);
}

.property-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

.property-main {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.property-content-with-sidebar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: var(--space-2xl);
  width: 100%;
}

@media (min-width: 992px) {
  .property-content-with-sidebar {
    grid-template-columns: minmax(0, 1fr) minmax(0, 320px);
  }
}
.property-image-container {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background-color: var(--color-bg-light);
}

.property-image-container img,
.gallery-swiper .swiper-slide {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.property-summary {
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-card);
  padding: var(--space-md);
  display: grid;
  gap: var(--space-md);
  background: var(--color-white);
}

.property-summary__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-sm);
}

.property-summary__price {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.property-summary__price-value {
  font-family: var(--font-heading);
  font-size: 40px;
  font-weight: 400;
  line-height: 1.1;
  color: var(--color-primary);
  letter-spacing: -0.02em;
  margin: 0;
}

.property-summary__price-caption,
.property-summary__fact-label {
  font-family: var(--font-body);
  font-size: var(--font-xs);
  font-weight: 500;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--color-gray-500);
  margin: 0;
}

.property-summary__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xs) var(--space-sm);
}

.property-stats-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: var(--space-md);
  font-family: var(--font-body);
}

.property-stats-table th,
.property-stats-table td {
  padding: var(--space-xs) var(--space-compact);
  border-bottom: 1px solid var(--color-surface-muted);
}

.property-stats-table th {
  text-align: left;
  font-size: var(--font-xs);
  font-weight: 500;
  color: var(--color-gray-500);
}

.property-stats-table td {
  font-size: var(--font-md);
  font-weight: 600;
  color: var(--color-primary);
}

.property-stats-table tr:last-child th,
.property-stats-table tr:last-child td {
  border-bottom: none;
}

.property-description,
.property-intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.property-section-title {
  font-family: var(--font-heading);
  font-size: var(--font-2xl);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--color-primary);
  margin: 0;
}

.property-tab-content .property-section-title {
  margin-bottom: var(--space-md);
}

.property-section-title + .property-summary {
  margin-top: calc(var(--space-sm) * -1);
}

.property-description-text {
  font-family: var(--font-body);
  font-size: var(--font-md);
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-primary);
  margin: 0;
}

.property-description-text ul,
.property-features-list {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.property-description-text ul {
  margin-left: var(--space-lg);
}

.property-features-list li {
  margin-bottom: var(--space-xxs);
  position: relative;
  padding-left: var(--space-lg);
}

.property-features-list li::before {
  content: "•";
  position: absolute;
  left: 0;
}

.property-intro__full {
  display: none;
}

.property-intro.is-expanded .property-intro__lead {
  display: none;
}

.property-intro.is-expanded .property-intro__full {
  display: block;
}

.property-read-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-micro);
  border: none;
  background: transparent;
  color: var(--color-accent);
  font-family: var(--font-body);
  font-size: var(--font-md);
  font-weight: 600;
  padding: var(--space-xs) 0;
  cursor: pointer;
}

.property-read-more:hover {
  background: transparent;
  border-color: transparent;
  opacity: 1;
  color: var(--color-accent);
}

.property-read-more:focus {
  outline: none;
}

.property-read-more:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
  border-radius: var(--radius-md);
}

.property-read-more__rule {
  height: 1px;
  background: var(--color-border-ghost);
  flex: 1;
}

.property-location {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.property-location__address {
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
  font-style: normal;
}

.property-location__name {
  color: var(--color-primary);
}

.property-map-container {
  width: 100%;
  height: 400px;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background-color: var(--color-gray-100);
  position: relative;
}

.property-map-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.property-map__action {
  position: absolute;
  right: var(--space-md);
  bottom: var(--space-md);
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-micro) var(--space-sm);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  color: var(--color-gray-700);
  font-family: var(--font-body);
  font-size: var(--font-sm);
  font-weight: 500;
  text-decoration: none;
  border: none;
  box-shadow: var(--shadow-md);
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.property-map-container:hover .property-map__action,
.property-map-container:focus-within .property-map__action {
  background: var(--color-white);
  box-shadow: var(--shadow-lg);
  transform: translateY(calc(-1 * var(--space-xxs)));
}

.property-map__icon {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
}

.property-tabs {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.property-tabs-menu {
  display: flex;
  gap: var(--space-md);
  border-bottom: none;
  padding-bottom: 0;
}

.property-tab {
  font-family: var(--font-body);
  font-size: var(--font-md);
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-primary);
  cursor: pointer;
  padding-bottom: var(--space-xs);
  border-bottom: 2px solid transparent;
  transition: all 0.3s ease;
}

.property-tab.active {
  font-weight: 500;
  border-bottom-color: var(--color-accent);
  color: var(--color-accent);
}

.property-tab-content {
  display: none;
}

.property-tab-content.active {
  display: block;
}

@media (max-width: 768px) {
  .property-header {
    padding: 40px 0;
  }
  .property-container {
    padding: 0 var(--space-sm);
  }
  .property-title {
    font-size: 26px;
    margin-bottom: var(--space-lg);
  }
  .property-content {
    gap: var(--space-lg);
  }
  .property-content-with-sidebar {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }
  .property-map-container {
    height: 300px;
  }
  .property-read-more {
    font-size: var(--font-sm);
  }
  .property-tabs-menu {
    flex-wrap: wrap;
    gap: var(--space-sm);
  }
}
.breadcrumb-crumb {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}

.breadcrumb-crumb__dots {
  display: none;
}

@media (max-width: 768px) {
  .search-results-header__breadcrumb-link,
  .search-results-header__breadcrumb-text {
    font-size: 12px;
  }
  .breadcrumb-crumb__dots {
    display: inline;
    font-size: 12px;
    color: #999;
    transition: opacity 0.15s ease;
  }
  .breadcrumb-crumb__label {
    max-width: 0;
    overflow: hidden;
    white-space: nowrap;
    display: inline-block;
    opacity: 0;
    transition: max-width 0.25s ease, opacity 0.2s ease;
  }
  .breadcrumb-crumb:hover .breadcrumb-crumb__dots,
  .breadcrumb-crumb:focus-within .breadcrumb-crumb__dots {
    opacity: 0;
  }
  .breadcrumb-crumb:hover .breadcrumb-crumb__label,
  .breadcrumb-crumb:focus-within .breadcrumb-crumb__label {
    max-width: 200px;
    opacity: 1;
  }
}
.premium-building {
  --premium-hero-height: 78vh;
  --premium-hero-min-height: 520px;
}
@media (max-width: 768px) {
  .premium-building {
    --premium-hero-height: 56vh;
    --premium-hero-min-height: 420px;
  }
}

.premium-section__title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
@media (max-width: 768px) {
  .premium-section__title-row {
    flex-direction: column;
    align-items: flex-start;
  }
}

.premium-tag-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.premium-tag {
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(17, 17, 17, 0.08);
  font-size: 12px;
  letter-spacing: 0.05em;
  font-weight: 600;
  text-transform: uppercase;
}

.premium-callout {
  margin-bottom: 24px;
}

.premium-callout__eyebrow {
  font-size: 14px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #6d28d9;
  margin-bottom: 6px;
}

.premium-callout__subtitle {
  font-size: 18px;
  font-family: "Gelasio", serif;
}

.premium-section__split {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1fr);
  gap: 32px;
}
@media (max-width: 992px) {
  .premium-section__split {
    grid-template-columns: 1fr;
  }
}

.premium-slab {
  background: #111;
  color: #fff;
}

.premium-location-writeup {
  background: #fbf7f2;
}

.premium-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 12px;
  color: #6d28d9;
  margin-bottom: 12px;
}

.premium-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 12px;
}

.premium-list li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: flex-start;
  font-size: 15px;
}

.premium-list img {
  width: 20px;
  height: 20px;
}

.premium-list--light li {
  color: #4f4f4f;
}

.premium-list--columns {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.premium-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}

.premium-rental-table {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.premium-rental-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #f4f4f4;
  border-radius: 12px;
  padding: 14px 20px;
}

.premium-note {
  font-size: 14px;
  color: #4f4f4f;
  margin-top: 16px;
}

.premium-broker {
  display: grid;
  grid-template-columns: minmax(0, 0.6fr) minmax(0, 0.8fr);
  gap: 32px;
}
@media (max-width: 992px) {
  .premium-broker {
    grid-template-columns: 1fr;
  }
}

.premium-broker__details p {
  margin: 4px 0;
}

.premium-contact-card {
  background: #111;
  color: #fff;
}

.premium-contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
}

.premium-contact-grid label {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.8;
}

.premium-contact-grid input,
.premium-contact-grid textarea {
  width: 100%;
  border-radius: 10px;
  border: none;
  padding: 12px;
  font-size: 15px;
}

.premium-contact-grid button {
  grid-column: 1/-1;
  border-radius: 999px;
  border: none;
  padding: 12px 20px;
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  font-weight: 600;
}

.premium-building .js-lazy-map.is-loading {
  filter: blur(12px);
  transform: scale(1.02);
  transition: filter 200ms ease, transform 200ms ease;
  background-color: #f4f4f4;
}

.premium-building-hero {
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  height: var(--premium-hero-height);
  min-height: var(--premium-hero-min-height);
  color: #fff;
  overflow: hidden;
  background: #111;
}

.premium-building-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: saturate(1.02);
  transform: scale(1.01);
}

.premium-building-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.4) 40%, rgba(0, 0, 0, 0.15) 70%, rgba(0, 0, 0, 0) 100%);
}

.premium-building-hero__container {
  position: relative;
  z-index: 2;
  max-width: 1440px;
  margin: 0 auto;
  height: 100%;
  padding: 64px;
  display: flex;
  align-items: flex-end;
}
@media (max-width: 768px) {
  .premium-building-hero__container {
    padding: 28px 20px;
  }
}

.premium-building-hero__content {
  max-width: 720px;
}

.premium-building-hero__eyebrow {
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.92;
  margin: 0 0 14px 0;
}

.premium-building-hero__title {
  font-family: "Gelasio", serif;
  font-size: 56px;
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin: 0 0 18px 0;
}
@media (max-width: 768px) {
  .premium-building-hero__title {
    font-size: 34px;
  }
}

.premium-building-hero__subtitle {
  font-family: "Inter", sans-serif;
  font-size: 18px;
  line-height: 1.5;
  opacity: 0.92;
  margin: 0;
}
@media (max-width: 768px) {
  .premium-building-hero__subtitle {
    font-size: 16px;
  }
}

.premium-section {
  padding: 80px 0;
}
@media (max-width: 768px) {
  .premium-section {
    padding: 44px 0;
  }
}

.premium-section__container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 64px;
}
@media (max-width: 768px) {
  .premium-section__container {
    padding: 0 20px;
  }
}

.premium-section__title {
  font-family: "Gelasio", serif;
  font-size: 38px;
  font-weight: 400;
  line-height: 1.2;
  margin: 0 0 28px 0;
  color: #000;
}
@media (max-width: 768px) {
  .premium-section__title {
    font-size: 28px;
    margin-bottom: 18px;
  }
}

.premium-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 40px;
  align-items: start;
}
@media (max-width: 992px) {
  .premium-intro {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.premium-intro__body {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #111;
}

.premium-intro__body p {
  margin: 0 0 14px 0;
}

.premium-intro__bullets {
  margin: 18px 0 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 20px;
}
@media (max-width: 768px) {
  .premium-intro__bullets {
    grid-template-columns: 1fr;
  }
}

.premium-intro__bullets li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: #111;
}

.premium-intro__bullets-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  margin-top: 2px;
}

.premium-card {
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

.premium-video {
  aspect-ratio: 16/9;
  width: 100%;
  background: #0f0f10;
}

.premium-video iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.premium-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 992px) {
  .premium-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
  .premium-facts {
    grid-template-columns: 1fr;
  }
}

.premium-fact {
  border: 1px solid #ededed;
  border-radius: 12px;
  padding: 18px;
  background: #fff;
}

.premium-fact__label {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #6b7280;
  margin: 0 0 8px 0;
}

.premium-fact__value {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  color: #111;
  margin: 0;
}

.premium-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
@media (max-width: 992px) {
  .premium-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
  .premium-feature-grid {
    grid-template-columns: 1fr;
  }
}

.premium-feature {
  border: 1px solid #ededed;
  border-radius: 12px;
  padding: 18px;
  background: #fff;
}

.premium-feature__title {
  font-family: "Inter", sans-serif;
  font-size: 15px;
  font-weight: 800;
  margin: 0 0 6px 0;
  color: #111;
}

.premium-feature__text {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  color: #4b5563;
}

.premium-availability .available-units-stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
@media (max-width: 992px) {
  .premium-availability .available-units-stack {
    grid-template-columns: 1fr;
  }
}

.premium-availability .available-unit-card {
  border: 1px solid #ededed;
  border-radius: 12px;
  padding: 12px;
  background: #fff;
}

.premium-location {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.6fr);
  gap: 24px;
}
@media (max-width: 992px) {
  .premium-location {
    grid-template-columns: 1fr;
  }
}

.premium-building .property-map-container {
  width: 100%;
  height: 400px;
  border-radius: 12px;
  overflow: hidden;
  background-color: #f0f0f0;
}

.premium-building .property-map-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.premium-location__address {
  font-family: "Inter", sans-serif;
  font-size: 15px;
  line-height: 1.5;
  color: #111;
}

.premium-location__address strong {
  font-weight: 800;
}
.enquiry-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: var(--space-md);
}
@supports (display: grid) {
  .enquiry-modal-overlay {
    transition: opacity 0.3s ease-in-out;
  }
}
.enquiry-modal-overlay[style*="display: none"] {
  opacity: 0;
  pointer-events: none;
}

.enquiry-modal {
  background: var(--color-white);
  border-radius: var(--radius-lg);
  max-width: 560px;
  width: 100%;
  max-height: calc(100vh - var(--space-2xl) * 2);
  overflow-y: auto;
  box-shadow: var(--shadow-xl);
  position: relative;
  animation: slideUp 0.3s ease-out;
}
@media (max-width: 640px) {
  .enquiry-modal {
    max-width: calc(100vw - var(--space-lg) * 2);
    max-height: calc(100vh - var(--space-lg) * 2);
  }
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.enquiry-modal__close {
  position: absolute;
  top: var(--space-md);
  right: var(--space-md);
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 8px;
  width: 40px;
  height: 40px;
  color: var(--color-gray-400);
  transition: all 0.2s ease;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.enquiry-modal__close:hover {
  background: var(--color-gray-100);
  color: var(--color-gray-600);
}
.enquiry-modal__close svg {
  width: 24px;
  height: 24px;
  display: block;
}

.enquiry-modal__content {
  padding: 0;
}
@media (max-width: 640px) {
  .enquiry-modal__content {
    padding: 0;
  }
}

.enquiry-modal__title {
  display: none;
}

@media (max-width: 768px) {
  .col-md-3 {
    display: none;
  }
  .col-md-9 {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .enquiry {
    margin-top: 32px;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 8px;
  }
}
body.staff-profile-page {
  background: var(--color-hero-background, #f4f2ef);
  color: var(--color-black);
}
body.staff-profile-page .sp-hero {
  position: relative;
  overflow: hidden;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  background: var(--color-gray-200);
}
body.staff-profile-page .sp-hero__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 72px 24px 64px;
  display: grid;
  grid-template-columns: 196px minmax(0, 1fr);
  gap: 32px;
  align-items: start;
}
body.staff-profile-page .sp-hero__image {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 12px;
  overflow: hidden;
  background: var(--color-gray-300);
  border: none;
  box-shadow: none;
}
body.staff-profile-page .sp-hero__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center top;
}
body.staff-profile-page .sp-hero__image-placeholder {
  width: 100%;
  height: 100%;
  background: var(--color-gray-300);
}
body.staff-profile-page .sp-hero__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 720px;
}
body.staff-profile-page .sp-hero__title-wrapper {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
body.staff-profile-page .sp-hero__name {
  margin: 0;
  font-family: "Gelasio", var(--font-heading);
  font-size: 44px;
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--color-black);
}
body.staff-profile-page .sp-hero__metadata {
  margin: 0;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--color-accent);
}
body.staff-profile-page .sp-hero__summary {
  margin: 0;
  max-width: 620px;
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-gray-600);
}
body.staff-profile-page .sp-hero__specs {
  gap: 24px 32px;
  padding: 8px 0 0;
}
body.staff-profile-page .sp-hero__specs .search-result-card__spec-column {
  gap: 2px;
}
body.staff-profile-page .sp-hero__specs .search-result-card__spec-label {
  color: var(--color-gray-500);
}
body.staff-profile-page .sp-hero__specs .search-result-card__spec-value {
  text-decoration: none;
  white-space: normal;
}
body.staff-profile-page .sp-hero__specs a.search-result-card__spec-value {
  transition: color 0.2s ease;
}
body.staff-profile-page .sp-hero__specs a.search-result-card__spec-value:hover {
  color: var(--color-accent);
}
body.staff-profile-page .sp-hero__cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 6px;
}
body.staff-profile-page .sp-layout {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  padding: 24px 24px 96px;
}
body.staff-profile-page .sp-layout::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: var(--color-white);
  z-index: -1;
}
body.staff-profile-page .sp-layout__topbar {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 64px;
}
body.staff-profile-page .sp-layout__topbar .search-results-header__breadcrumbs {
  margin: 0;
  max-width: none;
  justify-content: flex-start;
}
body.staff-profile-page .sp-layout__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 32px;
  align-items: start;
}
body.staff-profile-page .sp-main {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
body.staff-profile-page .sp-panel {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 32px;
}
body.staff-profile-page .sp-panel__header {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 20px;
}
body.staff-profile-page .sp-panel__eyebrow {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #bf2842;
}
body.staff-profile-page .sp-panel__title {
  margin: 0;
  font-family: "Gelasio", var(--font-heading);
  font-size: 30px;
  font-weight: 400;
  line-height: 1.18;
  color: #111111;
}
body.staff-profile-page .sp-richtext {
  color: #4b5563;
  font-size: 16px;
  line-height: 1.9;
}
body.staff-profile-page .sp-richtext p {
  margin: 0 0 18px;
}
body.staff-profile-page .sp-richtext p:last-child {
  margin-bottom: 0;
}
body.staff-profile-page .sp-panel--quote {
  background: linear-gradient(180deg, #ffffff, #fff8f8);
}
body.staff-profile-page .sp-main .sp-panel {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0 0 40px;
  border-bottom: 1px solid #e5e7eb;
}
body.staff-profile-page .sp-main .sp-panel:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
body.staff-profile-page .sp-main .sp-panel--quote {
  background: transparent;
}
body.staff-profile-page .sp-quote {
  margin: 0;
  padding-left: 24px;
  position: relative;
  font-family: "Gelasio", var(--font-heading);
  font-size: 28px;
  line-height: 1.5;
  color: #111111;
}
body.staff-profile-page .sp-quote::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 4px;
  border-radius: 999px;
  background: #bf2842;
}
body.staff-profile-page .sp-clients-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 16px;
}
body.staff-profile-page .sp-client-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 96px;
  padding: 18px;
  border-radius: 12px;
  border: 1px solid #eceff3;
  background: #ffffff;
}
body.staff-profile-page .sp-clients__logo {
  max-width: 100%;
  max-height: 44px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.58;
  transition: filter 0.2s ease, opacity 0.2s ease;
}
body.staff-profile-page .sp-clients__logo:hover {
  filter: grayscale(0);
  opacity: 1;
}
body.staff-profile-page .sp-sidebar {
  position: sticky;
  top: 96px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
body.staff-profile-page .sp-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
body.staff-profile-page .sp-card__eyebrow {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #bf2842;
}
body.staff-profile-page .sp-card--form .contact-form-only {
  background: transparent;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}
body.staff-profile-page .sp-card--form .contact-form-only__header {
  margin-bottom: 20px;
}
body.staff-profile-page .sp-card--form .contact-form-only__title {
  font-size: 30px;
  line-height: 1.15;
}
body.staff-profile-page .sp-card--form .contact-form-only__subtitle {
  font-size: 15px;
  line-height: 1.7;
  color: #6b7280;
}
body.staff-profile-page .sp-card--form .contact-form__row {
  gap: var(--space-xs);
}
body.staff-profile-page .sp-card--form .contact-form__field {
  display: flex;
  flex-direction: column;
}
body.staff-profile-page .sp-card--form .contact-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
body.staff-profile-page .sp-card--form .form-group {
  margin-bottom: 0;
}
body.staff-profile-page .sp-card--form label {
  font-size: 13px;
  font-weight: 500;
  color: #4b5563;
}
body.staff-profile-page .sp-card--form .form-input {
  min-height: 50px;
  border-radius: 10px;
  border: 1px solid #d1d5db;
  background: #ffffff;
  box-shadow: none;
}
body.staff-profile-page .sp-card--form textarea.form-input {
  min-height: 132px;
}
body.staff-profile-page .sp-card--form .form-input:focus {
  border-color: #bf2842;
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.1);
}
body.staff-profile-page .sp-card--form .contact-form__actions {
  padding-top: 8px;
}
@media (max-width: 1100px) {
  body.staff-profile-page .sp-hero__inner {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 24px;
    padding-top: 56px;
  }
  body.staff-profile-page .sp-layout__inner {
    grid-template-columns: 1fr;
  }
  body.staff-profile-page .sp-sidebar {
    position: static;
  }
}
@media (max-width: 767px) {
  body.staff-profile-page .sp-hero__inner {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 40px 16px 36px;
  }
  body.staff-profile-page .sp-hero__image {
    width: min(220px, 100%);
  }
  body.staff-profile-page .sp-hero__name {
    font-size: 34px;
  }
  body.staff-profile-page .sp-hero__summary {
    font-size: 14px;
  }
  body.staff-profile-page .sp-hero__specs {
    gap: 16px 20px;
  }
  body.staff-profile-page .sp-hero__cta-row {
    flex-direction: column;
  }
  body.staff-profile-page .sp-hero__cta-row .btn {
    width: 100%;
  }
  body.staff-profile-page .sp-layout {
    padding: 32px 16px 72px;
  }
  body.staff-profile-page .sp-layout__topbar {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 40px;
  }
  body.staff-profile-page .sp-layout__topbar .search-results-header__breadcrumbs {
    justify-content: flex-start;
  }
  body.staff-profile-page .sp-panel,
  body.staff-profile-page .sp-card {
    padding: 22px 20px;
    border-radius: 14px;
  }
  body.staff-profile-page .sp-main .sp-panel {
    padding: 0 0 32px;
    border-radius: 0;
  }
  body.staff-profile-page .sp-panel__title,
  body.staff-profile-page .sp-card__heading,
  body.staff-profile-page .sp-card--form .contact-form-only__title {
    font-size: 24px;
  }
  body.staff-profile-page .sp-quote {
    font-size: 22px;
    padding-left: 18px;
  }
}
.careers-page .careers-section {
  padding: var(--space-4xl) 0;
}

.careers-page .careers-intro {
  max-width: 768px;
  margin: 0 auto;
  text-align: center;
}

.careers-page .careers-intro__title {
  margin-bottom: var(--space-md);
}

.careers-page .careers-intro__lead {
  margin-bottom: var(--space-lg);
  color: var(--color-text-secondary);
}

.careers-page .careers-intro__note {
  margin-bottom: var(--space-xl);
  font-style: italic;
  color: var(--color-gray-500);
}

.careers-page .careers-actions {
  display: flex;
  gap: var(--space-sm);
  justify-content: center;
  margin-bottom: var(--space-3xl);
}

.careers-page .careers-social {
  display: flex;
  gap: var(--space-md);
  justify-content: center;
  align-items: center;
  padding-top: var(--space-lg);
  border-top: 1px solid var(--color-gray-200);
}

.career-application-page .career-application-section {
  padding: var(--space-5xl) 0;
  background: var(--color-bg-warm);
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
}

.career-application-page .career-form-shell {
  max-width: 720px;
  margin: 0 auto;
}

.career-application-page .career-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

.career-application-page .career-form__progress {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--space-compact);
}

.career-application-page .career-form__progress-step {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: var(--space-sm);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-lg);
  background: var(--color-white);
  text-align: left;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.career-application-page .career-form__progress-step:hover {
  border-color: var(--color-border-ghost);
  background: var(--color-gray-50);
}

.career-application-page .career-form__progress-step.is-active {
  border-color: var(--color-accent);
  background: #fff6f7;
}

.career-application-page .career-form__progress-step.is-complete {
  border-color: var(--color-gray-300);
}

.career-application-page .career-form__progress-index {
  font-size: var(--font-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-accent);
}

.career-application-page .career-form__progress-label {
  font-size: var(--font-sm);
  line-height: 1.4;
  color: var(--color-gray-700);
}

.career-application-page .career-form__steps {
  position: relative;
}

.career-application-page .career-form__step[hidden] {
  display: none !important;
}

.career-application-page .career-form__card {
  background: var(--color-white);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.career-application-page .career-form__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding: var(--space-md);
  background: var(--color-white);
}

.career-application-page .career-form__eyebrow {
  font-family: var(--font-body);
  font-size: var(--font-xs);
  font-weight: 600;
  color: var(--color-accent);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.career-application-page .career-form__section-title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--font-xl);
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-primary);
}

.career-application-page .career-form__section-note {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-sm);
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-gray-500);
}

.career-application-page .career-form__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  margin-top: auto;
  padding-top: var(--space-compact);
  border-top: 1px solid var(--color-border-muted);
  font-family: var(--font-body);
  font-size: var(--font-xs);
  font-weight: 400;
  color: var(--color-gray-400);
}

.career-application-page .career-form__meta-item {
  display: inline-block;
}

.career-application-page .career-form .form-group {
  margin-bottom: 0;
}

.career-application-page .career-form label {
  display: block;
  margin-bottom: var(--space-xs);
  font-size: var(--font-sm);
  font-weight: 500;
  color: var(--color-gray-600);
}

.career-application-page .career-form .form-input,
.career-application-page .career-form .choices__inner {
  min-height: 50px;
  border: 1px solid var(--color-border-ghost);
  border-radius: var(--radius-lg);
  background: var(--color-white);
  box-shadow: none;
}

.career-application-page .career-form .form-input {
  padding: var(--space-compact) var(--space-sm);
  font-size: var(--font-md);
  color: var(--color-gray-700);
}

.career-application-page .career-form .form-input:focus {
  outline: none;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.12);
}

.career-application-page .career-form textarea.form-input {
  min-height: 132px;
  resize: vertical;
}

.career-application-page .career-form .choices {
  margin-bottom: 0;
}

.career-application-page .career-form .choices__inner {
  padding: var(--space-xs) var(--space-compact);
}

.career-application-page .career-form .choices[data-type*=select-one]::after {
  right: var(--space-sm);
}

.career-application-page .career-form__legal {
  margin: 0;
  padding: var(--space-md);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-lg);
  background: var(--color-bg-panel);
  font-size: var(--font-sm);
  line-height: 1.7;
  color: var(--color-text-secondary);
}

.career-application-page .career-form__actions {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin-top: var(--space-sm);
}

.career-application-page .career-form__actions--split {
  justify-content: space-between;
}

.career-application-page .career-form__actions-spacer {
  flex: 1;
}

.career-application-page .career-form__nav-btn {
  min-width: 160px;
}

.career-application-page .career-form__submit {
  min-height: 52px;
  letter-spacing: 0.08em;
  min-width: 220px;
}

.career-application-page #error_explanation {
  padding: var(--space-md);
  border: 1px solid var(--color-error-light);
  border-radius: var(--radius-xl);
  background: var(--color-error-bg);
}

.career-application-page #error_explanation h2 {
  margin: 0 0 var(--space-compact);
  font-size: var(--font-sm);
  font-weight: 600;
  color: var(--color-error-dark);
}

.career-application-page #error_explanation ul {
  margin: 0;
  padding-left: 20px;
}

.career-application-page #error_explanation li {
  margin-bottom: 6px;
  color: var(--color-error-text);
}

@media (max-width: 767px) {
  .careers-page .careers-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .careers-page .careers-social {
    flex-wrap: wrap;
  }
  .career-application-page .career-application-section {
    padding: var(--space-4xl) 0;
  }
  .career-application-page .career-form__progress {
    grid-template-columns: 1fr;
  }
  .career-application-page .career-form__content {
    padding: var(--space-md) var(--space-micro);
  }
  .career-application-page .career-form__actions,
  .career-application-page .career-form__actions--split {
    flex-direction: column;
    align-items: stretch;
  }
  .career-application-page .career-form__nav-btn,
  .career-application-page .career-form__submit {
    width: 100%;
    min-width: 0;
  }
}
.area-guides {
  background: var(--color-white);
  min-height: 100vh;
}

body.area-guides-page {
  background: var(--color-white) !important;
}

.area-guides.area-main {
  padding: var(--space-md) 0;
  min-height: 100vh;
  position: relative;
  z-index: 0;
}
.area-guides.area-main > .container {
  padding-left: 0;
  padding-right: 0;
}
.area-guides.area-main .section,
.area-guides.area-main .blog-post__header,
.area-guides.area-main .property-content {
  background: var(--color-white);
}
.area-guides.area-main > * {
  position: relative;
  z-index: 1;
}

.area-main {
  min-height: 60vh;
  background: var(--color-white);
  padding: var(--space-md) 0;
}
.area-main .search-area__title {
  padding-top: 15px;
  text-align: center;
}
.area-main .enquiry__title {
  padding-top: 0;
  margin-top: 0;
}
.area-main .pagination {
  padding-top: 20px;
}
.area-main .card-y {
  border: 1px solid rgba(128, 128, 128, 0.3);
  min-height: 100%;
}
.area-main .card-y h4, .area-main .card-y p {
  margin: 0;
}
.area-main .card-y, .area-main .card-y__content {
  display: flex;
  flex-direction: column;
}
.area-main .card-y__img {
  position: relative;
  padding-bottom: 50%;
}
.area-main .card-y__img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.area-main .card-y__content {
  gap: 0.8rem;
  text-align: center;
  padding: 1.2rem;
}
.area-main .card-y__text {
  flex-grow: 1;
}
.area-main .bg-info {
  padding: 15px;
}
.area-main .form label, .area-main .form input {
  width: 100%;
  height: 100%;
  margin: 0;
}
.area-main .form input, .area-main .form select {
  height: 4rem;
}
.area-main .form label span.label-text {
  margin-bottom: 0.4rem;
  display: block;
}
.area-main .dynamic-selects {
  justify-content: center;
}
.area-main .divider {
  margin: 1.5rem 0;
  height: 1px;
  background: rgba(128, 128, 128, 0.15);
}
.area-main img {
  display: block;
  width: 100%;
}
.area-main a {
  text-decoration: none;
}
.area-main .cover-img {
  position: relative;
  padding-bottom: 50%;
  min-height: 100%;
  overflow: hidden;
}
.area-main .cover-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.area-main .section:not(:first-child) {
  margin-top: 6rem;
}
@media (max-width: 767px) {
  .area-main .section:not(:first-child) {
    margin-top: 5rem;
  }
}
.area-main .social-links, .area-main .list-inline-ico {
  list-style: none;
  margin: 0;
  padding: 0;
}
.area-main h1 {
  margin: 0;
}
.area-main .content h2, .area-main .content h3, .area-main .content h4, .area-main .content h5, .area-main .content h6 {
  margin-top: 2rem;
  margin-bottom: 1rem;
}
.area-main .content h2:first-child, .area-main .content h3:first-child, .area-main .content h4:first-child, .area-main .content h5:first-child, .area-main .content h6:first-child {
  margin-top: 0;
}
.area-main .content p {
  margin: 0;
}
.area-main .content p:not(:first-child) {
  margin-top: 0.8rem;
}
.area-main .content ul,
.area-main .content ol {
  margin: var(--space-md) 0;
  padding-left: 40px;
}
.area-main .content ul li,
.area-main .content ol li {
  margin-bottom: 8px;
  line-height: 1.8;
}
.area-main .content ul li:last-child,
.area-main .content ol li:last-child {
  margin-bottom: 0;
}
.area-main .content img {
  border-radius: 8px;
  overflow: hidden;
  margin: var(--space-4xl, 4rem) 0;
}
.area-main .cta-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
}
.area-main .list-info li a {
  background: var(--color-primary-dark);
  color: white;
  padding: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  text-align: center;
}
.area-main .social-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}
.area-main .social-links li a {
  font-size: 1.8rem;
}
.area-main .row.flex {
  display: flex;
  flex-wrap: wrap;
  margin: -10px -15px;
}
.area-main .row.flex [class*=col-] {
  padding: 10px 15px;
}
.area-main .unit-details {
  display: flex;
  flex-wrap: wrap;
  min-height: 100%;
  margin: 0;
}
@media (max-width: 767px) {
  .area-main .unit-details > div {
    width: 100%;
  }
}
.area-main .unit-details__img {
  width: 50%;
  flex-shrink: 0;
}
.area-main .unit-details__info {
  width: 50%;
  padding-left: 1rem;
}
@media (max-width: 767px) {
  .area-main .unit-details__info {
    padding: 1rem 0 0;
  }
}
.area-main .unit-details__facilities {
  width: 100%;
  margin-top: 1rem;
}
.area-main .unit-details:hover h3 {
  color: var(--color-accent);
}
.area-main .facilities {
  display: flex;
  align-items: center;
}
.area-main .facilities h4 {
  margin: 0 0.8rem 0 0;
  padding: 0;
}
.area-main .list-inline-ico {
  gap: 0 0.4rem;
  flex-wrap: wrap;
}
.area-main .list-inline-ico, .area-main .list-inline-ico li {
  display: flex;
  align-items: center;
  color: var(--color-primary-dark);
}
.area-main .list-inline-ico img {
  margin: -1rem 0;
  width: 2.3rem;
  height: 2.3rem;
}
.area-main .item-y {
  display: flex;
  color: var(--color-primary-dark);
}
.area-main .item-y__img {
  width: 50%;
  flex-shrink: 0;
  padding-bottom: 35%;
  min-height: 100%;
}
.area-main .item-y__content {
  padding: 1rem;
  background: rgba(128, 128, 128, 0.05);
}
.area-main .item-y:hover {
  color: var(--color-accent);
}
.area-main .video-box {
  position: relative;
  padding-bottom: 56.25%;
}
.area-main .video-box iframe {
  border: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.area-main .galleria-container {
  background: white;
}

.area-guide-metrics {
  margin-bottom: var(--space-2xl);
}
.area-guide-metrics__title {
  font-family: var(--font-heading);
  font-size: var(--font-2xl);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.28px;
  margin: 0 0 var(--space-lg) 0;
  color: var(--color-black);
}
.area-guide-metrics__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--space-md);
}
.area-guide-metrics__card {
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-xl);
  padding: var(--space-md);
  background: var(--color-white);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.area-guide-metrics__label {
  font-family: var(--font-body);
  font-size: var(--font-xs);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: var(--color-gray-500);
  text-transform: uppercase;
}
.area-guide-metrics__value {
  font-family: var(--font-body);
  font-size: var(--font-2xl);
  font-weight: 600;
  line-height: 1.3;
  color: var(--color-black);
}
.area-guide-metrics__sample {
  font-family: var(--font-body);
  font-size: var(--font-xs);
  font-weight: 400;
  line-height: 1.4;
  color: var(--color-gray-400);
}
@media (max-width: 768px) {
  .area-guide-metrics__title {
    font-size: var(--font-xl);
    margin-bottom: var(--space-md);
  }
  .area-guide-metrics__grid {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }
  .area-guide-metrics__card {
    padding: 20px;
  }
  .area-guide-metrics__value {
    font-size: var(--font-xl);
  }
}

.area-guide-pricing-section {
  margin-bottom: var(--space-2xl);
}
.area-guide-pricing-section__title {
  font-family: var(--font-heading);
  font-size: var(--font-2xl);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.28px;
  margin: 0 0 var(--space-lg) 0;
  color: var(--color-black);
}
@media (max-width: 768px) {
  .area-guide-pricing-section__title {
    font-size: var(--font-xl);
    margin-bottom: var(--space-md);
  }
}

.area-guide-pricing-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-body);
}
.area-guide-pricing-table thead {
  background-color: var(--color-gray-50);
}
.area-guide-pricing-table th {
  text-align: left;
  font-size: var(--font-xs);
  font-weight: 500;
  color: var(--color-gray-500);
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: var(--space-xs);
  border-bottom: 1px solid var(--color-gray-200);
}
.area-guide-pricing-table td {
  font-size: var(--font-md);
  font-weight: 600;
  color: var(--color-black);
  padding: var(--space-xs);
  border-bottom: 1px solid var(--color-gray-100);
}
.area-guide-pricing-table tr:last-child td,
.area-guide-pricing-table tr:last-child th {
  border-bottom: none;
}
.area-guide-pricing-table tr:hover {
  background-color: var(--color-gray-50);
}
@media (max-width: 768px) {
  .area-guide-pricing-table th {
    font-size: var(--font-xs);
    padding: 10px;
  }
  .area-guide-pricing-table td {
    font-size: var(--font-sm);
    padding: 10px;
  }
}

.multi-columns,
.hub-columns,
.columns-2 {
  margin: 0;
  padding: 0;
  column-gap: 2rem;
  column-count: 1;
}
@media (min-width: 768px) {
  .multi-columns,
  .hub-columns,
  .columns-2 {
    column-count: 2;
  }
}
@media (min-width: 992px) {
  .multi-columns,
  .hub-columns,
  .columns-2 {
    column-count: 3;
  }
}
@media (min-width: 1200px) {
  .multi-columns,
  .hub-columns,
  .columns-2 {
    column-count: 4;
  }
}
.multi-columns li,
.hub-columns li,
.columns-2 li {
  list-style: none;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  margin: 0.25rem 0;
}

.columns-2 {
  column-count: 2;
}
@media (min-width: 768px) {
  .columns-2 {
    column-count: 2;
  }
}
@media (min-width: 992px) {
  .columns-2 {
    column-count: 2;
  }
}
@media (min-width: 1200px) {
  .columns-2 {
    column-count: 2;
  }
}
@media (max-width: 767px) {
  .columns-2 {
    column-count: 1;
  }
}

.hub-group {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  margin: 0 0 1rem 0;
  padding: 0.6rem 0.4rem;
  border-radius: var(--radius-sm);
}
.hub-group h3 {
  font-size: var(--font-md);
  font-weight: 700;
  text-transform: uppercase;
  margin: 0 0 0.4rem 0;
}
.hub-group ul {
  margin: 0;
  padding: 0;
}
.hub-group ul li {
  margin: 0.2rem 0;
}
.hub-group ul a {
  color: var(--color-accent);
}

.area-guides-search {
  margin-top: 2rem;
}

.area-guides-search__form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.area-guides-search__row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  align-items: flex-end;
}
.area-guides-search__row:last-child {
  grid-template-columns: 1fr 1fr auto;
}
@media (max-width: 768px) {
  .area-guides-search__row {
    grid-template-columns: 1fr;
  }
  .area-guides-search__row:last-child {
    grid-template-columns: 1fr;
  }
}

.area-guides-search__field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.area-guides-search__field--grow {
  grid-column: span 2;
}
@media (max-width: 768px) {
  .area-guides-search__field--grow {
    grid-column: span 1;
  }
}
.area-guides-search__field label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-black);
}
.area-guides-search__field select,
.area-guides-search__field input {
  padding: 0.75rem;
  border: 1px solid var(--color-gray-200);
  border-radius: 0.25rem;
  font-size: 0.95rem;
  font-family: var(--font-body);
}
.area-guides-search__field select:disabled,
.area-guides-search__field input:disabled {
  background-color: var(--color-gray-100);
  color: var(--color-gray-400);
  cursor: not-allowed;
}
.area-guides-search__field select:focus,
.area-guides-search__field input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.1);
}

.area-guides-search__submit {
  display: flex;
  align-items: flex-end;
  height: 100%;
}
.area-guides-search__submit .btn {
  height: 100%;
}

.area-guides-se.area-directory {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.alphabet-panel {
  background-color: var(--color-white);
  border-top: 1px solid var(--color-border-muted);
  border-bottom: 1px solid var(--color-border-muted);
  padding: 1.25rem 0;
  position: sticky;
  top: 72px;
  z-index: 5;
}
@media (max-width: 768px) {
  .alphabet-panel {
    position: static;
  }
}
.alphabet-panel__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  justify-content: center;
}
.alphabet-panel__item {
  flex: 0 0 auto;
}
.alphabet-panel__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--radius-full);
  font-size: 1rem;
  font-family: var(--font-heading);
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  color: var(--color-secondary);
  background-color: var(--color-white);
  border: 1px solid var(--color-overlay-soft);
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  text-decoration: none;
}
.alphabet-panel__link:hover, .alphabet-panel__link:focus-visible {
  background-color: var(--color-secondary);
  color: var(--color-white);
  border-color: var(--color-secondary);
}
.alphabet-panel__link--disabled {
  background-color: transparent;
  border-color: var(--color-overlay-soft);
  color: var(--color-text-muted);
  cursor: not-allowed;
}

.area-guide-card {
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0;
  border-radius: 0.25rem;
  background: var(--color-white);
  margin-bottom: var(--space-lg, 1.5rem);
  gap: 1.5rem;
}
.area-guide-card:hover {
  text-decoration: none;
}
.area-guide-card__content {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  width: 100%;
  gap: 1rem;
}
.area-guide-card__left {
  flex: 1;
}
.area-guide-card__title {
  font-size: 1.125rem;
  font-family: var(--font-heading);
  font-weight: 400;
  margin: 0 0 0.5rem 0;
  color: var(--color-black);
}
.area-guide-card__letter {
  font-family: var(--font-heading);
  font-size: var(--font-4xl, 2.5rem);
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-gray-600);
  margin: var(--space-3xl) 0 var(--space-lg);
}
.area-guide-card__metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 0.75rem;
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: var(--color-gray-500);
}
.area-guide-card__metric {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
}
.area-guide-card__metric-label {
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.75rem;
  color: var(--color-text-secondary);
  letter-spacing: 0.05em;
}
.area-guide-card__metric-value {
  font-weight: 600;
  color: var(--color-black);
}
.area-guide-card__metric-sample {
  font-size: 0.75rem;
  color: var(--color-text-muted);
}
.area-guide-card__summary {
  font-size: 0.95rem;
  color: var(--color-gray-500);
  margin: 1rem 0 0.5rem 0;
  line-height: 1.5;
}
.area-guide-card__link {
  display: inline-block;
  margin-top: 1.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-accent);
  text-decoration: none;
  text-transform: capitalize;
  transition: color 0.2s ease;
}
.area-guide-card__link:hover {
  color: var(--color-accent-dark);
  text-decoration: underline;
}
.area-guide-card__right {
  flex-shrink: 0;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .area-guide-card {
    flex-direction: column;
    align-items: flex-start;
  }
  .area-guide-card__content {
    flex-direction: column;
    width: 100%;
  }
  .area-guide-card__right {
    width: 100%;
  }
  .area-guide-card__right .btn {
    width: 100%;
  }
}

.area-guide-content-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
}
@media (min-width: 768px) {
  .area-guide-content-grid {
    grid-template-columns: 1fr 320px;
  }
}
@media (min-width: 1024px) {
  .area-guide-content-grid {
    grid-template-columns: 1fr 380px;
  }
}

.js-lazy-map.is-loading {
  filter: blur(12px);
  transform: scale(1.02);
  transition: filter 200ms ease, transform 200ms ease;
  background-color: var(--color-gray-100);
}

.area-guide-sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
@media (max-width: 768px) {
  .area-guide-sidebar {
    position: static;
  }
}

.area-guide-sidebar .property-contact-card {
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-xl);
  box-shadow: none;
  padding: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.area-guide-sidebar .property-contact-card.enquiry-card h3 {
  margin-top: 0;
}

.area-guide-sidebar .property-contact-card h3 {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: var(--font-lg, 1.125rem);
  font-weight: 600;
  margin: 0;
  color: var(--color-black);
}

.area-guide-sidebar .property-contact-image {
  width: 100%;
  aspect-ratio: 1/1;
  height: auto;
  border-radius: var(--radius-lg);
  background-color: var(--color-gray-100);
  overflow: hidden;
}
.area-guide-sidebar .property-contact-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.area-guide-sidebar .property-contact-name {
  font-family: var(--font-body);
  font-size: var(--font-md);
  font-weight: 600;
  margin: 0;
  color: var(--color-black);
}

.area-guide-sidebar .property-contact-details {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.area-guide-sidebar .property-contact-details p {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-gray-600);
  margin: 0;
  line-height: 1.5;
}
.area-guide-sidebar .property-contact-details p strong {
  font-weight: 600;
  color: var(--color-black);
}
.area-guide-sidebar .property-contact-details p a {
  color: var(--color-accent);
  text-decoration: none;
  font-weight: 500;
}
.area-guide-sidebar .property-contact-details p a:hover {
  text-decoration: underline;
}

.area-guide-sidebar .show-email-link {
  color: var(--color-accent);
  cursor: pointer;
  text-decoration: none;
  font-weight: 500;
}
.area-guide-sidebar .show-email-link:hover {
  text-decoration: underline;
}

.area-guide-sidebar .ob-email a {
  color: var(--color-accent);
  text-decoration: none;
  font-weight: 500;
}
.area-guide-sidebar .ob-email a:hover {
  text-decoration: underline;
}

.area-guide-sidebar .enquiry-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.area-guide-sidebar .enquiry-form .form-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
  margin-bottom: 0;
}
.area-guide-sidebar .enquiry-form .form-group .form-control {
  padding: 10px var(--space-xs);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-gray-600);
}
.area-guide-sidebar .enquiry-form .form-group .form-control::placeholder {
  color: var(--color-gray-400);
}
.area-guide-sidebar .enquiry-form .form-group .form-control:focus {
  outline: none;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.1);
}
.area-guide-sidebar .enquiry-form .enquiry-button {
  padding: var(--space-xs) var(--space-sm);
  margin-top: var(--space-xs);
  font-weight: 600;
  font-size: var(--font-sm);
  border-radius: var(--radius-md);
}

.enquiry-disclaimer {
  font-family: var(--font-body);
  font-size: var(--font-xs);
  color: var(--color-gray-500);
  margin: var(--space-xs) 0 0 0;
  text-align: center;
}

.area-guides__map {
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-xl);
  padding: var(--space-md);
  margin-bottom: var(--space-lg);
}
.area-guides__map img {
  display: block;
  width: 100%;
  border-radius: var(--radius-sm);
}

.area-guide-layout {
  display: flex;
  flex-direction: row;
  gap: var(--space-3xl);
  padding: var(--space-3xl) 0;
  align-items: flex-start;
}

.area-guide-layout__toc {
  width: 200px;
  flex-shrink: 0;
  position: sticky;
  top: 100px;
  align-self: flex-start;
}

.area-guide-layout__main {
  flex: 1;
  min-width: 0;
}

.area-guide-layout__sidebar {
  width: 320px;
  flex-shrink: 0;
  align-self: flex-start;
}

.area-guide-layout__sidebar .property-sidebar__sticky-card {
  position: sticky;
  top: 100px;
  z-index: 5;
}

@media (max-width: 1199px) {
  .area-guide-layout__toc {
    display: none;
  }
}
@media (max-width: 991px) {
  .area-guide-layout {
    flex-direction: column;
    gap: var(--space-xl);
  }
  .area-guide-layout__main,
  .area-guide-layout__sidebar {
    width: 100%;
  }
  .area-guide-layout__sidebar {
    position: static;
  }
  .area-guide-layout__sidebar .property-sidebar__sticky-card {
    position: static;
  }
}
.area-kpi-bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xl);
  padding: var(--space-md) 0;
}
.area-kpi-bar__item {
  min-width: 100px;
}
.area-kpi-bar__value {
  font-family: var(--font-heading);
  font-size: var(--font-2xl);
  font-weight: 500;
  line-height: 1.2;
  color: var(--color-black);
}
.area-kpi-bar__suffix {
  font-size: var(--font-sm);
  font-weight: 400;
  color: var(--color-gray-500);
  margin-left: var(--space-xxs);
}
.area-kpi-bar__label {
  margin-top: var(--space-xxs);
  font-family: var(--font-body);
  font-size: var(--font-xs);
  line-height: 1.4;
  color: var(--color-gray-500);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.area-kpi-bar__sample {
  margin-top: var(--space-xxs);
  font-family: var(--font-body);
  font-size: var(--font-xs);
  color: var(--color-gray-400);
}

.area-map-section {
  margin-bottom: var(--space-3xl);
}
.area-map-section__map {
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-xl);
  overflow: hidden;
  min-height: 450px;
}
.area-map-section__map img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.area-sections {
  margin-bottom: var(--space-3xl);
}

.area-section {
  padding: var(--space-2xl) 0;
  border-bottom: 1px solid var(--color-gray-100);
}
.area-section:last-child {
  border-bottom: none;
}
.area-section__title {
  font-family: var(--font-heading);
  font-size: var(--font-2xl);
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-black);
  margin: 0 0 var(--space-lg);
}
.area-section__images {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
}
.area-section__image {
  border-radius: var(--radius-md);
  overflow: hidden;
}
.area-section__image img {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.area-property-types {
  padding: var(--space-3xl) 0;
  background: var(--color-gray-50);
  border-radius: var(--radius-xl);
  margin-bottom: var(--space-3xl);
}
.area-property-types__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--space-lg);
}

.area-property-type-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-sm);
  padding: var(--space-lg);
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  text-decoration: none;
  transition: border-color 200ms ease, box-shadow 200ms ease;
}
.area-property-type-card:hover {
  border-color: var(--color-accent);
  box-shadow: var(--shadow-md);
}
.area-property-type-card__count {
  display: flex;
  align-items: baseline;
  gap: var(--space-xs);
}
.area-property-type-card__number {
  font-family: var(--font-heading);
  font-size: var(--font-3xl);
  font-weight: 500;
  line-height: 1;
  color: var(--color-black);
}
.area-property-type-card__unit {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-gray-500);
}
.area-property-type-card__label {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  font-weight: 500;
  color: var(--color-gray-600);
}
.area-property-type-card__action {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-accent);
  margin-top: auto;
}

.area-parks-section {
  padding: var(--space-3xl) 0;
  margin-bottom: var(--space-3xl);
}
.area-parks-section__header {
  margin-bottom: var(--space-xl);
}
.area-parks-section__subtitle {
  font-family: var(--font-body);
  font-size: var(--font-md);
  color: var(--color-gray-500);
  margin-top: var(--space-xs);
}
.area-parks-section__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: var(--space-lg);
}

.area-park-card {
  display: flex;
  flex-direction: column;
  padding: var(--space-lg);
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  text-decoration: none;
  transition: border-color 200ms ease, box-shadow 200ms ease;
}
.area-park-card:hover {
  border-color: var(--color-accent);
  box-shadow: var(--shadow-md);
}
.area-park-card__header {
  margin-bottom: var(--space-xs);
}
.area-park-card__type {
  font-family: var(--font-body);
  font-size: var(--font-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-gray-400);
}
.area-park-card__name {
  font-family: var(--font-heading);
  font-size: var(--font-lg);
  font-weight: 500;
  color: var(--color-black);
  margin: 0 0 var(--space-xs);
}
.area-park-card__address {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-gray-500);
  margin: 0 0 var(--space-md);
  line-height: 1.4;
}
.area-park-card__stats {
  display: flex;
  gap: var(--space-lg);
  margin-bottom: var(--space-md);
}
.area-park-card__stat {
  display: flex;
  flex-direction: column;
}
.area-park-card__stat-value {
  font-family: var(--font-heading);
  font-size: var(--font-xl);
  font-weight: 500;
  color: var(--color-black);
  line-height: 1;
}
.area-park-card__stat-label {
  font-family: var(--font-body);
  font-size: var(--font-xs);
  color: var(--color-gray-500);
  margin-top: var(--space-xxs);
}
.area-park-card__cta {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-accent);
  margin-top: auto;
}

.area-sub-areas {
  padding: var(--space-3xl) 0;
  margin-bottom: var(--space-3xl);
}
.area-sub-areas__grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.area-sub-area-card {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-full);
  text-decoration: none;
  font-family: var(--font-body);
  font-size: var(--font-sm);
  color: var(--color-gray-600);
  transition: border-color 200ms ease, background 200ms ease;
}
.area-sub-area-card:hover {
  border-color: var(--color-accent);
  background: rgba(191, 40, 66, 0.05);
}
.area-sub-area-card__name {
  font-weight: 500;
}
.area-sub-area-card__count {
  font-size: var(--font-xs);
  color: var(--color-gray-500);
}

.area-faq {
  padding: var(--space-3xl) 0;
  margin-bottom: var(--space-3xl);
}
.area-faq__accordion {
  border-top: 1px solid var(--color-gray-200);
}
.area-faq__item {
  border-bottom: 1px solid var(--color-gray-200);
}
.area-faq__question {
  margin: 0;
}
.area-faq__question-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  padding: var(--space-lg) 0;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
}
.area-faq__question-text {
  font-family: var(--font-body);
  font-size: var(--font-md);
  font-weight: 500;
  color: var(--color-black);
  flex: 1;
}
.area-faq__icon {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--color-gray-500);
  transition: transform 200ms ease;
}
.area-faq__icon--open {
  transform: rotate(180deg);
}
.area-faq__answer {
  overflow: hidden;
}
.area-faq__answer-content {
  padding: 0 0 var(--space-lg);
  font-family: var(--font-body);
  font-size: var(--font-md);
  line-height: 1.7;
  color: var(--color-gray-500);
}
.area-faq__answer-content p {
  margin: 0 0 var(--space-sm);
}
.area-faq__answer-content p:last-child {
  margin-bottom: 0;
}

.area-toc {
  font-family: var(--font-body);
}
.area-toc__label {
  display: block;
  font-size: var(--font-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-gray-400);
  margin-bottom: var(--space-md);
}
.area-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
}
.area-toc__item--active .area-toc__link {
  color: var(--color-accent);
  font-weight: 500;
}
.area-toc__link {
  display: block;
  padding: 5px var(--space-xs);
  font-size: var(--font-sm);
  line-height: 1.4;
  color: var(--color-gray-500);
  text-decoration: none;
  border-left: 2px solid transparent;
  transition: color 150ms ease, border-color 150ms ease, font-weight 150ms ease;
}
.area-toc__link:hover {
  color: var(--color-black);
  border-left-color: var(--color-black);
}
.area-toc__item--active .area-toc__link {
  border-left-color: var(--color-accent);
}

.area-news {
  padding: var(--space-3xl) 0;
  margin-bottom: var(--space-3xl);
}
.area-news__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--space-lg);
}

.area-news-card {
  display: flex;
  flex-direction: column;
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  text-decoration: none;
  overflow: hidden;
  transition: border-color 200ms ease, box-shadow 200ms ease;
}
.area-news-card:hover {
  border-color: var(--color-accent);
  box-shadow: var(--shadow-md);
}
.area-news-card__image {
  height: 160px;
  overflow: hidden;
}
.area-news-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.area-news-card__body {
  padding: var(--space-md);
  display: flex;
  flex-direction: column;
  flex: 1;
}
.area-news-card__source {
  font-family: var(--font-body);
  font-size: var(--font-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-gray-400);
  margin-bottom: var(--space-xs);
}
.area-news-card__title {
  font-family: var(--font-heading);
  font-size: var(--font-md);
  font-weight: 500;
  line-height: 1.4;
  color: var(--color-black);
  margin: 0 0 var(--space-xs);
}
.area-news-card__summary {
  font-family: var(--font-body);
  font-size: var(--font-sm);
  line-height: 1.6;
  color: var(--color-gray-500);
  margin: 0 0 var(--space-sm);
  flex: 1;
}
.area-news-card__date {
  font-family: var(--font-body);
  font-size: var(--font-xs);
  color: var(--color-gray-400);
  margin-top: auto;
}

.area-guides__cta {
  background: var(--color-gray-50);
  padding: var(--space-3xl) 0;
  margin-top: var(--space-4xl);
}
.area-guides__cta-title {
  font-family: var(--font-heading);
  font-size: var(--font-2xl);
  font-weight: 400;
  color: var(--color-black);
  margin: 0 0 var(--space-sm);
}
.area-guides__cta-description {
  font-family: var(--font-body);
  font-size: var(--font-md);
  color: var(--color-gray-500);
  max-width: 600px;
  margin: 0 auto var(--space-lg);
  line-height: 1.6;
}
[x-cloak] {
  display: none !important;
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  overflow-x: hidden;
  overflow-y: auto;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: var(--space-lg);
}
.modal.fade, .modal.fade.show {
  opacity: 1;
}
.modal.fade .modal-dialog {
  transform: none;
}

.modal-dialog {
  position: relative;
  width: 100%;
  max-width: 800px;
  margin: auto;
  pointer-events: none;
}

.modal-dialog.modal-lg {
  max-width: 900px;
}

.modal-content {
  position: relative;
  pointer-events: all;
  background: var(--color-white, #fff);
  border-radius: var(--radius-lg, 8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.18);
  max-height: calc(100vh - 2 * var(--space-lg, 1.5rem));
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 1999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-lg);
  overflow-y: auto;
  isolation: isolate;
}
.modal-backdrop.fade, .modal-backdrop.fade.show, .modal-backdrop.show {
  opacity: 1;
}

.modal-panel {
  background: var(--color-white);
  border-radius: var(--radius-lg);
  max-width: 560px;
  width: 100%;
  max-height: calc(100vh - var(--space-2xl) * 2);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.18);
}

.modal-panel--sm {
  max-width: 400px;
}

.modal-panel--lg {
  max-width: 720px;
}

.modal-panel--xl {
  max-width: 960px;
}

.modal-panel--full {
  max-width: calc(100vw - var(--space-lg) * 2);
  max-height: calc(100vh - var(--space-lg) * 2);
}

.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-md) var(--space-lg);
  border-bottom: 1px solid var(--color-gray-200);
  flex-shrink: 0;
}

.modal-title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--font-2xl);
  font-weight: 500;
  color: var(--color-black);
}

.modal-close {
  border: none;
  background: transparent;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  padding: var(--space-xs);
  margin: calc(var(--space-xs) * -1);
  color: var(--color-gray-500);
  transition: color 0.2s;
}
.modal-close:hover {
  color: var(--color-black);
}
.modal-close svg {
  width: 24px;
  height: 24px;
}

.modal-body {
  padding: var(--space-lg);
  font-family: var(--font-body);
  font-size: var(--font-md);
  line-height: 1.6;
  overflow-y: auto;
  flex: 1;
}

.modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-sm);
  padding: var(--space-md) var(--space-lg);
  border-top: 1px solid var(--color-gray-200);
  flex-shrink: 0;
}

.modal-footer--left {
  justify-content: flex-start;
}

.modal-footer--center {
  justify-content: center;
}

.modal-footer--between {
  justify-content: space-between;
}

.modal--confirm .modal-panel {
  max-width: 400px;
}
.modal--confirm .modal-body {
  text-align: center;
  padding: var(--space-2xl);
}
.modal--confirm .modal-icon {
  width: 48px;
  height: 48px;
  margin: 0 auto var(--space-md);
}
.modal--confirm .modal-icon--warning {
  color: var(--color-warning);
}
.modal--confirm .modal-icon--error {
  color: var(--color-error);
}
.modal--confirm .modal-icon--success {
  color: var(--color-success);
}
.modal--confirm .modal-icon--info {
  color: var(--color-info);
}

.office-legacy-page {
  max-width: 1200px;
  margin: 0 auto var(--space-lg);
  color: var(--color-gray-700);
  font-family: var(--font-body);
}

.office-legacy-intro {
  border-bottom: 1px solid var(--color-border-muted);
  background: transparent;
  overflow: hidden;
}

.office-legacy-intro-body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-section);
  flex-wrap: wrap;
  padding: var(--space-md) var(--space-lg);
}

.office-legacy-heading {
  flex: 1 1 420px;
  min-width: 0;
}

.office-legacy-eyebrow {
  display: inline-block;
  margin-bottom: var(--space-xs);
  color: var(--color-text-secondary);
  font-size: var(--font-xs);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.office-legacy-intro h1,
.office-legacy-intro h2 {
  margin: 0;
  color: var(--color-gray-700);
  font-size: var(--font-2xl);
  font-weight: 700;
  line-height: 1.1;
}

.office-legacy-intro p {
  max-width: 640px;
  margin: var(--space-micro) 0 0;
  color: var(--color-text-secondary);
  font-size: var(--font-sm);
  line-height: 1.6;
}

.office-legacy-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-compact);
  flex-wrap: wrap;
  margin: var(--space-section) 0 0;
}

.office-legacy-note {
  display: inline-flex;
  align-items: center;
  padding: var(--space-xs) var(--space-compact);
  border-radius: var(--radius-full);
  background: var(--color-surface-muted);
  color: var(--color-gray-600);
  font-size: var(--font-xs);
  font-weight: 700;
}

.office-legacy-actions {
  display: flex;
  align-items: center;
  gap: var(--space-micro);
  flex-wrap: wrap;
}

.office-legacy-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  min-height: 40px;
  padding: var(--space-micro) var(--space-compact);
  border: 1px solid transparent;
  border-radius: var(--radius-xl);
  background: var(--color-primary);
  color: var(--color-white);
  font-size: var(--font-sm);
  font-weight: 600;
  text-decoration: none;
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
}
.office-legacy-button:hover, .office-legacy-button:focus-visible {
  background: var(--color-primary-dark);
  color: var(--color-white);
  text-decoration: none;
}
.office-legacy-button.is-secondary {
  border-color: var(--color-border-ghost);
  background: var(--color-white);
  color: var(--color-gray-600);
}
.office-legacy-button.is-secondary:hover, .office-legacy-button.is-secondary:focus {
  background: var(--color-surface-muted);
  color: var(--color-gray-700);
}

.office-legacy-surface {
  margin-top: var(--space-sm);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-panel);
  background: var(--color-white);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}

.office-legacy-surface-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-sm);
  flex-wrap: wrap;
  padding: var(--space-sm) var(--space-section);
  border-bottom: 1px solid var(--color-border-muted);
  background: var(--color-bg-panel);
}
.office-legacy-surface-header h3 {
  margin: 0;
  color: var(--color-gray-700);
  font-size: var(--font-lg);
  font-weight: 700;
  line-height: 1.2;
}
.office-legacy-surface-header p {
  margin: var(--space-xxs) 0 0;
  color: var(--color-text-secondary);
  font-size: var(--font-sm);
  line-height: 1.5;
}

.office-legacy-surface-body {
  padding: var(--space-section);
}

.office-legacy-grid {
  display: grid;
  grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
  gap: var(--space-sm);
  align-items: start;
}

.office-legacy-sidebar {
  position: sticky;
  top: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-compact);
}

.office-legacy-nav {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding: var(--space-compact);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-panel);
  background: var(--color-white);
  box-shadow: var(--shadow-lg);
}

.office-legacy-nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-micro);
  min-height: 44px;
  padding: var(--space-micro) var(--space-compact);
  border-radius: var(--radius-xl);
  color: var(--color-gray-600);
  font-size: var(--font-sm);
  font-weight: 600;
  text-decoration: none;
  transition: background 120ms ease, color 120ms ease;
}
.office-legacy-nav-link:hover, .office-legacy-nav-link:focus-visible {
  background: var(--color-surface-muted);
  color: var(--color-gray-700);
  text-decoration: none;
}
.office-legacy-nav-link.is-active {
  background: var(--color-gray-900, #111827);
  color: var(--color-white, #fff);
}
.office-legacy-nav-link.is-active .office-legacy-nav-badge {
  background: rgba(255, 255, 255, 0.2);
  color: var(--color-white, #fff);
}

.office-legacy-nav-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  min-height: 24px;
  padding: 0 var(--space-xs);
  border-radius: var(--radius-full);
  background: var(--color-border-muted);
  color: var(--color-gray-700);
  font-size: var(--font-xs);
  font-weight: 700;
}

.office-legacy-stack {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
}

.office-legacy-section {
  scroll-margin-top: 110px;
}

.office-legacy-copy {
  color: var(--color-gray-600);
  font-size: var(--font-sm);
  line-height: 1.6;
}

.office-legacy-list {
  margin: 0;
  padding-left: var(--space-sm);
  color: var(--color-gray-600);
}
.office-legacy-list li + li {
  margin-top: var(--space-micro);
}

.office-legacy-meta {
  display: grid;
  gap: var(--space-compact);
}
.office-legacy-meta p {
  margin: 0;
  color: var(--color-gray-600);
  font-size: var(--font-sm);
  line-height: 1.6;
}
.office-legacy-meta b,
.office-legacy-meta strong {
  color: var(--color-gray-700);
}

.office-legacy-divider {
  margin: var(--space-sm) 0;
  border: 0;
  border-top: 1px solid var(--color-border-muted);
}

.office-legacy-media {
  display: grid;
  grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
  gap: var(--space-section);
  align-items: start;
}
.office-legacy-media img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-panel);
  display: block;
}

.office-legacy-panel {
  padding: var(--space-sm);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-panel);
  background: var(--color-bg-panel);
}

.office-legacy-status {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  color: var(--color-gray-700);
  font-size: var(--font-sm);
  font-weight: 700;
}

.office-legacy-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: var(--space-xxs) var(--space-micro);
  border-radius: var(--radius-full);
  background: var(--color-border-muted);
  color: var(--color-gray-700);
  font-size: var(--font-xs);
  font-weight: 700;
}
.office-legacy-status-pill.is-success {
  background: rgba(16, 185, 129, 0.15);
  color: var(--color-success);
}
.office-legacy-status-pill.is-primary {
  background: var(--color-bg-light);
  color: var(--color-accent);
}
.office-legacy-status-pill.is-secondary {
  background: var(--color-surface-muted);
  color: var(--color-gray-600);
}

.office-legacy-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  min-height: 28px;
  padding: 0 var(--space-xs);
  border-radius: var(--radius-full);
  background: var(--color-surface-muted);
  color: var(--color-gray-700);
  font-size: var(--font-xs);
  font-weight: 700;
}

.office-legacy-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
}
.office-legacy-table thead th {
  padding: var(--space-compact) 16px;
  border-bottom: 1px solid var(--color-border-muted);
  background: var(--color-surface-muted);
  color: var(--color-text-secondary);
  font-size: var(--font-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: left;
  text-transform: uppercase;
  white-space: nowrap;
}
.office-legacy-table tbody td {
  padding: var(--space-sm);
  border-bottom: 1px solid var(--color-border-muted);
  color: var(--color-gray-700);
  font-size: var(--font-sm);
  line-height: 1.5;
  vertical-align: top;
}
.office-legacy-table tbody tr:last-child td {
  border-bottom: 0;
}
.office-legacy-table tbody tr:hover td {
  background: var(--color-bg-light);
}

.office-legacy-table-link {
  color: var(--color-accent);
  font-weight: 600;
  text-decoration: none;
}
.office-legacy-table-link:hover, .office-legacy-table-link:focus {
  color: var(--color-accent-dark);
  text-decoration: underline;
}

.office-legacy-detail-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
}
.office-legacy-detail-table th,
.office-legacy-detail-table td {
  padding: var(--space-sm);
  border-bottom: 1px solid var(--color-border-muted);
  vertical-align: top;
}
.office-legacy-detail-table th {
  width: 220px;
  color: var(--color-text-secondary);
  font-size: var(--font-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.office-legacy-detail-table td {
  color: var(--color-gray-700);
  font-size: var(--font-sm);
  line-height: 1.6;
}
.office-legacy-detail-table tr:last-child th,
.office-legacy-detail-table tr:last-child td {
  border-bottom: 0;
}

.office-legacy-action-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-xs);
  flex-wrap: wrap;
  margin-bottom: var(--space-sm);
}

.office-legacy-map {
  min-height: 320px;
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-panel);
  overflow: hidden;
}

.office-legacy-related-stack {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.office-legacy-related-group h4,
.office-legacy-copy h4 {
  margin: 0 0 var(--space-xs);
  color: var(--color-gray-700);
  font-size: var(--font-sm);
  font-weight: 700;
}

.office-legacy-copy p {
  margin: 0 0 var(--space-xs);
}

.office-legacy-image {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-panel);
  display: block;
}

.office-legacy-image-frame {
  display: inline-block;
  max-width: 420px;
}

.office-legacy-surface .dataTables_wrapper {
  color: var(--color-gray-600);
}

.office-legacy-surface .dataTables_filter input,
.office-legacy-surface .dataTables_length select,
.office-legacy-form-shell .form-control,
.office-legacy-form-shell select,
.office-legacy-form-shell textarea {
  min-height: 44px;
  border: 1px solid var(--color-border-ghost);
  border-radius: var(--radius-soft);
  padding: var(--space-xs) var(--space-compact);
  background: var(--color-white);
  box-shadow: none;
  color: var(--color-gray-600);
}

.office-legacy-form-shell textarea {
  min-height: 120px;
}

.office-legacy-form-shell label {
  color: var(--color-gray-600);
  font-size: var(--font-sm);
  font-weight: 600;
}

.office-legacy-form-shell .panel {
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-soft);
  box-shadow: none;
}

.office-legacy-form-shell .panel-body {
  padding: var(--space-sm);
}

.office-legacy-form-shell .message.errormsg,
.office-legacy-form-shell #error_explanation {
  margin-bottom: var(--space-sm);
  padding: var(--space-compact) 16px;
  border: 1px solid var(--color-error-light);
  border-radius: var(--radius-xl);
  background: var(--color-error-bg);
  color: var(--color-error-dark);
}

.office-legacy-form-shell .actions {
  margin-top: var(--space-section);
}
.office-legacy-form-shell .actions .btn,
.office-legacy-form-shell .actions input[type=submit] {
  min-height: 44px;
  padding: var(--space-micro) var(--space-sm);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-xl);
  background: var(--color-primary);
  color: var(--color-white);
  font-size: var(--font-sm);
  font-weight: 600;
  box-shadow: none;
}

.office-legacy-page a:focus-visible,
.office-legacy-page button:focus-visible,
.office-legacy-page input:focus-visible,
.office-legacy-page select:focus-visible,
.office-legacy-page textarea:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15);
}

.office-building-form .row {
  margin-left: calc(var(--space-micro) * -1);
  margin-right: calc(var(--space-micro) * -1);
}

.office-building-form .col-md-6,
.office-building-form .col-lg-6,
.office-building-form .col-lg-12 {
  padding-left: var(--space-micro);
  padding-right: var(--space-micro);
}

.office-building-form .form-group {
  margin-bottom: var(--space-sm);
}

.office-building-form__section {
  padding: var(--space-md) 0;
  border-bottom: 1px solid var(--color-border-muted);
}
.office-building-form__section:last-of-type {
  border-bottom: 0;
}

.office-building-form__section-header {
  margin-bottom: var(--space-sm);
}
.office-building-form__section-header h4 {
  margin: 0;
  color: var(--color-gray-700);
  font-size: var(--font-md);
  font-weight: 700;
}
.office-building-form__section-header p {
  margin: var(--space-micro) 0 0;
  color: var(--color-text-secondary);
  font-size: var(--font-sm);
  line-height: 1.4;
}

.office-building-form__checkbox-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: var(--space-xs) var(--space-sm);
}

.office-building-form__checkbox-item {
  display: flex;
  align-items: center;
  gap: var(--space-micro);
}
.office-building-form__checkbox-item label {
  margin-bottom: 0;
  font-weight: 500;
}

.office-building-form__map-wrapper {
  margin-top: var(--space-xs);
}
.office-building-form__map-wrapper #map_canvas {
  min-height: 260px;
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-soft);
  overflow: hidden;
}

.office-building-form__secondary-action {
  margin-bottom: var(--space-sm);
}

.office-building-form__actions {
  padding-top: var(--space-md);
  display: flex;
  justify-content: flex-end;
}
.office-building-form__actions .actions {
  margin-top: 0;
  text-align: right;
}

.office-building-form .form_bottom {
  margin-top: var(--space-lg);
}

.office-building-form .sub_building {
  padding: var(--space-sm);
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-panel);
  background: var(--color-white);
}

.office-building-form .panel {
  border: 1px solid var(--color-border-muted);
  border-radius: var(--radius-soft);
  box-shadow: none;
  overflow: hidden;
}

.office-building-form .panel-heading {
  padding: var(--space-compact) 16px;
  background: var(--color-surface-muted);
}

.office-building-form .panel-body {
  padding: var(--space-sm);
}

.office-building-form .unit_add {
  display: inline-block;
  margin-top: var(--space-compact);
  color: var(--color-accent);
  font-weight: 600;
}

.office-building-form .unit-thumbnail {
  max-width: 75px;
}

.office-building-form .modal-form {
  width: 100%;
}

.office-building-form .modal-notes {
  width: 100%;
  max-width: 100%;
  min-height: 6em;
}

@media (max-width: 991px) {
  .office-legacy-intro-body,
  .office-legacy-surface-body,
  .office-legacy-surface-header {
    padding-left: var(--space-sm);
    padding-right: var(--space-sm);
  }
  .office-legacy-actions,
  .office-legacy-button {
    width: 100%;
  }
  .office-legacy-grid,
  .office-legacy-media {
    grid-template-columns: minmax(0, 1fr);
  }
  .office-legacy-sidebar {
    position: static;
  }
  .office-building-form .actions {
    text-align: left;
  }
}
.no-gutters {
  padding: 0;
}

.frontend-layout .container {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  width: auto !important;
}
@media (max-width: 767px) {
  .frontend-layout .container {
    padding-left: 12px;
    padding-right: 12px;
  }
}

.frontend-layout #main_container {
  overflow: visible;
}

body.area-guides-page #main_container,
body.area-guides-page .container {
  background: #ffffff !important;
}

@media (min-width: 768px) {
  .frontend-layout .container {
    width: auto !important;
  }
}
@media (min-width: 992px) {
  .frontend-layout .container {
    width: auto !important;
  }
}
@media (min-width: 1200px) {
  .frontend-layout .container {
    width: auto !important;
  }
}
@media (max-width: 991px) {
  .frontend-layout .container .row,
  .frontend-layout .container-fluid .row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
  }
  .frontend-layout .container .row > [class*=col-md-],
  .frontend-layout .container .row > [class*=col-lg-],
  .frontend-layout .container-fluid .row > [class*=col-md-],
  .frontend-layout .container-fluid .row > [class*=col-lg-] {
    width: 100% !important;
    float: none !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}
@media (max-width: 767px) {
  .frontend-layout .container .row,
  .frontend-layout .container-fluid .row {
    gap: var(--space-lg, 24px);
  }
  .frontend-layout .container .row > [class*=col-],
  .frontend-layout .container .row > [class*=col-xs-],
  .frontend-layout .container .row > [class*=col-sm-],
  .frontend-layout .container .row > [class*=col-md-],
  .frontend-layout .container .row > [class*=col-lg-],
  .frontend-layout .container-fluid .row > [class*=col-],
  .frontend-layout .container-fluid .row > [class*=col-xs-],
  .frontend-layout .container-fluid .row > [class*=col-sm-],
  .frontend-layout .container-fluid .row > [class*=col-md-],
  .frontend-layout .container-fluid .row > [class*=col-lg-] {
    width: 100% !important;
    float: none !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-left: 0;
    padding-right: 0;
  }
  .frontend-layout .container .unit-price,
  .frontend-layout .container-fluid .unit-price {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm, 8px);
  }
  .frontend-layout .container .unit-price .pull-left,
  .frontend-layout .container .unit-price .pull-right,
  .frontend-layout .container-fluid .unit-price .pull-left,
  .frontend-layout .container-fluid .unit-price .pull-right {
    float: none !important;
    text-align: left;
    width: 100%;
  }
}
.hero__content {
  margin-bottom: var(--space-xl);
}

.region-mega--full-bleed {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
}

.investment-item {
  height: 270px;
  margin-bottom: 10px;
  cursor: pointer;
  min-height: 270px;
}

.investment-item#green_park {
  background: url(/images/investments/greenpark_banner.jpg);
  background-size: cover;
}

.investment-item#illovo {
  background: url(/images/investments/illovo_banner.jpg);
  background-size: cover;
}

.investment-container {
  background-color: #000;
  color: #fff;
}
.investment-container h2 {
  margin-bottom: 20px;
  font-size: 24px;
}

.investment-info {
  background-color: rgba(255, 255, 255, 0.85);
  height: 204px;
}
.investment-info p:first-of-type {
  margin-top: 25px;
}
.investment-info p {
  color: black;
  font-size: 15px;
  margin-top: 20px;
}
.investment-info img {
  height: 25px;
  width: 25px;
  margin-right: 10px;
  margin-top: -5px;
}

.cta-detail {
  float: right;
  width: 300px;
  height: 263px;
}
.cta-detail .btn-primary {
  float: right;
  margin-right: -9px;
}
.cta-detail .unit-footer {
  border-radius: 4px 1px 1px 1px;
}

@media only screen and (max-width: 991px) {
  .investment-container {
    height: 50px;
  }
  .investment-container h3 {
    font-size: 20px;
    margin-top: 15px;
  }
}
@media only screen and (max-width: 402px) {
  .investment-container h3 {
    font-size: 15px;
    margin-top: 18px;
  }
}
@media only screen and (max-width: 457px) {
  .investments-tab {
    width: 100%;
    border-top: 1px solid gray;
  }
}
@media only screen and (max-width: 991px) {
  .investment-info {
    width: 280px;
    height: 289px;
    margin-top: -5px;
  }
  .investment-info p {
    font-size: 14px;
  }
}
@media only screen and (max-width: 580px) {
  .investment-info {
    width: 180px;
  }
  .investment-info img {
    height: 25px;
    width: 25px;
  }
  .investment-info p {
    font-size: 11px;
  }
  .investment-info p.responsive-smaller {
    font-size: 9px;
  }
}
@media only screen and (max-width: 479px) {
  .investment-info {
    height: 270px;
    margin-top: -2px;
  }
  .investment-container h3 {
    font-size: 16px;
  }
  .investment-item .cta-detail {
    width: 100%;
  }
}
@media only screen and (max-width: 390px) {
  .investment-container h3 {
    font-size: 13px;
  }
}
.slider {
  height: 100px;
  margin: auto;
  overflow: hidden;
  position: relative;
  width: auto;
}
.slider .slide-track {
  display: flex;
  width: auto;
}
.slider .slide {
  max-height: 100px;
  min-width: 300px;
  padding-right: 15px;
  display: flex;
}
.slider .slide img {
  max-width: 300px;
  max-height: 100px;
  margin: auto;
}

.gallery-swiper {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: var(--gallery-swiper-aspect, 16/9);
  min-height: 240px;
}
@media (max-width: 767px) {
  .gallery-swiper {
    aspect-ratio: 4/3;
    min-height: 200px;
  }
}
@media (max-width: 480px) {
  .gallery-swiper {
    aspect-ratio: 1/1;
    min-height: 160px;
  }
}
.gallery-swiper .gallery-swiper__slide {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  background: #f8f9fa;
}
.gallery-swiper .gallery-swiper__slide.is-placeholder {
  background: #f1f3f5;
}
.gallery-swiper .gallery-swiper__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 6px;
}
.gallery-swiper .gallery-swiper__video {
  position: relative;
  display: block;
  color: inherit;
  text-decoration: none;
}
.gallery-swiper .gallery-swiper__video-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}
.gallery-swiper .gallery-swiper__video-label {
  position: absolute;
  left: 16px;
  bottom: 16px;
  padding: 6px 12px;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 13px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.gallery-swiper .swiper-button-next,
.gallery-swiper .swiper-button-prev {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.85);
  color: #000;
  box-shadow: none;
  transition: transform 120ms ease;
}
.gallery-swiper .swiper-button-next:hover, .gallery-swiper .swiper-button-next:focus,
.gallery-swiper .swiper-button-prev:hover,
.gallery-swiper .swiper-button-prev:focus {
  transform: scale(1.05);
}
.gallery-swiper .swiper-button-next::after,
.gallery-swiper .swiper-button-prev::after {
  font-size: 18px;
  font-weight: 600;
}
.gallery-swiper .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: rgba(0, 0, 0, 0.25);
  opacity: 1;
  transition: background 120ms ease;
}
.gallery-swiper .swiper-pagination-bullet-active {
  background: #111;
}
.gallery-swiper .swiper-lazy-preloader {
  border: 2px solid rgba(191, 40, 66, 0.2);
  border-top-color: #bf2842;
}

.gallery-swiper--thumbnail .gallery-swiper__image {
  border-radius: 4px;
}
.gallery-swiper--thumbnail .swiper-button-next,
.gallery-swiper--thumbnail .swiper-button-prev {
  display: none;
}

.property-buttons {
  margin-top: 16px;
}
@media (max-width: 480px) {
  .property-buttons {
    margin-top: 12px;
  }
}

.modal-960 {
  width: 960px;
  margin: auto;
}

.footer p {
  text-align: center;
}

.large-text {
  font-size: 18px;
}

/* Latest properties */
.latest-properties-row {
  margin: 24px 0 40px;
}

.property-filter {
  margin-bottom: 24px;
}

.property-filter__title {
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.property-filter__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.property-filter--links {
  padding: 0;
}

.property-filter__link {
  display: block;
  width: 100%;
  border: none;
  background: none;
  text-align: left;
  font-size: 13px;
  font-weight: 400;
  color: #0050d7;
  text-transform: none;
  letter-spacing: 0;
  transition: color 0.2s ease;
  padding: 0;
}

.property-filter__link:hover,
.property-filter__link:focus {
  color: #0c2c5e;
  text-decoration: none;
}

.property-filter__link.active {
  color: #0c2c5e;
  font-weight: 700;
  text-decoration: none;
}

.suburb-block--filters {
  width: 100%;
  float: none;
}

.suburb-block--filters .suburb-list {
  margin: 0;
}

.suburb-block--filters .suburb-list li + li {
  margin-top: 6px;
}

.suburb-block--filters .suburb-list h4 {
  margin-top: 0;
  margin-bottom: 10px;
}

.property-filter__btn {
  display: block;
  width: 100%;
  text-align: left;
  background: transparent;
  border: 1px solid #c9c9c9;
  color: #333;
  padding: 6px 10px;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  transition: all 0.2s ease;
}

.property-filter__btn:hover,
.property-filter__btn:focus {
  border-color: #333;
  color: #000;
}

.property-filter__btn.active {
  background: #111;
  border-color: #111;
  color: #fff;
}

.latest-properties-list {
  margin-left: 0;
  margin-right: 0;
}

.property-card {
  margin-bottom: 24px;
  padding-left: 12px;
  padding-right: 12px;
}

.property-card__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.properties-swiper-wrapper {
  position: relative;
}

.properties-swiper {
  width: 100%;
  padding-bottom: 32px;
}

.properties-swiper .swiper-button-next,
.properties-swiper .swiper-button-prev {
  top: calc(50% - 16px);
}

.properties-swiper .swiper-slide {
  display: flex;
  height: auto;
}

.properties-swiper__slide {
  display: flex;
  width: 100%;
}

.properties-swiper__slide .property-card {
  width: 100%;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
}

.property-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 0;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06), 0 2px 8px rgba(16, 24, 40, 0.04);
  padding: 16px;
}

.properties-swiper__slide--hidden {
  display: none !important;
}

.services-section {
  margin-top: 64px;
  margin-bottom: 64px;
}

.services-section__header {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 32px;
}
@media (min-width: 768px) {
  .services-section__header {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }
}

.services-section__intro {
  max-width: 640px;
}

.services-section__title {
  margin-bottom: 8px;
}

.services-section__subtitle {
  font-size: 16px;
  line-height: 1.6;
  color: #555;
  margin: 0;
}

.services-section__cta {
  align-self: flex-start;
}

.services-section__header--inline {
  margin-bottom: 32px;
}
@media (min-width: 768px) {
  .services-section__header--inline {
    align-items: flex-start;
  }
}

.services-swiper .swiper-slide {
  display: flex;
  height: auto;
}

.services-swiper .swiper-wrapper {
  align-items: stretch;
}

.services-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 32px;
  background-color: #ffffff;
  border-radius: 0;
  min-height: 240px;
  border: 1px solid #e5e7eb;
  box-shadow: none;
}

.services-card--review {
  height: 100%;
  min-height: 320px;
  justify-content: flex-start;
  gap: 16px;
  padding: 32px;
  border-radius: var(--radius-card);
  border: 0;
  background: #000000;
  color: #ffffff;
  box-shadow: none;
}

.services-card__stars {
  color: #c4a15d;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 2px;
  margin-bottom: 0;
  text-shadow: none;
}

.services-card--review .services-card__author {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: auto;
}

.services-card--review .services-card__author-avatar {
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  border-radius: 50%;
  overflow: hidden;
  background-color: rgba(255, 255, 255, 0.22);
  border: 1px solid rgba(8, 8, 8, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.services-card--review .services-card__author-placeholder {
  color: #20170d;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
}

.services-card--review .services-card__title {
  margin: 0;
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  color: #ffffff;
}

.services-card--review .services-card__description {
  margin: 0;
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: 14px;
  line-height: 1.6;
  color: #ffffff;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-style: italic;
}

.brokerage-services-page .area-guides-slider-section--reviews {
  background: var(--color-white);
}

.brokerage-services-page .area-guides-slider-section--reviews .area-guides-slider-section__container {
  align-items: stretch;
}

.brokerage-services-page .area-guides-slider-section--reviews .area-guides-slider-section__slider-wrapper {
  width: 800px;
  overflow: hidden;
}

.brokerage-services-page .area-guides-slider-section--reviews .area-guides-slider-section__swiper {
  overflow: visible !important;
}

.brokerage-services-page .area-guides-slider-section--reviews .area-guides-slider-section__swiper .swiper-wrapper {
  align-items: stretch;
  min-height: 360px;
}

.brokerage-services-page .area-guides-slider-section--reviews .area-guides-slider-section__swiper .swiper-slide {
  display: flex;
  height: auto;
  width: 320px;
}

.brokerage-services-page .area-guides-slider-section--reviews .area-guides-slider-section__btn {
  background: var(--color-primary);
  color: var(--color-white);
}

@media (max-width: 1024px) {
  .brokerage-services-page .area-guides-slider-section--reviews .area-guides-slider-section__swiper .swiper-slide {
    width: 280px;
  }
}
@media (max-width: 768px) {
  .brokerage-services-page .area-guides-slider-section--reviews .area-guides-slider-section__container {
    flex-direction: column;
  }
  .brokerage-services-page .area-guides-slider-section--reviews .area-guides-slider-section__header {
    flex: 0 0 auto;
  }
  .brokerage-services-page .area-guides-slider-section--reviews .area-guides-slider-section__swiper .swiper-slide {
    width: 260px;
  }
}
.news-slide {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 0;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06), 0 2px 8px rgba(16, 24, 40, 0.04);
  padding: 16px;
}

.services-card__title {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 16px;
}

.services-card__description {
  flex-grow: 1;
  font-size: 16px;
  line-height: 1.6;
  color: #555;
}

.services-card__link {
  margin-top: 24px;
  font-weight: 600;
  color: #1a1a1a;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.services-card__link:hover, .services-card__link:focus {
  color: #d71920;
  text-decoration: none;
}

.services-swiper .swiper-button-next,
.services-swiper .swiper-button-prev {
  background: #fff;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.1);
  color: #d71920;
}
.services-swiper .swiper-button-next:after,
.services-swiper .swiper-button-prev:after {
  font-size: 18px;
}

.services-swiper .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: rgba(215, 25, 32, 0.3);
  opacity: 1;
}

.services-swiper .swiper-pagination-bullet-active {
  background: #d71920;
}

.property-card__img {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  border-radius: 4px;
  margin-bottom: 12px;
}

.property-card__title {
  font-size: 20px;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  text-transform: none;
  margin: 0 0 6px;
  color: #000;
}

.property-card__meta {
  font-size: 13px;
  color: #6c757d;
  margin: 0;
}

.property-card__description {
  font-size: 13px;
  color: #444;
  margin-top: 6px;
}

.property-card__price {
  font-family: var(--font-heading, "Georgia", serif);
  font-size: var(--font-xl, 1.25rem);
  font-weight: 400;
  color: var(--color-primary, #000000);
  margin: var(--space-sm, 16px) 0 0 0;
  line-height: 1.2;
}

.property-card__content {
  padding: var(--space-md, 24px);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm, 16px);
}

.property-card__area {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: var(--font-xs, 0.75rem);
  font-weight: 600;
  color: var(--color-accent, #bf2842);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
}

.property-card__size {
  font-family: var(--font-body, "Inter", sans-serif);
  font-size: var(--font-sm, 0.875rem);
  color: var(--color-gray-500, #666666);
  margin: 0;
}

.property-card__image-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  background-color: var(--color-gray-200, #e6e6e6);
}

.property-card__image-link {
  display: block;
  width: 100%;
  height: 100%;
}

.property-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.property-card__image-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-gray-400, #999999);
}

.property-card__badge {
  position: absolute;
  top: var(--space-sm, 16px);
  left: var(--space-sm, 16px);
  background: var(--color-accent, #bf2842);
  color: var(--color-white, #ffffff);
  font-family: var(--font-display, "TradeGothic", "Helvetica", sans-serif);
  font-size: var(--font-xs, 0.75rem);
  font-weight: 700;
  padding: 4px 12px;
  border-radius: var(--radius-sm, 4px);
  letter-spacing: 0.8px;
  text-transform: uppercase;
  line-height: 1.2;
  z-index: 5;
}

.property-card__title-link {
  text-decoration: none;
  color: inherit;
  display: block;
}
.property-card__title-link:hover {
  color: var(--color-accent, #bf2842);
}

.property-card__title {
  font-family: var(--font-heading, "Georgia", serif);
  font-size: var(--font-lg, 1.125rem);
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-primary, #000000);
  margin: 0;
}

.property-card--hidden {
  display: none !important;
}

@media (max-width: 767px) {
  #navbar-collapse {
    display: flex !important;
    flex-direction: column;
    max-height: calc(100vh - 64px);
    overflow: hidden;
  }
  #navbar-collapse .nav-items {
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  #navbar-collapse .nav-mobile-ctas {
    flex: 0 0 auto;
    padding: 12px 15px 18px;
    border-top: 1px solid #eee;
    background: #fff;
  }
  #navbar-collapse .nav-mobile-ctas .btn {
    margin-top: 8px;
    text-transform: uppercase;
    font-weight: 600;
  }
  #navbar-collapse .nav-mobile-ctas .btn-primary {
    background-color: #007bff;
    border-color: #007bff;
    color: #fff;
  }
}
.frontend-hero {
  background-color: #fbf8f2;
  padding: 72px 0 96px;
}
@media (min-width: 992px) {
  .frontend-hero {
    padding: 112px 0;
  }
}

.frontend-hero__row {
  display: flex;
  align-items: center;
}

.frontend-hero__content {
  margin-bottom: 32px;
}
@media (min-width: 992px) {
  .frontend-hero__content {
    margin-bottom: 0;
  }
}

.frontend-hero__title {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0 0 24px;
}
@media (min-width: 992px) {
  .frontend-hero__title {
    font-size: 56px;
  }
}

.frontend-hero__subtitle {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  max-width: 520px;
  margin: 0 auto 24px;
  text-align: center;
}
@media (max-width: 767px) {
  .frontend-hero__subtitle {
    text-align: center;
  }
}

.frontend-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.frontend-hero__btn {
  padding: 10px 24px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
}

.frontend-hero__btn--primary {
  background-color: var(--color-accent, #bf2842);
  border-color: var(--color-accent, #bf2842);
}

.frontend-hero__btn--secondary {
  background-color: rgba(0, 0, 0, 0.05);
  border-color: transparent;
  color: #000;
}

.frontend-hero__image-wrap {
  display: flex;
  justify-content: center;
}

.frontend-hero__image-inner {
  width: 100%;
  max-width: 520px;
}

.frontend-hero__image {
  border-radius: 8px;
  width: 100%;
  height: auto;
}

.advantages {
  padding: 80px 0 96px;
  background-color: #ffffff;
}

.advantages__header {
  max-width: 768px;
  margin: 0 auto 56px;
}

.advantages__tagline {
  font-family: tradegothicbold, arial, sans-serif;
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 0 0 12px;
}

.advantages__title {
  font-family: georgia, "Times New Roman", serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
}

.advantages__subtitle {
  font-size: 16px;
  line-height: 1.6;
  color: #333333;
  margin: 0;
}

.advantages__cards {
  margin-top: 8px;
}

.advantages-card {
  background-color: #f3f3f3;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.advantages-card__image {
  background-color: #e5e5e5;
  height: 220px;
}

.advantages-card__image-placeholder {
  width: 100%;
  height: 100%;
  background: #e5e5e5;
}

.advantages-card__body {
  padding: 32px;
}

.advantages-card__tagline {
  font-family: tradegothicbold, arial, sans-serif;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin: 0 0 8px;
}

.advantages-card__title {
  font-family: georgia, "Times New Roman", serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.3;
  margin: 0 0 16px;
}

.advantages-card__text {
  font-size: 14px;
  line-height: 1.6;
  color: #444444;
  margin: 0 0 24px;
}

.advantages-card__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: 500;
  text-transform: none;
  color: #000000;
}

.advantages-card__link:hover,
.advantages-card__link:focus {
  text-decoration: none;
  color: #000000;
}

.advantages-card__chevron {
  font-size: 16px;
}

@media (max-width: 767px) {
  .advantages {
    padding: 56px 0 72px;
  }
  .advantages__header {
    margin-bottom: 40px;
  }
  .advantages-card {
    margin-bottom: 24px;
  }
  .advantages-card__image {
    height: 180px;
  }
}
.search-widget__filter-drawer {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: max-height 400ms cubic-bezier(0.4, 0, 0.2, 1), opacity 400ms cubic-bezier(0.4, 0, 0.2, 1), visibility 400ms cubic-bezier(0.4, 0, 0.2, 1);
}
.search-widget__filter-drawer:not([style*="display: none"]) {
  max-height: 800px;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
@media (max-width: 768px) {
  .search-widget__filter-drawer:not([style*="display: none"]) {
    max-height: 1000px;
  }
}
@media (max-width: 480px) {
  .search-widget__filter-drawer:not([style*="display: none"]) {
    max-height: 1200px;
  }
}

.search-widget__filter-drawer-content {
  padding: 1.5rem;
  border-top: 1px solid #e5e7eb;
}
@media (max-width: 768px) {
  .search-widget__filter-drawer-content {
    padding: 1rem;
  }
}
@media (max-width: 480px) {
  .search-widget__filter-drawer-content {
    padding: 0.75rem;
  }
}

.search-widget__filter-section {
  margin-bottom: 1.5rem;
}
.search-widget__filter-section:last-child {
  margin-bottom: 0;
}

@keyframes filterFadeInUp {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.search-widget__filter-option {
  opacity: 0;
  animation: filterFadeInUp 300ms ease forwards;
}
.search-widget__filter-option .checkbox-option {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
}
.search-widget__filter-option .checkbox-option__input:focus-visible + .checkbox-option__control {
  box-shadow: 0 0 0 3px rgba(191, 40, 66, 0.1);
}

.search-widget__more-filters[aria-expanded=true] {
  color: #bf2842;
  border-color: #bf2842;
  background-color: #fef2f2;
}

@media (prefers-reduced-motion: reduce) {
  .search-widget__filter-drawer,
  .search-widget__filter-option {
    transition: none !important;
    animation: none !important;
  }
  .search-widget__filter-option {
    opacity: 1;
  }
}
.property-description-text ul,
.blog-post__content ul,
.about-section__content ul,
.standard-content ul,
.services-section__description ul,
.our-people-hero__description ul {
  list-style-type: disc;
  margin-left: 1.5rem;
  padding-left: 0;
  margin-bottom: 1.5rem;
}
.property-description-text ul li,
.blog-post__content ul li,
.about-section__content ul li,
.standard-content ul li,
.services-section__description ul li,
.our-people-hero__description ul li {
  margin-bottom: 0.5rem;
  padding-left: 0.25rem;
  position: relative;
}
.property-description-text ol,
.blog-post__content ol,
.about-section__content ol,
.standard-content ol,
.services-section__description ol,
.our-people-hero__description ol {
  list-style-type: decimal;
  margin-left: 1.5rem;
  padding-left: 0;
  margin-bottom: 1.5rem;
}
.property-description-text ol li,
.blog-post__content ol li,
.about-section__content ol li,
.standard-content ol li,
.services-section__description ol li,
.our-people-hero__description ol li {
  margin-bottom: 0.5rem;
  padding-left: 0.25rem;
}
