/*
  1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
  2. Remove default margins and padding
  3. Reset all borders.
*/

*,
::after,
::before,
::backdrop,
::file-selector-button {
  box-sizing: border-box; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 2 */
  border: 0 solid; /* 3 */
}

/*
  1. Use a consistent sensible line-height in all browsers.
  2. Prevent adjustments of font size after orientation changes in iOS.
  3. Use a more readable tab size.
  4. Use the user's configured `sans` font-family by default.
  5. Use the user's configured `sans` font-feature-settings by default.
  6. Use the user's configured `sans` font-variation-settings by default.
  7. Disable tap highlights on iOS.
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  tab-size: 4; /* 3 */
  font-family: --theme(
    --default-font-family,
    ui-sans-serif,
    system-ui,
    sans-serif,
    'Apple Color Emoji',
    'Segoe UI Emoji',
    'Segoe UI Symbol',
    'Noto Color Emoji'
  ); /* 4 */
  font-feature-settings: --theme(--default-font-feature-settings, normal); /* 5 */
  font-variation-settings: --theme(--default-font-variation-settings, normal); /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
  1. Add the correct height in Firefox.
  2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
  3. Reset the default border style to a 1px solid border.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
  Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

/*
  Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
  Reset links to optimize for opt-in styling instead of opt-out.
*/

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

/*
  Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
  1. Use the user's configured `mono` font-family by default.
  2. Use the user's configured `mono` font-feature-settings by default.
  3. Use the user's configured `mono` font-variation-settings by default.
  4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: --theme(
    --default-mono-font-family,
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    'Liberation Mono',
    'Courier New',
    monospace
  ); /* 1 */
  font-feature-settings: --theme(--default-mono-font-feature-settings, normal); /* 2 */
  font-variation-settings: --theme(--default-mono-font-variation-settings, normal); /* 3 */
  font-size: 1em; /* 4 */
}

/*
  Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
  Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
  1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
  2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
  3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
  Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
  Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
  Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
  Make lists unstyled by default.
*/

ol,
ul,
menu {
  list-style: none;
}

/*
  1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
  2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
      This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
  Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/*
  1. Inherit font styles in all browsers.
  2. Remove border radius in all browsers.
  3. Remove background color in all browsers.
  4. Ensure consistent opacity for disabled states in all browsers.
*/

button,
input,
select,
optgroup,
textarea,
::file-selector-button {
  font: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  border-radius: 0; /* 2 */
  background-color: transparent; /* 3 */
  opacity: 1; /* 4 */
}

/*
  Restore default font weight.
*/

:where(select:is([multiple], [size])) optgroup {
  font-weight: bolder;
}

/*
  Restore indentation.
*/

:where(select:is([multiple], [size])) optgroup option {
  padding-inline-start: 20px;
}

/*
  Restore space after button.
*/

::file-selector-button {
  margin-inline-end: 4px;
}

/*
  Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
*/

::placeholder {
  opacity: 1;
}

/*
  Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not
  crash when using `color-mix(…)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)
*/

@supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or
  (contain-intrinsic-size: 1px) /* Safari 17+ */ {
  ::placeholder {
    color: color-mix(in oklab, currentcolor 50%, transparent);
  }
}

/*
  Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
  Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
  1. Ensure date/time inputs have the same height when empty in iOS Safari.
  2. Ensure text alignment can be changed on date/time inputs in iOS Safari.
*/

::-webkit-date-and-time-value {
  min-height: 1lh; /* 1 */
  text-align: inherit; /* 2 */
}

/*
  Prevent height from changing on date/time inputs in macOS Safari when the input is set to `display: block`.
*/

::-webkit-datetime-edit {
  display: inline-flex;
}

/*
  Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.
*/

::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

::-webkit-datetime-edit,
::-webkit-datetime-edit-year-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute-field,
::-webkit-datetime-edit-second-field,
::-webkit-datetime-edit-millisecond-field,
::-webkit-datetime-edit-meridiem-field {
  padding-block: 0;
}

/*
  Center dropdown marker shown on inputs with paired `<datalist>`s in Chrome. (https://github.com/tailwindlabs/tailwindcss/issues/18499)
*/

::-webkit-calendar-picker-indicator {
  line-height: 1;
}

/*
  Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
  Correct the inability to style the border radius in iOS Safari.
*/

button,
input:where([type='button'], [type='reset'], [type='submit']),
::file-selector-button {
  appearance: button;
}

/*
  Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
  Make elements with the HTML hidden attribute stay hidden by default.
*/

[hidden]:where(:not([hidden='until-found'])) {
  display: none !important;
}

:root{--font-plus-jakarta:"Plus Jakarta Sans"}


:root {
  --navy: #052f65;
  --navy-deep: #02244d;
  --blue: #17679c;
  --sky: #dcedfb;
  --sky-bright: #cce8ff;
  --ink: #082f61;
  --white: #ffffff;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--white);
  color: var(--ink);
  font-family: var(--font-plus-jakarta), Arial, Helvetica, sans-serif;
}

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

.skip-link {
  background: #ffcf57;
  color: var(--navy-deep);
  font-weight: 850;
  left: 1rem;
  padding: 0.75rem 1rem;
  position: fixed;
  top: -100px;
  z-index: 50;
}

.skip-link:focus {
  top: 1rem;
}

.site-header {
  align-items: center;
  background: rgba(255, 255, 255, 0.97);
  border-bottom: 1px solid #d5e5f2;
  display: grid;
  gap: 2rem;
  grid-template-columns: 190px 1fr auto;
  min-height: 94px;
  padding: 1rem clamp(1.25rem, 5vw, 5rem);
  position: relative;
  z-index: 10;
}

.brand {
  display: inline-flex;
  width: fit-content;
}

.brand img {
  height: auto;
  width: 155px;
}

.header-office {
  display: flex;
  flex-direction: column;
  font-size: 0.86rem;
  gap: 0.22rem;
}

.header-office span {
  font-weight: 850;
  letter-spacing: 0.12em;
}

.header-office a {
  color: #536b82;
}

.header-call {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}

.header-call span {
  color: var(--blue);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.12em;
}

.header-call strong {
  color: var(--navy);
  font-size: 1.2rem;
  letter-spacing: 0.025em;
}

.hero {
  background: var(--navy);
  overflow: hidden;
}

.hero-photo {
  height: clamp(300px, 46vw, 590px);
  min-height: 300px;
  position: relative;
}

.hero-photo::after {
  background: linear-gradient(180deg, transparent 65%, rgba(2, 36, 77, 0.28));
  content: "";
  inset: 0;
  position: absolute;
}

.hero-photo img {
  object-fit: cover;
  object-position: center center;
}

.photo-badge {
  align-items: center;
  background: rgba(255, 255, 255, 0.93);
  bottom: 2rem;
  color: var(--navy);
  display: flex;
  flex-direction: column;
  height: 118px;
  justify-content: center;
  position: absolute;
  right: clamp(1.25rem, 5vw, 5rem);
  transform: rotate(3deg);
  width: 118px;
  z-index: 2;
}

.photo-badge span {
  font-size: 0.64rem;
  font-weight: 850;
  letter-spacing: 0.14em;
}

.photo-badge strong {
  font-size: 2rem;
  line-height: 1;
}

.hero-copy-wrap {
  background:
    radial-gradient(circle at 88% 16%, rgba(23, 103, 156, 0.42), transparent 28%),
    linear-gradient(125deg, var(--navy) 0%, var(--navy-deep) 100%);
  color: var(--white);
  margin-top: -1px;
  position: relative;
}

.hero-copy-wrap::before {
  background: var(--navy);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  content: "";
  height: 75px;
  left: -4%;
  position: absolute;
  right: -4%;
  top: -38px;
}

.hero-copy {
  margin: 0 auto;
  max-width: 1380px;
  padding: clamp(3rem, 6vw, 5.5rem) clamp(1.25rem, 5vw, 5rem) clamp(3.5rem, 7vw, 6rem);
  position: relative;
  z-index: 1;
}

.eyebrow {
  color: var(--sky-bright);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.16em;
  margin: 0 0 1.1rem;
}

h1 {
  font-size: clamp(2.6rem, 6vw, 6.2rem);
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 0.94;
  margin: 0;
  max-width: 1220px;
  text-wrap: balance;
}

h1 span {
  color: var(--sky-bright);
  display: block;
  margin-top: 0.14em;
}

