/**
 * Ethos R47 launch-readiness layer.
 * Loaded last so the approved palette, contrast, controls, and responsive
 * behavior remain consistent across every public template.
 */

:root {
  --ink: #0a0a0a;
  --ink-2: #141414;
  --paper: #fbfaf7;
  --paper-2: #f4f2ed;
  --gold: #c9a96e;
  --text-primary: #1a1a1a;
  --text-secondary: #5c5c5c;

  /* Legacy aliases resolve to the approved four-surface palette. */
  --graphite: var(--ink-2);
  --graphite-2: var(--ink-2);
  --slate: var(--text-secondary);
  --mist: var(--paper-2);
  --white: var(--paper);
  --accent: var(--gold);
  --porcelain: var(--paper-2);
  --stone: var(--text-secondary);
  --muted: var(--text-secondary);
  --paper-warm: var(--paper-2);
  --charcoal: var(--ink-2);
  --charcoal-soft: var(--ink-2);

  --home-ink: var(--ink);
  --home-ink-2: var(--ink-2);
  --home-paper: var(--paper);
  --home-paper-2: var(--paper-2);
  --home-gold: var(--gold);
  --editorial-gold: var(--gold);
  --editorial-gold-bright: var(--gold);
  --editorial-ivory: var(--paper);
  --editorial-muted: rgba(255, 255, 255, 0.78);

  --join-black: var(--ink);
  --join-charcoal: var(--ink-2);
  --join-ink: var(--ink);
  --join-stone: var(--text-secondary);
  --join-ivory: var(--paper-2);
  --join-white: var(--paper);
  --join-gold: var(--gold);
  --join-gold-dark: var(--text-secondary);

  --about-black: var(--ink);
  --about-paper: var(--paper);
  --about-white: var(--paper);
  --about-gold: var(--gold);
  --about-gold-ink: var(--text-secondary);
  --about-muted: var(--text-secondary);

  --tech-ink: var(--ink);
  --tech-ink-soft: var(--ink-2);
  --tech-paper: var(--paper);
  --tech-white: var(--paper);
  --tech-gold: var(--gold);
  --tech-gold-text: var(--text-secondary);

  --ethos-markets-black: var(--ink);
  --ethos-markets-paper: var(--paper);
  --ethos-markets-white: var(--paper);
  --ethos-markets-gold: var(--gold);
  --ethos-markets-gold-text: var(--text-secondary);

  --properties-black: var(--ink);
  --properties-charcoal: var(--ink-2);
  --properties-ink: var(--ink);
  --properties-stone: var(--text-secondary);
  --properties-paper: var(--paper);
  --properties-white: var(--paper);
  --properties-gold: var(--gold);
  --properties-gold-dark: var(--text-secondary);
  --fit-black: var(--ink);
  --fit-ink: var(--ink);
  --fit-stone: var(--text-secondary);
  --fit-paper: var(--paper);
  --fit-white: var(--paper);
  --fit-gold: var(--gold);
  --fit-gold-dark: var(--text-secondary);

  --ethos-growth-ink: var(--ink-2);
  --ethos-growth-dark: var(--ink);
  --ethos-growth-white: var(--paper);
  --ethos-growth-paper: var(--paper-2);
  --ethos-growth-gray: var(--text-secondary);
  --ethos-growth-gold: var(--gold);

  --journal-ink: var(--ink);
  --journal-ink-2: var(--ink-2);
  --journal-paper: var(--paper);
  --journal-paper-2: var(--paper-2);
  --journal-gold: var(--gold);
  --journal-white: var(--paper);
  --journal-muted: var(--text-secondary);
  --journal-muted-dark: rgba(255, 255, 255, 0.78);

  --leadership-ink: var(--ink);
  --leadership-ink-secondary: var(--ink-2);
  --leadership-paper: var(--paper);
  --leadership-paper-secondary: var(--paper-2);
  --leadership-gold: var(--gold);
  --leadership-text: var(--text-primary);
  --leadership-muted: var(--text-secondary);

  --guide-ink: var(--ink);
  --guide-ink-2: var(--ink-2);
  --guide-paper: var(--paper);
  --guide-paper-2: var(--paper-2);
  --guide-gold: var(--gold);
  --guide-gold-readable: var(--text-secondary);

  --sellers-ink: var(--ink);
  --sellers-paper: var(--paper);
  --sellers-paper-2: var(--paper-2);
  --sellers-gold: var(--gold);

  --ethos-ink: var(--ink);
  --ethos-ink-2: var(--ink-2);
  --ethos-paper: var(--paper);
  --ethos-paper-2: var(--paper-2);
  --ethos-gold: var(--gold);
  --ethos-copy: var(--text-primary);
  --ethos-copy-light: rgba(255, 255, 255, 0.78);

  --ethos-story-ink: var(--ink);
  --ethos-story-ink-2: var(--ink-2);
  --ethos-story-paper: var(--paper);
  --ethos-story-paper-2: var(--paper-2);
  --ethos-story-gold: var(--gold);

  --rs-as-background-color: var(--paper-2);
  --rs-as-button-color: var(--ink);
  --rs-as-button-text-color: var(--paper);
  --rs-hvw-background-color: var(--paper);
  --rs-hvw-title-color: var(--text-primary);
  --rs-hvw-subtitle-color: var(--text-secondary);
  --rs-hvw-input-text-color: var(--text-primary);
  --rs-hvw-primary-button-color: var(--ink);
  --rs-hvw-primary-button-text-color: var(--paper);
  --rs-hvw-secondary-button-color: var(--paper-2);
  --rs-hvw-secondary-button-text-color: var(--text-primary);
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --dur: 600ms;
}

