/* The original Lightning blueprint uses the foundation's canonical component styles. */

.ocf-hero__eyebrow {
    display: none;
}

/* Harbor tokens: final shared rules and responsive variants. */
:root {
  --container-max: 1440px;
  --container-pad: 72px;
  --section-pad: var(--ocf-section-pad, 96px);
  --font-body-size: var(--ocf-font-body-size, 18px);
}

@media (min-width: 1800px) {
  :root {
    --container-max: 1600px;
  }
}

@media (max-width: 1199px) {
  :root {
    --container-pad: 32px;
    --section-pad: 64px;
  }
}

@media (max-width: 599px) {
  :root {
    --container-pad: 24px;
    --section-pad: 56px;
    --font-body-size: 16px;
  }
}

html[data-theme="dark"] {
  --hb-accent-text: var(--ocf-secondary);
  --ocf-bg-alt: color-mix(in srgb, var(--ocf-bg) 97%, #fff 3%);
  --hb-bg-soft: color-mix(in srgb, var(--ocf-bg) 98%, #fff 2%);
}

:root {
  --font-heading: var(--ocf-font-heading), sans-serif;
  --font-body: var(--ocf-font-body), sans-serif;
  --font-h2-size: var(--ocf-font-h2-size, 44px);
  --font-h3-size: var(--ocf-font-h3-size, 26px);
  --button-shadow: var(--ocf-button-shadow, none);
  --button-shadow-hover: var(--ocf-button-shadow-hover, none);
  --card-shadow: var(--ocf-card-shadow, none);
  --image-shadow: var(--ocf-image-shadow, var(--card-shadow));
  --font-weight-bold: 500;
  --hb-accent-text: var(--ocf-primary);
  --hb-hero-warm-neutral: #d8c9b7;
  --ocf-font-eyebrow-size: 20px;
  --ocf-review-star-color: #fbbc04;
  --ocf-bg-alt: color-mix(in srgb, var(--ocf-bg) 97%, #000 3%);
  --hb-bg-soft: color-mix(in srgb, var(--ocf-bg) 98%, #000 2%);
  --hb-button-width: 220px;
  --ocf-radius: 8px;
  --ocf-radius-sm: 8px;
  --ocf-radius-lg: 8px;
  --ocf-card-radius: 8px;
  --ocf-card-radius-lg: 8px;
  --ocf-image-radius: 8px;
  --ocf-button-radius: 8px;
  --hb-radius: var(--ocf-radius, 8px);
  --hb-control-radius: var(--ocf-radius, 8px);
}

/* OCF_AGENT_BLOCK:review-harvest-inspired-home-refresh START */
.home .hb-header {
  height: 96px;
}

.home .hb-header .hb-nav__inner {
  min-height: 96px;
}

.home .hb-header .hb-nav__brand img {
  width: auto;
  max-width: 240px;
  max-height: 72px;
  height: auto;
  object-fit: contain;
}

.home .hb-nav {
  box-shadow: 0 1px 0 color-mix(in srgb, var(--ocf-border) 70%, transparent);
}

.home main > section:not(.hb-hero):not(.hb-cta) {
  border-radius: 0;
  margin-top: 0;
  overflow: hidden;
}

.home .hb-hero,
.home .hb-hero__panel {
  min-height: 680px;
  min-height: min(760px, calc(100svh - 96px));
}

.home .hb-hero__panel {
  border-radius: 0;
  background: var(--ocf-bg);
}

.home .hb-hero__image {
  inset: 0 0 0 auto;
  width: 52%;
  height: 100%;
  object-position: center;
}

.home .hb-hero--immersive .hb-hero__panel:after {
  opacity: 1;
  background: linear-gradient(90deg, var(--ocf-bg) 0%, var(--ocf-bg) 42%, color-mix(in srgb, var(--ocf-bg) 92%, transparent) 54%, color-mix(in srgb, var(--ocf-bg) 35%, transparent) 72%, transparent 100%);
}

.home .hb-hero__copy {
  width: min(100% - (var(--container-pad) * 2), var(--container-max));
  min-height: min(760px, calc(100svh - 96px));
  justify-content: center;
  gap: 24px;
  padding: 88px 0 72px;
  transform: none;
  color: var(--ocf-heading);
}

.home .hb-hero__copy h1 {
  max-width: 11ch;
  font-size: clamp(50px, 5.5vw, 76px);
  line-height: 1.04;
  letter-spacing: -0.045em;
  color: var(--ocf-heading);
}

.home .hb-hero .hb-label,
.home .hb-hero .hb-phone,
.home .hb-hero .hb-hero__intro {
  color: var(--ocf-body);
}

.home .hb-hero .hb-hero__intro {
  max-width: 48ch;
  font-size: clamp(18px, 1.5vw, 21px);
  line-height: 1.55;
}

.home .hb-hero .hb-label--google-rating {
  background: var(--ocf-bg-alt);
  border-radius: 999px;
}

.home .hb-services .hb-service-row {
  margin-block: 10px;
  padding: 22px 24px;
  border: 1px solid var(--ocf-border-light);
  border-radius: var(--card-radius);
  background: var(--ocf-bg);
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.home .hb-services .hb-service-row:hover {
  border-color: var(--ocf-primary);
  box-shadow: 0 10px 28px color-mix(in srgb, var(--ocf-heading) 8%, transparent);
  transform: translateY(-2px);
}

.home .hb-work__list {
  gap: 12px;
}

.home .hb-work__item {
  padding: 18px 20px;
  border: 1px solid var(--ocf-border-light);
  border-radius: var(--card-radius);
  background: var(--ocf-bg);
}

.home .hb-work__item summary {
  cursor: pointer;
}

.home .ocf-gallery-card,
.home .ocf-service-areas-card {
  border-radius: var(--card-radius);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--ocf-heading) 6%, transparent);
}

.home .ocf-faq .ocf-faq-item {
  border-radius: var(--card-radius);
}

@media (max-width: 991px) {
  .home .hb-header {
    height: auto;
  }

  .home .hb-header .hb-nav__inner {
    min-height: 88px;
  }

  .home .hb-hero,
  .home .hb-hero__panel {
    min-height: 0;
  }

  .home .hb-hero__image {
    inset: 0 0 auto;
    width: 100%;
    height: 42%;
    min-height: 280px;
    object-position: center 42%;
  }

  .home .hb-hero--immersive .hb-hero__panel:after {
    background: linear-gradient(180deg, color-mix(in srgb, var(--ocf-bg) 8%, transparent) 0%, color-mix(in srgb, var(--ocf-bg) 18%, transparent) 24%, var(--ocf-bg) 44%, var(--ocf-bg) 100%);
  }

  .home .hb-hero__copy {
    width: calc(100% - 48px);
    min-height: 0;
    padding: 310px 0 56px;
  }
}

@media (max-width: 599px) {
  .home .hb-header .hb-nav__inner {
    min-height: 88px;
  }

  .home .hb-header .hb-nav__brand img {
    max-width: min(220px, calc(100vw - 120px));
    max-height: 68px;
  }

  .home .hb-hero__image {
    height: 300px;
    min-height: 0;
  }

  .home .hb-hero__copy {
    width: calc(100% - 40px);
    padding: 320px 0 48px;
    gap: 18px;
  }

  .home .hb-hero__copy h1 {
    max-width: 100%;
    font-size: clamp(42px, 11vw, 54px);
    line-height: 1.02;
  }
}

html[data-theme="dark"] .home .hb-hero__panel {
  background: var(--ocf-bg-dark);
}

html[data-theme="dark"] .home .hb-hero--immersive .hb-hero__panel:after {
  background: linear-gradient(90deg, var(--ocf-bg-dark) 0%, var(--ocf-bg-dark) 42%, color-mix(in srgb, var(--ocf-bg-dark) 88%, transparent) 56%, color-mix(in srgb, var(--ocf-bg-dark) 34%, transparent) 74%, transparent 100%);
}

html[data-theme="dark"] .home .hb-hero__copy,
html[data-theme="dark"] .home .hb-hero__copy h1,
html[data-theme="dark"] .home .hb-hero .hb-label,
html[data-theme="dark"] .home .hb-hero .hb-phone,
html[data-theme="dark"] .home .hb-hero .hb-hero__intro {
  color: var(--ocf-heading-alt);
}

@media (max-width: 991px) {
  html[data-theme="dark"] .home .hb-hero--immersive .hb-hero__panel:after {
    background: linear-gradient(180deg, color-mix(in srgb, var(--ocf-bg-dark) 8%, transparent) 0%, color-mix(in srgb, var(--ocf-bg-dark) 18%, transparent) 24%, var(--ocf-bg-dark) 44%, var(--ocf-bg-dark) 100%);
  }
}
/* OCF_AGENT_BLOCK:review-harvest-inspired-home-refresh END */

/* OCF_AGENT_BLOCK:dunlap-visible-logo-sizing START */
.hb-header .hb-nav__brand{flex:0 1 280px;max-width:280px}.hb-header .hb-nav__brand img{display:block;width:min(270px,100%);max-width:270px;height:auto;max-height:78px;object-fit:contain}@media(max-width:991px){.hb-header .hb-nav__brand{flex-basis:260px;max-width:260px}.hb-header .hb-nav__brand img{width:min(250px,100%);max-width:250px;max-height:74px}}@media(max-width:599px){.hb-header .hb-nav__brand{flex-basis:auto;max-width:none}.hb-header .hb-nav__brand img{width:min(240px,calc(100vw - 112px));max-width:min(240px,calc(100vw - 112px));height:auto;max-height:70px}}
/* OCF_AGENT_BLOCK:dunlap-visible-logo-sizing END */

/* OCF_AGENT_BLOCK:dunlap-mobile-home-hero-refinements START */
@media (max-width: 599px) {
  .home .hb-header .hb-nav__inner {
    min-height: 72px;
    grid-template-rows: 72px auto;
  }

  .home .hb-header .hb-nav__brand img {
    max-height: 56px;
  }

  .home .hb-hero__copy {
    gap: 12px;
    padding-top: 320px;
  }

  .home .hb-hero__copy h1 {
    font-size: clamp(36px, 9vw, 44px);
    line-height: 1.04;
  }

  .home .hb-hero__copy > .hb-label {
    margin-bottom: 0;
  }

  .home .hb-hero__copy > .hb-button {
    margin-top: 0;
    margin-bottom: 0;
  }

  .home .hb-hero .hb-label--google-rating {
    gap: 7px;
  }

  .home .hb-hero .hb-hero__location-icon {
    display: block;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    color: var(--ocf-heading);
  }

  html:not([data-theme="dark"]) .home .hb-hero--immersive .hb-hero__panel:after {
    background: linear-gradient(
      180deg,
      color-mix(in srgb, var(--ocf-bg) 18%, transparent) 0%,
      color-mix(in srgb, var(--ocf-bg) 48%, transparent) 18%,
      color-mix(in srgb, var(--ocf-bg) 88%, transparent) 42%,
      var(--ocf-bg) 68%,
      var(--ocf-bg) 100%
    );
  }
}
/* OCF_AGENT_BLOCK:dunlap-mobile-home-hero-refinements END */

/* OCF_AGENT_BLOCK:dunlap-tablet-header-fit START */
@media (min-width: 992px) and (max-width: 1199px) {
  .hb-header .hb-nav__brand {
    flex: 0 1 180px;
    min-width: 0;
    max-width: 180px;
  }

  .hb-header .hb-nav__brand img {
    width: min(180px, 100%);
    max-width: 180px;
  }

  .hb-header .hb-nav__menu {
    gap: clamp(8px, 1vw, 12px);
  }

  .hb-header .hb-nav__actions {
    gap: 8px;
  }

  .hb-header .hb-nav__actions .hb-nav__phone {
    display: none;
  }

  .hb-header .hb-nav__actions .hb-button {
    width: auto;
    min-width: 0;
    max-width: 180px;
    padding-inline: 12px;
    white-space: normal;
  }

  .hb-header .hb-nav__actions .hb-button > span:first-child {
    white-space: normal;
  }
}
/* OCF_AGENT_BLOCK:dunlap-tablet-header-fit END */

/* OCF_AGENT_BLOCK:dunlap-mobile-header-compact-alignment START */
@media (max-width: 599px) {
  .hb-header {
    height: auto;
  }

  .hb-header .hb-nav__inner {
    min-height: 80px;
    grid-template-rows: 80px auto;
    align-items: center;
  }

  .hb-header .hb-nav__brand {
    align-self: center;
    justify-self: start;
    min-width: 0;
  }

  .hb-header .hb-nav__brand img {
    display: block;
    width: auto;
    max-width: min(240px, calc(100vw - 112px));
    height: auto;
    max-height: 72px;
    object-fit: contain;
  }

  .hb-header .hb-nav__toggle {
    align-self: center;
    justify-self: end;
  }
}
/* OCF_AGENT_BLOCK:dunlap-mobile-header-compact-alignment END */

/* OCF_AGENT_BLOCK:dunlap-mobile-homepage-refinements START */
@media (max-width: 599px) {
  body.home .hb-header .hb-nav__inner {
    min-height: 62px;
    grid-template-rows: 62px auto;
  }

  body.home .hb-header .hb-nav__brand img {
    width: auto;
    max-width: min(240px, calc(100vw - 112px));
    height: auto;
    max-height: 52px;
    object-fit: contain;
    transform: none;
  }

  body.home .hb-hero__copy h1 {
    font-size: clamp(37px, 10vw, 50px);
  }

  body.home .hb-hero__copy {
    padding-bottom: 40px;
  }
}
/* OCF_AGENT_BLOCK:dunlap-mobile-homepage-refinements END */