.hero-intro {
  font-size: clamp(1.15rem, 2.1vw, 1.75rem);
  line-height: 1.45;
  margin: 1.6rem 0 0;
  max-width: 760px;
}

.hero-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 2rem;
}

.button {
  align-items: center;
  border: 2px solid transparent;
  border-radius: 0.72rem;
  display: inline-flex;
  font-size: 0.92rem;
  font-weight: 900;
  justify-content: center;
  letter-spacing: 0.045em;
  min-height: 58px;
  padding: 0.9rem 1.5rem;
  transition: transform 160ms ease, background 160ms ease, color 160ms ease;
}

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

.button:focus-visible,
a:focus-visible {
  outline: 3px solid #ffcf57;
  outline-offset: 3px;
}

.button-primary {
  background: var(--sky-bright);
  color: var(--navy);
  min-width: min(100%, 360px);
}

.button-primary span {
  margin-right: 0.4rem;
}

.button-primary:hover {
  background: var(--white);
}

.button-quiet {
  border-color: rgba(255, 255, 255, 0.58);
  color: var(--white);
}

.button-quiet:hover {
  background: rgba(255, 255, 255, 0.12);
}

.hero-assurance {
  color: #d7eafa;
  font-size: 0.95rem;
  margin: 1.05rem 0 0;
}

.trust-bar {
  background: #f4faff;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0;
  padding: 0 clamp(1.25rem, 5vw, 5rem);
}

.trust-bar > div {
  align-items: center;
  border-right: 1px solid #cfe0ee;
  display: flex;
  gap: 1rem;
  justify-content: center;
  min-height: 135px;
  padding: 1.4rem;
}

.trust-bar > div:last-child {
  border-right: 0;
}

.trust-number {
  color: var(--blue);
  font-size: clamp(2.2rem, 4vw, 3.6rem);
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1;
}

.trust-label {
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.09em;
  line-height: 1.3;
  max-width: 150px;
}

.section-shell {
  margin: 0 auto;
  max-width: 1380px;
  padding: clamp(4.75rem, 9vw, 8rem) clamp(1.25rem, 5vw, 5rem);
}

.section-kicker {
  color: var(--blue);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  margin: 0 0 1rem;
}

.section-heading h2,
.office-copy h2 {
  color: var(--navy);
  font-size: clamp(2.35rem, 5vw, 5rem);
  font-weight: 900;
  letter-spacing: -0.045em;
  line-height: 0.98;
  margin: 0;
  text-wrap: balance;
}

.section-heading h2 span {
  color: var(--blue);
  display: block;
}

.section-heading > p:last-child,
.section-heading-wide > p:last-child {
  color: #526b82;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.65;
  margin: 1.5rem 0 0;
  max-width: 760px;
}

.review-section {
  background:
    linear-gradient(90deg, rgba(220, 237, 251, 0.55) 1px, transparent 1px),
    linear-gradient(rgba(220, 237, 251, 0.55) 1px, transparent 1px),
    #ffffff;
  background-size: 46px 46px;
}

.section-heading-wide {
  max-width: 1060px;
}

.review-grid {
  display: grid;
  gap: clamp(2rem, 5vw, 5rem);
  grid-template-columns: minmax(280px, 0.85fr) minmax(420px, 1.5fr);
  margin-top: clamp(3rem, 6vw, 5rem);
}

.review-callout {
  align-self: stretch;
  background: linear-gradient(145deg, var(--navy) 0%, var(--navy-deep) 100%);
  color: var(--white);
  display: flex;
  flex-direction: column;
  min-height: 410px;
  padding: clamp(2rem, 4vw, 3.4rem);
  position: relative;
}

.callout-rule {
  background: var(--sky-bright);
  height: 7px;
  margin-bottom: auto;
  width: 84px;
}

.review-callout > p {
  color: var(--sky-bright);
  font-size: clamp(1.15rem, 1.8vw, 1.5rem);
  font-weight: 900;
  letter-spacing: 0.06em;
  margin: 2.5rem 0 0.25rem;
}

.review-callout > strong {
  font-size: clamp(2.25rem, 4vw, 4rem);
  letter-spacing: -0.04em;
  line-height: 0.96;
}

.callout-copy {
  color: #d8e9f7;
  display: block;
  line-height: 1.6;
  margin-top: 1.5rem;
  max-width: 390px;
}

.review-callout a {
  border-bottom: 1px solid rgba(255, 255, 255, 0.55);
  font-size: 0.85rem;
  font-weight: 850;
  letter-spacing: 0.05em;
  margin-top: 2rem;
  padding-bottom: 0.35rem;
  width: fit-content;
}

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

.review-steps article {
  align-items: flex-start;
  border-bottom: 1px solid #cbddea;
  display: grid;
  gap: clamp(1.25rem, 3vw, 2.5rem);
  grid-template-columns: 76px 1fr;
  padding: 1.65rem 0;
}

.review-steps article:first-child {
  padding-top: 0;
}

.review-steps article:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.review-steps article > span {
  color: var(--blue);
  font-size: 2.4rem;
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 1;
}

.review-steps h3 {
  font-size: 1.08rem;
  font-weight: 900;
  letter-spacing: 0.035em;
  margin: 0;
}

.review-steps p {
  color: #536b82;
  line-height: 1.65;
  margin: 0.5rem 0 0;
  max-width: 600px;
}

.coverage-row {
  display: grid;
  gap: 0.5rem;
  grid-template-columns: repeat(5, 1fr);
  margin-top: clamp(3rem, 6vw, 5rem);
}

.coverage-row span {
  align-items: center;
  background: #e8f4fd;
  border-bottom: 4px solid var(--blue);
  display: flex;
  font-size: 0.78rem;
  font-weight: 900;
  justify-content: center;
  letter-spacing: 0.12em;
  min-height: 68px;
  text-align: center;
}

.team-section {
  background: #e8f4fd;
  overflow: hidden;
  position: relative;
}

.team-section::before {
  background: var(--sky-bright);
  border-radius: 999px;
  content: "";
  height: 430px;
  opacity: 0.52;
  position: absolute;
  right: -180px;
  top: -230px;
  width: 430px;
}

.team-heading {
  align-items: end;
  display: grid;
  gap: 2rem;
  grid-template-columns: 1.4fr 0.8fr;
  position: relative;
  z-index: 1;
}

.team-heading > p:last-child {
  margin: 0;
}

.team-grid {
  display: grid;
  gap: clamp(1.4rem, 3vw, 2.6rem);
  grid-template-columns: repeat(3, 1fr);
  margin-top: clamp(3rem, 6vw, 5rem);
  position: relative;
  z-index: 1;
}

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

.team-card img {
  aspect-ratio: 1;
  border: 10px solid rgba(255, 255, 255, 0.72);
  border-radius: 50%;
  height: auto;
  max-width: 330px;
  object-fit: cover;
  width: min(100%, 330px);
}

.team-card h3 {
  color: var(--navy);
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  font-weight: 900;
  letter-spacing: -0.01em;
  margin: 1.3rem 0 0;
}

.team-card p {
  color: #5c7185;
  margin: 0.35rem 0 0;
}

.office-section {
  background:
    radial-gradient(circle at 12% 120%, rgba(23, 103, 156, 0.55), transparent 32%),
    var(--navy-deep);
  color: var(--white);
}

.office-shell {
  align-items: stretch;
  display: grid;
  gap: clamp(2rem, 6vw, 6rem);
  grid-template-columns: 1.4fr minmax(290px, 0.7fr);
  margin: 0 auto;
  max-width: 1380px;
  padding: clamp(4.75rem, 9vw, 8rem) clamp(1.25rem, 5vw, 5rem);
}

.office-copy .section-kicker {
  color: var(--sky-bright);
}

.office-copy h2 {
  color: var(--white);
  max-width: 800px;
}

.office-copy > p:not(.section-kicker) {
  color: #d5e7f6;
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  line-height: 1.65;
  max-width: 670px;
}

.office-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 2rem;
}

.office-card {
  background: var(--white);
  color: var(--navy);
  display: flex;
  flex-direction: column;
  font-style: normal;
  justify-content: center;
  min-height: 320px;
  padding: clamp(2rem, 4vw, 3.5rem);
  position: relative;
}

