/* HELM: strong editorial typography and precise shared public surfaces.
   Font files are self-hosted; OFL notices are in /public/licenses/barlow.txt. */
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 400; font-display: swap; src: url("/public/assets/fonts/barlow/barlow-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 500; font-display: swap; src: url("/public/assets/fonts/barlow/barlow-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 600; font-display: swap; src: url("/public/assets/fonts/barlow/barlow-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 700; font-display: swap; src: url("/public/assets/fonts/barlow/barlow-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 500; font-display: swap; src: url("/public/assets/fonts/barlow/barlow-condensed-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 600; font-display: swap; src: url("/public/assets/fonts/barlow/barlow-condensed-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("/public/assets/fonts/barlow/barlow-condensed-latin-700-normal.woff2") format("woff2"); }

:root {
  --helm-body-font: "Barlow", "Segoe UI", Arial, sans-serif;
  --helm-display-font: "Barlow Condensed", "Arial Narrow", Arial, sans-serif;
  --font-sans: var(--helm-body-font);
  --font-display: var(--helm-display-font);
  --modern-header-height: 88px;
}
body { font-family: var(--helm-body-font); }
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .contact-form small { color: #435c67; }
button, input, select, textarea { font-family: inherit; }
html { scroll-padding-top: 105px; }

html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) {
  --font-sans: var(--helm-body-font);
  --font-display: var(--helm-display-font);
  --horizon-ink: #102d3a;
  --horizon-copy: #435c67;
  --horizon-gold: #a07b3f;
  --modern-canvas: #f7f7f2;
  --modern-surface: #fff;
  --modern-ink: #102d3a;
  --modern-copy: #435c67;
  --modern-muted: #4e6570;
  --modern-radius: 2px;
  --modern-shadow-sm: none;
  --horizon-spring: cubic-bezier(.2,.75,.25,1);
  font-family: var(--helm-body-font);
  color: #102d3a;
  background: #f7f7f2;
}
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .page-shell-main { background: #f7f7f2 !important; }
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .page-shell-main::before {
  background-image: linear-gradient(rgba(247,247,242,.97), rgba(247,247,242,.99)), var(--modern-route-image, url("/public/assets/backgrounds/helm-bg-open-water.png")) !important;
}
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) :is(h1,h2,h3,h4) {
  font-family: var(--helm-display-font) !important;
  font-weight: 600;
  letter-spacing: .015em !important;
  line-height: 1.08;
  color: #102d3a;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) :is(.section-heading h1,.browse-hero-copy h1,.finder-hero h1,.how-hero h1,.demo-hero-copy h1,.brokerage-value-copy h1) {
  font-size: clamp(2.75rem, 5.5vw, 5.6rem) !important;
  font-weight: 600;
  line-height: 1.02;
  text-transform: uppercase;
}
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .section-heading h2 {
  font-size: clamp(2.2rem, 4.3vw, 4rem);
  line-height: 1.08;
  text-transform: uppercase;
}
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) :is(p,.section-copy,.helper-text,.key-value span) { line-height: 1.65; }
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) :is(.eyebrow,.panel-label) {
  color: #795b2b !important;
  font-family: var(--helm-body-font);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .13em !important;
  line-height: 1.5;
}
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) :is(.btn,.chip-button) {
  min-height: 46px;
  border-radius: 1px !important;
  font-family: var(--helm-body-font);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .015em;
  line-height: 1.35;
  box-shadow: none !important;
  max-width: 100%;
  white-space: normal;
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease;
}
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .btn-primary {
  color: #fff !important;
  background: #102d3a !important;
  border-color: #102d3a !important;
}
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .btn-primary:hover { background: #264e5d !important; border-color: #264e5d !important; }
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) :is(.btn-soft,.btn-ghost) {
  color: #102d3a !important;
  background: #fff !important;
  border-color: #8197a1 !important;
}
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) :is(.panel,.empty-state,.feature-card,.signal-card,.auth-panel,.spec-card,.stack-item,.custom-select-menu) {
  border-radius: 2px !important;
  box-shadow: none;
}
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) :is(input,textarea,select,.custom-select-trigger) {
  font-family: var(--helm-body-font);
  border-radius: 1px !important;
  min-width: 0;
}
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) :is(input,textarea)::placeholder { color: #5c717b !important; opacity: 1; }
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) :is(a,button,input,select,textarea):focus-visible { outline: 2px solid #a8792c; outline-offset: 4px; }

/* A narrow, confident navigation bar with the original HELM lockup. */
html[data-theme] .site-shell:not(.site-shell-platform) .topbar {
  background: #091f2b !important;
  border-color: #29424f;
}
html[data-theme] .site-shell:not(.site-shell-platform) .topbar .container { width: min(1600px, calc(100% - clamp(32px, 7vw, 112px))); }
html[data-theme] .site-shell:not(.site-shell-platform) .topbar .nav-shell { gap: 26px; }
html[data-theme] .site-shell:not(.site-shell-platform) .topbar .brand-logo { width: 52px; height: 52px; border-radius: 2px; }
html[data-theme] .site-shell:not(.site-shell-platform) .topbar .brand-text span { font-family: Georgia, "Times New Roman", serif !important; font-size: 28px; letter-spacing: .11em !important; }
html[data-theme] .site-shell:not(.site-shell-platform) .topbar .brand-text small { max-width: 170px; font-family: var(--helm-body-font); font-size: 9px; font-weight: 500; color: #d5dfe2 !important; }
html[data-theme] .site-shell:not(.site-shell-platform) .topbar .nav-link {
  font-family: var(--helm-body-font);
  color: #e5ecee !important;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .06em !important;
  text-transform: uppercase;
  padding-inline: 15px;
}
html[data-theme] .site-shell:not(.site-shell-platform) .topbar .nav-link.is-active::after { height: 2px; background: #c7a36b; }
html[data-theme] .site-shell:not(.site-shell-platform) .topbar .nav-actions :is(.btn-soft,.btn-ghost) {
  color: #fff !important;
  background: transparent !important;
  border-color: #8298a3 !important;
  font-size: 13px;
  letter-spacing: .035em;
}
html[data-theme] .site-shell:not(.site-shell-platform) .topbar .nav-actions .nav-buyer-login { border-color: transparent !important; }
html[data-theme] .site-shell:not(.site-shell-platform) .mobile-menu-toggle { border-radius: 1px; }
html[data-theme] .site-shell:not(.site-shell-platform) .mobile-nav { background: #091f2b; }
html[data-theme] .site-shell:not(.site-shell-platform) .mobile-nav-inner {
  padding: 12px 0 20px;
  background: #091f2b !important;
  border: 0;
  border-radius: 0;
}
html[data-theme] .site-shell:not(.site-shell-platform) .mobile-link {
  color: #f4f7f7 !important;
  background: transparent !important;
  border-color: #38515d;
  border-radius: 0;
  padding: 15px 4px;
  min-height: 56px;
  font-family: var(--helm-display-font);
  font-size: 25px;
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
}
html[data-theme] .site-shell:not(.site-shell-platform) .mobile-link:is(:hover,:focus-visible,.is-active) { color: #e0c594 !important; background: #152e3a !important; }
html[data-theme] .site-shell:not(.site-shell-platform) .mobile-nav-row { margin-top: 18px; gap: 12px; }
html[data-theme] .site-shell:not(.site-shell-platform) .mobile-nav-row .btn { color: #fff !important; background: transparent !important; border-color: #8298a3 !important; }

/* Listing information is structured, readable and never overlaid on artwork. */
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .listing-card { border-radius: 2px !important; border-color: #c9d4d8; box-shadow: none; }
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .listing-headline h3 {
  font-family: var(--helm-display-font) !important;
  font-size: 29px;
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: .012em !important;
  color: #102d3a;
}
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .listing-price { font-family: var(--helm-body-font); font-weight: 600; color: #705322; }
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .listing-card-image { object-fit: contain; }
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .listing-detail-title-block h1 {
  font-family: var(--helm-display-font) !important;
  font-size: clamp(2.5rem, 5.5vw, 5.4rem);
  line-height: 1.04;
  font-weight: 600;
  text-transform: uppercase;
}
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .finder-hero { max-width: 1060px; }
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .finder-conversation { box-shadow: none; }
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .helm-auth-page .auth-heading h1 { font-size: clamp(2.2rem, 4vw, 3.5rem); line-height: 1.05; letter-spacing: .015em; }

/* Marketing forms and policy panels keep their light palette when an account
   has saved a dark workspace preference. Legacy dark label/link rules must
   not place pale text on these explicitly light public surfaces. */
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .page-route-contact .contact-form .field-group > span,
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .page-route-referrals .referral-card label {
  color: #254556 !important;
}
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .page-route-contact .contact-form .field-group :is(input,select,textarea),
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .page-route-referrals .referral-card :is(input:not([type="checkbox"]),select,textarea) {
  color: #102d3a !important;
  background: #fff !important;
}
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .page-route-contact .contact-form .contact-consent {
  color: #435c67 !important;
  background: #edf2f4 !important;
  border-color: #c9d4d8 !important;
}
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .page-route-contact .contact-form .contact-consent a,
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .legal-page :is(.legal-card,.legal-contact-card) a:not(.btn) {
  color: #143d51 !important;
  text-decoration: underline;
  text-underline-offset: .18em;
}
html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .legal-page .legal-effective-date {
  color: #435c67 !important;
  background: #edf2f4 !important;
  border-color: #c9d4d8 !important;
  border-radius: 1px;
}

/* Compact editorial footer: one brand row, one link/ownership row. */
html[data-theme] .helm-footer { background: #091f2b !important; color: #e3e9eb; border-top: 1px solid #2d4653; }
.helm-footer .helm-footer-top { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) auto; gap: 32px; align-items: center; padding-block: 40px 32px; }
.helm-footer .helm-footer-brand { display: inline-flex; align-items: center; gap: 14px; width: fit-content; max-width: 100%; }
.helm-footer .helm-footer-brand img { width: 48px; height: 48px; flex: 0 0 48px; border-radius: 1px; }
.helm-footer .helm-footer-brand > span { font: 28px/1.2 Georgia, "Times New Roman", serif; letter-spacing: .12em; color: #fff; }
.helm-footer .helm-footer-brand small { display: block; margin-top: 5px; max-width: 190px; font: 500 10px/1.4 var(--helm-body-font); letter-spacing: .08em; text-transform: uppercase; }
html[data-theme] .site-shell:not(.site-shell-platform) .helm-footer .helm-footer-statement { font: 500 27px/1.1 var(--helm-display-font); letter-spacing: .025em; text-transform: uppercase; margin: 0; color: #e8eef0 !important; }
html[data-theme] .site-shell:not(.site-shell-platform) .helm-footer .footer-demo-link { color: #fff !important; background: transparent !important; border: 1px solid #7e949f !important; gap: 24px; min-width: 155px; }
.helm-footer .helm-footer-bottom { display: block; padding-block: 24px; border-top: 1px solid #2d4653; }
.helm-footer .helm-footer-links { display: flex; flex-wrap: wrap; align-items: center; column-gap: 26px; row-gap: 4px; }
html[data-theme] .site-shell:not(.site-shell-platform) .helm-footer .helm-footer-links :is(a,button) { display: inline-flex; align-items: center; min-height: 44px; padding: 4px 0; color: #e3eaed !important; font: 600 12px/1.5 var(--helm-body-font); letter-spacing: .055em; text-transform: uppercase; background: transparent; border: 0; border-radius: 0; box-shadow: none; cursor: pointer; }
.helm-footer .helm-footer-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; margin-top: 10px; }
html[data-theme] .site-shell:not(.site-shell-platform) .helm-footer .helm-footer-meta :is(small,a) { color: #b9c8ce !important; font: 400 12px/1.6 var(--helm-body-font); overflow-wrap: anywhere; }
.helm-footer .helm-footer-meta > a { min-height: 32px; display: inline-flex; align-items: center; }
.helm-footer .helm-footer-social { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.helm-footer .helm-footer-social a { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #48616e; }
.helm-footer .helm-footer-social img { width: 16px; height: 16px; object-fit: contain; filter: brightness(0) invert(1); }

@media (max-width: 1100px) {
  html[data-theme] .site-shell:not(.site-shell-platform) .topbar .nav-shell { gap: 16px; }
  html[data-theme] .site-shell:not(.site-shell-platform) .topbar .nav-link { padding-inline: 10px; font-size: 12px; }
  html[data-theme] .site-shell:not(.site-shell-platform) .topbar .brand-text small { max-width: 125px; }
}
@media (max-width: 900px) {
  :root { --modern-header-height: 76px; }
  html[data-theme] .site-shell:not(.site-shell-platform) .topbar .brand-logo { width: 46px; height: 46px; }
  .helm-footer .helm-footer-top { grid-template-columns: 1fr auto; gap: 22px; }
  .helm-footer .helm-footer-statement { display: none; }
}
@media (max-width: 600px) {
  html { scroll-padding-top: 88px; }
  html[data-theme] .site-shell:not(.site-shell-platform) .topbar .container { width: calc(100% - 32px); }
  html[data-theme] .site-shell:not(.site-shell-platform) .topbar .nav-shell { gap: 12px; }
  html[data-theme] .site-shell:not(.site-shell-platform) .topbar .brand-lockup { gap: 10px; min-width: 0; }
  html[data-theme] .site-shell:not(.site-shell-platform) .topbar .brand-text span { font-size: 24px; }
  html[data-theme] .site-shell:not(.site-shell-platform) .topbar .brand-text small { display: none; }
  html[data-theme] .site-shell:not(.site-shell-platform) .topbar .nav-actions { gap: 8px; margin-left: auto; }
  html[data-theme] .site-shell:not(.site-shell-platform) .topbar .nav-actions .nav-broker-portal-link { padding: 10px 12px; min-height: 44px; font-size: 12px; }
  html[data-theme] .site-shell:not(.site-shell-platform) .topbar .nav-profile-button { display: none; }
  html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) .container { width: calc(100% - 36px); }
  html[data-theme] .site-shell:not(.site-shell-platform):not(.site-shell-personal) :is(.section-heading h1,.browse-hero-copy h1,.finder-hero h1,.how-hero h1,.demo-hero-copy h1,.brokerage-value-copy h1) { font-size: clamp(2.5rem, 10vw, 3.4rem) !important; }
  .helm-footer .helm-footer-top { grid-template-columns: 1fr; padding-block: 30px 22px; gap: 20px; }
  .helm-footer .footer-demo-link { width: fit-content; }
  .helm-footer .helm-footer-links { gap: 0 24px; }
  .helm-footer .helm-footer-meta { align-items: flex-start; flex-direction: column; gap: 12px; }
  .helm-footer .helm-footer-social { margin: 0; }
}
@media (max-width: 370px) {
  html[data-theme] .site-shell:not(.site-shell-platform) .topbar .brand-text span { font-size: 21px; }
  html[data-theme] .site-shell:not(.site-shell-platform) .topbar .brand-logo { width: 40px; height: 40px; }
  html[data-theme] .site-shell:not(.site-shell-platform) .topbar .nav-actions .nav-broker-portal-link { padding-inline: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .site-shell :is(.btn,.listing-card,.horizon-home-explore,.nav-link) { animation: none !important; transition: none !important; transform: none !important; }
}
