:root {
  --home-ink: #05080d;
  --home-panel: #0a121b;
  --home-panel-soft: #0d1823;
  --home-line: #27394a;
  --home-copy: #c9d2dd;
  --home-muted: #8da0b4;
  --home-accent: #ff7a00;
  --home-title: "Bebas Neue", sans-serif;
  --home-body: "Poppins", sans-serif;
}

body[data-page="home"] { background: var(--home-ink); color: #f6f2ec; font-family: var(--home-body); }
.hh-home { overflow: clip; background: var(--home-ink); }
/* Explicit display rules must never override native hidden states. */
.hh-home [hidden], body[data-page="home"] > [hidden] { display: none !important; }
.hh-home-feature-card__link { display: inline-flex; align-items: center; min-height: 44px; }
.hh-home-feature-card__content { overflow-wrap: anywhere; }
.hh-home__skip { position: fixed; top: -4rem; left: 1rem; z-index: 10000; padding: .7rem 1rem; background: var(--home-accent); color: #090909; font-weight: 700; border-radius: .35rem; }
.hh-home__skip:focus { top: 1rem; }
.hh-home h1, .hh-home h2, .hh-home h3, .hh-home p { margin-top: 0; }
.hh-home h1, .hh-home h2 { font-family: var(--home-title); font-weight: 400; line-height: .92; letter-spacing: .02em; text-transform: uppercase; }
.hh-home h1 { font-size: clamp(4.3rem, 9vw, 8.5rem); max-width: 11ch; margin-bottom: 1.25rem; }
.hh-home h2 { font-size: clamp(2.5rem, 5vw, 4.1rem); margin-bottom: 0; }
.hh-home-kicker { color: var(--home-accent); font-size: .67rem; line-height: 1.3; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; margin-bottom: .7rem; }
.hh-home-section { max-width: 1440px; margin: 0 auto; padding: 4.5rem 1.25rem; }
.hh-home-section__heading { display: grid; gap: 1rem; align-items: end; margin-bottom: 1.75rem; }
.hh-home-section__heading > p { max-width: 42rem; margin: 0; color: var(--home-copy); font-size: .9rem; line-height: 1.7; }

.hh-home-hero { position: relative; min-height: 0; display: grid; align-items: end; isolation: isolate; border-bottom: 1px solid #182430; background: linear-gradient(120deg, #05080d 35%, #32180a 100%); }
.hh-home-hero__video, .hh-home-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.hh-home-hero__video { z-index: -2; object-fit: cover; object-position: center; opacity: .78; }
.hh-home-hero__shade { z-index: -1; background: linear-gradient(90deg, rgba(5, 8, 13, .96) 0%, rgba(5, 8, 13, .78) 43%, rgba(5, 8, 13, .14) 78%), linear-gradient(0deg, rgba(5, 8, 13, .94), transparent 45%); }
.hh-home-hero__inner { width: min(100% - 2.5rem, 1440px); margin: 0 auto; padding: 4rem 0 2.375rem; }
.hh-home-hero__lead { max-width: 39rem; color: #fff; font-size: clamp(1.05rem, 2vw, 1.35rem); line-height: 1.6; margin-bottom: .7rem; }
.hh-home-hero__copy { max-width: 40rem; color: var(--home-copy); font-size: .9rem; line-height: 1.75; margin-bottom: 1.25rem; }
.hh-home-actions { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; }
.hh-home-button { display: inline-flex; gap: .55rem; min-height: 2.85rem; padding: .8rem 1.05rem; align-items: center; justify-content: center; border: 1px solid var(--home-line); border-radius: 999px; color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.hh-home-button:hover, .hh-home-button:focus-visible { transform: translateY(-2px); border-color: var(--home-accent); color: #fff; }
.hh-home-button--primary { color: #100b06; background: var(--home-accent); border-color: var(--home-accent); }
.hh-home-button--primary:hover, .hh-home-button--primary:focus-visible { color: #100b06; background: #ff9a3e; }
.hh-home-hero__signals { display: flex; flex-wrap: wrap; gap: .65rem; padding: 0; margin: 1.125rem 0 0; list-style: none; }
.hh-home-hero__signals li { display: inline-flex; gap: .45rem; align-items: center; padding: .48rem .7rem; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: #dce4eb; font-size: .64rem; font-weight: 600; text-transform: uppercase; }

.hh-home-discovery { background: linear-gradient(180deg, #15100d 0%, var(--home-ink) 80%); }
.hh-home-discovery__grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
.hh-home-feature-card { min-height: 23rem; position: relative; display: flex; align-items: end; overflow: hidden; border: 1px solid var(--home-line); border-radius: .65rem; background: var(--home-panel); }
.hh-home-feature-card__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .65; transition: transform .35s ease; }
.hh-home-feature-card:hover .hh-home-feature-card__image { transform: scale(1.045); }
.hh-home-feature-card__content { width: 100%; min-height: 56%; position: relative; padding: 1.15rem; background: linear-gradient(0deg, rgba(5,8,13,.98) 42%, rgba(5,8,13,.63) 76%, transparent); }
.hh-home-feature-card__type { color: var(--home-accent); font-size: .67rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.hh-home-feature-card h3 { margin: .55rem 0 .65rem; font-size: 1.35rem; line-height: 1.18; }
.hh-home-feature-card p { margin-bottom: 1rem; color: var(--home-copy); font-size: .78rem; line-height: 1.6; }
.hh-home-feature-card__link { color: var(--home-accent); font-size: .68rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
/* Text-bearing CMS covers stay entirely within their own image area. */
.hh-home-feature-card[data-home-v2-card="knowledge"] { flex-direction: column; align-items: stretch; }
.hh-home-feature-card[data-home-v2-card="knowledge"] .hh-home-feature-card__image { position: relative; inset: auto; flex: none; height: 12rem; object-fit: contain !important; object-position: center; opacity: 1; transform: none; transition: none; background: var(--home-panel); }
.hh-home-feature-card[data-home-v2-card="knowledge"] .hh-home-feature-card__content { flex: 1; min-height: 0; background: var(--home-panel); }
.hh-home-empty { grid-column: 1 / -1; padding: 1.25rem; border: 1px solid var(--home-line); color: var(--home-copy); }

.hh-home-disciplines { padding-top: 3rem; }
.hh-home-disciplines__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.hh-home-discipline-card { min-height: 14rem; position: relative; display: flex; align-items: end; overflow: hidden; border: 1px solid var(--home-line); border-radius: .55rem; background: #0a1017; color: #fff; }
.hh-home-discipline-card:nth-child(5) { grid-column: 1 / -1; }
.hh-home-discipline-card img, .hh-home-discipline-card__visual { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .54; }
.hh-home-discipline-card__visual--turntablism { background: radial-gradient(circle at 50% 35%, #d87925 0 2%, #1b1f21 3% 20%, #050505 21% 32%, transparent 33%), linear-gradient(130deg, #120d0a, #6a270a 52%, #05080d); }
.hh-home-discipline-card > span:last-child { width: 100%; position: relative; z-index: 1; padding: .85rem; background: linear-gradient(0deg, rgba(5,8,13,.98), transparent); }
.hh-home-discipline-card strong { display: block; color: var(--home-accent); font-family: var(--home-title); font-size: 1.55rem; font-weight: 400; letter-spacing: .04em; text-transform: uppercase; }
.hh-home-discipline-card small { display: block; margin-top: .3rem; color: #dce4eb; font-size: .66rem; line-height: 1.45; }

.hh-home-line { display: grid; gap: 1.5rem; max-width: 1440px; margin: 0 auto; padding: 2.5rem 1.25rem; border-top: 1px solid var(--home-line); border-bottom: 1px solid var(--home-line); }
.hh-home-line h2 { font-size: clamp(2.1rem, 4vw, 3rem); }
.hh-home-line p:not(.hh-home-kicker) { max-width: 24rem; margin-bottom: 0; color: var(--home-copy); font-size: .82rem; line-height: 1.6; }
.hh-home-line ul { display: grid; grid-template-columns: 1fr; gap: .75rem; padding: 0; margin: 0; list-style: none; }
.hh-home-line li { min-height: 6rem; padding: 1rem; border: 1px solid var(--home-line); border-radius: .5rem; background: var(--home-panel); }
.hh-home-line li i { color: var(--home-accent); margin-right: .5rem; }
.hh-home-line li strong, .hh-home-line li span { display: block; }
.hh-home-line li strong { margin-top: .35rem; font-size: .72rem; text-transform: uppercase; }
.hh-home-line li span { margin-top: .35rem; color: var(--home-muted); font-size: .72rem; }

.hh-home-agenda { display: grid; gap: 1.5rem; align-items: center; }
.hh-home-agenda__copy p:not(.hh-home-kicker) { max-width: 35rem; color: var(--home-copy); line-height: 1.7; font-size: .9rem; }
.hh-home-agenda__panel { min-height: 10rem; padding: 1rem; border: 1px solid var(--home-line); border-radius: .55rem; background: var(--home-panel); }
.hh-home-agenda__state { display: flex; gap: .65rem; align-items: center; min-height: 7rem; margin: 0; color: var(--home-copy); font-size: .85rem; }
.hh-home-agenda__state i { color: var(--home-accent); }
.hh-home-agenda__state--error { color: #ffc6b3; }
.hh-home-agenda__items { display: grid; gap: .7rem; }
.hh-home-agenda__item { display: grid; gap: .25rem; padding: .75rem 0; color: #fff; border-bottom: 1px solid var(--home-line); }
.hh-home-agenda__item:last-child { border: 0; }
.hh-home-agenda__item small { color: var(--home-muted); font-size: .68rem; }
.hh-home-agenda__item strong { font-size: .88rem; }

.hh-home-shop { display: grid; min-height: 24rem; background: #0d1115; border-top: 1px solid var(--home-line); border-bottom: 1px solid var(--home-line); }
.hh-home-shop img { width: 100%; height: 15rem; object-fit: cover; filter: saturate(.8) contrast(1.08); }
.hh-home-shop > div { padding: 2rem 1.25rem; align-self: center; }
.hh-home-shop h2 { max-width: 15ch; }
.hh-home-shop p:not(.hh-home-kicker) { max-width: 39rem; color: var(--home-copy); font-size: .88rem; line-height: 1.7; }
.hh-home-join { padding-bottom: 4.8rem; }
.hh-home-join__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-bottom: 1.2rem; }
.hh-home-join__grid article { min-height: 10rem; padding: 1rem; border: 1px solid var(--home-line); border-radius: .55rem; background: var(--home-panel); }
.hh-home-join__grid i { color: var(--home-accent); font-size: 1.2rem; }
.hh-home-join__grid h3 { margin: .75rem 0 .35rem; font-family: var(--home-title); font-size: 1.6rem; font-weight: 400; letter-spacing: .03em; text-transform: uppercase; }
.hh-home-join__grid p { margin: 0; color: var(--home-muted); font-size: .7rem; line-height: 1.5; }

.hh-home-footer { padding: 3rem 1.25rem 1.5rem; border-top: 1px solid var(--home-line); background: #070a10; color: var(--home-copy); font-family: var(--home-body); }
.hh-home-footer__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1rem; max-width: 1240px; margin: 0 auto; }
.hh-home-footer__grid > div:first-child { grid-column: 1 / -1; }
.hh-home-footer__brand { display: inline-flex; align-items: center; gap: .65rem; color: #fff; font-family: var(--home-title); font-size: 2rem; letter-spacing: .04em; text-transform: uppercase; }
.hh-home-footer__brand img { width: 2.3rem; height: 2.3rem; object-fit: contain; }
.hh-home-footer p { max-width: 24rem; margin: .8rem 0 0; font-size: .72rem; line-height: 1.7; }
.hh-home-footer h2 { margin: 0 0 .7rem; font-family: var(--home-title); font-size: 1.35rem; font-weight: 400; letter-spacing: .04em; text-transform: uppercase; }
.hh-home-footer a:not(.hh-home-footer__brand) { display: flex; align-items: center; min-height: 44px; margin: .2rem 0; color: var(--home-copy); font-size: .72rem; }
.hh-home-footer a:hover, .hh-home-footer a:focus-visible { color: var(--home-accent); }
.hh-home-footer__copy { max-width: 1240px; margin: 2rem auto 0 !important; padding-top: 1rem; border-top: 1px solid var(--home-line); color: var(--home-muted); }

@media (min-width: 640px) {
  .hh-home-section, .hh-home-line { padding-left: 2rem; padding-right: 2rem; }
  .hh-home-hero { min-height: 32rem; }
  .hh-home-hero__inner { width: min(100% - 4rem, 1440px); }
  .hh-home-section__heading { grid-template-columns: minmax(0, 1fr) minmax(18rem, .8fr); }
  .hh-home-line ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hh-home-agenda { grid-template-columns: minmax(0, .9fr) minmax(20rem, 1.1fr); }
  .hh-home-shop { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .hh-home-shop img { height: 100%; min-height: 24rem; }
  .hh-home-join__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .hh-home-footer { padding-left: 2rem; padding-right: 2rem; }
  .hh-home-footer__grid { grid-template-columns: 1.5fr repeat(3, 1fr); }
  .hh-home-footer__grid > div:first-child { grid-column: auto; }
}

@media (min-width: 960px) {
  .hh-home-section { padding-top: 5.5rem; padding-bottom: 5.5rem; }
  .hh-home-hero { min-height: 34rem; }
  .hh-home-hero__inner { padding-bottom: 3.75rem; }
  .hh-home-discovery__grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
  .hh-home-feature-card { min-height: 27rem; }
  .hh-home-disciplines__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .hh-home-discipline-card, .hh-home-discipline-card:nth-child(5) { grid-column: auto; min-height: 17rem; }
  .hh-home-line { grid-template-columns: minmax(16rem, .8fr) minmax(0, 2fr); align-items: center; padding-top: 3.5rem; padding-bottom: 3.5rem; }
}

@media (min-width: 640px) and (max-width: 959px) {
  .hh-home-section__heading, .hh-home-agenda { grid-template-columns: minmax(0, 1fr); }
  .hh-home-discovery__grid { grid-template-columns: minmax(0, 1fr); }
  .hh-home-join__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hh-home-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hh-home-footer__grid > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 639px) {
  .hh-home-join__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 520px) {
  .hh-home-hero__video { display: none; }
  .hh-home-hero__shade { background: linear-gradient(135deg, rgba(5,8,13,.95), rgba(77,32,7,.62)), url("../assets/images/HERO-MCING.jpg") center/cover; }
  .hh-home h1 { font-size: clamp(2.65rem, 11.8vw, 4rem); max-width: none; }
  .hh-home-actions { display: grid; grid-template-columns: 1fr; }
  .hh-home-button { width: 100%; }
  .hh-home-hero__signals { gap: .4rem; }
  .hh-home-hero__signals li { font-size: .56rem; }
}

@media (min-width: 1000px) and (max-width: 1220px) {
  body[data-page="home"] .site-header__nav { gap: .6rem; }
  body[data-page="home"] .site-header__link { font-size: 1.05rem; min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .hh-home *, .hh-home *::before, .hh-home *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
  .hh-home-hero__video { display: none; }
}
.hh-home-feature-card__discipline {
  display: block;
  margin-top: .35rem;
  font-size: .8rem;
  color: #f4efe6;
}