.office-card::before {
  background: var(--sky-bright);
  content: "";
  height: 12px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.office-card span {
  color: var(--blue);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  margin-bottom: 1.1rem;
}

.office-card strong {
  font-size: clamp(1.35rem, 2.3vw, 2rem);
  line-height: 1.25;
}

.office-card a {
  border-bottom: 1px solid #cbddea;
  color: #48647f;
  margin-top: 1rem;
  padding-bottom: 0.3rem;
  width: fit-content;
}

.site-footer {
  align-items: center;
  background: var(--white);
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr auto 1fr;
  min-height: 120px;
  padding: 1.5rem clamp(1.25rem, 5vw, 5rem);
}

.site-footer img {
  height: auto;
  width: 138px;
}

.site-footer p {
  color: #5c7185;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.09em;
  margin: 0;
  text-transform: uppercase;
}

.site-footer > a {
  font-weight: 900;
  justify-self: end;
}

.mobile-call {
  display: none;
}

@media (max-width: 760px) {
  .site-header {
    gap: 1rem;
    grid-template-columns: 1fr auto;
    min-height: 82px;
    padding: 0.8rem 1.1rem;
  }

  .brand img {
    width: 132px;
  }

  .header-office {
    display: none;
  }

  .header-call span {
    display: none;
  }

  .header-call strong {
    font-size: 0.92rem;
  }

  .hero-photo {
    height: 330px;
  }

  .hero-photo img {
    object-position: 57% center;
  }

  .photo-badge {
    bottom: 1.5rem;
    height: 88px;
    right: 1.1rem;
    width: 88px;
  }

  .photo-badge strong {
    font-size: 1.45rem;
  }

  .hero-copy-wrap::before {
    height: 46px;
    top: -23px;
  }

  .hero-copy {
    padding-top: 2.6rem;
  }

  h1 {
    font-size: clamp(2.45rem, 11vw, 4.3rem);
  }

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

  .trust-bar {
    grid-template-columns: 1fr;
  }

  .trust-bar > div {
    border-bottom: 1px solid #cfe0ee;
    border-right: 0;
    justify-content: flex-start;
    min-height: 100px;
  }

  .trust-bar > div:last-child {
    border-bottom: 0;
  }

  .section-shell {
    padding-bottom: 4.75rem;
    padding-top: 4.75rem;
  }

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

  .review-callout {
    min-height: 360px;
  }

  .review-steps article {
    grid-template-columns: 54px 1fr;
  }

  .review-steps article > span {
    font-size: 1.8rem;
  }

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

  .coverage-row span:last-child {
    grid-column: 1 / -1;
  }

  .team-heading,
  .team-grid,
  .office-shell {
    grid-template-columns: 1fr;
  }

  .team-heading {
    gap: 0.8rem;
  }

  .team-heading > p:last-child {
    margin-top: 0.5rem;
  }

  .team-grid {
    gap: 3.25rem;
  }

  .team-card img {
    max-width: 285px;
  }

  .office-actions,
  .office-actions .button {
    width: 100%;
  }

  .office-card {
    min-height: 285px;
  }

  .site-footer {
    grid-template-columns: 1fr;
    justify-items: center;
    padding-bottom: 6.4rem;
    text-align: center;
  }

  .site-footer > a {
    justify-self: center;
  }

  .mobile-call {
    background: var(--sky-bright);
    border-top: 3px solid var(--white);
    bottom: 0;
    color: var(--navy-deep);
    display: flex;
    font-size: 0.92rem;
    font-weight: 900;
    justify-content: center;
    left: 0;
    letter-spacing: 0.045em;
    padding: 1.05rem;
    position: fixed;
    right: 0;
    z-index: 40;
  }
}

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

  .button {
    transition: none;
  }
}

/* Header and hero aligned with the current Hanford Insurance website. */
.header-container {
  margin: 0 auto;
  max-width: 1680px;
  width: min(88%, 1680px);
}

.utility-bar {
  align-items: center;
  background: #0b548b;
  color: #ffffff;
  display: flex;
  min-height: 40px;
}

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

.social-links {
  align-items: center;
  display: flex;
  gap: 9px;
}

.social-links a {
  align-items: center;
  background: #ffffff;
  border-radius: 50%;
  color: #0b548b;
  display: inline-flex;
  font-size: 10px;
  font-weight: 700;
  height: 22px;
  justify-content: center;
  line-height: 1;
  width: 22px;
}

.utility-nav {
  align-items: center;
  display: flex;
  gap: 22px;
}

.utility-nav a {
  font-size: 13px;
  font-weight: 700;
  line-height: 18px;
  white-space: nowrap;
}

.utility-call {
  background: #ffffff;
  border-radius: 999px;
  color: #0b548b;
  padding: 7px 15px;
}

.main-header {
  background: #ffffff;
  position: relative;
  z-index: 20;
}

.main-header-inner {
  align-items: center;
  display: flex;
  gap: 28px;
  justify-content: space-between;
  min-height: 102px;
  padding: 18px 0;
}

.main-brand {
  display: inline-flex;
  flex: 0 0 auto;
}

.main-brand img {
  height: auto;
  width: 158px;
}

.primary-nav {
  align-items: center;
  display: flex;
  flex: 1;
  gap: clamp(14px, 1.5vw, 28px);
  justify-content: center;
}

.primary-nav a {
  color: #6c6c6c;
  font-size: clamp(11px, 0.82vw, 16px);
  font-weight: 500;
  line-height: 20px;
  position: relative;
  white-space: nowrap;
}

.primary-nav a:hover,
.primary-nav a.active {
  color: #0b548b;
}

.primary-nav a.active {
  border-bottom: 1px solid #0b548b;
  padding-bottom: 4px;
}

.contact-button {
  align-items: center;
  background: #0b548b;
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 15px;
  font-weight: 500;
  justify-content: center;
  min-height: 46px;
  padding: 0 34px;
}

.mobile-nav {
  display: none;
  position: relative;
}

.mobile-nav summary {
  background: #0b548b;
  border-radius: 999px;
  color: #ffffff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  list-style: none;
  padding: 11px 20px;
}

.mobile-nav summary::-webkit-details-marker {
  display: none;
}

.mobile-menu {
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(2, 36, 77, 0.18);
  display: flex;
  flex-direction: column;
  min-width: 220px;
  padding: 12px;
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  z-index: 30;
}

.mobile-menu a {
  border-bottom: 1px solid #e3edf5;
  color: #555555;
  font-size: 13px;
  font-weight: 600;
  padding: 11px 10px;
}

.campaign-hero {
  align-items: center;
  display: flex;
  min-height: 585px;
  overflow: hidden;
  position: relative;
}

.campaign-hero-image {
  object-fit: cover;
  object-position: center 50%;
}

.campaign-hero-overlay {
  background:
    linear-gradient(90deg, rgba(2, 36, 77, 0.94) 0%, rgba(3, 47, 97, 0.82) 38%, rgba(3, 47, 97, 0.24) 70%, rgba(3, 47, 97, 0.18) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(2, 36, 77, 0.24));
  inset: 0;
  position: absolute;
  z-index: 1;
}

.hero-layout {
  align-items: center;
  display: grid;
  gap: clamp(2rem, 4vw, 4.5rem);
  grid-template-columns: minmax(0, 1.15fr) minmax(410px, 0.8fr);
  margin: 0 auto;
  max-width: 1480px;
  padding: 28px 0;
  position: relative;
  width: min(88%, 1480px);
  z-index: 2;
}

.campaign-copy {
  color: #ffffff;
  max-width: 780px;
  padding: 1rem 0;
}

.campaign-kicker {
  color: #cce8ff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  margin: 0 0 14px;
}

.campaign-hero h1 {
  color: #ffffff;
  font-size: clamp(2.5rem, 4.1vw, 4.25rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.02;
  margin: 0;
  max-width: 760px;
}

.campaign-hero h1 span {
  color: #cce8ff;
  display: block;
  margin-top: 0.1em;
}

.campaign-intro {
  font-size: clamp(1rem, 1.35vw, 1.3rem);
  font-weight: 300;
  line-height: 1.55;
  margin: 20px 0 0;
  max-width: 650px;
}

.campaign-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 24px;
}

.campaign-call {
  align-items: center;
  background: #ffffff;
  border-radius: 999px;
  color: #0b548b;
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
}

.campaign-actions > span {
  color: #e6f1fa;
  font-size: 13px;
  font-weight: 400;
}