.ethos-home-master {
  --home-ink: var(--ink);
  --home-ink-2: var(--ink-2);
  --home-paper: var(--paper);
  --home-paper-2: var(--paper-2);
  --home-gold: var(--gold);
}

.page-join {
  --join-black: var(--ink);
  --join-charcoal: var(--ink-2);
  --join-ink: var(--ink);
  --join-stone: var(--text-secondary);
  --join-ivory: var(--paper-2);
  --join-white: var(--paper);
  --join-gold: var(--gold);
  --join-gold-dark: var(--text-secondary);
}

.ethos-about {
  --about-black: var(--ink);
  --about-paper: var(--paper);
  --about-white: var(--paper);
  --about-gold: var(--gold);
  --about-gold-ink: var(--text-secondary);
  --about-muted: var(--text-secondary);
}

.ethos-tech {
  --tech-ink: var(--ink);
  --tech-ink-soft: var(--ink-2);
  --tech-paper: var(--paper);
  --tech-white: var(--paper);
  --tech-gold: var(--gold);
  --tech-gold-text: var(--text-secondary);
}

.ethos-markets-page {
  --ethos-markets-black: var(--ink);
  --ethos-markets-paper: var(--paper);
  --ethos-markets-white: var(--paper);
  --ethos-markets-gold: var(--gold);
  --ethos-markets-gold-text: var(--text-secondary);
}

.ethos-properties,
.ethos-properties-fit {
  --properties-black: var(--ink);
  --properties-charcoal: var(--ink-2);
  --properties-ink: var(--ink);
  --properties-stone: var(--text-secondary);
  --properties-paper: var(--paper);
  --properties-white: var(--paper);
  --properties-gold: var(--gold);
  --properties-gold-dark: var(--text-secondary);
  --fit-black: var(--ink);
  --fit-ink: var(--ink);
  --fit-stone: var(--text-secondary);
  --fit-paper: var(--paper);
  --fit-white: var(--paper);
  --fit-gold: var(--gold);
  --fit-gold-dark: var(--text-secondary);
}

