:root {
  --omv-forest: #073d33;
  --omv-forest-deep: #042d26;
  --omv-sand: #f7f0df;
  --omv-gold: #d7a84b;
  --omv-ink: #17231f;
  --omv-white: #ffffff;
  --omv-danger: #a62f2f;
}

html { scroll-behavior: smooth; }

#omv-service-request,
.omv-bird-page,
.omv-thank-you {
  color: var(--omv-ink);
  font-family: "Plus Jakarta Sans", Arial, sans-serif;
}

#omv-service-request {
  background: linear-gradient(135deg, #f7f0df 0%, #fffdfa 48%, #e9f2ed 100%);
  border-top: 5px solid var(--omv-gold);
  padding: clamp(3.5rem, 7vw, 6rem) 1.25rem;
}

.omv-container {
  width: min(1120px, 100%);
  margin: 0 auto;
}

.omv-eyebrow {
  display: inline-block;
  margin: 0 0 0.75rem;
  color: var(--omv-forest);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.omv-section-title,
.omv-bird-page h1,
.omv-thank-you h1 {
  color: var(--omv-forest-deep);
  font-family: "DM Serif Display", Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 4rem);
  line-height: 1.05;
  margin: 0 0 1rem;
}

.omv-section-intro,
.omv-bird-page .omv-lead,
.omv-thank-you .omv-lead {
  color: #253631;
  font-size: clamp(1rem, 1.7vw, 1.16rem);
  line-height: 1.75;
  max-width: 70ch;
}

.omv-form-shell {
  background: var(--omv-white);
  border: 1px solid #cedbd3;
  border-radius: 1.25rem;
  box-shadow: 0 1.1rem 3rem rgba(4, 45, 38, 0.14);
  margin-top: 2rem;
  padding: clamp(1.35rem, 4vw, 2.5rem);
}