.hero-form {
  background: rgba(255, 255, 255, 0.98);
  border-top: 7px solid #0b548b;
  box-shadow: 0 22px 48px rgba(2, 36, 77, 0.27);
  color: #3f3f3f;
  padding: 22px 24px 24px;
}

.form-heading p {
  color: #0b548b;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.13em;
  margin: 0 0 6px;
}

.form-heading h2 {
  color: #0b548b;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.15;
  margin: 0;
}

.form-heading > span {
  color: #6c6c6c;
  display: block;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.45;
  margin-top: 7px;
}

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

.form-grid label {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.form-grid label > span {
  color: #565656;
  font-size: 10px;
  font-weight: 600;
}

.form-grid input,
.form-grid select {
  appearance: none;
  background: #ffffff;
  border: 1px solid #c9d6df;
  border-radius: 0;
  color: #2f4050;
  font: inherit;
  font-size: 13px;
  height: 38px;
  min-width: 0;
  padding: 0 10px;
  width: 100%;
}

.form-grid select {
  background-image:
    linear-gradient(45deg, transparent 50%, #0b548b 50%),
    linear-gradient(135deg, #0b548b 50%, transparent 50%);
  background-position:
    calc(100% - 16px) 16px,
    calc(100% - 11px) 16px;
  background-repeat: no-repeat;
  background-size: 5px 5px, 5px 5px;
  padding-right: 32px;
}

.form-grid input:focus,
.form-grid select:focus {
  border-color: #0b548b;
  outline: 2px solid rgba(11, 84, 139, 0.14);
  outline-offset: 1px;
}

.form-full {
  grid-column: 1 / -1;
}

.form-consent {
  align-items: flex-start;
  color: #6c6c6c;
  display: flex;
  font-size: 9px;
  font-weight: 300;
  gap: 8px;
  line-height: 1.45;
  margin-top: 12px;
}

.form-consent input {
  accent-color: #0b548b;
  flex: 0 0 auto;
  height: 15px;
  margin: 1px 0 0;
  width: 15px;
}

.hero-form button {
  background: #0b548b;
  border: 0;
  border-radius: 999px;
  color: #ffffff;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  margin-top: 13px;
  min-height: 46px;
  padding: 0 22px;
  width: 100%;
}

.hero-form button:hover,
.contact-button:hover,
.campaign-call:hover {
  background: #3f3f3f;
  color: #ffffff;
}

@media (max-width: 1220px) {
  .primary-nav,
  .contact-button {
    display: none;
  }

  .mobile-nav {
    display: block;
  }

  .main-header-inner {
    min-height: 90px;
  }
}

@media (max-width: 900px) {
  .utility-inner {
    justify-content: center;
  }

  .social-links {
    display: none;
  }

  .utility-nav a:not(.utility-call) {
    display: none;
  }

  .campaign-hero {
    min-height: 0;
  }

  .hero-layout {
    gap: 24px;
    grid-template-columns: 1fr;
    padding: 46px 0;
  }

  .campaign-copy {
    max-width: 700px;
  }

  .hero-form {
    max-width: 660px;
    width: 100%;
  }
}

@media (max-width: 560px) {
  .header-container,
  .hero-layout {
    width: min(90%, 1680px);
  }

  .main-header-inner {
    min-height: 78px;
    padding: 12px 0;
  }

  .main-brand img {
    width: 135px;
  }

  .campaign-hero h1 {
    font-size: clamp(2.15rem, 10vw, 3.1rem);
  }

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

  .form-full {
    grid-column: auto;
  }

  .hero-form {
    padding: 20px 18px 22px;
  }
}
/* Shared agency pages extend the Orion campaign's navy and sky palette. */
.utility-tag{font-size:12px;letter-spacing:.1em;font-weight:700}.primary-nav{gap:16px}.primary-nav a{font-size:14px}.header-container{width:94%}.main-header-inner{gap:20px}.contact-button{padding:0 24px}.page-hero{position:relative;background:var(--navy-deep);color:white;overflow:hidden}.page-hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.page-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#02244df2,#052f65d4 45%,#052f6526)}.page-hero:not(.with-photo) .page-hero-shade{background:linear-gradient(110deg,#02244d,#0b548b)}.page-hero-inner{position:relative;width:88%;max-width:1320px;margin:auto;padding:90px 0 100px}.page-hero .section-kicker,.office-section .section-kicker{color:var(--sky-bright)}.page-hero h1{font-size:clamp(2.6rem,5.4vw,5.8rem);font-weight:800;line-height:1.04;max-width:1000px}.with-photo .page-hero-inner{padding:120px 0}.with-photo h1{max-width:760px}.page-intro{font-size:20px;line-height:1.65;max-width:690px;margin:28px 0}.page-hero .page-intro{color:#e2effa;max-width:620px}.page-hero .campaign-call{margin-top:8px}.section-shell{max-width:1480px}.section-shell h2,.cta-shell h2{font-size:clamp(2rem,3.3vw,3.5rem);line-height:1.12;font-weight:800;letter-spacing:-.035em;margin:0}.section-shell p{font-size:17px;line-height:1.75}.section-shell .section-kicker{font-size:14px;line-height:1.5;letter-spacing:.12em}.split-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:end;margin-bottom:44px}.split-heading>p{max-width:460px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{display:flex;flex-direction:column;border:1px solid #cbddeb;border-top:4px solid var(--blue);padding:32px;transition:background .2s,transform .2s}.service-card:hover{background:#e8f4fd;transform:translateY(-3px)}.service-card h3,.coverage-grid h3{font-size:23px;line-height:1.3;letter-spacing:-.025em;margin:24px 0 4px;font-weight:800}.service-card p{color:#536b82;flex:1}.text-link{font-size:14px;font-weight:800;letter-spacing:.055em;display:inline-block;margin-top:20px;color:#0b548b}.feature-number{font-size:28px;font-weight:500;color:#2874a6}.story-band{background:#e8f4fd}.story-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:center}.heritage-year{font-size:clamp(90px,12vw,170px);letter-spacing:-.07em;font-weight:800;line-height:1}.heritage-year span{font-size:14px;letter-spacing:.14em;display:block;margin-top:26px}.difference-section{background:#f5f9fc}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:55px}.feature-grid article{border-top:1px solid #c5dce9;padding-top:25px}.feature-grid h3{font-size:20px;font-weight:800;line-height:1.4;margin:20px 0 0}.feature-grid p{color:#536b82}.cta-shell{max-width:1320px;width:88%;margin:auto;padding:75px 0;display:flex;gap:40px;align-items:center;justify-content:space-between}.cta-shell p{line-height:1.65}.cta-actions{display:flex;flex-direction:column;gap:20px;align-items:center;flex-shrink:0}.full-footer{padding:65px 6% 25px;background:white}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.1fr 1fr;gap:40px;max-width:1320px;margin:auto}.footer-grid h3{font-size:14px;font-weight:800;letter-spacing:.06em;margin:0 0 23px}.footer-grid a{display:block;font-size:15px;line-height:1.6;margin:10px 0}.footer-grid p{font-size:15px;color:#536b82;line-height:1.7}.footer-grid img{height:auto}.footer-bottom{max-width:1320px;margin:45px auto 0;padding-top:24px;border-top:1px solid #d6e3ed;display:flex;gap:22px;flex-wrap:wrap;font-size:13px;color:#536b82}.coverage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:45px}.coverage-grid article{background:#e8f4fd;padding:32px}.coverage-grid p{color:#536b82}.coverage-note{color:#536b82;font-size:14px!important;margin-top:28px}.agent-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.agent-list a{background:white;border-left:3px solid var(--blue);padding:24px;display:flex;flex-direction:column;gap:8px}.agent-list a span:first-child{font-size:18px;font-weight:700}.agent-list a span:last-child{font-size:14px;color:#536b82}.team-group{margin-top:48px}.team-group>h3{font-size:20px;font-weight:800}.faq-section details{border-bottom:1px solid #cbddea;padding:22px 0}.faq-section h2{margin-bottom:30px}.faq-section summary{font-size:19px;font-weight:700;cursor:pointer}.faq-section details p{max-width:900px;color:#536b82}.office-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:40px}.location-card{border:1px solid #cbddeb;border-top:5px solid var(--blue);padding:30px;background:white}.location-card h3{font-size:27px;line-height:1.12;font-weight:800;letter-spacing:-.035em;margin:0}.location-card address{font-style:normal;font-size:17px;line-height:1.7;margin:22px 0}.location-phone{font-size:21px;font-weight:700}.location-card .fax{font-size:14px}.contact-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:start}.contact-layout h1{font-size:clamp(2rem,5vw,5rem);line-height:1.08}.contact-big-phone{display:block;font-size:28px;font-weight:700;margin:32px 0}.contact-form{padding:36px}.form-grid textarea{width:100%;border:1px solid #c9d6df;padding:12px;font:inherit}.form-grid label>span{font-size:14px}.form-grid input,.form-grid select{height:46px;font-size:16px}.form-grid{gap:18px}.form-consent{font-size:13px}.form-heading p{font-size:12px}.form-heading>span{font-size:14px}.hero-form button{font-size:14px}.primary-nav a:focus-visible,.mobile-nav summary:focus-visible,summary:focus-visible{outline:3px solid #e5af28;outline-offset:4px}.full-footer a:hover,.text-link:hover{ text-decoration:underline}.mobile-menu a{font-size:14px}.hero-form{scroll-margin-top:30px}
@media(max-width:1450px){.primary-nav{display:none}.main-header .contact-button{display:none}.mobile-nav{display:block}}
@media(max-width:1000px){.utility-tag{display:none}.feature-grid,.office-grid,.agent-list,.coverage-grid{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:repeat(2,1fr)}.contact-layout{gap:35px}.footer-grid{grid-template-columns:repeat(2,1fr)}.story-grid{gap:40px}.split-heading{gap:30px}}
@media(max-width:760px){.page-hero-inner,.with-photo .page-hero-inner{padding:65px 0}.page-hero h1{font-size:clamp(2.5rem,9vw,4rem)}.page-intro{font-size:18px}.split-heading,.story-grid,.contact-layout{grid-template-columns:1fr;gap:28px}.service-grid,.coverage-grid,.office-grid,.agent-list{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr;gap:25px}.cta-shell{display:block}.cta-actions{align-items:flex-start;margin-top:30px}.footer-grid{gap:30px}.full-footer{padding-bottom:35px}.footer-bottom{gap:15px}.contact-form{padding:24px}.contact-layout{padding-top:55px}.utility-nav a{font-size:14px}.with-photo .page-hero-shade{background:#02244dcc}.service-card{padding:28px}.page-hero-inner{width:90%}}
@media(max-width:420px){.feature-grid,.footer-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-full{grid-column:auto}.contact-form{padding:20px}}

.contact-topics{padding-left:20px;line-height:2;font-size:17px;margin:24px 0}.secure-form-link{display:inline-flex!important;min-height:52px;font-size:14px;text-align:center}
/* Match the source site's two-tier navigation, including its blue utility bar. */
.utility-bar{background:#0b548b!important;color:#fff!important;min-height:40px}.utility-bar .utility-nav a{color:#fff}.utility-bar .utility-call{color:#0b548b;background:#fff}.main-header{background:#fff;border-bottom:1px solid #e3edf5}.header-container{width:calc(100% - 48px);max-width:1320px}.main-header-inner{min-height:101px;padding:20px 0;gap:24px}.main-brand img{width:158px;height:61px;object-fit:contain}.primary-nav{display:flex;gap:25px}.primary-nav a{font-size:14px;line-height:20px;color:#6c6c6c;font-weight:500}.main-header .contact-button{display:inline-flex;background:#0b548b;color:#fff;border-radius:100px;height:46px;min-width:120px}.main-header .mobile-nav{display:none}.utility-inner .social-links{display:flex}.utility-nav{gap:20px}.utility-nav a{font-size:14px}.employee-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 28px;margin-top:32px}.employee-card{text-align:center;display:block}.employee-photo{aspect-ratio:1;overflow:hidden;border-radius:50%;background:white}.employee-photo img{width:100%;height:100%;object-fit:contain;transition:transform .2s}.employee-card:hover img{transform:scale(1.025)}.employee-card h3,.employee-card h4{font-size:20px;font-weight:800;margin:22px 0 7px}.employee-card p{font-size:15px!important;margin:0;color:#536b82}.employee-card .text-link{margin-top:12px}.bio-back{margin:0 0 45px}.bio-layout{display:grid;grid-template-columns:340px 1fr;gap:65px;align-items:start}.bio-photo img{width:100%;height:auto;display:block}.bio-copy h1{font-size:clamp(2.5rem,4vw,4rem);line-height:1.1}.section-shell .bio-section-heading{font-size:24px;line-height:1.35;margin:18px 0}.bio-role{display:inline-block;padding:7px 18px;border-radius:24px;background:#cbe6fb;color:#0b548b}.bio-contact{display:flex;flex-wrap:wrap;gap:24px;border-top:1px solid #cbddea;padding-top:25px;margin-top:30px}.bio-contact a{font-size:18px;font-weight:700}.service-card-photo{width:calc(100% + 64px);max-width:none;height:205px;object-fit:cover;margin:-32px -32px 26px}.story-photo{width:100%;height:430px;object-fit:cover}.location-photo{width:calc(100% + 60px);max-width:none;height:215px;object-fit:cover;margin:-30px -30px 25px}.coverage-photo{width:calc(100% + 64px);max-width:none;height:210px;object-fit:cover;margin:-32px -32px 25px}.contact-office-photo{width:100%;height:280px;object-fit:cover;margin-top:35px}.source-hero-photo .page-hero-shade{background:linear-gradient(90deg,#02244def 0%,#02244d9c 52%,#02244d33 100%)}
@media(min-width:1450px){.header-container{max-width:1680px;width:88%}.primary-nav{gap:34px}.primary-nav a{font-size:16px}.main-header .contact-button{min-width:150px}}
@media(max-width:1200px) and (min-width:992px){.primary-nav{gap:14px}.primary-nav a{font-size:12px}.main-brand img{width:110px;height:42px}.main-header-inner{gap:15px}.main-header .contact-button{min-width:100px;padding:0 18px}}
@media(max-width:991px){.main-header .primary-nav,.main-header .contact-button{display:none}.main-header .mobile-nav{display:block}.employee-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bio-layout{grid-template-columns:260px 1fr;gap:30px}.utility-nav a:not(.utility-call){display:inline-block;font-size:12px}.utility-inner{justify-content:space-between}.utility-nav{gap:12px}.header-container{width:92%}}
@media(max-width:760px){.employee-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.employee-card h3,.employee-card h4{font-size:18px}.bio-layout{grid-template-columns:1fr}.bio-photo{max-width:320px}.story-photo{height:310px}.utility-nav a:not(.utility-call){display:none}.utility-inner .social-links{display:flex}.main-header-inner{min-height:85px;padding:12px 0}.main-brand img{width:140px;height:54px}.service-card-photo{width:calc(100% + 56px);margin:-28px -28px 25px}}
@media(max-width:420px){.employee-grid{grid-template-columns:1fr}.employee-photo{max-width:290px;margin:auto}.bio-contact{flex-direction:column;overflow-wrap:anywhere}}
/* Keep the call button readable above generic utility-link rules. */
.utility-bar .utility-nav a.utility-call,.utility-bar .utility-nav a.utility-call:hover,.utility-bar .utility-nav a.utility-call:visited{color:#0b548b!important;-webkit-text-fill-color:#0b548b!important;background:#fff!important;display:inline-flex!important;align-items:center;gap:8px;white-space:nowrap;opacity:1;flex-shrink:0;font-weight:800;line-height:1.4}.utility-call svg{width:17px;height:17px;flex:none}.utility-call span{color:inherit!important}.community-section{background:#e8f4fd;overflow:hidden;padding-bottom:64px}.community-copy{text-align:center;padding-top:64px;padding-bottom:36px}.community-copy h2{max-width:1100px;margin:auto;font-size:clamp(1.9rem,3vw,3.15rem);line-height:1.2}.community-copy>p:not(.section-kicker){max-width:1080px;margin:22px auto 0;font-size:18px;line-height:1.8}.community-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:88%;max-width:1150px;margin:20px auto 0;align-items:center}.community-gallery img{width:100%;height:340px;object-fit:cover;object-position:center 35%;border-radius:12px;box-shadow:0 12px 30px #052f6519}.community-gallery img:nth-child(2){height:390px}.feature-grid{position:relative;gap:28px;padding-top:4px}.feature-grid:before{content:"";position:absolute;top:45px;left:8%;right:8%;border-top:2px dashed #93bad6}.feature-grid article{position:relative;background:white;border:1px solid #cbddeb;border-radius:16px;padding:28px;box-shadow:0 10px 25px #052f650b}.feature-icon,.coverage-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:20px;background:#0b548b;color:#fff;box-shadow:0 6px 0 #d5eafa;margin-bottom:24px;position:relative}.feature-icon svg,.coverage-icon svg{width:34px;height:34px}.feature-grid .feature-number{position:absolute;right:24px;top:29px;font-size:16px;letter-spacing:.08em;color:#7293ad}.feature-grid h3{margin-top:0}.feature-grid article:not(:last-child):after{content:"";width:10px;height:10px;background:#0b548b;border:3px solid #f5f9fc;border-radius:50%;position:absolute;right:-20px;top:39px}.coverage-grid{gap:28px;position:relative}.coverage-grid article{position:relative;background:linear-gradient(145deg,#fff,#eff7fd);border:1px solid #cadfec;border-top:4px solid #2874a6;border-radius:14px;box-shadow:0 10px 26px #052f6510;padding:30px}.coverage-grid .feature-number{position:absolute;right:28px;top:30px;font-size:16px;letter-spacing:.08em}.coverage-grid h3{margin-top:28px}.coverage-grid article:not(:nth-child(3n)):not(:last-child):after{content:"";position:absolute;right:-29px;top:65px;width:28px;border-top:2px dashed #93bad6}.coverage-icon{width:76px;height:76px;margin-bottom:18px}.coverage-grid p{margin-bottom:0}
@media(max-width:1000px){.feature-grid:before{display:none}.feature-grid article:after,.coverage-grid article:after{display:none}.community-gallery{width:100%;margin:0;padding:0 24px;grid-template-columns:repeat(3,minmax(0,1fr))}.community-gallery img,.community-gallery img:nth-child(2){height:300px}}
@media(max-width:760px){.community-copy{padding-top:48px}.community-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 5%;gap:14px}.community-gallery img,.community-gallery img:nth-child(2){display:block;flex:0 0 82%;width:82%;height:300px;scroll-snap-align:center}.community-copy>p:not(.section-kicker){font-size:16px}.feature-grid{grid-template-columns:1fr}.feature-grid article{padding:25px}.coverage-grid article{padding:28px}.utility-bar .utility-nav a.utility-call{font-size:13px!important;padding:6px 10px}}

/* Contact inquiry form */
.contact-topics{list-style:none;padding:0;display:grid;gap:14px;line-height:1.4;margin:26px 0 30px}
.contact-topics li{display:flex;align-items:center;gap:14px}
.topic-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;background:#edf4fb;color:#245b92;border-radius:10px}
.topic-icon svg{width:25px;height:25px}
.contact-form .form-grid{gap:18px}
.contact-form .form-grid label>span{font-size:14px}
.contact-form .form-grid textarea{font-size:16px;resize:vertical;min-height:120px;color:#2f4050;background:#fff}
.contact-form .form-grid textarea:focus{outline:2px solid #245b92;outline-offset:2px}
.contact-form .form-consent{font-size:14px;line-height:1.55;margin:22px 0}
.contact-form button{min-height:50px;font-size:15px;cursor:pointer}
.contact-form button:disabled{opacity:.65;cursor:wait}
.contact-form .coverage-note .text-link{margin-top:0}
.inquiry-success{padding:24px;background:#edf4fb;border-left:4px solid #245b92}
.inquiry-success h3{font-size:24px;font-weight:800}
.inquiry-success a{text-decoration:underline}
.inquiry-error{padding:14px;background:#fff1f0;color:#912b25}
.inquiry-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:540px){.contact-form .form-grid{grid-template-columns:1fr}.contact-form .form-full{grid-column:auto}}

.utility-bar{background:#24588c!important}
.utility-inner .social-links{gap:13px;align-items:center}
.utility-inner .social-links a{display:grid;place-items:center;width:30px;height:30px;min-width:30px;border:0;border-radius:50%;background:#fff;color:#24588c;line-height:1;padding:0}
.utility-inner .social-links svg{width:17px;height:17px;display:block}
.utility-inner .social-links a[aria-label="Facebook"] svg{width:19px;height:19px}
.utility-inner .social-links a:hover{background:#e7f1fa}
.utility-inner .social-links a:focus-visible{outline:2px solid white;outline-offset:4px}

/* Shared motion: readable without JavaScript, optional for every visitor. */
.kinetic-title .kinetic-word{display:inline-block;margin:0;white-space:pre;color:inherit;transform-origin:50% 100%;vertical-align:baseline}
.kinetic-title .kinetic-word:last-child{color:var(--sky-bright)}
.hero-contour{position:absolute;right:-17%;top:-35%;width:60%;aspect-ratio:1;border:1px solid #cce8ff26;border-radius:50%;pointer-events:none}
.hero-contour:before,.hero-contour:after{content:"";position:absolute;inset:12%;border:1px solid #cce8ff20;border-radius:50%}
.hero-contour:after{inset:24%}
.action-arrow{display:inline-block;margin-left:10px;transition:transform .25s ease}
a:hover .action-arrow,a:focus-visible .action-arrow{transform:translate(4px,-2px)}
.campaign-call,.contact-button,.hero-form button,.service-link-grid a{transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.campaign-call:hover,.contact-button:hover,.hero-form button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 9px 22px #052f6526}
.campaign-call:active,.contact-button:active,.hero-form button:active:not(:disabled){transform:translateY(0) scale(.98)}
.primary-nav a{position:relative}
.primary-nav a:after{content:"";height:2px;position:absolute;left:0;right:0;bottom:-8px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.primary-nav a:hover:after,.primary-nav a:focus-visible:after,.primary-nav a.active:after{transform:scaleX(1)}
.feature-icon,.coverage-icon{transition:transform .35s ease,box-shadow .35s ease}
.feature-grid article:hover .feature-icon,.coverage-grid article:hover .coverage-icon{transform:translateY(-4px) rotate(-4deg);box-shadow:0 10px 0 #d5eafa}
.location-card{transition:transform .3s ease,box-shadow .3s ease}
.location-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #052f6512}
.form-grid input,.form-grid select,.form-grid textarea{transition:border-color .2s ease,box-shadow .2s ease}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{box-shadow:0 0 0 4px #dcedfb}
.faq-section summary{list-style:none;position:relative;padding-right:40px}
.faq-section summary::-webkit-details-marker{display:none}
.faq-section summary:after{content:"+";position:absolute;right:4px;top:-4px;font-size:30px;font-weight:400;transition:transform .25s ease}
.faq-section details[open]>summary:after{transform:rotate(45deg)}
.faq-section details[open]>p{animation:detail-enter .3s ease}
.form-spinner{display:inline-block;width:17px;height:17px;vertical-align:middle;margin-right:10px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}
.success-check{width:54px;height:54px;stroke:#17679c;stroke-width:3;margin-bottom:14px}
.success-check circle{stroke-dasharray:151;stroke-dashoffset:0;animation:draw-circle .6s ease both}
.success-check path{stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:42;stroke-dashoffset:0;animation:draw-check .45s .35s ease both}
.motion-preference{padding:0 6% 24px;background:white;text-align:right}
.motion-preference button{display:inline-flex;align-items:center;gap:8px;border:1px solid #cbddeb;border-radius:24px;background:#f5f9fc;color:#385b79;padding:8px 13px;font:inherit;font-size:12px;cursor:pointer}
.motion-preference button:disabled{cursor:default}
.motion-preference button:focus-visible{outline:3px solid #e5af28;outline-offset:3px}
@media(prefers-reduced-motion:no-preference){
  html:not([data-motion="paused"]) .kinetic-word{animation:kinetic-enter .85s cubic-bezier(.2,.75,.2,1) both;animation-delay:calc(var(--word-index,0)*65ms)}
  html:not([data-motion="paused"]) .page-hero .section-kicker{animation:detail-enter .7s ease both}
  html:not([data-motion="paused"]) .page-hero .page-intro,html:not([data-motion="paused"]) .page-hero .landing-actions{animation:detail-enter .8s .25s ease both}
  html:not([data-motion="paused"]) .page-hero-photo{animation:hero-drift 18s ease-in-out infinite alternate}
  html:not([data-motion="paused"]) .hero-contour{animation:contour-drift 12s ease-in-out infinite alternate}
  html:not([data-motion="paused"]) .community-gallery img{animation:community-float 6s ease-in-out infinite alternate;animation-delay:calc(var(--gallery-index,0)*-1s)}
  .community-gallery img:nth-child(2){--gallery-index:2}.community-gallery img:nth-child(3){--gallery-index:4}
  html:not([data-motion="paused"]) [data-reveal="true"]{opacity:0;translate:0 24px;transition:opacity .65s ease var(--reveal-delay,0ms),translate .65s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
  html:not([data-motion="paused"]) [data-reveal="true"].is-revealed{opacity:1;translate:0 0}
}
@keyframes kinetic-enter{from{opacity:0;transform:translateY(.65em) rotateX(20deg);filter:blur(4px)}to{opacity:1;transform:translateY(0) rotateX(0);filter:blur(0)}}
@keyframes hero-drift{from{transform:scale(1.02)}to{transform:scale(1.08) translate(-.5%,-.5%)}}
@keyframes contour-drift{from{transform:translate(0,0) scale(1)}to{transform:translate(-5%,7%) scale(1.08)}}
@keyframes community-float{from{transform:translateY(0)}to{transform:translateY(-12px)}}
@keyframes detail-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes draw-circle{from{stroke-dashoffset:151}to{stroke-dashoffset:0}}
@keyframes draw-check{from{stroke-dashoffset:42}to{stroke-dashoffset:0}}

/* Google Maps office cards and local landing pages. */
.office-grid{align-items:stretch}
.location-card{display:flex;flex-direction:column;min-width:0}
.location-card .section-kicker{font-size:12px;margin-bottom:12px}
.location-card .location-phone{width:fit-content}
.office-map-preview{display:block;position:relative;height:240px;width:calc(100% + 60px);margin:-30px -30px 27px;background:#e8f0e9;overflow:hidden;flex:none}
.office-map-preview iframe{width:100%;height:100%;border:0;pointer-events:none}
.map-preview-label{position:absolute;left:14px;right:14px;top:14px;display:flex;align-items:center;gap:8px;background:#fffffff2;color:var(--navy);border:1px solid #cbddeb;border-radius:7px;padding:10px 12px;box-shadow:0 4px 16px #052f6515;font-size:13px;font-weight:700}
.map-preview-label svg{width:19px;height:19px;flex:none}
.map-preview-label>span:last-child{margin-left:auto}
.office-card-actions{margin-top:auto;padding-top:20px;display:flex;flex-direction:column;gap:14px}
.office-card-actions .text-link{margin:0;font-size:12px}
.map-directions-link{font-size:14px;color:#536b82;width:fit-content}
.map-directions-link:hover{text-decoration:underline}
.footer-locations{max-width:1320px;display:flex;flex-wrap:wrap;gap:14px 28px;margin:38px auto 0;border-top:1px solid #e1eaf1;padding-top:24px;font-size:13px;font-weight:700}
.footer-bottom{margin-top:24px}
.local-hero-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(230px,.75fr);gap:80px;align-items:center}
.local-hero h1{font-size:clamp(2.7rem,4.9vw,5.3rem);max-width:900px}
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:12px;color:#d3e4f2;margin:0 0 38px;line-height:1.5}
.breadcrumbs a:hover{text-decoration:underline}
.local-hero-note{border-left:1px solid #cce8ff60;padding:12px 0 12px 36px}
.local-hero-note svg{width:40px;height:40px;color:#cce8ff}
.local-hero-note>p{font-size:22px;font-weight:800;line-height:1.35;margin:24px 0}
.local-hero-note address{font-style:normal;font-size:18px;line-height:1.8;margin-bottom:22px}
.local-hero-note>span{font-size:14px;color:#cce8ff;line-height:1.7}
.landing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:30px}
.light-link{display:inline-block;color:#e2effa;font-size:14px;font-weight:700;line-height:1.6;text-decoration:underline;text-underline-offset:5px}
.local-intro{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:start}
.local-intro>div>p:first-child{margin-top:0}
.service-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.service-link-grid a{display:flex;align-items:center;justify-content:space-between;padding:22px;background:#edf5fb;border:1px solid #cbddeb;font-size:17px;font-weight:700}
.service-link-grid a:hover{background:#dcedfb;transform:translateY(-3px)}
.local-visit{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:center;scroll-margin-top:30px}
.local-visit address{font-style:normal;font-size:21px;line-height:1.65;margin-top:28px}
.local-visit .contact-big-phone{margin:20px 0}
.local-directions{background:var(--navy);color:white;border-radius:99px;font-size:12px;letter-spacing:.02em;min-height:48px}
.local-map{height:480px;border:1px solid #cbddeb;background:#edf5fb;display:flex;flex-direction:column}
.local-map iframe{border:0;width:100%;flex:1;min-height:350px}
.local-map>a{padding:17px;text-align:center;font-size:13px;font-weight:700;background:white}

/* Harvest campaign: the same Hanford typography, palette and visual rhythm. */
.harvest-hero .page-hero-shade{background:linear-gradient(90deg,#02244def 0%,#02244dd6 52%,#02244d75 100%)}
.harvest-hero .page-hero-photo{object-position:center 60%}
.harvest-hero .page-hero-inner{padding:65px 0 90px}
.harvest-hero-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.7fr);gap:70px;align-items:center}
.harvest-hero h1{font-size:clamp(2.8rem,5vw,5.5rem);max-width:850px}
.harvest-hero-note{padding:34px 30px;border:1px solid #cce8ff55;border-radius:4px;background:#052f656b;backdrop-filter:blur(8px)}
.harvest-hero-note>svg{width:40px;height:40px;color:#cce8ff;margin-bottom:25px}
.harvest-hero-note .section-kicker{font-size:10px;letter-spacing:.09em;line-height:1.7}
.harvest-note-title{font-size:clamp(25px,2.4vw,35px);font-weight:700;line-height:1.3;letter-spacing:-.03em;margin:22px 0 30px}
.harvest-hero-note>a{display:block;border-top:1px solid #cce8ff50;padding-top:22px;font-size:11px;font-weight:800;line-height:1.7}
.landing-subnav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 6%;background:#e8f4fd;border-bottom:1px solid #cbddeb}
.landing-subnav a{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:24px 26px;border-right:1px solid #c6dceb;font-size:13px;font-weight:800;transition:background .2s}
.landing-subnav a:first-child{border-left:1px solid #c6dceb}
.landing-subnav a:hover{background:#d4eafa}
.deadline-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.deadline-card{border:1px solid #cbddeb;border-top:4px solid var(--blue);padding:28px;display:flex;flex-direction:column;background:white;box-shadow:0 10px 28px #052f6508}
.deadline-date{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid #d9e6ef;padding-bottom:22px;margin-bottom:24px;font-weight:800}
.deadline-date>span:first-child{font-size:15px;letter-spacing:.08em}
.deadline-date strong{font-size:64px;line-height:1;letter-spacing:-.06em}
.deadline-date>span:last-child{margin-left:auto;font-size:15px;color:#536b82}
.deadline-tag{font-size:10px;font-weight:800;letter-spacing:.09em;color:#2d6e99}
.deadline-copy{display:flex;flex-direction:column;flex:1}
.deadline-copy h3{font-size:24px;font-weight:800;line-height:1.3;margin:14px 0 0;letter-spacing:-.03em}
.deadline-copy p{font-size:16px;line-height:1.75;color:#536b82}
.deadline-copy .text-link{font-size:12px;margin-top:auto;padding-top:12px}
.past-deadline{display:flex;align-items:center;gap:23px;background:#f3f7fa;border-left:3px solid #6c8fa9;padding:26px;margin-top:28px}
.past-deadline>svg{flex:none;width:30px;height:30px}
.past-deadline strong{font-size:12px;letter-spacing:.04em}
.past-deadline p{font-size:15px;line-height:1.65;margin:9px 0 0;color:#536b82}
.past-deadline .text-link{white-space:nowrap;margin:0;font-size:12px}
.coverage-note a{text-decoration:underline;text-underline-offset:3px}
.harvest-checklist-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:start}
.harvest-checklist-intro{max-width:380px;margin-top:27px}
.harvest-step{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid #b7d3e7}
.harvest-step:first-child{padding-top:0}
.harvest-step>span{font-size:18px;font-weight:600;color:#3b769f;padding-top:5px}
.harvest-step h3{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.35;margin:0}
.harvest-step p{font-size:16px;color:#4c6882;margin:14px 0 0}
.harvest-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.harvest-options article{padding:38px;background:#f4f8fc;border:1px solid #cedfec;border-radius:8px}
.option-abbreviation{display:block;font-weight:800;font-size:60px;letter-spacing:-.04em;color:#1b6699;line-height:1}
.harvest-options h3{font-size:25px;font-weight:800;margin:20px 0 16px;line-height:1.3}
.harvest-options article>p{color:#536b82}
.option-question{display:flex;align-items:flex-start;gap:14px;border-top:1px solid #c8dbe9;padding-top:22px;margin-top:25px}
.option-question>svg{width:23px;height:23px;flex:none;margin-top:3px}
.option-question p{margin:0;font-size:16px;font-weight:700;line-height:1.6}
.harvest-review{background:var(--navy-deep);color:white}
.harvest-review-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:70px;align-items:start}
.harvest-review .section-kicker{color:#cce8ff}
.harvest-review-copy{position:sticky;top:35px}
.harvest-review-copy>p:not(.section-kicker){color:#cce0f1;margin-top:27px}
.review-topics{list-style:none;padding:15px 0;display:grid;gap:22px;margin-top:25px}
.review-topics li{display:flex;align-items:center;gap:15px;font-size:15px;line-height:1.5}
.review-topics svg{width:25px;height:25px;color:#cce8ff;flex:none}
.harvest-review .contact-big-phone{color:white;font-size:30px}
.harvest-review .form-fineprint{font-size:13px;max-width:400px;line-height:1.7;margin-top:35px}
.harvest-review .contact-form{color:var(--ink);background:white;min-width:0}
.harvest-review .contact-form .form-heading h2{font-size:27px;line-height:1.2}
.harvest-review .contact-form>p{font-size:15px}
.guidance-sources ul{padding-left:20px;line-height:1.8;font-size:14px}
.guidance-sources a{text-decoration:underline;text-underline-offset:3px}
.harvest-promo{background:var(--navy);color:white;position:relative;overflow:hidden}
.harvest-promo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#02244df5,#02244dd6),url('images/source/farm-insurance-services-body.png') center 62%/cover}
.harvest-promo-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:50px;padding-top:65px;padding-bottom:65px}
.harvest-promo .section-kicker{color:#cce8ff}
.harvest-promo p:not(.section-kicker){max-width:590px;color:#e0ecf7}
.harvest-promo .campaign-call{flex:none}
#important-dates,#harvest-checklist,#coverage-options,#crop-review{scroll-margin-top:25px}

@media(max-width:1100px){
  .harvest-hero-grid,.local-hero-grid{gap:40px;grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr)}
  .harvest-hero h1,.local-hero h1{font-size:clamp(2.8rem,5.1vw,4.7rem)}
  .harvest-review-layout,.harvest-checklist-layout,.local-intro,.local-visit{gap:35px}
  .deadline-grid{gap:15px}.deadline-card{padding:22px}.deadline-copy h3{font-size:21px}
  .landing-subnav{padding:0 3%}.landing-subnav a{padding:20px 16px;font-size:12px}
  .harvest-promo-inner{gap:30px}.harvest-promo .campaign-call{font-size:12px}
}
@media(max-width:800px){
  .local-hero-grid,.harvest-hero-grid{grid-template-columns:1fr;gap:35px}
  .local-hero-note{display:none}.harvest-hero-note{display:none}
  .harvest-hero .page-hero-inner{padding:45px 0 65px}
  .harvest-hero h1,.local-hero h1{font-size:clamp(2.55rem,8vw,4.5rem);max-width:680px}
  .local-hero .page-intro{max-width:650px}.breadcrumbs{margin-bottom:27px}
  .local-intro,.local-visit,.harvest-review-layout,.harvest-checklist-layout{grid-template-columns:1fr;gap:35px}
  .harvest-review-copy{position:static}
  .deadline-grid{grid-template-columns:1fr}
  .deadline-card{display:grid;grid-template-columns:105px 1fr;gap:25px;padding:25px}
  .deadline-date{flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;border:0;border-right:1px solid #d9e6ef;margin:0;padding:0 25px 0 0}
  .deadline-date>span:last-child{margin:0}.deadline-date strong{font-size:58px}
  .deadline-copy .text-link{margin-top:0;padding-top:0}
  .past-deadline{flex-wrap:wrap;align-items:flex-start;gap:16px}.past-deadline>div{flex:1;min-width:200px}.past-deadline>a{margin-left:46px}
  .service-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .harvest-promo-inner{flex-direction:column;align-items:flex-start;gap:20px}
  .local-map{height:420px}.hero-contour{width:105%;right:-50%}
  .harvest-options article{padding:27px}
}
@media(max-width:540px){
  .page-hero h1,.local-hero h1,.harvest-hero h1{font-size:clamp(1.9rem,8vw,2.7rem)}
  .landing-subnav{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}
  .landing-subnav a{border-bottom:1px solid #c6dceb;padding:18px;font-size:11px}.landing-subnav a:first-child{border-left:0}
  .landing-actions{gap:20px}.landing-actions .campaign-call{font-size:12px;padding:0 18px}
  .harvest-options,.service-link-grid{grid-template-columns:1fr}
  .deadline-card{grid-template-columns:78px 1fr;gap:17px;padding:22px 18px}.deadline-date{padding-right:16px}.deadline-date strong{font-size:48px}.deadline-date>span:first-child{font-size:12px}.deadline-copy h3{font-size:21px}
  .deadline-copy p{font-size:15px}.deadline-tag{font-size:9px;letter-spacing:.04em}
  .past-deadline{padding:20px}.past-deadline>a{margin-left:0}
  .harvest-review .contact-big-phone{font-size:27px}.harvest-review .contact-form .form-heading h2{font-size:24px}
  .local-map{height:380px}.local-map iframe{min-height:300px}
  .local-visit address{font-size:19px}.local-directions{width:100%;font-size:10px;padding:12px 14px}
  .office-map-preview{height:225px}.motion-preference{text-align:left}
  .harvest-step{gap:17px}.harvest-step h3{font-size:22px}
  .footer-locations{gap:15px 20px}
}
/* Featured carrier identities keep their original colors on clean white tiles. */
.carrier-section{background:var(--navy-deep);color:white}
.carrier-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);align-items:center;gap:65px}
.carrier-copy .section-kicker{color:var(--sky-bright)}
.carrier-copy>p:not(.section-kicker){color:#d5e5f3;margin:26px 0}
.carrier-copy .campaign-call{font-size:12px;gap:15px;min-height:50px}
.carrier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0}
.carrier-tile{display:flex;align-items:center;justify-content:center;background:white;border:1px solid #dce8f1;border-radius:12px;padding:18px;min-width:0;min-height:115px}
.carrier-tile img{display:block;width:100%;max-width:158px;height:auto;max-height:90px;object-fit:contain}
@media(max-width:1000px){.carrier-layout{grid-template-columns:1fr;gap:35px}.carrier-copy{max-width:700px}.carrier-grid{max-width:800px;width:100%}}
@media(max-width:540px){.carrier-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.carrier-tile{min-height:103px;padding:14px}.carrier-tile:last-child{grid-column:1/-1;justify-self:center;width:calc((100% - 12px)/2)}.carrier-copy .campaign-call{font-size:10px;padding:0 18px}}

/* A visitor's pause setting and OS preference stop all ornamental motion. */
html[data-motion="paused"]{scroll-behavior:auto}
html[data-motion="paused"] *,html[data-motion="paused"] *:before,html[data-motion="paused"] *:after{animation:none!important;transition:none!important}
html[data-motion="paused"] [data-reveal]{opacity:1!important;translate:none!important}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  [data-reveal]{opacity:1!important;translate:none!important}
  .campaign-call:hover,.contact-button:hover,.location-card:hover,.service-card:hover,.service-link-grid a:hover,.feature-grid article:hover .feature-icon,.coverage-grid article:hover .coverage-icon,.employee-card:hover img{transform:none}
}
@media print{[data-reveal]{opacity:1!important;translate:none!important}.motion-preference{display:none}}