.journal-hub,
.journal-article {
  --journal-ink: var(--ink);
  --journal-ink-2: var(--ink-2);
  --journal-paper: var(--paper);
  --journal-paper-2: var(--paper-2);
  --journal-gold: var(--gold);
  --journal-white: var(--paper);
  --journal-muted: var(--text-secondary);
  --journal-muted-dark: rgba(255, 255, 255, 0.78);
}

.ethos-leadership {
  --leadership-ink: var(--ink);
  --leadership-ink-secondary: var(--ink-2);
  --leadership-paper: var(--paper);
  --leadership-paper-secondary: var(--paper-2);
  --leadership-gold: var(--gold);
  --leadership-text: var(--text-primary);
  --leadership-muted: var(--text-secondary);
}

.ethos-guide-page {
  --guide-ink: var(--ink);
  --guide-ink-2: var(--ink-2);
  --guide-paper: var(--paper);
  --guide-paper-2: var(--paper-2);
  --guide-gold: var(--gold);
  --guide-gold-readable: var(--text-secondary);
}

.ethos-sellers {
  --sellers-ink: var(--ink);
  --sellers-paper: var(--paper);
  --sellers-paper-2: var(--paper-2);
  --sellers-gold: var(--gold);
}

html,
body {
  background: var(--paper);
  color: var(--text-primary);
}

body {
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 400;
}

p,
li,
dd,
td,
th,
label,
input,
select,
textarea {
  color: inherit;
}

.site-main :where(.muted, .meta, [class*="__meta"], [class*="__note"], [class*="__caption"], figcaption) {
  color: var(--text-secondary);
}

:where(.site-footer, [class*="--ink"], [class*="__ink"], .ethos-about__leadership) {
  color: var(--paper);
}

:where(.site-footer, [class*="--ink"], [class*="__ink"], .ethos-about__leadership) :where(p, li, dd) {
  color: rgba(255, 255, 255, 0.78);
}

:where(.site-footer, [class*="--ink"], [class*="__ink"], .ethos-about__leadership) :where(small, figcaption, .eyebrow, [class*="__meta"], [class*="__note"]) {
  color: rgba(255, 255, 255, 0.78);
}

:where(.button, button[type="submit"], input[type="submit"], .ethos-button, [class*="__button"]) {
  min-height: 52px;
  padding: 0 24px;
  border: 1px solid var(--gold);
  border-radius: 0;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
}

.button,
.ethos-button,
button[type="submit"],
input[type="submit"] {
  min-height: 52px !important;
  border-radius: 0 !important;
  font-size: 12px !important;
}

:where(.button, button[type="submit"], input[type="submit"], .ethos-button):not(.button--outline):not(.button--ink-outline):not(.ethos-button--light):not(.ethos-button--outline-gold) {
  background: var(--gold);
  color: var(--ink);
}

