/*
Theme Name: We Do Holiday Lights
Theme URI: https://wedoholidaylights.com/
Author: We Do Holiday Lights
Description: A warm, elegant, conversion-focused WordPress block theme for premium residential Christmas light installation.
Version: 1.3.3
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: we-do-holiday-lights
*/

:root {
  --wdhl-evergreen: #0d3027;
  --wdhl-evergreen-dark: #071e19;
  --wdhl-cranberry: #a51f31;
  --wdhl-gold: #d7aa56;
  --wdhl-ivory: #fbf8ef;
  --wdhl-ink: #16201d;
  --wdhl-mist: #e7eee9;
}

html { scroll-behavior: smooth; }

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { text-underline-offset: .18em; }

.wp-site-blocks { overflow: hidden; }

.wdhl-topbar {
  background: var(--wdhl-evergreen-dark);
  color: #fff;
  font-size: .82rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.wdhl-site-header {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.wdhl-brand-mark {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  font-weight: 700;
  letter-spacing: -.02em;
  text-decoration: none;
}

.wdhl-brand-mark::before {
  content: "✦";
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  border: 1px solid rgba(215,170,86,.75);
  border-radius: 999px;
  color: var(--wdhl-gold);
  font-size: 1rem;
}

.wdhl-hero {
  min-height: min(78vh, 760px);
}

.wdhl-hero .wp-block-cover__background {
  background: linear-gradient(90deg, rgba(12,12,12,.72) 0%, rgba(12,12,12,.42) 46%, rgba(12,12,12,.03) 78%) !important;
}

.wdhl-eyebrow {
  color: var(--wdhl-gold);
  font-size: .83rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.wdhl-hero h1 {
  max-width: 760px;
  text-wrap: balance;
}

.wdhl-hero-copy { max-width: 630px; }

.wdhl-trust-rail {
  margin-top: -2.25rem !important;
  position: relative;
  z-index: 10;
  box-shadow: 0 18px 45px rgba(7,30,25,.13);
}

.wdhl-kicker {
  color: var(--wdhl-cranberry);
  font-size: .79rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.wdhl-card {
  height: 100%;
  border: 1px solid rgba(13,48,39,.12);
  box-shadow: 0 14px 34px rgba(13,48,39,.07);
  transition: transform .2s ease, box-shadow .2s ease;
}

.wdhl-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 42px rgba(13,48,39,.12);
}

.has-evergreen-background-color a,
.has-evergreen-dark-background-color a { color: var(--wdhl-gold); }

.wdhl-step-number {
  display: grid;
  place-items: center;
  width: 2.65rem;
  height: 2.65rem;
  border-radius: 999px;
  background: var(--wdhl-evergreen);
  color: #fff;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.12rem;
}

.wdhl-gallery figure,
.wdhl-gallery img {
  height: 100%;
}

.wdhl-gallery img {
  min-height: 340px;
  object-fit: cover;
}

.wdhl-gallery .wdhl-photo-wide img { object-position: center 43%; }
.wdhl-gallery .wdhl-photo-tall img { object-position: center 42%; }

.wdhl-proof {
  border-left: 4px solid var(--wdhl-gold);
}

.wdhl-faq details {
  border-bottom: 1px solid rgba(13,48,39,.16);
  padding: 1rem 0;
}

.wdhl-faq summary {
  cursor: pointer;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.12rem;
  font-weight: 700;
}

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

.wdhl-field { display: grid; gap: .4rem; }
.wdhl-field-full { grid-column: 1 / -1; }

.wdhl-field label {
  font-size: .88rem;
  font-weight: 700;
}

.wdhl-field input,
.wdhl-field select,
.wdhl-field textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(13,48,39,.24);
  border-radius: .45rem;
  background: #fff;
  color: var(--wdhl-ink);
  font: inherit;
  padding: .88rem 1rem;
}

.wdhl-field input:focus,
.wdhl-field select:focus,
.wdhl-field textarea:focus {
  outline: 3px solid rgba(215,170,86,.34);
  border-color: var(--wdhl-evergreen);
}

.wdhl-submit {
  border: 0;
  border-radius: 999px;
  background: var(--wdhl-cranberry);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  padding: .95rem 1.35rem;
}

.wdhl-submit:hover { background: #861827; }

.wdhl-notice {
  border-radius: .45rem;
  margin-bottom: 1rem;
  padding: .9rem 1rem;
}

.wdhl-notice-success { background: #e5f3e8; color: #173f22; }
.wdhl-notice-error { background: #fae7e9; color: #6d1722; }
.wdhl-hp { position: absolute !important; left: -9999px !important; }

.wdhl-service-hero {
  background: linear-gradient(140deg, var(--wdhl-evergreen-dark), var(--wdhl-evergreen));
  color: #fff;
}

.wdhl-service-hero .wp-block-post-title { color: #fff; }

.wdhl-footer a { color: inherit; }

@media (max-width: 781px) {
  .wdhl-site-header .wp-block-navigation { display: flex; }
  .wdhl-hero { min-height: 680px; }
  .wdhl-hero .wp-block-cover__background {
    background: linear-gradient(0deg, rgba(12,12,12,.78) 0%, rgba(12,12,12,.48) 64%, rgba(12,12,12,.08) 100%) !important;
  }
  .wdhl-trust-rail { margin-top: 0 !important; }
  .wdhl-form { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .wdhl-card { transition: none; }
}

/* Keep festive accents readable and controls accessible. */
.wdhl-site-header a.wp-block-button__link { color: var(--wdhl-evergreen-dark); }
.wdhl-site-header .wp-block-site-title a { color: white; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #d7aa56; outline-offset: 4px; }
.wdhl-form-extras { border-top: 1px solid #b8c9be; padding-top: 1rem; }
.wdhl-form-extras summary { cursor: pointer; font-weight: 700; padding: .5rem 0; }
.wdhl-form-extras[open] > .wdhl-form { margin-top: 1rem; }
.wdhl-field small { line-height: 1.5; }
@media (max-width: 781px) {
 .wdhl-site-header > .wp-block-group { flex-wrap: wrap; }
 .wdhl-hero h1 { font-size: clamp(2.25rem, 9vw, 3.5rem); }
 .wdhl-hero-copy { font-size: 1.0625rem; }
}

.wdhl-service-photo { margin: 0 0 1.25rem; }
.wdhl-service-photo img { display: block; width: 100%; height: 200px; object-fit: cover; object-position: center 25%; border-radius: 6px; }

/* Brighter, neutral hero treatment; keep the original installation photo. */
.wdhl-hero .wp-block-cover__image-background { filter: brightness(1.12); }
.wdhl-hero .wp-block-cover__background { opacity: 1; }
.wdhl-hero h1, .wdhl-hero-copy { text-shadow: 0 2px 10px rgba(0,0,0,.65); }

/* Three aligned trust statements with supporting text below each. */
.wdhl-trust-rail > .wp-block-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 1rem;
  margin-top: 0;
}
.wdhl-trust-rail h3 { margin: 0 0 .6rem; font-size: clamp(1rem, 2vw, 1.55rem); }
.wdhl-trust-rail p { margin: 0; }
@media (max-width: 781px) {
  .wdhl-trust-rail { padding-left: .75rem !important; padding-right: .75rem !important; }
  .wdhl-trust-rail > .wp-block-columns { gap: .6rem; }
  .wdhl-trust-rail h3 { min-height: 2.3em; }
  .wdhl-trust-rail p { font-size: .75rem; line-height: 1.45; }
}

/* Homepage: full roofline beside the heading and navigation on black. */
.wdhl-hero.wp-block-cover {
  background: #000;
  display: flex;
  align-items: flex-start;
  overflow: hidden;
  padding: 0 0 4rem;
}
.wdhl-hero .wp-block-cover__background { display: none; }
.wdhl-hero .wp-block-cover__image-background {
  inset: 0 0 auto auto;
  width: 60%;
  max-width: none;
  height: auto;
  object-fit: initial;
  object-position: top right;
  margin: 0;
  /* Hide the screenshot's empty lower area, keeping the entire house. */
  clip-path: inset(0 0 51% 0);
}
.wdhl-hero .wp-block-cover__inner-container {
  width: 40%;
  max-width: none;
  margin: 0;
  padding: 1.5rem clamp(1.25rem, 3vw, 3rem) 1rem;
  box-sizing: border-box;
}
.wdhl-hero .wdhl-topbar,
.wdhl-hero .wdhl-site-header { background: #000 !important; border: 0; padding-left: 0 !important; padding-right: 0 !important; }
.wdhl-hero .wdhl-topbar { font-size: .7rem; letter-spacing: .04em; }
.wdhl-hero .wdhl-topbar p { text-align: left; }
.wdhl-hero .wdhl-site-header > .wp-block-group { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; }
.wdhl-hero .wdhl-site-header { margin-bottom: 1.5rem; }
.wdhl-hero .wdhl-site-header .wp-block-navigation { font-size: .9rem; }
.wdhl-hero .wdhl-site-header .wp-block-navigation__container { gap: 1rem; }
.wdhl-hero .wdhl-site-header nav a { color: #fff; }
.wdhl-hero h1 { font-size: clamp(2rem, 3.2vw, 3.8rem); margin: 1rem 0 1.5rem; }
.wdhl-hero .wdhl-hero-copy { font-size: 1.0625rem; }
.wdhl-hero .wdhl-eyebrow { font-size: .72rem; letter-spacing: .07em; }
@media (max-width: 781px) {
  .wdhl-hero.wp-block-cover { flex-direction: column; padding-bottom: 2rem; min-height: 0 !important; }
  .wdhl-hero .wp-block-cover__inner-container { width: 100%; order: 1; padding: 1.25rem 1.5rem 2rem; }
  .wdhl-hero .wp-block-cover__image-background { position: relative; inset: auto; width: 100%; height: 65vw; object-fit: cover; object-position: center top; clip-path: none; order: 2; }
  .wdhl-hero h1 { font-size: clamp(2rem, 7vw, 3rem); }
}

/* House and navigation above the hero introduction. */
.wdhl-hero.wp-block-cover {
  display: grid;
  grid-template-columns: 40% 60%;
  align-items: start;
}
.wdhl-hero .wp-block-cover__inner-container { display: contents; }
.wdhl-hero .wp-block-cover__image-background {
  position: relative;
  inset: auto;
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  height: 39vw;
  object-fit: cover;
  object-position: center top;
  clip-path: none;
}
.wdhl-hero .wp-block-cover__inner-container > header {
  grid-column: 1;
  grid-row: 1;
  padding: 1.5rem clamp(1.25rem, 3vw, 3rem);
  box-sizing: border-box;
  min-width: 0;
}
.wdhl-hero .wp-block-cover__inner-container > .wp-block-group {
  grid-column: 1 / -1;
  grid-row: 2;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 1.5rem clamp(1.25rem, 3vw, 3rem) 1rem;
  box-sizing: border-box;
}
@media (max-width: 781px) {
  .wdhl-hero.wp-block-cover { grid-template-columns: 1fr; }
  .wdhl-hero .wp-block-cover__inner-container > header { grid-column: 1; grid-row: 1; }
  .wdhl-hero .wp-block-cover__image-background { grid-column: 1; grid-row: 2; height: 65vw; }
  .wdhl-hero .wp-block-cover__inner-container > .wp-block-group { grid-column: 1; grid-row: 3; }
}

/* Larger business heading with the cleaned wreath in place of the star. */
.wdhl-brand-mark { font-size: clamp(1.65rem, 2.6vw, 2.5rem); line-height: 1.15; }
.wdhl-brand-mark::before {
  content: "";
  flex: 0 0 4.5rem;
  width: 4.5rem;
  height: 4.5rem;
  border: 0;
  border-radius: 0;
  background: #000 url('assets/images/brand-wreath.png') center / contain no-repeat;
}
.wdhl-hero .wp-block-cover__image-background { margin-top: 0; }

/* Full-width house immediately below the call-button row. */
.wdhl-hero.wp-block-cover { grid-template-columns: 1fr; }
.wdhl-hero .wp-block-cover__inner-container > header {
  grid-column: 1;
  grid-row: 1;
  width: 40%;
  padding-bottom: 0;
}
.wdhl-hero .wdhl-site-header { margin-bottom: 0; padding-bottom: 0 !important; }
.wdhl-hero .wp-block-cover__image-background {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  height: 65vw;
  margin-top: 0;
  object-fit: cover;
  object-position: center top;
}
.wdhl-hero .wp-block-cover__inner-container > .wp-block-group {
  grid-column: 1;
  grid-row: 3;
}
@media (max-width: 781px) {
  .wdhl-hero .wp-block-cover__inner-container > header { width: 100%; }
}

/* Center the business name in one line; lift the house slightly. */
.wdhl-hero .wp-block-cover__inner-container > header { width: 100%; }
.wdhl-hero .wdhl-site-header > .wp-block-group { position: relative; }
.wdhl-hero .wdhl-brand-mark {
  align-self: center;
  justify-content: center;
  white-space: nowrap;
  width: max-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.wdhl-hero .wp-block-cover__image-background { margin-top: -24px !important; }
@media (max-width: 781px) {
  .wdhl-hero .wdhl-brand-mark { font-size: clamp(1rem, 4.7vw, 1.65rem); gap: .5rem; }
  .wdhl-hero .wdhl-brand-mark::before { width: 2.5rem; height: 2.5rem; flex-basis: 2.5rem; }
}

/* Requested size adjustments only: house -1/3, business name +1/3. */
.wdhl-hero .wp-block-cover__image-background {
  width: 66.666667%;
  height: 43.333333vw;
  justify-self: center;
}
.wdhl-hero .wdhl-brand-mark { font-size: clamp(2.2rem, 3.466667vw, 3.333333rem); }
@media (max-width: 781px) {
  .wdhl-hero .wdhl-brand-mark { font-size: clamp(1.333333rem, 6.266667vw, 2.2rem); }
}

/* Requested crop, heading size and navigation alignment only. */
.wdhl-hero .wp-block-cover__image-background {
  height: 31.7vw;
  object-fit: cover;
  object-position: center top;
}
.wdhl-hero .wdhl-brand-mark { font-size: clamp(2.933333rem, 4.622222vw, 4.444444rem); }
.wdhl-hero .wdhl-site-header nav,
.wdhl-hero .wdhl-site-header .wp-block-navigation {
  align-self: center;
  justify-content: center;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.wdhl-hero .wdhl-site-header .wp-block-navigation__container { justify-content: center; }
@media (max-width: 781px) {
  .wdhl-hero .wdhl-brand-mark { font-size: clamp(1.777778rem, 8.355556vw, 2.933333rem); }
}

/* Center the service line and use the horizontal bulb as the top call button. */
.wdhl-hero .wdhl-topbar p { text-align: center; }
.wdhl-site-header a.wdhl-bulb-call {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  width: 340px;
  max-width: 100%;
  height: 113px;
  padding: 0 12% 0 33%;
  border: 0;
  border-radius: 0;
  background: #000 url('assets/images/call-bulb.png') center / contain no-repeat !important;
  color: #001b20 !important;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 2px #fff, 0 0 5px rgba(255,255,255,.9);
}
.wdhl-bulb-call span { width: 100%; white-space: nowrap; }
.wdhl-bulb-call strong { font-weight: 900; }

/* Warm, rounded call-button lettering; wording stays on two lines. */
.wdhl-site-header a.wdhl-bulb-call {
  font-family: 'Arial Rounded MT Bold', 'Trebuchet MS', Arial, sans-serif;
  font-weight: 800;
  letter-spacing: .01em;
}

/* Requested centered introduction below the house. */
.wdhl-hero h1 {
  max-width: none;
  width: 100%;
  text-align: center;
  white-space: nowrap;
  font-size: clamp(.875rem, 3.15vw, 3rem);
}
.wdhl-hero .wdhl-hero-copy { text-align: center; margin-left: auto; margin-right: auto; }
.wdhl-hero .wp-block-cover__inner-container > .wp-block-group > .wp-block-buttons { justify-content: center; }

/* Bold script invitation on the bulb; keep the phone number easy to read. */
.wdhl-site-header a.wdhl-bulb-call {
  font-family: 'Segoe Script', 'Brush Script MT', cursive;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0;
}
.wdhl-bulb-call strong {
  font-family: 'Arial Rounded MT Bold', 'Trebuchet MS', Arial, sans-serif;
  font-size: 19px;
  font-weight: 900;
}

/* Fuller bulb and heavier invitation; the complete bulb is the call link. */
.wdhl-site-header a.wdhl-bulb-call {
  height: 150px;
  background-size: 100% 100% !important;
  font-size: 26px;
  font-weight: 900;
  -webkit-text-stroke: .4px currentColor;
  cursor: pointer;
}
.wdhl-bulb-call span { pointer-events: none; }

/* Requested heading wording and thicker bulb-button lettering only. */
.wdhl-brand-mark > a { color: inherit; text-decoration: none; }
.wdhl-site-header a.wdhl-bulb-call { -webkit-text-stroke: .9px currentColor; }

/* Responsive fitting only; retain the approved desktop composition. */
*, *::before, *::after { box-sizing: border-box; }
.wdhl-brand-mark, .wdhl-field, .wp-block-column { min-width: 0; }
.wdhl-site-header .wp-block-buttons, .wdhl-site-header .wp-block-button { max-width: 100%; }
.wdhl-site-header a.wdhl-bulb-call { position: relative; padding: 0; width: 340px; max-width: 100%; aspect-ratio: 34 / 15; height: auto; }
.wdhl-site-header a.wdhl-bulb-call span { position: absolute; left: 33%; width: 55%; text-align: center; }
.wdhl-field input, .wdhl-field select, .wdhl-field textarea { min-width: 0; font-size: 16px; }
.wdhl-site-header .wp-block-navigation a,
.wdhl-site-header .wp-block-navigation button { min-height: 44px; display: inline-flex; align-items: center; }
.wdhl-site-header .wp-block-navigation__submenu-container { background: #071e19; color: #fff; min-width: 260px !important; text-align: left; border: 1px solid #d7aa56; border-radius: 6px; z-index: 50; }
.wdhl-site-header .wp-block-navigation__submenu-container a { color: #fff; padding: .6rem 1rem; }
.wdhl-service-hero { overflow-wrap: anywhere; }
@media (max-width: 1024px) {
 .wdhl-hero .wdhl-brand-mark { font-size: clamp(1.25rem, 5.4vw, 3.5rem); }
 .wdhl-hero .wdhl-brand-mark::before { width: clamp(2rem, 6vw, 4.5rem); height: clamp(2rem, 6vw, 4.5rem); flex-basis: clamp(2rem, 6vw, 4.5rem); }
 .wdhl-site-header > .wp-block-group { flex-wrap: wrap; }
}
@media (max-width: 781px) {
 .wdhl-hero .wdhl-brand-mark { font-size: clamp(1rem, 5.4vw, 2.65rem); gap: .5rem; }
 .wdhl-hero .wdhl-brand-mark::before { width: 2rem; height: 2rem; flex-basis: 2rem; }
 .wdhl-hero h1 { white-space: normal; font-size: clamp(1.45rem, 5.8vw, 2.5rem); text-wrap: balance; }
 .wdhl-hero .wp-block-cover__inner-container > header { padding-left: 1rem; padding-right: 1rem; }
 .wdhl-site-header .wp-block-navigation { width: 100%; font-size: .875rem; }
 .wdhl-site-header .wp-block-navigation__container { flex-wrap: wrap; gap: .5rem; }
 .wdhl-site-header .wp-block-navigation__submenu-container { left: 50% !important; transform: translateX(-50%); max-width: calc(100vw - 32px); }
 .wdhl-trust-rail h3 { font-size: 1rem; }
 .wdhl-service-hero .wp-block-post-title { font-size: 2rem; }
 .wdhl-gallery img { min-height: 0; }
}

/* Additional area-page consultation panel; existing page styles are unchanged. */
.wdhl-page-cta { background: #e7eee9; text-align: center; padding: 2.25rem; border-radius: 12px; margin-top: 2.25rem; }
@media (max-width: 600px) { .wdhl-page-cta { padding: 1.5rem 1rem; } }

/* Phone homepage only: feature the house, with text and call actions below it. */
.wdhl-phone-actions { display: none; }
@media (max-width: 600px) {
 .wdhl-hero.wp-block-cover { grid-template-columns: minmax(0, 1fr); }
 .wdhl-hero .wp-block-cover__image-background {
  width: 100%; height: 47.55vw; margin-top: 0 !important;
  grid-column: 1; grid-row: 2;
 }
 .wdhl-hero .wp-block-cover__inner-container > header .wdhl-site-header > .wp-block-group > .wp-block-buttons { display: none; }
 .wdhl-hero .wp-block-cover__inner-container > .wdhl-phone-actions {
  display: flex; grid-column: 1; grid-row: 3; align-items: center;
  justify-content: center; gap: .5rem; width: 100%; padding: .5rem 1rem 1rem;
 }
 .wdhl-hero .wp-block-cover__inner-container > .wp-block-group { grid-row: 4; }
 .wdhl-phone-text {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: .7rem 1.1rem; border-radius: 999px;
  background: #a51f31; color: #fff; font: 700 16px/1.2 Arial, sans-serif;
  text-decoration: none; white-space: nowrap;
 }
 .wdhl-phone-call {
  position: relative; display: flex; align-items: center;
  width: min(55vw, 250px); aspect-ratio: 34 / 15; flex-shrink: 0;
  background: #000 url('assets/images/call-bulb.png') center / 100% 100% no-repeat;
  color: #001b20; text-decoration: none;
  font: 900 clamp(15px, 4.3vw, 22px)/1.2 'Segoe Script', 'Brush Script MT', cursive;
  -webkit-text-stroke: .6px currentColor;
  text-shadow: 0 1px 2px #fff, 0 0 5px #fff;
 }
 .wdhl-phone-call span { position: absolute; left: 33%; width: 55%; text-align: center; white-space: nowrap; pointer-events: none; }
 .wdhl-phone-actions a:focus-visible { outline: 3px solid #d7aa56; outline-offset: 4px; }
}

/* Match the approved hero when WordPress preset styles are present. */
.wdhl-hero.wp-block-cover {
 grid-template-columns: minmax(0, 1fr);
 width: 100%; max-width: 100%;
}
.wdhl-hero .wp-block-cover__inner-container > .wp-block-group {
 min-width: 0; width: 100%; max-width: 1180px !important;
 justify-self: center; margin-left: auto !important; margin-right: auto !important;
}
.wdhl-hero h1.wp-block-heading {
 font-size: clamp(.875rem, 2.8vw, 2.65rem) !important;
 width: 100%; max-width: 100%; margin-left: auto; margin-right: auto;
 color: #fff !important; text-align: center; white-space: normal;
}
.wdhl-hero .wdhl-hero-copy {
 color: #fff !important; opacity: 1; text-align: center;
 margin-left: auto !important; margin-right: auto !important;
}
@media (max-width: 781px) {
 .wdhl-hero h1.wp-block-heading { font-size: clamp(1.45rem, 5.8vw, 2.5rem) !important; }
}

/* Keep contact fields clearly visible over hosting and WordPress form resets. */
.wdhl-form .wdhl-field input,
.wdhl-form .wdhl-field select,
.wdhl-form .wdhl-field textarea {
 border: 2px solid #526d60 !important;
 background-color: #fff !important;
 color: #16201d !important;
}
.wdhl-form .wdhl-field input:focus,
.wdhl-form .wdhl-field select:focus,
.wdhl-form .wdhl-field textarea:focus {
 border-color: #0d3027 !important;
 outline: 3px solid #d7aa56 !important;
 outline-offset: 2px;
}

/* Bright white for the hero introduction only, including browser text fill. */
.wdhl-hero.wp-block-cover .wp-block-cover__inner-container > .wp-block-group > p,
.wdhl-hero.wp-block-cover .wp-block-cover__inner-container > .wp-block-group > p * {
 color: #fff !important;
 -webkit-text-fill-color: #fff !important;
 opacity: 1 !important;
}
