/* Scoped styles for the homepage content and temporary inner pages. */
.home-content { width: min(calc(100% - 96px), 1280px); margin: 48px auto 56px; color: #211e29; }
.home-intro { display: grid; grid-template-columns: 1fr 1.15fr; align-items: start; gap: 48px; padding: 28px 0; border-top: 1px solid #e5e2eb; border-bottom: 1px solid #e5e2eb; }
.home-kicker { display: block; margin-bottom: 10px; color: #655a80; font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.home-content h2 { margin: 0; font-size: clamp(22px, 2.1vw, 30px); line-height: 1.2; letter-spacing: -.025em; }
.home-intro h2 { max-width: 350px; }
.home-intro p { margin: 0 0 12px; color: #6b6574; font-size: 15px; line-height: 1.6; }
.home-inline-link { display: inline-flex; align-items: center; gap: 12px; color: #5741a5; font-size: 14px; font-weight: 600; text-decoration: none; }
.home-inline-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.home-shop { padding-block: 28px; }
.home-section-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.home-section-head h2 { font-size: 23px; }
.shop-categories { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.shop-category { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 18px 14px; background: #f5f4f8; border: 1px solid #eeebf3; border-radius: 12px; text-decoration: none; }
.category-icon { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 48px; color: #675095; }
.category-icon svg { display: block; width: 100%; height: 100%; }
.category-copy { min-width: 0; }
.category-copy strong { display: block; margin-bottom: 5px; font-size: 15px; line-height: 1.25; }
.category-copy > span { display: block; color: #746d7d; font-size: 12px; line-height: 1.4; }
.category-arrow { align-self: flex-start; margin-left: auto; color: #8a809b; font-size: 16px; }
.shop-category:hover { background: #ece7f6; border-color: #cbbfe2; }
.home-order { display: flex; align-items: center; gap: 22px; padding: 24px 28px; background: #efebf7; border-radius: 14px; }
.order-mark { flex-shrink: 0; font-size: 48px; line-height: 1; color: #5741a5; }
.order-copy { flex: 1; }
.home-order h2 { font-size: 22px; }
.home-order p { margin: 8px 0 0; max-width: 570px; color: #6b627b; font-size: 14px; line-height: 1.5; }
.home-button { display: inline-flex; justify-content: center; align-items: center; gap: 20px; padding: 14px 20px; border-radius: 8px; background: #5741a5; color: white; font-size: 14px; line-height: 1.4; font-weight: 600; text-decoration: none; }
.home-button:hover { background: #453283; }
.site-navigation summary { min-height: 56px; border-radius: 8px; }
.site-navigation[open] summary { background: #ededed; }
/* Current WordPress items retain the same weight as every menu link. */
.menu a { font-weight: 400; }
.menu a[aria-current="page"],
.menu .current-menu-item > a,
.menu .current_page_item > a,
.menu .current-menu-parent > a,
.menu .current_page_parent > a,
.menu .current-menu-ancestor > a { color: #171717; }
.placeholder-page { width: min(calc(100% - 40px), 700px); margin-inline: auto; padding: 100px 0 72px; min-height: 65vh; }
.placeholder-logo { display: block; width: 160px; margin-bottom: 40px; }
.placeholder-page h1 { margin: 0 0 20px; font-size: clamp(32px, 6vw, 54px); overflow-wrap: break-word; }
.placeholder-page p { max-width: 460px; margin: 0 0 28px; color: #6b6574; line-height: 1.6; }
@media (max-width: 1100px) {
 .home-content { width: calc(100% - 48px); margin-block: 32px 40px; }
 .shop-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .home-intro { gap: 28px; }
 .home-order { flex-wrap: wrap; }
 .home-order .home-button { margin-left: 70px; }
}
@media (max-width: 767px) {
 .home-content { width: calc(100% - 32px); margin-block: 20px 32px; }
 .home-intro { grid-template-columns: minmax(0, 1fr); gap: 16px; padding-block: 22px; }
 .home-intro h2 { max-width: none; }
 .home-shop { padding-block: 24px; }
 .home-section-head h2 { font-size: 21px; }
 .home-inline-link { font-size: 13px; }
 .shop-categories { gap: 8px; }
 .shop-category { position: relative; flex-direction: column; align-items: flex-start; gap: 8px; padding: 14px 12px; }
 .category-icon { width: 36px; height: 38px; flex-basis: 38px; }
 .category-copy strong { font-size: 14px; }
 .category-arrow { position: absolute; right: 12px; top: 14px; }
 .home-order { gap: 14px; padding: 20px; }
 .order-mark { font-size: 34px; }
 .home-order h2 { font-size: 20px; }
 .order-copy { flex-basis: calc(100% - 48px); }
 .home-order .home-button { width: 100%; margin-left: 0; }
}
@media (prefers-reduced-motion: no-preference) {
 .shop-category, .home-button { transition: background-color .15s, border-color .15s; }
}

/* Monochrome treatment, strictly limited to the homepage middle. */
.home-content { color: #151515; }
.home-content .home-intro { border-color: #dedede; }
.home-content .home-kicker { color: #626262; }
.home-content .home-intro p { color: #606060; }
.home-content .home-inline-link { color: #151515; }
.home-content .home-shop {
  position: relative;
  isolation: isolate;
  margin-block: 22px;
  padding: 24px;
  border: 1px solid #e5e5e5;
  border-radius: 16px;
  background-color: #f1f1f1;
  background-image:
    linear-gradient(115deg, transparent 64%, #ffffff80 64%, #ffffff80 64.2%, transparent 64.2%),
    repeating-linear-gradient(115deg, transparent 0 94px, #00000004 94px 95px);
}
.home-content .home-shop::before {
  content: '';
  position: absolute;
  inset: 10px;
  z-index: -1;
  pointer-events: none;
  border: 1px solid #fff;
  border-radius: 8px;
  background-image:
    radial-gradient(circle at center, transparent 0 78px, #ffffffb3 79px 80px, transparent 81px),
    linear-gradient(90deg, transparent calc(50% - .5px), #ffffffb3 calc(50% - .5px), #ffffffb3 calc(50% + .5px), transparent calc(50% + .5px));
}
.home-content .shop-category {
  background: #fff;
  border-color: #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 2px 4px #00000003;
}
.home-content .category-icon { color: #1c1c1c; }
.home-content .category-copy > span { color: #626262; }
.home-content .category-arrow { color: #555; }
.home-content .shop-category:hover { background: #f9f9f9; border-color: #222; }
.home-content .home-order {
  position: relative;
  isolation: isolate;
  color: #fff;
  background-color: #181818;
  background-image: repeating-linear-gradient(115deg, transparent 0 50px, #ffffff06 50px 51px);
  border-radius: 10px;
}
.home-content .order-mark { color: #fff; }
.home-content .home-order p { color: #c9c9c9; }
.home-content .home-button { color: #111; background: #fff; }
.home-content .home-button:hover { background: #e4e4e4; }
.home-content a:focus-visible { outline-color: #111; }
.home-content .home-order a:focus-visible { outline-color: #fff; }
@media (max-width: 767px) {
  .home-content .home-shop { padding: 16px 12px; margin-block: 16px; border-radius: 12px; }
  .home-content .home-section-head { gap: 10px; }
  .home-content .home-section-head h2 { font-size: 20px; }
  .home-content .home-section-head .home-inline-link { gap: 6px; font-size: 12px; }
}

@media (max-width: 767px) {
 .site-navigation summary { min-height: 52px; min-width: 52px; padding: 12px; gap: 10px; font-size: 17px; }
 .site-navigation .menu-label { display: inline; }
}

/* Home categories reuse the catalog's photography and actual archive links. */
.home-content .home-shop.home-shop-photos { padding: 28px 0; border: 0; border-radius: 0; background: none; }
.home-content .home-shop.home-shop-photos::before { content: none; }
.home-content .home-category-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; }
.home-content .home-category-photo { display: block; grid-column: span 2; min-width: 0; color: #171717; text-decoration: none; }
.home-content .home-category-image { overflow: clip; border-radius: 8px; background: #ededed; }
.home-content .home-category-image img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: center 30%; }
.home-content .home-category-caption { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 10px 0 0; }
.home-content .home-category-caption h3 { margin: 0; font-size: clamp(16px, 1.4vw, 19px); line-height: 1.3; font-weight: 700; letter-spacing: -.025em; }
.home-content .home-category-caption > span { flex-shrink: 0; font-size: 20px; }
@media (hover: hover) {
 .home-content .home-category-photo:hover img { transform: scale(1.025); }
 .home-content .home-category-photo:hover .home-category-caption > span { transform: translate(2px, -2px); }
}
@media (prefers-reduced-motion: no-preference) {
 .home-content .home-category-photo img, .home-content .home-category-caption > span { transition: transform 300ms ease; }
}
@media (max-width: 1199px) {
 .home-content .home-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; }
 .home-content .home-category-photo { grid-column: auto; }
}
@media (max-width: 767px) {
 .home-content .home-shop.home-shop-photos { padding-block: 20px; }
 .home-content .home-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
 .home-content .home-category-caption { padding-top: 9px; }
 .home-content .home-category-caption h3 { font-size: 18px; }
}

/* Compact phone layout; approved desktop presentation is unchanged. */
@media (max-width: 767px) {
 .home-content { margin-block: 16px 24px; }
 .home-content h2, .home-content .home-section-head h2, .home-content .home-order h2 { font-size: clamp(28px, 7vw, 36px); }
 .home-intro { padding-block: 20px; gap: 12px; }
 .home-intro p, .home-content .home-order p { font-size: clamp(16px, 4vw, 19px); line-height: 1.5; }
 .home-content .home-section-head { flex-wrap: wrap; gap: 12px; }
 .home-content .home-shop.home-shop-photos { margin-block: 12px; padding-block: 16px; }
 .home-content .home-category-grid { gap: 20px 12px; }
 .home-content .home-category-photo { width: 100%; }
 .home-content .home-category-caption { gap: 6px; }
 .home-content .home-category-caption h3 { min-width: 0; font-size: clamp(14px, 3.7vw, 18px); overflow-wrap: break-word; }
 .home-content .home-category-caption > span { font-size: 16px; }
 .home-content .home-order { padding: 20px; gap: 12px; }
 .home-order .order-mark { font-size: 28px; }
 .home-order .order-copy { flex-basis: calc(100% - 40px); min-width: 0; }
 .home-order .home-button { width: 100%; min-height: 56px; padding: 14px 16px; gap: 12px; }
}

/* Category photos are supplied by WooCommerce; keep the tile size while awaiting media. */
.snap-category-image-pending { display: block; width: 100%; aspect-ratio: 1586 / 992; background: #f0eff4; }
/* Seven-letter wordmark occupies the existing PRINT composition. */
.hero-print { font-size: clamp(100px, 13.2cqw, 270px); }
@media (min-width: 768px) and (max-width: 1100px) { .hero-print { font-size: 17.8cqw; } }
@media (max-width: 767px) { .hero-print { width: 85%; font-size: 20cqw; } }

@media (min-width: 1101px) {
    .hero-caption.caption-left { max-width: 18%; white-space: normal; }
    .hero-caption.caption-right { max-width: 18%; white-space: normal; }
}
/* Fit the approved wider group into the existing hero/card composition. */
@media (min-width: 1101px) {
    .athlete-snap-group { width: 58%; left: 21%; top: 16%; }
    .hero-caption.caption-left { left: 6%; top: 33%; }
    .hero-caption.caption-right { right: 6%; top: 33%; }
}
@media (min-width: 768px) and (max-width: 1100px) {
    .athlete-snap-group { width: 84%; left: 8%; top: 34cqw; }
    .hero-artboard { padding-top: 89%; }
}
@media (max-width: 767px) {
    .athlete-snap-group { width: 100%; left: 0; top: 33cqw; }
    .hero-artboard { padding-top: 94%; }
}