:where(.button--outline, .button--ink-outline, .ethos-button--light, .ethos-button--outline-gold) {
  background: transparent;
  color: inherit;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
select,
textarea {
  min-height: 52px;
  border-radius: 0;
  font-size: 16px !important;
}

textarea {
  min-height: 144px;
}

.ethos-field-error {
  display: block;
  margin: 7px 0 0;
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

[aria-invalid="true"] {
  border-color: var(--text-primary) !important;
  outline: 1px solid var(--text-primary);
  outline-offset: 1px;
}

.reveal {
  transform: translateY(16px);
  transition-duration: 600ms;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--ethos-reveal-delay, 0ms);
}

.reveal.is-visible,
.reveal.is-in-view {
  transform: translateY(0);
}

table {
  width: 100%;
}

.ethos-table-scroll {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.ethos-home-hero h1 {
  max-width: 18ch;
  margin: 14px 0 0;
  font-size: clamp(52px, 6.2vw, 104px);
  line-height: 1.1;
}

.ethos-home-hero__sub {
  max-width: 58ch;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(16px, 1.35vw, 20px);
  line-height: 1.55;
}

.ethos-home-hero__actions {
  flex-wrap: wrap;
}

.ethos-home-hero__value {
  display: grid;
  width: min(100%, 520px);
  flex: 1 1 520px;
  grid-template-columns: minmax(190px, 1fr) auto;
}

.ethos-home-hero__value input {
  width: 100%;
  min-height: 52px;
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-right: 0;
  background: rgba(10, 10, 10, 0.42);
  color: var(--paper);
  padding: 0 16px;
}

.ethos-home-hero__value input::placeholder {
  color: rgba(255, 255, 255, 0.78);
}

.ethos-home-hero__value button {
  white-space: nowrap;
}

.ethos-home-manifesto__proof {
  margin-top: clamp(56px, 8vw, 104px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(10, 10, 10, 0.42);
  border-bottom: 1px solid rgba(10, 10, 10, 0.42);
}

.ethos-home-manifesto__proof .ethos-home-proof__item {
  min-height: 148px;
  color: var(--text-primary);
  text-decoration: none;
}

.ethos-home-manifesto__proof .ethos-home-proof__item + .ethos-home-proof__item {
  border-left: 1px solid rgba(10, 10, 10, 0.42);
}

.ethos-home-manifesto .ethos-home-proof__source {
  margin: 18px 0 0;
  color: var(--text-secondary);
}

.ethos-home-manifesto,
.ethos-home-manifesto h2 {
  color: var(--text-primary);
}

.ethos-home-manifesto .ethos-button--outline-gold {
  border-color: var(--text-primary);
  color: var(--text-primary);
}

.ethos-about-r47__shell {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}

.ethos-about-r47__story,
.ethos-about-r47__work {
  padding: clamp(88px, 11vw, 152px) 0;
  background: var(--paper);
  color: var(--text-primary);
}

.ethos-about-r47__story .eyebrow,
.ethos-about-r47__work .eyebrow {
  color: var(--text-secondary);
}

.agents-directory-section .agent-card__sample,
.agents-directory-section .agent-card__role,
.agents-directory-section .agent-card__role span {
  color: var(--text-secondary) !important;
}

.journal-hero .eyebrow,
.journal-results .eyebrow,
.journal-index-row__number {
  color: var(--text-secondary);
}

.ethos-tech-button--gold,
.ethos-tech-button--gold span {
  color: var(--ink) !important;
}

.ethos-tech-hero__caption,
.ethos-tech-hero__caption span,
.ethos-tech-realscout__figure figcaption {
  color: rgba(255, 255, 255, 0.78) !important;
}

.ethos-tech-workflow__close span {
  color: var(--text-primary);
}

.ethos-guide-page--ethos-private .ethos-guide-section--cta p {
  color: rgba(255, 255, 255, 0.78);
}

.ethos-home-reviews__aggregate .ethos-home-reviews__star,
.ethos-home-review footer a,
.ethos-home-review footer a span,
.blueprint-intents b {
  color: var(--text-primary) !important;
}

.blueprint-contact-form__content {
  background: var(--ink-2);
  color: var(--paper);
}

.blueprint-contact-form__content :where(input, select, textarea) {
  border-color: rgba(255, 255, 255, 0.6);
  background: transparent;
  color: var(--paper);
}

.blueprint-contact-form__content select option {
  background: var(--paper);
  color: var(--text-primary);
}

.blueprint-contact-form__content .ethos-form-privacy,
.blueprint-contact-form__content .ethos-form-privacy a,
.blueprint-contact-form__content .ethos-field-error,
.blueprint-contact-form__content [role="status"] {
  color: rgba(255, 255, 255, 0.78) !important;
}

.ethos-about-r47__story h2,
.ethos-about-r47__why h2,
.ethos-about-r47__work h2,
.ethos-about-r47__leadership h2,
.ethos-about-r47__close h2 {
  margin: 12px 0 28px;
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1.05;
}

.ethos-about-r47__prose {
  max-width: 60ch;
}

.ethos-about-r47__prose p,
.ethos-about-r47__why p,
.ethos-about-r47__work-grid p {
  color: var(--text-primary);
  font-size: 18px;
  line-height: 1.75;
}

.ethos-about-r47__why {
  padding: clamp(80px, 10vw, 136px) 0;
  background: var(--paper-2);
  color: var(--text-primary);
}

.ethos-about-r47__split {
  display: grid;
  grid-template-columns: minmax(180px, 0.45fr) minmax(0, 1fr);
  gap: clamp(40px, 9vw, 128px);
}

.ethos-about-r47__split > div {
  max-width: 66ch;
}

.ethos-about-r47__work-heading {
  max-width: 760px;
}

.ethos-about-r47__work-grid {
  display: grid;
  margin-top: clamp(48px, 7vw, 88px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--text-primary);
  border-bottom: 1px solid var(--text-primary);
}

.ethos-about-r47__work-grid article {
  padding: clamp(32px, 4vw, 54px);
}

.ethos-about-r47__work-grid article + article {
  border-left: 1px solid var(--text-primary);
}

.ethos-about-r47__work-grid h3 {
  margin: 0 0 22px;
  font-size: clamp(28px, 2.5vw, 40px);
  line-height: 1.08;
}

.ethos-about-r47__leadership {
  padding: clamp(88px, 11vw, 152px) 0;
  background: var(--ink);
  color: var(--paper);
}

.ethos-about-r47__leadership-grid {
  display: grid;
  margin-top: 48px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 36px);
}

.ethos-about-r47__leader {
  position: relative;
  min-height: 560px;
  overflow: hidden;
  color: var(--paper);
  text-decoration: none;
}

.ethos-about-r47__leader::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(to top, rgba(10, 10, 10, 0.88), rgba(10, 10, 10, 0.04) 62%);
}

.ethos-about-r47__leader img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ethos-about-r47__leader:hover img,
.ethos-about-r47__leader:focus-visible img {
  transform: scale(1.025);
}

.ethos-about-r47__leader > span {
  position: absolute;
  z-index: 1;
  right: 28px;
  bottom: 28px;
  left: 28px;
}

.ethos-about-r47__leader strong,
.ethos-about-r47__leader small {
  display: block;
}

.ethos-about-r47__leader strong {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 400;
}

.ethos-about-r47__leader small {
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
}

.ethos-about-r47__leadership-link {
  display: inline-flex;
  min-height: 52px;
  margin-top: 32px;
  align-items: center;
  gap: 12px;
  color: var(--paper);
}

.ethos-about-r47__close {
  padding: clamp(88px, 12vw, 164px) 0;
  color: var(--text-primary);
  text-align: center;
}

.ethos-about-r47__close h2 {
  color: var(--text-primary);
}

.ethos-about-r47__close p {
  color: var(--text-secondary);
}

.ethos-about-r47__close .ethos-about__button--outline-light {
  border-color: var(--text-primary);
  color: var(--text-primary);
}

.ethos-about-r47__close .ethos-about__actions {
  justify-content: center;
}

.agent-card__bio {
  margin: 16px 0 20px;
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.65;
}

.ethos-markets-state-snapshot {
  display: grid;
  margin: 0 clamp(20px, 5vw, 72px) clamp(36px, 5vw, 64px);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--text-primary);
  border-bottom: 1px solid var(--text-primary);
  background: var(--paper-2);
}

