
:root {
  --ink: #1f1f1f;
  --ink-2: #333333;
  --slate: #5b5b5b;
  --paper: #f5f5f6;
  --white: #ffffff;
  --line: #d9d9dc;
  --line-dark: rgba(255, 255, 255, 0.16);
  --gold: #bb000e;
  --gold-dark: #90000b;
  --mint: #f8e8ea;
  --max: 1180px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

.shell {
  width: min(calc(100% - 48px), var(--max));
  margin-inline: auto;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  transform: translateY(-160%);
  background: var(--white);
  color: var(--ink);
  padding: 10px 14px;
  border: 2px solid var(--gold);
}

.skip-link:focus {
  transform: translateY(0);
}

.site-header {
  position: sticky;
  z-index: 50;
  top: 0;
  background: rgba(255, 255, 255, 0.97);
  border-bottom: 1px solid rgba(187, 0, 14, 0.22);
  backdrop-filter: blur(14px);
}

.header-inner {
  min-height: 82px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 28px;
}

.brand-link {
  justify-self: start;
  height: 58px;
}

.brand-mark {
  display: flex;
  align-items: center;
  width: 250px;
  height: auto;
}

.brand-mark img {
  display: block;
  width: 100%;
  height: auto;
}

.desktop-nav {
  display: flex;
  align-items: center;
  gap: 32px;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
}

.desktop-nav a {
  position: relative;
  padding: 8px 0;
}

.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 2px;
  height: 2px;
  background: var(--gold);
  transition: right 180ms ease;
}

.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after,
.desktop-nav a[aria-current="page"]::after {
  right: 0;
}

.button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 20px;
  border: 1px solid transparent;
  background: var(--ink);
  color: var(--white);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.01em;
  transition: transform 170ms ease, background 170ms ease, color 170ms ease;
}

.button:hover,
.button:focus-visible {
  transform: translateY(-2px);
}

.button--small {
  justify-self: end;
  min-height: 42px;
  padding-inline: 17px;
  font-size: 13px;
}

.button--nav {
  background: var(--gold);
  color: var(--white);
}

.button { border-radius: 6px; }

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

.button--gold:hover,
.button--gold:focus-visible {
  background: #d3202d;
}

.button--full {
  width: 100%;
  margin-top: 12px;
}

.hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(120deg, #171717 0%, var(--ink-2) 100%);
  color: var(--white);
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 8px;
  background: var(--gold);
}

.hero::after {
  content: "";
  position: absolute;
  right: -15vw;
  top: -15vw;
  width: 54vw;
  aspect-ratio: 1;
  border: 1px solid rgba(187, 0, 14, 0.22);
  border-radius: 50%;
  box-shadow:
    0 0 0 5vw rgba(187, 0, 14, 0.05),
    0 0 0 10vw rgba(187, 0, 14, 0.03),
    0 0 0 15vw rgba(187, 0, 14, 0.018);
}

.hero-grid {
  position: absolute;
  inset: 0;
  opacity: 0.14;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.13) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to right, black, transparent 74%);
}

.hero-layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(340px, 0.75fr);
  align-items: center;
  gap: 80px;
  min-height: 690px;
  padding-block: 88px 98px;
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 20px;
  color: var(--gold-dark);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.18em;
  line-height: 1.3;
  text-transform: uppercase;
}

.eyebrow > span {
  width: 30px;
  height: 2px;
  background: currentColor;
}

.eyebrow--light {
  color: #f05a64;
}

.hero h1,
.section-heading h2,
.experience-copy h2,
.about-main h2,
.request-intro h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -0.038em;
  line-height: 1.02;
}

.hero h1 {
  max-width: 780px;
  font-size: clamp(54px, 6.4vw, 84px);
}

.hero h1 em {
  color: var(--gold);
  font-style: normal;
}

.hero-lede {
  max-width: 690px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: clamp(17px, 1.7vw, 20px);
  line-height: 1.7;
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: 26px;
  margin-top: 36px;
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 800;
}

.text-link--light {
  color: rgba(255, 255, 255, 0.88);
}

.text-link:hover,
.text-link:focus-visible {
  color: var(--gold);
}

.field-card {
  position: relative;
  padding: 26px;
  background: rgba(255, 255, 255, 0.97);
  color: var(--ink);
  border-top: 5px solid var(--gold);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.25);
}

.field-card::before {
  content: "";
  position: absolute;
  inset: 11px;
  border: 1px solid rgba(6, 29, 41, 0.09);
  pointer-events: none;
}

.field-card__topline {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
  color: #6a6a6a;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.field-card__title {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 25px 0 18px;
}

.field-card__title svg {
  color: var(--gold-dark);
}

.field-card__title div {
  display: grid;
  gap: 4px;
}

.field-card__title small {
  color: #707070;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.field-card__title strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  line-height: 1.2;
}

.field-card__steps {
  position: relative;
  border: 1px solid var(--line);
}

.field-card__steps > div {
  display: grid;
  grid-template-columns: 38px 1fr 20px;
  align-items: center;
  gap: 11px;
  min-height: 48px;
  padding: 0 13px;
  border-bottom: 1px solid var(--line);
}

.field-card__steps > div:last-child {
  border-bottom: 0;
}

.field-card__steps span {
  color: #999999;
  font-family: "Courier New", monospace;
  font-size: 11px;
}

.field-card__steps p {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
}

.field-card__steps svg {
  color: var(--gold);
}

.field-card__seal {
  position: relative;
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 19px;
  padding: 14px;
  background: var(--mint);
}

.field-card__seal svg {
  flex: 0 0 auto;
  color: var(--gold);
}

.field-card__seal span {
  display: grid;
  color: #666666;
  font-size: 11px;
}

.field-card__seal strong {
  color: var(--ink);
  font-size: 11px;
  letter-spacing: 0.03em;
}

.credential-strip {
  background: var(--white);
  border-bottom: 1px solid var(--line);
}

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

.credential-grid > div {
  min-height: 132px;
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 25px 30px;
  border-right: 1px solid var(--line);
}

.credential-grid > div:first-child {
  border-left: 1px solid var(--line);
}

.credential-grid strong {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 500;
}

.credential-grid span {
  color: var(--slate);
  font-size: 12px;
  line-height: 1.5;
}

.situation-section {
  padding-block: 86px;
  background: var(--white);
  border-bottom: 1px solid var(--line);
}

.situation-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(480px, 1.15fr);
  gap: 95px;
  align-items: center;
}

.situation-heading h2,
.detail-hero h1,
.detail-body h2,
.detail-cta h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -0.038em;
  line-height: 1.05;
}

.situation-heading h2 { font-size: clamp(36px, 4vw, 52px); }
.situation-heading > p:last-child { margin: 22px 0 0; color: var(--slate); font-size: 16px; }
.situation-list { border-top: 1px solid var(--line); }
.situation-list > a { display: grid; grid-template-columns: 38px 1fr 24px; align-items: center; gap: 17px; min-height: 92px; padding: 17px 6px; border-bottom: 1px solid var(--line); transition: padding 170ms ease, color 170ms ease; }
.situation-list > a:hover, .situation-list > a:focus-visible { padding-left: 14px; color: var(--gold-dark); }
.situation-list > a > span { color: #999; font-family: "Courier New", monospace; font-size: 11px; }
.situation-list div { display: grid; gap: 3px; }
.situation-list strong { font-family: Georgia, "Times New Roman", serif; font-size: 19px; font-weight: 500; }
.situation-list small { color: var(--slate); font-size: 13px; }

.section {
  padding-block: 112px;
}

.section-heading h2,
.experience-copy h2,
.about-main h2,
.request-intro h2 {
  font-size: clamp(40px, 4.6vw, 60px);
}

.split-heading {
  display: grid;
  grid-template-columns: 1.15fr 0.65fr;
  align-items: end;
  gap: 110px;
  margin-bottom: 54px;
}

.split-heading > p {
  margin: 0 0 7px;
  color: var(--slate);
  font-size: 17px;
  line-height: 1.7;
}

.service-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #c9c9c9;
  border-left: 1px solid #c9c9c9;
}

.service-card {
  min-height: 310px;
  padding: 31px;
  background: rgba(255, 255, 255, 0.42);
  border-right: 1px solid #c9c9c9;
  border-bottom: 1px solid #c9c9c9;
  transition: background 180ms ease, transform 180ms ease;
}

.service-card:hover {
  background: var(--white);
  transform: translateY(-4px);
}

.service-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--gold-dark);
}

.service-card__meta span {
  font-family: "Courier New", monospace;
  font-size: 12px;
  color: #888888;
}

.service-card h3 {
  margin: 54px 0 14px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 27px;
  font-weight: 500;
  line-height: 1.2;
}

.service-card p {
  margin: 0;
  color: var(--slate);
  font-size: 14px;
  line-height: 1.7;
}

.service-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
  color: var(--gold-dark);
  font-size: 12px;
  font-weight: 800;
}

.detail-header { background: var(--white); border-bottom: 1px solid var(--line); }
.detail-header__inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.detail-brand { width: 250px; display: flex; }
.detail-brand img { width: 100%; height: auto; }
.detail-back { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 800; }
.detail-back:hover, .detail-back:focus-visible { color: var(--gold-dark); }
.detail-hero { position: relative; overflow: hidden; padding-block: 98px; background: linear-gradient(120deg, #171717, var(--ink-2)); color: var(--white); border-left: 8px solid var(--gold); }
.detail-hero::after { content: "JSA"; position: absolute; right: -25px; bottom: -70px; color: rgba(255,255,255,.025); font-size: 280px; font-weight: 900; line-height: 1; letter-spacing: -.1em; }
.detail-hero__layout { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto; gap: 70px; align-items: center; }
.detail-hero h1 { max-width: 820px; font-size: clamp(52px, 7vw, 82px); }
.detail-hero p:not(.eyebrow) { max-width: 760px; margin: 26px 0 0; color: rgba(255,255,255,.72); font-size: 19px; line-height: 1.7; }
.detail-icon { width: 142px; aspect-ratio: 1; display: grid; place-items: center; color: #f05a64; border: 1px solid rgba(255,255,255,.2); }
.detail-body { display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding-block: 96px 112px; }
.detail-intro { grid-column: 1 / -1; display: grid; grid-template-columns: .6fr 1.4fr; column-gap: 60px; padding: 0 0 72px; border-bottom: 1px solid var(--line); }
.detail-kicker { margin: 0 0 13px; color: var(--gold-dark); font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.detail-intro .detail-kicker { grid-column: 1; }
.detail-intro h2 { grid-column: 1; font-size: 46px; }
.detail-intro > p:not(.detail-kicker) { grid-column: 2; grid-row: 1 / span 2; margin: 0; color: var(--slate); font-size: 18px; line-height: 1.75; }
.source-link { grid-column: 2; display: inline-flex; align-items: center; gap: 8px; width: fit-content; margin-top: 20px; color: var(--gold-dark); font-size: 13px; font-weight: 800; }
.detail-panel { padding: 62px 54px 62px 0; border-bottom: 1px solid var(--line); }
.detail-panel--tint { padding-inline: 54px; background: #f8e8ea; }
.detail-panel__heading { display: flex; align-items: flex-start; gap: 18px; }
.detail-panel__heading > span { margin-top: 8px; color: var(--gold-dark); font-family: "Courier New", monospace; font-size: 11px; }
.detail-panel h2 { font-size: 36px; }
.detail-panel ul { display: grid; gap: 14px; margin: 30px 0 0; padding: 0; list-style: none; }
.detail-panel li { display: flex; align-items: flex-start; gap: 11px; color: var(--slate); font-size: 14px; }
.detail-panel li svg { flex: 0 0 auto; margin-top: 4px; color: var(--gold-dark); }
.detail-process { grid-column: 1 / -1; display: grid; grid-template-columns: .7fr 1.3fr; gap: 80px; padding-block: 76px; border-bottom: 1px solid var(--line); }
.detail-process h2, .detail-deliverables h2 { font-size: 44px; }
.detail-process__steps { border-top: 1px solid var(--line); }
.detail-process__steps > div { display: grid; grid-template-columns: 46px 1fr; gap: 15px; padding: 19px 0; border-bottom: 1px solid var(--line); }
.detail-process__steps span { color: var(--gold-dark); font-family: "Courier New", monospace; font-size: 11px; }
.detail-process__steps p { margin: 0; color: var(--slate); font-size: 15px; }
.detail-deliverables { grid-column: 1 / -1; display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; padding-top: 76px; }
.detail-deliverables ul { display: grid; grid-template-columns: 1fr 1fr; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.detail-deliverables li { min-height: 116px; display: flex; align-items: center; padding: 24px; background: var(--white); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--ink-2); font-size: 14px; font-weight: 700; }
.detail-cta { padding-block: 85px; background: var(--ink-2); color: var(--white); }
.detail-cta__layout { display: grid; grid-template-columns: 1fr auto; gap: 80px; align-items: center; }
.detail-cta h2 { max-width: 750px; font-size: clamp(38px, 4.5vw, 58px); }
.detail-cta p:not(.eyebrow) { max-width: 740px; margin: 22px 0 0; color: rgba(255,255,255,.68); }
.detail-cta__actions { display: grid; gap: 20px; justify-items: center; }
.detail-empty { min-height: 70vh; display: grid; place-content: center; text-align: center; }

@media (max-width: 900px) {
  .situation-layout, .detail-process, .detail-deliverables, .detail-cta__layout { grid-template-columns: 1fr; gap: 45px; }
  .detail-body { grid-template-columns: 1fr; }
  .detail-panel { padding-inline: 0; }
  .detail-panel--tint { margin-inline: -24px; padding-inline: 24px; }
  .detail-intro { grid-template-columns: 1fr; gap: 18px; }
  .detail-intro .detail-kicker, .detail-intro h2, .detail-intro > p:not(.detail-kicker), .source-link { grid-column: 1; grid-row: auto; }
}

@media (max-width: 640px) {
  .situation-layout { grid-template-columns: 1fr; }
  .detail-icon { display: none; }
  .detail-hero__layout { grid-template-columns: 1fr; }
  .detail-hero { padding-block: 70px; }
  .detail-deliverables ul { grid-template-columns: 1fr; }
  .detail-brand { width: 205px; }
}

.experience-section {
  position: relative;
  overflow: hidden;
  background: var(--ink-2);
  color: var(--white);
}

.experience-section::after {
  content: "JSA";
  position: absolute;
  right: -30px;
  bottom: -106px;
  color: rgba(255, 255, 255, 0.025);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 330px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.1em;
}

.experience-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.8fr);
  align-items: center;
  gap: 110px;
}

.experience-copy > p:not(.eyebrow) {
  max-width: 650px;
  margin: 26px 0 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 17px;
}

.check-list {
  display: grid;
  gap: 13px;
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
}

.check-list li {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  color: rgba(255, 255, 255, 0.83);
  font-size: 14px;
}

.check-list svg {
  flex: 0 0 auto;
  margin-top: 3px;
  color: var(--gold);
}

.client-panel {
  padding: 34px;
  background: var(--paper);
  color: var(--ink);
  border-left: 5px solid var(--gold);
}

.client-panel__label {
  margin: 0 0 17px;
  color: var(--gold-dark);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.client-list {
  border-top: 1px solid var(--line);
}

.client-list > div {
  min-height: 63px;
  display: flex;
  align-items: center;
  gap: 14px;
  border-bottom: 1px solid var(--line);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  line-height: 1.35;
}

.client-list svg {
  flex: 0 0 auto;
  color: var(--gold-dark);
}

.client-panel__note {
  margin: 18px 0 0;
  color: var(--slate);
  font-size: 12px;
}

.process-section {
  background: var(--white);
}

.centered-heading {
  max-width: 820px;
  margin: 0 auto 60px;
  text-align: center;
}

.centered-heading .eyebrow {
  justify-content: center;
}

.centered-heading > p:last-child {
  max-width: 590px;
  margin: 20px auto 0;
  color: var(--slate);
  font-size: 17px;
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line);
}

.process-card {
  position: relative;
  padding: 35px 29px 10px;
  border-right: 1px solid var(--line);
}

.process-card:first-child {
  border-left: 1px solid var(--line);
}

.process-card::before {
  content: "";
  position: absolute;
  top: -4px;
  left: -1px;
  width: 8px;
  height: 8px;
  background: var(--gold);
  border-radius: 50%;
}

.process-card > span {
  color: var(--gold-dark);
  font-family: "Courier New", monospace;
  font-size: 12px;
}

.process-card h3 {
  margin: 30px 0 13px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 500;
}

.process-card p {
  margin: 0;
  color: var(--slate);
  font-size: 14px;
}

.about-section {
  background: var(--paper);
}

.about-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.65fr);
  align-items: stretch;
  gap: 90px;
}

.about-main > p:not(.eyebrow) {
  max-width: 720px;
  margin: 25px 0 0;
  color: var(--slate);
  font-size: 17px;
}

.qualification-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px;
}

.qualification-row span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  background: var(--white);
  border: 1px solid var(--line);
  color: #3b3b3b;
  font-size: 12px;
  font-weight: 800;
}

.qualification-row svg {
  color: var(--gold-dark);
}

.insurance-card {
  position: relative;
  padding: 39px;
  background: var(--white);
  border-top: 5px solid var(--ink);
  box-shadow: 0 18px 45px rgba(31, 31, 31, 0.08);
}

.insurance-card > p:first-child {
  margin: 0 0 18px;
  color: var(--gold-dark);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.insurance-card h3 {
  margin: 0 0 18px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 27px;
  font-weight: 500;
  line-height: 1.2;
}

.insurance-card > p:not(:first-child) {
  color: #575757;
  font-size: 14px;
}

.insurance-card ul {
  display: grid;
  gap: 10px;
  margin: 22px 0 0;
  padding: 20px 0 0 20px;
  border-top: 1px solid rgba(31, 31, 31, 0.14);
  color: var(--slate);
  font-size: 13px;
}

.contact-section {
  position: relative;
  overflow: hidden;
  padding-block: 108px;
  background: var(--ink);
  color: var(--white);
}

.contact-contour {
  position: absolute;
  left: -120px;
  bottom: -230px;
  width: 680px;
  height: 680px;
  border: 1px solid rgba(187, 0, 14, 0.25);
  border-radius: 50%;
  box-shadow:
    0 0 0 52px rgba(187, 0, 14, 0.05),
    0 0 0 104px rgba(187, 0, 14, 0.03),
    0 0 0 156px rgba(187, 0, 14, 0.018);
}

.request-layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, 0.58fr) minmax(0, 1.15fr);
  align-items: start;
  gap: 80px;
}

.request-intro {
  position: sticky;
  top: 122px;
}

.request-intro > p:not(.eyebrow):not(.request-note) {
  max-width: 560px;
  margin: 26px 0 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 17px;
}

.request-direct {
  display: grid;
  gap: 4px;
  margin-top: 34px;
  padding-top: 25px;
  border-top: 1px solid rgba(255, 255, 255, 0.17);
}

.request-direct span {
  margin-bottom: 5px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.request-direct a {
  width: fit-content;
  color: var(--white);
  font-size: 17px;
  font-weight: 800;
}

.request-direct a:hover,
.request-direct a:focus-visible {
  color: #f05a64;
}

.request-note {
  margin: 30px 0 0;
  padding: 18px 20px;
  background: rgba(255, 255, 255, 0.07);
  border-left: 3px solid var(--gold);
  color: rgba(255, 255, 255, 0.68);
  font-size: 13px;
}

.request-note strong {
  display: block;
  margin-bottom: 4px;
  color: var(--white);
}

.request-form {
  padding: 38px;
  background: var(--white);
  color: var(--ink);
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.2);
}

.form-heading {
  display: grid;
  gap: 4px;
  padding-bottom: 25px;
  border-bottom: 1px solid var(--line);
}

.form-heading > span {
  color: var(--gold-dark);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.form-heading > strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  font-weight: 500;
}

.form-heading > p,
.field-help {
  margin: 0;
  color: var(--slate);
  font-size: 12px;
}

.form-preview-notice {
  margin: 22px 0 0;
  padding: 15px 17px;
  background: #f6f6f4;
  border-left: 3px solid var(--gold);
  color: var(--slate);
  font-size: 13px;
}

.form-preview-notice strong {
  color: var(--ink);
}

.form-preview-notice p { margin: 8px 0 16px; }
.form-direct-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.form-direct-actions .button { min-height: 44px; padding: 12px 16px; }
.request-form-fields { min-width: 0; margin: 0; padding: 0; border: 0; }
.request-form-fields:disabled :is(input,select,textarea) { background: #f1f1f1; color: #666; cursor: not-allowed; }
.request-form-fields:disabled .check-option { cursor: default; }
.request-form-fields:disabled .button { cursor: not-allowed; }

.form-section {
  margin: 0;
  padding: 28px 0;
  border: 0;
  border-bottom: 1px solid var(--line);
}

.form-section legend,
.form-section h3 {
  margin: 0;
  padding: 0;
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-weight: 600;
}

.form-section legend span,
.field > span b,
.consent-option b {
  color: var(--gold);
}

.field-help {
  margin-top: 2px;
}

.service-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 17px;
}

.check-option,
.consent-option {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 11px;
  cursor: pointer;
}

.check-option {
  min-height: 58px;
  padding: 14px;
  background: #fafafa;
  border: 1px solid var(--line);
  transition: border-color 160ms ease, background 160ms ease;
}

.check-option:hover,
.check-option:focus-within {
  background: var(--mint);
  border-color: rgba(187, 0, 14, 0.4);
}

.check-option input,
.consent-option input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--gold);
}

.check-option span {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

.field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 17px;
}

.field {
  display: grid;
  gap: 7px;
}

.field > span {
  color: #3b3b3b;
  font-size: 13px;
  font-weight: 800;
}

.field--wide,
.field-error--wide {
  grid-column: 1 / -1;
}

.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  background: var(--white);
  border: 1px solid #bdbdc2;
  border-radius: 0;
  color: var(--ink);
  font: inherit;
  font-size: 15px;
}

.field textarea {
  min-height: 135px;
  resize: vertical;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--gold);
  outline: 2px solid rgba(187, 0, 14, 0.16);
  outline-offset: 0;
}

.field textarea::placeholder {
  color: #8a8a8f;
}

.consent-option {
  margin-top: 24px;
  color: #4e4e4e;
  font-size: 13px;
}

.field-error {
  min-height: 0;
  margin: 8px 0 0;
  color: #a4000c;
  font-size: 13px;
  font-weight: 800;
}

.field-error:empty {
  display: none;
}

.honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  white-space: nowrap !important;
}

.form-submit-row {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 25px;
}

.form-submit-row .button {
  flex: 0 0 auto;
  border: 0;
  cursor: pointer;
}

.form-submit-row .button:disabled {
  cursor: wait;
  opacity: 0.65;
  transform: none;
}

