/* Homepage cards and location, plus the shared compact phone/header layout. */
#site-header .header-inner {
  flex-direction:column;
  align-items:center;
  max-width:1140px;
  width:calc(100% - 2 * var(--ybe-gutter));
  margin-inline:auto;
  padding:24px 0 12px
}
#site-header .ybe-header-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  width:100%
}
#site-header .ybe-header-top .site-branding {
  margin:0;
  padding:0;
  flex:0 1 350px;
  min-width:0;
  text-align:left
}
#site-header .site-logo img {display:block;width:350px;max-width:100%;height:auto}
#site-header .ybe-header-phone {
  display:flex;
  align-items:center;
  gap:14px;
  color:#111;
  text-decoration:none;
  padding:12px 16px;
  border:1px solid #1114;
  border-radius:12px;
  flex:none;
  transition:background .2s ease
}
#site-header .ybe-header-phone:hover {background:#ffffff50}
#site-header .ybe-header-phone svg {width:24px;height:24px;flex:none}
#site-header .ybe-header-phone small {display:block;font-size:12px;line-height:1.4}
#site-header .ybe-header-phone strong {display:block;font-size:17px;line-height:1.5;font-weight:600;white-space:nowrap}
#site-header .site-navigation {margin-top:12px}
#site-header a:focus-visible {outline:2px solid #111;outline-offset:5px}
#content .ybe-section-inner {max-width:1140px;margin:0 auto;width:100%;min-width:0}
#content .ybe-home-services {
  margin-top:var(--ybe-section-space);
  padding:clamp(36px,5vw,72px) var(--ybe-gutter);
  background:#101214;
  color:#f6f6f6
}
#content .ybe-home-services h2 {
  font-size:clamp(28px,3vw,42px);
  line-height:1.2;
  font-weight:600;
  text-align:center;
  margin:0 0 36px;
  color:inherit
}
#content .ybe-service-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px
}
#content .ybe-service-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  color:inherit;
  text-decoration:none;
  background:#1b1e20;
  border:0;
  border-radius:0;
  overflow:hidden;
  transition:transform .2s ease
}
#content .ybe-service-photo {
  display:block;
  width:100%;
  aspect-ratio:16/10;
  flex:none;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat
}
#content .ybe-service-copy {display:flex;flex-direction:column;flex:1;align-items:flex-start;padding:22px;gap:14px}
#content .ybe-service-card h3 {margin:0;color:inherit;font-size:21px;line-height:1.3;font-weight:600}
#content .ybe-service-card p {margin:0;color:#d4d6d7;font-size:15px;line-height:1.65}
#content .ybe-service-arrow {display:grid;place-items:center;margin-top:auto;width:32px;height:32px;border-radius:0;background:#fff112;color:#111;font-size:21px}
#content .ybe-service-card:hover {transform:translateY(-4px);box-shadow:none}
#content .ybe-service-card:focus-visible {outline:3px solid #fff112;outline-offset:5px}
#content .ybe-home-location {padding:var(--ybe-section-space) var(--ybe-gutter) 0;background:transparent;color:#111}
#content .ybe-location-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:clamp(24px,4vw,56px);align-items:center}
#content .ybe-location-eyebrow {display:block;font-size:13px;font-weight:600;letter-spacing:.06em;margin-bottom:14px}
#content .ybe-home-location h2 {margin:0 0 20px;color:#111;font-size:clamp(30px,3vw,42px);font-weight:600;line-height:1.15}
#content .ybe-home-location address {font-style:normal;line-height:1.7;font-size:17px;margin-bottom:24px}
#content .ybe-directions {display:flex;flex-wrap:wrap;gap:10px}
#content .ybe-directions a {display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;min-height:44px;border:1px solid #1116;border-radius:0;color:#111;text-decoration:none;font-size:14px;font-weight:500;transition:background .2s ease}
#content .ybe-directions a:hover {background:#ffffff60}
#content .ybe-directions .ybe-direction-primary {width:100%;background:#111;color:#fff;border-color:#111}
#content .ybe-directions .ybe-direction-primary:hover {background:#303030}
#content .ybe-location-phone {display:inline-block;color:#111;font-size:17px;font-weight:600;margin-top:24px;text-underline-offset:4px}
#content .ybe-map {border-radius:0;overflow:hidden;min-width:0;border:0;background:#f2f1eb;box-shadow:none}
#content .ybe-map iframe {display:block;width:100%;height:420px;border:0}
#content .ybe-home-location a:focus-visible {outline:2px solid #111;outline-offset:4px}
@media(max-width:1050px) {
  #content .ybe-service-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px) {
  #site-header .header-inner {padding-block:16px 8px}
  #site-header .ybe-header-top {gap:16px}
  #site-header .ybe-header-top .site-branding {flex-basis:240px}
  #site-header .ybe-header-phone {padding:12px}
  #site-header .ybe-header-phone span {display:none}
  #content .ybe-location-grid {grid-template-columns:minmax(0,1fr)}
  #content .ybe-map iframe {height:340px}
}
@media(max-width:560px) {
  #content .ybe-service-grid {grid-template-columns:minmax(0,1fr);gap:20px}
  #content .ybe-home-services h2 {text-align:left;margin-bottom:24px}
  #content .ybe-service-photo {aspect-ratio:16/9}
  #content .ybe-service-copy {padding:24px}
}
@media(prefers-reduced-motion:reduce) {
  #content .ybe-service-card,#content .ybe-directions a,#site-header .ybe-header-phone {transition:none}
  #content .ybe-service-card:hover {transform:none}
}