.ethos-markets-state-snapshot[hidden] {
  display: none;
}

.ethos-markets-state-snapshot > div {
  min-height: 140px;
  padding: 24px;
}

.ethos-markets-state-snapshot > div + div {
  border-left: 1px solid var(--text-primary);
}

.ethos-markets-state-snapshot strong,
.ethos-markets-state-snapshot span {
  display: block;
}

.ethos-markets-state-snapshot strong {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(30px, 3vw, 48px);
  font-weight: 400;
}

.ethos-markets-state-snapshot span,
.ethos-markets-state-snapshot > p {
  color: var(--text-secondary);
}

.ethos-tech-fub__examples {
  display: grid;
  margin-top: clamp(36px, 5vw, 64px);
  grid-template-columns: minmax(220px, 0.45fr) minmax(0, 1fr);
  gap: clamp(28px, 6vw, 84px);
  border-top: 1px solid var(--text-primary);
  padding-top: clamp(30px, 4vw, 48px);
}

.ethos-tech-fub__examples h3 {
  margin: 0;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.08;
}

.ethos-tech-fub__examples ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ethos-tech-fub__examples li {
  padding: 18px 0;
  border-bottom: 1px solid var(--text-primary);
  color: var(--text-primary);
  font-size: 17px;
  line-height: 1.65;
}