.form-status {
  margin: 0;
  color: #5b5b5b;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}

.form-status[data-kind="success"] {
  color: #26733a;
}

.form-status[data-kind="error"] {
  color: #a4000c;
}

[hidden] {
  display: none !important;
}

.privacy-note {
  margin: 14px 0 0;
  color: var(--slate);
  font-size: 11px;
}

.site-footer {
  padding-block: 55px 24px;
  background: var(--white);
  color: var(--slate);
}

.footer-layout {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 30px;
}

.footer-layout > p {
  margin: 0;
  color: var(--gold);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

.footer-layout > div {
  justify-self: end;
  display: grid;
  text-align: right;
  font-size: 13px;
}

.footer-layout a:hover,
.footer-layout a:focus-visible,
.footer-bottom a:hover,
.footer-bottom a:focus-visible {
  color: var(--gold);
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  margin-top: 42px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
  color: #777777;
  font-size: 11px;
}

:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}

@media (max-width: 1020px) {
  .desktop-nav {
    display: none;
  }

  .header-inner {
    grid-template-columns: 1fr auto;
  }

  .hero-layout {
    grid-template-columns: 1fr 360px;
    gap: 42px;
  }

  .hero h1 {
    font-size: clamp(52px, 7vw, 72px);
  }

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

  .credential-grid > div:nth-child(3) {
    border-left: 1px solid var(--line);
  }

  .credential-grid > div {
    border-bottom: 1px solid var(--line);
  }

  .split-heading,
  .experience-layout,
  .about-layout,
  .request-layout {
    gap: 55px;
  }

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

  .process-grid {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 48px;
  }

  .about-layout {
    grid-template-columns: 1fr 0.72fr;
  }

  .request-layout {
    grid-template-columns: minmax(260px, 0.52fr) minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  .shell {
    width: min(calc(100% - 32px), var(--max));
  }

  .site-header {
    position: relative;
  }

  .header-inner {
    min-height: 76px;
  }

  .brand-mark {
    width: 190px;
    height: auto;
  }

  .button--nav {
    min-height: 40px;
  }

  .button--nav svg {
    display: none;
  }

  .hero::before {
    width: 5px;
  }

  .hero-layout {
    grid-template-columns: 1fr;
    min-height: 0;
    padding-block: 76px;
  }

  .hero h1 {
    font-size: clamp(48px, 13vw, 67px);
  }

  .hero-lede {
    font-size: 17px;
  }

  .hero-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .field-card {
    width: min(100%, 430px);
    transform: none;
  }

  .credential-grid,
  .service-grid,
  .process-grid,
  .split-heading,
  .experience-layout,
  .about-layout,
  .request-layout,
  .footer-layout {
    grid-template-columns: 1fr;
  }

  .credential-grid > div,
  .credential-grid > div:first-child,
  .credential-grid > div:nth-child(3) {
    min-height: 105px;
    border-left: 1px solid var(--line);
  }

  .credential-grid strong {
    font-size: 22px;
  }

  .section,
  .contact-section {
    padding-block: 82px;
  }

  .split-heading {
    align-items: start;
    gap: 24px;
  }

  .section-heading h2,
  .experience-copy h2,
  .about-main h2,
  .request-intro h2 {
    font-size: clamp(38px, 10vw, 51px);
  }

  .service-card {
    min-height: 270px;
  }

  .experience-layout,
  .about-layout,
  .request-layout {
    gap: 48px;
  }

  .request-intro {
    position: static;
  }

  .client-panel,
  .insurance-card,
  .request-form {
    padding: 28px;
  }

  .service-options,
  .field-grid {
    grid-template-columns: 1fr;
  }

  .field--wide,
  .field-error--wide {
    grid-column: auto;
  }

  .form-submit-row {
    align-items: stretch;
    flex-direction: column;
  }

  .process-grid {
    row-gap: 0;
    border-top: 0;
  }

  .process-card,
  .process-card:first-child {
    padding: 28px 22px 32px;
    border: 0;
    border-top: 1px solid var(--line);
  }

  .process-card h3 {
    margin-top: 16px;
  }

  .footer-layout {
    justify-items: start;
  }

  .footer-layout > div {
    justify-self: start;
    text-align: left;
  }

  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
}

@media (max-width: 430px) {
  .button--nav {
    padding-inline: 13px;
    font-size: 12px;
  }

  .hero-actions .button {
    width: 100%;
  }

  .field-card {
    padding: 20px;
  }

  .qualification-row {
    display: grid;
  }

  .request-form {
    padding: 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* JSA's learning center extends the established red, charcoal, and white identity. */
:root { --reading-width: 740px; }
:focus-visible { outline: 3px solid #bb000e; outline-offset: 5px; }
.hero-layout { min-height: 600px; padding-block: 76px; gap: 65px; }
.hero h1 { font-size: clamp(44px, 5.5vw, 72px); }
.hero h1 em { color: #ff858d; }
.hero-lede { color: #e0e0e0; }
.header-inner { grid-template-columns: auto 1fr auto; gap: 24px; }
.desktop-nav { justify-content: center; gap: 24px; }
.button--small { font-size: 14px; }
.welcome-note { padding: 36px; background: #fff; border-top: 5px solid var(--gold); color: var(--ink); }
.welcome-note h2 { font: 400 clamp(30px,3vw,40px)/1.14 Georgia,serif; letter-spacing: -.025em; margin: 0 0 22px; }
.welcome-note > p:not(.eyebrow) { font-size: 17px; color: var(--slate); }
.welcome-note > a { display: block; color: var(--gold-dark); font-size: 16px; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; margin-top: 24px; }
.welcome-signoff { display: block; font: 400 23px/1.5 Georgia,serif; margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--line); }
.welcome-signoff small { font: 14px/1.5 Arial,sans-serif; color: var(--slate); }
.learn-home { background: white; }
.topic-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; border: 1px solid var(--line); }
.topic-card { display: flex; flex-direction: column; padding: 30px; min-height: 330px; border-top: 4px solid var(--gold); background: var(--paper); transition: background .15s; }
.topic-card + .topic-card { border-left: 1px solid var(--line); }
.topic-card:hover { background: #f8e8ea; }
.topic-number { font: 700 12px/1.4 Arial,sans-serif; letter-spacing: .08em; color: var(--gold-dark); }
.topic-card h3 { font: 400 clamp(29px,3vw,38px)/1.1 Georgia,serif; letter-spacing: -.025em; margin: 35px 0 18px; }
.topic-card p { margin: 0 0 30px; font-size: 17px; color: var(--slate); }
.topic-link { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); font-size: 16px; font-weight: 700; color: var(--gold-dark); }
.topic-link b { font-size: 25px; font-weight: 400; }
.learn-footnote { display: flex; justify-content: space-between; gap: 24px; margin: 28px 0 0; font-size: 14px; color: var(--slate); }
.learn-footnote a { color: var(--gold-dark); font-weight: 700; flex-shrink: 0; }
.guide-hero { background: #fff; padding: 30px 0 60px; border-bottom: 1px solid var(--line); }
.guide-hero h1 { font: 400 clamp(44px,6vw,76px)/1.04 Georgia,serif; letter-spacing: -.04em; max-width: 1000px; margin: 0; }
.guide-hero .eyebrow { margin-top: 50px; }
.guide-deck { max-width: 800px; font-size: 20px; color: var(--slate); line-height: 1.7; margin: 26px 0; }
.review-date { font-size: 14px; color: var(--slate); }
.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 14px; color: var(--slate); }
.breadcrumb a { text-decoration: underline; text-underline-offset: 4px; }
.hub-hero { border-top: 5px solid var(--gold); }
.hub-topics { padding-block: 60px 85px; }
.hub-section-title { font: 400 32px/1.2 Georgia,serif; margin: 0 0 32px; }
.source-explainer { padding-block: 70px; max-width: 850px; }
.source-explainer h2 { font: 400 38px/1.15 Georgia,serif; }
.source-explainer p { font-size: 17px; }
.reading-layout { display: grid; grid-template-columns: 260px minmax(0,var(--reading-width)); gap: 75px; justify-content: space-between; align-items: start; padding-block: 55px 85px; }
.guide-sidebar { position: sticky; top: 115px; }
.guide-sidebar nav { border-top: 3px solid var(--gold); }
.guide-sidebar nav p { font-size: 12px; font-weight: 800; letter-spacing: .12em; margin: 20px 0 12px; color: var(--slate); }
.guide-sidebar nav a { display: block; padding: 10px 0; font-size: 15px; line-height: 1.45; border-bottom: 1px solid var(--line); }
.guide-sidebar nav a:hover { color: var(--gold-dark); text-decoration: underline; }
.sidebar-service { display: flex; justify-content: space-between; margin-top: 28px; padding: 18px; background: var(--ink); color: white; font-size: 15px; font-weight: 700; }
.reading { min-width: 0; font-size: 18px; line-height: 1.8; }
.reading > p { color: #404040; margin: 0 0 24px; }
.reading h2 { font: 400 clamp(29px,3vw,38px)/1.2 Georgia,serif; letter-spacing: -.025em; margin: 52px 0 20px; scroll-margin-top: 125px; }
.reading h2:first-of-type { margin-top: 36px; }
.reading a { color: var(--gold-dark); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.reading p a { font-size: 14px; font-weight: 600; }
.guide-note { font-size: 14px; line-height: 1.7; padding: 22px 24px; border-left: 3px solid var(--gold); background: #fff; color: #555; }
.guide-faq { margin-top: 55px; }
.guide-faq details { border-bottom: 1px solid var(--line); padding: 0; background: white; }
.guide-faq details:first-of-type { border-top: 1px solid var(--line); }
.guide-faq summary { cursor: pointer; padding: 22px 25px; font-size: 17px; line-height: 1.5; font-weight: 700; }
.guide-faq details[open] summary { color: var(--gold-dark); }
.guide-faq details > div { padding: 0 25px 25px; font-size: 17px; }
.guide-faq details p { margin: 0; }
.related-guides { margin-top: 55px; border-top: 3px solid var(--gold); }
.related-guides a { display: inline-block; margin-right: 30px; font-size: 17px; }
.service-reading { padding-block: 60px 85px; }
.service-reading h2 { font: 400 36px/1.2 Georgia,serif; letter-spacing: -.025em; }
.service-intro { max-width: 800px; margin: 0 auto 55px; font-size: 18px; }
.inline-link { color: var(--gold-dark); text-decoration: underline; }
.service-scope { padding: 22px; background: white; border-left: 3px solid var(--gold); font-size: 16px; }
.service-panels { display: grid; grid-template-columns: 1fr 1fr; gap: 45px; border-top: 1px solid var(--line); }
.service-panels ul { padding-left: 20px; font-size: 17px; }
.service-panels li { padding: 0 0 15px 6px; }
.service-process { padding-top: 30px; }
.service-process ol { display: grid; grid-template-columns: repeat(4,1fr); list-style-position: inside; gap: 0; padding: 0; }
.service-process li { padding: 25px; border-top: 3px solid var(--gold); background: white; font-size: 17px; }
.service-process li + li { border-left: 1px solid var(--line); }
.service-card p, .process-card p, .check-list li, .insurance-card > p:not(:first-child), .insurance-card ul { font-size: 16px; }
.service-card__link, .credential-grid span, .qualification-row span, .client-panel__note, .situation-list small { font-size: 14px; }
@media (max-width: 1080px) {
  .header-inner { grid-template-columns: 1fr auto; }
  .desktop-nav { grid-row: 2; grid-column: 1/-1; display: flex; padding-bottom: 10px; }
  .reading-layout { grid-template-columns: 220px minmax(0,1fr); gap: 40px; }
  .guide-sidebar { top: 160px; }
  html { scroll-padding-top: 155px; }
}
@media (max-width: 800px) {
  .hero-layout { grid-template-columns: 1fr; gap: 36px; padding-block: 50px; }
  .welcome-note { max-width: 620px; }
  .topic-grid { grid-template-columns: 1fr; }
  .topic-card { min-height: 0; }
  .topic-card + .topic-card { border-left: 0; border-top: 1px solid var(--line); }
  .topic-card h3 { margin-top: 20px; }
  .topic-link { margin-top: 0; }
  .learn-footnote { display: block; }
  .learn-footnote a { display: block; margin-top: 15px; }
  .reading-layout { display: block; padding-top: 30px; }
  .guide-sidebar { position: static; margin-bottom: 40px; }
  .guide-sidebar nav { display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; }
  .guide-sidebar nav p { grid-column: 1/-1; }
  .sidebar-service { max-width: 360px; }
  .service-process ol { grid-template-columns: 1fr 1fr; }
  .service-panels { grid-template-columns: 1fr; gap: 10px; }
  .guide-hero .eyebrow { margin-top: 35px; }
}
@media (max-width: 540px) {
  .shell { width: min(calc(100% - 32px),var(--max)); }
  .brand-mark { width: 205px; }
  .header-inner { gap: 6px; padding-top: 8px; }
  .button--nav { padding: 10px; min-height: 42px; max-width: 115px; text-align: center; }
  .desktop-nav { justify-content: space-between; gap: 12px; font-size: 14px; width: 100%; }
  .welcome-note { padding: 28px; }
  .hero-actions { gap: 18px; flex-wrap: wrap; }
  .guide-deck { font-size: 18px; }
  .guide-sidebar nav { grid-template-columns: 1fr; }
  .guide-faq summary { padding-inline: 16px; }
  .guide-faq details > div { padding-inline: 16px; }
  .service-process ol { grid-template-columns: 1fr; }
  .service-process li + li { border-left: 0; border-top: 1px solid var(--line); }
  .section { padding-block: 65px; }
  .source-explainer h2 { font-size: 32px; }
  .reading { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
@media (max-width: 540px) {
  .brand-mark { width: clamp(145px,42vw,205px); }
  .desktop-nav { flex-wrap: wrap; }
  .site-header { position: relative; }
  html { scroll-padding-top: 25px; }
  .reading h2 { scroll-margin-top: 25px; }
}
.topic-image-link { display: block; margin: -30px -30px 0; overflow: hidden; }
.topic-photo { display: block; width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; }
.photo-credit { display: block; color: var(--slate); font-size: 12px; line-height: 1.65; margin-block: 12px 24px; }
.photo-credit a { text-decoration: underline; text-underline-offset: 3px; }
.topic-card .topic-number { margin-top: 0; }
.topic-card h3 a:hover { color: var(--gold-dark); }
.guide-figure { margin: 0 0 32px; }
.guide-photo { display: block; width: 100%; height: auto; max-height: 470px; object-fit: contain; background: #e9e9e9; }
.guide-figure figcaption { margin-top: 13px; font-size: 14px; line-height: 1.7; color: var(--slate); }
.guide-figure .photo-credit { margin: 8px 0 0; }
.image-context { display: block; margin-top: 4px; font-size: 12px; color: var(--slate); }
@media (max-width: 800px) {
 .topic-card { display: grid; grid-template-columns: 1fr; }
 .topic-photo { aspect-ratio: 16/9; max-height: 330px; }
 .topic-card .photo-credit { margin-bottom: 20px; }
}
.topic-card .topic-number { margin-top: 26px; }

.site-header .brand-link { display: flex; flex-direction: column; gap: 12px; width: 250px; height: auto; padding-block: 12px; }
.site-header .brand-mark { display: block; flex: none; width: 100%; height: auto; }
.brand-tagline { display: block; flex: none; width: 100%; margin: 0; color: var(--gold); font: 700 10.5px/1.45 Arial,sans-serif; letter-spacing: .035em; text-align: center; text-wrap: balance; }
@media (max-width: 540px) {
  .site-header .brand-link { width: clamp(145px,42vw,205px); padding-block: 8px; }
  .brand-tagline { font-size: 10px; letter-spacing: .015em; }
}
@media (max-width: 400px) {
  .desktop-nav { display: grid; grid-template-columns: max-content max-content; justify-content: space-between; gap: 0 18px; }
}

/* California county guide. Native links and details retain access without JS. */
[hidden] { display: none !important; }
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.county-banner { display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: 40px; border: 1px solid var(--line); border-top: 4px solid var(--gold); margin-bottom: 75px; background: #fff; }
.county-banner h2 { font: 400 38px/1.15 Georgia,serif; letter-spacing: -.025em; margin: 0 0 16px; }
.county-banner p:not(.eyebrow) { max-width: 650px; color: var(--slate); font-size: 17px; margin-bottom: 0; }
.county-banner .button { flex-shrink: 0; }
.map-scope { max-width: 820px; font-size: 15px; color: var(--slate); margin-bottom: 0; }
.california-hero { border-top: 5px solid var(--gold); }
.california-explorer { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: 55px; padding-block: 50px 75px; align-items: start; }
.county-map-panel { min-width: 0; }
.county-select-controls { display: none; margin-bottom: 26px; }
.is-interactive .county-select-controls { display: block; }
.county-select-controls label { display: block; font-size: 14px; font-weight: 700; margin-bottom: 8px; }
.county-select-controls > div { display: flex; align-items: center; gap: 16px; }
.county-select-controls select { width: 100%; min-width: 0; min-height: 52px; border: 1px solid #999; border-radius: 0; background: white; color: var(--ink); padding: 12px; font: inherit; }
.county-select-controls button { background: transparent; border: 0; color: var(--gold-dark); font: 700 14px Arial,sans-serif; min-height: 44px; padding: 8px; text-decoration: underline; cursor: pointer; }
.map-heading { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; min-height: 42px; padding-block: 10px; border-block: 1px solid var(--line); }
.map-heading strong { font-size: 16px; }
.map-heading > span { font-size: 12px; color: var(--slate); }
.california-map { display: block; width: 100%; height: auto; background: #eceeef; margin-top: 14px; }
.california-map a { cursor: pointer; }
.california-map path { fill: #fff; stroke: #7c8386; stroke-width: .7; vector-effect: non-scaling-stroke; transition: fill .15s; }
.california-map a:hover path, .california-map a:focus-visible path { fill: #f4bcc1; stroke: #76000a; stroke-width: 1.8; }
.california-map a[aria-current] path { fill: var(--gold); stroke: #650008; stroke-width: 1.5; }
.california-map a:focus-visible { outline: 2px solid #76000a; outline-offset: 3px; }
.map-instruction { font-size: 14px; color: var(--slate); margin-bottom: 10px; }
.map-credit { font-size: 12px; line-height: 1.65; color: var(--slate); }
.map-credit a { text-decoration: underline; text-underline-offset: 3px; }
.county-index { margin-top: 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.county-index summary { padding: 14px 0; cursor: pointer; font-weight: 700; font-size: 14px; }
.county-index nav { display: grid; grid-template-columns: repeat(3,1fr); gap: 0 12px; padding-bottom: 20px; }
.county-index nav a { display: block; font-size: 14px; padding: 9px 0; text-decoration: underline; text-underline-offset: 3px; }
.county-empty { padding: 40px 35px; background: #fff; border-top: 4px solid var(--gold); }
.empty-map-marker { color: var(--gold); font-size: 40px; }
.county-empty h2, .county-profile h2 { font: 400 42px/1.1 Georgia,serif; letter-spacing: -.035em; margin: 18px 0 24px; }
.county-empty > p { color: var(--slate); font-size: 17px; }
.county-empty ol { padding: 0; list-style: none; counter-reset: steps; margin: 26px 0 36px; }
.county-empty li { position: relative; padding: 20px 0 20px 38px; border-top: 1px solid var(--line); counter-increment: steps; }
.county-empty li::before { content: counter(steps, decimal-leading-zero); position: absolute; left: 0; top: 22px; font-size: 12px; font-weight: 700; color: var(--gold-dark); }
.county-empty li strong, .county-empty li span { display: block; }
.county-empty li strong { font-size: 16px; margin-bottom: 5px; }
.county-empty li span { font-size: 15px; color: var(--slate); }
.county-empty > a { font-size: 15px; font-weight: 700; color: var(--gold-dark); text-decoration: underline; text-underline-offset: 4px; }
.county-profile { margin-bottom: 50px; scroll-margin-top: 140px; }
.county-profile .eyebrow { margin-top: 0; }
.county-profile h2 { margin-top: 12px; scroll-margin-top: 140px; }
.county-profile h2:focus { outline: none; }
.county-intro { font-size: 16px; color: var(--slate); margin-bottom: 25px; }
.county-intro a, .regulation-source-note a { color: var(--gold-dark); text-decoration: underline; text-underline-offset: 3px; }
.county-topic { background: white; margin-bottom: 16px; border: 1px solid var(--line); }
.county-topic summary { display: grid; grid-template-columns: 1fr auto; gap: 0 14px; list-style: none; padding: 20px 24px; cursor: pointer; }
.county-topic summary::-webkit-details-marker { display: none; }
.county-topic summary > span { font: 400 28px/1.2 Georgia,serif; }
.county-topic summary small { font-size: 13px; color: var(--slate); grid-column: 1; margin-top: 5px; }
.county-topic summary::after { content: '+'; grid-column: 2; grid-row: 1/3; font-size: 27px; color: var(--gold-dark); align-self: center; }
.county-topic[open] summary::after { content: '−'; }
.county-topic[open] summary { border-bottom: 1px solid var(--line); }
.county-topic-body { padding: 0 24px 22px; }
.boundary-note { padding: 18px; margin-top: 22px; border-left: 3px solid var(--gold); background: #f8e8ea; font-size: 14px; }
.boundary-note p { margin: 7px 0; }
.boundary-note a { color: var(--gold-dark); text-decoration: underline; }
.district-entry, .local-lead-entry { padding-block: 22px; }
.district-entry + .district-entry, .local-lead-entry + .local-lead-entry { border-top: 1px solid var(--line); }
.district-area { display: inline-block; color: var(--gold-dark); font-size: 12px; font-weight: 700; margin-bottom: 10px; }
.district-entry h4, .local-lead-entry h4 { font-size: 17px; line-height: 1.5; margin: 0 0 10px; }
.district-entry p, .local-lead-entry p, .county-reminder { color: #525252; font-size: 15px; line-height: 1.7; margin: 0 0 12px; }
.county-reminder { padding-top: 18px; border-top: 1px solid var(--line); margin: 0; font-size: 13px; }
.county-reminder a { color: var(--gold-dark); text-decoration: underline; text-underline-offset: 3px; }
.regulation-links { display: grid; gap: 10px; margin-top: 15px; }
.regulation-links a { font-size: 14px; line-height: 1.6; color: var(--gold-dark); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.city-programs { margin-top: 20px; font-size: 14px; }
.city-programs > p { margin: 8px 0 0; }
.city-programs a { color: var(--gold-dark); text-decoration: underline; }
.county-next { display: flex; justify-content: space-between; gap: 20px; padding: 20px 24px; background: var(--ink); color: white; font-size: 15px; font-weight: 700; }
.statewide-requirements { background: white; padding-block: 70px 80px; border-block: 1px solid var(--line); scroll-margin-top: 120px; }
.requirements-heading { max-width: 760px; margin-bottom: 45px; }
.requirements-heading h2, .location-next-steps h2 { font: 400 clamp(36px,4.3vw,52px)/1.08 Georgia,serif; letter-spacing: -.035em; margin: 0 0 25px; }
.requirements-heading > p:last-child { color: var(--slate); font-size: 18px; }
.requirements-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 55px; }
.requirements-column { min-width: 0; border-top: 4px solid var(--gold); }
.requirements-column h3 { font: 400 34px/1.2 Georgia,serif; margin: 24px 0 12px; }
.requirements-guide { display: inline-block; font-size: 14px; color: var(--gold-dark); text-decoration: underline; margin-bottom: 25px; }
.requirement { border-top: 1px solid var(--line); }
.requirement:last-child { border-bottom: 1px solid var(--line); }
.requirement summary { padding: 20px 12px 20px 0; cursor: pointer; font-size: 16px; font-weight: 700; }
.requirement > div { padding: 0 20px 24px; }
.requirement p { font-size: 15px; color: #525252; line-height: 1.75; }
.requirement .requirement-when { font-size: 14px; color: var(--ink); }
.location-next-steps { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 75px; padding-block: 75px; align-items: start; }
.location-next-steps p:not(.eyebrow) { font-size: 17px; color: var(--slate); }
.location-next-steps aside { padding: 32px; background: #fff; border-top: 4px solid var(--gold); }
.location-next-steps h3 { font: 400 32px/1.15 Georgia,serif; margin: 0 0 24px; }
.location-next-steps .button { margin-top: 16px; }
.regulation-source-note { padding-bottom: 55px; color: var(--slate); font-size: 13px; }
.regulation-source-note p { max-width: 950px; }
.water-callout { display: grid; grid-template-columns: auto 1fr auto; gap: 30px; align-items: center; margin-top: -35px; margin-bottom: 75px; padding: 30px 35px; background: #fff; border: 1px solid var(--line); }
.water-callout-mark { display: flex; align-items: center; justify-content: center; width: 70px; height: 70px; background: var(--ink); color: white; font: 400 25px Georgia,serif; }
.water-callout .eyebrow { margin-bottom: 10px; }
.water-callout h2 { font: 400 30px/1.2 Georgia,serif; margin: 0 0 10px; }
.water-callout p:not(.eyebrow) { font-size: 16px; color: var(--slate); margin: 0; }
.water-callout > a { font-weight: 700; color: var(--gold-dark); font-size: 15px; text-decoration: underline; text-underline-offset: 4px; }
.water-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0 0 30px; background: white; border-top: 4px solid var(--gold); }
.water-summary > div { padding: 24px 20px; }
.water-summary > div + div { border-left: 1px solid var(--line); }
.water-summary dt { font-family: inherit; font-size: 29px; font-weight: 600; line-height: 1.2; margin-bottom: 14px; color: var(--gold-dark); }
.water-summary dd { font-size: 14px; color: var(--slate); line-height: 1.65; margin: 0; }
@media (max-width: 1000px) {
  .california-explorer, .requirements-grid { gap: 30px; }
  .county-empty { padding: 28px; }
  .county-empty h2, .county-profile h2 { font-size: 36px; }
  .county-banner { padding: 30px; gap: 30px; }
  .county-banner h2 { font-size: 32px; }
}
@media (max-width: 800px) {
  .california-explorer, .requirements-grid, .location-next-steps { grid-template-columns: 1fr; }
  .county-map-panel { width: 100%; max-width: 580px; margin-inline: auto; }
  .california-map { max-height: 570px; }
  .county-results { min-width: 0; }
  .requirements-grid { gap: 45px; }
  .location-next-steps { gap: 40px; }
  .county-banner { align-items: flex-start; flex-direction: column; }
  .water-callout { grid-template-columns: auto 1fr; }
  .water-callout > a { grid-column: 2; }
}
@media (max-width: 540px) {
  .california-explorer { padding-top: 30px; }
  .map-heading { flex-wrap: wrap; gap: 3px 14px; }
  .county-profile h2, .county-profile, .statewide-requirements { scroll-margin-top: 25px; }
  .county-topic summary { padding: 18px; }
  .county-topic-body { padding-inline: 18px; }
  .county-empty { padding: 26px; }
  .county-index nav { grid-template-columns: repeat(2,1fr); }
  .county-banner { padding: 26px; }
  .statewide-requirements { padding-block: 50px; }
  .location-next-steps { padding-block: 50px; }
  .water-callout { padding: 26px; grid-template-columns: 1fr; gap: 22px; }
  .water-callout > a { grid-column: 1; }
  .water-summary { grid-template-columns: 1fr; }
  .water-summary > div { display: grid; grid-template-columns: 125px 1fr; gap: 20px; align-items: center; }
  .water-summary > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .water-summary dt { font-size: 26px; margin: 0; }
}
.footer-links { display: flex; flex-wrap: wrap; gap: 24px; }
.footer-links a { font-size: 14px; }
.credits-list { padding-block: 20px 75px; }
.credit-row { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 40px; padding-block: 40px; border-bottom: 1px solid var(--line); align-items: start; }
.credit-row .guide-photo { width: 240px; height: auto; max-height: 200px; }
.credit-row h2 { font: 400 30px/1.2 Georgia,serif; margin: 0 0 18px; }
.credit-row p { max-width: 750px; font-size: 16px; color: var(--slate); }
.credit-attribution a { color: var(--gold-dark); text-decoration: underline; text-underline-offset: 3px; }
/* Clear entry points for California owners and project teams. */
.hero h1 { font-size: clamp(36px,4.5vw,62px); line-height: 1.08; }
.hero-layout { min-height: 0; padding-block: 60px; }
.hero-actions { flex-wrap: wrap; gap: 22px; }
.hero-contact { color: #ddd; font-size: 15px; margin: 24px 0 0; }
.hero-contact a { color: white; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.home-resource-links { display: grid; grid-template-columns: 1fr 1fr; background: white; border: 1px solid var(--line); margin-block: 32px; }
.home-resource-links > a { display: grid; gap: 10px; padding: 28px 32px; }
.home-resource-links > a + a { border-left: 1px solid var(--line); }
.home-resource-links > a:hover { background: var(--mint); }
.resource-label { color: var(--gold-dark); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.home-resource-links strong { font: 400 27px/1.2 Georgia,serif; }
.home-resource-links > a > span:last-child { font-size: 16px; color: var(--slate); }
.leadership-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-block: 28px; padding-block: 24px; border-block: 1px solid var(--line); }
.leadership-notes h3 { margin: 0 0 12px; font: 400 25px/1.2 Georgia,serif; }
.leadership-notes p { font-size: 16px; margin: 0; }
.project-entry { background: #fff; }
.project-path-cards { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid var(--line); }
.project-path-cards > a { padding: 26px; display: flex; flex-direction: column; border-top: 4px solid var(--gold); }
.project-path-cards > a + a { border-left: 1px solid var(--line); }
.project-path-cards > a:hover, .resource-tool-grid > a:hover { background: var(--mint); }
.project-path-cards h3 { font: 400 28px/1.15 Georgia,serif; margin: 22px 0 16px; }
.project-path-cards p { font-size: 15px; color: var(--slate); }
.path-card-action { margin-top: auto; padding-top: 22px; font-size: 14px; font-weight: 700; color: var(--gold-dark); }
.practical-resources { padding-block: 55px 70px; }
.practical-resources h2, .building-next h2, .report-reading h2 { font: 400 clamp(30px,3.5vw,42px)/1.15 Georgia,serif; margin: 0 0 26px; }
.resource-tool-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.resource-tool-grid > a { padding: 25px; background: #fff; border: 1px solid var(--line); border-left: 3px solid var(--gold); }
.resource-tool-grid strong { display: block; font-family: inherit; font-size: 26px; font-weight: 600; line-height: 1.2; margin-bottom: 16px; }
.resource-tool-grid span { font-size: 16px; color: var(--slate); }
.guide-takeaways { padding: 25px 28px; margin: 30px 0 40px; background: white; border-top: 3px solid var(--gold); }
.reading .guide-takeaways h2 { font: 400 28px/1.2 Georgia,serif; margin: 0 0 20px; }
.guide-takeaways ol { padding-left: 22px; margin: 0; }
.guide-takeaways li { padding: 6px 0 6px 8px; font-size: 17px; }
.project-planning { padding-block: 40px 65px; }
.path-jump-links, .resource-links { display: flex; flex-wrap: wrap; gap: 14px 24px; }
.path-jump-links { padding-bottom: 30px; border-bottom: 1px solid var(--line); }
.path-jump-links a, .resource-links a { color: var(--gold-dark); font-size: 15px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.project-path { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 70px; padding-block: 60px; border-bottom: 1px solid var(--line); scroll-margin-top: 180px; }
.project-path h2 { font: 400 clamp(32px,3.6vw,45px)/1.1 Georgia,serif; margin: 0 0 24px; }
.project-path p { font-size: 17px; color: var(--slate); }
.project-path .resource-links { margin-top: 28px; }
.path-steps { list-style: none; counter-reset: project-step; padding: 0; margin: 0; }
.path-steps li { position: relative; padding: 0 0 25px 50px; counter-increment: project-step; }
.path-steps li::before { content: counter(project-step,decimal-leading-zero); position: absolute; top: 0; left: 0; color: var(--gold); font: 700 16px/1.6 Arial,sans-serif; }
.path-steps h3 { font-size: 18px; line-height: 1.4; margin: 0 0 8px; }
.path-steps p { margin: 0; font-size: 16px; }
.report-reading { max-width: 930px; padding-top: 65px; scroll-margin-top: 180px; }
.report-reading > p { font-size: 18px; }
.report-example { border: 1px solid var(--line); background: white; margin: 32px 0; }
.report-example-heading { display: grid; gap: 8px; padding: 24px 28px; background: var(--ink); color: white; }
.report-example-heading span { font-size: 14px; color: #ddd; }
.report-example dl { margin: 0; }
.report-example dl > div { display: grid; grid-template-columns: 200px 1fr; gap: 25px; padding: 25px 28px; border-top: 1px solid var(--line); }
.report-example dt { font-size: 16px; font-weight: 700; color: var(--gold-dark); }
.report-example dd { margin: 0; font-size: 17px; }
.report-example small { display: block; font-size: 15px; line-height: 1.6; color: var(--slate); margin-top: 10px; }
.report-question { padding-left: 24px; border-left: 3px solid var(--gold); }
.resource-source-note { font-size: 14px; color: var(--slate); padding-top: 40px; margin-top: 40px; border-top: 1px solid var(--line); }
.resource-source-note a { text-decoration: underline; text-underline-offset: 3px; }
.worksheet { max-width: 960px; padding-block: 40px 70px; }
.worksheet-toolbar { display: flex; gap: 35px; align-items: center; justify-content: space-between; margin-bottom: 35px; }
.worksheet-toolbar p { font-size: 15px; max-width: 500px; color: var(--slate); }
.worksheet-toolbar button { flex-shrink: 0; }
.worksheet-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.worksheet-field, .worksheet-notes { display: grid; gap: 10px; font-size: 16px; font-weight: 700; }
.worksheet-field input, .worksheet-notes textarea { width: 100%; min-width: 0; padding: 12px; background: white; border: 1px solid #999; border-radius: 0; font: 400 16px/1.5 Arial,sans-serif; color: var(--ink); }
.worksheet-wide { grid-column: 1/-1; }
.worksheet-group { padding-top: 30px; scroll-margin-top: 180px; }
.worksheet-group h2 { font: 400 29px/1.2 Georgia,serif; margin: 0 0 20px; }
.worksheet-check { display: flex; gap: 14px; font-size: 16px; padding-block: 9px; align-items: start; cursor: pointer; }
.worksheet-check input { width: 19px; height: 19px; margin: 3px 0 0; accent-color: var(--gold); flex-shrink: 0; }
.worksheet-notes { margin-top: 35px; }
.worksheet-notes textarea { resize: vertical; }
.worksheet-print-value { display: none; }
.worksheet-limit { font-size: 14px; margin-top: 24px; color: var(--slate); }
.worksheet-contact { font-size: 15px; font-weight: 700; margin-block: 25px; }
.worksheet a { color: var(--gold-dark); text-decoration: underline; }
.building-guide { max-width: 1100px; padding-block: 40px 70px; }
.building-figure { margin: 0 0 25px; }
.building-diagram { position: relative; }
.building-diagram img { display: block; width: 100%; height: auto; }
.building-marker { position: absolute; display: grid; place-items: center; width: 34px; height: 34px; border: 2px solid white; background: var(--gold-dark); color: white; border-radius: 50%; font-size: 15px; font-weight: 700; transform: translate(-50%,-50%); box-shadow: 0 2px 7px #0004; }
.building-marker:nth-of-type(1) { left: 22%; top: 31%; }
.building-marker:nth-of-type(2) { left: 78%; top: 41%; }
.building-marker:nth-of-type(3) { left: 73%; top: 68%; }
.building-marker:nth-of-type(4) { left: 92%; top: 56%; }
.building-marker:nth-of-type(5) { left: 24%; top: 55%; }
.building-figure figcaption { font-size: 14px; color: var(--slate); margin-top: 15px; }
.building-location-key { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; margin-top: 30px; }
.building-location-key section { display: flex; gap: 20px; padding-block: 30px; border-top: 1px solid var(--line); scroll-margin-top: 180px; }
.location-number { color: var(--gold-dark); font-size: 15px; font-weight: 700; padding-top: 4px; }
.building-location-key h2 { font: 400 29px/1.2 Georgia,serif; margin: 0 0 15px; }
.building-location-key p { font-size: 17px; color: var(--slate); }
.building-location-key a { font-size: 15px; font-weight: 700; color: var(--gold-dark); text-decoration: underline; }
.building-next { padding-top: 35px; max-width: 850px; }
.building-next > p { font-size: 18px; }
@media (max-width: 1000px) {
 .project-path-cards { grid-template-columns: 1fr 1fr; }
 .project-path-cards > a:nth-child(3) { border-left: 0; }
 .project-path-cards > a:nth-child(n+3) { border-top: 1px solid var(--line); }
 .project-path { gap: 35px; }
}
@media (max-width: 700px) {
 .project-path-cards, .resource-tool-grid, .project-path, .building-location-key, .worksheet-fields { grid-template-columns: 1fr; }
 .project-path-cards > a + a { border-left: 0; border-top: 1px solid var(--line); }
 .project-path { padding-block: 40px; gap: 30px; }
 .project-path-cards h3 { margin-top: 16px; }
 .project-path-cards p { margin: 0; }
 .report-example dl > div { grid-template-columns: 1fr; gap: 12px; padding: 22px; }
 .worksheet-toolbar { align-items: start; flex-direction: column; gap: 12px; }
 .worksheet-wide { grid-column: 1; }
 .building-marker { width: 28px; height: 28px; font-size: 13px; }
}
@media print {
 @page { margin: 16mm; }
 .site-header, .site-footer, .skip-link, .breadcrumb, .worksheet-toolbar, .worksheet .resource-links, .detail-cta { display: none !important; }
 body { background: #fff; color: #000; font-size: 11pt; }
 .shell { width: 100%; max-width: none; }
 .guide-hero { padding: 0 0 15px; }
 .guide-hero .eyebrow { margin-top: 0; }
 .guide-hero h1 { font-size: 28pt; }
 .guide-deck { font-size: 11pt; margin-block: 12px; }
 .worksheet { padding: 15px 0 0; }
 .worksheet-fields { gap: 14px; }
 .worksheet-field, .worksheet-check, .worksheet-group p, .worksheet-contact { font-size: 10pt; }
 .worksheet-field input { padding: 5px; font-size: 10pt; }
 .worksheet-group { break-inside: avoid; padding-top: 20px; }
 .worksheet-group h2 { font-size: 16pt; margin-bottom: 8px; }
 .worksheet-check { padding-block: 5px; }
 .worksheet-notes { break-inside: avoid; font-size: 11pt; }
 .worksheet-notes textarea { min-height: 100px; font-size: 10pt; }
 .worksheet-print-ready .worksheet-field input, .worksheet-print-ready .worksheet-notes textarea { display: none; }
 .worksheet-print-ready .worksheet-print-value { display: block; min-height: 24px; border-bottom: 1px solid #999; font: 400 10pt/1.5 Arial,sans-serif; white-space: pre-wrap; overflow-wrap: anywhere; }
 .worksheet-print-ready .worksheet-notes .worksheet-print-value { min-height: 100px; border: 1px solid #999; padding: 8px; }
 .worksheet-limit { font-size: 9pt; }
}
@media (max-width: 700px) {
 .home-resource-links, .leadership-notes { grid-template-columns: 1fr; }
 .home-resource-links > a { padding: 24px; }
 .home-resource-links > a + a { border-left: 0; border-top: 1px solid var(--line); }
 .hero-layout { padding-block: 40px; }
}
@media (max-width: 640px) {
 .credit-row { grid-template-columns: 1fr; gap: 24px; }
 .footer-links { gap: 18px; }
}

/* Guided learning and an annotated teaching report. */
.finder-banner { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:32px; margin-block:30px; background:#f4f5f5; border-left:4px solid var(--gold); }
.finder-banner h2 { font:400 clamp(28px,3vw,38px)/1.15 Georgia,serif; margin:0 0 12px; }
.finder-banner p:last-child { margin:0; }
.tool-hero { padding-bottom:38px; }
.finder-layout { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.5fr); gap:48px; padding-bottom:70px; align-items:start; }
.finder-controls { padding:28px; background:#f4f5f5; border:1px solid var(--line); }
.finder-controls label { display:block; font-weight:700; margin-bottom:10px; }
.finder-controls select { width:100%; min-height:48px; font:inherit; border:1px solid #9aa5a6; border-radius:6px; padding:10px; background:white; margin-bottom:24px; color:var(--ink); }
.finder-controls p { font-size:14px; line-height:1.6; }
.finder-reset { font:inherit; background:white; border:1px solid #9aa5a6; border-radius:6px; padding:10px 18px; cursor:pointer; }
.finder-result h2 { font:400 32px/1.2 Georgia,serif; margin-top:0; }
.finder-result p,.finder-result li { font-size:17px; line-height:1.7; }
.finder-result li { margin-bottom:10px; }
.finder-result .resource-links { margin-top:28px; }
.finder-results [data-finder-status] { font-size:14px; color:var(--slate); }
.finder-results [data-property-note] { margin-top:28px; padding:22px; border-left:3px solid var(--gold); background:#f4f5f5; line-height:1.7; }
.finder-placeholder { font-family:inherit; font-size:28px; font-weight:450; line-height:1.35; padding:30px 0; }
.finder-layout [hidden] { display:none !important; }
.sample-disclaimer { padding:20px 24px; border:1px solid #c6a3a3; background:#fbf4f4; font-size:15px; line-height:1.6; margin:0 0 30px; }
.sample-disclaimer strong { display:block; font-size:14px; letter-spacing:.04em; margin-bottom:8px; color:#9a161b; }
.report-tour-layout { display:grid; grid-template-columns:minmax(220px,.6fr) minmax(0,1.65fr); gap:32px; align-items:start; }
.report-tour { position:sticky; top:145px; }
.report-tour h2 { margin:0 0 20px; font:400 28px/1.2 Georgia,serif; }
.report-tour nav { display:grid; gap:9px; }
.report-tour nav a { display:flex; align-items:center; gap:12px; border:1px solid var(--line); border-radius:6px; padding:12px; font-size:15px; background:#fff; }
.report-tour nav a span,.report-number { flex:0 0 30px; width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:#a51c22; color:white; font:700 15px/1 sans-serif; }
.report-tour nav a[aria-current],.report-tour nav a:hover { border-color:#a51c22; background:#fbf3f3; }
.report-tour > p { font-size:14px; color:var(--slate); line-height:1.6; }
.sample-report { min-width:0; background:white; border:1px solid #cfd4d5; padding:36px; box-shadow:0 8px 25px #12262a0b; }
.report-letterhead { border-bottom:3px solid #a51c22; padding-bottom:20px; margin-bottom:28px; }
.report-letterhead img { width:270px; max-width:100%; height:auto; }
.report-letterhead p { color:#a51c22; font-size:12px; font-weight:700; letter-spacing:.09em; margin:12px 0; }
.report-letterhead > span { display:block; font-size:12px; color:var(--slate); }
.sample-report > h2 { font:400 32px/1.2 Georgia,serif; margin:0 0 10px; }
.report-subtitle { font-size:15px; color:var(--slate); }
.report-region { margin-top:26px; border:1px solid var(--line); border-left:3px solid #c9cfd0; padding:22px; scroll-margin-top:155px; }
.report-region-active { border-color:#a51c22; box-shadow:0 0 0 1px #a51c22; }
.report-region h3 { display:flex; align-items:center; gap:12px; margin:0 0 18px; font:700 18px/1.4 Arial,sans-serif; }
.report-region p,.report-region li,.report-facts { font-size:16px; line-height:1.65; }
.report-region li { margin-bottom:10px; }
.report-facts { margin:0; }
.report-facts > div { display:grid; grid-template-columns:95px minmax(0,1fr); gap:15px; padding:8px 0; }
.report-facts dt { font-weight:700; }
.report-facts dd { margin:0; }
.report-location-strip { display:grid; gap:12px; }
.report-location-strip > div { padding:14px; background:#f3f5f5; }
.report-location-strip span { display:block; margin-top:8px; font-size:15px; }
.report-table-wrap { max-width:100%; overflow-x:auto; }
.sample-report table { width:100%; border-collapse:collapse; font-size:15px; }
.sample-report caption { text-align:left; font-size:14px; padding-bottom:12px; }
.sample-report th,.sample-report td { text-align:left; padding:12px 10px; border:1px solid #cfd4d5; vertical-align:top; }
.sample-report thead { background:#edf1f1; }
.report-inline-note { margin-top:22px; padding:18px; background:#f6f7f7; border-top:2px solid #bac5c7; }
.report-inline-note > strong { color:#9a161b; font-size:14px; text-transform:uppercase; letter-spacing:.04em; }
.report-inline-note p { font-size:15px; }
.report-inline-note p:last-child { margin-bottom:0; }
.report-region-active .report-inline-note { background:#fbf3f3; border-top-color:#a51c22; }
.report-end { margin-top:28px; font-size:12px; color:var(--slate); text-align:center; }
.report-beyond { padding-block:60px; }
.report-beyond h2 { font:400 34px/1.2 Georgia,serif; }
.report-beyond .service-panels { padding:0; margin-block:25px; }
.glossary { max-width:900px; padding-bottom:70px; }
.glossary dl > div { border-top:1px solid var(--line); padding:28px 0; scroll-margin-top:145px; }
.glossary dt { font:400 28px/1.2 Georgia,serif; margin-bottom:12px; }
.glossary dd { margin:0; font-size:17px; line-height:1.7; }
.mobile-contact { display:none; }
.regulation-review { margin-top:24px; font-size:14px; line-height:1.6; }
.regulation-review a { text-decoration:underline; text-underline-offset:3px; }
@media (max-width:900px) {
 .report-tour-layout { grid-template-columns:1fr; }
 .report-tour { position:static; }
 .report-tour nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .finder-layout { grid-template-columns:1fr; gap:24px; }
 .finder-banner { flex-direction:column; align-items:flex-start; }
}
@media (max-width:640px) {
 body { padding-bottom:calc(78px + env(safe-area-inset-bottom)); }
 .mobile-contact { display:grid; grid-template-columns:.8fr 1.2fr; gap:10px; position:fixed; bottom:0; left:0; right:0; z-index:80; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:white; box-shadow:0 -3px 15px #152d3320; border-top:1px solid var(--line); }
 .mobile-contact a { min-height:44px; display:flex; align-items:center; justify-content:center; padding:10px 8px; border:1px solid #a51c22; border-radius:6px; color:#a51c22; font-size:14px; font-weight:700; }
 .mobile-contact a:last-child { color:white; background:#a51c22; }
 .sample-report { padding:18px 12px; }
 .report-region { padding:16px 12px; scroll-margin-top:150px; }
 .report-inline-note { padding:14px 12px; }
 .report-tour nav a { font-size:14px; padding:10px; gap:8px; }
 .report-facts > div { grid-template-columns:1fr; gap:3px; }
 .sample-report th,.sample-report td { padding:10px 7px; font-size:14px; }
 .finder-banner { padding:24px; }
}
@media print { .mobile-contact,.report-tour { display:none !important; } body { padding-bottom:0; } .report-tour-layout { display:block; } .sample-report { box-shadow:none; } .report-region { break-inside:avoid; } }
.term-help > button { display:inline; padding:0; border:0; border-bottom:1px dotted currentColor; color:#96191e; background:transparent; font:inherit; cursor:help; text-align:inherit; }
.term-popover { position:fixed; inset:0; margin:auto; width:min(460px,calc(100vw - 40px)); max-height:80vh; overflow:auto; padding:28px; background:white; color:#21373b; border:1px solid #a51c22; border-radius:8px; box-shadow:0 15px 60px #0003; font:400 17px/1.6 Arial,sans-serif; }
.term-popover::backdrop { background:#13252a50; }
.term-popover > strong,.term-popover > span { display:block; margin-bottom:16px; }
.term-popover > strong { font:400 28px/1.2 Georgia,serif; }
.term-popover > button { display:block; border:1px solid #a51c22; border-radius:6px; padding:10px 16px; color:#a51c22; background:white; font:700 14px/1.5 Arial,sans-serif; cursor:pointer; }
@media print { .term-help > button { color:inherit; border:0; } .term-popover { display:none !important; } }

/* Shared navigation and a focused homepage. */
.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; }
.desktop-nav { gap:20px; }
.desktop-nav > a,.resource-menu > summary { white-space:nowrap; }
.resource-menu { position:relative; }
.resource-menu > summary { cursor:pointer; list-style:none; padding-block:12px; }
.resource-menu > summary::-webkit-details-marker { display:none; }
.resource-menu > summary::after { content:'⌄'; margin-left:7px; color:var(--gold); }
.resource-menu[open] > summary { color:var(--gold-dark); }
.resource-menu-panel { position:absolute; top:100%; left:50%; transform:translateX(-50%); width:560px; display:grid; grid-template-columns:1fr 1fr; gap:28px; padding:26px; border:1px solid var(--line); border-top:3px solid var(--gold); border-radius:6px; background:white; box-shadow:0 14px 35px #0002; color:var(--ink); z-index:70; }
.resource-menu-panel > div { display:grid; gap:4px; align-content:start; }
.resource-menu-panel strong { color:var(--slate); font-size:11px; text-transform:uppercase; letter-spacing:.07em; padding-bottom:9px; }
.desktop-nav .resource-menu-panel a { display:block; white-space:normal; padding:8px 0; line-height:1.4; }
.language-link { color:var(--gold-dark); }
.hero-layout { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:56px; padding-block:64px; }
.hero h1 { font-size:clamp(40px,4.8vw,64px); }
.hero-report-feature { background:white; border-radius:8px; border-top:4px solid var(--gold); color:var(--ink); overflow:hidden; }
.hero-report-feature > a { display:block; }
.hero-report-copy { padding:26px 30px 22px; }
.hero-report-copy .eyebrow { margin-bottom:12px; }
.hero-report-copy h2 { margin:0 0 12px; font:400 30px/1.12 Georgia,serif; letter-spacing:-.02em; }
.hero-report-copy p:not(.eyebrow) { margin:0 0 14px; font-size:15px; color:var(--slate); line-height:1.55; }
.hero-report-copy strong { font-size:15px; color:var(--gold-dark); }
.hero-report-image { height:175px; overflow:hidden; padding:16px 36px 0; background:#eceeef; border-top:1px solid var(--line); }
.hero-report-image img { display:block; width:100%; height:auto; border:1px solid var(--line); box-shadow:0 3px 14px #0001; }
.featured-tools { padding-block:58px; }
.featured-tools .section-heading { margin-bottom:24px; }
.featured-tools h2,.home-project-paths h2 { font:400 clamp(30px,3.4vw,42px)/1.15 Georgia,serif; margin:0; letter-spacing:-.025em; }
.featured-tools .eyebrow { margin-bottom:12px; }
.featured-tools-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.featured-tools-grid > a { display:flex; flex-direction:column; background:white; padding:28px; border:1px solid var(--line); border-radius:6px; }
.featured-tools-grid > a:hover { border-color:var(--gold); }
.tool-index { font-size:11px; font-weight:700; color:var(--gold-dark); letter-spacing:.08em; }
.featured-tools-grid h3 { font:400 28px/1.14 Georgia,serif; letter-spacing:-.02em; margin:18px 0 12px; }
.featured-tools-grid p { margin:0 0 22px; font-size:16px; color:var(--slate); }
.featured-tools-grid strong { margin-top:auto; font-size:15px; color:var(--gold-dark); }
.featured-water-link { display:flex; justify-content:space-between; gap:18px; padding:20px 0 0; font-size:15px; font-weight:700; color:var(--gold-dark); }
.home-project-paths { display:grid; grid-template-columns:1.2fr 1fr; gap:60px; padding-block:52px; border-bottom:1px solid var(--line); }
.home-project-paths p:not(.eyebrow) { max-width:530px; color:var(--slate); }
.home-project-paths nav { display:grid; align-content:center; }
.home-project-paths nav a { display:block; padding:17px 0; border-bottom:1px solid var(--line); color:var(--gold-dark); font-weight:700; }
.service-card,.topic-card { border-radius:6px; }
.topic-card h3 { font-size:clamp(27px,2.8vw,34px); }
.topic-photo { aspect-ratio:3/2; object-fit:cover; }

/* Authentic report excerpts: the image and its field annotations share coordinates. */
.report-library { padding-bottom:64px; }
.report-library > section { margin-top:45px; }
.report-library > section > h2 { font:400 34px/1.2 Georgia,serif; margin:0 0 22px; }
.report-library-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.report-library-card { display:grid; grid-template-columns:145px minmax(0,1fr); gap:24px; padding:22px; background:white; border:1px solid var(--line); border-radius:8px; }
.report-library-card:hover { border-color:var(--gold); }
.report-cover-preview { align-self:start; padding:8px; background:#eceeef; }
.report-cover-preview img { width:100%; height:auto; display:block; }
.report-library-card h3 { font:400 27px/1.14 Georgia,serif; margin:0 0 14px; }
.report-library-card p { margin:0 0 16px; font-size:15px; line-height:1.6; color:var(--slate); }
.report-library-card span { color:var(--gold-dark); font-size:14px; font-weight:700; }
.report-type-menu { border:1px solid var(--line); border-radius:6px; background:white; margin:0 0 24px; }
.report-type-menu summary { cursor:pointer; padding:18px 22px; font-weight:700; }
.report-type-menu summary span { font-size:14px; font-weight:400; color:var(--slate); padding-left:18px; }
.report-type-menu nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:0 20px 20px; }
.report-type-menu nav a { padding:11px 14px; border:1px solid var(--line); border-radius:6px; }
.report-type-menu nav a[aria-current] { border-color:var(--gold); background:#fbf0f1; color:var(--gold-dark); }
.report-viewer-heading { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:end; margin:35px 0 24px; }
.report-viewer-heading h2 { font:400 34px/1.15 Georgia,serif; margin:0; }
.report-viewer-heading .eyebrow { margin-bottom:12px; }
.report-viewer-heading > p { margin:0; font-size:16px; color:var(--slate); }
.report-page-tabs { display:flex; gap:8px; flex-wrap:wrap; padding-bottom:24px; }
.report-page-tabs a { display:flex; align-items:center; gap:9px; padding:12px 16px; border:1px solid var(--line); border-radius:6px; background:white; font-size:14px; font-weight:700; }
.report-page-tabs a span { font-weight:400; opacity:.65; }
.report-page-tabs a[aria-current] { color:white; background:var(--gold-dark); border-color:var(--gold-dark); }
.report-page-panel { margin:0 0 42px; scroll-margin-top:165px; }
.report-page-panel[hidden] { display:none; }
.report-page-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 16px; }
.report-page-toolbar h3 { font-size:18px; margin:0; }
.report-page-toolbar small { display:block; font-size:12px; font-weight:400; color:var(--slate); }
.report-zoom { padding:10px 14px; border:1px solid var(--gold-dark); border-radius:6px; background:white; color:var(--gold-dark); font:700 14px/1.4 Arial,sans-serif; cursor:pointer; }
.authentic-report-layout { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr); gap:26px; align-items:start; }
.authentic-report-scroll { max-width:100%; min-width:0; overflow:auto; padding:10px; border:1px solid #d0d5d8; border-radius:6px; background:#e8ebed; }
.authentic-report-sheet { position:relative; width:100%; background:white; box-shadow:0 2px 8px #0002; }
.authentic-report-sheet > img { display:block; width:100%; height:auto; }
.is-enlarged .authentic-report-sheet { min-width:1100px; }
.report-hotspot { position:absolute; left:var(--x); top:var(--y); width:var(--w); height:var(--h); border:1px dashed #a51c2280; border-radius:2px; outline-offset:3px; }
.report-hotspot > span { position:absolute; left:-13px; top:-12px; display:flex; align-items:center; justify-content:center; width:26px; height:26px; border:2px solid white; box-shadow:0 1px 5px #0003; border-radius:50%; background:var(--gold-dark); color:white; font:700 13px/1 Arial,sans-serif; }
.report-hotspot.is-highlighted,.report-hotspot:hover,.report-hotspot:focus-visible { border:2px solid var(--gold); background:#bb000e0a; }
.report-page-notes { display:grid; gap:12px; }
.report-field-note { padding:18px; border:1px solid var(--line); border-radius:6px; background:white; scroll-margin-top:180px; }
.report-field-note h4 { margin:0 0 12px; }
.report-field-note h4 button { display:flex; align-items:center; gap:10px; width:100%; padding:0; text-align:left; color:var(--ink); background:transparent; border:0; cursor:pointer; font:700 16px/1.4 Arial,sans-serif; }
.report-field-note h4 button > span { display:flex; align-items:center; justify-content:center; flex:0 0 28px; width:28px; height:28px; border-radius:50%; background:var(--gold-dark); color:white; font-size:14px; }
.report-field-note p { margin:0; font-size:15px; line-height:1.65; color:var(--slate); }
.report-field-note.is-highlighted,.report-field-note:target { border-color:var(--gold); background:#fff9f9; }
.report-text-values { padding:14px 18px; border:1px solid var(--line); border-radius:6px; font-size:14px; }
.report-text-values summary { cursor:pointer; font-weight:700; }
.report-text-values dl { margin:16px 0 0; }
.report-text-values dl > div { margin-bottom:12px; }
.report-text-values dt { font-weight:700; }
.report-text-values dd { margin:3px 0 0; overflow-wrap:anywhere; }
.report-template-note { margin:0; padding:6px 0; color:var(--slate); font-size:12px; line-height:1.6; }
.report-closing { padding:35px 0 60px; border-top:1px solid var(--line); }
.report-closing h2 { font:400 32px/1.2 Georgia,serif; }
.spanish-links { display:flex; justify-content:center; gap:24px; flex-wrap:wrap; padding:20px 24px; border-block:1px solid var(--line); background:white; color:var(--gold-dark); font-size:15px; font-weight:700; }
.spanish-contact { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:30px 0; }
.spanish-contact > a { display:grid; gap:10px; padding:30px; border:1px solid var(--line); border-radius:6px; background:white; }
.spanish-contact span { font-size:14px; }
.spanish-contact strong { font-size:clamp(20px,2.4vw,28px); overflow-wrap:anywhere; color:var(--gold-dark); }
@media (max-width:1100px) {
 .header-inner { grid-template-columns:1fr auto; }
 .desktop-nav { grid-row:2; grid-column:1/-1; display:flex; flex-wrap:wrap; justify-content:center; padding-bottom:8px; gap:22px; }
 .hero-layout { gap:32px; }
 .resource-menu-panel { left:-70px; transform:none; }
 .report-library-card { grid-template-columns:100px minmax(0,1fr); padding:18px; gap:18px; }
}
@media (max-width:800px) {
 .hero-layout { grid-template-columns:1fr; padding-block:42px; }
 .hero-report-feature { max-width:620px; }
 .hero-report-feature > a { display:grid; grid-template-columns:1.2fr 1fr; align-items:stretch; }
 .hero-report-copy { padding:24px; }
 .hero-report-image { height:auto; max-height:290px; padding:24px 16px 0; }
 .featured-tools-grid { grid-template-columns:1fr; gap:12px; }
 .featured-tools-grid > a { padding:24px; }
 .featured-tools-grid h3 { margin:12px 0 10px; }
 .home-project-paths { grid-template-columns:1fr; gap:16px; }
 .authentic-report-layout { grid-template-columns:1fr; }
 .report-viewer-heading { grid-template-columns:1fr; gap:16px; }
 .report-library-grid { grid-template-columns:1fr; }
 .report-library-card { grid-template-columns:135px minmax(0,1fr); }
 .report-page-panel { scroll-margin-top:180px; }
 .report-page-notes { grid-template-columns:1fr; }
 .report-type-menu summary span { display:block; padding:8px 0 0; }
}
@media (max-width:580px) {
 .desktop-nav { display:flex; justify-content:center; gap:0 18px; font-size:13px; }
 .resource-menu { position:static; }
 .resource-menu-panel { left:12px; right:12px; top:100%; width:auto; padding:20px; gap:16px; }
 .resource-menu-panel a { font-size:14px; }
 .hero-report-feature > a { display:block; }
 .hero-report-image { height:150px; padding-inline:45px; }
 .featured-tools { padding-block:40px; }
 .report-library-card { grid-template-columns:88px minmax(0,1fr); gap:16px; padding:16px; }
 .report-library-card h3 { font-size:24px; }
 .report-library-card p { font-size:14px; }
 .report-type-menu nav { grid-template-columns:1fr; }
 .report-page-tabs { display:grid; grid-template-columns:1fr 1fr; }
 .report-page-tabs a { font-size:13px; padding:10px; }
 .report-page-toolbar { align-items:start; }
 .report-zoom { white-space:nowrap; font-size:12px; }
 .authentic-report-scroll { padding:7px; }
 .report-hotspot > span { width:23px; height:23px; left:-11px; top:-10px; font-size:12px; }
 .spanish-contact { grid-template-columns:1fr; }
 .spanish-links { gap:12px 22px; }
}
@media print {
 .resource-menu,.report-page-tabs,.report-type-menu,.report-zoom { display:none !important; }
 .report-page-panel[hidden] { display:block; }
 .authentic-report-layout { grid-template-columns:1fr; }
 .authentic-report-sheet { min-width:0 !important; }
 .report-page-panel { break-before:page; }
 .report-page-notes { break-before:page; }
}

/* Client marks remain upright and fully visible as the row rotates. */
.client-carousel { padding:26px 0 22px; background:white; border-bottom:1px solid var(--line); }
.client-carousel-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; }
.client-carousel-heading h2 { margin:0; font:400 clamp(22px,2.5vw,28px)/1.25 Georgia,serif; letter-spacing:-.02em; }
.client-carousel-toggle { flex:none; border:1px solid var(--line); border-radius:6px; padding:8px 12px; color:var(--slate); background:white; font:400 14px/1.3 Arial,sans-serif; cursor:pointer; }
.client-carousel-toggle:hover { border-color:var(--gold); color:var(--gold-dark); }
.client-carousel-window { overflow-x:auto; overflow-y:hidden; scrollbar-width:none; overscroll-behavior-x:contain; border-radius:4px; }
.client-carousel-window::-webkit-scrollbar { display:none; }
.client-carousel-track { display:flex; width:max-content; }
.client-logo-group { display:flex; list-style:none; padding:0; margin:0; }
.client-logo { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:12px; flex:0 0 236px; width:236px; padding:0 24px 5px; text-align:center; }
.client-logo img { width:180px; height:88px; object-fit:contain; display:block; }
.client-logo span { display:block; font-size:14px; line-height:1.4; max-width:190px; color:var(--slate); }
@media (max-width:580px) {
 .client-carousel { padding-block:22px; }
 .client-carousel-heading { align-items:flex-start; gap:12px; }
 .client-carousel-heading h2 { max-width:220px; font-size:23px; }
 .client-carousel-toggle { font-size:12px; padding:8px; }
 .client-logo { flex-basis:190px; width:190px; padding-inline:18px; }
 .client-logo img { width:154px; height:80px; }
}
@media print {
 .client-carousel-toggle,.client-logo-group[aria-hidden="true"] { display:none; }
 .client-carousel-window { overflow:visible; }
 .client-carousel-track,.client-logo-group { width:100%; flex-wrap:wrap; }
}

.client-logo-producers-dairy img { object-fit:cover; }

/* JSA / dimensional editorial system. Keep the supplied logo artwork intact. */
:root {
  --paper: #f4f3f1;
  --ink: #222227;
  --ink-2: #313136;
  --slate: #626168;
  --line: #dedde0;
  --max: 1240px;
  --depth-shadow: 0 2px 3px #1d182008, 0 14px 38px #1d18200a;
}
body { font-family: Arial, Helvetica, sans-serif; background: var(--paper); -webkit-font-smoothing: antialiased; }
h1, h2, h3 { text-wrap: balance; }
.shell { width: min(calc(100% - 72px),var(--max)); }
.site-header { background: #fffffff5; border-bottom: 1px solid #2222220f; box-shadow: 0 5px 25px #11111105; }
.header-inner { min-height: 106px; gap: 26px; }
.site-header .brand-link { width: 220px; gap: 8px; padding-block: 16px; }
.brand-tagline { font-size: 9px; letter-spacing: .045em; }
.desktop-nav { font-size: 13px; gap: 23px; }
.button { border-radius: 7px; min-height: 50px; padding-inline: 22px; box-shadow: inset 0 1px 0 #ffffff20, 0 4px 8px #00000010; transition: transform .22s ease, box-shadow .22s ease, background .22s ease; }
/* Keep the solid fill when interior pages remove the decorative gradient. */
.button--gold,.button--nav { background-color: var(--gold); background-image: linear-gradient(150deg,#ce1422,#ae000d); border-color: #a2000b; }
.button--small { min-height: 44px; font-size: 13px; padding-inline: 18px; }
.button:hover { box-shadow: inset 0 1px 0 #ffffff20, 0 8px 18px #97000b22; }
.resource-menu-panel { border: 1px solid #dad9dd; border-top: 3px solid var(--gold); border-radius: 12px; box-shadow: 0 20px 65px #17121e26; }
.eyebrow { font-size: 10px; letter-spacing: .16em; line-height: 1.5; }
.eyebrow--light { color: #e9a6ac; }
.hero { isolation: isolate; background: radial-gradient(ellipse at 77% 35%,#3c303b 0,transparent 52%), linear-gradient(115deg,#16161b,#26232a); }
.hero::before { width: 3px; background: var(--gold); }
.hero::after { display: none; }
.hero-grid { opacity: .14; background-size: 64px 64px; mask-image: linear-gradient(100deg,transparent 30%,#000 100%); }
.hero-layout { grid-template-columns: minmax(0,1fr) minmax(0,1.08fr); min-height: 690px; gap: 26px; padding-block: 64px 76px; }
.hero-copy { position: relative; z-index: 3; padding-right: 12px; }
.hero .eyebrow { margin-bottom: 28px; }
.hero h1 { font: 500 clamp(42px,4.6vw,66px)/1.04 Arial,Helvetica,sans-serif; letter-spacing: -.055em; max-width: 600px; }
.hero h1 em { display: block; font: italic 400 1.03em/1.1 Georgia,serif; letter-spacing: -.055em; color: #e2d5d6; padding-top: 12px; }
.hero-lede { max-width: 490px; margin-top: 28px; font-size: 16px; line-height: 1.8; color: #c5c1ca; }
.hero-actions { gap: 22px; margin-top: 32px; }
.hero-actions .text-link { font-size: 13px; text-decoration: none; border-bottom: 1px solid #ffffff65; padding-bottom: 4px; }
.hero-contact { margin-top: 28px; font-size: 12px; color: #aba6b2; }
.hero-contact a { text-decoration: none; color: #e6e2e9; margin-left: 8px; }
.hero-topics { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 35px; }
.hero-topics span { padding: 5px 10px; border: 1px solid #ffffff24; border-radius: 30px; color: #bdb8c5; font-size: 10px; letter-spacing: .05em; }
.property-stage { --pointer-x: 0; --pointer-y: 0; position: relative; align-self: stretch; min-height: 550px; perspective: 1100px; isolation: isolate; }
.property-stage__top { position: absolute; top: 9px; left: 30px; right: 10px; display: flex; justify-content: space-between; align-items: center; color: #c0b5c5; font: 10px/1.5 Arial,sans-serif; letter-spacing: .17em; }
.property-stage__top > span:last-child { color: #e15d6a; font-size: 23px; }
.property-stage__halo { position: absolute; width: 88%; aspect-ratio: 1; top: 6%; left: 6%; border: 1px solid #ffffff09; border-radius: 50%; box-shadow: 0 0 0 40px #ffffff02, inset 0 0 60px #e51b3b05; pointer-events: none; }
.property-stage__model { position: absolute; inset: 25px -20px 25px; display: grid; align-items: center; transform: rotateX(calc(var(--pointer-y) * -3deg)) rotateY(calc(var(--pointer-x) * 5deg)); transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.property-model { display: block; width: 100%; height: auto; overflow: visible; filter: drop-shadow(0 26px 18px #00000025); }
.property-roof { transition: transform .6s ease; }
.is-exploring .property-roof { transform: translateY(-7px); }
.property-tag { position: absolute; z-index: 2; display: flex; align-items: center; gap: 10px; padding: 15px 16px; color: #29252d; background: linear-gradient(135deg,#fffffff5,#eae6edf5); border: 1px solid #ffffffba; border-radius: 8px; box-shadow: 0 5px 0 #86808e2b, 0 15px 26px #00000025; transform: translate3d(calc(var(--pointer-x) * -5px),calc(var(--pointer-y) * -4px),0); transition: transform .5s ease, box-shadow .2s; }
.property-tag--materials { top: 25%; right: -5px; }
.property-tag--moisture { top: 66%; left: 0; }
.property-tag__dot { width: 8px; height: 8px; flex: 0 0 8px; background: var(--gold); border-radius: 50%; box-shadow: 0 0 0 5px #bb000e0b; }
.property-tag small { display: block; color: #78707e; font-size: 8px; font-weight: 700; letter-spacing: .13em; }
.property-tag strong { display: block; font-size: 11px; font-weight: 600; margin-top: 3px; }
.property-tag b { font-size: 16px; color: var(--gold); margin-left: 5px; }
.property-tag:hover { box-shadow: 0 5px 0 #bb000e55, 0 15px 26px #00000025; }
.property-stage__bottom { position: absolute; left: 30px; right: 8px; bottom: -10px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 18px; border-top: 1px solid #ffffff24; font-size: 11px; color: #aaa3b2; }
.property-stage__bottom strong { font-weight: 400; color: #d7d0df; }
.property-stage__bottom a { color: #e9e4ed; display: flex; align-items: center; gap: 20px; }
.property-stage__bottom a span { display: grid; place-items: center; border: 1px solid #ffffff40; border-radius: 50%; width: 32px; height: 32px; }
.client-carousel { padding-block: 30px; border-bottom: 1px solid var(--line); }
.client-carousel-heading h2 { font: 500 14px/1.4 Arial,sans-serif; letter-spacing: -.01em; color: #626168; }
.client-carousel-heading { margin-bottom: 22px; }
.client-logo { flex-basis: 210px; width: 210px; }
.client-logo img { height: 64px; width: 150px; }
.client-logo span { font-size: 11px; margin-top: 0; }
.client-carousel-toggle { font-size: 11px; border-radius: 20px; }
.featured-tools { padding-block: 90px 70px; }
.featured-tools h2,.home-project-paths h2 { font: 500 clamp(32px,3.4vw,46px)/1.12 Arial,sans-serif; letter-spacing: -.045em; }
.featured-tools .section-heading { margin-bottom: 34px; }
.featured-tools-grid { gap: 22px; }
.featured-tools-grid > a { position: relative; padding: 34px; min-height: 280px; border: 1px solid #e0dce1; border-radius: 13px; background: linear-gradient(150deg,#fff 60%,#f5f3f6); box-shadow: var(--depth-shadow); transition: transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.featured-tools-grid > a::before { content: ''; width: 34px; height: 4px; background: var(--gold); box-shadow: 0 3px 0 #bb000e18; border-radius: 2px; margin-bottom: 23px; }
.featured-tools-grid h3 { font: 500 27px/1.15 Arial,sans-serif; letter-spacing: -.035em; max-width: 270px; }
.featured-tools-grid p { font-size: 14px; line-height: 1.75; }
.featured-tools-grid strong { font-size: 12px; }
.tool-index { font-size: 9px; color: #77707b; letter-spacing: .12em; }
.featured-water-link { padding-top: 26px; font-size: 12px; }
.section { padding-block: 100px; }
.section-heading h2,.about-main h2 { font: 500 clamp(34px,3.8vw,50px)/1.1 Arial,sans-serif; letter-spacing: -.045em; }
.split-heading { gap: 90px; margin-bottom: 46px; }
.split-heading > p { font-size: 15px; line-height: 1.8; }
.learn-home { position: relative; background: #eae8e6; border-block: 1px solid #e0dddf; }
.topic-grid { gap: 25px; border: 0; }
.topic-card { overflow: hidden; padding: 26px; border: 1px solid #ddd9dd; border-radius: 12px; background: #fff; box-shadow: 0 3px 0 #d7d3d75c, 0 16px 40px #18151d0a; transition: transform .25s ease,box-shadow .25s ease; }
.topic-card + .topic-card { border-left: 1px solid #ddd9dd; }
.topic-image-link { margin: -26px -26px 0; }
.topic-photo { transition: transform .65s cubic-bezier(.2,.8,.2,1); }
.topic-card h3 { font: 500 clamp(25px,2.4vw,30px)/1.15 Arial,sans-serif; letter-spacing: -.035em; }
.topic-card p { font-size: 14px; line-height: 1.75; }
.topic-number { font-size: 9px; letter-spacing: .12em; }
.topic-link { font-size: 12px; }
.learn-footnote { font-size: 12px; margin-top: 32px; }
.credential-strip { background: #fff; border: 0; }
.credential-grid > div { padding: 32px 25px; border: 0; border-right: 1px solid #e9e6e9; min-height: 125px; }
.credential-grid > div:first-child { border-left: 0; }
.credential-grid strong { font: 500 24px/1.3 Arial,sans-serif; letter-spacing: -.04em; }
.credential-grid span { font-size: 11px; }
.services-section { background: #f4f3f1; }
.service-grid { gap: 22px; border: 0; }
.service-card { position: relative; padding: 32px; min-height: 320px; border: 1px solid #ddd9de; background: linear-gradient(140deg,#fff,#faf9fa); box-shadow: var(--depth-shadow); border-radius: 12px; transition: transform .25s,box-shadow .25s,border-color .25s; }
.service-card__meta { align-items: center; margin-bottom: 36px; }
.service-card__meta > span { font-size: 12px; font-weight: 600; color: var(--slate); letter-spacing: .1em; }
.service-card__meta b { display: grid; place-items: center; min-width: 56px; height: 54px; padding-inline: 9px; font: 600 12px/1 Arial,sans-serif; letter-spacing: .04em; border: 1px solid #e2d8dd; border-radius: 9px; background: linear-gradient(150deg,#fff,#eae2e6); color: #a9000c; transform: perspective(300px) rotateY(-14deg) rotateX(8deg); box-shadow: 3px 4px 0 #c9bcc7, 7px 10px 16px #45334412; transition: transform .25s ease; }
.service-card h3 { font: 500 25px/1.2 Arial,sans-serif; letter-spacing: -.035em; margin-top: 0; }
.service-card p { font-size: 14px; line-height: 1.8; }
.service-card__link { font-size: 12px; margin-top: 26px; }
.report-spotlight { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; margin-block: 10px 100px; padding: 75px 85px; background: radial-gradient(ellipse at 85% 70%,#d5ccd3,transparent 65%),#e8e4e6; border: 1px solid #dcd5dd; border-radius: 18px; box-shadow: inset 0 1px 0 #fff,0 12px 30px #30223208; overflow: hidden; }
.report-spotlight__copy { position: relative; z-index: 2; }
.report-spotlight h2 { font: 500 clamp(35px,4vw,52px)/1.05 Arial,sans-serif; letter-spacing: -.05em; margin: 0 0 24px; }
.report-spotlight__copy > p:not(.eyebrow) { color: #625a66; font-size: 14px; line-height: 1.8; max-width: 380px; margin-bottom: 25px; }
.report-spotlight__note { display: block; font-size: 10px; color: #7c7280; margin-top: 17px; }
.report-stack { position: relative; display: block; width: 78%; margin: 0 auto; aspect-ratio: 1224/1584; perspective: 1000px; }
.report-stack__sheet { position: absolute; inset: 0; display: block; width: 100%; height: 100%; background: #fff; border: 1px solid #c8c3cc; border-radius: 3px; box-shadow: 1px 3px 3px #39323f18,12px 22px 35px #21182525; transition: transform .55s cubic-bezier(.2,.8,.2,1); }
.report-stack__sheet--back { transform: rotateX(8deg) rotateY(-14deg) rotateZ(7deg) translate(25px,5px); background: #f8f6f7; }
.report-stack__sheet--middle { transform: rotateX(8deg) rotateY(-14deg) rotateZ(-7deg) translate(-16px,5px); }
.report-stack__sheet--front { transform: rotateX(8deg) rotateY(-14deg) rotateZ(-2deg); object-fit: cover; }
.report-stack__label { position: absolute; left: -45px; right: -10px; bottom: 25px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 22px; border-radius: 7px; background: #27232ef2; border: 1px solid #ffffff26; box-shadow: 0 10px 20px #221c3430; color: #f2ecf4; font: 9px/1.4 Arial,sans-serif; letter-spacing: .13em; }
.report-stack__label b { color: #ef8192; font-size: 20px; }
.home-project-paths { padding-block: 10px 80px; margin-bottom: 0; border: 0; }
.home-project-paths nav { padding: 12px 28px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--depth-shadow); }
.home-project-paths nav a:last-child { border: 0; }
.home-project-paths nav a { font-size: 13px; }
.about-section { background: #eae8e6; border-block: 1px solid #ded9dd; }
.about-main > p:not(.eyebrow) { font-size: 15px; line-height: 1.8; }
.leadership-notes h3 { font: 500 22px/1.2 Arial,sans-serif; letter-spacing: -.035em; }
.leadership-notes p { font-size: 13px; }
.qualification-row span { border-radius: 5px; font-size: 10px; box-shadow: 0 2px 0 #ded7dd; }
.insurance-card { border: 1px solid #ded6dd; border-top: 3px solid var(--gold); border-radius: 12px; background: linear-gradient(155deg,#fff,#f8f6f8); box-shadow: 0 5px 0 #d5cdd663,0 25px 50px #2e232212; }
.insurance-card h3 { font: 500 29px/1.15 Arial,sans-serif; letter-spacing: -.04em; }
.contact-section { background: radial-gradient(ellipse at 20% 30%,#42303b,transparent 60%),#211e26; padding-block: 110px; }
.request-layout { gap: 75px; }
.request-intro h2 { font: 500 clamp(35px,3.6vw,48px)/1.1 Arial,sans-serif; letter-spacing: -.045em; }
.request-intro > p:not(.eyebrow):not(.request-note) { font-size: 15px; line-height: 1.8; }
.request-note { border-radius: 0 8px 8px 0; font-size: 12px; }
.request-form { border-radius: 13px; background: linear-gradient(160deg,#fff,#fbfafb); box-shadow: 0 6px 0 #71627060,0 30px 70px #00000035; border: 1px solid #ffffffb3; }
.form-heading > strong { font: 500 32px/1.2 Arial,sans-serif; letter-spacing: -.04em; }
.form-section legend,.form-section h3 { font: 600 17px/1.4 Arial,sans-serif; }
.check-option { border-radius: 7px; background: #fff; }
.check-option:has(input:checked) { border-color: #bb000e; background: #fff5f6; box-shadow: 0 0 0 1px #bb000e; }
.check-option span { font-size: 12px; font-weight: 500; }
.field input,.field select,.field textarea { border-radius: 6px; box-shadow: inset 0 2px 4px #21142305; border-color: #d2cbd4; }
.field > span { font-size: 12px; font-weight: 600; }
.site-footer { padding-top: 60px; }
.footer-layout .brand-mark { width: 220px; }
.footer-layout > p { font-size: 9px; }
.footer-links { gap: 13px 22px; }
.footer-links a { font-size: 11px; }

/* Interior pages share the same materials, spacing, and visual depth. */
.guide-hero { position: relative; isolation: isolate; overflow: hidden; padding-block: 52px 70px; background: radial-gradient(ellipse at 94% 28%,#e2d8de,transparent 60%),#eeebed; border-bottom: 1px solid #dcd5df; }
.guide-hero::after { content: ''; position: absolute; z-index: -1; top: -50px; right: -100px; width: 420px; height: 420px; border: 1px solid #bdacba55; border-radius: 35px; transform: perspective(800px) rotateX(55deg) rotateZ(-32deg); box-shadow: 0 30px 0 -1px #eeeaed,0 31px 0 #bdacba40,0 60px 0 -1px #eeeaed,0 61px 0 #bdacba30,0 95px 60px #7c5c7512; }
.guide-hero h1 { font: 500 clamp(38px,5vw,64px)/1.07 Arial,sans-serif; letter-spacing: -.05em; max-width: 950px; }
.guide-deck { font-size: 17px; max-width: 830px; line-height: 1.75; }
.breadcrumb { font-size: 11px; }
.review-date { font-size: 11px; }
.service-panels { gap: 25px; border: 0; }
.service-panels > section { border: 1px solid var(--line); background: #fff; border-radius: 13px; box-shadow: var(--depth-shadow); padding: 34px; }
.service-panels > section + section { border-left: 1px solid var(--line); }
.service-reading h2,.reading h2,.report-library > section > h2,.report-viewer-heading h2,.requirements-heading h2 { font-family: Arial,sans-serif; font-weight: 500; letter-spacing: -.035em; }
.service-intro { max-width: 900px; }
.service-process ol { border-radius: 12px; overflow: hidden; background: #fff; border: 1px solid var(--line); box-shadow: var(--depth-shadow); }
.service-process li { padding: 28px; }
.service-scope,.guide-note,.guide-takeaways { border-radius: 0 9px 9px 0; }
.guide-takeaways { box-shadow: var(--depth-shadow); border-radius: 9px; }
.guide-sidebar nav { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 20px; box-shadow: 0 8px 25px #23122206; }
.guide-sidebar nav a { padding-block: 9px; }
.guide-photo { border-radius: 8px; }
.county-banner,.water-callout,.finder-banner { border-radius: 12px; box-shadow: var(--depth-shadow); }
.county-empty,.county-topic,.location-next-steps aside { border-radius: 11px; box-shadow: var(--depth-shadow); overflow: hidden; }
.county-map-panel .california-map { border: 1px solid var(--line); border-radius: 13px; box-shadow: inset 0 2px 15px #4031430a; }
.report-library-card { border-radius: 13px; padding: 28px; box-shadow: var(--depth-shadow); transition: transform .25s,box-shadow .25s; }
.report-cover-preview { background: #eae6ec; border-radius: 5px; padding: 12px; perspective: 700px; }
.report-cover-preview img { transform: rotateY(-10deg) rotateZ(-3deg); box-shadow: 4px 5px 0 #c8bfcd,7px 10px 17px #22142b20; transition: transform .25s; }
.report-library-card h3 { font: 500 25px/1.15 Arial,sans-serif; letter-spacing: -.035em; }
.report-type-menu,.report-field-note,.authentic-report-scroll { border-radius: 10px; box-shadow: var(--depth-shadow); }
.authentic-report-scroll { background: #eae6ec; padding: 16px; }
.authentic-report-sheet { box-shadow: 0 3px 3px #24152d12,0 12px 30px #24152d12; }
.spanish-contact > a,.resource-tool-grid > a,.project-path-cards > a { border-radius: 10px; box-shadow: var(--depth-shadow); }
.detail-cta { background: radial-gradient(ellipse at 0 0,#44313e,transparent 65%),#242029; }
.detail-cta h2 { font-family: Arial,sans-serif; font-weight: 500; letter-spacing: -.04em; }
.detail-cta__layout { gap: 60px; }
.depth-arrived { animation: jsa-arrive .7s cubic-bezier(.2,.8,.2,1) both; }
@keyframes jsa-arrive { from { translate: 0 16px; } to { translate: 0 0; } }
@media (hover:hover) and (pointer:fine) {
 .featured-tools-grid > a:hover,.service-card:hover,.report-library-card:hover { transform: translateY(-6px); box-shadow: 0 4px 0 #e4dbe3,0 24px 45px #28152c12; border-color: #bb000e66; }
 .topic-card:hover { transform: translateY(-5px); box-shadow: 0 6px 0 #d7d3d766,0 25px 45px #18151d12; }
 .topic-card:hover .topic-photo { transform: scale(1.035); }
 .service-card:hover .service-card__meta b { transform: perspective(300px) rotateY(0) rotateX(0) translateY(-3px); }
 .report-stack:hover .report-stack__sheet--front { transform: rotateX(0) rotateY(-5deg) rotateZ(0) translateY(-8px); }
 .report-stack:hover .report-stack__sheet--back { transform: rotateZ(11deg) translate(30px,4px); }
 .report-library-card:hover .report-cover-preview img { transform: rotateY(0) rotateZ(0); }
}
@media (max-width:1100px) {
 .header-inner { grid-template-columns: 1fr auto; min-height: 0; row-gap: 0; }
 .desktop-nav { grid-row: 2; grid-column: 1/-1; padding-bottom: 12px; }
 .hero-layout { gap: 10px; min-height: 620px; }
 .hero h1 { font-size: clamp(42px,5vw,56px); }
 .property-stage { min-height: 480px; }
 .property-tag { padding: 12px; }
 .property-tag strong { font-size: 10px; }
 .property-stage__top { left: 20px; font-size: 8px; }
 .report-spotlight { padding: 60px; gap: 40px; }
 .featured-tools-grid > a { padding: 26px; }
 .featured-tools-grid h3 { font-size: 24px; }
 .split-heading { gap: 45px; }
}
@media (max-width:800px) {
 .shell { width: min(calc(100% - 40px),var(--max)); }
 .hero-layout { grid-template-columns: 1fr; gap: 30px; padding-block: 60px 55px; }
 .hero-copy { max-width: 600px; padding-right: 0; }
 .hero h1 { font-size: clamp(42px,8.6vw,66px); }
 .hero-lede { max-width: 550px; }
 .hero-actions { flex-direction: row; align-items: center; }
 .hero-topics { margin-top: 25px; }
 .property-stage { width: min(100%,580px); min-height: 510px; margin-inline: auto; }
 .property-stage__top { left: 20px; font-size: 9px; }
 .property-tag strong { font-size: 12px; }
 .property-tag small { font-size: 8px; }
 .property-tag--materials { top: 23%; right: 0; }
 .property-tag--moisture { top: 67%; }
 .featured-tools { padding-block: 65px; }
 .featured-tools-grid { grid-template-columns: 1fr; }
 .featured-tools-grid > a { min-height: 0; padding: 30px; }
 .featured-tools-grid > a::before { margin-bottom: 16px; }
 .featured-tools-grid h3 { max-width: none; margin-top: 12px; }
 .section { padding-block: 70px; }
 .topic-grid { gap: 22px; }
 .topic-card { display: block; }
 .credential-grid { grid-template-columns: 1fr 1fr; }
 .credential-grid > div,.credential-grid > div:first-child,.credential-grid > div:nth-child(3) { min-height: 120px; padding: 24px 18px; border: 0; border-bottom: 1px solid var(--line); }
 .credential-grid strong { font-size: 21px; }
 .service-grid { grid-template-columns: 1fr 1fr; gap: 18px; }
 .service-card { padding: 26px; }
 .service-card h3 { font-size: 24px; }
 .split-heading { gap: 24px; }
 .report-spotlight { grid-template-columns: 1fr 1fr; gap: 25px; padding: 45px 35px; margin-bottom: 65px; }
 .report-spotlight h2 { font-size: 37px; }
 .report-stack { width: 85%; }
 .report-stack__label { left: -25px; font-size: 7px; padding: 12px; }
 .home-project-paths { padding-bottom: 65px; }
 .about-layout,.request-layout { grid-template-columns: 1fr; gap: 40px; }
 .request-intro { position: static; }
 .contact-section { padding-block: 70px; }
 .request-form { padding: 30px; }
 .service-panels > section { padding: 28px; }
 .guide-hero { padding-block: 40px 50px; }
 .guide-hero h1 { font-size: clamp(37px,7vw,54px); }
 .detail-cta__layout { gap: 35px; }
 .footer-layout { grid-template-columns: 1fr; gap: 25px; }
 .footer-layout > div { justify-self: start; text-align: left; }
}
@media (max-width:540px) {
 .site-header { position: relative; }
 .site-header .brand-link { width: 175px; gap: 8px; padding-block: 14px; }
 .brand-tagline { font-size: 7.4px; }
 .button--nav { padding-inline: 12px; font-size: 11px; min-height: 40px; }
 .header-inner { gap: 4px 14px; }
 .desktop-nav { gap: 3px 17px; padding-bottom: 13px; font-size: 12px; }
 .desktop-nav > a,.resource-menu > summary { padding-block: 7px; }
 .resource-menu-panel { left: 15px; right: 15px; width: auto; top: 100%; gap: 15px; }
 .hero-layout { padding-block: 45px; gap: 18px; }
 .hero h1 { font-size: clamp(38px,10vw,53px); }
 .hero .eyebrow { font-size: 8px; margin-bottom: 24px; }
 .hero-lede { font-size: 14px; margin-top: 23px; }
 .hero-actions { gap: 22px; margin-top: 26px; }
 .hero-actions .button { width: auto; font-size: 12px; padding-inline: 18px; }
 .hero-actions .text-link { font-size: 12px; }
 .hero-contact { font-size: 11px; }
 .hero-topics { gap: 6px; }
 .hero-topics span { font-size: 9px; padding: 4px 8px; }
 .property-stage { min-height: 385px; margin-top: 8px; }
 .property-stage__model { inset: 15px -12px 25px; }
 .property-stage__top { left: 4px; right: 4px; font-size: 7px; }
 .property-stage__top > span:last-child { font-size: 18px; }
 .property-tag { padding: 9px; gap: 7px; border-radius: 6px; }
 .property-tag strong { font-size: 8px; }
 .property-tag small { font-size: 6px; }
 .property-tag__dot { width: 5px; height: 5px; flex-basis: 5px; box-shadow: 0 0 0 3px #bb000e0b; }
 .property-tag b { font-size: 12px; margin-left: 0; }
 .property-tag--materials { top: 25%; right: 0; }
 .property-tag--moisture { top: 66%; left: 0; }
 .property-stage__bottom { left: 6px; right: 6px; font-size: 9px; bottom: 0; padding-top: 12px; }
 .property-stage__bottom a { gap: 10px; }
 .client-carousel-heading h2 { font-size: 13px; }
 .client-carousel-toggle { font-size: 10px; }
 .client-logo { width: 170px; flex-basis: 170px; }
 .client-logo img { width: 125px; height: 60px; }
 .client-logo span { font-size: 10px; }
 .featured-tools h2,.section-heading h2,.about-main h2,.home-project-paths h2 { font-size: 34px; }
 .service-grid { grid-template-columns: 1fr; }
 .service-card { min-height: 0; padding: 28px; }
 .service-card__meta { margin-bottom: 27px; }
 .service-card h3 { font-size: 27px; }
 .report-spotlight { grid-template-columns: 1fr; padding: 35px 28px 50px; gap: 42px; }
 .report-spotlight h2 { font-size: 40px; }
 .report-stack { width: 65%; max-width: 280px; }
 .report-stack__label { font-size: 7px; left: -22px; right: -20px; }
 .report-spotlight__copy > p:not(.eyebrow) { max-width: none; }
 .credential-grid strong { font-size: 19px; }
 .credential-grid span { font-size: 10px; }
 .request-form { padding: 24px; }
 .request-intro h2 { font-size: 36px; }
 .request-layout { gap: 35px; }
 .qualification-row { display: flex; }
 .insurance-card { padding: 30px; }
 .leadership-notes { gap: 20px; }
 .leadership-notes h3 { font-size: 20px; }
 .guide-hero h1 { font-size: 38px; }
 .guide-deck { font-size: 15px; }
 .report-library-card { padding: 20px; gap: 20px; }
 .report-library-card h3 { font-size: 23px; }
 .report-cover-preview { padding: 7px; }
 .mobile-contact { background: #ffffffed; backdrop-filter: blur(16px); }
 .mobile-contact a { border-radius: 7px; box-shadow: 0 3px 4px #4411220b; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior: auto; }
 *,*::before,*::after { animation: none !important; transition: none !important; }
 .property-stage__model,.property-tag,.property-roof { transform: none !important; }
 .depth-arrived { translate: none !important; }
}
@media print {
 .property-stage,.hero-topics { display: none; }
 .hero,.contact-section,.guide-hero,.detail-cta { background: #fff; color: #111; }
 .hero-layout { display: block; }
 .report-stack__sheet,.report-cover-preview img { transform: none; }
 .report-stack__sheet--back,.report-stack__sheet--middle,.report-stack__label { display: none; }
 .report-stack__sheet--front { position: static; height: auto; }
 .depth-arrived { animation: none; translate: none; }
}

/* Full service content, search, and bilingual report support. */
.service-context,.service-preparation { display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-block:50px 70px; }
.service-context > div:last-child,.service-preparation > div:last-child { background:#fff;padding:32px;border:1px solid #d1d1d1;border-radius:12px;box-shadow:var(--surface-shadow); }
.service-context h3,.service-preparation h3 { font:600 21px/1.3 Arial,sans-serif;letter-spacing:-.025em;margin-top:0; }
.service-context p,.service-preparation p { color:var(--slate);line-height:1.85; }
.service-context li { padding-bottom:14px;color:var(--slate); }
.service-context ul { padding-left:20px; }
.service-context .inline-link { font-size:13px; }
.service-intro { max-width:100%; }
.page-jump-nav { display:flex;flex-wrap:wrap;gap:12px;padding-block:26px;border-bottom:1px solid var(--line); }
.page-jump-nav a { padding:9px 14px;border:1px solid #cbcbcb;border-radius:5px;background:white;box-shadow:0 3px 0 #d0d0d0;font-size:12px;font-weight:600; }
.page-jump-nav a:active { transform:translateY(2px);box-shadow:0 1px 0 #d0d0d0; }
.service-reading [id] { scroll-margin-top:160px; }
.service-process li { position:relative;box-shadow:inset 0 -5px 0 #d6d6d6; }
.report-orientation { display:grid;grid-template-columns:1fr 1.3fr;gap:50px;padding:40px;margin-block:35px;background:#e9e9e9;border:1px solid #cbcbcb;border-radius:12px;box-shadow:0 5px 0 #cbcbcb; }
.report-orientation h2 { font:500 34px/1.15 Arial,sans-serif;letter-spacing:-.04em;margin:0 0 20px; }
.report-orientation p,.report-orientation li { color:var(--slate);font-size:15px;line-height:1.8; }
.report-orientation ol { margin:0;padding-left:20px; }
.report-orientation li { padding-left:10px;margin-bottom:20px; }
.report-orientation strong,.report-orientation span { display:block; }
.report-orientation strong { color:var(--ink); }
.report-page-tabs a { box-shadow:0 4px 0 #c0c0c0;transition:transform .2s,box-shadow .2s; }
.report-page-tabs a[aria-current] { transform:translateY(3px);box-shadow:0 1px 0 #87000b; }
.report-page-panel:not([hidden]) { animation:report-depth .35s ease; }
@keyframes report-depth { from {opacity:.6;transform:perspective(1200px) rotateY(2deg) translateY(8px);}to{opacity:1;transform:none;} }
.report-field-note.is-highlighted { transform:translateX(-5px);box-shadow:5px 5px 0 #c6c6c6,0 15px 25px #1c1c1c10; }
.county-map-panel { padding:24px;background:white;border:1px solid #d2d2d2;border-radius:14px;box-shadow:var(--surface-shadow); }
.california-map a[aria-current] path { filter:drop-shadow(2px 4px 2px #56243350); }
.county-topic[open] { box-shadow:0 5px 0 #d6d6d6,0 16px 25px #1b1b1b09; }
.term-popover { border:1px solid #bababa;box-shadow:0 6px 0 #9f9f9f,0 30px 80px #0e0e0e45; }
.term-popover:popover-open { animation:report-depth .25s ease; }
.field input:focus,.field select:focus,.field textarea:focus { box-shadow:0 3px 0 #c6c6c6,0 7px 18px #2d2d2d12;transform:translateY(-2px); }
.search-trigger svg { flex:0 0 auto; }
.site-search { max-width:800px;margin-top:32px; }
.site-search label { display:block;font-size:13px;font-weight:700;margin-bottom:9px; }
.site-search > div { display:flex;gap:10px; }
.site-search input { width:100%;min-width:0;padding:17px 19px;font:16px/1.4 Arial,sans-serif;border:1px solid #afafaf;border-radius:8px;box-shadow:0 4px 0 #c4c4c4,0 10px 18px #23232311;background:#fff; }
.search-directory { padding-block:35px 85px; }
.search-group { margin-bottom:50px; }
.search-group h2 { font:500 32px/1.2 Arial,sans-serif;letter-spacing:-.03em; }
.search-results-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px; }
.search-result { display:block;position:relative;padding:28px;background:white;border:1px solid #cdcdcd;border-radius:11px; }
.search-result > span { font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#7d7d7d; }
.search-result h3 { font:500 23px/1.2 Arial,sans-serif;letter-spacing:-.035em;margin:15px 0; }
.search-result p { font-size:14px;line-height:1.7;color:var(--slate); }
.search-result > b { display:block;text-align:right;color:var(--gold); }
.search-empty { padding:30px;background:#fff;border:1px solid var(--line);border-radius:10px; }
.localized-report { display:block;position:relative;line-height:0; }
.localized-report > img { width:100%;height:auto;display:block; }
.report-translation-overlay { position:absolute;inset:0;width:100%;height:100%;pointer-events:none; }
[data-report-language="en"] > .report-translation-overlay { display:none; }
.report-cover-preview .localized-report { transform:rotateY(-10deg) rotateZ(-3deg);box-shadow:4px 5px 0 #c2c2c2,7px 10px 17px #19191920;transition:transform .25s; }
.report-cover-preview .localized-report > img { transform:none;box-shadow:none; }
.report-library-card:hover .report-cover-preview .localized-report { transform:none; }
.localized-report.report-stack__sheet--front > img { height:100%;object-fit:cover; }
@media print {.report-cover-preview .localized-report{transform:none;}}


/* Clearer composition: stable type and navigation, photography, restrained depth. */
:root { --paper:#f7f6f4; --surface-shadow:0 12px 32px #2222220b; }
body { background:var(--paper); }
.site-header { position:sticky;top:0;width:100%;margin:0;border:0;border-bottom:1px solid #dedede;border-radius:0;box-shadow:none;background:#fff; }
.header-inner { position:relative;min-height:98px;grid-template-columns:auto minmax(0,1fr) auto;gap:24px; }
.site-header .brand-link { width:205px;padding-block:16px; }
.desktop-nav { gap:19px;font-size:13px; }
.desktop-nav .search-trigger { display:inline-flex;gap:6px;align-items:center; }
.resource-menu-panel { border-radius:6px;box-shadow:0 18px 40px #22222220; }
.hero { margin:0;padding:0;overflow:hidden;background:#202020; }
.hero::before,.hero-grid { display:none; }
.hero-layout { min-height:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;padding-block:64px;align-items:center; }
.hero-copy { padding:0; }
.hero .eyebrow { margin-bottom:24px; }
.hero h1 { font-size:clamp(40px,4.2vw,60px);line-height:1.08;letter-spacing:-.045em; }
.hero h1 em { color:#eee8e6; }
.hero-lede { font-size:16px;line-height:1.8;margin-top:24px; }
.hero-actions { flex-wrap:wrap;gap:18px;margin-top:28px; }
.hero-actions .text-link { font-size:14px; }
.hero-contact { font-size:13px; }
.hero-topics { gap:10px 18px;margin-top:28px;max-width:480px; }
.hero-topics a { font-size:12px;line-height:1.6;color:#d4d4d4;border-bottom:1px solid #ffffff30; }
.hero-topics a:hover { color:#fff;border-color:#e35b65; }
.hero-gallery { min-width:0;position:relative;background:#fff;border:1px solid #ffffff4a;border-radius:10px;box-shadow:10px 12px 0 #ffffff07,0 20px 45px #0003;overflow:hidden;color:var(--ink); }
.hero-photo { margin:0; }
.hero-photo[hidden] { display:none !important; }
.hero-photo__image { position:relative;aspect-ratio:1.45;overflow:hidden;background:#333; }
.hero-photo__image img { display:block;width:100%;height:100%;object-fit:cover; }
.hero-photo__credit { position:absolute;bottom:12px;left:12px;background:#171717d9;color:#fff;font-size:10px;line-height:1.5;padding:5px 9px;border-radius:3px; }
.hero-photo__caption { display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px;min-height:136px;background:#fff; }
.hero-photo__caption > div > span { display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#737373; }
.hero-photo__caption h3 { font:500 clamp(24px,2.2vw,30px)/1.15 Arial,sans-serif;letter-spacing:-.03em;margin:10px 0 0;max-width:270px; }
.hero-photo__link { display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0;font-size:11px;font-weight:600;color:#9d0010; }
.hero-photo__link span { max-width:60px;line-height:1.5; }
.hero-photo__link b { display:grid;place-items:center;width:38px;height:38px;font-size:22px;border:1px solid #d8d8d8;border-radius:50%;font-weight:400; }
.hero-gallery__controls { display:flex;align-items:center;gap:16px;padding:12px 20px;border-top:1px solid #e5e5e5;background:#f8f8f7; }
.hero-gallery__choices { display:flex;gap:3px; }
.hero-gallery__choices button { position:relative;width:34px;height:38px;border:0;background:transparent;color:#777;cursor:pointer;font:600 10px/1 Arial,sans-serif; }
.hero-gallery__choices button::after { content:'';position:absolute;bottom:3px;left:8px;right:8px;height:2px;background:#d4d4d4; }
.hero-gallery__choices button[aria-pressed="true"] { color:#ad0010; }
.hero-gallery__choices button[aria-pressed="true"]::after { background:#ad0010; }
.hero-gallery__count { color:#888;font-size:10px;white-space:nowrap; }
.hero-gallery__actions { display:flex;gap:5px;margin-left:auto; }
.hero-gallery__actions button { display:grid;place-items:center;min-width:38px;min-height:38px;background:#fff;color:#444;border:1px solid #dedede;border-radius:4px;font:15px/1.3 Arial,sans-serif;cursor:pointer; }
.hero-gallery__actions [data-gallery-play] { font-size:10px;padding:6px 9px;min-width:83px; }
.hero-gallery button:hover,.hero-photo__link:hover b { background:#eee; }
.hero-gallery button:focus-visible,.hero-photo__link:focus-visible { outline:2px solid #bb000e;outline-offset:2px; }
.hero-gallery.is-gallery-ready .hero-photo:not([hidden]) .hero-photo__image img { animation:photo-reveal .45s ease-out both; }
@keyframes photo-reveal { from {opacity:.6;}to {opacity:1;} }
.learn-home,.about-section { margin:0;border-radius:0;box-shadow:none;background:#eeece9; }
.credential-strip { margin-top:0; }
.contact-section { margin-top:0; }
.section { padding-block:80px; }
.featured-tools { padding-block:72px; }
.featured-tools-grid > a,.service-card,.insurance-card,.report-library-card { box-shadow:var(--surface-shadow);background:#fff;border-radius:8px; }
.featured-tools-grid > a { min-height:240px;padding:28px; }
.featured-tools-grid > a::before { height:2px;margin-bottom:18px;box-shadow:none; }
.service-card__meta b { transform:none;box-shadow:none;background:transparent;border:0;border-radius:0;min-width:0;height:auto;padding:0;font-size:13px; }
.service-card:hover .service-card__meta b { transform:none; }
.report-spotlight { background:#eae8e5;border-radius:10px;box-shadow:none; }
.request-form { background:#fff;box-shadow:0 20px 50px #0002; }
.guide-hero { margin:0;padding-block:48px 60px;background:#eeece9;border-bottom:1px solid #ddd;box-shadow:none; }
.guide-hero::after { display:none; }
.reading { padding:0;background:transparent;border:0;box-shadow:none; }
.service-context > div:last-child,.service-preparation > div:last-child { box-shadow:none; }
.page-jump-nav a { box-shadow:none;font-size:13px; }
.service-process li { box-shadow:none; }
.report-orientation { box-shadow:none;background:#eeece9; }
.report-page-tabs a { box-shadow:none; }
.report-page-tabs a[aria-current] { transform:none;box-shadow:none; }
.report-page-panel:not([hidden]) { animation:none; }
.report-field-note.is-highlighted { transform:none;box-shadow:none; }
.field input:focus,.field select:focus,.field textarea:focus { transform:none;box-shadow:0 0 0 2px #bb000e22; }
.site-search input { box-shadow:none; }
.search-results-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.topic-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.topic-card { display:flex;flex-direction:column;box-shadow:var(--surface-shadow);border-radius:8px; }
.topic-card p { flex:1; }
.topic-card .topic-link { margin-top:auto; }
@media(max-width:1200px) {
 .header-inner { grid-template-columns:1fr auto;gap:0 24px; }
 .desktop-nav { grid-row:2;grid-column:1/-1;justify-content:center;flex-wrap:wrap;padding-bottom:12px;gap:0 26px; }
 .hero-layout { gap:36px; }
 .hero h1 { font-size:clamp(38px,4.6vw,54px); }
 .hero-gallery__count { display:none; }
}
@media(max-width:800px) {
 .site-header { position:relative; }
 .shell { width:calc(100% - 40px); }
 .hero-layout { grid-template-columns:1fr;gap:36px;padding-block:44px 52px; }
 .hero-copy { max-width:650px; }
 .hero h1 { font-size:clamp(40px,7vw,58px); }
 .hero-gallery { width:100%;max-width:620px;justify-self:center; }
 .hero-photo__image { aspect-ratio:1.7; }
 .hero-photo__caption { min-height:112px; }
 .hero-gallery__count { display:inline; }
 .topic-grid { grid-template-columns:1fr; }
 .topic-card { display:grid;grid-template-columns:1fr; }
 .topic-card .topic-link { margin-top:0; }
 .service-context,.service-preparation,.report-orientation { grid-template-columns:1fr;gap:24px; }
 .service-context,.service-preparation { margin-block:38px; }
 .report-orientation { padding:28px; }
 .search-results-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .section,.featured-tools { padding-block:58px; }
 .resource-menu { position:static; }
 .resource-menu-panel { left:0;right:0;top:100%;width:auto;transform:none; }
 .guide-hero { padding-block:38px 44px; }
 .service-reading [id] { scroll-margin-top:24px; }
}
@media(max-width:540px) {
 .site-header .brand-link { width:165px; }
 .header-inner { gap:0 10px; }
 .header-inner > .button { min-height:42px;padding-inline:12px;font-size:12px; }
 .desktop-nav { gap:0 20px;font-size:13px;justify-content:center; }
 .desktop-nav > a,.resource-menu > summary { padding-block:9px; }
 .resource-menu-panel { grid-template-columns:1fr;gap:16px;max-height:65vh;overflow-y:auto;padding:22px; }
 .hero h1 { font-size:40px; }
 .hero-lede { font-size:16px; }
 .hero-topics { gap:8px 14px; }
 .hero-photo__image { aspect-ratio:1.3; }
 .hero-photo__caption { padding:20px;min-height:140px;gap:12px; }
 .hero-photo__caption h3 { font-size:26px; }
 .hero-photo__link { flex-direction:column-reverse;gap:4px;text-align:center; }
 .hero-photo__link span { font-size:10px; }
 .hero-gallery__controls { padding:10px 12px;gap:5px; }
 .hero-gallery__count { display:none; }
 .hero-gallery__choices button { width:30px; }
 .hero-gallery__actions { gap:4px; }
 .hero-gallery__actions button { min-width:34px; }
 .hero-gallery__actions [data-gallery-play] { min-width:80px; }
 .hero-contact { line-height:1.7; }
 .search-results-grid { grid-template-columns:1fr; }
 .service-context > div:last-child,.service-preparation > div:last-child { padding:24px; }
 .page-jump-nav { gap:8px; }
 .page-jump-nav a { padding:8px 11px;font-size:12px; }
 .site-search input { font-size:16px;padding:12px; }
 .site-search .button { padding-inline:12px;font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .hero-gallery .hero-photo .hero-photo__image img { animation:none !important; } }
@media print { .hero-gallery__controls,.page-jump-nav { display:none; }.hero-gallery { box-shadow:none; }.hero-layout { display:block; }.hero-topics { display:none; } }

/* Modern office: a visual environment behind ordinary, direct navigation. */
.office-hero { position:relative;isolation:isolate;background:#333e41;min-height:620px; }
.office-scene { position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none; }
.office-scene canvas { width:100%;height:100%;display:block;opacity:0;transition:opacity .5s ease; }
.office-scene.is-office-ready canvas { opacity:1; }
.office-fallback { position:absolute;inset:0;background:linear-gradient(105deg,#344145,#7b9091 62%,#dbe1de); }
.office-scene.is-office-ready .office-fallback { display:none; }
.office-shade { position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#172024ed 0%,#172024dc 26%,#17202493 46%,#17202416 72%,transparent);pointer-events:none; }
.office-hero .hero-layout { position:relative;z-index:2;display:block;min-height:620px;padding-block:82px 90px;pointer-events:none; }
.office-hero .hero-copy { max-width:560px;pointer-events:auto; }
.office-hero h1 { font:500 clamp(42px,4.5vw,64px)/1.08 Arial,sans-serif;letter-spacing:-.05em; }
.office-hero h1 em { font:inherit;font-style:normal;letter-spacing:inherit;color:#fff;padding-top:5px; }
.office-hero .hero-lede { max-width:465px;color:#dfe3e4;font-size:16px;line-height:1.8; }
.office-hero .hero-contact { color:#c5cdcf; }
.office-hero .hero-contact a { color:#fff; }
.office-hero .eyebrow { color:#f0d5d8; }
.office-controls { position:absolute;right:28px;bottom:24px;z-index:3;display:flex;align-items:center;gap:8px;color:#fff; }
.office-controls label,.office-controls button { font:11px/1.4 Arial,sans-serif;color:#fff;background:#202b30db;border:1px solid #ffffff40;border-radius:4px; }
.office-controls label { display:flex;align-items:center;gap:8px;padding:7px 10px; }
.office-controls label > span { font-size:10px; }
.office-controls select { font:inherit;color:#fff;border:0;background:transparent;padding:4px; }
.office-controls select option { color:#222;background:#fff; }
.office-controls button { padding:10px 12px;cursor:pointer; }
.office-concept { position:absolute;bottom:28px;left:36px;z-index:2;font-size:10px;color:#bbc6c8;letter-spacing:.04em; }
.office-services-bar { background:#fff;border-bottom:1px solid #dedfdb; }
.office-services { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding-block:22px; }
.office-services a { font-size:13px;font-weight:600;padding:12px 16px;border-right:1px solid #ddd;text-align:center;color:#333; }
.office-services a:first-child { padding-left:0; }.office-services a:last-child { border:0;padding-right:0; }
.office-services a:hover { color:#a50012; }
.office-services a:focus-visible { outline:2px solid #b50012;outline-offset:-2px; }
.featured-tools-grid > a { border:0;border-top:1px solid #c9cece;border-radius:0;box-shadow:none;background:transparent;min-height:230px;padding:26px 12px; }
.featured-tools-grid > a::before { display:none; }
.featured-tools-grid h3 { font-size:28px; }
.featured-tools-grid > a:hover { transform:translateY(-3px);box-shadow:none;border-color:#b60013;background:#fff8; }
.section-heading h2,.about-main h2,.featured-tools h2 { font-weight:500; }
.service-card { border-radius:5px;box-shadow:0 8px 24px #24343708; }
.service-card:hover { transform:translateY(-4px);box-shadow:0 16px 32px #24343712; }
.service-card__meta { margin-bottom:24px; }
.learn-home { background:#eaeceb; }
.topic-card { padding:0 26px 28px;background:#fff;border:1px solid #d9dddb;overflow:hidden; }
.topic-card .topic-number { margin-top:24px; }
.topic-card > h3 { font-size:27px;margin-block:16px; }
.topic-card > p { font-size:15px; }
.topic-card:hover { transform:translateY(-3px);box-shadow:0 14px 30px #24343712;background:#fff; }
.category-gallery { min-width:0;color:var(--ink); }
.category-gallery--card { margin:0 -26px;border-bottom:1px solid #e2e4e2; }
.category-gallery figure { margin:0; }
.category-gallery figure[hidden] { display:none !important; }
.category-gallery img { display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover; }
.category-gallery figcaption { padding:15px 18px 10px;background:#f5f6f4; }
.category-gallery figcaption p { font:12px/1.6 Arial,sans-serif;color:#59625e;margin:0;min-height:5em; }
.category-gallery figcaption a { display:block;font-size:10px;line-height:1.5;color:#6b726d;margin-top:9px;text-decoration:underline; }
.category-gallery__controls { display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f5f6f4; }
.category-gallery__dots { display:flex;gap:2px; }
.category-gallery__dots button { width:24px;height:32px;padding:0;background:transparent;border:0;cursor:pointer;color:#8b9490;font:600 10px/1 Arial,sans-serif; }
.category-gallery__dots button[aria-pressed="true"] { color:#ac0013;text-decoration:underline;text-underline-offset:5px; }
.category-gallery [data-gallery-count] { font-size:10px;color:#777;white-space:nowrap; }
.category-gallery__actions { display:flex;gap:3px;margin-left:auto; }
.category-gallery__actions button { display:grid;place-items:center;min-width:28px;min-height:32px;padding:5px;border:1px solid #d6dcd7;border-radius:3px;background:#fff;color:#343e37;font:15px/1 Arial,sans-serif;cursor:pointer; }
.category-gallery__actions [data-gallery-play] { font-size:10px;min-width:76px; }
.category-gallery button:focus-visible { outline:2px solid #b50012;outline-offset:2px; }
.category-gallery.is-gallery-ready figure:not([hidden]) img { animation:photo-reveal .35s ease; }
.category-gallery--guide { margin:0 0 28px;border:1px solid #d6dbd7;border-radius:5px;overflow:hidden; }
.category-gallery--guide img { aspect-ratio:3/2;object-fit:contain;background:#e4e8e4; }
.category-gallery--guide figcaption p { min-height:0;font-size:14px; }
.category-gallery--guide .category-gallery__controls { padding:10px 18px; }
.guide-hero { position:relative;background:linear-gradient(110deg,#f4f4f0,#e4e9e7);overflow:hidden; }
.guide-hero::after { display:block;content:'';position:absolute;z-index:0;inset:0 0 0 62%;width:auto;height:auto;transform:skewX(-10deg);border:0;border-left:1px solid #bcc8c855;border-radius:0;box-shadow:50px 0 0 #ffffff35,51px 0 0 #bcc8c855,130px 0 0 #ffffff25,131px 0 0 #bcc8c833;pointer-events:none; }
.guide-hero>.shell { position:relative;z-index:1; }
.guide-hero h1 { max-width:960px; }
.reading { line-height:1.85; }
.guide-sidebar nav { border-radius:5px;box-shadow:0 10px 26px #263a3507; }
.guide-faq details[open],.requirement[open] { background:#f8faf8; }
.report-spotlight { background:#e6eae7;border:0;border-radius:6px; }
.report-stack__sheet--front { transform:rotateY(-9deg) rotateZ(-2deg); }
.report-stack__label { border-radius:4px; }
.request-form,.insurance-card { border-radius:6px; }
@view-transition { navigation:auto; }
::view-transition-old(root),::view-transition-new(root) { animation-duration:.18s; }
@media(min-width:801px) and (max-width:1100px) {
 .office-hero .hero-copy { max-width:475px; }.office-hero h1 { font-size:48px; }
 .office-hero .hero-lede { max-width:420px; }
 .office-services a { font-size:12px;padding-inline:10px; }
 .category-gallery__controls { gap:4px;padding-inline:8px; }
 .category-gallery [data-gallery-count] { display:none; }
}
@media(max-width:800px) {
 .office-hero { padding-bottom:320px;min-height:0;background:#253135; }
 .office-hero .hero-layout { min-height:0;padding-block:44px 40px; }
 .office-hero .hero-copy { max-width:620px; }
 .office-scene { inset:auto 0 0;height:320px; }
 .office-shade { background:linear-gradient(#253135 0%,#253135 45%,#25313500 72%); }
 .office-controls { bottom:14px;right:20px;gap:6px; }
 .office-concept { display:none; }
 .office-services { grid-template-columns:repeat(3,minmax(0,1fr));padding-block:12px; }
 .office-services a { font-size:13px;padding:13px 8px;border:0; }
 .office-services a:first-child,.office-services a:last-child { padding:13px 8px; }
 .category-gallery--card img { aspect-ratio:16/9;max-height:340px; }
 .category-gallery figcaption p { min-height:0; }
 .category-gallery__controls { padding:10px 18px; }
 .featured-tools-grid > a { min-height:0;padding:24px 0; }
 .guide-hero::after { opacity:.5; }
}
@media(max-width:540px) {
 .office-hero h1 { font-size:40px; }
 .office-hero .hero-layout { padding-top:36px; }
 .office-hero .hero-lede { font-size:16px; }
 .office-controls label > span { display:none; }
 .office-controls label { padding:6px; }
 .office-services a { font-size:12px; }
 .topic-card > h3 { font-size:28px; }
 .category-gallery figcaption p { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
 ::view-transition-old(root),::view-transition-new(root) { animation:none; }
 .category-gallery.is-gallery-ready figure:not([hidden]) img { animation:none; }
}
@media print { .office-scene,.office-shade,.office-controls,.office-concept,.office-services-bar,.category-gallery__controls { display:none !important; }.office-hero { padding-bottom:0; }.office-hero .hero-layout { min-height:0;padding:20px 0; }.office-hero .hero-copy { color:#111; }.office-hero h1 em,.office-hero .hero-lede { color:#111; }.category-gallery { break-inside:avoid; } }
.featured-quick-links { display:flex;flex-wrap:wrap;gap:12px 30px;border-top:1px solid #d6dbd8;padding-top:23px;margin-top:10px; }
.featured-quick-links a { font-size:13px;color:#59645f; }
.featured-quick-links a:hover { color:#a50012; }
@media(max-width:540px){.featured-quick-links{flex-direction:column;gap:16px;}}

@font-face{font-family:Inter;src:url('/fonts/Inter.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;}
html{scroll-behavior:smooth;scroll-padding-top:110px;}
.field-site{--field-red:#bb000e;--field-dark:#101010;--field-paper:#fff;--field-line:#dedede;--header-height:88px;background:#fff;color:#111;font-family:Inter,Arial,sans-serif;overflow-x:clip;}
.field-site [hidden]{display:none!important;}
.field-site :is(main,section,nav,form,fieldset,aside,div){min-width:0;}
.field-site :is(h1,h2,h3,h4,button,input,select,textarea){font-family:Inter,Arial,sans-serif;}
.field-site :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #d92635;outline-offset:5px;}
.field-site :is(input,select,textarea){max-width:100%;}
.field-site svg.lucide{display:inline-block;flex:none;vertical-align:middle;}
.field-content:focus{outline:none;}
.field-language-bar{display:flex;justify-content:flex-end;align-items:center;padding:4px 5vw;background:#f7f7f5;border-bottom:1px solid #e9e9e6;}
.field-language-switch{display:flex;gap:3px;padding:3px;border:1px solid #dededb;border-radius:99px;background:#fff;}
.field-language-switch a{display:flex;align-items:center;justify-content:center;min-height:36px;min-width:82px;padding:7px 16px;border-radius:99px;font-size:12px;font-weight:600;line-height:1.4;text-decoration:none;color:#4f4f4f;}
.field-language-switch a:hover{background:#f0f0ee;}
.field-language-switch a[aria-current="page"]{background:#bb000e;color:#fff;}
@media(pointer:coarse){.field-language-switch a{min-height:44px;}}
@media print{.field-language-bar{display:none!important;}}
.field-header{height:var(--header-height);display:flex;align-items:center;gap:30px;padding:0 5vw;background:#fff;color:#111;position:sticky;top:0;z-index:80;border-bottom:1px solid transparent;}
.field-brand{width:236px;display:block;flex:none;container-type:inline-size;}
.field-brand img{display:block;width:100%;height:auto;}
.field-brand-tagline{display:block;width:100%;margin-top:2px;padding-top:4px;border-top:1px solid var(--field-red);color:var(--field-dark);font-size:clamp(7.5px,5cqw,11px);font-weight:550;line-height:1.35;letter-spacing:0;text-align:justify;text-align-last:justify;white-space:nowrap;}
.field-book-compact{display:none;}
.field-header .desktop-nav{display:flex;gap:27px;margin-left:auto;font-size:13px;white-space:nowrap;align-items:center;}
.field-header .desktop-nav>a{font-weight:450;min-height:44px;display:flex;align-items:center;}
.field-header .desktop-nav>a:after{display:none;}
.field-header .resource-menu>summary{font-size:13px;font-weight:450;min-height:44px;display:flex;align-items:center;}
.field-header .resource-menu-panel{top:calc(100% + 16px);background:#fff;color:#222;box-shadow:0 15px 50px #0002;border:1px solid #e5e5e5;border-radius:16px;}
.field-header .resource-menu-panel a{white-space:normal;line-height:1.5;}
.field-header .desktop-nav .language-link{font-size:13px;border-left:1px solid #ddd;padding-left:27px;}
.field-header .search-trigger{width:36px;justify-content:center;}
.field-header .search-trigger>span{display:none;}
.field-book{display:flex;align-items:center;justify-content:center;gap:24px;padding:12px 24px;background:var(--field-red);color:white;font-size:14px;font-weight:550;white-space:nowrap;min-height:46px;border-radius:50px;}
.field-book:hover{background:#95000a;}
.field-mobile-menu{display:none;}
.field-intro{padding:32px 5vw 24px;display:grid;grid-template-columns:2.22fr 1fr;gap:5vw;align-items:end;}
.field-intro h1{font-size:clamp(58px,8.05vw,132px);font-weight:850;line-height:.98;letter-spacing:-.075em;margin:0;}
.field-intro h1 span{display:block;}
.field-intro-copy{padding-bottom:12px;}
.field-intro-copy>p{font-size:clamp(18px,1.48vw,24px);line-height:1.4;letter-spacing:-.025em;color:#555;margin:0 0 25px;max-width:410px;}
.field-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;}
.field-primary{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:48px;padding:12px 24px;background:var(--field-red);color:#fff;border:1px solid var(--field-red);border-radius:50px;font-size:14px;line-height:1.5;font-weight:550;transition:background .2s,transform .2s;}
.field-primary:hover{background:#97000b;transform:translateY(-2px);}
.field-quiet-link{min-height:44px;display:inline-flex;align-items:center;gap:9px;font-size:14px;line-height:1.5;text-decoration:underline;text-decoration-color:#999;text-underline-offset:6px;}
.field-quiet-link:hover{text-decoration-color:#bb000e;}
.field-hero-image{position:relative;width:100%;height:29.2vw;max-height:580px;min-height:280px;overflow:hidden;background:#d4d2c9;}
.field-hero-image picture{display:block;width:100%;height:100%;}
.field-hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% center;transform:scale(var(--hero-scale,1.02)) translateY(var(--hero-shift,0px));will-change:transform;}
.field-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center;opacity:0;pointer-events:none;transition:opacity .45s ease;}
.field-hero-image.has-hero-video .field-hero-video{opacity:1;}
@media(max-width:700px),(prefers-reduced-motion:reduce){.field-hero-image .field-hero-video{display:none;}}
.field-selector{display:flex;align-items:center;gap:3vw;padding:20px 5vw;min-height:112px;background:white;position:relative;}
.field-selector>p{font-size:15px;margin:0;flex:1;}
.field-tabs{display:flex;flex:3;align-items:center;}
.field-tabs button{position:relative;background:none;color:#111;border:0;border-left:1px solid #ddd;font-size:19px;font-weight:450;min-height:48px;padding:10px 2.7vw;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;flex:1;}
.field-tabs button:first-child{border-left:0;}
.field-tabs button:after{content:"";position:absolute;height:2px;bottom:-7px;left:18%;right:82%;background:var(--field-red);transition:right .25s;}
.field-tabs button[aria-selected=true]{color:var(--field-red);font-weight:650;}
.field-tabs button[aria-selected=true]:after{right:18%;}
.field-tabs button:hover{color:var(--field-red);}
.field-motion{margin-left:auto;border:1px solid #999;background:transparent;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#555;flex:none;}
.field-motion:hover{background:#f5f5f5;}
.field-answer{background:#101010;color:#fff;padding:48px 5vw 35px;}
.field-answer-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;padding-bottom:65px;}
.field-answer h2{font-size:clamp(46px,5.2vw,80px);line-height:1.02;letter-spacing:-.065em;font-weight:750;margin:0;}
.field-answer-heading>p{font-size:16px;line-height:1.65;color:#aaa;margin:0 0 3px;}
.field-service-content{border-top:1px solid #ffffff30;overflow-anchor:none;}
.field-concern{display:grid;grid-template-columns:1.1fr 1fr;gap:11vw;padding:50px 0 64px;animation:panel-enter .4s both;}
.field-kicker{font-size:12px;line-height:1.5;font-weight:550;letter-spacing:.03em;margin:0 0 25px;display:flex;gap:20px;align-items:center;}
.field-concern .field-kicker{color:#aaa;}
.field-concern .field-kicker>span{color:#ef4b54;font-size:12px;}
.field-concern h3{font-size:clamp(35px,3.4vw,56px);line-height:1.08;letter-spacing:-.045em;font-weight:700;margin:0 0 18px;}
.field-concern-deck{font-size:17px;line-height:1.65;color:#aaa;max-width:490px;margin:0 0 27px;}
.field-assessment dl{margin:3px 0 20px;display:grid;gap:28px;}
.field-assessment dt{font-size:14px;font-weight:600;margin-bottom:12px;}
.field-assessment dd{font-size:16px;line-height:1.65;color:#aaa;margin:0;max-width:430px;}
.field-assessment dl>div+div{border-top:1px solid #ffffff30;padding-top:27px;}
.field-answer-bottom{border-top:1px solid #ffffff30;padding-top:25px;display:flex;justify-content:space-between;gap:25px;font-size:13px;}
.field-answer-bottom a{display:flex;gap:15px;align-items:center;min-height:44px;}
.field-answer-bottom a:last-child{color:#aaa;flex-wrap:wrap;}
.field-answer-bottom span{display:inline-flex;gap:15px;align-items:center;color:white;}
.field-process{display:grid;grid-template-columns:1fr 1fr;gap:12vw;padding:120px 7vw;align-items:start;}
.field-process-intro{position:sticky;top:150px;}
.field-site .field-process h2,.field-reports h2,.field-next h2{font-size:clamp(42px,4.3vw,67px);line-height:1.06;letter-spacing:-.06em;font-weight:750;margin:0 0 28px;}
.field-process-intro>p:not(.field-kicker),.field-reports-copy>p:not(.field-kicker),.field-next-heading>p:not(.field-kicker){font-size:17px;line-height:1.7;color:#6a6a6a;max-width:460px;margin:0 0 27px;}
.field-process nav{display:grid;margin-top:35px;}
.field-process nav a{font-size:14px;display:flex;gap:18px;min-height:62px;align-items:center;border-bottom:1px solid #dedede;color:#666;transition:color .2s;}
.field-process nav a>span{font-size:11px;font-variant-numeric:tabular-nums;}
.field-process nav a>svg{margin-left:auto;}
.field-process nav a[aria-current=step]{color:#bb000e;}
.field-process-steps article{padding:10px 0 60px;min-height:330px;scroll-margin-top:145px;}
.field-process-steps article+article{border-top:1px solid #dedede;padding-top:45px;}
.field-step-number{font-size:78px;font-weight:700;letter-spacing:-.065em;line-height:1;color:#d9d9d9;transition:color .35s;}
.field-process-steps article.is-active .field-step-number{color:#bb000e;}
.field-process-steps h3{font-size:28px;font-weight:650;line-height:1.15;letter-spacing:-.04em;margin:24px 0 18px;}
.field-process-steps p{font-size:16px;line-height:1.75;color:#666;}
.field-reports{padding:90px 7vw;background:#f5f5f5;display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center;overflow:hidden;}
.field-report-choices{display:inline-flex;gap:4px;background:#e8e8e8;border-radius:40px;padding:4px;margin:10px 0 22px;}
.field-report-choices button{background:none;color:#555;border:0;border-radius:40px;padding:12px 25px;min-height:44px;font-size:14px;cursor:pointer;}
.field-report-choices button[aria-pressed=true]{background:#fff;color:#111;box-shadow:0 2px 5px #0001;}
.field-reports-copy>.field-quiet-link{display:flex;width:fit-content;}
.field-report-stage{perspective:1200px;min-height:510px;display:flex;align-items:center;justify-content:center;}
.field-report-preview{display:block;width:min(100%,340px);transform:rotateY(var(--report-turn,-8deg)) rotateX(3deg);transition:transform .5s;animation:panel-enter .4s both;}
.field-report-preview:hover{transform:rotateY(0) rotateX(0) translateY(-5px);}
.field-report-preview .localized-report{display:block;width:100%;box-shadow:16px 22px 50px #0002;}
.field-report-preview img{display:block;width:100%;height:auto;}
.field-report-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:25px;font-size:14px;}
.field-next{padding:110px 7vw;display:grid;grid-template-columns:1fr 1.1fr;gap:10vw;}
.field-resource-list>a{display:grid;grid-template-columns:20px 1fr 24px;align-items:start;gap:22px;padding:32px 0;border-top:1px solid #ddd;transition:transform .2s;}
.field-resource-list>a:last-child{border-bottom:1px solid #ddd;}
.field-resource-list>a:hover{transform:translateX(5px);}
.field-resource-list>a>span{font-size:11px;color:#bb000e;padding-top:5px;}
.field-resource-list h3{font-size:25px;line-height:1.15;font-weight:650;letter-spacing:-.04em;margin:0 0 12px;}
.field-resource-list p{font-size:14px;line-height:1.6;color:#6a6a6a;margin:0;}
.field-contact{padding:85px 7vw;background:var(--field-red);color:white;display:grid;grid-template-columns:1.2fr 1fr;gap:12vw;align-items:end;}
.field-contact h2{font-size:clamp(54px,6.3vw,100px);font-weight:750;line-height:1;letter-spacing:-.065em;margin:0;}
.field-contact>div:last-child>p{max-width:420px;font-size:17px;line-height:1.7;margin:0 0 26px;color:#f8e2e4;}
.field-primary-light{background:#fff;color:#bb000e;border-color:#fff;}
.field-primary-light:hover{background:#f4e4e5;color:#8e000b;}
.field-phone{display:block;width:fit-content;min-height:44px;font-size:14px;margin-top:16px;padding-top:10px;}
.field-site .site-footer{padding:45px 5vw 25px;background:#fff;}
.field-site .site-footer .shell{width:100%;max-width:none;}
.field-site .site-footer .brand-mark{width:224px;display:block;height:auto;}
.field-site .footer-layout{grid-template-columns:1fr 1fr;}
.field-site .footer-layout>div{justify-self:end;}
.field-site .footer-bottom{gap:25px;flex-wrap:wrap;}
.field-site .footer-links{display:flex;gap:12px 24px;flex-wrap:wrap;}
.field-site .mobile-contact-bar,.field-site .mobile-contact{display:none!important;}
@keyframes panel-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
/* Interior routes retain their full content, with a spacious shared reading surface. */
.field-detail .field-content{min-height:60svh;}
.field-detail .shell{width:min(88%,1320px);}
.field-detail .guide-hero{background:#fff;color:#111;border:0;padding:28px 0 62px;}
.field-detail .guide-hero h1{font:750 clamp(43px,5.4vw,79px)/1.04 Inter,Arial,sans-serif;letter-spacing:-.05em;max-width:1140px;color:#111;}
.field-detail .guide-hero:before,.field-detail .guide-hero:after{display:none;}
.field-detail .guide-hero .eyebrow{color:#bb000e;margin-top:40px;}
.field-detail .guide-hero .breadcrumb,.field-detail .guide-hero .review-date{color:#666;}
.field-detail .guide-hero .breadcrumb a{color:#444;}
.field-detail .guide-deck{font-size:18px;line-height:1.7;max-width:900px;color:#555;margin-top:24px;}
.field-detail .reading-layout{grid-template-columns:230px minmax(0,1fr);gap:70px;}
.field-detail .guide-sidebar{top:calc(var(--header-height) + 24px);}
.field-detail .reading{max-width:920px;}
.field-detail .reading h2,.field-detail .service-reading h2{font-family:Inter,Arial,sans-serif;letter-spacing:-.025em;}
.field-detail .service-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.field-detail .service-card{border-radius:16px;box-shadow:none;background:#fff;min-height:300px;border-color:#d7d9d0;}
.field-detail .service-card:hover{background:#f9f9f5;}
.field-detail .section{padding:75px 0;}
.field-detail .section-heading h1,.field-detail .split-heading h1,.field-detail .request-intro h1,.field-detail .about-section h1{font:750 clamp(42px,5.3vw,76px)/1.05 Inter,Arial,sans-serif;letter-spacing:-.05em;margin:0 0 24px;}
.field-detail .service-card h3{font-family:Inter,Arial,sans-serif;letter-spacing:-.035em;}
.field-detail .topic-card{background:#fff;border-radius:16px;box-shadow:none;}
.field-detail .topic-card h3{font-family:Inter,Arial,sans-serif;}
.field-detail .detail-cta{background:#bb000e;color:white;border-radius:16px;margin-top:70px;}
.field-detail .detail-cta h2{font-family:Inter,Arial,sans-serif;letter-spacing:-.04em;}
.field-detail .detail-cta p{color:#f5d0d3;}
.field-detail .detail-cta .button--gold{background:#fff;color:#a1000b;border-color:#fff;border-radius:16px;}
.field-detail .contact-section{background:#202223;padding:65px 0 80px;}
.field-detail .contact-contour{display:none;}
.field-detail .request-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:65px;}
.field-detail .request-intro{top:calc(var(--header-height) + 40px);}
.field-detail .request-form{border-radius:16px;box-shadow:none;}
.field-detail .request-intro .eyebrow{color:#ef5c67;}
.field-detail .request-note{background:#ffffff08;border-color:#ffffff2b;}
.field-detail .request-note strong{color:#f0f1ec;}
.field-detail .about-layout{gap:70px;}
.field-detail .report-library-grid{gap:24px;}
.field-detail .report-library-card{border-radius:16px;box-shadow:none;}
.field-detail .button{border-radius:16px;}
.field-detail .page-jump-nav{flex-wrap:wrap;}
.field-detail .report-viewer-heading,.field-detail .gallery-controls,.field-detail .category-gallery__controls,.field-detail .category-gallery__actions{flex-wrap:wrap;}

.field-detail .guide-hero{border-radius:0;border-bottom:1px solid #e8e8e8;}
.field-detail .button{background-image:none;border-radius:50px;}
.field-detail .service-card{transition:transform .25s,border-color .25s;}
.field-detail .service-card:hover{transform:translateY(-4px);border-color:#bb000e;}
.field-detail .report-library-card{background:#fff;}
.field-detail .reading h2,.field-detail .section-heading h2,.field-detail .topic-card h3{font-weight:700;letter-spacing:-.04em;}
.field-detail .section-heading h2{font-size:clamp(32px,3.7vw,56px);}
.field-detail .category-gallery{border-radius:12px;overflow:hidden;}
.field-site .report-zoom{min-width:44px;min-height:44px;}

@media(min-width:1700px){.field-intro{padding-block:65px;}.field-selector{padding-block:30px;}}
@media(max-width:1200px){.field-header{gap:20px;padding-inline:4vw;}.field-brand{width:202px;}.field-header .desktop-nav{gap:18px;}.field-header .desktop-nav .language-link{padding-left:18px;}.field-book{gap:15px;padding-inline:18px;}.field-intro{gap:4vw;}.field-intro-copy>p{font-size:18px;}.field-actions{gap:10px 20px;}.field-primary{font-size:13px;padding-inline:20px;}.field-quiet-link{font-size:13px;}.field-tabs button{padding-inline:2vw;}.field-detail .reading-layout{gap:40px;}.field-detail .request-layout{gap:40px;}}
@media(max-width:1000px){.field-header .desktop-nav{gap:15px;}.field-header .search-trigger{display:none!important;}.field-brand{width:170px;}.field-intro{grid-template-columns:1.7fr 1fr;}.field-intro h1{font-size:6.8vw;}.field-tabs button{font-size:17px;gap:12px;}.field-selector{gap:20px;}.field-selector>p{font-size:13px;}.field-detail .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:900px){
 .field-site{--header-height:74px;}.field-header{height:74px;padding:0 5vw;gap:20px;}.field-brand{width:190px;}.field-header .desktop-nav{display:none;}.field-book{margin-left:auto;font-size:12px;min-height:44px;}.field-mobile-menu{display:block;}.field-mobile-menu summary{list-style:none;cursor:pointer;display:flex;gap:10px;align-items:center;justify-content:center;min-height:44px;min-width:44px;font-size:12px;}.field-mobile-menu summary::-webkit-details-marker{display:none;}.field-mobile-menu nav{position:absolute;left:0;right:0;top:73px;max-height:calc(100dvh - 74px);overflow:auto;background:#fff;padding:18px 5vw 24px;border-bottom:1px solid #ccc;box-shadow:0 16px 24px #0001;display:grid;grid-template-columns:1fr 1fr;gap:0 25px;}.field-mobile-menu nav a{display:flex;align-items:center;min-height:54px;border-bottom:1px solid #eee;font-size:14px;}
 .field-intro{padding-block:38px 32px;grid-template-columns:1fr;gap:30px;}.field-intro h1{font-size:clamp(65px,10vw,90px);}.field-intro-copy{display:flex;align-items:center;gap:35px;padding:0;}.field-intro-copy>p{margin:0;flex:1;max-width:400px;}.field-actions{flex:1;gap:15px;}.field-hero-image{min-height:340px;}.field-selector{flex-wrap:wrap;padding:20px 5vw 27px;gap:14px;}.field-selector>p{order:0;flex:1;}.field-motion{order:1;width:44px;height:44px;}.field-tabs{order:2;flex:auto;width:100%;}.field-tabs button{justify-content:center;padding-inline:15px;font-size:18px;}.field-answer-heading{align-items:start;flex-direction:column;gap:25px;}.field-answer-heading>p{font-size:15px;}.field-concern{gap:7vw;}.field-answer-bottom{flex-direction:column;gap:5px;}.field-process{padding:75px 6vw;gap:7vw;}.field-process-intro{top:115px;}.field-process h2,.field-reports h2,.field-next h2{font-size:42px;}.field-process nav a{font-size:12px;gap:12px;}.field-process-steps h3{font-size:25px;}.field-process-intro>p:not(.field-kicker),.field-reports-copy>p:not(.field-kicker),.field-next-heading>p:not(.field-kicker){font-size:15px;}.field-reports{padding:65px 6vw;gap:7vw;}.field-report-stage{min-height:420px;}.field-next{padding:75px 6vw;gap:6vw;}.field-resource-list h3{font-size:23px;}.field-resource-list>a{gap:15px;}.field-contact{padding:65px 6vw;gap:7vw;}.field-contact>div:last-child>p{font-size:15px;}.field-site .footer-layout{grid-template-columns:1fr 1fr;}.field-site .footer-layout>p{display:none;}
 .field-detail .reading-layout{display:block;}.field-detail .guide-sidebar{position:static;}.field-detail .guide-sidebar nav{padding-bottom:15px;}.field-detail .request-layout{grid-template-columns:1fr;gap:35px;}.field-detail .request-intro{position:static;max-width:700px;}.field-detail .request-direct{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;}.field-detail .request-note{max-width:none;}.field-detail .service-context,.field-detail .service-preparation{gap:30px;}.field-detail .report-library-grid{grid-template-columns:1fr;}.field-detail .about-layout{grid-template-columns:1fr;gap:40px;}
 .field-site .category-gallery__controls{flex-wrap:wrap;gap:8px 12px;}.field-site .category-gallery__dots{gap:2px;flex:none;}.field-site .category-gallery__dots button{width:44px;height:44px;min-width:44px;min-height:44px;font-size:12px;}.field-site .category-gallery__actions{flex-wrap:nowrap;gap:5px;margin-left:auto;}.field-site .category-gallery__actions button{min-width:44px;min-height:44px;}.field-site .category-gallery__actions [data-gallery-play]{min-width:96px;font-size:12px;padding:8px 10px;}
 
}
@media(max-width:600px){
 html{scroll-padding-top:90px;}.field-site{--header-height:68px;}.field-header{height:68px;padding:0 5vw;gap:12px;}.field-brand{width:160px;}.field-book-label{display:none;}.field-book-compact{display:inline;}.field-book{padding:10px 15px;min-height:44px;font-size:11px;gap:12px;}.field-book>svg{width:16px;}.field-mobile-menu summary>span{display:none;}.field-mobile-menu nav{top:67px;grid-template-columns:1fr;max-height:calc(100dvh - 68px);}.field-mobile-menu nav a{min-height:49px;}
 .field-intro{padding:32px 6vw 30px;gap:24px;}.field-intro h1{font-size:clamp(44px,10.65vw,63px);letter-spacing:-.055em;line-height:1.04;}.field-intro-copy{display:block;}.field-intro-copy>p{font-size:17px;line-height:1.5;max-width:310px;margin-bottom:22px;}.field-actions{gap:21px;}.field-primary{min-height:46px;font-size:12px;padding:12px 19px;gap:18px;}.field-quiet-link{font-size:12px;}.field-hero-image{height:71.8vw;min-height:0;max-height:420px;}.field-selector{padding:17px 6vw 25px;gap:10px;}.field-selector>p{font-size:13px;}.field-tabs button{font-size:15px;gap:9px;padding:10px 8px;}.field-tabs button>svg{width:14px;}.field-tabs button:after{bottom:-5px;left:12%;right:88%;}.field-tabs button[aria-selected=true]:after{right:12%;}.field-answer{padding:38px 6vw 24px;}.field-answer h2{font-size:42px;letter-spacing:-.06em;}.field-answer-heading{padding-bottom:33px;gap:25px;}.field-answer-heading>p{font-size:14px;}.field-concern{grid-template-columns:1fr;gap:35px;padding:32px 0 35px;}.field-concern h3{font-size:35px;}.field-kicker{font-size:11px;margin-bottom:20px;}.field-concern-deck{font-size:15px;}.field-assessment dt{font-size:13px;}.field-assessment dd{font-size:15px;}.field-assessment dl{gap:20px;}.field-assessment dl>div+div{padding-top:20px;}.field-answer-bottom{font-size:12px;padding-top:20px;}.field-answer-bottom a:last-child{gap:4px 12px;}.field-answer-bottom a>span{min-height:44px;}
 .field-process{grid-template-columns:1fr;padding:65px 6vw 35px;gap:40px;}.field-process-intro{position:static;}.field-site .field-process h2,.field-reports h2,.field-next h2{font-size:40px;letter-spacing:-.055em;margin-bottom:22px;}.field-process nav{margin-top:25px;}.field-process nav a{font-size:13px;min-height:55px;}.field-process-steps article{min-height:0;padding-bottom:40px;scroll-margin-top:100px;}.field-process-steps article+article{padding-top:35px;}.field-step-number{font-size:65px;}.field-process-steps h3{font-size:27px;margin-top:19px;}.field-process-steps p{font-size:15px;}.field-reports{grid-template-columns:1fr;padding:55px 6vw;gap:35px;}.field-report-stage{min-height:0;padding-inline:22px;}.field-report-preview{max-width:280px;}.field-report-choices{margin-top:0;margin-bottom:15px;}.field-report-choices button{font-size:13px;padding-inline:22px;}.field-report-caption{font-size:13px;}.field-next{grid-template-columns:1fr;padding:60px 6vw;gap:30px;}.field-resource-list>a{padding-block:25px;}.field-resource-list p{font-size:13px;}.field-contact{grid-template-columns:1fr;gap:30px;padding:55px 6vw;}.field-contact h2{font-size:57px;}.field-contact>div:last-child>p{font-size:15px;}.field-phone{font-size:13px;}.field-site .site-footer{padding:35px 6vw 25px;}.field-site .site-footer .brand-mark{width:min(176px,100%);}.field-site .footer-layout{gap:20px;}.field-site .footer-layout>div{font-size:11px;}.field-site .footer-bottom{font-size:10px;margin-top:28px;gap:20px;}.field-site .footer-links{gap:12px 19px;}
 .field-detail .shell{width:88%;}.field-detail .guide-hero{padding:22px 0 38px;}.field-detail .guide-hero .eyebrow{margin-top:28px;}.field-detail .guide-hero h1{font-size:40px;}.field-detail .guide-deck{font-size:15px;margin-top:20px;}.field-detail .section{padding:45px 0;}.field-detail .section-heading h1,.field-detail .split-heading h1,.field-detail .request-intro h1,.field-detail .about-section h1{font-size:40px;}.field-detail .service-grid{grid-template-columns:1fr;}.field-detail .service-card{min-height:0;padding:28px;}.field-detail .service-context,.field-detail .service-preparation,.field-detail .service-panels{grid-template-columns:1fr;}.field-detail .contact-section{padding:40px 0 50px;}.field-detail .request-form{padding:24px 20px;}.field-detail .request-intro>p:not(.eyebrow):not(.request-note){font-size:15px;}.field-detail .request-direct{display:grid;}.field-detail .request-note{font-size:12px;}.field-detail .detail-cta{margin-top:40px;}.field-detail .detail-cta h2{font-size:36px;}.field-detail .report-library-card{grid-template-columns:100px minmax(0,1fr);}.field-detail .report-example dl>div{grid-template-columns:1fr;}.field-detail .report-library-card h2{font-size:23px;}.field-detail .california-explorer,.field-detail .requirements-grid,.field-detail .finder-layout,.field-detail .project-path,.field-detail .report-tour-layout,.field-detail .authentic-report-layout{grid-template-columns:1fr;}.field-detail .report-tour{position:static;}
 .field-site.field-motion-paused .field-report-preview{transform:none;}
}
@media(max-width:380px){.field-brand{width:150px;}.field-header{gap:6px;}.field-book{padding-inline:12px;}.field-header .field-book>svg{display:none;}.field-intro h1{font-size:9.9vw;}.field-tabs button{gap:5px;font-size:14px;padding-inline:5px;}.field-answer h2{font-size:37px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}.field-site *,.field-site *:before,.field-site *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important;}.field-hero-image img,.field-report-preview{transform:none!important;}}
.field-motion-paused *{scroll-behavior:auto!important;animation:none!important;}.field-motion-paused .field-hero-image img,.field-motion-paused .field-report-preview{transform:none!important;}
@media print{.field-header,.field-hero-image,.field-motion{display:none!important;}.field-process-intro{position:static;}.field-concern[hidden]{display:grid!important;}.field-answer,.field-contact{background:#fff;color:#000;}}
/* Inspection gallery: images have their own stage; every label stays below it. */
.field-photo-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .85s ease,visibility .85s;pointer-events:none;}
.field-photo-slide.is-current{opacity:1;visibility:visible;}
.field-photo-slide:not([data-photo-slide=lead]) img{object-position:50% center;}
.field-gallery-bar{padding:15px 5vw;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid #e2e2e2;background:#f7f7f5;}
.field-photo-caption p{display:flex;align-items:center;flex-wrap:wrap;gap:8px 15px;margin:0;font-size:13px;line-height:1.5;color:#646464;}
.field-photo-caption strong{font-weight:650;color:#151515;}
.field-photo-count{font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.08em;color:#888;margin-right:8px;}
.field-gallery-controls{display:flex;align-items:center;gap:24px;flex-shrink:0;}
.field-photo-choices{display:flex;gap:7px;}
.field-photo-choices button{position:relative;width:64px;min-height:44px;border:0;border-radius:5px;padding:3px;background:transparent;cursor:pointer;opacity:.55;transition:opacity .2s,transform .2s;}
.field-photo-choices button:hover{opacity:1;transform:translateY(-2px);}
.field-photo-choices button[aria-pressed=true]{opacity:1;}
.field-photo-choices img{display:block;width:100%;height:35px;object-fit:cover;border-radius:3px;}
.field-photo-progress{position:absolute;bottom:-3px;left:3px;right:3px;height:2px;background:transparent;overflow:hidden;}
.field-photo-choices button[aria-pressed=true] .field-photo-progress{background:#d4b1b4;}
.field-photo-choices button[aria-pressed=true] .field-photo-progress:after{content:"";display:block;height:100%;background:#bb000e;transform-origin:left;}
.is-rotating .field-photo-choices button[aria-pressed=true] .field-photo-progress:after{animation:photo-progress 6.5s linear both;}
.field-photo-actions{display:flex;gap:5px;align-items:center;}
.field-gallery .field-motion,.field-photo-arrow{width:42px;height:42px;min-height:42px;border:1px solid #d5d5d5;border-radius:50%;background:transparent;color:#222;display:grid;place-items:center;cursor:pointer;margin:0;order:0;}
.field-gallery .field-motion:hover,.field-photo-arrow:hover{background:#fff;border-color:#888;}
.field-photo-prev svg{transform:rotate(180deg);}
@keyframes photo-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:1000px){.field-gallery-bar{flex-wrap:wrap;gap:14px;}.field-gallery-controls{flex:1;justify-content:flex-end;gap:16px;}.field-photo-caption p{gap:7px 10px;}}
@media(max-width:600px){.field-gallery-bar{padding:17px 6vw 19px;gap:15px;}.field-photo-caption,.field-gallery-controls{width:100%;}.field-gallery-controls{justify-content:space-between;gap:10px;}.field-photo-choices{gap:4px;}.field-photo-choices button{width:47px;}.field-photo-choices img{height:32px;}.field-gallery .field-motion,.field-photo-arrow{width:36px;height:44px;min-height:44px;border:0;}.field-photo-actions{gap:1px;}.field-photo-caption p{font-size:12px;}.field-photo-count{margin-right:3px;}.field-photo-slide[data-photo-slide=asbestos] img{object-position:52% center;}.field-selector{padding-block:23px 27px;}.field-gallery .field-hero-image img{transform:scale(1.02);}}
@media(prefers-reduced-motion:reduce){.field-photo-slide{transition:none;}}
@media print{.field-gallery{display:none;}}
/* The homepage map is a linked preview; county interaction lives in the full explorer. */
.field-location{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:6vw;align-items:center;padding:90px 7vw;background:#141414;color:#fff;}
.field-location h2{font-size:clamp(40px,4.2vw,66px);line-height:1.06;letter-spacing:-.06em;font-weight:750;margin:0 0 25px;}
.field-location-copy>p:not(.field-kicker){color:#bdbdbd;max-width:480px;font-size:16px;line-height:1.75;margin:0 0 28px;}
.field-location .field-kicker{color:#ccc;}
.field-location a:focus-visible{outline:3px solid #f07b87;outline-offset:5px;}
.field-location-map{display:block;text-decoration:none;color:inherit;cursor:pointer;transition:border-color .2s,box-shadow .2s;position:relative;min-width:0;max-width:540px;width:100%;justify-self:center;border:1px solid #3c3c3c;border-radius:24px;background:radial-gradient(ellipse at 10% 100%,#bb000e14,transparent 48%),radial-gradient(ellipse at 40% 30%,#383838 0,#252525 47%,#171717 100%);padding:22px 26px 24px;box-shadow:inset 0 3px 0 var(--field-red),0 25px 65px -32px #000c;}
.field-location-map:hover,.field-location-map:focus-visible{border-color:var(--field-red);box-shadow:inset 0 3px 0 var(--field-red),0 25px 65px -32px #000c;}
.field-map-topline{display:flex;justify-content:space-between;gap:16px;color:#d0d0d0;font-size:11px;letter-spacing:.06em;padding-bottom:6px;}
.field-map-topline>span:first-child{font-weight:650;}
.field-location-visual{pointer-events:none;position:relative;height:420px;isolation:isolate;touch-action:pan-y;}
.field-location-visual>svg{display:block;width:100%;height:100%;filter:drop-shadow(0 12px 15px #0005);}
.field-location-map path{fill:#f5f5f5;stroke:#626262;stroke-width:.9;vector-effect:non-scaling-stroke;transition:fill .25s;}
.field-map-caption{border-top:1px solid #ffffff24;padding-top:20px;}
.field-map-caption strong{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:23px;line-height:1.25;letter-spacing:-.035em;font-weight:600;color:#fff;}
.field-map-caption strong>svg{flex:none;background:var(--field-red);color:#fff;padding:11px;width:42px;height:42px;border-radius:50%;}
.field-map-caption p{font-size:12px;line-height:1.6;color:#bcbcbc;margin:7px 0 0;}
@media(max-width:1000px){.field-location{gap:4vw;padding:70px 5vw;}.field-location-map{padding-inline:19px;}.field-location-visual{height:360px;}.field-location h2{font-size:42px;}}
@media(max-width:700px){.field-location{grid-template-columns:1fr;padding:58px 6vw;gap:34px;}.field-location h2{font-size:clamp(36px,7.5vw,48px);}.field-location-copy>p:not(.field-kicker){font-size:15px;}.field-location-map{max-width:500px;padding:20px;}.field-location-visual{height:380px;}.field-map-caption strong{font-size:22px;}}
@media(max-width:390px){.field-location-map{padding:18px 14px;}.field-location-visual{height:320px;}.field-map-caption strong{font-size:20px;}}
/* An uninterrupted inspection-photo reel with only discreet directional controls. */
.field-gallery-bar{flex-wrap:nowrap;padding-block:12px;gap:20px;}
.field-photo-actions .field-photo-arrow{display:grid;width:44px;height:44px;min-height:44px;border:1px solid #d5d5d5;}
.field-photo-actions{flex-shrink:0;gap:7px;}
.field-photo-slide[data-photo-slide=lead] img{object-position:54% center;}
@media(max-width:600px){.field-gallery-bar{padding:12px 6vw;gap:12px;}.field-photo-caption{width:auto;}.field-photo-caption p{gap:3px 8px;}.field-photo-caption p>span:last-child{flex-basis:100%;padding-left:0;}.field-photo-count{font-size:9px;}.field-photo-actions{gap:5px;}}
.field-gallery:focus-visible{outline:3px solid #bb000e;outline-offset:-3px;}
.field-gallery .field-hero-image{touch-action:pan-y pinch-zoom;}
.field-photo-track{height:100%;}
.field-hero-image.is-swipe-ready{cursor:grab;user-select:none;-webkit-user-select:none;}
.field-hero-image.is-swipe-ready .field-photo-track{display:flex;touch-action:pan-y pinch-zoom;will-change:transform;}
.field-hero-image.is-swipe-ready .field-photo-slide{position:relative;inset:auto;flex:0 0 100%;min-width:0;height:100%;opacity:1;visibility:visible;transition:none;}
.field-hero-image.is-dragging{cursor:grabbing;}
.field-gallery .field-hero-image img{user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;}

/* The process film stays separate from rotating photography and starts on request. */
.field-film{padding:86px 7vw 72px;background:#f7f7f5;scroll-margin-top:110px;}
.field-film-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;align-items:end;max-width:1200px;margin:0 auto 36px;}
.field-site .field-film h2{font-size:clamp(38px,4.3vw,64px);line-height:1.07;letter-spacing:-.055em;font-weight:750;margin:0;}
.field-film-intro{max-width:430px;justify-self:end;}
.field-film-intro p{font-size:17px;line-height:1.65;color:#666;margin:16px 0 0;}
.field-film-duration{font-size:12px;font-weight:600;color:var(--field-red);letter-spacing:.02em;}
.field-film-frame{max-width:1200px;margin:0 auto;border:1px solid #ddd;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 20px 65px #0000000d;}
.field-film-frame video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#fff;}
.field-film-footer{max-width:1200px;margin:16px auto 0;display:flex;align-items:center;justify-content:space-between;gap:15px;}
.field-film-footer p{margin:0;font-size:12px;line-height:1.5;color:#757575;}
.field-film-footer a{font-size:13px;flex-shrink:0;}
.field-film-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;}
.field-film-actions .field-primary{min-height:44px;padding:12px 20px;white-space:normal;text-align:center;}
@media(max-width:700px){.field-film-footer{align-items:flex-start;flex-direction:column;gap:18px;}.field-film-actions{width:100%;gap:16px;}.field-film-footer p{max-width:42ch;}}
.field-actions .field-film-jump{flex-basis:100%;font-size:12px;min-height:36px;gap:8px;}
.field-film-jump svg{color:var(--field-red);}
@media(max-width:700px){.field-film{padding:55px 6vw 35px;scroll-margin-top:100px;}.field-film-heading{grid-template-columns:1fr;gap:22px;margin-bottom:26px;}.field-film-intro{justify-self:start;max-width:100%;}.field-film-intro p{font-size:15px;margin-top:10px;}.field-film-frame{border-radius:10px;}.field-film-footer{align-items:flex-start;gap:18px;}.field-film-footer p{font-size:12px;max-width:100%;padding-top:0;}.field-film-footer a{font-size:12px;}.field-actions .field-film-jump{min-height:44px;}}
@media print{.field-film{display:none;}}

/* Keep the full desktop photograph visible; no scroll-driven zoom. */
.field-gallery .field-hero-image{height:auto;aspect-ratio:3/1;min-height:0;max-height:none;}
.field-gallery .field-hero-image img{object-fit:contain;object-position:center;transform:none;will-change:auto;}
.report-red-arrow{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border:0;border-radius:50%;background:#bb000e;color:#fff;cursor:pointer;box-shadow:0 4px 12px #bb000e20;transition:background .18s,transform .18s;}
.report-red-arrow:hover{background:#96000b;transform:translateY(-2px);}
.report-red-arrow:focus-visible{outline:3px solid #bb000e;outline-offset:4px;}
.report-red-arrow:disabled{opacity:.26;cursor:default;transform:none;box-shadow:none;}
.field-report-stage{display:grid;grid-template-columns:48px minmax(0,340px) 48px;gap:18px;min-width:0;padding-inline:0;}
.field-report-stage .field-report-preview{grid-column:2;grid-row:1;width:100%;min-width:0;}
.field-report-prev{grid-column:1;grid-row:1;}
.field-report-next{grid-column:3;grid-row:1;}
@media(max-width:900px){.field-reports{gap:5vw;}.field-report-stage{gap:10px;grid-template-columns:44px minmax(0,340px) 44px;}.report-red-arrow{width:44px;height:44px;}}
@media(max-width:600px){.field-gallery .field-hero-image{aspect-ratio:16/9;}.field-gallery .field-hero-image img{object-fit:cover;object-position:50% center;}.field-report-stage{gap:10px;}.field-report-stage .field-report-preview{transform:none;}.field-report-caption{gap:7px;}}

.report-sheet-navigation{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:12px;min-width:0;}
.report-sheet-navigation>.authentic-report-scroll{grid-column:2;grid-row:1;}
.report-page-prev{grid-column:1;grid-row:1;}
.report-page-next{grid-column:3;grid-row:1;}
.report-page-toolbar h3 small{display:flex;align-items:center;gap:5px;margin-top:8px;flex-wrap:wrap;font-size:13px;font-weight:450;color:#606060;}
.report-excerpt-count{margin-left:10px;padding-left:15px;border-left:1px solid #d5d5d5;font-variant-numeric:tabular-nums;}
.report-page-tabs a span{font-variant-numeric:tabular-nums;font-weight:650;}
@media(max-width:1100px){.authentic-report-layout{grid-template-columns:minmax(0,1.55fr) minmax(235px,1fr);gap:20px;}.report-sheet-navigation{grid-template-columns:44px minmax(0,1fr) 44px;gap:7px;}}
@media(max-width:850px){.authentic-report-layout{grid-template-columns:minmax(0,1fr);}}
@media(max-width:500px){.report-sheet-navigation{grid-template-columns:44px minmax(0,1fr) 44px;gap:3px;}.report-sheet-navigation>.authentic-report-scroll{padding:3px;}.report-page-toolbar h3{font-size:21px;}.report-page-tabs{display:flex;}}
@media print{.report-page-arrow{display:none!important;}.report-sheet-navigation{display:block;}}
.field-gallery .field-hero-image img[src$="mold-moisture-mms3-v43.webp"]{object-fit:cover;object-position:center;}

/* Client marks share the site's restrained typography and remain uncropped. */
.field-site .client-carousel{padding:30px 7vw 26px;background:#fff;border-block:1px solid #e6e6e3;scroll-margin-top:110px;}
.field-site .client-carousel>.shell{width:100%;max-width:1320px;margin-inline:auto;padding:0;}
.field-site .client-carousel-heading{align-items:center;margin-bottom:22px;gap:20px;}
.field-site .client-carousel-heading h2{margin:0;max-width:none;font-size:14px;line-height:1.5;font-weight:550;letter-spacing:0;color:#535353;}
.field-site .client-carousel-toggle{min-height:44px;padding:8px 15px;border-radius:999px;border:1px solid #dedede;background:#fff;color:#555;font-size:11px;font-weight:500;}
.field-site .client-carousel-toggle:hover{color:var(--field-red);border-color:var(--field-red);}
.field-site .client-carousel-window{border-radius:0;touch-action:pan-x pan-y pinch-zoom;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent);}
.field-site .client-logo{width:214px;flex:0 0 214px;padding:0 28px 4px;gap:14px;}
.field-site .client-logo img{width:156px;height:72px;object-fit:contain;}
.field-site .client-logo span{font-size:11px;line-height:1.5;font-weight:450;color:#666;min-height:33px;max-width:180px;}
@media(max-width:600px){.field-site .client-carousel{padding:22px 6vw 20px;}.field-site .client-carousel-heading{margin-bottom:18px;gap:12px;}.field-site .client-carousel-heading h2{font-size:12px;max-width:185px;}.field-site .client-carousel-toggle{font-size:10px;padding-inline:12px;}.field-site .client-logo{width:174px;flex-basis:174px;padding-inline:22px;gap:12px;}.field-site .client-logo img{width:130px;height:64px;}.field-site .client-logo span{font-size:10px;min-height:30px;}}
@media print{.field-site .client-carousel-window{mask-image:none;-webkit-mask-image:none;}}

/* County exploration: the map and reading surface remain separate, with native-page scrolling. */
.california-hero{border-top:0;}
.california-hero .map-scope{max-width:880px;}
.california-hero .regulation-review{max-width:880px;padding-top:20px;border-top:1px solid #e4e4e4;color:#666;}
.california-explorer{--map-red:#bb000e;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:48px;align-items:start;padding-block:24px 84px;}
.california-explorer [hidden]{display:none!important;}
.california-explorer button,.california-explorer input,.california-explorer select{font:inherit;}
.california-explorer button,.california-explorer a,.california-explorer summary{-webkit-tap-highlight-color:transparent;}
.california-explorer :is(a,button,input,select,summary,[tabindex="0"]):focus-visible{outline:3px solid #bb000e;outline-offset:4px;}
.california-explorer .county-map-panel{min-width:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;scroll-margin-top:110px;}
.county-panel-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid #dedede;}
.county-panel-title{min-width:0;width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:16px;text-align:left;}
.county-panel-title .eyebrow{color:var(--map-red);}
.county-panel-title .county-count{display:block;margin-top:0;white-space:normal;line-height:1.5;text-align:right;}
.county-panel-top .eyebrow{margin:0;font-size:11px;letter-spacing:.13em;}
.county-count{font-size:11px;font-weight:600;color:#777;white-space:nowrap;}
.county-finder-fields{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;}
.county-search{min-width:0;}
.county-search>label{display:block;font-weight:650;font-size:13px;margin-bottom:10px;}
.county-search-field{display:flex;align-items:center;gap:12px;background:#f6f6f5;border:1px solid #d9d9d6;border-radius:12px;min-height:54px;padding:0 15px;transition:border-color .2s,box-shadow .2s;}
.county-search-field:focus-within{border-color:#777;box-shadow:0 0 0 3px #bb000e0a;}
.county-search-field>svg{color:#626262;flex:none;}
.county-search-field input{appearance:none;min-width:0;width:100%;border:0;background:transparent;color:#171717;font-size:15px;line-height:1.4;padding:15px 0;outline:none!important;box-shadow:none;}
.county-search-field input::placeholder{color:#777;opacity:1;}
.county-search-field input::-webkit-search-cancel-button{display:none;}
.county-search-field button{border:0;background:transparent;min-width:40px;min-height:44px;font-size:26px;line-height:1;cursor:pointer;color:#555;}
.county-search-status{font-size:12px;color:#626262;margin:8px 0 0;}
.county-search-status:empty{display:none;}
.county-search-results{border:1px solid #dededb;border-radius:12px;margin-top:9px;background:#fff;max-height:268px;overflow:auto;overscroll-behavior:contain;}
.county-search-results ul{list-style:none;padding:5px;margin:0;}
.county-search-results a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;min-height:45px;border-radius:7px;color:#171717;font-size:14px;text-decoration:none;}
.county-search-results a:hover,.county-search-results a:focus-visible{background:#f2f2f0;}
.county-search-results svg{color:#999;}
.county-quick-picks{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0 23px;}
.county-quick-picks a{display:flex;align-items:center;min-height:36px;border:1px solid #dededb;border-radius:99px;padding:8px 13px;background:white;color:#555;font-size:11px;font-weight:600;line-height:1.4;text-decoration:none;transition:background .18s,color .18s,border-color .18s;}
.county-quick-picks a:hover{border-color:#999;color:#111;}
.county-quick-picks a[aria-current]{border-color:#171717;background:#171717;color:#fff;}
.california-explorer .map-heading{border:0;min-height:44px;margin:0;padding:0 0 12px;align-items:center;}
.california-explorer .map-heading strong{font-size:16px;line-height:1.35;font-weight:650;letter-spacing:-.025em;}
.map-heading button{border:0;background:transparent;color:#666;font-size:11px;font-weight:600;padding:10px 0 10px 10px;min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;flex:none;}
.county-map-stage{height:480px;position:relative;overflow:hidden;border-radius:20px;border:1px solid #d9ddde;background:radial-gradient(ellipse at 38% 24%,#fff 0,#edf0ee 60%,#d8dfe0 100%);box-shadow:inset 0 1px 1px #fff,0 22px 45px -34px #1b333b66;isolation:isolate;touch-action:pan-y;}
.california-explorer .county-map-panel .california-map{width:100%;height:100%;display:block;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden;}
.california-explorer .california-map path{fill:#fff;stroke:#aaa9a3;stroke-width:.8;vector-effect:non-scaling-stroke;transition:fill .18s,stroke .18s;}
.california-explorer .california-map a:hover path,.california-explorer .california-map a:focus-visible path{fill:#f1c9cb;stroke:#9a0011;stroke-width:1.6;}
.california-explorer .california-map a[aria-current] path{fill:var(--map-red);stroke:#74000a;stroke-width:1.3;filter:drop-shadow(0 3px 2px #55000a24);}
.california-explorer .california-map a:focus-visible{outline:none;}
.california-explorer .california-map a:focus-visible path{stroke:#111;stroke-width:3;}
.county-map-stage[data-zoomed="true"]{cursor:grab;}
.county-map-stage[data-dragging="true"],.county-map-stage[data-dragging="true"] a{cursor:grabbing;user-select:none;}
.county-map-stage[data-pan-enabled="true"]{touch-action:none;}
.county-map-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;}
.map-zoom-controls{display:flex;align-items:center;min-height:44px;border:1px solid #dcdcd8;background:#fff;border-radius:9px;overflow:hidden;}
.map-zoom-controls button{display:grid;place-items:center;min-width:44px;min-height:44px;background:transparent;border:0;font-size:22px;cursor:pointer;color:#222;}
.map-zoom-controls button:hover:not(:disabled){background:#f2f2ef;}
.map-zoom-controls button:disabled{color:#aaa;cursor:default;}
.map-zoom-controls output{width:46px;font-size:11px;font-weight:650;color:#666;text-align:center;font-variant-numeric:tabular-nums;}
.map-pan-toggle,.map-fit{min-height:44px;border:1px solid #dcdcd8;border-radius:9px;background:#fff;color:#555;padding:10px 12px;font-size:11px!important;font-weight:650!important;line-height:1.4;cursor:pointer;}
.map-pan-toggle:hover,.map-fit:hover{border-color:#888;color:#111;}
.map-pan-toggle[aria-pressed="true"]{background:#171717;border-color:#171717;color:white;}
.map-fit{margin-left:auto;}
.california-explorer .map-instruction{color:#777;font-size:11px;line-height:1.65;margin:13px 0 22px;max-width:460px;}
.county-select-fallback{border-block:1px solid #e4e4e1;}
.county-select-fallback>summary{list-style:none;padding:15px 0;cursor:pointer;font-size:12px;font-weight:650;display:flex;justify-content:space-between;gap:15px;align-items:center;min-height:48px;}
.county-select-fallback>summary::-webkit-details-marker{display:none;}
.county-select-fallback>summary::after{content:'+';font-size:18px;font-weight:400;}
.county-select-fallback[open]>summary::after{content:'−';}
.california-explorer .county-select-controls{display:block;min-width:0;margin:0;}
.california-explorer.is-interactive .county-select-controls{display:block;}
.california-explorer .county-select-controls label{display:block;font-size:13px;font-weight:650;margin-bottom:10px;}
.california-explorer .county-select-controls select{display:block;width:100%;min-width:0;margin:0;padding:14px 34px 14px 14px;border:1px solid #c9cecd;border-radius:12px;min-height:54px;background-color:#fff;color:#171717;font-size:16px;cursor:pointer;}
.county-index-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 13px;padding:4px 0 20px;}
.county-index-links a{font-size:12px;line-height:1.5;min-height:38px;padding:9px 0;color:#555;text-decoration:underline;text-underline-offset:3px;}
.california-explorer.is-interactive .county-index-links{display:grid;}
.california-explorer .map-credit{font-size:10px;line-height:1.65;color:#8b8b87;margin:16px 0 0;}
.california-explorer .county-empty{padding:30px 0 0;border:0;background:transparent;box-shadow:none;border-radius:0;overflow:visible;}
.county-empty-kicker{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:600;color:#777;}
.county-signal{width:7px;height:7px;border-radius:50%;background:#bb000e;box-shadow:0 0 0 5px #bb000e0a;}
.california-explorer .county-empty h2,.california-explorer .county-profile h2{font-family:Inter,Arial,sans-serif;font-size:clamp(30px,3.2vw,44px);font-weight:650;line-height:1.08;letter-spacing:-.055em;margin:23px 0 20px;}
.california-explorer .county-empty>p{font-size:15px;line-height:1.65;color:#666;max-width:360px;}
.california-explorer .county-empty ol{margin:31px 0 27px;}
.california-explorer .county-empty li{padding:22px 0 22px 39px;border-color:#e6e6e2;}
.california-explorer .county-empty li::before{font-size:10px;top:24px;color:#a0a09b;font-variant-numeric:tabular-nums;}
.california-explorer .county-empty li strong{font-size:14px;font-weight:650;letter-spacing:-.015em;}
.california-explorer .county-empty li span{font-size:12px;line-height:1.65;color:#777;}
.california-explorer .county-empty>a{display:inline-block;font-size:12px;line-height:1.6;min-height:44px;padding-block:12px;color:#bb000e;text-decoration:none;}
.california-explorer .county-profile{padding-top:12px;scroll-margin-top:120px;}
.california-explorer .county-profile>.eyebrow{font-size:10px;color:#777;letter-spacing:.14em;}
.california-explorer .county-profile h2{margin-top:12px;scroll-margin-top:120px;}
.county-at-a-glance{padding:0 0 5px;border-top:1px solid #e2e2de;}
.county-at-a-glance>div{display:grid;grid-template-columns:118px minmax(0,1fr);gap:17px;padding:17px 0;border-bottom:1px solid #e2e2de;}
.county-at-a-glance span{font-size:11px;line-height:1.6;color:#7a7a74;}
.county-at-a-glance strong{font-size:12px;line-height:1.6;color:#333;font-weight:600;}
.county-detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;margin:18px 0 24px;}
.county-detail-actions a{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:600;line-height:1.4;min-height:44px;text-decoration:none;}
.county-detail-actions .county-read-details{padding:11px 16px;background:#bb000e;border-radius:99px;color:#fff;transition:background .2s;}
.county-detail-actions .county-read-details:hover{background:#93000b;}
.county-detail-actions>a:last-child{color:#555;}
.california-explorer .county-intro{font-size:13px;line-height:1.75;color:#777;margin-bottom:23px;}
.county-topic-filters{display:flex;gap:3px;padding:4px;background:#f2f2ef;border-radius:10px;margin-bottom:19px;}
.county-topic-filters button{flex:1;min-height:42px;border:0;border-radius:7px;background:transparent;color:#666;font-size:11px;font-weight:650;cursor:pointer;line-height:1.4;padding:10px 12px;}
.county-topic-filters button[aria-pressed="true"]{color:#151515;background:#fff;box-shadow:0 1px 5px #0000000a;}
.county-local-details{scroll-margin-top:120px;}
.california-explorer .county-topic{border:1px solid #e1e1dd;border-radius:12px;box-shadow:none;overflow:hidden;margin-bottom:12px;}
.california-explorer .county-topic summary{padding:21px 20px;gap:4px 16px;}
.california-explorer .county-topic summary>span{font:600 20px/1.25 Inter,Arial,sans-serif;letter-spacing:-.035em;}
.california-explorer .county-topic summary small{font-size:11px;line-height:1.5;margin-top:1px;color:#777;}
.california-explorer .county-topic summary::after{font-size:21px;color:#999;}
.california-explorer .county-topic[open] summary{border-color:#e9e9e5;}
.california-explorer .county-topic-body{padding:0 20px 20px;}
.california-explorer :is(.district-entry,.local-lead-entry){padding-block:20px;}
.california-explorer :is(.district-entry,.local-lead-entry) h4{font-size:14px;line-height:1.55;letter-spacing:-.015em;}
.california-explorer :is(.district-entry,.local-lead-entry) p{font-size:14px;line-height:1.8;color:#666;}
.california-explorer .regulation-links a{font-size:13px;line-height:1.6;}
.california-explorer .county-reminder{font-size:12px;line-height:1.75;}
.california-explorer .boundary-note{margin-top:20px;padding:16px;border-left:2px solid #bb000e;background:#faf4f4;font-size:12px;line-height:1.7;}
.california-explorer .boundary-note p,.california-explorer .boundary-note a{font-size:12px;}
.california-explorer .city-programs{font-size:12px;}
.county-back-map{display:inline-flex;align-items:center;min-height:44px;color:#666;font-size:11px;text-decoration:underline;text-underline-offset:4px;margin:3px 0 12px;}
.california-explorer .county-next{background:#171717;color:#fff;border-radius:10px;padding:17px 19px;font-size:12px;line-height:1.5;}
@media(max-width:1100px){.california-explorer{gap:30px;}.county-map-stage{height:420px;}.county-at-a-glance>div{grid-template-columns:100px minmax(0,1fr);gap:10px;}.county-count{font-size:10px;}.county-panel-top .eyebrow{font-size:10px;}.map-pan-toggle,.map-fit{font-size:10px!important;padding-inline:10px;}}
@media(max-width:800px){
 .california-explorer,.field-detail .california-explorer{grid-template-columns:1fr;gap:36px;padding-top:12px;padding-bottom:55px;}
 .county-panel-top{padding-bottom:18px;}.county-panel-top .eyebrow,.county-count{font-size:10px;}
 .county-search-field input{font-size:16px;}.county-quick-picks{gap:7px;margin-bottom:16px;}.county-quick-picks a{min-height:44px;font-size:11px;padding-inline:13px;}
 .county-map-stage{height:440px;border-radius:14px;}.county-map-tools{gap:8px;}.map-pan-toggle,.map-fit{font-size:11px!important;}
 .california-explorer .map-heading strong{font-size:16px;}.california-explorer .map-instruction{font-size:11px;max-width:100%;}
 .california-explorer .county-empty{padding:15px 0 0;border-top:1px solid #e5e5e1;}.county-empty-kicker{padding-top:15px;}
 .california-explorer .county-empty h2,.california-explorer .county-profile h2{font-size:38px;max-width:450px;}
 .california-explorer .county-profile{border-top:1px solid #e5e5e1;padding-top:30px;}.county-at-a-glance>div{grid-template-columns:118px minmax(0,1fr);gap:16px;}
 .county-detail-actions a{font-size:12px;}.county-topic-filters button{min-height:44px;font-size:12px;}
 .california-explorer :is(.district-entry,.local-lead-entry) p{font-size:14px;}.california-explorer :is(.district-entry,.local-lead-entry) h4{font-size:15px;}
 .california-explorer .regulation-links a{font-size:13px;}.california-explorer .county-reminder{font-size:12px;}.california-explorer .county-intro{font-size:13px;}
}
@media(max-width:390px){.county-map-stage{height:370px;}.county-map-tools{gap:7px;}.map-zoom-controls button{min-width:40px;}.map-zoom-controls output{width:40px;}.map-pan-toggle,.map-fit{padding-inline:8px;font-size:10px!important;}.county-panel-top{gap:8px;}.county-count{font-size:9px;}.county-at-a-glance>div{grid-template-columns:100px minmax(0,1fr);}.county-detail-actions{gap:7px 14px;}.county-detail-actions a{font-size:11px;}.county-topic-filters button{padding-inline:6px;}}
@media(prefers-reduced-motion:reduce){.california-explorer *{scroll-behavior:auto!important;transition:none!important;}}
/* Actual extruded county meshes are a progressive enhancement over the SVG. */
.county-map-canvas{display:block;position:absolute;inset:0;width:100%;height:100%;}
.county-map-stage.has-map-3d>.california-map{opacity:0;pointer-events:none;}
.county-map-stage.has-map-3d{background:radial-gradient(ellipse at 38% 24%,#fff 0,#edf0ee 60%,#d8dfe0 100%);}
.county-3d-controls{display:flex;align-items:center;gap:18px;padding:15px 0 2px;}
.map-dimension-label{font-size:10px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:#bb000e;white-space:nowrap;}
.county-3d-controls label{display:flex;align-items:center;gap:13px;flex:1;font-size:11px;color:#666;}
.county-3d-controls input{width:100%;min-width:60px;min-height:44px;accent-color:#bb000e;cursor:ew-resize;}
.map-tilt-end{font-size:10px;color:#777;}
.field-location-visual.has-map-3d>svg{opacity:0;pointer-events:none;}
.county-select-hint{font-size:12px;line-height:1.6;color:#777;margin:10px 0 24px;}
.california-explorer .county-select-controls select{min-height:62px;border-radius:14px;padding:18px 40px 18px 18px;box-shadow:0 4px 16px #18212b05;font-weight:600;}
.california-explorer .county-map-stage{height:510px;border-radius:24px;border-color:#343e49;background:radial-gradient(ellipse at 36% 17%,#49525e 0,#242c37 46%,#111823 100%);box-shadow:inset 0 1px 0 #ffffff1a,0 22px 54px -30px #10172170;}
.county-map-stage::before{content:'';position:absolute;inset:-45%;pointer-events:none;z-index:1;background:linear-gradient(115deg,transparent 38%,#ffffff14 49%,transparent 61%);opacity:0;}
.county-map-stage[data-traveling="true"]::before{animation:county-light-pass 1050ms ease-in-out both;}
.county-map-stage::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 40%,transparent 28%,#07101838 100%);}
.county-map-stage>.california-map{position:relative;z-index:2;}
.county-map-stage>.county-map-canvas{z-index:3;}
.county-map-caption{display:flex;gap:10px;align-items:center;font-size:11px;line-height:1.6;color:#747a81;margin:16px 0 24px;}
.county-map-caption .county-signal{width:5px;height:5px;box-shadow:none;}
.county-map-options{border-top:1px solid #e4e4e1;}
.county-map-options>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;min-height:50px;font-size:12px;font-weight:600;cursor:pointer;list-style:none;}
.county-map-options>summary::-webkit-details-marker{display:none;}
.county-map-options>summary::after{content:'+';font-size:18px;font-weight:400;}
.county-map-options[open]>summary::after{content:'−';}
.county-map-options-body{padding:10px 0 2px;}
.california-explorer .county-transition{min-height:420px;padding:58px 0 30px;}
.county-transition h2{font:650 clamp(30px,3.2vw,44px)/1.1 Inter,Arial,sans-serif;letter-spacing:-.055em;overflow-wrap:anywhere;margin:14px 0 18px;}
.county-transition>.eyebrow{margin:25px 0 0;font-size:10px;color:#777;letter-spacing:.14em;}
.county-transition>p:last-child{max-width:300px;font-size:14px;line-height:1.7;color:#777;}
.county-orbit{width:52px;height:52px;border:1px solid #e5e5e2;border-radius:50%;border-top-color:#bb000e;animation:county-orbit 1050ms cubic-bezier(.35,0,.2,1) both;}
.county-results .county-profile:not([hidden]){animation:county-guidance-in 360ms ease-out both;}
@keyframes county-light-pass{0%{opacity:0;transform:translateX(-30%)}35%{opacity:1}100%{opacity:0;transform:translateX(30%)}}
@keyframes county-orbit{to{transform:rotate(360deg)}}
@keyframes county-guidance-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.california-explorer .county-map-stage{height:450px;}}
@media(max-width:800px){.california-explorer .county-map-stage{height:460px;border-radius:20px;}.california-explorer .county-transition{min-height:280px;padding-top:24px;}.county-map-caption{margin-bottom:18px;}.county-select-hint{margin-bottom:18px;}}
@media(max-width:390px){.california-explorer .county-map-stage{height:390px;border-radius:16px;}}
@media(prefers-reduced-motion:reduce){.california-explorer *, .county-map-stage::before{animation:none!important;}}
@media(min-width:801px) and (max-width:1100px){.county-finder-fields{grid-template-columns:1fr;gap:17px;}}
@media(max-width:480px){.county-finder-fields{grid-template-columns:1fr;gap:17px;}}
@media(max-width:390px){.county-3d-controls{gap:10px;}.map-tilt-end{font-size:9px;}}
/* One focused sequence at every screen size: choose, explore the model, read. */
.california-explorer{grid-template-columns:minmax(0,1fr);gap:0;max-width:1000px;margin-inline:auto;}
.california-explorer .county-map-panel{width:100%;max-width:1000px;justify-self:center;}
.california-explorer .county-map-stage{height:620px;border-color:#343b43;box-shadow:inset 0 1px 0 #ffffff24,0 28px 68px -40px #0b152b99;}
.county-results{width:100%;max-width:880px;margin:46px auto 0;border-top:1px solid #e4e4e1;padding-top:18px;}
.california-explorer .county-transition{min-height:240px;padding-top:32px;}
.california-explorer .county-empty{max-width:650px;margin-inline:auto;}
@media(max-width:800px){.california-explorer .county-map-stage{height:460px;}.county-results{margin-top:28px;padding-top:10px;}.california-explorer .county-profile{border-top:0;}}
@media(max-width:390px){.california-explorer .county-map-stage{height:410px;}}

/* The geography is the sculpture. No stock stage or generated background. */
.california-explorer .county-map-stage{background:radial-gradient(ellipse at 10% 100%,#bb000e14,transparent 48%),radial-gradient(ellipse at 28% 16%,#404040 0%,#202020 40%,#0c0c0c 85%);border-color:#373737;box-shadow:inset 0 3px 0 var(--map-red),inset 0 -1px 0 #000,0 32px 70px -38px #000c;}
.county-map-stage::after{background:linear-gradient(130deg,#ffffff08,transparent 35%,#00000020);}
.california-explorer .county-select-controls select{border-color:#ccc;border-left:3px solid var(--map-red);box-shadow:0 8px 25px #00000009;}
.california-explorer .map-pan-toggle[aria-pressed="true"]{background:var(--map-red);border-color:var(--map-red);}
.california-explorer .map-heading strong{display:flex;align-items:center;gap:10px;}
.california-explorer .map-heading strong::before{content:"";width:3px;height:20px;flex:none;background:var(--map-red);}
.california-explorer .county-map-options>summary::after{color:var(--map-red);}
.california-explorer .county-back-map{color:var(--map-red);}
@media(max-width:800px){.california-explorer .county-map-stage{height:490px;}}
@media(max-width:390px){.california-explorer .county-map-stage{height:420px;}}

@media(max-width:600px){.county-panel-top{gap:14px;margin-bottom:20px;}.county-panel-title{gap:12px;}.county-panel-title .eyebrow{line-height:1.6;letter-spacing:.07em;}.county-panel-title .county-count{margin-top:0;}}

[data-report-example="asbestos-inspection"] [data-report-hotspot="1-1"]{--x:37.582%;--y:41.667%;--w:54.902%;--h:18.182%}
[data-report-example="asbestos-inspection"] [data-report-hotspot="3-1"]{--x:5.719%;--y:35.859%;--w:88.562%;--h:3.157%}
[data-report-example="asbestos-inspection"] [data-report-hotspot="3-2"]{--x:5.719%;--y:40.657%;--w:88.562%;--h:8.459%}
[data-report-example="asbestos-inspection"] [data-report-hotspot="4-1"]{--x:7.516%;--y:26.01%;--w:84.967%;--h:3.157%}
[data-report-example="asbestos-inspection"] [data-report-hotspot="4-2"]{--x:6.176%;--y:42.298%;--w:87.647%;--h:2.525%}
[data-report-example="asbestos-inspection"] [data-report-hotspot="4-3"]{--x:6.176%;--y:45.076%;--w:87.647%;--h:2.525%}
[data-report-example="asbestos-inspection"] [data-report-hotspot="5-1"]{--x:5.719%;--y:52.348%;--w:37.908%;--h:3.157%}
[data-report-example="asbestos-air-clearance"] [data-report-hotspot="1-1"]{--x:37.582%;--y:41.667%;--w:54.902%;--h:18.182%}
[data-report-example="asbestos-air-clearance"] [data-report-hotspot="3-1"]{--x:5.882%;--y:54.167%;--w:88.235%;--h:10.606%}
[data-report-example="asbestos-air-clearance"] [data-report-hotspot="4-1"]{--x:6.209%;--y:39.268%;--w:87.582%;--h:4.04%}
[data-report-example="asbestos-air-clearance"] [data-report-hotspot="4-2"]{--x:5.882%;--y:84.596%;--w:88.235%;--h:7.576%}
[data-report-example="asbestos-air-clearance"] [data-report-hotspot="7-1"]{--x:4.798%;--y:39.706%;--w:90.404%;--h:2.778%}
[data-report-example="lead-inspection"] [data-report-hotspot="1-1"]{--x:37.582%;--y:41.667%;--w:54.902%;--h:18.182%}
[data-report-example="lead-inspection"] [data-report-hotspot="3-1"]{--x:5.882%;--y:62.753%;--w:88.235%;--h:12.121%}
[data-report-example="lead-inspection"] [data-report-hotspot="3-2"]{--x:5.882%;--y:81.944%;--w:88.235%;--h:2.778%}
[data-report-example="lead-inspection"] [data-report-hotspot="4-1"]{--x:8.17%;--y:26.515%;--w:51.307%;--h:4.419%}
[data-report-example="lead-inspection"] [data-report-hotspot="4-2"]{--x:5.882%;--y:57.639%;--w:88.235%;--h:18.687%}
[data-report-example="lead-risk-assessment"] [data-report-hotspot="1-1"]{--x:37.582%;--y:41.667%;--w:54.902%;--h:18.182%}
[data-report-example="lead-risk-assessment"] [data-report-hotspot="3-1"]{--x:5.882%;--y:35.48%;--w:88.235%;--h:25.505%}
[data-report-example="lead-risk-assessment"] [data-report-hotspot="11-1"]{--x:4.76%;--y:43.693%;--w:66.616%;--h:2.484%}
[data-report-example="lead-clearance"] [data-report-hotspot="1-1"]{--x:37.582%;--y:41.667%;--w:54.902%;--h:18.182%}
[data-report-example="lead-clearance"] [data-report-hotspot="3-1"]{--x:6.863%;--y:56.313%;--w:86.928%;--h:3.157%}
[data-report-example="lead-clearance"] [data-report-hotspot="3-2"]{--x:5.882%;--y:69.444%;--w:88.235%;--h:7.576%}
[data-report-example="lead-clearance"] [data-report-hotspot="6-1"]{--x:6.209%;--y:48.106%;--w:76.471%;--h:2.525%}
[data-report-example="de-minimis"] [data-report-hotspot="1-1"]{--x:37.582%;--y:41.667%;--w:54.902%;--h:18.182%}
[data-report-example="de-minimis"] [data-report-hotspot="3-1"]{--x:6.863%;--y:49.747%;--w:87.255%;--h:9.722%}
[data-report-example="de-minimis"] [data-report-hotspot="3-2"]{--x:5.882%;--y:69.444%;--w:88.235%;--h:7.576%}
[data-report-example="de-minimis"] [data-report-hotspot="4-1"]{--x:6.209%;--y:50.631%;--w:87.582%;--h:4.293%}