:root{--font-heading:"Recoleta Thriveth", Georgia, serif;--font-body:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-header-jobs-label-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-header-jobs-label-size:10px;--type-header-navigation-font:Bitter, Georgia, serif;--type-header-navigation-size:14px;--type-header-member-button-font:Bitter, Georgia, serif;--type-header-member-button-size:14px;--type-shared-eyebrow-font:Bitter, Georgia, serif;--type-shared-eyebrow-size:11px;--type-shared-button-font:Bitter, Georgia, serif;--type-shared-button-size:13px;--type-shared-link-font:Bitter, Georgia, serif;--type-shared-link-size:12px;--type-footer-text-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-footer-text-size:12px;--type-footer-link-font:Bitter, Georgia, serif;--type-footer-link-size:11px;--type-board-intro-title-font:"Recoleta Thriveth", Georgia, serif;--type-board-intro-title-size:64px;--type-board-intro-subtitle-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-board-intro-subtitle-size:16px;--type-board-search-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-board-search-size:14px;--type-board-clear-button-font:Bitter, Georgia, serif;--type-board-clear-button-size:11px;--type-board-result-count-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-board-result-count-size:14px;--type-job-card-company-font:Bitter, Georgia, serif;--type-job-card-company-size:12px;--type-job-card-featured-font:Bitter, Georgia, serif;--type-job-card-featured-size:11px;--type-job-card-title-font:"Recoleta Thriveth", Georgia, serif;--type-job-card-title-size:24px;--type-job-card-summary-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-job-card-summary-size:14px;--type-job-card-meta-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-job-card-meta-size:12px;--type-board-note-title-font:"Recoleta Thriveth", Georgia, serif;--type-board-note-title-size:18px;--type-board-note-body-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-board-note-body-size:13px;--type-empty-state-heading-font:"Recoleta Thriveth", Georgia, serif;--type-empty-state-heading-size:28px;--type-empty-state-body-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-empty-state-body-size:14px;--type-job-back-link-font:Bitter, Georgia, serif;--type-job-back-link-size:11px;--type-job-posted-font:Bitter, Georgia, serif;--type-job-posted-size:12px;--type-job-title-font:"Recoleta Thriveth", Georgia, serif;--type-job-title-size:56px;--type-job-summary-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-job-summary-size:16px;--type-job-meta-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-job-meta-size:12px;--type-job-category-font:Bitter, Georgia, serif;--type-job-category-size:11px;--type-job-save-button-font:Bitter, Georgia, serif;--type-job-save-button-size:12px;--type-job-company-label-font:Bitter, Georgia, serif;--type-job-company-label-size:10px;--type-job-company-name-font:"Recoleta Thriveth", Georgia, serif;--type-job-company-name-size:28px;--type-job-rating-stars-font:Bitter, Georgia, serif;--type-job-rating-stars-size:22px;--type-job-rating-copy-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-job-rating-copy-size:12px;--type-job-section-heading-font:"Recoleta Thriveth", Georgia, serif;--type-job-section-heading-size:32px;--type-job-rich-heading-font:"Recoleta Thriveth", Georgia, serif;--type-job-rich-heading-size:20px;--type-job-body-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-job-body-size:16px;--type-job-apply-heading-font:"Recoleta Thriveth", Georgia, serif;--type-job-apply-heading-size:22px;--type-job-disclosure-label-font:Bitter, Georgia, serif;--type-job-disclosure-label-size:11px;--type-job-disclosure-body-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-job-disclosure-body-size:11px;--type-job-disclosure-link-font:Bitter, Georgia, serif;--type-job-disclosure-link-size:10px;--type-job-apply-button-font:Bitter, Georgia, serif;--type-job-apply-button-size:13px;--type-job-closing-label-font:Bitter, Georgia, serif;--type-job-closing-label-size:10px;--type-job-closing-company-font:"Recoleta Thriveth", Georgia, serif;--type-job-closing-company-size:22px;--type-company-back-link-font:Bitter, Georgia, serif;--type-company-back-link-size:11px;--type-company-title-font:"Recoleta Thriveth", Georgia, serif;--type-company-title-size:56px;--type-company-tagline-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-company-tagline-size:16px;--type-company-website-button-font:Bitter, Georgia, serif;--type-company-website-button-size:13px;--type-company-section-heading-font:"Recoleta Thriveth", Georgia, serif;--type-company-section-heading-size:36px;--type-company-profile-body-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-company-profile-body-size:16px;--type-company-facts-heading-font:"Recoleta Thriveth", Georgia, serif;--type-company-facts-heading-size:24px;--type-company-fact-label-font:Bitter, Georgia, serif;--type-company-fact-label-size:11px;--type-company-fact-value-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-company-fact-value-size:15px;--type-company-rating-intro-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-company-rating-intro-size:14px;--type-company-rating-card-label-font:Bitter, Georgia, serif;--type-company-rating-card-label-size:12px;--type-company-rating-score-font:"Recoleta Thriveth", Georgia, serif;--type-company-rating-score-size:46px;--type-company-rating-detail-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-company-rating-detail-size:12px;--type-company-review-meta-font:Bitter, Georgia, serif;--type-company-review-meta-size:11px;--type-company-review-title-font:"Recoleta Thriveth", Georgia, serif;--type-company-review-title-size:24px;--type-company-review-body-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-company-review-body-size:14px;--type-company-section-link-font:Bitter, Georgia, serif;--type-company-section-link-size:11px;--type-company-empty-body-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-company-empty-body-size:14px;--type-company-cta-eyebrow-font:Bitter, Georgia, serif;--type-company-cta-eyebrow-size:11px;--type-company-cta-heading-font:"Recoleta Thriveth", Georgia, serif;--type-company-cta-heading-size:36px;--type-company-cta-body-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-company-cta-body-size:16px;--type-company-cta-button-font:Bitter, Georgia, serif;--type-company-cta-button-size:13px;--type-companies-eyebrow-font:Bitter, Georgia, serif;--type-companies-eyebrow-size:11px;--type-companies-title-font:"Recoleta Thriveth", Georgia, serif;--type-companies-title-size:56px;--type-companies-intro-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-companies-intro-size:16px;--type-company-card-featured-font:Bitter, Georgia, serif;--type-company-card-featured-size:11px;--type-company-card-title-font:"Recoleta Thriveth", Georgia, serif;--type-company-card-title-size:26px;--type-company-card-summary-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-company-card-summary-size:14px;--type-company-card-stat-label-font:Bitter, Georgia, serif;--type-company-card-stat-label-size:10px;--type-company-card-stat-value-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-company-card-stat-value-size:14px;--type-company-card-rating-stars-font:Bitter, Georgia, serif;--type-company-card-rating-stars-size:18px;--type-company-card-rating-detail-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-company-card-rating-detail-size:10px;--type-company-card-link-font:Bitter, Georgia, serif;--type-company-card-link-size:12px;--type-companies-empty-body-font:"Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;--type-companies-empty-body-size:14px;--type-companies-empty-button-font:Bitter, Georgia, serif;--type-companies-empty-button-size:13px}
@font-face {
  font-family: "Bitter";
  src: url("/assets/bitter-latin-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Bitter";
  src: url("/assets/bitter-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Open Sans";
  src: url("/assets/open-sans-latin-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Open Sans";
  src: url("/assets/open-sans-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Open Sans";
  src: url("/assets/open-sans-italic-latin-ext.woff2") format("woff2");
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Open Sans";
  src: url("/assets/open-sans-italic-latin.woff2") format("woff2");
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Recoleta Thriveth";
  src: url("/assets/recoleta-thriveth.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Recoleta Thriveth";
  src: url("/assets/recoleta-thriveth.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --ink: #000000;
  --ink-soft: #604820;
  --button-hover: #fee9b4;
  --button-hover-text: #000000;
  --button-motion: 600ms cubic-bezier(0.215, 0.61, 0.355, 1);
  --forest: #000000;
  --forest-dark: #000000;
  --forest-light: #fee9b4;
  --mint: #fff4d8;
  --cream: #fbf7ee;
  --paper: #fffdf8;
  --white: #fff;
  --peach: #fee9b4;
  --peach-soft: #fff3cf;
  --line: #dfd7c8;
  --line-strong: #c9bca8;
  --warning: #604820;
  --danger: #923e36;
  --referral: #f2ca5f;
  --referral-light: #ffe7a0;
  --referral-glow: rgba(105, 75, 180, 0.2);
  --shadow-sm: 0 8px 24px rgba(0, 0, 0, 0.07);
  --shadow-lg: 0 22px 62px rgba(0, 0, 0, 0.1);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --public-header-gutter: clamp(20px, 4.2vw, 66px);
  --public-page-gutter: clamp(18px, 3.4vw, 52px);
  --public-wordmark-ink-inset: clamp(9px, 1.6vw, 17px);
  --public-chrome-gutter: calc(var(--public-header-gutter) + var(--public-wordmark-ink-inset));
  --public-content-gutter: max(var(--public-chrome-gutter), calc((100vw - 1220px) / 2));
  --public-hero-top-space: clamp(42px, 4.2vw, 60px);
  --font-heading: "Recoleta Thriveth", Georgia, serif;
  --font-body: "Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;
  --type-header-jobs-label-font: "Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;
  --type-header-jobs-label-size: 10px;
  --type-header-navigation-font: Bitter, Georgia, serif;
  --type-header-navigation-size: 14px;
  --type-header-member-button-font: Bitter, Georgia, serif;
  --type-header-member-button-size: 14px;
  --type-job-card-featured-font: Bitter, Georgia, serif;
  --type-job-card-featured-size: 11px;
  --type-company-card-featured-font: Bitter, Georgia, serif;
  --type-company-card-featured-size: 11px;
  --type-company-cta-eyebrow-font: Bitter, Georgia, serif;
  --type-company-cta-eyebrow-size: 11px;
  --type-company-cta-heading-font: "Recoleta Thriveth", Georgia, serif;
  --type-company-cta-heading-size: 36px;
  --type-company-cta-body-font: "Open Sans", Arial, ui-sans-serif, system-ui, sans-serif;
  --type-company-cta-body-size: 16px;
  --type-company-cta-button-font: Bitter, Georgia, serif;
  --type-company-cta-button-size: 13px;
  --type-heading-bump: 0rem;
  --type-body-bump: 0rem;
  --type-label-bump: 0rem;
  --type-button-bump: 0rem;
  color: var(--ink);
  background: var(--cream);
  font-family: var(--font-body);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

:root[data-heading-size="large"] { --type-heading-bump: 0.12rem; }
:root[data-heading-size="extra_large"] { --type-heading-bump: 0.24rem; }
:root[data-body-size="large"] { --type-body-bump: 0.08rem; }
:root[data-body-size="extra_large"] { --type-body-bump: 0.16rem; }
:root[data-label-size="large"] { --type-label-bump: 0.05rem; }
:root[data-label-size="extra_large"] { --type-label-bump: 0.1rem; }
:root[data-button-size="large"] { --type-button-bump: 0.07rem; }
:root[data-button-size="extra_large"] { --type-button-bump: 0.14rem; }

* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; min-height: 100vh; background: var(--cream); color: var(--ink); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body.public-menu-is-open { overflow: hidden; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img { max-width: 100%; }
h1, h2, h3 { margin-top: 0; font-family: var(--font-heading); font-weight: 700; letter-spacing: -0.025em; }
p { line-height: 1.65; }
svg { width: 1.1em; height: 1.1em; flex: 0 0 auto; }

.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;
}

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1000;
  padding: 10px 15px;
  border-radius: 999px;
  background: var(--forest-dark);
  color: white;
  font-weight: 750;
  transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }

.public-header {
  position: sticky;
  top: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  height: 116px;
  min-height: 116px;
  padding: 14px var(--public-content-gutter) 14px calc(var(--public-content-gutter) - var(--public-wordmark-ink-inset));
  border-bottom: 1px solid rgba(0, 0, 0, 0.09);
  background: var(--cream);
}

.brand-home-link { display: inline-flex; flex: 0 0 auto; text-decoration: none; }
.public-wordmark {
  display: block;
}
.public-wordmark img { display: block; width: 217px; height: auto; }
.public-navigation { display: flex; align-items: center; gap: 18px; margin-left: auto; font-family: var(--font-body); font-size: 16px; font-weight: 400; line-height: 22px; }
.public-navigation > a { color: var(--ink); text-decoration: none; }
.public-navigation > a:not(.member-access-link):hover, .public-navigation > a:not(.member-access-link).is-active { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 7px; }
.public-header .member-access-link { display: inline-flex; width: auto; height: 44px; min-height: 44px; box-sizing: border-box; align-items: center; justify-content: center; gap: 8px; margin-left: 12px; padding: 0 18px; border: 0; border-radius: 999px; background: #0a0a0a; color: white; font-family: var(--font-body); font-size: 16px; font-weight: 600; line-height: 22px; transition: background-color 220ms ease, color 220ms ease; }
.public-header .member-access-link:hover, .public-header .member-access-link:focus-visible { background: var(--button-hover); color: var(--button-hover-text); }
.public-header .member-access-link svg { width: 18px; height: 18px; stroke-width: 2; }
.public-menu-button { display: none; width: 48px; height: 48px; flex: 0 0 auto; align-items: center; justify-content: center; padding: 0; border: 2px solid rgba(0, 0, 0, 0.68); border-radius: 50%; background: transparent; color: #111; cursor: pointer; }
.public-menu-button svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; vector-effect: non-scaling-stroke; shape-rendering: geometricPrecision; }
.public-menu-icon-close { display: none; }
.public-menu-button[aria-expanded="true"] .public-menu-icon-lines { display: none; }
.public-menu-button[aria-expanded="true"] .public-menu-icon-close { display: block; }
.public-main { min-height: calc(100vh - 116px); }
.jobs-page { padding: 0 var(--public-content-gutter) 56px; }

/* Homepage */
.home-page { padding: 0; }
.home-shell { width: min(1220px, calc(100% - (2 * var(--public-content-gutter)))); margin-inline: auto; }
.home-section { padding-block: clamp(76px, 9vw, 124px); }
.home-hero { background: #fffdf8; }
.home-hero-grid {
  display: grid;
  min-height: 590px;
  width: min(1220px, calc(100% - (2 * var(--public-content-gutter))));
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr);
  align-items: start;
  gap: clamp(42px, 7vw, 100px);
  padding: var(--public-hero-top-space) 0 clamp(56px, 7vw, 96px);
}
.home-hero-copy { padding-top: 0; }
.home-hero-copy h1 { max-width: 820px; margin-bottom: 26px; line-height: 0.94; }
.home-hero-copy h1 em, .companies-intro h1 em, .cms-blog-index-hero h1 em {
  background: linear-gradient(90deg, #ed8daa, #efbb74, #8dccaa, #7bbde5, #ae97df, #ed8daa);
  background-size: 300% 100%;
  background-clip: text;
  color: transparent;
  font-style: normal;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: thriveth-headline-hue 10s ease-in-out infinite;
}
.home-hero-copy > p:not(.eyebrow) { max-width: 650px; margin: 0 0 30px; color: #44392b; font-size: clamp(1rem, 1.25vw, 1.12rem); }
.home-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.home-actions .public-button { min-height: 52px; padding-inline: 23px; }
.home-hero-visual { position: relative; min-height: 440px; margin-top: 30px; }
.home-hero-visual img { position: absolute; top: 50%; left: 50%; width: 72%; height: auto; filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.16)); transform: translate(-50%, -50%); }
.home-opportunities { background: #fffaf0; }
.home-section-heading { max-width: 850px; margin-bottom: clamp(30px, 4vw, 52px); }
.home-section-heading h2, .home-about-grid h2, .home-membership h2 { margin-bottom: 18px; font-size: clamp(2.8rem, 5.2vw, 5.1rem); line-height: 0.95; }
.home-section-heading > p:not(.eyebrow) { max-width: 720px; margin: 0; color: var(--ink-soft); font-size: 0.95rem; }
.home-job-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.home-job-card {
  display: flex;
  min-width: 0;
  min-height: 430px;
  flex-direction: column;
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--paper);
  box-shadow: var(--shadow-sm);
  color: var(--ink);
  text-decoration: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.home-job-card:hover { transform: translateY(-3px); border-color: var(--ink); box-shadow: var(--shadow-lg); }
.home-job-card-company { display: flex; min-width: 0; align-items: center; gap: 10px; color: var(--ink-soft); font-size: 0.78rem; font-weight: 750; }
.home-job-card-company > span:not(.public-company-logo):not(.featured-badge) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-job-card h3 { margin: 28px 0 14px; overflow-wrap: anywhere; font-size: clamp(1.55rem, 2.3vw, 2rem); line-height: 1.04; }
.home-job-card > p { display: -webkit-box; margin: 0 0 24px; overflow: hidden; color: var(--ink-soft); font-size: 0.92rem; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.home-job-card-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-bottom: 24px; }
.home-job-card-meta span { padding: 8px 11px; border-radius: 999px; background: var(--mint); color: var(--forest-dark); font-size: 0.75rem; font-weight: 750; }
.home-job-card > strong { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 0.82rem; }
.home-job-card > strong svg { transition: transform 160ms ease; }
.home-job-card:hover > strong svg { transform: translateX(4px); }
.home-centered-action { display: flex; justify-content: center; margin-top: 38px; }
.home-empty-state { grid-column: 1 / -1; padding: 34px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); text-align: center; }
.home-membership { background: #fff8e7; color: var(--ink); }
.home-membership-grid { display: grid; grid-template-columns: minmax(360px, 0.95fr) minmax(0, 1.05fr); align-items: center; gap: clamp(44px, 8vw, 110px); }
.home-membership .eyebrow { color: var(--ink-soft); }
.home-membership h2 { max-width: 650px; }
.home-membership-copy > p:not(.eyebrow) { max-width: 680px; margin: 0 0 28px; color: #44392b; font-size: 1rem; }
.home-membership .public-button-primary { border-color: var(--ink); background: var(--ink); color: white; }
.home-membership-features { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.home-membership li { position: relative; display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 14px; overflow: hidden; padding: 16px; border: 1px solid rgba(96, 72, 32, 0.22); border-radius: var(--radius-md); background: rgba(255, 255, 255, 0.36); transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.home-membership li::before { position: absolute; inset: 0; z-index: 0; content: ""; background: linear-gradient(110deg, #f3a6b7, #f8cf8b, #b9e5c9, #a9d8f4, #cbb7ed, #f3a6b7); background-size: 300% 100%; opacity: 0; transition: opacity 220ms ease; animation: thriveth-headline-hue 5s ease-in-out infinite paused; }
.home-membership li > svg { position: relative; z-index: 1; width: 22px; height: 22px; justify-self: center; color: var(--ink); }
.home-membership li span { position: relative; z-index: 1; font-weight: 700; line-height: 1.4; }
@media (hover: hover) {
  .home-membership li:hover { border-color: rgba(57, 48, 37, 0.45); box-shadow: 0 12px 26px rgba(94, 75, 80, 0.13); transform: translateY(-2px); }
  .home-membership li:hover::before { opacity: 0.3; animation-play-state: running; }
}
.home-about { position: relative; overflow: hidden; background: linear-gradient(135deg, #fff6df 0%, #fff3d6 100%); }
.home-about-grid { position: relative; display: grid; grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr); gap: clamp(44px, 8vw, 110px); }
.home-about-intro { display: grid; align-content: start; }
.home-about-orb { width: clamp(110px, 12vw, 170px); height: auto; margin-top: clamp(26px, 4vw, 44px); filter: drop-shadow(0 16px 26px rgba(48, 54, 41, 0.13)); }
.home-about-copy p { margin: 0 0 20px; color: #44392b; font-size: clamp(1rem, 1.35vw, 1.16rem); }
.home-about-copy .public-button { margin-top: 8px; }
.home-blog { background: #fff0cb; }
.home-blog .cms-blog-grid { width: 100%; }
.home-final-cta { padding-block: clamp(64px, 7vw, 96px); background: #ffedc1; color: var(--ink); text-align: center; }
.home-final-cta .home-shell { display: grid; justify-items: center; }
.home-final-cta h2 { max-width: 920px; margin-bottom: 28px; font-size: clamp(2.7rem, 5vw, 4.8rem); line-height: 0.98; text-wrap: balance; }
.home-final-cta .public-button-primary { border-color: var(--ink); background: var(--ink); color: white; }
.home-final-cta .public-button-secondary { border-color: var(--ink); background: white; color: var(--ink); }

.eyebrow {
  margin: 0 0 12px;
  color: var(--ink-soft);
  font-size: calc(0.68rem + var(--type-label-bump));
  font-weight: 850;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.jobs-intro {
  display: grid;
  grid-template-columns: 1fr;
  align-items: end;
  gap: clamp(22px, 2.4vw, 34px);
  width: min(1220px, 100%);
  margin: 0 auto;
  padding: var(--public-hero-top-space) 0 clamp(22px, 2.8vw, 36px);
}
.jobs-intro h1 { margin-bottom: 0; font-size: clamp(calc(3rem + var(--type-heading-bump)), calc(6.1vw + var(--type-heading-bump)), calc(6.3rem + var(--type-heading-bump))); line-height: 0.94; }
.jobs-intro h1 em {
  background: linear-gradient(90deg, #f3a6b7, #f8cf8b, #b9e5c9, #a9d8f4, #cbb7ed, #f3a6b7);
  background-size: 300% 100%;
  background-clip: text;
  color: transparent;
  font-style: normal;
  font-weight: inherit;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: thriveth-headline-hue 10s ease-in-out infinite;
}

@keyframes thriveth-headline-hue {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

.job-filters {
  position: static;
  z-index: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 9px;
  width: 100%;
  margin: 0 0 4px;
  padding: 10px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 12px;
  background: rgba(255, 248, 231, 0.97);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(16px);
}
.job-filters label { position: relative; display: grid; gap: 3px; min-width: 0; }
.job-filters label > span:not(.sr-only) { padding-left: 13px; color: var(--ink-soft); font-size: 0.57rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.job-filters input, .job-filters select {
  width: 100%;
  min-height: 43px;
  border: 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
  color: var(--ink);
  outline: none;
}
.job-filters input { padding: 8px 12px; }
.job-filters select { padding: 8px 33px 8px 12px; cursor: pointer; }
.public-search { align-self: end; }
.public-search input { padding-left: 42px; }
.public-search > svg { position: absolute; bottom: 13px; left: 15px; z-index: 1; color: var(--forest); }
.job-filters input:focus, .job-filters select:focus { box-shadow: 0 0 0 3px rgba(254, 233, 180, 0.95); }
.job-search-submit {
  min-height: 43px;
  align-self: end;
  padding: 8px 17px;
  border: 1px solid var(--ink);
  border-radius: 8px;
  background: var(--ink);
  color: white;
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 800;
}
.job-search-submit:hover, .job-search-submit:focus-visible { border-color: var(--button-hover); background: var(--button-hover); color: var(--button-hover-text); }
.clear-filters {
  display: none;
  align-self: end;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 43px;
  padding: 8px 13px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--ink-soft);
  cursor: pointer;
  font-size: 0.68rem;
  font-weight: 750;
}
.clear-filters.is-visible { display: inline-flex; }
.clear-filters:hover { background: var(--peach-soft); color: var(--ink); }
.job-filter-details { grid-column: 1 / -1; min-width: 0; }
.job-filter-details > summary { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 12px; border-radius: 8px; background: rgba(255, 255, 255, 0.88); color: var(--ink); cursor: pointer; list-style: none; }
.job-filter-details > summary::-webkit-details-marker { display: none; }
.job-filter-details > summary > span { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; }
.job-filter-details > summary > strong { color: var(--ink-soft); font-size: 0.68rem; }
.job-filter-details > summary:focus-visible { box-shadow: 0 0 0 3px rgba(254, 233, 180, 0.95); outline: none; }
.job-filter-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; padding: 3px 0 0; }
.job-filter-details:not([open]) > .job-filter-grid { display: none; }
.job-filter-details summary svg { width: 18px; height: 18px; }
.quick-filter-row {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
  padding: 11px 4px 0;
}
.quick-filter-row > span {
  flex: 0 0 auto;
  color: var(--ink-soft);
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.job-filter-details:not([open]) > .quick-filter-row { display: none; }
.quick-filter-tags { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.quick-filter-tag {
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid rgba(35, 78, 67, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  color: var(--forest-dark);
  cursor: pointer;
  font-size: calc(0.62rem + var(--type-label-bump));
  font-weight: 750;
}
.quick-filter-tag:hover { border-color: var(--forest); background: var(--mint-soft); }
.quick-filter-tag.is-active { border-color: var(--forest-dark); background: var(--forest-dark); color: white; }

.board-shell {
  scroll-margin-top: 92px;
  display: grid;
  grid-template-columns: minmax(370px, 0.82fr) minmax(560px, 1.45fr);
  align-items: start;
  width: min(1380px, 100%);
  height: auto;
  min-height: 0;
  margin: 0 auto;
  overflow: visible;
  border: 0;
  border-radius: var(--radius-lg);
  background: transparent;
  box-shadow: var(--shadow-lg);
}
.results-pane { min-width: 0; overflow: hidden; border: 1px solid rgba(0, 0, 0, 0.14); border-right-color: var(--line); border-radius: var(--radius-lg) 0 0 var(--radius-lg); background: var(--cream); }
.results-pane > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 58px;
  padding: 15px 20px;
  border-bottom: 1px solid var(--line);
  background: rgba(251, 247, 238, 0.97);
}
.results-pane > header strong { font-size: 0.9rem; }
.job-list { height: auto; padding: 12px; overflow: visible; }

.job-card {
  position: relative;
  display: block;
  min-width: 0;
  margin-bottom: 9px;
  padding: 18px;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  background: rgba(255, 253, 248, 0.76);
  text-decoration: none;
  transition: border-color 150ms ease, background 150ms ease, transform 150ms ease, box-shadow 150ms ease;
}
.job-card:hover { transform: translateY(-1px); border-color: var(--ink); background: var(--paper); box-shadow: var(--shadow-sm); }
.job-card.is-selected { border-color: var(--ink); background: #fff8e7; box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08); }
.job-card.is-selected::before { display: none; }
.job-card-top { display: flex; align-items: center; gap: 10px; color: var(--ink-soft); font-size: calc(0.73rem + var(--type-label-bump)); font-weight: 750; }
.featured-badge { display: inline-flex; align-items: center; margin-left: auto; padding: 7px 11px; border: 1px solid rgba(161, 95, 20, 0.24); border-radius: 999px; background: linear-gradient(135deg, #fff9df 0%, #fee9b4 58%, #ffd887 100%); box-shadow: 0 4px 12px rgba(121, 73, 20, 0.12); color: #6f3f17; font-size: calc(0.68rem + var(--type-label-bump)); font-weight: 850; letter-spacing: 0.015em; line-height: 1; text-transform: none; }
.job-card h2 { min-width: 0; margin: 16px 0 9px; overflow-wrap: anywhere; font-size: clamp(calc(1.34rem + var(--type-heading-bump)), calc(1.85vw + var(--type-heading-bump)), calc(1.66rem + var(--type-heading-bump))); line-height: 1.08; }
.job-card-summary { display: -webkit-box; min-width: 0; margin: 0 0 15px; overflow: hidden; overflow-wrap: anywhere; color: var(--ink-soft); font-size: calc(0.88rem + var(--type-body-bump)); line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.job-card-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.job-card-meta span { padding: 8px 11px; border-radius: 999px; background: var(--mint); color: var(--forest-dark); font-size: calc(0.75rem + var(--type-label-bump)); font-weight: 750; }

.results-pagination { display: grid; gap: 13px; padding: 18px; border-top: 1px solid var(--line); background: var(--paper); }
.results-pagination > p { margin: 0; color: var(--ink-soft); font-size: calc(0.72rem + var(--type-label-bump)); }
.results-pagination > p strong { color: var(--ink); }
.results-pagination-actions, .results-page-numbers { display: flex; align-items: center; gap: 7px; }
.results-pagination-actions { justify-content: space-between; }
.results-page-numbers { min-width: 0; justify-content: center; }
.results-page-link {
  display: inline-grid;
  place-items: center;
  min-width: 42px;
  min-height: 42px;
  padding: 8px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: var(--cream);
  color: var(--ink);
  font-family: Bitter, Georgia, serif;
  font-size: calc(0.76rem + var(--type-button-bump));
  font-weight: 700;
  text-decoration: none;
}
.results-page-link:hover { border-color: var(--line-strong); background: var(--peach-soft); }
.results-page-link.is-current { background: var(--ink); color: white; cursor: default; }
.results-page-link.is-disabled { opacity: 0.38; pointer-events: none; }
.results-page-arrow svg { width: 17px; height: 17px; }

.public-company-logo { position: relative; display: grid; place-items: center; flex: 0 0 auto; overflow: hidden; border: 1px solid rgba(0, 0, 0, 0.11); border-radius: 10px; background: white; color: var(--forest); font-family: var(--font-heading); font-weight: 700; }
.public-company-logo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 6px; background: white; }
.logo-small { width: 36px; height: 36px; border-radius: 8px; font-size: 0.9rem; }
.logo-small img { padding: 4px; }
.logo-medium { width: 48px; height: 48px; }
.logo-large { width: 106px; height: 106px; border-radius: 14px; font-size: 2.2rem; box-shadow: var(--shadow-sm); }

.detail-pane { position: sticky; top: 104px; width: 100%; min-width: 0; height: calc(100vh - 120px); overflow: hidden; border: 1px solid rgba(0, 0, 0, 0.14); border-left: 0; border-radius: 0 var(--radius-lg) var(--radius-lg) 0; background: var(--paper); container-name: job-detail-pane; container-type: inline-size; }
.job-detail { min-height: 100%; }
.detail-pane > .job-detail { display: flex; height: 100%; min-height: 0; flex-direction: column; }
.detail-pane > .job-detail > .job-detail-header { flex: 0 0 auto; }
.job-detail-scroll { min-height: 0; flex: 1 1 auto; overflow-x: hidden; overflow-y: auto; }
.job-detail-header { padding: clamp(28px, 4vw, 54px) clamp(25px, 4.5vw, 64px) clamp(20px, 2.5vw, 30px); border-bottom: 1px solid var(--line); background: radial-gradient(circle at 96% 4%, rgba(254, 233, 180, 0.72), transparent 35%), var(--paper); }
.detail-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 17px; color: var(--ink-soft); font-size: calc(0.76rem + var(--type-label-bump)); font-weight: 750; }
.detail-eyebrow .featured-badge { margin-left: 0; }
.job-detail-header h1 { max-width: 850px; margin-bottom: 0; font-size: clamp(calc(2.35rem + var(--type-heading-bump)), calc(4.3vw + var(--type-heading-bump)), calc(4.9rem + var(--type-heading-bump))); line-height: 0.98; }
.job-detail-summary { padding: 26px clamp(25px, 4.5vw, 64px) 30px; border-bottom: 1px solid var(--line); background: var(--paper); }
.job-detail-summary > p { max-width: 780px; margin: 0 0 21px; color: var(--ink-soft); font-size: clamp(calc(0.94rem + var(--type-body-bump)), calc(1.4vw + var(--type-body-bump)), calc(1.12rem + var(--type-body-bump))); }
.detail-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.meta-pill { display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255, 255, 255, 0.76); color: var(--ink-soft); font-size: calc(0.76rem + var(--type-label-bump)); font-weight: 700; }
.detail-controls { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-top: 15px; }
.category-tags { display: flex; min-width: 0; flex-wrap: wrap; gap: 7px; }
.category-tags a { display: inline-flex; padding: 7px 11px; border-radius: 999px; background: var(--forest); color: white; font-size: calc(0.69rem + var(--type-label-bump)); font-weight: 750; text-decoration: none; }
.category-tags a:hover, .category-tags a:focus-visible { background: var(--forest-dark); text-decoration: underline; text-underline-offset: 3px; }
.save-job-button { display: inline-flex; align-items: center; flex: 0 0 auto; gap: 7px; min-height: 44px; padding: 10px 15px; border: 1px solid var(--line-strong); border-radius: 9px; background: white; color: var(--ink); cursor: pointer; font-size: calc(0.76rem + var(--type-button-bump)); font-weight: 800; }
.save-job-button svg { width: 17px; height: 17px; }
.save-job-button.is-saved { border-color: var(--ink); background: var(--ink); color: white; }
.save-job-button:disabled { cursor: wait; opacity: .65; }

.job-company-band { display: grid; grid-template-columns: minmax(230px, 0.9fr) minmax(280px, 1.1fr); border-bottom: 1px solid var(--line); background: #fffdf8; }
.job-company-band-identity { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 15px; min-height: 124px; padding: 22px clamp(25px, 3vw, 42px); border-right: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.job-company-band-identity > span { display: grid; gap: 2px; min-width: 0; }
.job-company-band-identity small { color: var(--ink-soft); font-size: calc(0.59rem + var(--type-label-bump)); font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.job-company-band-identity strong { overflow: hidden; font-family: var(--font-heading); font-size: clamp(calc(1.35rem + var(--type-heading-bump)), calc(2.2vw + var(--type-heading-bump)), calc(1.9rem + var(--type-heading-bump))); line-height: 1.1; text-overflow: ellipsis; }
.job-company-band-identity > svg { color: var(--ink-soft); transition: transform 150ms ease; }
.job-company-band-identity:hover > svg { transform: translateX(3px); }
.job-company-band-identity .logo-medium { width: 58px; height: 58px; }
.job-company-band-rating { display: grid; align-content: center; gap: 9px; min-height: 124px; padding: 22px clamp(25px, 3vw, 42px); }
.job-rating-stars { flex: 0 0 auto; color: #000; font-size: clamp(1.18rem, 2vw, 1.5rem); font-weight: 700; letter-spacing: 0.11em; line-height: 1; white-space: nowrap; }
.job-rating-copy { color: var(--ink-soft); font-size: calc(0.74rem + var(--type-label-bump)); font-weight: 700; line-height: 1.45; }
.separate-rating-line { display: grid; grid-template-columns: minmax(125px, 1fr) auto; align-items: baseline; gap: 2px 14px; padding: 7px 0; border-bottom: 1px solid var(--line); }
.separate-rating-line:last-child { border-bottom: 0; }
.separate-rating-line > span { color: var(--ink); font-size: calc(0.7rem + var(--type-label-bump)); font-weight: 800; }
.separate-rating-line > strong { font-family: var(--font-heading); font-size: calc(1.05rem + var(--type-heading-bump)); }
.separate-rating-line > small { grid-column: 1 / -1; color: var(--ink-soft); font-size: calc(0.62rem + var(--type-label-bump)); }

.job-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 0.42fr); align-items: start; gap: clamp(24px, 4vw, 56px); padding: clamp(30px, 4vw, 54px) clamp(25px, 4.5vw, 64px) 70px; }
.related-jobs { display: none; }
.job-detail-copy { min-width: 0; }
.job-copy-section { margin-bottom: 42px; }
.job-copy-section h2 { margin-bottom: 16px; font-size: clamp(calc(1.75rem + var(--type-heading-bump)), calc(2.4vw + var(--type-heading-bump)), calc(2.15rem + var(--type-heading-bump))); }
.rich-copy { color: #352f27; font-size: clamp(calc(0.94rem + var(--type-body-bump)), calc(1.15vw + var(--type-body-bump)), calc(1.02rem + var(--type-body-bump))); line-height: 1.78; overflow-wrap: anywhere; }
.rich-copy p:first-child { margin-top: 0; }
.rich-copy a { color: var(--forest); font-weight: 750; text-underline-offset: 3px; }
.rich-copy h2, .rich-copy h3 { margin: 1.8em 0 0.7em; font-family: var(--font-heading); font-size: calc(1.28rem + var(--type-heading-bump)); font-weight: 700; letter-spacing: -0.01em; }
.rich-copy ul, .rich-copy ol { padding-left: 1.35rem; }
.rich-copy li { margin: 0.55em 0; }
.rich-copy blockquote { margin: 1.4em 0; padding: 12px 17px; border-left: 3px solid var(--peach); background: var(--peach-soft); }
.eligibility-disclosure { margin: 0.9rem 0 1rem; padding: 0.8rem 0; border-block: 1px solid var(--line); }
.eligibility-disclosure summary { width: fit-content; color: var(--forest); cursor: pointer; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.eligibility-disclosure summary:focus-visible { border-radius: 3px; box-shadow: 0 0 0 3px rgba(254, 233, 180, 0.8); outline: 0; }
.eligibility-disclosure > div { padding-top: 0.45rem; }
.eligibility-disclosure > div p:last-child { margin-bottom: 0; }
.detail-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin: 0; padding-left: 1.15rem; color: #352f27; }
.detail-list li { min-width: 0; padding-left: 3px; font-size: calc(0.94rem + var(--type-body-bump)); line-height: 1.65; overflow-wrap: anywhere; }
.detail-list li::marker { color: var(--ink-soft); }
.job-compensation-amount { margin: 0 0 14px; color: #352f27; font-size: calc(0.94rem + var(--type-body-bump)); line-height: 1.65; }
.check-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.check-list li { display: flex; align-items: flex-start; gap: 9px; color: #352f27; font-size: calc(0.94rem + var(--type-body-bump)); line-height: 1.6; }
.check-list svg { margin-top: 3px; color: var(--forest); }
.requirements-list { display: grid; gap: 10px; margin: 0; }
.requirements-list div { display: grid; grid-template-columns: 110px 1fr; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.requirements-list dt { color: var(--ink-soft); font-size: calc(0.66rem + var(--type-label-bump)); font-weight: 800; text-transform: uppercase; }
.requirements-list dd { margin: 0; font-size: calc(0.92rem + var(--type-body-bump)); }

.apply-panel { position: sticky; top: 24px; display: grid; min-width: 0; gap: 12px; }
.apply-action { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--peach); }
.apply-action p { margin: 0 0 12px; font-family: var(--font-heading); font-size: calc(1.4rem + var(--type-heading-bump)); }
.apply-buttons { display: grid; gap: 10px; }
.referral-disclosure { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(46, 62, 54, 0.2); }
.referral-disclosure strong { font-size: calc(0.7rem + var(--type-label-bump)); text-transform: uppercase; letter-spacing: 0.08em; }
.referral-disclosure p { margin: 8px 0 0; color: var(--ink-soft); font-family: var(--font-body); font-size: calc(0.68rem + var(--type-body-bump)); line-height: 1.55; }
.referral-disclosure a { display: inline-flex; align-items: center; gap: 5px; color: var(--ink-soft); font-size: calc(0.62rem + var(--type-label-bump)); font-weight: 800; }
.account-route-disclosure { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(46, 62, 54, 0.2); }
.account-route-disclosure strong { font-size: calc(0.7rem + var(--type-label-bump)); text-transform: uppercase; letter-spacing: 0.08em; }
.account-route-disclosure p { margin: 8px 0 0; color: var(--ink-soft); font-family: var(--font-body); font-size: calc(0.68rem + var(--type-body-bump)); line-height: 1.55; }
.referral-details { margin-top: 10px; }
.referral-details summary { width: fit-content; color: var(--ink); cursor: pointer; font-size: calc(0.64rem + var(--type-label-bump)); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.referral-details summary:focus-visible { border-radius: 3px; box-shadow: 0 0 0 3px rgba(255, 253, 248, 0.85); outline: 0; }
.referral-details[open] summary { margin-bottom: 8px; }
.referral-details p { padding-left: 12px; border-left: 2px solid rgba(191, 151, 43, 0.45); }

.public-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 11px 17px;
  border: 1px solid transparent;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 800;
  font-size: calc(0.72rem + var(--type-button-bump));
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  transition: transform 150ms ease, background 150ms ease, border-color 150ms ease, color 150ms ease;
}
.public-button:hover { transform: translateY(-1px); }
.public-button-primary { border-radius: 999px; background: var(--forest); color: white; transition: background-color var(--button-motion), border-color var(--button-motion), color var(--button-motion); }
.public-button-primary:not(:disabled):not(.is-disabled):hover { border-color: var(--button-hover); background: var(--button-hover); color: var(--button-hover-text); transform: none; }
.public-button-secondary { border-color: var(--line-strong); border-radius: 999px; background: white; color: var(--ink); }
.public-button-secondary:not(:disabled):not(.is-disabled):hover { border-color: var(--button-hover); background: var(--button-hover); color: var(--button-hover-text); transform: none; }
.home-opportunities .public-button-secondary:not(:disabled):not(.is-disabled):hover,
.home-about .public-button-secondary:not(:disabled):not(.is-disabled):hover,
.home-blog .public-button-secondary:not(:disabled):not(.is-disabled):hover,
.home-final-cta .public-button-secondary:not(:disabled):not(.is-disabled):hover { border-color: var(--ink); background: var(--ink); color: white; }
.home-membership .public-button-primary:not(:disabled):not(.is-disabled):hover,
.home-final-cta .public-button-primary:not(:disabled):not(.is-disabled):hover { border-color: var(--ink); background: white; color: var(--ink); }
.public-button-referral { border-color: rgba(0, 0, 0, 0.58); border-radius: 999px; background: linear-gradient(118deg, #d9a51f 0%, var(--referral) 35%, var(--referral-light) 70%, #fffdf5 100%); color: var(--ink); box-shadow: 0 7px 18px var(--referral-glow); transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease; }
.public-button-referral:not(:disabled):not(.is-disabled):hover { background: linear-gradient(118deg, var(--referral-light) 0%, var(--referral) 72%, #d9cdfa 100%); box-shadow: 0 11px 26px rgba(105, 75, 180, 0.25); transform: translateY(-2px); }
.public-button-referral svg { transition: transform 180ms ease; }
.public-button-referral:hover svg { transform: translate(3px, -2px); }
.public-button-direct { border-color: rgba(96, 72, 32, 0.38); border-radius: 999px; background: rgba(255, 253, 248, 0.82); color: var(--ink); transition: border-color 180ms ease, background 180ms ease, transform 180ms ease; }
.public-button-direct:not(:disabled):not(.is-disabled):hover { border-color: var(--ink); background: var(--white); transform: translateY(-1px); }
.public-button-danger { border-color: #b86c61; background: #923e36; color: white; }
.public-button-danger:hover { background: #74312b; }
.public-button:disabled { cursor: not-allowed; opacity: 0.55; transform: none; }
.public-button.is-disabled { opacity: 0.55; cursor: not-allowed; transform: none; }
.apply-action .public-button { width: 100%; min-height: 52px; font-size: calc(0.84rem + var(--type-button-bump)); }
.apply-action .public-button-primary:not(:disabled):not(.is-disabled):hover { border-color: var(--ink); background: var(--white); color: var(--ink); }

.job-company-closing-link { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 15px; margin-top: 16px; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius-md); background: linear-gradient(110deg, white, var(--peach-soft)); color: var(--ink); text-decoration: none; transition: border-color 150ms ease, transform 150ms ease, box-shadow 150ms ease; }
.job-company-closing-link:hover { transform: translateY(-1px); border-color: var(--ink); box-shadow: var(--shadow-sm); }
.job-company-closing-link > span:not(.public-company-logo) { display: grid; gap: 2px; min-width: 0; }
.job-company-closing-link small { color: var(--ink-soft); font-size: calc(0.62rem + var(--type-label-bump)); font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.job-company-closing-link strong { overflow: hidden; font-family: var(--font-heading); font-size: calc(1.35rem + var(--type-heading-bump)); line-height: 1.15; text-overflow: ellipsis; }
.job-company-closing-link > svg { color: var(--ink-soft); transition: transform 150ms ease; }
.job-company-closing-link:hover > svg { transform: translateX(3px); }

.mobile-back { display: none; }

.detail-empty, .results-empty { display: grid; place-items: center; align-content: center; min-height: 100%; padding: 38px; color: var(--ink-soft); text-align: center; }
.detail-empty svg, .results-empty svg { width: 34px; height: 34px; margin-bottom: 14px; color: var(--forest); }
.detail-empty h2, .results-empty h2 { margin-bottom: 5px; color: var(--ink); font-size: calc(1.8rem + var(--type-heading-bump)); }
.detail-empty p, .results-empty p { max-width: 370px; margin-top: 0; font-size: calc(0.8rem + var(--type-body-bump)); }
.results-empty { min-height: 440px; }
.results-empty .public-button { margin-top: 8px; }
.empty-code { margin-bottom: 13px; padding: 6px 9px; border-radius: 999px; background: var(--peach-soft); color: #71472e; font-size: 0.62rem; font-weight: 800; text-transform: uppercase; }

.board-note { display: grid; grid-template-columns: minmax(220px, 0.55fr) 1fr; align-items: center; gap: 40px; width: min(1170px, calc(100% - 40px)); margin: 56px auto 12px; padding: 26px 0; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.board-note strong { font-family: var(--font-heading); font-size: calc(1.15rem + var(--type-heading-bump)); font-weight: 700; }
.board-note p { margin: 0; color: var(--ink-soft); font-size: calc(0.78rem + var(--type-body-bump)); }

.public-footer { padding: clamp(38px, 4vw, 52px) 0 22px; background: var(--peach); color: var(--ink); container-type: inline-size; text-rendering: optimizeLegibility; }
.public-footer-inner { width: min(1220px, calc(100% - var(--public-content-gutter) - var(--public-content-gutter))); margin-inline: auto; }
.public-footer-grid { display: grid; grid-template-columns: minmax(270px, 1.55fr) repeat(3, minmax(120px, 0.75fr)); gap: clamp(34px, 5vw, 76px); align-items: start; }
.public-footer-brand > .brand-home-link { width: min(216.734px, 100%); margin: 0 0 22px calc(-1 * var(--public-wordmark-ink-inset)); }
.public-footer-brand .public-wordmark img { width: 100%; }
.public-footer-brand > p { max-width: 390px; margin: 0; font-family: var(--font-heading); font-size: clamp(1.3rem, 2vw, 1.75rem); font-weight: 700; line-height: 1.08; letter-spacing: -0.02em; }
.public-footer-links { display: grid; align-content: start; gap: 0; font-family: var(--font-body); font-size: 14px; font-synthesis: none; font-weight: 400; line-height: 1.55; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.public-footer-links strong { margin: 4px 0 18px; font-family: var(--font-body); font-size: 11px; font-weight: 700; line-height: 1.35; letter-spacing: 0.14em; text-transform: uppercase; }
.public-footer-links a { width: fit-content; max-width: 100%; margin: 0 0 9px; color: var(--ink); font-family: var(--font-body); font-size: 14px; font-weight: 400; line-height: 1.55; text-decoration: none; }
.public-footer-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.cookie-settings-link { width: fit-content; max-width: 100%; margin: 0 0 9px; padding: 0; border: 0; background: transparent; color: var(--ink); cursor: pointer; font: inherit; font-size: 14px; font-weight: 400; line-height: 1.55; text-align: left; }
.cookie-settings-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.cookie-settings-link:focus-visible { border-radius: 2px; outline: 3px solid rgba(0, 0, 0, 0.75); outline-offset: 3px; }
.public-footer-bottom { width: 100%; margin: clamp(28px, 3vw, 40px) 0 0; padding-top: 16px; border-top: 1px solid rgba(0, 0, 0, 0.22); font-family: var(--font-body); font-size: 13px; font-weight: 400; line-height: 1.5; }

.consent-banner { position: fixed; z-index: 110; right: clamp(10px, 2vw, 20px); bottom: clamp(10px, 2vw, 20px); left: clamp(10px, 2vw, 20px); display: grid; grid-template-columns: minmax(0, 1fr) auto; width: min(900px, calc(100% - clamp(20px, 4vw, 40px))); max-height: calc(100vh - 20px); gap: 16px; align-items: center; margin-inline: auto; padding: 13px 14px 13px 16px; overflow-y: auto; border: 1px solid var(--ink); border-radius: var(--radius-md); background: var(--paper); box-shadow: 0 12px 38px rgba(0, 0, 0, 0.2); color: var(--ink); }
.consent-banner[hidden] { display: none; }
.consent-banner p { max-width: 650px; margin: 0; color: var(--ink-soft); font-size: 0.82rem; line-height: 1.45; }
.consent-banner p strong { color: var(--ink); }
.consent-banner a { color: var(--ink); font-weight: 750; text-underline-offset: 3px; }
.consent-banner-actions { display: flex; justify-content: flex-end; gap: 7px; }
.consent-banner-actions .public-button { min-height: 42px; padding: 9px 14px; }
.consent-banner button:focus-visible, .consent-settings button:focus-visible, .consent-settings input:focus-visible { outline: 3px solid #d5a11f; outline-offset: 3px; }

.consent-settings { width: min(680px, calc(100% - 28px)); max-height: calc(100vh - 28px); padding: 0; overflow: auto; border: 1px solid var(--ink); border-radius: var(--radius-lg); background: var(--paper); box-shadow: 0 24px 90px rgba(0, 0, 0, 0.28); color: var(--ink); }
.consent-settings::backdrop { background: rgba(0, 0, 0, 0.52); }
.consent-settings form { display: grid; gap: 18px; padding: clamp(22px, 4vw, 36px); }
.consent-settings-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.consent-settings-heading h2 { margin: 2px 0 0; font-size: clamp(1.8rem, 4vw, 2.6rem); }
.consent-settings-heading .eyebrow { margin: 0; }
.consent-settings form > p { margin: -4px 0 0; color: var(--ink-soft); font-size: 0.92rem; line-height: 1.6; }
.consent-settings-close { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; padding: 0; border: 1px solid var(--line-strong); border-radius: 999px; background: white; color: var(--ink); cursor: pointer; font-size: 1.65rem; line-height: 1; }
.consent-category { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-md); background: white; color: var(--ink); }
.consent-category > div, .consent-category > span:first-child { display: grid; gap: 5px; }
.consent-category strong { font-size: 0.96rem; }
.consent-category span span, .consent-category > div > span { color: var(--ink-soft); font-size: 0.82rem; line-height: 1.5; }
.consent-category input { width: 24px; height: 24px; flex: 0 0 24px; accent-color: var(--ink); cursor: pointer; }
.consent-always-on { flex: 0 0 auto; padding: 5px 9px; border-radius: 999px; background: var(--mint); color: var(--ink-soft); font-size: 0.72rem; font-weight: 800; }
.consent-settings-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.consent-settings-actions .public-button { min-height: 47px; padding: 11px 19px; }

@media (max-width: 760px) {
  .consent-banner { grid-template-columns: 1fr; gap: 11px; padding: 14px; }
  .consent-banner-actions { justify-content: flex-start; max-width: none; }
}

@media (max-width: 520px) {
  .consent-banner-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .consent-banner-actions .public-button { width: 100%; }
  .consent-settings-actions { display: grid; grid-template-columns: 1fr; }
  .consent-settings-actions .public-button { width: 100%; }
  .consent-category { align-items: flex-start; gap: 14px; padding: 15px; }
  .consent-always-on { white-space: nowrap; }
}

.company-page { width: min(1260px, calc(100% - 40px)); margin: 0 auto; padding: 38px 0 80px; }
.page-back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 26px; color: var(--ink-soft); font-size: 0.7rem; font-weight: 750; text-decoration: none; }
.page-back:hover { color: var(--forest); }
.company-hero { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: clamp(20px, 4vw, 48px); padding: clamp(26px, 5vw, 58px); border: 1px solid rgba(0, 0, 0, 0.12); border-radius: var(--radius-lg); background: radial-gradient(circle at 90% 20%, rgba(254, 233, 180, 0.76), transparent 34%), var(--paper); box-shadow: var(--shadow-lg); }
.company-hero h1 { margin-bottom: 7px; font-size: clamp(calc(2.7rem + var(--type-heading-bump)), calc(5vw + var(--type-heading-bump)), calc(5.4rem + var(--type-heading-bump))); line-height: 0.95; }
.company-hero p:not(.eyebrow) { max-width: 650px; margin: 0; color: var(--ink-soft); font-size: calc(1rem + var(--type-body-bump)); }
.company-actions { display: grid; gap: 9px; }
.company-actions .public-button { min-height: 52px; padding-inline: 20px; font-size: calc(0.84rem + var(--type-button-bump)); }
.company-work-status-notice { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 28px; margin: 24px clamp(26px, 5vw, 58px) 0; padding: clamp(22px, 3.2vw, 34px); border: 1px solid #b9d6e7; border-radius: var(--radius-lg); background: linear-gradient(120deg, #eef7fb, var(--paper)); }
.company-work-status-notice h2 { margin: 0 0 7px; font-size: clamp(1.55rem, 2.5vw, 2.4rem); }
.company-work-status-notice > div > p:last-child { max-width: 760px; margin: 0; color: var(--ink-soft); font-size: calc(0.84rem + var(--type-body-bump)); line-height: 1.6; }
.company-work-status-actions { display: grid; gap: 9px; min-width: 210px; }
.company-work-status-actions .public-button { justify-content: center; }
.company-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; gap: clamp(32px, 6vw, 80px); margin: 64px 0; padding-inline: clamp(26px, 5vw, 58px); }
.company-main { display: grid; gap: 58px; min-width: 0; }
.company-about h2, .section-heading h2 { margin-bottom: 16px; font-size: clamp(calc(2rem + var(--type-heading-bump)), calc(3vw + var(--type-heading-bump)), calc(3.2rem + var(--type-heading-bump))); }
.company-about .rich-copy { max-width: 780px; font-size: calc(1.02rem + var(--type-body-bump)); }
.company-about .rich-copy h2, .company-about .rich-copy h3 { margin: 1.15em 0 0.25em; }
.company-about .rich-copy h2:first-child, .company-about .rich-copy h3:first-child { margin-top: 0; }
.company-about .rich-copy h2 + p, .company-about .rich-copy h3 + p { margin-top: 0; }
.company-about .rich-copy p { margin-bottom: 0.85em; }
.company-side { position: sticky; top: 100px; }
.company-facts { padding: 27px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); box-shadow: var(--shadow-sm); }
.company-facts h2 { margin-bottom: 18px; font-size: calc(1.55rem + var(--type-heading-bump)); }
.company-facts dl { margin: 0; }
.company-facts dl div { padding: 13px 0; border-top: 1px solid var(--line); }
.company-facts dt { margin-bottom: 4px; color: var(--ink-soft); font-size: calc(0.7rem + var(--type-label-bump)); font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; }
.company-facts dd { margin: 0; font-size: calc(0.92rem + var(--type-body-bump)); }
.company-facts-rating { display: grid; gap: 5px; }
.company-facts-rating .stars { color: #000; font-size: calc(1.05rem + var(--type-body-bump)); line-height: 1; white-space: nowrap; }
.company-facts-rating small { color: var(--ink-soft); font-size: calc(0.66rem + var(--type-label-bump)); line-height: 1.4; }
.separate-rating-fact dd span { display: block; font-weight: 800; }
.company-facts .separate-rating-fact dd small { display: block; margin-top: 3px; color: var(--ink-soft); font-size: calc(0.66rem + var(--type-label-bump)); line-height: 1.4; }
.ratings-intro { max-width: 760px; margin: -4px 0 18px; color: var(--ink-soft); font-size: calc(0.88rem + var(--type-body-bump)); }
.ratings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.rating-card { padding: 25px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--paper); }
.rating-card > span { display: block; color: var(--ink-soft); font-size: calc(0.73rem + var(--type-label-bump)); font-weight: 800; text-transform: uppercase; }
.rating-overall { display: flex; align-items: center; gap: 14px; margin: 13px 0 17px; }
.rating-overall > strong { font-family: var(--font-heading); font-size: calc(3rem + var(--type-heading-bump)); font-weight: 700; line-height: 1; }
.rating-overall > strong.is-empty { color: var(--ink-soft); }
.rating-overall > div { display: grid; gap: 2px; }
.stars { color: #000; letter-spacing: 0.08em; }
.rating-card small { color: var(--ink-soft); font-size: calc(0.7rem + var(--type-label-bump)); }
.rating-overall > div small { display: block; line-height: 1.45; }
.rating-detail-grid { display: grid; gap: 0; margin: 0; border-top: 1px solid var(--line); }
.rating-detail-grid div { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.rating-detail-grid dt { color: var(--ink-soft); font-size: calc(0.74rem + var(--type-label-bump)); }
.rating-detail-grid dd { margin: 0; font-size: calc(0.82rem + var(--type-body-bump)); font-weight: 800; }
.rating-detail-grid dd.is-empty { color: var(--ink-soft); font-size: calc(0.7rem + var(--type-label-bump)); font-weight: 600; }
.rating-awaiting { margin: 0; color: var(--ink-soft); font-size: calc(0.82rem + var(--type-body-bump)); }
.ratings-empty { padding: 24px; border: 1px dashed var(--line-strong); border-radius: var(--radius-md); color: var(--ink-soft); background: rgba(255, 253, 248, 0.6); }
.ratings-empty h3 { margin-bottom: 5px; color: var(--ink); font-size: calc(1.4rem + var(--type-heading-bump)); }
.ratings-empty p { margin: 0; font-size: calc(0.88rem + var(--type-body-bump)); }
.reviews-grid { display: grid; gap: 12px; }
.review-card { padding: 23px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--paper); }
.review-card > div { display: flex; justify-content: space-between; gap: 16px; color: var(--ink-soft); font-size: calc(0.7rem + var(--type-label-bump)); }
.review-card .review-kind { color: var(--ink); font-weight: 800; text-transform: uppercase; }
.review-experience-period { display: block; margin-top: 14px; font-size: calc(0.92rem + var(--type-body-bump)); line-height: 1.45; }
.review-card .review-verification-row { align-items: flex-start; margin-top: 7px; font-size: calc(0.65rem + var(--type-label-bump)); line-height: 1.45; }
.review-verification-row span:first-child { max-width: 70%; }
.review-fact-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 14px 0 0; }
.review-fact-list > div { display: grid; gap: 3px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255, 253, 248, 0.72); }
.review-fact-list dt { color: var(--ink-soft); font-size: calc(0.6rem + var(--type-label-bump)); font-weight: 750; }
.review-fact-list dd { margin: 0; color: var(--ink); font-size: calc(0.7rem + var(--type-body-bump)); font-weight: 800; }
.review-card h3 { margin: 15px 0 7px; font-size: calc(1.5rem + var(--type-heading-bump)); }
.review-card p { margin: 0; color: var(--ink-soft); font-size: calc(0.9rem + var(--type-body-bump)); }
.review-card .review-note { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.review-groups { display: grid; gap: 26px; }
.review-type-group > h3 { margin: 0 0 12px; font-size: calc(1.45rem + var(--type-heading-bump)); }
.company-member-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: clamp(24px, 4vw, 44px); padding: clamp(26px, 4vw, 40px); border: 1px solid rgba(96, 72, 32, 0.2); border-radius: var(--radius-lg); background: radial-gradient(circle at 92% 10%, rgba(254, 233, 180, 0.92), transparent 38%), var(--paper); box-shadow: var(--shadow-sm); }
.company-member-cta h2 { max-width: 680px; margin: 0 0 10px; font-size: clamp(calc(1.9rem + var(--type-heading-bump)), calc(2.8vw + var(--type-heading-bump)), calc(2.8rem + var(--type-heading-bump))); }
.company-member-cta > div > p:not(.eyebrow) { max-width: 740px; margin: 0; color: var(--ink-soft); font-size: calc(0.9rem + var(--type-body-bump)); }
.company-member-cta-actions { display: grid; gap: 9px; min-width: 230px; }
.company-member-cta-actions .public-button { justify-content: center; text-align: center; }
.company-jobs { margin-top: 42px; padding-inline: clamp(26px, 5vw, 58px); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading > a { display: inline-flex; align-items: center; gap: 6px; color: var(--forest); font-size: 0.7rem; font-weight: 800; }
.company-job-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.company-job-grid .job-card { margin-bottom: 0; border-color: var(--line); background: var(--paper); }
.company-empty { padding: 38px; border: 1px dashed var(--line-strong); border-radius: var(--radius-lg); text-align: center; }
.company-empty p { color: var(--ink-soft); }

.member-page { width: min(1260px, calc(100% - 40px)); margin: 0 auto; padding: 38px 0 80px; }
.account-action-notice { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 18px; margin: 0 0 20px; padding: clamp(18px, 3vw, 26px); border: 1px solid #9fc39a; border-radius: var(--radius-lg); outline: 0; background: radial-gradient(circle at 96% 8%, rgba(254, 233, 180, 0.78), transparent 34%), #edf7ea; box-shadow: var(--shadow-sm); color: #23471f; }
.account-action-notice > .public-company-logo { width: 62px; height: 62px; border-radius: 15px; }
.account-action-notice > div { min-width: 0; }
.account-action-notice .eyebrow { margin: 0 0 4px; color: #34572d; }
.account-action-notice h2 { margin: 0 0 6px; color: var(--ink); font-size: clamp(1.55rem, 2.6vw, 2.3rem); line-height: 1.05; }
.account-action-notice p:not(.eyebrow) { margin: 0; color: #34572d; font-size: 0.82rem; line-height: 1.6; }
.account-action-notice p strong { color: var(--ink); }
.account-action-notice > a { display: inline-flex; align-items: center; gap: 6px; color: var(--ink); font-size: 0.72rem; font-weight: 800; white-space: nowrap; }
.member-hero { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 24px; padding: clamp(28px, 5vw, 58px); border: 1px solid rgba(0, 0, 0, 0.12); border-radius: var(--radius-lg); background: radial-gradient(circle at 92% 12%, rgba(254, 233, 180, 0.8), transparent 32%), var(--paper); box-shadow: var(--shadow-lg); }
.member-hero > div { min-width: 0; }
.member-hero h1 { margin-bottom: 8px; overflow-wrap: anywhere; font-size: clamp(2.6rem, 5vw, 5rem); line-height: 0.98; }
.member-hero p:not(.eyebrow) { max-width: 720px; margin: 0; color: var(--ink-soft); font-size: 0.86rem; }
.member-action-hub { margin-bottom: 20px; padding: clamp(20px, 3vw, 30px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: rgba(255, 253, 248, 0.82); }
.member-action-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.member-action-heading .eyebrow { margin: 0; }
.member-action-heading h2 { margin: 0; font-size: clamp(1.65rem, 2.7vw, 2.45rem); }
.member-action-hub nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.member-action-card { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 11px; min-height: 76px; padding: 13px 14px; border: 1px solid var(--line); border-radius: var(--radius-md); background: white; color: var(--ink); text-decoration: none; transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.member-action-card:hover { border-color: var(--line-strong); box-shadow: var(--shadow-sm); transform: translateY(-1px); }
.member-action-card:focus-visible { outline: 3px solid rgba(254, 210, 110, 0.88); outline-offset: 2px; }
.member-action-card.is-active { border-color: #c99b3e; background: #fff8e7; box-shadow: inset 0 0 0 1px rgba(201, 155, 62, 0.2); }
.member-action-card > svg { width: 26px; height: 26px; padding: 4px; border-radius: 8px; background: var(--mint-soft); color: var(--forest); }
.member-action-card span { display: grid; gap: 3px; min-width: 0; }
.member-action-card strong { font-size: 0.94rem; }
.member-action-card small { color: var(--ink-soft); font-size: 0.78rem; line-height: 1.45; }
.member-view { min-width: 0; }
.member-overview-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr); gap: 20px; }
.member-start-card { display: flex; align-items: flex-start; flex-direction: column; justify-content: center; min-height: 310px; background: radial-gradient(circle at 90% 10%, rgba(220, 205, 246, 0.62), transparent 34%), var(--paper); }
.member-start-card h2 { max-width: 700px; font-size: clamp(2.2rem, 4vw, 3.8rem); line-height: 1; }
.member-start-card > p:not(.eyebrow) { max-width: 690px; margin: 2px 0 23px; color: var(--ink-soft); }
.member-recent-applications { background: radial-gradient(circle at 96% 8%, rgba(254, 233, 180, 0.52), transparent 28%), var(--paper); }
.member-recent-applications .section-heading { align-items: center; }
.member-recent-applications .section-heading h2 { max-width: 720px; }
.member-start-card > p:not(.eyebrow), .member-recent-applications > .member-panel-copy { font-size: 0.86rem; line-height: 1.6; }
.member-account-snapshot dl { display: grid; gap: 9px; margin: 25px 0 0; }
.member-account-snapshot dl > div { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 16px; border-radius: var(--radius-md); background: var(--mint-soft); }
.member-account-snapshot dt { color: var(--ink-soft); font-size: 0.78rem; font-weight: 750; }
.member-account-snapshot dd { margin: 0; font-family: var(--font-heading); font-size: 1.55rem; font-weight: 700; }
.member-focused-panel, .member-view[data-member-view="share"] .review-form-panel { width: min(980px, 100%); margin-inline: auto; }
.member-view[data-member-view="share"] .review-form-panel { scroll-margin-top: 122px; }
.member-settings-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 20px; }
.member-settings-layout .member-notifications-panel { grid-column: 1 / -1; }
.member-settings-layout .member-account-controls { grid-column: 1 / -1; margin-top: 0; }
.member-layout { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(400px, 1.1fr); align-items: start; gap: 20px; }
.member-history { display: grid; gap: 20px; }
.member-panel { padding: clamp(22px, 3vw, 34px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); }
.member-panel h2 { margin-bottom: 8px; font-size: clamp(1.8rem, 3vw, 2.7rem); }
.member-panel-copy { margin: 0 0 18px; color: var(--ink-soft); font-size: 0.78rem; line-height: 1.6; }
.member-account-controls { margin-top: 20px; }
.member-delete-account { display: grid; justify-items: start; gap: 12px; margin-top: 26px; padding-top: 24px; border-top: 1px solid #dfb5ad; }
.member-delete-account h3 { margin: 0; color: var(--danger); font-size: 1.35rem; }
.member-delete-account p { max-width: 800px; margin: 0; color: var(--ink-soft); font-size: 0.8rem; line-height: 1.6; }
.member-delete-account label { display: grid; gap: 6px; width: min(420px, 100%); color: var(--ink-soft); font-size: 0.9rem; font-weight: 750; }
.member-delete-account input { width: 100%; min-height: 47px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 9px; background: white; color: var(--ink); font-family: inherit; font-size: 0.9rem; font-weight: 400; outline: 0; }
.member-delete-account input:focus { border-color: var(--danger); box-shadow: 0 0 0 3px rgba(223, 181, 173, 0.55); }
.member-incomplete-account-exit { margin-top: 24px; padding-top: 17px; border-top: 1px solid var(--line); color: var(--ink-soft); }
.member-incomplete-account-exit summary { width: fit-content; cursor: pointer; list-style: none; font-size: 0.8rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.member-incomplete-account-exit summary::-webkit-details-marker { display: none; }
.member-incomplete-account-exit > div { display: grid; justify-items: start; gap: 12px; margin-top: 15px; padding: 17px; border: 1px solid #dfb5ad; border-radius: var(--radius-md); background: #fff8f6; }
.member-incomplete-account-exit p { max-width: 650px; margin: 0; font-size: 0.8rem; }
.member-incomplete-account-exit label { display: grid; gap: 6px; width: min(420px, 100%); font-size: 0.9rem; font-weight: 750; }
.member-incomplete-account-exit input { width: 100%; min-height: 47px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 9px; background: white; color: var(--ink); font-family: inherit; font-size: 0.9rem; font-weight: 400; outline: 0; }
.review-form-panel > p:not(.eyebrow) { margin: 0 0 22px; color: var(--ink-soft); font-size: 0.82rem; }
.member-list { display: grid; gap: 9px; }
.member-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 15px; border: 1px solid var(--line); border-radius: var(--radius-md); background: white; }
.member-item > div:first-child { display: grid; gap: 2px; min-width: 0; }
.member-application-item .member-application-identity { display: flex; align-items: center; gap: 12px; }
.member-application-identity > .public-company-logo { width: 52px; height: 52px; border-radius: 12px; }
.member-application-identity > .public-company-logo > span { color: var(--forest); font-family: var(--font-heading); font-size: 1rem; }
.member-application-copy { display: grid; gap: 2px; min-width: 0; }
.member-item > div:first-child span { color: var(--ink-soft); font-size: 0.72rem; font-weight: 750; }
.member-application-copy > span { color: var(--ink-soft); font-size: 0.72rem; font-weight: 750; }
.member-application-copy > strong { overflow: hidden; font-size: 0.9rem; text-overflow: ellipsis; white-space: nowrap; }
.member-application-copy > small { color: var(--ink-soft); font-size: 0.7rem; }
.member-item > div:first-child strong { overflow: hidden; font-size: 0.9rem; text-overflow: ellipsis; white-space: nowrap; }
.member-item > div:first-child a { overflow: hidden; color: var(--ink); text-decoration: none; }
.member-item > div:first-child a:hover { text-decoration: underline; text-underline-offset: 3px; }
.member-item small { color: var(--ink-soft); font-size: 0.7rem; }
.member-item-actions { display: grid; justify-items: end; gap: 7px; }
.member-item-actions > div { display: flex; gap: 5px; }
.member-item-actions button { padding: 7px 10px; border: 1px solid var(--line-strong); border-radius: 7px; background: var(--paper); cursor: pointer; color: var(--ink); font-size: 0.72rem; font-weight: 750; transition: background-color var(--button-motion), border-color var(--button-motion), color var(--button-motion); }
.member-item-actions button:not(:disabled):hover { border-color: var(--button-hover); background: var(--button-hover); color: var(--button-hover-text); }
.member-item-actions button:focus-visible { outline: 3px solid rgba(254, 210, 110, 0.88); outline-offset: 2px; border-color: var(--button-hover); background: var(--button-hover); color: var(--button-hover-text); }
.member-status { color: var(--ink-soft); font-size: 0.7rem; }
.member-review { padding: 14px 15px; border: 1px solid var(--line); border-radius: var(--radius-md); background: white; }
.member-review > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.member-review > div strong { font-size: 0.76rem; }
.member-review p { margin: 4px 0 0; color: var(--ink-soft); font-size: 0.64rem; }
.member-review .member-review-period { color: var(--ink); font-weight: 750; }
.member-review .member-review-status-message { margin-top: 9px; color: var(--ink); font-weight: 750; }
.review-status { padding: 4px 7px; border-radius: 999px; background: var(--mint); color: var(--ink-soft); font-size: 0.55rem; font-weight: 800; text-transform: capitalize; }
.status-approved { background: #e6f2e2; color: #34572d; }
.status-rejected { background: #fae6e0; color: #7d3d34; }
.status-draft { background: #f0eee7; color: #625e52; }
.status-withdrawn { background: #f0eee7; color: #625e52; }
.member-review-actions { justify-content: flex-start !important; margin-top: 8px; }
.member-review-actions button { padding: 0; border: 0; background: none; color: var(--ink-soft); cursor: pointer; font-size: 0.59rem; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.member-review .review-private-note, .review-edit-notice { padding: 11px 13px; border: 1px solid #e0cba0; border-radius: 10px; background: rgba(255, 244, 216, 0.72); color: var(--ink-soft); }
.member-review .review-private-note { margin-top: 10px; font-size: 0.64rem; }
.member-review-preview { margin-top: 12px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255, 253, 248, 0.72); }
.member-review-preview summary { color: var(--ink); cursor: pointer; font-size: 0.64rem; font-weight: 850; }
.member-review-preview dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 12px 0; }
.member-review-preview dl > div { display: grid; gap: 2px; padding: 8px 9px; border-radius: 8px; background: white; }
.member-review-preview dt { color: var(--ink-soft); font-size: 0.56rem; font-weight: 750; }
.member-review-preview dd { margin: 0; color: var(--ink); font-size: 0.62rem; font-weight: 800; overflow-wrap: anywhere; }
.member-review-preview h3 { margin: 12px 0 4px; font-size: 1rem; }
.member-review-preview .member-review-body { color: var(--ink); white-space: pre-wrap; }
.member-review-preview > small { display: block; margin-top: 10px; color: var(--ink-soft); font-size: 0.57rem; }
.member-review-preview .member-existing-evidence { margin-top: 11px; }
.review-edit-notice { margin: 0 0 2px; }
.review-edit-notice p { margin: 4px 0 0; font-size: 0.7rem; }
.alert-list { margin-bottom: 17px; }
.alert-item { display: grid; gap: 7px; }
.alert-actions { justify-content: start !important; }
.alert-actions button { padding: 4px 0; border: 0; background: none; color: var(--ink-soft); cursor: pointer; font-size: 0.59rem; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.alert-actions button + button { margin-left: 10px; }
.alert-filter-fields { display: grid; gap: 14px; }
.alert-filter-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.alert-filter-field legend { margin: 0 0 6px; padding: 0; color: var(--ink-soft); font-size: 0.9rem; font-weight: 750; }
.alert-filter-dropdown { position: relative; }
.alert-filter-dropdown[open] { z-index: 6; }
.alert-filter-dropdown summary { display: flex; min-height: 47px; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 9px; background: white; color: var(--ink); cursor: pointer; font-size: 0.9rem; font-weight: 400; list-style: none; }
.alert-filter-dropdown summary::-webkit-details-marker { display: none; }
.alert-filter-dropdown summary::after { content: "⌄"; flex: 0 0 auto; font-size: 0.9rem; line-height: 1; transform: translateY(-2px); }
.alert-filter-dropdown summary:focus-visible { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(254, 233, 180, 0.7); outline: 0; }
.alert-filter-dropdown[open] summary { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(254, 233, 180, 0.7); }
.alert-filter-dropdown[open] summary::after { transform: rotate(180deg) translateY(1px); }
.alert-filter-menu { position: absolute; right: 0; left: 0; display: grid; max-height: 250px; gap: 2px; margin-top: 6px; padding: 6px; overflow-y: auto; border: 1px solid var(--line-strong); border-radius: 9px; background: white; box-shadow: var(--shadow-lg); }
.member-review-form .alert-filter-choice { display: flex; min-width: 0; align-items: center; gap: 9px; padding: 8px 9px; border-radius: 7px; color: var(--ink); cursor: pointer; font-size: 0.82rem; font-weight: 650; }
.member-review-form .alert-filter-choice:hover { background: var(--mint-soft); }
.member-review-form .alert-filter-choice input { flex: 0 0 auto; }
.member-review-form .alert-filter-choice span { min-width: 0; overflow-wrap: anywhere; }
.member-review-form .alert-filter-all { margin-bottom: 3px; border-bottom: 1px solid var(--line); border-radius: 7px 7px 0 0; font-weight: 800; }
.alert-filter-empty { margin: 6px 8px; color: var(--ink-soft); font-size: 0.8rem; }
.member-empty { padding: 20px; border: 1px dashed var(--line-strong); border-radius: var(--radius-md); color: var(--ink-soft); }
.member-empty p { margin: 0 0 13px; font-size: 0.7rem; }
.member-review-form, .member-review-form [data-review-group], .member-review-form [data-application-source] { display: grid; gap: 14px; }
.member-review-form [data-review-group][hidden], .member-review-form [data-application-source][hidden], .member-review-form [data-application-stage-min][hidden], .member-review-form [data-pay-comparison][hidden], .member-review-form [data-review-evidence][hidden], .member-review-form [data-work-end][hidden], .member-review-form [data-trail-no-evidence][hidden], .member-review-form [data-alert-query][hidden], .member-review-form [data-alert-filters][hidden] { display: none; }
.member-review-form label { display: grid; gap: 6px; color: var(--ink-soft); font-size: 0.9rem; font-weight: 750; line-height: 1.4; }
.member-review-form label > span small { font-size: inherit; font-weight: 400; }
.member-review-form input, .member-review-form select, .member-review-form textarea { width: 100%; border: 1px solid var(--line-strong); border-radius: 9px; background: white; color: var(--ink); font-family: inherit; font-size: 0.9rem; font-weight: 400; outline: 0; }
.member-review-form input, .member-review-form select { min-height: 47px; padding: 10px 12px; }
.member-review-form textarea { padding: 12px; resize: vertical; line-height: 1.5; }
.member-review-form input:focus, .member-review-form select:focus, .member-review-form textarea:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(254, 233, 180, 0.7); }
.member-month-field { display: grid; min-width: 0; gap: 6px; color: var(--ink-soft); font-size: 0.9rem; font-weight: 750; line-height: 1.4; }
.member-month-picker { position: relative; min-width: 0; }
.member-month-picker-trigger { display: flex; width: 100%; min-height: 47px; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 9px; background: white; color: var(--ink); cursor: pointer; font-family: inherit; font-size: 0.9rem; font-weight: 400; text-align: left; }
.member-month-picker-trigger svg { width: 18px; height: 18px; flex: 0 0 auto; }
.member-month-picker-trigger:focus { border-color: var(--ink); outline: 0; box-shadow: 0 0 0 3px rgba(254, 233, 180, 0.7); }
.member-month-picker-trigger:disabled { cursor: not-allowed; opacity: 0.55; }
.member-month-picker-popover { position: absolute; z-index: 30; top: calc(100% + 7px); left: 0; display: grid; width: min(330px, calc(100vw - 48px)); max-width: 100%; gap: 10px; padding: 12px; border: 1px solid var(--line-strong); border-radius: 12px; background: white; box-shadow: var(--shadow-lg); }
.member-month-picker-popover[hidden] { display: none; }
.member-month-picker-heading { display: grid; grid-template-columns: 42px 1fr 42px; align-items: center; gap: 7px; }
.member-month-picker-heading strong { color: var(--ink); font-size: 0.9rem; text-align: center; }
.member-month-picker-heading button, .member-month-picker-grid button { min-height: 40px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); color: var(--ink); cursor: pointer; font-family: inherit; font-size: 0.82rem; font-weight: 700; }
.member-month-picker-heading button { display: grid; place-items: center; padding: 8px; }
.member-month-picker-heading button:first-child svg { transform: rotate(180deg); }
.member-month-picker-heading button svg { width: 17px; height: 17px; }
.member-month-picker-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.member-month-picker-heading button:hover:not(:disabled), .member-month-picker-grid button:hover:not(:disabled) { border-color: #c99b3e; background: #fff4d7; }
.member-month-picker-heading button:focus, .member-month-picker-grid button:focus { outline: 0; box-shadow: 0 0 0 3px rgba(254, 233, 180, 0.7); }
.member-month-picker-grid button.is-selected { border-color: var(--ink); background: var(--ink); color: white; }
.member-month-picker-heading button:disabled, .member-month-picker-grid button:disabled { cursor: not-allowed; opacity: 0.35; }
.member-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.member-pay-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(92px, 0.65fr) minmax(0, 1fr); gap: 10px; }
.member-review-form .member-check { display: flex; align-items: center; grid-template-columns: none; gap: 9px; }
.member-check input { width: 17px; min-height: 17px; accent-color: var(--ink); }
.member-review-form > .public-button { width: 100%; margin-top: 4px; }
.member-form-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 4px; }
.member-form-actions .public-button { flex: 1 1 180px; }
.review-form-step { display: grid; gap: 14px; min-width: 0; margin: 0; padding: 21px 0 4px; border: 0; border-top: 1px solid var(--line); }
.review-form-step legend { display: flex; align-items: center; gap: 9px; padding: 0 10px 0 0; color: var(--ink); font-size: 0.9rem; font-weight: 850; }
.review-form-step legend > span { display: inline-grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: var(--ink); color: white; font-size: 0.75rem; }
.review-policy-note, .review-source-note, .review-privacy-note, .review-trail-no-evidence, .member-existing-evidence { padding: 13px 15px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255, 253, 248, 0.72); color: var(--ink-soft); }
.review-policy-note { margin: 0 0 20px; border-color: #d8c08b; background: #fff8e7; }
.review-policy-note strong, .review-privacy-note strong, .review-trail-no-evidence strong, .member-existing-evidence strong { display: block; color: var(--ink); font-size: 0.85rem; }
.review-policy-note p, .review-source-note p, .review-privacy-note p, .review-trail-no-evidence p { margin: 4px 0 0; font-size: 0.82rem; line-height: 1.6; }
.review-field-explanation { margin: -5px 0 0; color: var(--ink-soft); font-size: 0.8rem; line-height: 1.55; }
.application-stage-section, .application-pay-comparison { display: grid; gap: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255, 253, 248, 0.72); }
.application-stage-heading { display: grid; gap: 3px; }
.application-stage-heading strong, .application-pay-row > strong { color: var(--ink); font-size: 0.85rem; }
.application-stage-heading strong small { color: var(--ink-soft); font-weight: 500; }
.application-stage-heading p { margin: 0; color: var(--ink-soft); font-size: 0.8rem; line-height: 1.5; }
.application-pay-comparison { border-color: #d8c08b; background: #fff8e7; }
.application-pay-row { display: grid; gap: 7px; }
.review-form-panel:focus { outline: 3px solid rgba(254, 210, 110, 0.9); outline-offset: 4px; }
.review-form-panel.is-prompted { border-color: #c4952f; box-shadow: 0 0 0 4px rgba(254, 233, 180, 0.62), var(--shadow-sm); }
.review-form-panel.is-celebrating { border: 4px solid transparent; background: linear-gradient(var(--paper), var(--paper)) padding-box, linear-gradient(110deg, #f6c453 0%, #ed6fae 10%, #7a5bea 20%, #39a9e8 30%, #55c989 40%, #f6c453 50%, #ed6fae 60%, #7a5bea 70%, #39a9e8 80%, #55c989 90%, #f6c453 100%) border-box; background-size: auto, 220% 100%; animation: member-review-rainbow 2.55s linear both; }
.review-form-panel.is-celebrating.is-reduced-motion { background-position: 0 0, 50% 50%; box-shadow: 0 0 0 5px rgba(240, 166, 202, 0.22), 0 0 34px 8px rgba(185, 169, 230, 0.3); animation: none !important; }
.application-review-prompt { display: flex; align-items: center; gap: 14px; margin: 0 0 18px; padding: 15px 16px; border: 1px solid #c99b3e; border-radius: 11px; background: #fff4d7; }
.application-review-prompt > .public-company-logo { flex: 0 0 auto; }
.application-review-prompt > div { min-width: 0; }
.application-review-prompt strong { color: var(--ink); font-size: 0.85rem; }
.application-review-prompt p { margin: 4px 0 0; color: var(--ink-soft); font-size: 0.8rem; line-height: 1.5; }
.thriveth-review-celebration { position: fixed; z-index: 120; inset: 0; display: grid; place-items: center; background: radial-gradient(circle at center, rgba(255, 248, 225, 0.56), rgba(255, 248, 225, 0) 25%); pointer-events: none; }
.thriveth-review-orb { display: block; width: clamp(150px, 18vw, 210px); height: auto; filter: drop-shadow(0 20px 44px rgba(23, 59, 50, 0.2)); transform-origin: center; will-change: opacity, transform; animation: thriveth-orb-pop 1s linear both; }
.thriveth-review-celebration.is-reduced-motion .thriveth-review-orb { opacity: 1; animation: none !important; }
@keyframes thriveth-orb-pop { 0% { opacity: 0.94; transform: scale(0.08); animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } 68% { opacity: 1; transform: scale(1); animation-timing-function: ease-out; } 100% { opacity: 0; transform: scale(1); } }
@keyframes member-review-rainbow { 0% { background-position: 0 0, 0% 50%; box-shadow: 0 0 0 0 rgba(237, 111, 174, 0); } 14% { box-shadow: 0 0 0 3px rgba(237, 111, 174, 0.28), 0 0 34px 9px rgba(237, 111, 174, 0.34); } 34% { box-shadow: 0 0 0 4px rgba(122, 91, 234, 0.24), 0 0 42px 11px rgba(122, 91, 234, 0.32); } 54% { box-shadow: 0 0 0 4px rgba(57, 169, 232, 0.24), 0 0 42px 11px rgba(57, 169, 232, 0.3); } 74% { box-shadow: 0 0 0 4px rgba(85, 201, 137, 0.22), 0 0 38px 10px rgba(85, 201, 137, 0.28); } 90% { box-shadow: 0 0 0 3px rgba(246, 196, 83, 0.2), 0 0 26px 7px rgba(246, 196, 83, 0.24); } 100% { background-position: 0 0, 100% 50%; box-shadow: 0 0 0 4px rgba(254, 233, 180, 0.62), var(--shadow-sm); } }
.review-evidence-step { margin-top: 2px; }
.review-privacy-note, .review-trail-no-evidence { border-color: #b9d0c6; background: var(--mint-soft); }
.review-evidence-field { display: grid; gap: 8px; }
.review-evidence-guidance { display: grid; gap: 7px; padding: 12px 13px; border: 1px solid #b9d0c6; border-radius: 10px; background: var(--mint-soft); font-weight: 400; }
.review-evidence-guidance strong { color: var(--ink); font-size: 0.85rem; }
.review-evidence-guidance ul { display: grid; gap: 6px; margin: 0; padding-left: 1.15rem; color: var(--ink-soft); font-size: 0.82rem; line-height: 1.55; }
.preview-testing-helper { padding: 12px 13px; border: 1px dashed #b9a9cc; border-radius: 10px; background: #f7f1fb; color: var(--ink-soft); }
.preview-testing-helper strong { color: var(--ink); font-size: 0.85rem; }
.preview-testing-helper p { margin: 4px 0 10px; font-size: 0.8rem; line-height: 1.5; }
.preview-testing-helper .preview-evidence-download { width: 100%; }
.member-existing-evidence ul { display: grid; gap: 7px; margin: 7px 0 0; padding-left: 18px; font-size: 0.82rem; }
.member-existing-evidence li { padding-left: 2px; }
.member-existing-evidence li span { margin-right: 8px; }
.member-existing-evidence button { min-height: 30px; padding: 4px 8px; border: 1px solid var(--line-strong); border-radius: 7px; background: white; color: var(--ink); font: inherit; font-weight: 750; cursor: pointer; }
.review-submit-note { margin: 0; color: var(--ink-soft); font-size: 0.82rem; line-height: 1.6; }
.member-compact-form { padding-top: 2px; }
.account-notice { margin: 0 0 20px; padding: 13px 16px; border: 1px solid #b7d3b0; border-radius: var(--radius-md); background: #edf7ea; color: #34572d; font-size: 0.82rem; }
.account-notice.is-error { border-color: #dfb5ad; background: #fff1ee; color: #7d3d34; }
.public-toast-region { position: fixed; z-index: 80; right: 20px; bottom: 20px; display: grid; width: min(380px, calc(100vw - 40px)); pointer-events: none; }
.public-toast { padding: 13px 16px; border: 1px solid #b7d3b0; border-radius: var(--radius-md); background: #edf7ea; box-shadow: var(--shadow-lg); color: #34572d; font-size: 0.7rem; font-weight: 750; }
.public-toast.is-error { border-color: #dfb5ad; background: #fff1ee; color: #7d3d34; }
.member-signin { display: grid; justify-items: start; width: min(780px, 100%); margin: 30px auto; padding: clamp(30px, 7vw, 76px); border: 1px solid rgba(0, 0, 0, 0.12); border-radius: var(--radius-lg); background: radial-gradient(circle at 90% 12%, rgba(254, 233, 180, 0.82), transparent 37%), var(--paper); box-shadow: var(--shadow-lg); }
.member-signin h1 { margin-bottom: 14px; font-size: clamp(3rem, 7vw, 5.8rem); line-height: 0.94; }
.member-signin > p:not(.eyebrow) { max-width: 600px; margin: 0 0 23px; color: var(--ink-soft); }
.member-signin > small { margin-top: 12px; color: var(--ink-soft); font-size: 0.8rem; }
.member-signin > small a { color: var(--ink); font-weight: 750; text-underline-offset: 2px; }
.member-signin .preview-test-signin { width: min(520px, 100%); margin: 2px 0 6px; padding: 17px; border: 1px solid #ddc89c; border-radius: var(--radius-md); background: #fff8e7; }
.member-signin .preview-test-signin > p { margin: 0 0 14px; color: var(--ink-soft); font-size: 0.8rem; line-height: 1.5; }
.member-signin .preview-test-signin > p strong { color: var(--ink); }
.preview-auth-form { display: grid; gap: 12px; width: 100%; }
.preview-auth-form label { display: grid; gap: 6px; color: var(--ink-soft); font-size: 0.9rem; font-weight: 750; }
.preview-auth-form input { width: 100%; min-height: 47px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 9px; background: white; color: var(--ink); font-family: inherit; font-size: 0.9rem; font-weight: 400; outline: 0; }
.preview-auth-form input:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(254, 233, 180, 0.7); }
.preview-auth-form .public-button { width: 100%; margin-top: 2px; }
.member-auth-options { display: grid; gap: 15px; width: min(540px, 100%); }
.member-auth-options > .public-button { width: 100%; }
.public-button-google { border-color: #173b32; background: #fff; color: #173b32; }
.member-auth-preview { margin: 0; padding: 14px 16px; border: 1px solid #ddc89c; border-radius: var(--radius-md); background: #fff8e7; color: var(--ink-soft); font-size: 0.8rem; line-height: 1.5; }
.member-auth-preview strong { color: var(--ink); }
.member-auth-divider { display: flex; align-items: center; gap: 12px; color: var(--ink-soft); font-size: 0.8rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; }
.member-auth-divider::before, .member-auth-divider::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.member-auth-tabs { display: grid; grid-template-columns: 1fr 1fr; padding: 4px; border-radius: 12px; background: #f1eee7; }
.member-auth-tabs button { min-height: 44px; border: 0; border-radius: 9px; background: transparent; color: var(--ink-soft); font: inherit; font-size: 0.82rem; font-weight: 800; cursor: pointer; }
.member-auth-tabs button[aria-current="true"] { background: #fff; color: var(--ink); box-shadow: 0 2px 8px rgba(23, 59, 50, 0.1); }
.member-auth-form { display: grid; gap: 12px; width: 100%; }
.member-auth-form label { display: grid; gap: 6px; color: var(--ink-soft); font-size: 0.9rem; font-weight: 750; }
.member-auth-form input { width: 100%; min-height: 47px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 9px; background: white; color: var(--ink); font-family: inherit; font-size: 0.9rem; font-weight: 400; outline: 0; }
.member-auth-form input:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(254, 233, 180, 0.7); }
.member-auth-form .public-button { width: 100%; }
.member-auth-help, .turnstile-status { margin: -3px 0 0; color: var(--ink-soft); font-size: 0.8rem; line-height: 1.5; }
.turnstile-status.is-error { color: #7d3d34; }
.turnstile-slot { min-height: 65px; max-width: 100%; overflow: hidden; }
.member-auth-recovery, .member-auth-back { justify-self: start; padding: 2px 0; border: 0; background: transparent; color: var(--ink); font: inherit; font-size: 0.8rem; font-weight: 800; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.member-auth-confirmation { display: grid; gap: 13px; }
.member-auth-confirmation h2, .member-auth-confirmation p { margin: 0; }
.member-auth-confirmation > p { color: var(--ink-soft); font-size: 0.8rem; line-height: 1.55; }
.member-support-link { margin: 17px 0 0; color: var(--ink-soft); font-size: 0.8rem; line-height: 1.55; }
.member-support-link a { color: var(--ink); font-weight: 800; text-underline-offset: 3px; }
.member-support-link > p { margin: 5px 0 0; }
.member-password-reset .member-auth-form { width: min(520px, 100%); }
.member-onboarding { width: min(850px, 100%); margin: 30px auto; padding: clamp(28px, 6vw, 64px); border: 1px solid rgba(0, 0, 0, 0.12); border-radius: var(--radius-lg); background: radial-gradient(circle at 92% 10%, rgba(254, 233, 180, 0.82), transparent 34%), var(--paper); box-shadow: var(--shadow-lg); }
.member-onboarding-intro { max-width: 690px; margin-bottom: 28px; }
.member-onboarding-intro h1 { margin-bottom: 12px; font-size: clamp(2.8rem, 7vw, 5.5rem); line-height: 0.95; overflow-wrap: anywhere; }
.member-onboarding-intro > p:not(.eyebrow) { margin: 0; color: var(--ink-soft); font-size: 0.8rem; }
.member-onboarding-form { display: grid; gap: 14px; }
.member-onboarding-name { display: grid; gap: 8px; color: var(--ink); font-size: 0.9rem; font-weight: 800; }
.member-onboarding-name input { width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid var(--line-strong); border-radius: var(--radius-md); background: white; color: var(--ink); font-family: inherit; font-size: 0.9rem; font-weight: 400; }
.member-onboarding-name input:focus { border-color: var(--forest); outline: 3px solid rgba(23, 59, 50, 0.12); outline-offset: 1px; }
.member-consent-choice { display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: start; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-md); background: white; color: var(--ink-soft); cursor: pointer; font-size: 0.82rem; font-weight: 650; line-height: 1.55; }
.member-consent-choice:hover { border-color: var(--line-strong); }
.member-consent-choice input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--forest); }
.member-consent-choice a { color: var(--ink); font-weight: 850; text-underline-offset: 2px; }
.member-consent-required { border-color: #d8c08b; background: #fffaf0; }
.member-consent-note { margin: 0 4px; color: var(--ink-soft); font-size: 0.8rem; line-height: 1.55; }
.member-onboarding-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 5px; }
.member-onboarding-actions .public-button { flex: 1 1 220px; }

.preview-page { width: min(1120px, calc(100% - 40px)); margin: 0 auto; padding: 28px 0 70px; }
.preview-banner { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 14px; padding: 15px 18px; border: 1px solid #e4bd7f; border-radius: var(--radius-md); background: #fff6de; }
.preview-banner > div { display: flex; align-items: center; gap: 12px; }
.preview-banner > div > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #f1d59d; color: #795119; }
.preview-banner strong { display: block; font-size: 0.79rem; }
.preview-banner p { margin: 2px 0 0; color: #745c38; font-size: 0.65rem; line-height: 1.4; }
.preview-issues { margin-bottom: 14px; padding: 17px 20px; border: 1px solid #e2c0bb; border-radius: var(--radius-md); background: #fff4f1; color: var(--danger); }
.preview-issues strong { font-size: 0.72rem; }
.preview-issues ul { margin: 9px 0 0; padding-left: 20px; font-size: 0.68rem; line-height: 1.55; }
.preview-frame { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); box-shadow: var(--shadow-lg); }
.draft-preview-board-page .draft-preview-banner { width: min(1380px, 100%); margin: 28px auto 0; }
.draft-preview-intro { grid-template-columns: 1fr; align-items: start; gap: 8px; padding-top: 28px; }
.draft-preview-intro h1 { font-size: clamp(calc(2.8rem + var(--type-heading-bump)), calc(5.2vw + var(--type-heading-bump)), calc(5.2rem + var(--type-heading-bump))) !important; }
.draft-preview-intro > div > p:last-child { margin: 12px 0 0; color: var(--ink-soft); font-size: 0.74rem; }

.public-loading { display: grid; place-items: center; align-content: center; gap: 14px; min-height: calc(100vh - 74px); color: var(--ink-soft); }
.loading-mark { width: 54px; height: 54px; border-radius: 50%; background: var(--forest); }
.public-loading p { font-size: 0.76rem; }
.loading-board { box-shadow: var(--shadow-sm); }
.loading-line,
.loading-filter {
  display: block;
  overflow: hidden;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(35, 78, 67, 0.08) 25%, rgba(35, 78, 67, 0.16) 50%, rgba(35, 78, 67, 0.08) 75%);
  background-size: 220% 100%;
  animation: loading-sheen 1.35s ease-in-out infinite;
}
.loading-line { width: 100%; height: 13px; margin: 10px 0; }
.loading-line-short { width: 28%; }
.loading-line-medium { width: 62%; }
.loading-line-title { width: 76%; height: 28px; margin: 20px 0; }
.loading-hero-line { width: min(560px, 82%); height: 72px; margin-top: 18px; }
.loading-filter { width: 100%; min-height: 84px; border-radius: var(--radius-md); }
.loading-job-card { min-height: 170px; pointer-events: none; }
.loading-detail { min-height: 650px; padding: clamp(30px, 5vw, 64px); border: 1px solid rgba(0, 0, 0, 0.14); border-left: 0; border-radius: 0 var(--radius-lg) var(--radius-lg) 0; background: var(--paper); }
@keyframes loading-sheen { to { background-position: -220% 0; } }
@media (prefers-reduced-motion: reduce) {
  .loading-line, .loading-filter { animation: none; }
}

[data-footer-navigation] { display: contents; }
.standalone-state { display: grid; place-items: center; align-content: center; min-height: 70vh; padding: 40px 20px; text-align: center; }
.standalone-state .public-wordmark { margin-bottom: 54px; }
.standalone-state h1 { max-width: 720px; margin-bottom: 12px; font-size: clamp(2.7rem, 6vw, 5.7rem); line-height: 0.95; }
.standalone-state > p:not(.eyebrow) { max-width: 560px; margin: 0 0 23px; color: var(--ink-soft); }
.standalone-state .text-link { margin-top: 17px; color: var(--ink-soft); font-size: 0.7rem; }

/* Review Policy */
.review-policy-page { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: clamp(42px, 7vw, 88px) 0 92px; }
.review-policy-hero { padding: clamp(30px, 5vw, 62px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: radial-gradient(circle at 92% 8%, rgba(254, 233, 180, 0.88), transparent 36%), var(--paper); box-shadow: var(--shadow-lg); }
.review-policy-hero h1 { max-width: 820px; margin: 0 0 28px; font-size: clamp(3rem, 7vw, 6.4rem); line-height: 0.92; }
.review-policy-introduction { display: grid; gap: 14px; max-width: 900px; }
.review-policy-introduction p { margin: 0; color: var(--ink-soft); font-size: clamp(1rem, 1.5vw, 1.16rem); }
.review-policy-introduction strong { color: var(--ink); }
.review-policy-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); align-items: start; gap: clamp(32px, 6vw, 76px); padding: 64px clamp(10px, 3vw, 36px) 0; }
.review-policy-navigation { position: sticky; top: 104px; display: grid; gap: 11px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--paper); }
.review-policy-navigation strong { margin-bottom: 4px; font-family: Bitter, Georgia, serif; font-size: 0.82rem; }
.review-policy-navigation a { color: var(--ink-soft); font-size: 0.76rem; line-height: 1.4; text-decoration: none; }
.review-policy-navigation a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.review-policy-content { display: grid; gap: 48px; min-width: 0; }
.review-policy-content section { scroll-margin-top: 110px; padding-bottom: 48px; border-bottom: 1px solid var(--line); }
.review-policy-content section:last-child { padding-bottom: 0; border-bottom: 0; }
.review-policy-content h2 { margin: 0 0 12px; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1; }
.review-policy-content p, .review-policy-content li { color: var(--ink-soft); font-size: 0.98rem; line-height: 1.72; }
.review-policy-content p { margin: 0 0 16px; }
.review-policy-content ul { display: grid; gap: 10px; margin: 0; padding-left: 1.25em; }
.review-policy-content a { color: var(--ink); font-weight: 700; text-underline-offset: 3px; }

/* Company directory */
.companies-page { width: 100%; margin: 0; padding: var(--public-hero-top-space) var(--public-content-gutter) 86px; }
.companies-shell { width: min(1220px, 100%); margin-inline: auto; }
.companies-intro { display: grid; gap: 0; max-width: 850px; margin-bottom: 38px; }
.companies-intro h1 { margin-bottom: 16px; line-height: 0.94; }
.companies-intro > p:not(.eyebrow) { max-width: 720px; margin: 0; color: var(--ink-soft); font-size: 1rem; }
.companies-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.company-overview-card { display: flex; min-width: 0; min-height: 430px; flex-direction: column; padding: clamp(22px, 2.8vw, 32px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); box-shadow: var(--shadow-sm); color: var(--ink); text-decoration: none; transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.company-overview-card:hover { transform: translateY(-3px); border-color: var(--ink); box-shadow: var(--shadow-lg); }
.company-overview-card-top { display: flex; align-items: flex-start; justify-content: space-between; min-height: 54px; }
.company-overview-card-top .featured-badge { margin-left: auto; }
.company-overview-badges { display: flex; align-items: center; justify-content: flex-end; gap: 6px; flex-wrap: wrap; }
.company-work-badge { display: inline-flex; align-items: center; gap: 6px; padding: 7px 11px; border: 1px solid rgba(49, 93, 124, 0.2); border-radius: 999px; background: linear-gradient(135deg, #f3f9fc 0%, #dceef6 100%); box-shadow: 0 4px 12px rgba(49, 93, 124, 0.1); color: #254f6b; font-family: Bitter, Georgia, serif; font-size: 11px; font-weight: 800; line-height: 1; }
.company-work-badge svg { width: 13px; height: 13px; stroke-width: 2; }
.company-work-badge.is-inactive { border-color: rgba(96, 72, 32, 0.2); background: linear-gradient(135deg, #fbf7ee 0%, #eee5d4 100%); color: #604820; }
.company-overview-card-copy { margin: 25px 0 23px; }
.company-overview-card-copy h2 { margin-bottom: 9px; font-size: 1.65rem; line-height: 1.04; }
.company-overview-card-copy p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--ink-soft); font-size: 0.87rem; line-height: 1.58; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.company-overview-stats { display: grid; gap: 0; margin: auto 0 22px; border-top: 1px solid var(--line); }
.company-overview-stats > div { display: grid; grid-template-columns: minmax(90px, 0.65fr) minmax(0, 1fr); align-items: start; gap: 14px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.company-overview-stats dt { color: var(--ink-soft); font-size: 0.63rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.company-overview-stats dd { margin: 0; overflow-wrap: anywhere; font-size: 0.82rem; font-weight: 750; text-align: right; }
.company-overview-stats dd small { display: block; margin-top: 2px; color: var(--ink-soft); font: inherit; font-size: 0.62rem; font-weight: 500; }
.company-overview-rating-stars { display: block; margin-bottom: 2px; color: var(--ink-soft); letter-spacing: 0.04em; line-height: 1; white-space: nowrap; }
.company-overview-link { display: inline-flex; align-items: center; align-self: flex-start; gap: 7px; font-size: 0.74rem; font-weight: 800; }
.company-overview-link svg { transition: transform 160ms ease; }
.company-overview-card:hover .company-overview-link svg { transform: translateX(4px); }
.company-preview-page .preview-banner { margin-bottom: 22px; }

.cms-page-shell { padding: clamp(48px, 7vw, 94px) var(--public-page-gutter) clamp(76px, 9vw, 122px); }
.cms-entry { width: min(960px, 100%); margin: 0 auto; }
.cms-entry-header { max-width: 860px; margin-bottom: clamp(34px, 5vw, 58px); }
.cms-entry-header h1, .cms-blog-index-hero h1 { margin-bottom: 24px; font-size: clamp(3.65rem, 6.3vw, 5.65rem); line-height: 0.98; overflow-wrap: anywhere; }
.cms-entry-excerpt, .cms-blog-index-hero > p:not(.eyebrow) { max-width: 660px; margin: 0; color: var(--ink-soft); font-size: clamp(1rem, 1.4vw, 1.18rem); line-height: 1.65; }
.cms-article-meta { display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 26px; color: var(--ink-soft); font-size: 0.76rem; font-weight: 600; }
.cms-featured-image { margin: 0 0 clamp(42px, 6vw, 78px); overflow: hidden; border: 0; background: var(--paper); }
.cms-featured-image img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.cms-entry-body { max-width: 780px; overflow-wrap: anywhere; color: #2f281e; font-size: clamp(1rem, 1.2vw, 1.08rem); line-height: 1.8; }
.cms-blog-post .cms-entry-body { margin-inline: auto; }
.cms-entry-body > :first-child { margin-top: 0; }
.cms-entry-body p { margin: 0 0 1.45em; }
.cms-entry-body h2, .cms-entry-body h3 { color: var(--ink); line-height: 1.08; }
.cms-entry-body h2 { margin: 1.15em 0 0.55em; font-size: clamp(2rem, 4.2vw, 3.6rem); }
.cms-entry-body h3 { margin: 1.1em 0 0.5em; font-size: clamp(1.55rem, 2.9vw, 2.35rem); }
.cms-entry-body ul, .cms-entry-body ol { margin: 0 0 1.5em; padding-left: 1.4em; }
.cms-entry-body li + li { margin-top: 0.55em; }
.cms-entry-body a { color: var(--ink-soft); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.cms-entry-body blockquote { margin: 1.6em 0; padding: 0.4em 0 0.4em 1.2em; border-left: 4px solid var(--peach); color: var(--ink-soft); font-family: var(--font-heading); font-size: 1.3em; }
.cms-entry-body pre { overflow-x: auto; padding: 18px; border-radius: 12px; background: #f0eadf; font: 0.86rem/1.65 ui-monospace, SFMono-Regular, Menlo, monospace; }
.cms-entry-body hr { margin: 2.4em 0; border: 0; border-top: 1px solid var(--line); }
.cms-preview-banner { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: min(960px, 100%); margin: 0 auto 30px; padding: 13px 16px; border: 1px solid #d9b95b; border-radius: 12px; background: #fff4cf; color: #654c09; font-size: 0.76rem; }
.cms-blog-index-shell { padding: var(--public-hero-top-space) var(--public-content-gutter) clamp(76px, 9vw, 122px); background: var(--cream); }
.cms-blog-index-hero { width: min(1220px, 100%); margin: 0 auto clamp(70px, 8vw, 110px); }
.cms-blog-index-hero .eyebrow { margin-bottom: 12px; }
.cms-blog-index-hero h1 { max-width: none; }
@media (min-width: 1024px) {
  .cms-blog-index-hero h1 { white-space: nowrap; }
}
.cms-blog-index-intro { max-width: 700px; margin-top: 28px; color: var(--ink-soft); font-size: 1rem; }
.cms-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: clamp(30px, 3.25vw, 50px) clamp(20px, 2.6vw, 38px); width: min(1180px, 100%); margin: 0 auto; }
.cms-blog-card { min-width: 0; overflow: hidden; border: 1px solid rgba(96, 72, 32, 0.24); border-radius: var(--radius-lg); background: #fffaf0; box-shadow: 0 10px 28px rgba(0, 0, 0, 0.035); transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.cms-blog-card:hover { transform: translateY(-2px); border-color: rgba(96, 72, 32, 0.52); box-shadow: 0 15px 34px rgba(0, 0, 0, 0.065); }
.cms-blog-card-link { display: flex; height: 100%; flex-direction: column; text-decoration: none; }
.cms-blog-card .cms-featured-image { margin: 0; overflow: hidden; border-bottom: 1px solid rgba(96, 72, 32, 0.2); border-radius: 0; background: #efe7d8; }
.cms-blog-card .cms-featured-image img { aspect-ratio: 8 / 5; image-rendering: auto; transform: none; }
.cms-blog-card:hover .cms-featured-image img { transform: none; }
.cms-blog-card-copy { display: grid; align-content: start; flex: 1; padding: 24px 24px 26px; background: #fffaf0; }
.cms-blog-card-date { margin-bottom: 13px; color: var(--ink-soft); font-size: 0.7rem; line-height: 1; }
.cms-blog-card-copy h2 { margin-bottom: 14px; font-size: clamp(1.8rem, 2.5vw, 2.35rem); line-height: 1.04; }
.cms-blog-card-copy > p { display: -webkit-box; margin: 0 0 18px; overflow: hidden; color: var(--ink-soft); font-size: 0.86rem; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.cms-blog-card-read-more { width: fit-content; padding-bottom: 2px; border-bottom: 1px solid currentColor; font-family: Bitter, Georgia, serif; font-size: 0.76rem; font-weight: 700; }
.cms-blog-pagination { display: flex; align-items: center; justify-content: center; gap: 15px; width: min(1180px, 100%); margin: 44px auto 0; }
.cms-blog-pagination .public-page-numbers { display: flex; gap: 7px; }
.cms-blog-pagination a { display: inline-flex; min-width: 42px; min-height: 42px; align-items: center; justify-content: center; padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); font-size: 0.76rem; font-weight: 750; text-decoration: none; }
.cms-blog-pagination a.is-current { border-color: var(--ink); background: var(--ink); color: white; }
.cms-blog-pagination a[aria-disabled="true"] { opacity: 0.4; pointer-events: none; }

.cms-blog-post-shell { padding: 0 0 clamp(76px, 9vw, 130px); background: var(--cream); }
.cms-blog-post-shell > .cms-preview-banner { margin-top: 28px; }
.cms-blog-post { width: 100%; }
.cms-blog-post .cms-entry-header { display: grid; justify-items: center; max-width: none; margin: 0; padding: clamp(78px, 9vw, 138px) var(--public-page-gutter) clamp(72px, 8vw, 120px); background: #fff0cb; text-align: center; }
.cms-blog-post .cms-entry-header h1 { max-width: 920px; margin: 0; font-size: clamp(3.7rem, 6.2vw, 5.5rem); line-height: 1.02; }
.cms-blog-post .cms-entry-excerpt { display: none; }
.cms-blog-post .cms-blog-hero { width: min(960px, calc(100% - (2 * var(--public-page-gutter)))); margin: 0 auto clamp(64px, 8vw, 112px); }
.cms-blog-post .cms-blog-hero img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.cms-blog-post .cms-entry-body { width: min(760px, calc(100% - (2 * var(--public-page-gutter)))); }
.cms-blog-post .cms-entry-body h2 { margin-top: 1em; font-size: clamp(2.5rem, 4.2vw, 3.75rem); line-height: 1.1; }
.cms-blog-post-shell.has-blog-suggestions { padding-bottom: 0; }
.cms-blog-suggestions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; margin-top: clamp(72px, 8vw, 112px); border-block: 1px solid rgba(96, 72, 32, 0.18); background: var(--paper); }
.cms-blog-suggestion { display: grid; min-width: 0; min-height: clamp(148px, 15vw, 190px); align-items: center; gap: clamp(16px, 2.2vw, 30px); padding: clamp(30px, 4vw, 54px); color: var(--ink); text-decoration: none; transition: background-color 180ms ease; }
.cms-blog-suggestion:hover, .cms-blog-suggestion:focus-visible { background: #fff0cb; text-decoration: none; }
.cms-blog-suggestion.is-previous { grid-template-columns: auto minmax(0, 1fr); }
.cms-blog-suggestion.is-next { grid-template-columns: minmax(0, 1fr) auto; border-left: 1px solid rgba(96, 72, 32, 0.18); }
.cms-blog-suggestion:only-child { grid-column: 1 / -1; }
.cms-blog-suggestion strong { display: block; min-width: 0; font-family: var(--font-heading); font-size: clamp(1.55rem, 2.55vw, 2.85rem); line-height: 1.03; text-align: center; text-wrap: balance; }
.cms-blog-suggestion-arrow { font-family: var(--font-body); font-size: clamp(2.8rem, 4.8vw, 4.4rem); font-weight: 300; line-height: 0.8; }

.cms-standard-page-shell { background: #fff0cb; }
.cms-standard-page { width: min(780px, 100%); }
.cms-standard-page .cms-entry-header { max-width: 760px; margin-inline: auto; text-align: center; }
.cms-standard-page .cms-entry-header h1 { font-size: clamp(3.7rem, 6vw, 5.4rem); line-height: 1; }
.cms-standard-page .cms-entry-excerpt { margin-inline: auto; }
.cms-standard-page .cms-entry-body { width: 100%; max-width: 760px; margin-inline: auto; }
.cms-standard-page .cms-entry-body h2 { font-size: clamp(2rem, 3.5vw, 2.9rem); }
.cms-standard-page .cms-entry-body h3 { font-size: clamp(1.5rem, 2.4vw, 2rem); }

.cms-about-page-shell { padding: 0; background: var(--cream); }
.cms-about-page-shell > .cms-preview-banner { margin-top: 28px; }
.cms-about-page { overflow: hidden; }
.cms-about-hero { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(300px, 0.82fr); align-items: start; gap: clamp(30px, 5vw, 80px); width: min(1220px, calc(100% - (2 * var(--public-content-gutter)))); min-height: 0; margin: 0 auto; padding: var(--public-hero-top-space) 0 clamp(46px, 5vw, 72px); }
.cms-about-hero-copy { min-width: 0; }
.cms-about-hero-copy .eyebrow { margin-bottom: 12px; }
.cms-about-hero h1 { max-width: 790px; margin: 0; font-size: clamp(3.7rem, 6vw, 6.2rem); line-height: 1.01; }
.cms-about-hero h1 span { color: transparent; background: linear-gradient(90deg, #f3a6b7, #f8cf8b, #b9e5c9, #a9d8f4, #cbb7ed, #f3a6b7); background-size: 300% 100%; background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; animation: thriveth-headline-hue 10s ease-in-out infinite; }
.cms-about-hero > img { width: min(100%, 520px); height: auto; aspect-ratio: 1 / 1; justify-self: center; object-fit: contain; filter: drop-shadow(0 28px 48px rgba(48, 54, 41, 0.13)); }
.cms-about-journey { width: 100%; border-block: 1px solid rgba(83, 65, 36, 0.14); background: radial-gradient(circle at 96% 4%, rgba(254, 233, 180, 0.72), transparent 35%), var(--paper); }
.cms-about-journey-inner { width: min(1320px, 100%); margin: 0 auto; padding: clamp(44px, 5.5vw, 72px) var(--public-page-gutter); }
.cms-about-journey ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.cms-about-journey li { min-width: 0; padding: 0 clamp(18px, 2.4vw, 32px); border-left: 1px solid rgba(56, 45, 30, 0.18); }
.cms-about-journey li:first-child { padding-left: 0; border-left: 0; }
.cms-about-journey li:last-child { padding-right: 0; }
.cms-about-journey li > strong { display: block; margin-bottom: 10px; font-family: var(--font-heading); font-size: clamp(1.25rem, 1.65vw, 1.62rem); line-height: 1.08; }
.cms-about-journey li > p { margin: 0; color: rgba(42, 35, 25, 0.76); font-size: clamp(0.88rem, 1vw, 0.98rem); line-height: 1.55; }
.cms-about-body { width: 100%; max-width: none; margin: 0; padding: clamp(60px, 7vw, 94px) max(var(--public-page-gutter), calc((100% - 760px) / 2)); background: var(--paper); }
.cms-about-body:has(.cms-about-faq) { padding-bottom: 0; }
.cms-about-body > h2:first-child { max-width: 760px; margin: 0 0 clamp(38px, 5vw, 60px); font-size: clamp(2.7rem, 4.4vw, 4rem); line-height: 1.04; }
.cms-about-body > p { max-width: none; font-size: clamp(1rem, 1.35vw, 1.17rem); }
.cms-about-cta { width: 100vw; margin: clamp(42px, 5vw, 66px) 0 0 calc(50% - 50vw); padding: clamp(48px, 5.5vw, 78px) max(var(--public-page-gutter), calc((100vw - 760px) / 2)); background: #fff8e7; text-align: center; }
.cms-about-cta h2 { max-width: 780px; margin: 0 auto 22px; font-size: clamp(3rem, 5.2vw, 5rem); }
.cms-about-cta p { display: flex; justify-content: center; margin: 0; }
.cms-about-body .cms-about-cta .public-button { margin-top: 6px; border-color: var(--ink); background: var(--ink); color: var(--white); text-decoration: none; }
.cms-about-body .cms-about-cta .public-button:hover, .cms-about-body .cms-about-cta .public-button:focus-visible { border-color: var(--ink); background: var(--white); color: var(--ink); }
.cms-about-faq { width: 100vw; margin: 0 0 0 calc(50% - 50vw); padding: clamp(64px, 7vw, 96px) max(var(--public-page-gutter), calc((100vw - 760px) / 2)); background: #fff0cb; }
.cms-about-faq > h2 { max-width: 760px; margin-bottom: clamp(42px, 5vw, 68px); font-size: clamp(3.1rem, 5.4vw, 5.1rem); }
.cms-about-faq-item { border-top: 1px solid var(--line-strong); }
.cms-about-faq-item:last-child { border-bottom: 1px solid var(--line-strong); }
.cms-about-faq-item summary { position: relative; padding: 27px 64px 27px 0; cursor: pointer; list-style: none; font-family: var(--font-heading); font-size: clamp(1.4rem, 2.4vw, 2rem); font-weight: 700; line-height: 1.18; }
.cms-about-faq-item summary::-webkit-details-marker { display: none; }
.cms-about-faq-item summary::before, .cms-about-faq-item summary::after { position: absolute; top: 50%; right: 10px; width: 22px; height: 2px; background: currentColor; content: ""; transform: translateY(-50%); transition: transform 180ms ease; }
.cms-about-faq-item summary::after { transform: translateY(-50%) rotate(90deg); }
.cms-about-faq-item[open] summary::after { transform: translateY(-50%) rotate(0); }
.cms-about-faq-answer { max-width: 820px; padding: 0 58px 24px 0; color: var(--ink-soft); }
.cms-about-faq-answer p { margin: 0 0 1em; }

/* Exact CMS typography controls. These deliberately override responsive type
   clamps so the number selected in the dashboard is the number rendered. */
.public-navigation > a:not(.member-access-link) { font-family: var(--font-body) !important; font-size: 16px !important; font-weight: 400 !important; }
.public-header .member-access-link { font-family: var(--font-body) !important; font-size: 16px !important; }
.eyebrow { font-family: var(--type-shared-eyebrow-font) !important; font-size: var(--type-shared-eyebrow-size) !important; }
.public-button { font-family: var(--type-shared-button-font) !important; font-size: var(--type-shared-button-size) !important; }
.page-back, .mobile-back, .text-link { font-family: var(--type-shared-link-font) !important; font-size: var(--type-shared-link-size) !important; }
.public-footer-brand > p { font-family: var(--font-heading) !important; }
.public-footer-links a { font-family: var(--font-body) !important; font-size: 14px !important; }

.home-hero-copy h1, .jobs-intro h1, .companies-intro h1 { font-family: var(--type-board-intro-title-font) !important; font-size: var(--type-board-intro-title-size) !important; }
.cms-entry-header h1, .cms-blog-index-hero h1, .cms-about-hero h1 { font-family: var(--type-board-intro-title-font) !important; font-size: var(--type-board-intro-title-size) !important; line-height: 0.98; }
.jobs-intro > p { font-family: var(--type-board-intro-subtitle-font) !important; font-size: var(--type-board-intro-subtitle-size) !important; }
.public-search input { font-family: var(--type-board-search-font) !important; font-size: var(--type-board-search-size) !important; }
.clear-filters { font-family: var(--type-board-clear-button-font) !important; font-size: var(--type-board-clear-button-size) !important; }
.results-pane > header strong { font-family: var(--type-board-result-count-font) !important; font-size: var(--type-board-result-count-size) !important; }
.job-card-top { font-family: var(--type-job-card-company-font) !important; font-size: var(--type-job-card-company-size) !important; }
.featured-badge { font-family: var(--type-job-card-featured-font) !important; font-size: var(--type-job-card-featured-size) !important; }
.job-card h2 { font-family: var(--type-job-card-title-font) !important; font-size: var(--type-job-card-title-size) !important; }
.job-card-summary { font-family: var(--type-job-card-summary-font) !important; font-size: var(--type-job-card-summary-size) !important; }
.job-card-meta span { font-family: var(--type-job-card-meta-font) !important; font-size: var(--type-job-card-meta-size) !important; }
.board-note strong { font-family: var(--type-board-note-title-font) !important; font-size: var(--type-board-note-title-size) !important; }
.board-note p { font-family: var(--type-board-note-body-font) !important; font-size: var(--type-board-note-body-size) !important; }
.detail-empty h2, .results-empty h2 { font-family: var(--type-empty-state-heading-font) !important; font-size: var(--type-empty-state-heading-size) !important; }
.detail-empty p, .results-empty p { font-family: var(--type-empty-state-body-font) !important; font-size: var(--type-empty-state-body-size) !important; }

.job-detail .mobile-back { font-family: var(--type-job-back-link-font) !important; font-size: var(--type-job-back-link-size) !important; }
.detail-eyebrow { font-family: var(--type-job-posted-font) !important; font-size: var(--type-job-posted-size) !important; }
.job-detail-header h1 { font-family: var(--type-job-title-font) !important; font-size: var(--type-job-title-size) !important; }
.job-detail-summary > p { font-family: var(--type-job-summary-font) !important; font-size: var(--type-job-summary-size) !important; }
.meta-pill { font-family: var(--type-job-meta-font) !important; font-size: var(--type-job-meta-size) !important; }
.category-tags a { font-family: var(--type-job-category-font) !important; font-size: var(--type-job-category-size) !important; }
.save-job-button { font-family: var(--type-job-save-button-font) !important; font-size: var(--type-job-save-button-size) !important; }
.job-company-band-identity small { font-family: var(--type-job-company-label-font) !important; font-size: var(--type-job-company-label-size) !important; }
.job-company-band-identity strong { font-family: var(--type-job-company-name-font) !important; font-size: var(--type-job-company-name-size) !important; }
.job-rating-stars { font-family: var(--type-job-rating-stars-font) !important; font-size: var(--type-job-rating-stars-size) !important; }
.job-rating-copy { font-family: var(--type-job-rating-copy-font) !important; font-size: var(--type-job-rating-copy-size) !important; }
.job-copy-section h2 { font-family: var(--type-job-section-heading-font) !important; font-size: var(--type-job-section-heading-size) !important; }
.job-detail-copy .rich-copy h2, .job-detail-copy .rich-copy h3 { font-family: var(--type-job-rich-heading-font) !important; font-size: var(--type-job-rich-heading-size) !important; }
.job-detail-copy .rich-copy, .job-detail-copy .detail-list li, .job-detail-copy .check-list li, .job-compensation-amount { font-family: var(--type-job-body-font) !important; font-size: var(--type-job-body-size) !important; }
.apply-action p { font-family: var(--type-job-apply-heading-font) !important; font-size: var(--type-job-apply-heading-size) !important; }
.referral-disclosure strong { font-family: var(--type-job-disclosure-label-font) !important; font-size: var(--type-job-disclosure-label-size) !important; }
.referral-disclosure p { font-family: var(--type-job-disclosure-body-font) !important; font-size: var(--type-job-disclosure-body-size) !important; }
.account-route-disclosure strong { font-family: var(--type-job-disclosure-label-font) !important; font-size: var(--type-job-disclosure-label-size) !important; }
.account-route-disclosure p { font-family: var(--type-job-disclosure-body-font) !important; font-size: var(--type-job-disclosure-body-size) !important; }
.referral-disclosure a, .referral-details summary { font-family: var(--type-job-disclosure-link-font) !important; font-size: var(--type-job-disclosure-link-size) !important; }
.apply-action .public-button { font-family: var(--type-job-apply-button-font) !important; font-size: var(--type-job-apply-button-size) !important; }
.job-company-closing-link small { font-family: var(--type-job-closing-label-font) !important; font-size: var(--type-job-closing-label-size) !important; }
.job-company-closing-link strong { font-family: var(--type-job-closing-company-font) !important; font-size: var(--type-job-closing-company-size) !important; }

.company-page .page-back { font-family: var(--type-company-back-link-font) !important; font-size: var(--type-company-back-link-size) !important; }
.company-hero h1 { font-family: var(--type-company-title-font) !important; font-size: var(--type-company-title-size) !important; }
.company-hero p:not(.eyebrow) { font-family: var(--type-company-tagline-font) !important; font-size: var(--type-company-tagline-size) !important; }
.company-actions .public-button { font-family: var(--type-company-website-button-font) !important; font-size: var(--type-company-website-button-size) !important; }
.company-page .company-about h2, .company-page .section-heading h2, .company-about .rich-copy h2, .company-about .rich-copy h3 { font-family: var(--type-company-section-heading-font) !important; font-size: var(--type-company-section-heading-size) !important; }
.company-about .rich-copy { font-family: var(--type-company-profile-body-font) !important; font-size: var(--type-company-profile-body-size) !important; }
.company-member-cta .eyebrow { font-family: var(--type-company-cta-eyebrow-font) !important; font-size: var(--type-company-cta-eyebrow-size) !important; }
.company-member-cta h2 { font-family: var(--type-company-cta-heading-font) !important; font-size: var(--type-company-cta-heading-size) !important; }
.company-member-cta > div > p:not(.eyebrow) { font-family: var(--type-company-cta-body-font) !important; font-size: var(--type-company-cta-body-size) !important; }
.company-member-cta-actions .public-button { font-family: var(--type-company-cta-button-font) !important; font-size: var(--type-company-cta-button-size) !important; }
.company-facts h2 { font-family: var(--type-company-facts-heading-font) !important; font-size: var(--type-company-facts-heading-size) !important; }
.company-facts dt { font-family: var(--type-company-fact-label-font) !important; font-size: var(--type-company-fact-label-size) !important; }
.company-facts dd { font-family: var(--type-company-fact-value-font) !important; font-size: var(--type-company-fact-value-size) !important; }
.ratings-intro { font-family: var(--type-company-rating-intro-font) !important; font-size: var(--type-company-rating-intro-size) !important; }
.rating-card > span { font-family: var(--type-company-rating-card-label-font) !important; font-size: var(--type-company-rating-card-label-size) !important; }
.rating-overall > strong { font-family: var(--type-company-rating-score-font) !important; font-size: var(--type-company-rating-score-size) !important; }
.rating-card small, .rating-detail-grid dt, .rating-detail-grid dd, .ratings-empty p { font-family: var(--type-company-rating-detail-font) !important; font-size: var(--type-company-rating-detail-size) !important; }
.review-card > div { font-family: var(--type-company-review-meta-font) !important; font-size: var(--type-company-review-meta-size) !important; }
.review-card h3 { font-family: var(--type-company-review-title-font) !important; font-size: var(--type-company-review-title-size) !important; }
.review-card p { font-family: var(--type-company-review-body-font) !important; font-size: var(--type-company-review-body-size) !important; }
.company-page .section-heading > a { font-family: var(--type-company-section-link-font) !important; font-size: var(--type-company-section-link-size) !important; }
.company-empty p { font-family: var(--type-company-empty-body-font) !important; font-size: var(--type-company-empty-body-size) !important; }

.companies-intro .companies-eyebrow { font-family: var(--type-companies-eyebrow-font) !important; font-size: var(--type-companies-eyebrow-size) !important; }
.companies-intro > p:not(.eyebrow) { font-family: var(--type-companies-intro-font) !important; font-size: var(--type-companies-intro-size) !important; }
.company-overview-card-top .featured-badge { font-family: var(--type-company-card-featured-font) !important; font-size: var(--type-company-card-featured-size) !important; }
.company-overview-card-copy h2 { font-family: var(--type-company-card-title-font) !important; font-size: var(--type-company-card-title-size) !important; }
.company-overview-card-copy p { font-family: var(--type-company-card-summary-font) !important; font-size: var(--type-company-card-summary-size) !important; }
.company-overview-stats dt { font-family: var(--type-company-card-stat-label-font) !important; font-size: var(--type-company-card-stat-label-size) !important; }
.company-overview-stats dd { font-family: var(--type-company-card-stat-value-font) !important; font-size: var(--type-company-card-stat-value-size) !important; }
.company-overview-rating-stars { font-family: var(--type-company-card-rating-stars-font) !important; font-size: var(--type-company-card-rating-stars-size) !important; }
.company-overview-stats dd small { font-family: var(--type-company-card-rating-detail-font) !important; font-size: var(--type-company-card-rating-detail-size) !important; }
.company-overview-link { font-family: var(--type-company-card-link-font) !important; font-size: var(--type-company-card-link-size) !important; }
.companies-empty p { font-family: var(--type-companies-empty-body-font) !important; font-size: var(--type-companies-empty-body-size) !important; }
.companies-empty .public-button { font-family: var(--type-companies-empty-button-font) !important; font-size: var(--type-companies-empty-button-size) !important; }

button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid rgba(254, 233, 180, 1); outline-offset: 3px; }

@container job-detail-pane (max-width: 820px) {
  .job-detail-layout { grid-template-columns: minmax(0, 1fr); }
  .apply-panel { position: static; grid-row: 1; grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 1120px) {
  .companies-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-job-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-job-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .jobs-intro { grid-template-columns: 1fr; gap: 22px; }
  .job-filters { grid-template-columns: minmax(0, 1fr) auto auto; }
  .job-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .board-shell { grid-template-columns: minmax(320px, 0.78fr) minmax(0, 1.22fr); height: auto; }
  .job-company-band { grid-template-columns: 1fr; }
  .job-company-band-identity { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .job-company-band-rating { min-height: auto; }
  .job-detail-layout { grid-template-columns: 1fr; }
  .apply-panel { position: static; grid-row: 1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .apply-panel > :only-child { grid-column: 1 / -1; }
  .company-layout { grid-template-columns: 1fr; }
  .company-work-status-notice { grid-template-columns: 1fr; }
  .company-work-status-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .company-member-cta { grid-template-columns: 1fr; }
  .company-member-cta-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; }
  .company-side { position: static; grid-row: 1; width: min(100%, 560px); }
  .company-job-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .home-hero-grid { grid-template-columns: 1fr; }
  .home-hero-copy { max-width: 820px; }
  .home-hero-visual { width: min(620px, 95%); min-height: 390px; margin-inline: auto; }
  .home-membership-grid, .home-about-grid { grid-template-columns: 1fr; gap: 42px; }
  .home-membership-copy { grid-row: 1; }
  .home-membership-features { grid-row: 2; }
  .public-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .public-footer-brand { grid-column: 1 / -1; padding-bottom: 24px; border-bottom: 1px solid rgba(0, 0, 0, 0.22); }
  .public-footer-brand > p { max-width: 520px; }
}

@media (max-width: 860px), (pointer: coarse) and (max-width: 1024px) {
  .public-header { height: 78px; min-height: 78px; padding-block: 8px; }
  .public-wordmark img { width: 145px; }
  .public-menu-button { display: inline-flex; }
  .public-navigation { position: absolute; top: 100%; right: 0; left: 0; z-index: 10; display: flex; height: calc(100dvh - 78px); flex-direction: column; align-items: stretch; gap: 0; overflow-y: auto; padding: 26px 24px 40px; background: var(--cream); visibility: hidden; opacity: 0; transition: opacity 180ms ease, visibility 180ms; }
  .public-navigation.is-open { visibility: visible; opacity: 1; }
  .public-navigation > a:not(.member-access-link) { padding: 17px 3px; border-bottom: 1px solid var(--line); font-family: var(--font-heading) !important; font-size: 1.8rem !important; line-height: 1.2; }
  .public-navigation > a:not(.member-access-link):hover, .public-navigation > a:not(.member-access-link).is-active { text-decoration: none; }
  .public-navigation > a:not(.member-access-link).is-active { font-weight: 700; }
  .public-navigation .member-access-link { justify-content: center; margin-top: 22px; margin-left: 0; padding: 0 18px; font-family: var(--font-body) !important; font-size: 16px !important; line-height: 22px; }
}

@media (max-width: 860px) {
  .jobs-page, .companies-page { padding-inline: var(--public-content-gutter); }
  .cms-page-shell { padding: 36px 18px 72px; }
  .cms-about-page-shell { padding: 0; }
  .cms-blog-index-shell { padding: var(--public-hero-top-space) var(--public-content-gutter) 72px; }
  .cms-blog-grid { grid-template-columns: 1fr; }
  .cms-blog-index-hero { margin-bottom: 58px; }
  .cms-blog-index-hero .eyebrow { margin-bottom: 12px; }
  .cms-blog-index-hero h1 { max-width: 560px; font-size: clamp(3rem, 12.5vw, 4.4rem); white-space: normal; }
  .cms-blog-card-link { display: grid; grid-template-columns: minmax(140px, 0.9fr) minmax(0, 1.1fr); align-items: stretch; gap: 0; }
  .cms-blog-card .cms-featured-image { height: 100%; border-right: 1px solid rgba(96, 72, 32, 0.2); border-bottom: 0; }
  .cms-blog-card .cms-featured-image img { height: 100%; min-height: 100%; aspect-ratio: auto; object-fit: cover; }
  .cms-blog-card-copy { padding: 22px 24px 24px; }
  .cms-blog-card-copy h2 { font-size: clamp(1.75rem, 5.8vw, 2.35rem); }
  .cms-blog-post-shell { padding: 0 0 76px; }
  .cms-about-page-shell { padding: 0; }
  .cms-blog-post .cms-entry-header { padding: 68px 20px 62px; }
  .cms-blog-post .cms-entry-header h1 { font-size: clamp(3rem, 11vw, 4.4rem); }
  .cms-blog-post .cms-blog-hero { margin-bottom: 62px; }
  .cms-blog-post .cms-entry-body { width: min(720px, calc(100% - 40px)); }
  .cms-blog-suggestion { min-height: 142px; padding: 28px 24px; }
  .cms-blog-suggestion strong { font-size: clamp(1.55rem, 4.3vw, 2.2rem); }
  .cms-about-hero { grid-template-columns: 1fr; min-height: auto; padding: var(--public-hero-top-space) 0 58px; }
  .cms-about-hero h1 { max-width: 670px; font-size: clamp(3.1rem, 11.7vw, 5rem); }
  .cms-about-hero > img { width: min(72vw, 360px); margin-top: 18px; }
  .cms-about-journey-inner { padding: 48px 20px 52px; }
  .cms-about-journey ol { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 34px; }
  .cms-about-journey li { padding-inline: 24px; }
  .cms-about-journey li:nth-child(odd) { padding-left: 0; border-left: 0; }
  .cms-about-journey li:nth-child(even) { padding-right: 0; }
  .cms-about-body { width: 100%; padding: 58px 20px 70px; }
  .cms-about-body > h2:first-child { font-size: clamp(2.3rem, 8vw, 3.5rem); }
  .cms-about-faq > h2 { font-size: clamp(2.8rem, 11vw, 4.2rem); }
  .cms-about-cta { margin-block: 44px 0; padding: 52px 20px; }
  .cms-about-faq-item summary { padding-block: 23px; font-size: clamp(1.35rem, 5.8vw, 1.85rem); }
  .cms-standard-page-shell { padding: 58px 20px 82px; }
  .cms-standard-page .cms-entry-header h1 { font-size: clamp(3.05rem, 12vw, 4.25rem); }
  .jobs-intro { grid-template-columns: 1fr; gap: 22px; padding: 28px 0 24px; }
  .jobs-intro h1 { font-size: clamp(calc(3.4rem + var(--type-heading-bump)), calc(13.8vw + var(--type-heading-bump)), calc(6.4rem + var(--type-heading-bump))); }
  .job-filters { grid-template-columns: minmax(0, 1fr) auto auto; border-radius: var(--radius-md); }
  .job-filter-details:not([open]) > .job-filter-grid, .job-filter-details:not([open]) > .quick-filter-row { display: none; }
  .job-filter-details[open] > .job-filter-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: 10px; }
  .job-filter-grid input, .job-filter-grid select { font-size: 0.76rem; }
  .job-filter-details > .quick-filter-row { display: none !important; }
  .board-shell { display: block; height: auto; min-height: 600px; overflow: visible; border-radius: var(--radius-md); }
  .results-pane { min-height: 600px; border: 1px solid rgba(0, 0, 0, 0.14); border-radius: var(--radius-md); }
  .job-list { height: auto; overflow: visible; }
  .detail-pane { width: 100%; position: static; top: auto; height: auto; overflow: hidden; border: 1px solid rgba(0, 0, 0, 0.14); border-radius: var(--radius-md); }
  .detail-pane > .job-detail { display: block; height: auto; min-height: 100%; }
  .job-detail-scroll { overflow: visible; }
  .board-shell.is-list-route .detail-pane { display: none; }
  .board-shell.is-detail-route .results-pane { display: none; }
  .jobs-page.is-detail-route .jobs-intro, .jobs-page.is-detail-route .job-filters { display: none; }
  .draft-preview-board-page.is-detail-route .draft-preview-banner { display: none; }
  .jobs-page.is-detail-route { padding-top: 14px; }
  .mobile-back { display: inline-flex; align-items: center; gap: 6px; margin: 20px 20px 0; color: var(--ink-soft); font-size: 0.7rem; font-weight: 750; text-decoration: none; }
  .job-detail-header { padding-top: 27px; }
  .job-detail-header h1 { overflow-wrap: anywhere; font-size: clamp(2.05rem, 8.8vw, 2.65rem) !important; line-height: 1.02; }
  .job-detail-layout { padding-bottom: 45px; }
  .apply-panel { grid-row: auto; }
  .board-note { grid-template-columns: 1fr; gap: 10px; margin-top: 40px; }
  .jobs-page.is-detail-route > .board-note { display: none; }
  .detail-controls { align-items: flex-start; flex-direction: column; }
  .category-tags { width: 100%; }
  .related-jobs { display: block; padding: 8px 20px 44px; }
  .related-jobs-heading { margin-bottom: 14px; }
  .related-jobs-heading h2 { margin: 0; font-size: 2rem; line-height: 1; }
  .related-jobs-grid { display: grid; gap: 12px; }
  .company-page, .preview-page { width: min(100% - 28px, 760px); }
  .company-hero { grid-template-columns: auto 1fr; }
  .company-actions { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .company-job-grid { grid-template-columns: 1fr; }
  .member-page { width: min(100% - 28px, 760px); }
  .member-layout { grid-template-columns: 1fr; }
  .member-action-hub nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .member-overview-grid, .member-settings-layout { grid-template-columns: 1fr; }
  .member-settings-layout .member-account-controls { grid-column: auto; }
}

@media (max-width: 600px) {
  .home-job-grid { grid-template-columns: 1fr; }
  .home-job-card:last-child:nth-child(odd) { grid-column: auto; }
  .home-job-card { min-height: 390px; }
  .home-section-heading h2, .home-about-grid h2, .home-membership h2 { font-size: clamp(2.6rem, 13vw, 4rem); }
  .public-footer { padding-top: 36px; }
  .public-footer-grid { grid-template-columns: 1fr 1fr; gap: 36px 26px; }
  .public-footer-brand { grid-column: 1 / -1; }
  .public-footer-links:last-child { grid-column: 1 / -1; }
  .public-footer-bottom { margin-top: 30px; }
}

@media (max-width: 580px) {
  :root { --public-hero-top-space: 38px; }
  .home-shell.home-hero-grid { min-height: auto; padding: var(--public-hero-top-space) 0 48px; }
  .home-hero-visual { min-height: 300px; }
  .home-actions .public-button { flex: 1 1 100%; }
  .jobs-intro { gap: 18px; padding-top: var(--public-hero-top-space); }
  .home-hero-copy h1, .jobs-intro h1, .companies-intro h1 { max-width: 560px; font-size: min(var(--type-board-intro-title-size), clamp(34px, 9.6vw, 40px)) !important; line-height: 0.98; }
  .cms-entry-header h1, .cms-blog-index-hero h1, .cms-about-hero h1 { font-size: min(var(--type-board-intro-title-size), clamp(34px, 9.6vw, 40px)) !important; line-height: 0.98; }
  .member-signin h1 { font-size: clamp(2.15rem, 9.4vw, 2.7rem) !important; line-height: 0.98; }
  .job-filters { grid-template-columns: minmax(0, 1fr) auto; }
  .public-search { grid-column: 1 / -1; }
  .job-search-submit { grid-column: 1; width: 100%; }
  .clear-filters.is-visible { grid-column: 2; }
  .job-card { padding: 16px; }
  .job-card h2 { font-size: clamp(1.35rem, 6.6vw, 1.7rem) !important; }
  .results-pagination { padding: 15px; }
  .results-pagination-actions { gap: 5px; }
  .results-page-numbers { gap: 4px; }
  .results-page-link { min-width: 37px; min-height: 39px; padding: 6px; }
  .job-detail-header, .job-detail-summary, .job-detail-layout { padding-inline: 20px; }
  .job-detail-header h1, .company-hero h1 { font-size: clamp(2rem, 8.8vw, 2.45rem) !important; line-height: 1.02; }
  .detail-meta { display: grid; }
  .meta-pill { width: fit-content; }
  .job-company-band-identity, .job-company-band-rating { padding: 19px 20px; }
  .apply-panel { grid-template-columns: 1fr; }
  .company-hero { grid-template-columns: 1fr; text-align: left; }
  .company-hero > div { min-width: 0; }
  .company-hero h1 { max-width: 100%; overflow-wrap: anywhere; }
  .company-hero .logo-large { width: 78px; height: 78px; border-radius: 20px; }
  .company-actions { grid-column: auto; grid-template-columns: 1fr; }
  .company-work-status-actions { grid-template-columns: 1fr; }
  .company-member-cta-actions { grid-template-columns: 1fr; }
  .ratings-grid { grid-template-columns: 1fr; }
  .review-fact-list, .member-review-preview dl { grid-template-columns: 1fr; }
  .member-hero { align-items: flex-start; flex-direction: column; }
  .account-action-notice { grid-template-columns: auto minmax(0, 1fr); align-items: start; }
  .account-action-notice > .public-company-logo { width: 52px; height: 52px; border-radius: 12px; }
  .account-action-notice > a { grid-column: 1 / -1; }
  .member-action-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
  .member-action-hub nav { grid-template-columns: 1fr; }
  .member-form-grid, .member-pay-grid, .member-item { grid-template-columns: 1fr; }
  .member-item-actions { justify-items: start; }
  .application-review-prompt { align-items: flex-start; flex-direction: column; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .company-page .company-about h2, .company-page .section-heading h2, .company-about .rich-copy h2, .company-about .rich-copy h3 { margin-top: 0.9em; margin-bottom: 0.28em; font-size: clamp(1.75rem, 7.8vw, 2.2rem) !important; line-height: 1.06 !important; }
  .company-about .rich-copy h2:first-child, .company-about .rich-copy h3:first-child { margin-top: 0; }
  .preview-banner { align-items: stretch; flex-direction: column; }
  .companies-grid { grid-template-columns: 1fr; }
  .company-overview-card { min-height: 390px; }
  .review-policy-page { width: min(100% - 28px, 760px); padding-top: 28px; }
  .review-policy-hero { padding: 28px 22px; }
  .review-policy-layout { grid-template-columns: 1fr; padding: 42px 4px 0; }
  .review-policy-navigation { position: static; }
  .cms-entry-header { margin-bottom: 30px; }
  .cms-entry-excerpt, .cms-blog-index-hero > p:not(.eyebrow) { font-size: 0.98rem; }
  .cms-entry-body { font-size: 0.98rem; line-height: 1.72; }
  .cms-entry-body h2 { font-size: clamp(1.8rem, 9vw, 2.45rem); }
  .cms-entry-body h3 { font-size: clamp(1.45rem, 7.2vw, 1.95rem); }
  .cms-preview-banner { align-items: flex-start; flex-direction: column; }
  .cms-blog-pagination { gap: 8px; }
  .cms-blog-pagination .public-pagination-link { padding-inline: 11px; }
}

@media (max-width: 430px) {
  :root { --public-header-gutter: 15px; }
  .public-wordmark img { width: 126px; }
  .cms-blog-card-link { display: block; }
  .cms-blog-card .cms-featured-image { height: auto; border-right: 0; border-bottom: 1px solid rgba(96, 72, 32, 0.2); }
  .cms-blog-card .cms-featured-image img { height: auto; min-height: 0; aspect-ratio: 8 / 5; }
  .cms-blog-card-copy { padding: 21px 21px 24px; }
  .cms-blog-card-copy h2 { font-size: clamp(1.85rem, 9vw, 2.3rem); }
  .cms-blog-post .cms-entry-header { padding: 54px 18px 50px; }
  .cms-blog-post .cms-entry-header h1 { font-size: clamp(2.65rem, 12vw, 3.5rem); }
  .cms-blog-post .cms-entry-body { width: calc(100% - 36px); }
  .cms-blog-suggestions { grid-template-columns: 1fr; margin-top: 58px; }
  .cms-blog-suggestion { min-height: 116px; padding: 25px 18px; }
  .cms-blog-suggestion.is-next { border-top: 1px solid rgba(96, 72, 32, 0.18); border-left: 0; }
  .cms-blog-suggestion strong { font-size: clamp(1.55rem, 7.6vw, 2rem); }
  .cms-blog-suggestion-arrow { font-size: 3rem; }
  .cms-about-hero h1 { font-size: clamp(2.75rem, 13vw, 3.7rem); }
  .cms-about-journey-inner { padding: 42px 18px 46px; }
  .cms-about-journey ol { grid-template-columns: 1fr; row-gap: 0; }
  .cms-about-journey li, .cms-about-journey li:nth-child(odd), .cms-about-journey li:nth-child(even) { padding: 22px 0; border-top: 1px solid rgba(56, 45, 30, 0.2); border-left: 0; }
  .cms-about-journey li:first-child { padding-top: 0; border-top: 0; }
  .cms-about-journey li:last-child { padding-bottom: 0; }
  .cms-about-body > h2:first-child { font-size: clamp(2rem, 8.8vw, 2.7rem); }
  .cms-about-body { width: 100%; padding-inline: 18px; }
  .cms-about-faq-item summary { padding-right: 46px; }
  .cms-about-faq-answer { padding-right: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .home-hero-copy h1 em, .jobs-intro h1 em, .companies-intro h1 em, .cms-blog-index-hero h1 em, .cms-about-hero h1 span { animation: none; background-position: 50% 50%; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}