#content .ybe-map-external {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:#fff;color:#111;font-size:14px;text-decoration:none;border-top:1px solid #ddd}
#content .ybe-map-external:hover {background:#f7f7f7}

/* Shared header: one desktop row and compact phone/menu controls below 1100px. */
#site-header {padding:0;position:relative;z-index:100}
#site-header .header-inner {position:relative;display:block;max-width:1360px;padding:22px 0;width:calc(100% - 2 * var(--ybe-gutter))}
#site-header .ybe-header-top {display:flex;align-items:center;justify-content:space-between;gap:28px;width:100%;flex-wrap:nowrap}
#site-header .ybe-header-top .site-branding {display:block;flex:0 0 220px;max-width:220px;margin:0;padding:0}
#site-header .ybe-header-top .site-logo {width:100%}
#site-header .site-logo .custom-logo-link {display:block;position:relative;width:100%;aspect-ratio:398/61;overflow:hidden}
#site-header .site-logo img {position:absolute;width:149.246%;max-width:none;height:auto;left:-24.623%;top:-88.525%}
#site-header .site-navigation {display:flex;flex:1 1 auto;justify-content:center;width:auto;margin:0;padding:0}
#site-header .site-navigation ul.menu {display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:clamp(12px,1.5vw,24px);margin:0;padding:0;list-style:none}
#site-header .site-navigation ul.menu li {margin:0;padding:0;display:block}
#site-header .site-navigation ul.menu li a {display:block;padding:12px 0;color:#111;text-decoration:none;white-space:nowrap;font-size:14px;line-height:1.5;font-weight:500}
#site-header .site-navigation ul.menu li a:hover,#site-header .site-navigation ul.menu li a[aria-current=page] {text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
#site-header .site-navigation ul.menu li:last-child a {background:#111;color:#fff112;padding:12px 16px;border-radius:0}
#site-header .site-navigation ul.menu li:last-child a:hover {background:#2b2b2b;text-decoration:none}
#site-header .ybe-header-actions {display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:none}
#site-header .ybe-header-phone {gap:10px;padding:0;border:0;border-radius:0;min-height:46px}
#site-header .ybe-header-phone strong {font-size:15px}
#site-header .ybe-header-phone small {font-size:11px}
#site-header .ybe-menu-toggle {display:none}
#site-header #mobile-navigation {display:none}
@media(min-width:1100px) and (max-width:1240px) {
  #site-header .ybe-header-top {gap:20px}
  #site-header .ybe-header-top .site-branding {flex-basis:185px;max-width:185px}
  #site-header .site-navigation ul.menu {gap:13px}
  #site-header .site-navigation ul.menu li a {font-size:13px}
  #site-header .site-navigation ul.menu li:last-child a {padding-inline:12px}
  #site-header .ybe-header-phone strong {font-size:14px}
}
@media(max-width:1099px) {
  #site-header .header-inner {padding-block:18px}
  #site-header .site-navigation {display:none}
  #site-header .ybe-header-top {gap:16px}
  #site-header .ybe-header-top .site-branding {flex:1 1 220px;max-width:240px;min-width:0}
  #site-header .ybe-header-actions {gap:6px}
  #site-header .ybe-header-phone {width:44px;height:48px;justify-content:center;padding:0}
  #site-header .ybe-header-phone span {display:none}
  #site-header .ybe-header-phone svg {width:25px;height:25px}
  #site-header .ybe-menu-toggle {display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:8px;border:0;border-radius:0;background:transparent;color:#111;cursor:pointer;flex:none}
  #site-header .ybe-menu-toggle svg {display:block;width:32px;height:32px;overflow:visible}
  #site-header .ybe-menu-toggle path {transform-origin:16px 16px;transition:transform .2s ease,opacity .2s ease}
  #site-header .ybe-menu-toggle[aria-expanded=true] .ybe-menu-line-top {transform:translateY(8px) rotate(45deg);transform-origin:16px 8px}
  #site-header .ybe-menu-toggle[aria-expanded=true] .ybe-menu-line-middle {opacity:0}
  #site-header .ybe-menu-toggle[aria-expanded=true] .ybe-menu-line-bottom {transform:translateY(-8px) rotate(-45deg);transform-origin:16px 24px}
  #site-header .ybe-menu-toggle:hover {background:#1111}
  #site-header .ybe-menu-toggle:focus-visible {outline:2px solid #111;outline-offset:3px}
  #site-header #mobile-navigation {position:absolute;top:100%;bottom:auto;left:0;width:100%;margin:0;max-height:none;transform:none}
  #site-header #mobile-navigation[aria-hidden=false] {display:block}
  #site-header #mobile-navigation ul.menu {position:relative;background:#101214;padding:10px 0}
  #site-header #mobile-navigation ul.menu li a {background:transparent;color:#f6f6f6;box-shadow:none;padding:16px 20px;font-size:16px;line-height:1.5}
  #site-header #mobile-navigation ul.menu li.current-menu-item a {color:#fff112}
  #site-header #mobile-navigation ul.menu li a:hover {background:#ffffff12}
  #site-header #mobile-navigation a:focus-visible {outline:2px solid #fff112;outline-offset:-4px}
}
@media(prefers-reduced-motion:reduce) {
  #site-header .ybe-menu-toggle path {transition:none}
}
