/* Crawlable, high-priority homepage hero image */
.hero-image {
  min-height: 590px;
  position: relative;
  overflow: hidden;
  margin: 0;
  background: #111;
  background-image: none;
  animation: image-in .9s ease both;
}
.hero-image picture {
  position: absolute;
  inset: 0;
  display: block;
}
.hero-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 42%;
}
.hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, var(--bg), transparent 30%);
}
.hero-image .image-note { z-index: 2; }

/* Homepage discovery links and storefront section */
.service-page-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 22px;
  border: 1px solid color-mix(in srgb, var(--accent) 34%, transparent);
  background: color-mix(in srgb, var(--accent) 34%, transparent);
}
.service-page-links a {
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px;
  background: color-mix(in srgb, var(--surface) 96%, var(--bg));
  color: var(--text);
  font: 800 11px/1.35 "Arial Narrow", Arial, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: background .2s ease, color .2s ease;
}
.service-page-links a span { color: var(--accent); font-size: 18px; transition: transform .2s ease; }
.service-page-links a:hover { background: color-mix(in srgb, var(--accent) 10%, var(--surface)); color: #fff; }
.service-page-links a:hover span { transform: translateX(4px); }

/* Compact, accessible desktop services menu */
.nav-services { position: relative; }
.nav-services summary {
  position: relative;
  list-style: none;
  color: inherit;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}
.nav-services summary::-webkit-details-marker { display: none; }
.nav-services summary::after { content: " +"; color: var(--accent); }
.nav-services[open] summary::after { content: " −"; }
.nav-services summary::before {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -8px;
  height: 2px;
  background: var(--accent);
  transition: right .22s ease;
}
.nav-services summary:hover::before,
.nav-services[open] summary::before { right: 0; }
.nav-services-menu {
  min-width: 245px;
  position: absolute;
  top: calc(100% + 18px);
  left: 50%;
  z-index: 40;
  display: grid;
  transform: translateX(-50%);
  border: 1px solid color-mix(in srgb, var(--accent) 42%, #302b27);
  background: #101010;
  box-shadow: 0 22px 55px rgba(0,0,0,.55);
}
.site-header nav .nav-services-menu a {
  padding: 15px 18px;
  border-bottom: 1px solid #2d2824;
  white-space: nowrap;
}
.site-header nav .nav-services-menu a:last-child { border-bottom: 0; }
.site-header nav .nav-services-menu a::after { display: none; }
.site-header nav .nav-services-menu a:hover { background: color-mix(in srgb, var(--accent) 11%, #101010); }

.shop-visit-section {
  display: grid;
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
  gap: clamp(42px, 7vw, 110px);
  align-items: center;
  background: #0b0b0b;
}
.shop-visit-photo {
  min-width: 0;
  margin: 0;
  border: 1px solid color-mix(in srgb, var(--accent) 42%, #302b27);
  background: #111;
  box-shadow: 0 24px 70px rgba(0,0,0,.35);
}
.shop-visit-photo img {
  width: 100%;
  height: min(720px, 72vw);
  display: block;
  object-fit: cover;
  object-position: center;
}
.shop-visit-photo figcaption {
  padding: 13px 16px;
  color: #9f978e;
  font: 700 9px/1.4 Arial, sans-serif;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.shop-visit-copy h2 {
  max-width: 760px;
  margin: 0;
  font-family: Didot, "Bodoni MT", Georgia, serif;
  font-size: clamp(48px, 5vw, 78px);
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: .98;
}
.shop-visit-copy > p:not(.eyebrow) {
  max-width: 680px;
  margin: 25px 0 0;
  color: var(--soft-text);
  font-size: 17px;
  line-height: 1.75;
}
.shop-visit-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 34px;
  border: 1px solid #382f2a;
  background: #382f2a;
}
.shop-visit-facts div { padding: 20px; background: #121212; }
.shop-visit-facts span { color: var(--accent); font: 800 9px/1 Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.shop-visit-facts p { margin: 9px 0 0; color: #d2ccc4; font-size: 14px; line-height: 1.6; }
.shop-visit-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }

/* Expanded internal-link footer */
.site-footer.site-footer-expanded {
  min-height: 0;
  grid-template-columns: minmax(220px, 1.15fr) repeat(2, minmax(150px, .75fr)) minmax(200px, .9fr);
  align-items: start;
  gap: clamp(32px, 5vw, 76px);
  padding-top: 56px;
  padding-bottom: 56px;
}
.site-footer.site-footer-expanded .footer-brand-block p { max-width: 300px; margin: 15px 0 0; line-height: 1.65; }
.site-footer.site-footer-expanded .footer-link-group { display: grid; align-content: start; gap: 13px; }
.footer-link-group > span,
.footer-contact-block > span {
  margin-bottom: 4px;
  color: var(--accent);
  font: 800 10px/1 Arial, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.site-footer.site-footer-expanded .footer-link-group a,
.site-footer.site-footer-expanded .footer-contact-block a {
  color: #c7c0b7;
  font: 700 11px/1.35 "Arial Narrow", Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.site-footer.site-footer-expanded .footer-link-group a:hover,
.site-footer.site-footer-expanded .footer-contact-block a:hover { color: var(--accent); }
.site-footer.site-footer-expanded .footer-contact-block {
  display: grid;
  align-content: start;
  gap: 13px;
  color: inherit;
  font: inherit;
  letter-spacing: normal;
  text-transform: none;
}
.site-footer.site-footer-expanded .footer-contact-block p {
  margin: 0;
  color: var(--soft-text);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: normal;
  text-transform: none;
}

@media (max-width: 1180px) {
  .site-footer.site-footer-expanded { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .service-page-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shop-visit-section { grid-template-columns: 1fr; }
  .shop-visit-photo { max-width: 620px; }
  .shop-visit-photo img { height: auto; }
}

@media (max-width: 820px) {
  .hero-image { min-height: 480px; }
  .hero-image img { object-position: center; }
  .hero-image::after { background: linear-gradient(180deg, var(--bg), transparent 26%); }
  .nav-services { width: 100%; }
  .nav-services summary { font-size: 16px; }
  .nav-services-menu {
    min-width: 0;
    position: static;
    margin-top: 14px;
    transform: none;
    box-shadow: none;
  }
  .site-header nav .nav-services-menu a { padding: 14px 16px; font-size: 14px; }
}

@media (max-width: 560px) {
  .service-page-links { grid-template-columns: 1fr; }
  .service-page-links a { min-height: 62px; }
  .shop-visit-facts { grid-template-columns: 1fr; }
  .shop-visit-actions { display: grid; }
  .shop-visit-actions .button { width: 100%; }
  .site-footer.site-footer-expanded { grid-template-columns: 1fr; }
}
.resource-preview-section{background:#111}.resource-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #3c332d;border-left:1px solid #3c332d}.resource-preview-grid a{display:flex;min-height:250px;flex-direction:column;padding:28px;border-right:1px solid #3c332d;border-bottom:1px solid #3c332d;transition:background .2s ease,transform .2s ease}.resource-preview-grid a:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);transform:translateY(-3px)}.resource-preview-grid span{color:var(--accent);font:800 10px/1 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}.resource-preview-grid h3{margin:42px 0 12px;font-family:Georgia,serif;font-size:28px;font-weight:500}.resource-preview-grid p{margin:0;color:var(--soft-text);line-height:1.6}@media(max-width:1100px){.resource-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.resource-preview-grid{grid-template-columns:1fr}}