.ethos-guide-page--ethos-private #how-fast-it-moves .ethos-guide-timeline {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ethos-markets-state-snapshot > p {
  grid-column: 1 / -1;
  margin: 0;
  padding: 14px 24px;
  border-top: 1px solid var(--text-primary);
  font-size: 14px;
}

:where([class*="carousel"], [class*="slider"], [class*="rail"]) {
  touch-action: pan-x pan-y pinch-zoom;
}

:where([class*="carousel"] button, [class*="slider"] button, [class*="arrow"]) {
  min-width: 48px;
  min-height: 48px;
}

.mobile-menu-toggle,
.hero-film-toggle,
[class*="__arrow"],
[class*="__back"] {
  min-width: 48px !important;
  min-height: 48px !important;
}

.ethos-map-hit-target {
  fill: transparent;
  pointer-events: all;
  stroke: transparent;
}

.ethos-map-hit-target:focus-visible {
  outline: none;
  stroke: var(--gold);
  stroke-width: 2px;
  vector-effect: non-scaling-stroke;
}

.ethos-about-r47__leader--brand img {
  background: var(--ink-2);
  object-fit: contain;
  padding: clamp(42px, 8vw, 104px);
}

:where(
  .join-button,
  .ethos-content-button,
  .agent-card__search-cta,
  .agent-profile__search-cta,
  .agent-profile__conversion-actions a
) {
  min-height: 52px !important;
  padding: 0 24px !important;
  border: 1px solid var(--gold) !important;
  border-radius: 0 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  text-transform: uppercase;
}

.sellers-valuation__privacy,
.sellers-process__heading > p:last-child,
.sellers-process__list li > span,
.sellers-process__list p,
.journal-hub :where(.journal-feature__meta, .journal-index-row__meta, .journal-related__meta, .journal-meta) {
  color: var(--text-secondary) !important;
}

.ethos-home-review footer span,
.ethos-home-reviews__controls span,
.ethos-home-advisor__details small {
  color: var(--text-secondary) !important;
}

.ethos-properties-seller__form input::placeholder,
.ethos-properties-fit__input::placeholder {
  color: var(--text-secondary) !important;
  opacity: 1;
}

.ethos-properties-fit__validation {
  border-color: var(--gold) !important;
  color: var(--text-primary) !important;
}

.ethos-home-advisor__details > a:last-child,
.ethos-content-text-link {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
}

.ethos-editorial-map__controls button,
.ethos-editorial-map__county-group button {
  min-height: 52px !important;
  border-color: var(--gold) !important;
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 12px !important;
}

.ethos-editorial-map__county-group h3 {
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 12px !important;
}

.ethos-coverage .ethos-uslabel,
.ethos-coverage .ethos-back,
.ethos-coverage .ethos-zoom button {
  min-width: 52px !important;
  min-height: 52px !important;
  border: 1px solid var(--gold) !important;
  border-radius: 0 !important;
  font-size: 12px !important;
}

.agent-filters button {
  min-height: 52px !important;
  padding-inline: 18px !important;
  border: 1px solid var(--gold) !important;
  font-size: 12px !important;
}

