/* GULF VIEW | SEO-20 | Unified internal page heroes and compact journal.
   Follows gv-public-design-18-5. Appearance resolves from the website's existing
   html[data-appearance] switch. The assets below are site-owned and separate per
   appearance; central website-pages media_url and media_dark_url may override. */
.gv-public-site{--gv20-desktop:350px;--gv20-tablet:300px;--gv20-mobile:240px;--gv20-radius:24px}
.gv-public-site .gv-site-main > :is(.gv-site-page-hero,.gv-site-hero:not(.is-home)) {
  position:relative!important; isolation:isolate; overflow:hidden;
  box-sizing:border-box!important; display:flex!important; align-items:center!important;
  justify-content:flex-start!important; gap:0!important;
  min-height:var(--gv20-desktop)!important; min-block-size:var(--gv20-desktop)!important;
  height:auto!important;max-height:none!important;
  margin-block:0 28px!important; padding:clamp(20px,3.5vw,46px)!important;
  border-radius:var(--gv20-radius)!important;
  border:1px solid var(--gv-public-outline,var(--border));
  background-repeat:no-repeat!important;background-size:cover!important;
  background-position: center center!important;
}
/* The original img remains in the DOM as fallback/SEO but is not displayed above
   the CSS backgrounds: backgrounds change on the exact user's theme toggle. */
.gv-public-site .gv-site-main > :is(.gv-site-page-hero,.gv-site-hero:not(.is-home)) > img,
.gv-public-site .gv-site-main > .gv-site-hero:not(.is-home) > .gv-site-hero-media {
  display:none!important;
}
.gv-public-site .gv-site-main > .gv-site-page-hero > div,
.gv-public-site .gv-site-main > .gv-site-hero:not(.is-home) > .gv-site-hero-copy {
  position:relative!important; z-index:1!important;
  width:min(51%,690px)!important; max-width:690px!important;
  margin:0 0 0 auto!important;
  padding:0!important; grid-column:auto!important;grid-row:auto!important;
  color:var(--gv20-ink)!important;
  text-align:start!important;
}
.gv-public-site .gv-site-main > :is(.gv-site-page-hero,.gv-site-hero:not(.is-home)) :is(h1,p,.gv-site-kicker) {color:var(--gv20-ink)!important;text-shadow:none!important}
.gv-public-site .gv-site-main > :is(.gv-site-page-hero,.gv-site-hero:not(.is-home)) h1 {
  font-size:clamp(1.6rem,2.8vw,2.6rem)!important;line-height:1.22!important;margin:.35em 0 .35em!important;
  letter-spacing:normal!important;overflow-wrap:anywhere;
}
.gv-public-site .gv-site-main > :is(.gv-site-page-hero,.gv-site-hero:not(.is-home)) p {
  font-size:clamp(.84rem,1.05vw,.98rem)!important;line-height:1.7!important;
  max-width:58ch;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  overflow:hidden;margin:0 0 16px!important;
}
.gv-public-site .gv-site-main > :is(.gv-site-page-hero,.gv-site-hero:not(.is-home)) .gv-site-kicker {
  display:block;font-size:.7rem!important;font-weight:800;letter-spacing:.04em;color:var(--brand-primary)!important;
}
/* Dark and light use distinct source files, no image stretching. Gradients preserve
   contrast and direct attention toward headings/primary CTA, never hide content. */
html[data-appearance="dark"] .gv-public-site .gv-site-main > :is(.gv-site-page-hero,.gv-site-hero:not(.is-home)){
 --gv20-ink:#f6f2e9;
 background-image:linear-gradient(270deg,rgba(4,19,13,.96) 0%,rgba(4,19,13,.9) 37%,rgba(4,19,13,.38) 75%,rgba(4,19,13,.22) 100%),var(--gv20-hero-dark,none)!important;
 background-color:#06150f!important;
}
html[data-appearance="light"] .gv-public-site .gv-site-main > :is(.gv-site-page-hero,.gv-site-hero:not(.is-home)){
 --gv20-ink:#1b2820;
 background-image:linear-gradient(270deg,rgba(250,248,243,.98) 0%,rgba(250,248,243,.91) 35%,rgba(250,248,243,.12) 77%,rgba(250,248,243,.05) 100%),var(--gv20-hero-light,none)!important;
 background-color:#faf8f3!important;
}
/* Automatic per-page defaults. PHP inline variables can be centrally overridden. */
body[data-public-page="branches"]{--gv20-hero-light:url("/assets/images/site-library/unified-heroes/branches-light.webp");--gv20-hero-dark:url("/assets/images/site-library/unified-heroes/branches-dark.webp")}
body[data-public-page="careers"]{--gv20-hero-light:url("/assets/images/site-library/unified-heroes/careers-light.webp");--gv20-hero-dark:url("/assets/images/site-library/unified-heroes/careers-dark.webp")}
body[data-public-page="faq"]{--gv20-hero-light:url("/assets/images/site-library/unified-heroes/faq-light.webp");--gv20-hero-dark:url("/assets/images/site-library/unified-heroes/faq-dark.webp")}
body[data-public-page="partners"]{--gv20-hero-light:url("/assets/images/site-library/unified-heroes/partners-light.webp");--gv20-hero-dark:url("/assets/images/site-library/unified-heroes/partners-dark.webp")}
body[data-public-page="privacy"]{--gv20-hero-light:url("/assets/images/site-library/unified-heroes/privacy-light.webp");--gv20-hero-dark:url("/assets/images/site-library/unified-heroes/privacy-dark.webp")}
body[data-public-page="projects"]{--gv20-hero-light:url("/assets/images/site-library/unified-heroes/projects-light.webp");--gv20-hero-dark:url("/assets/images/site-library/unified-heroes/projects-dark.webp")}
body[data-public-page="real-estate"]{--gv20-hero-light:url("/assets/images/site-library/unified-heroes/real-estate-light.webp");--gv20-hero-dark:url("/assets/images/site-library/unified-heroes/real-estate-dark.webp")}
body[data-public-page="store"]{--gv20-hero-light:url("/assets/images/site-library/unified-heroes/store-light.webp");--gv20-hero-dark:url("/assets/images/site-library/unified-heroes/store-dark.webp")}
body[data-public-page="blog"]{--gv20-hero-light:url("/assets/images/site-library/unified-heroes/blog-light.webp");--gv20-hero-dark:url("/assets/images/site-library/unified-heroes/blog-dark.webp")}
body[data-public-page="about"]{--gv20-hero-light:url("/assets/images/site-library/unified-heroes/about-light.webp");--gv20-hero-dark:url("/assets/images/site-library/unified-heroes/about-dark.webp")}
body[data-public-page="services"]{--gv20-hero-light:url("/assets/images/site-library/unified-heroes/services-light.webp");--gv20-hero-dark:url("/assets/images/site-library/unified-heroes/services-dark.webp")}
body[data-public-page="contact"]{--gv20-hero-light:url("/assets/images/site-library/unified-heroes/contact-light.webp");--gv20-hero-dark:url("/assets/images/site-library/unified-heroes/contact-dark.webp")}
body[data-public-page="vendors"]{--gv20-hero-light:url("/assets/images/site-library/unified-heroes/vendors-light.webp");--gv20-hero-dark:url("/assets/images/site-library/unified-heroes/vendors-dark.webp")}
body[data-public-page="terms"]{--gv20-hero-light:url("/assets/images/site-library/unified-heroes/terms-light.webp");--gv20-hero-dark:url("/assets/images/site-library/unified-heroes/terms-dark.webp")}
body[data-public-page="appointments"]{--gv20-hero-light:url("/assets/images/site-library/unified-heroes/appointments-light.webp");--gv20-hero-dark:url("/assets/images/site-library/unified-heroes/appointments-dark.webp")}