.omv-form-grid {
  display: grid;
  gap: 1.1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.omv-field { display: grid; gap: 0.42rem; }
.omv-field--wide { grid-column: 1 / -1; }
.omv-field label,
.omv-consent-label {
  color: #182822;
  font-size: 0.94rem;
  font-weight: 750;
  line-height: 1.35;
}

.omv-field input,
.omv-field select,
.omv-field textarea {
  background: #ffffff;
  border: 1px solid #64756d;
  border-radius: 0.55rem;
  box-sizing: border-box;
  color: #15251f;
  font: inherit;
  min-height: 2.85rem;
  padding: 0.72rem 0.8rem;
  width: 100%;
}

.omv-field textarea { min-height: 8rem; resize: vertical; }
.omv-field input::placeholder,
.omv-field textarea::placeholder { color: #53625c; opacity: 1; }

.omv-consent { align-items: flex-start; display: flex; gap: 0.7rem; margin-top: 1rem; }
.omv-consent input { height: 1.15rem; margin-top: 0.14rem; min-width: 1.15rem; width: 1.15rem; }
.omv-consent-label { font-weight: 500; }
.omv-consent-label a { color: #064f40; font-weight: 800; text-decoration: underline; }

.omv-honeypot { left: -10000px; position: absolute; top: auto; }

.omv-form-status {
  background: #edf6ef;
  border-left: 4px solid #0a6a53;
  color: #123d30;
  display: none;
  font-weight: 700;
  line-height: 1.5;
  margin: 1rem 0;
  padding: 0.9rem 1rem;
}
.omv-form-status[data-state="error"] { background: #fff1f0; border-left-color: var(--omv-danger); color: #6c1919; }
.omv-form-status[data-state="success"] { background: #edf6ef; border-left-color: #0a6a53; color: #123d30; }

.omv-button,
.omv-bird-nav-link {
  align-items: center;
  background: var(--omv-forest);
  border: 2px solid var(--omv-forest);
  border-radius: 0.5rem;
  color: #ffffff !important;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-weight: 800;
  justify-content: center;
  min-height: 3.1rem;
  padding: 0.78rem 1.15rem;
  text-decoration: none;
}
.omv-button:hover,
.omv-bird-nav-link:hover { background: #052e27; border-color: #052e27; color: #ffffff !important; }
.omv-button[disabled] { cursor: not-allowed; opacity: 0.7; }

.omv-bird-certification {
  align-items: center;
  background: #ffffff;
  border: 1px solid #cad7d1;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 2rem 0;
  padding: 1.5rem;
  text-align: center;
}
.omv-bird-certification img {
  display: block;
  height: auto;
  max-width: min(320px, 100%);
  width: 100%;
}
.omv-bird-certification p { color: #24342e; font-weight: 650; margin: 0; max-width: 54ch; }

.omv-bird-page,
.omv-thank-you { background: #fffdf8; min-height: 100vh; }
.omv-bird-page header,
.omv-thank-you header {
  background: var(--omv-forest-deep);
  padding: 1rem 1.25rem;
}
.omv-bird-page .omv-brand,
.omv-thank-you .omv-brand { align-items: center; color: #ffffff; display: flex; font-weight: 800; gap: 0.7rem; text-decoration: none; }
.omv-bird-page .omv-brand img,
.omv-thank-you .omv-brand img { height: 42px; width: auto; }
.omv-bird-page nav,
.omv-thank-you nav { display: flex; gap: 1rem; justify-content: space-between; margin: 0 auto; max-width: 1120px; }
.omv-bird-page nav a,
.omv-thank-you nav a { color: #ffffff; font-weight: 750; text-decoration: none; }
.omv-bird-hero,
.omv-thank-you-main { padding: clamp(3rem, 7vw, 6.5rem) 1.25rem 2.6rem; }
.omv-bird-content { padding: 1.5rem 1.25rem 5rem; }
.omv-bird-grid { display: grid; gap: 1.3rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 2rem 0 3rem; }
.omv-bird-card { background: #ffffff; border-top: 4px solid var(--omv-gold); box-shadow: 0 0.6rem 1.6rem rgba(4, 45, 38, 0.09); padding: 1.4rem; }
.omv-bird-card h2 { color: var(--omv-forest-deep); font-family: "DM Serif Display", Georgia, serif; font-size: 1.7rem; margin-top: 0; }
.omv-bird-card p { color: #24342e; line-height: 1.65; margin-bottom: 0; }
.omv-bird-cta { background: var(--omv-forest); color: #ffffff; margin-top: 2rem; padding: clamp(1.6rem, 4vw, 3rem); }
.omv-bird-cta h2 { color: #ffffff; font-family: "DM Serif Display", Georgia, serif; font-size: clamp(1.8rem, 3vw, 2.6rem); margin-top: 0; }
.omv-bird-cta p { color: #ffffff; line-height: 1.65; max-width: 64ch; }
.omv-bird-cta .omv-button { background: #f7f0df; border-color: #f7f0df; color: #082d26 !important; }

/* Contrast repair for the existing compiled site. */
#root footer,
footer {
  background: #042d26 !important;
  color: #ffffff !important;
}
#root footer p,
#root footer span,
#root footer li,
#root footer a,
footer p,
footer span,
footer li,
footer a { color: #ffffff !important; opacity: 1 !important; }
#root footer a:hover,
footer a:hover { color: #f5d78d !important; text-decoration: underline; }

#root a[href="/bird-control-bird-proofing/"] { white-space: nowrap; }

:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #f1c45b !important;
  outline-offset: 3px !important;
}

@media (max-width: 720px) {
  .omv-form-grid,
  .omv-bird-grid { grid-template-columns: 1fr; }
  .omv-field--wide { grid-column: auto; }
  .omv-bird-page nav,
  .omv-thank-you nav { align-items: flex-start; flex-direction: column; }
  .omv-bird-certification img { max-width: min(220px, 100%); }
}

/* Preserve and enlarge the existing Bird Barrier credential without distortion. */
#root img[src*="bird-barrier-certified"] {
  display: block !important;
  height: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: min(320px, 100%) !important;
  object-fit: contain !important;
  width: 100% !important;
}
@media (max-width: 720px) {
  #root img[src*="bird-barrier-certified"] { max-width: min(220px, 100%) !important; }
}


/* PageSpeed render containment for injected and below-the-fold service content. */
#omv-service-request {
  content-visibility: auto;
  contain-intrinsic-size: auto 1020px;
}

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

/* Bird Control & Bird Proofing v2 — scoped styles for the approved service page. */
.omv-bird-page--v2 {
  --bird-forest: #173c3f;
  --bird-forest-deep: #102f32;
  --bird-blue: #1f6fa8;
  --bird-blue-deep: #145b8e;
  --bird-gold: #d7a84b;
  --bird-sand: #f7f2e8;
  --bird-ink: #183033;
  --bird-muted: #415456;
  --bird-line: #d5dfdf;
  background: #fff;
  color: var(--bird-ink);
}
.omv-bird-page--v2 *, .omv-bird-page--v2 *::before, .omv-bird-page--v2 *::after { box-sizing: border-box; }
.omv-bird-page--v2 .omv-container { width: min(1160px, calc(100% - 2.5rem)); }
.omv-bird-page--v2 a { text-underline-offset: 0.18em; }
.omv-bird-header { background: #fff; }
.omv-bird-header__utility { background: var(--bird-forest-deep); color: #fff; font-size: .88rem; }
.omv-bird-header__utility .omv-container { align-items: center; display: flex; justify-content: space-between; min-height: 2.55rem; gap: 1rem; }
.omv-bird-header__utility a { color: #fff; font-weight: 800; }
.omv-bird-nav { align-items: center; display: flex; gap: 1.4rem; justify-content: space-between; min-height: 5.35rem; }
.omv-bird-page--v2 .omv-brand { align-items: center; display: inline-flex; color: var(--bird-forest-deep); text-decoration: none; }
.omv-bird-page--v2 .omv-brand img { display: block; height: 42px; max-width: 190px; object-fit: contain; width: auto; }
.omv-bird-nav__links { align-items: center; display: flex; gap: 1.45rem; }
.omv-bird-nav__links a { color: #244549; font-size: .95rem; font-weight: 800; text-decoration: none; }
.omv-bird-nav__links a:hover, .omv-bird-nav__links a:focus-visible { color: var(--bird-blue-deep); text-decoration: underline; }
.omv-bird-page--v2 .omv-button { background: var(--bird-forest); border-color: var(--bird-forest); border-radius: .42rem; color: #fff !important; min-height: 3rem; padding: .68rem 1.1rem; }
.omv-bird-page--v2 .omv-button:hover, .omv-bird-page--v2 .omv-button:focus-visible { background: var(--bird-forest-deep); border-color: var(--bird-forest-deep); }
.omv-bird-page--v2 .omv-button--gold { background: var(--bird-gold); border-color: var(--bird-gold); color: #1b2d2f !important; }
.omv-bird-page--v2 .omv-button--gold:hover, .omv-bird-page--v2 .omv-button--gold:focus-visible { background: #edc46f; border-color: #edc46f; }
.omv-bird-page--v2 .omv-button--light { background: transparent; border-color: rgba(255,255,255,.92); color: #fff !important; }
.omv-bird-page--v2 .omv-button--light:hover, .omv-bird-page--v2 .omv-button--light:focus-visible { background: #fff; border-color: #fff; color: var(--bird-forest-deep) !important; }
.omv-bird-hero { color: #fff; display: grid; isolation: isolate; min-height: clamp(31rem, 53vw, 39rem); overflow: hidden; position: relative; }
.omv-bird-hero__image, .omv-bird-hero__overlay { grid-area: 1 / 1; height: 100%; width: 100%; }
.omv-bird-hero__image { object-fit: cover; object-position: center; }
.omv-bird-hero__overlay { background: linear-gradient(90deg, rgba(12,47,50,.98) 0%, rgba(12,47,50,.88) 47%, rgba(12,47,50,.35) 100%); }
.omv-bird-hero__content { align-self: center; grid-area: 1 / 1; max-width: 48rem; padding-bottom: clamp(4rem, 8vw, 7.5rem); padding-top: clamp(4rem, 8vw, 7.5rem); position: relative; z-index: 1; }
.omv-bird-hero__eyebrow, .omv-bird-kicker { color: var(--bird-blue-deep); font-size: .79rem; font-weight: 900; letter-spacing: .11em; margin: 0 0 .9rem; text-transform: uppercase; }
.omv-bird-hero__eyebrow { background: var(--bird-blue-deep); border-radius: .18rem; color: #fff; display: inline-block; padding: .33rem .6rem; }
.omv-bird-page--v2 h1, .omv-bird-page--v2 h2, .omv-bird-page--v2 h3 { font-family: "DM Serif Display", Georgia, serif; }
.omv-bird-page--v2 h1 { color: #fff; font-size: clamp(2.7rem, 6vw, 5rem); line-height: 1.01; margin: 0 0 1rem; }
.omv-bird-hero__content > p:not(.omv-bird-hero__eyebrow) { color: #f6fbfb; font-size: clamp(1.05rem, 1.9vw, 1.28rem); line-height: 1.65; margin: 0; max-width: 58ch; }
.omv-bird-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.65rem; }
.omv-bird-trust { background: var(--bird-sand); border-bottom: 1px solid var(--bird-line); }
.omv-bird-trust__inner { align-items: center; display: grid; gap: 2rem; grid-template-columns: 1fr auto; padding-bottom: 1.7rem; padding-top: 1.7rem; }
.omv-bird-trust p { color: #34494b; margin: 0; max-width: 68ch; }
.omv-bird-certification-link { align-items: center; background: #fff; border: 1px solid #c5d0d0; border-radius: .5rem; box-shadow: 0 .35rem 1.1rem rgba(13,48,50,.09); color: var(--bird-blue-deep); display: flex; flex-direction: column; font-size: .82rem; font-weight: 900; gap: .25rem; padding: .55rem .75rem; text-align: center; text-decoration: none; }
.omv-bird-certification-link:hover, .omv-bird-certification-link:focus-visible { border-color: var(--bird-blue); box-shadow: 0 .5rem 1.4rem rgba(13,48,50,.16); }
.omv-bird-certification-link img { display: block; height: auto; max-width: 12.2rem; width: 100%; }
.omv-bird-section { padding: clamp(4rem, 8vw, 6.8rem) 0; }
.omv-bird-section--sand { background: var(--bird-sand); }
.omv-bird-section--forest { background: var(--bird-forest-deep); color: #fff; }
.omv-bird-section--forest h2, .omv-bird-section--forest p { color: #fff; }
.omv-bird-section--forest .omv-bird-kicker { color: #bfe2f0; }
.omv-bird-split { align-items: center; display: grid; gap: clamp(2rem, 6vw, 5.5rem); grid-template-columns: 1.05fr .95fr; }
.omv-bird-split--reverse { grid-template-columns: .95fr 1.05fr; }
.omv-bird-copy h2, .omv-bird-section > .omv-container > h2 { color: var(--bird-forest-deep); font-size: clamp(2rem, 3.8vw, 3.3rem); line-height: 1.08; margin: 0 0 1rem; }
.omv-bird-copy p:not(.omv-bird-kicker), .omv-bird-section-intro { color: var(--bird-muted); font-size: 1.06rem; line-height: 1.75; margin: 0; max-width: 64ch; }
.omv-bird-section--forest .omv-bird-copy p:not(.omv-bird-kicker) { color: #f5fbfb; }
.omv-bird-image-frame { background: #dfe8e7; border-radius: .55rem; box-shadow: 0 1.15rem 2.8rem rgba(14,52,54,.16); margin: 0; overflow: hidden; }
.omv-bird-image-frame img { aspect-ratio: 4 / 4.14; display: block; height: auto; object-fit: cover; width: 100%; }
.omv-bird-image-frame--wide img { aspect-ratio: 4 / 3; }
.omv-bird-checks { display: grid; gap: .75rem; list-style: none; margin: 1.4rem 0 0; padding: 0; }
.omv-bird-checks li { color: #314749; padding-left: 1.75rem; position: relative; }
.omv-bird-checks li::before { color: var(--bird-blue-deep); content: '✓'; font-size: 1.15rem; font-weight: 900; left: 0; position: absolute; top: 0; }
.omv-bird-section-intro { margin-bottom: 2rem; }
.omv-bird-cards { display: grid; gap: 1.15rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.omv-bird-card { background: #fff; border: 1px solid var(--bird-line); border-radius: .5rem; box-shadow: 0 .5rem 1.8rem rgba(14,52,54,.08); overflow: hidden; }
.omv-bird-card img { aspect-ratio: 4 / 3; display: block; object-fit: cover; width: 100%; }
.omv-bird-card div { padding: 1.35rem; }
.omv-bird-card h3 { color: var(--bird-forest-deep); font-size: 1.45rem; line-height: 1.14; margin: 0 0 .55rem; }
.omv-bird-card p { color: var(--bird-muted); line-height: 1.62; margin: 0; }
.omv-bird-page-cta { background: var(--bird-blue-deep); color: #fff; padding: clamp(4rem, 7vw, 6rem) 0; text-align: center; }
.omv-bird-page-cta h2 { color: #fff; font-size: clamp(2rem, 3.8vw, 3.2rem); line-height: 1.1; margin: 0 auto .85rem; max-width: 24ch; }
.omv-bird-page-cta p { color: #f4fbff; margin: 0 auto; max-width: 60ch; }
.omv-bird-page-cta .omv-bird-hero__actions { justify-content: center; }
.omv-bird-footer { background: #112c2e; color: #e6f0f0; padding: 3rem 0 1.4rem; }
.omv-bird-footer__grid { display: grid; gap: clamp(1.5rem, 5vw, 4rem); grid-template-columns: 1.2fr .85fr .85fr; }
.omv-bird-footer__brand { max-width: 32ch; }
.omv-bird-footer__brand .omv-brand { margin-bottom: .9rem; }
.omv-bird-footer p { color: #c6d5d5; margin: 0; }
.omv-bird-footer h2 { color: #fff; font-family: "Plus Jakarta Sans", Arial, sans-serif; font-size: .78rem; font-weight: 900; letter-spacing: .1em; margin: 0 0 .75rem; text-transform: uppercase; }
.omv-bird-footer ul { display: grid; gap: .42rem; list-style: none; margin: 0; padding: 0; }
.omv-bird-footer li, .omv-bird-footer a { color: #e8f6fa; font-size: .93rem; }
.omv-bird-footer a:hover, .omv-bird-footer a:focus-visible { color: #f5d78d; }
.omv-bird-footer__bottom { border-top: 1px solid rgba(255,255,255,.22); color: #b8caca; font-size: .85rem; margin-top: 2rem; padding-top: 1.2rem; }
/* The services tile is keyboard-accessible and visually signals its dedicated bird-control route. */
#root .omv-bird-service-link { border-radius: .55rem; cursor: pointer; outline-offset: 5px; position: relative; transition: box-shadow .18s ease, transform .18s ease; }
#root .omv-bird-service-link:hover { box-shadow: 0 .65rem 1.5rem rgba(15,62,65,.18); transform: translateY(-2px); }
#root .omv-bird-service-link::after { align-items: center; background: var(--bird-blue-deep); border-radius: 50%; color: #fff; content: '→'; display: inline-flex; font-size: 1.2rem; font-weight: 900; height: 2.5rem; justify-content: center; position: absolute; right: 1rem; top: 1rem; width: 2.5rem; }
@media (max-width: 760px) {
  .omv-bird-page--v2 .omv-container { width: min(100% - 2rem, 1160px); }
  .omv-bird-header__utility .omv-container { align-items: flex-start; flex-direction: column; gap: .15rem; justify-content: center; padding-bottom: .45rem; padding-top: .45rem; }
  .omv-bird-nav { min-height: 4.7rem; }
  .omv-bird-nav__links { display: none; }
  .omv-bird-nav .omv-button { font-size: .86rem; min-height: 2.7rem; padding: .55rem .75rem; }
  .omv-bird-page--v2 .omv-brand img { height: 36px; max-width: 145px; }
  .omv-bird-hero { min-height: 33rem; }
  .omv-bird-hero__image { object-position: 62% center; }
  .omv-bird-hero__overlay { background: linear-gradient(90deg, rgba(12,47,50,.98) 0%, rgba(12,47,50,.91) 68%, rgba(12,47,50,.58) 100%); }
  .omv-bird-trust__inner, .omv-bird-split, .omv-bird-split--reverse, .omv-bird-footer__grid { grid-template-columns: 1fr; }
  .omv-bird-split--reverse .omv-bird-image-frame { order: -1; }
  .omv-bird-certification-link { justify-self: start; }
  .omv-bird-cards { grid-template-columns: 1fr; }
  .omv-bird-footer { padding-top: 2.5rem; }
  #root .omv-bird-service-link::after { right: .7rem; top: .7rem; }
}

/* Override legacy bird-page spacing for the redesigned v2 layout. */
.omv-bird-page--v2 header.omv-bird-header { background: #fff; padding: 0; }
.omv-bird-page--v2 .omv-bird-hero { padding: 0; }
.omv-bird-page--v2 .omv-brand { gap: .45rem; font-family: "Plus Jakarta Sans", Arial, sans-serif; font-size: .94rem; font-weight: 900; letter-spacing: .035em; white-space: nowrap; }
.omv-bird-page--v2 .omv-brand b { color: var(--bird-blue-deep); font-weight: 900; }
.omv-bird-page--v2 .omv-bird-footer .omv-brand { color: #fff; }
.omv-bird-page--v2 .omv-bird-footer .omv-brand b { color: #bce0ef; }