.ethos-home-review footer > a,
.ethos-market-advisors__phone,
.ethos-market-advisors__actions a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
}

.site-header__advisor,
.ethos-properties-advisor__select,
.ethos-properties-fit__advisor-select,
.ethos-properties-fit__result-link {
  min-height: 52px !important;
  border: 1px solid var(--gold) !important;
  border-radius: 0 !important;
  font-size: 12px !important;
  letter-spacing: 0.16em !important;
  line-height: 1 !important;
  text-transform: uppercase;
}

.site-header__advisor,
.ethos-properties-advisor__select {
  padding-inline: 24px !important;
}

@media (max-width: 820px) {
  .ethos-market-advisors h3 > a {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
  }
}

.join-button--gold,
.ethos-content-button--gold {
  background: var(--gold) !important;
  color: var(--ink) !important;
}

.join-button--gold:hover,
.join-button--gold:focus-visible,
.ethos-content-button--gold:hover,
.ethos-content-button--gold:focus-visible {
  background: var(--ink) !important;
  color: var(--paper) !important;
}

.join-button--ink,
.ethos-content-button--ink {
  background: var(--ink) !important;
  color: var(--paper) !important;
}

.join-button--ghost,
.ethos-content-button--gold-outline,
.ethos-content-button--light-outline {
  background: transparent !important;
  color: var(--paper) !important;
}

.ethos-journal-newsletter {
  background: var(--ink-2);
  color: var(--paper);
  padding: clamp(64px, 8vw, 112px) 0;
}

.ethos-journal-newsletter__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.85fr);
  gap: 20px clamp(40px, 7vw, 104px);
  align-items: end;
}

.ethos-journal-newsletter h3 {
  max-width: 16ch;
  margin: 8px 0 0;
  color: var(--paper);
  font-size: clamp(36px, 4.5vw, 64px);
  line-height: 1.05;
}

.ethos-journal-newsletter form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.ethos-journal-newsletter input {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.6);
  background: transparent;
  color: var(--paper);
  padding: 0 16px;
}

.ethos-journal-newsletter input::placeholder {
  color: rgba(255, 255, 255, 0.78);
}

.ethos-journal-newsletter__note,
.ethos-journal-newsletter__status {
  grid-column: 2;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
}

.ethos-journal-newsletter__status {
  padding-top: 8px;
  font-weight: 600;
}