/* Blog uses same central hero; no special oversized lead block. */
.gv-public-site .gv-seo20-blog-hero .gv-site-actions {display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.gv-public-site .gv-blog-directory{padding-top:18px!important;scroll-margin-top:120px}
.gv-public-site .gv-blog-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:25px!important}
.gv-public-site .gv-blog-tools label{flex:1 1 240px;min-width:0}
.gv-public-site .gv-blog-tools input{min-height:46px!important}
.gv-public-site .gv-blog-filters{display:flex;flex-wrap:wrap;gap:8px}
.gv-public-site .gv-blog-grid {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch;gap:16px!important}
.gv-public-site .gv-blog-grid .gv-blog-card,.gv-public-site .gv-blog-grid .gv-blog-card.is-featured{
  display:flex!important;grid-column:auto!important;grid-row:auto!important;min-height:0!important;max-height:none!important;
  transform:none;overflow:hidden!important;
}
.gv-public-site .gv-blog-card-media{aspect-ratio:16 / 9!important;min-height:0!important;max-height:190px!important;flex:none!important}
.gv-public-site .gv-blog-card-media img{width:100%!important;height:100%!important;object-fit:cover!important}
.gv-public-site .gv-blog-card-copy{padding:16px!important;display:flex;flex-direction:column;gap:8px}
.gv-public-site .gv-blog-card-copy h3{font-size:clamp(1rem,1.15vw,1.18rem)!important;line-height:1.42!important;margin:0!important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gv-public-site .gv-blog-card-copy p{font-size:.88rem!important;line-height:1.6!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0!important}
.gv-public-site .gv-blog-card-copy small{margin-top:auto}
@media(max-width:900px){
 .gv-public-site .gv-site-main > :is(.gv-site-page-hero,.gv-site-hero:not(.is-home)){
  min-height:var(--gv20-tablet)!important;min-block-size:var(--gv20-tablet)!important;
 }
 .gv-public-site .gv-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
 .gv-public-site .gv-site-main > :is(.gv-site-page-hero,.gv-site-hero:not(.is-home)){
  min-height:var(--gv20-mobile)!important;min-block-size:var(--gv20-mobile)!important;
  padding:22px!important;align-items:center!important;
 }
 .gv-public-site .gv-site-main > .gv-site-page-hero > div,
 .gv-public-site .gv-site-main > .gv-site-hero:not(.is-home) > .gv-site-hero-copy{
  width:100%!important;max-width:none!important;margin:0!important;
 }
 .gv-public-site .gv-site-main > :is(.gv-site-page-hero,.gv-site-hero:not(.is-home)) h1{font-size:clamp(1.45rem,6vw,2rem)!important}
 .gv-public-site .gv-site-main > :is(.gv-site-page-hero,.gv-site-hero:not(.is-home)) p{font-size:.85rem!important}
 .gv-public-site .gv-blog-grid{grid-template-columns:1fr!important}
 .gv-public-site .gv-blog-card-media{max-height:220px!important}
 html[data-appearance="dark"] .gv-public-site .gv-site-main > :is(.gv-site-page-hero,.gv-site-hero:not(.is-home)){
  background-image:linear-gradient(90deg,rgba(4,19,13,.89),rgba(4,19,13,.65)),var(--gv20-hero-dark,none)!important;
 }
 html[data-appearance="light"] .gv-public-site .gv-site-main > :is(.gv-site-page-hero,.gv-site-hero:not(.is-home)){
  background-image:linear-gradient(90deg,rgba(250,248,243,.9),rgba(250,248,243,.62)),var(--gv20-hero-light,none)!important;
 }
}
@media(prefers-reduced-motion:reduce){.gv-public-site .gv-blog-grid .gv-blog-card{transition:none!important}}