@media (max-width: 820px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  body {
    padding-bottom: calc(64px + env(safe-area-inset-bottom));
  }

  main h1 {
    max-width: 100%;
    overflow-wrap: anywhere;
    font-size: clamp(40px, 11vw, 72px);
    line-height: 1.08;
  }

  button,
  [role="button"],
  .button,
  .ethos-button,
  .site-header nav a,
  .mobile-menu a,
  .site-footer a,
  .footer-links a,
  .join-text-link,
  .ethos-tech-text-link,
  .sellers-text-link,
  .leadership-text-link,
  .ethos-home-text-link,
  [class*="__arrow"],
  [class*="__back"],
  [class*="__link"] {
    min-height: 48px !important;
  }

  :where(.button, .ethos-button, .text-link, .site-header nav a, .mobile-menu a, .site-footer a, .footer-links a, .join-text-link, .ethos-tech-text-link, .sellers-text-link, .leadership-text-link, .ethos-home-text-link) {
    display: inline-flex;
    align-items: center;
  }

  table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  .mobile-action-rail {
    position: fixed !important;
    z-index: 9998 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    min-height: calc(64px + env(safe-area-inset-bottom)) !important;
    padding: 0 0 env(safe-area-inset-bottom) !important;
    border-top: 1px solid var(--gold) !important;
    background: var(--ink) !important;
  }

  body:not(.menu-open):not(.ethos-quiz-open):not(.ethos-properties-fit-open):not(.ethos-properties-modal-open) .mobile-action-rail:not([hidden]) {
    display: grid !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  .maplibregl-ctrl-group,
  .maplibregl-ctrl-group button,
  .ethos-zoom,
  .ethos-zoom button {
    width: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
  }

  .mobile-action-rail[hidden],
  body.menu-open .mobile-action-rail,
  body.ethos-quiz-open .mobile-action-rail,
  body.ethos-properties-fit-open .mobile-action-rail,
  body.ethos-properties-modal-open .mobile-action-rail {
    display: none !important;
  }

  .mobile-action-rail a {
    display: flex !important;
    min-width: 0;
    min-height: 64px !important;
    align-items: center;
    justify-content: center;
    border-right: 1px solid rgba(255, 255, 255, 0.6);
    color: var(--paper) !important;
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }

  .mobile-action-rail a:last-child {
    border-right: 0;
  }

  .mobile-action-rail a span {
    display: inline !important;
  }

  .site-footer {
    padding-bottom: 24px;
  }

  .ethos-home-hero h1 {
    max-width: 12ch;
    font-size: clamp(44px, 12vw, 70px);
    line-height: 1.1;
  }

  .ethos-home-hero__inner,
  body.home .ethos-home-hero__inner {
    padding-bottom: calc(96px + env(safe-area-inset-bottom));
  }

  body.admin-bar.home .ethos-home-hero__inner {
    padding-bottom: calc(142px + env(safe-area-inset-bottom));
  }

  .ethos-home-hero__sub {
    margin-top: 16px;
    font-size: 16px;
  }

  .ethos-home-hero__value {
    width: 100%;
    flex: 0 1 auto;
    grid-template-columns: minmax(0, 1fr);
  }

  .ethos-home-hero__value input {
    min-height: 52px;
    border-right: 1px solid rgba(255, 255, 255, 0.78);
    border-bottom: 0;
    font-size: 16px !important;
  }

  .ethos-home-manifesto__proof {
    grid-template-columns: minmax(0, 1fr);
  }

  .ethos-home-manifesto__proof .ethos-home-proof__item + .ethos-home-proof__item {
    border-top: 1px solid rgba(10, 10, 10, 0.42);
    border-left: 0;
  }

  .ethos-about-r47__shell {
    width: min(100% - 32px, 1180px);
  }

  .ethos-about-r47__split,
  .ethos-about-r47__work-grid,
  .ethos-about-r47__leadership-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ethos-about-r47__work-grid article + article {
    border-top: 1px solid var(--text-primary);
    border-left: 0;
  }

  .ethos-about-r47__leader {
    min-height: 0;
    aspect-ratio: 4 / 5;
  }

  .ethos-markets-state-snapshot {
    grid-template-columns: minmax(0, 1fr);
  }

  .ethos-markets-state-snapshot > div + div {
    border-top: 1px solid var(--text-primary);
    border-left: 0;
  }

  .ethos-tech-fub__examples {
    grid-template-columns: minmax(0, 1fr);
  }

  .ethos-guide-page--ethos-private #how-fast-it-moves .ethos-guide-timeline {
    grid-template-columns: minmax(0, 1fr);
  }

  body.single-ethos_agent {
    padding-bottom: calc(64px + env(safe-area-inset-bottom));
  }

  .ethos-advisor-mobile-actions {
    height: auto;
    min-height: calc(64px + env(safe-area-inset-bottom));
    padding-bottom: env(safe-area-inset-bottom);
  }

  .ethos-advisor-mobile-actions a {
    min-height: 64px;
  }

  .ethos-journal-newsletter__inner {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  .ethos-journal-newsletter form {
    grid-template-columns: minmax(0, 1fr);
  }

  .ethos-journal-newsletter__note,
  .ethos-journal-newsletter__status {
    grid-column: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
/* Final desktop target-size correction. */
.submenu-toggle {
  width: 48px;
  min-width: 48px;
  height: 48px;
  min-height: 48px;
}
