/* ================================================================
   305 FILMS — SITE LAYER (2026 overhaul)
   Loads after theme.css (UIkit/YOOtheme) and custom-051523.css.
   Brand: the Florida license plate. Barlow was drawn from California
   plates and highway signage, so it carries the plate into the type.
   ================================================================ */

:root {
  --hh-black: #000;
  --hh-plum: #1C0816;          /* from the modal gradient, rgb(44,10,30) darkened */
  --hh-pink: #FF31AB;          /* Florida silhouette */
  --hh-cyan: #00B2E1;          /* FLORIDA / MIAMI */
  --hh-white: #fff;
  --hh-haze: #A99BB0;          /* secondary text */
  --hh-line: rgba(255, 255, 255, 0.16);
  --hh-display: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --hh-text: 'Barlow', 'Helvetica Neue', Arial, sans-serif;
  --hh-gutter: clamp(20px, 4.5vw, 64px);
  --hh-max: 1360px;
  --hh-band: clamp(72px, 10vw, 150px);
}

/* ---------- Type: replace Lato / Montserrat site-wide ---------- */
html { font-family: var(--hh-text); font-weight: 400; font-size: 17px; }
body { font-family: var(--hh-text); }
h1, h2, h3, .uk-h1, .uk-h2, .uk-h3, .uk-heading-small, .uk-heading-medium, .uk-heading-large,
.uk-text-lead, .uk-font-primary, .uk-logo, .uk-nav-primary, .uk-article-title, .uk-modal-title {
  font-family: var(--hh-display);
  font-weight: 600;
  letter-spacing: 0;
}
h4, h5, h6, .uk-h4, .uk-h5, .uk-h6, .uk-button, .uk-text-meta, .uk-font-secondary,
.uk-navbar-item, .uk-navbar-nav > li > a, .uk-navbar-toggle, .uk-navbar-dropdown-nav, .uk-nav-default,
.uk-subnav > * > :first-child, .uk-dropdown-nav, .uk-description-list > dt, .uk-table th, .uk-form-label {
  font-family: var(--hh-text);
}
.uk-navbar-nav > li > a {
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.02em;
  text-transform: none;
}
.uk-navbar-dropdown-nav > li > a { text-transform: none; font-size: 15px; font-weight: 500; }
.uk-button { font-weight: 600; letter-spacing: 0.02em; }

/* Hero slideshow captions: film title cards */
.hh-section-hero .hh-text-1 { font-family: var(--hh-display); font-weight: 600 !important; font-size: clamp(2.2rem, 4vw, 3.4rem); line-height: 0.95; letter-spacing: 0.01em; }
.hh-section-hero .hh-text-2 { font-family: var(--hh-display); font-weight: 500 !important; font-size: 1.5rem; line-height: 1.2; letter-spacing: 0.02em; }
.hh-section-hero .hh-text-3 { font-family: var(--hh-text); font-weight: 600 !important; letter-spacing: 0.08em; }

/* Video tiles */
.hh-portfolio-grid .hh-title { font-family: var(--hh-display); font-weight: 600; font-size: 1.6rem; line-height: 1.05; }
.hh-portfolio-grid .hh-subtitle { font-family: var(--hh-text); font-weight: 600; letter-spacing: 0.08em; }

/* ---------- Focus & motion ---------- */
a:focus-visible, button:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--hh-pink);
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ---------- Layout primitives ---------- */
.hh-wrap {
  max-width: var(--hh-max);
  margin: 0 auto;
  padding-left: var(--hh-gutter);
  padding-right: var(--hh-gutter);
  box-sizing: border-box;
}
.hh-band {
  padding-top: var(--hh-band);
  padding-bottom: var(--hh-band);
  background-color: var(--hh-black);
  background-image: linear-gradient(#000, #000), url("../images/section-background-image.jpg");
  background-blend-mode: soft-light;
  color: var(--hh-white);
}
.hh-band--plum { background: var(--hh-plum); }
.hh-band--flush-top { padding-top: 0; }
.hh-band + .hh-band:not(.hh-band--plum) { padding-top: 0; }
/* Must outrank the rule above (0,3,0): a black band after plum needs its full top padding. */
.hh-band.hh-band--plum + .hh-band, .hh-hero + .hh-band { padding-top: var(--hh-band); }

/* ---------- Type scale ---------- */
.hh-display, .hh-h1, .hh-h2, .hh-h3 {
  font-family: var(--hh-display);
  font-weight: 600;
  color: var(--hh-white);
  margin: 0;
  text-transform: none;       /* the UIkit theme capitalizes every heading */
  text-wrap: balance;
}
.hh-display { font-size: clamp(3.2rem, 7.6vw, 7.8rem); line-height: 0.9; letter-spacing: -0.01em; }
.hh-h1      { font-size: clamp(3rem, 6.4vw, 6.4rem); line-height: 0.92; letter-spacing: -0.005em; }
.hh-h2      { font-size: clamp(2.3rem, 4.2vw, 3.9rem); line-height: 0.98; }
.hh-h3      { font-size: clamp(1.55rem, 2.1vw, 2rem); line-height: 1.05; }
.hh-lead    { font-size: clamp(1.15rem, 1.5vw, 1.4rem); line-height: 1.5; color: var(--hh-white); max-width: 36em; margin: 0; }
.hh-body p, .hh-body li { font-size: 1.06rem; line-height: 1.7; color: #e9e3ec; }
.hh-body p { max-width: 38em; margin: 0 0 1.1em; }
.hh-body p:last-child { margin-bottom: 0; }
.hh-muted { color: var(--hh-haze); }
.hh-body a:not(.hh-btn), .hh-link {
  color: var(--hh-cyan);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}
.hh-body a:not(.hh-btn):hover, .hh-link:hover { color: var(--hh-white); }

/* Section heading row: heading left, supporting line right */
.hh-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr);
  gap: 24px 64px;
  align-items: end;
  margin-bottom: clamp(40px, 5vw, 72px);
}
.hh-head .hh-lead { color: var(--hh-haze); font-size: 1.15rem; }
@media (max-width: 960px) { .hh-head { grid-template-columns: 1fr; } }

/* ---------- Buttons ---------- */
.hh-actions { display: flex; flex-wrap: wrap; gap: 12px 16px; margin-top: 36px; }
.hh-btn {
  display: inline-flex;
  align-items: center;
  min-height: 52px;
  padding: 0 26px;
  border-radius: 999px;       /* plate bolt-slot shape */
  background: var(--hh-pink);
  color: var(--hh-black);
  font-family: var(--hh-text);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.01em;
  text-decoration: none;
  border: 2px solid var(--hh-pink);
  transition: background-color 0.15s, color 0.15s;
}
.hh-btn:hover { background: var(--hh-white); border-color: var(--hh-white); color: var(--hh-black); text-decoration: none; }
.hh-btn--ghost { background: transparent; color: var(--hh-white); border-color: rgba(255, 255, 255, 0.55); }
.hh-btn--ghost:hover { background: var(--hh-white); color: var(--hh-black); }

/* ---------- Full-bleed hero (services + market pages) ---------- */
.hh-hero {
  position: relative;
  min-height: min(88vh, 900px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--hh-black);
  color: var(--hh-white);
}
.hh-hero-media, .hh-hero-media > img, .hh-hero-media > video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hh-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.35) 55%, rgba(0, 0, 0, 0) 100%),
    linear-gradient(0deg, #000 0%, rgba(0, 0, 0, 0) 45%);
}
.hh-hero-body {
  position: relative;
  width: 100%;
  padding-top: 120px;
  padding-bottom: clamp(48px, 7vw, 96px);
}
.hh-hero--short { min-height: min(72vh, 760px); }
.hh-hero .hh-plate-wrap { width: clamp(200px, 22vw, 300px); margin-bottom: 32px; }
.hh-hero .hh-h1 { max-width: 11em; }
.hh-hero .hh-lead { margin-top: 24px; }

/* ---------- License plates ---------- */
.hh-plate { display: block; width: 100%; height: auto; overflow: visible; }
.hh-plate-shape { fill: var(--hh-pink); color: var(--hh-pink); }
.hh-plate-word { fill: var(--hh-cyan); font-family: var(--hh-text); font-weight: 800; }
.hh-plate-number { fill: var(--hh-white); font-family: var(--hh-display); font-weight: 500; }

.hh-plate-wrap .hh-plate { filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.55)); }

/* ---------- Territories: neon silhouettes ---------- */
.hh-territories {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: clamp(40px, 4vw, 56px) clamp(24px, 3vw, 48px);
}
.hh-territory-link { display: block; color: var(--hh-white); text-decoration: none; }
.hh-territory-link:hover { color: var(--hh-white); text-decoration: none; }
/* Fixed-height stage so tall (South America) and flat (Jamaica) shapes line up */
.hh-territory-shape {
  height: clamp(150px, 14vw, 200px);
  display: flex;
  align-items: center;
  padding: 0 4px;
}
.hh-silhouette {
  display: block;
  height: 100%;
  width: auto;
  max-width: 100%;
  overflow: visible;
  fill: var(--hh-pink);
  color: var(--hh-pink);
  /* Neon tube: tight bright edge, then two wider falloffs */
  filter:
    drop-shadow(0 0 2px rgba(255, 150, 210, 0.95))
    drop-shadow(0 0 12px rgba(255, 49, 171, 0.8))
    drop-shadow(0 0 34px rgba(255, 49, 171, 0.55));
  transition: filter 0.25s ease;
}
.hh-territory-link:hover .hh-silhouette, .hh-territory-link:focus-visible .hh-silhouette {
  filter:
    drop-shadow(0 0 3px rgba(255, 190, 230, 1))
    drop-shadow(0 0 16px rgba(255, 49, 171, 0.95))
    drop-shadow(0 0 48px rgba(255, 49, 171, 0.7));
}
.hh-territory-name { margin: 30px 0 6px; }
.hh-territory-link:hover .hh-territory-name { color: var(--hh-pink); }
.hh-territory-line { margin: 0; color: var(--hh-haze); font-size: 1rem; line-height: 1.55; max-width: 26em; }
@media (max-width: 640px) {
  .hh-territories { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 20px; }
  .hh-territory-shape { height: 110px; }
  .hh-territory-name { margin-top: 20px; font-size: 1.3rem; }
  .hh-territory-line { font-size: 0.9rem; }
}

/* ---------- Home: opening statement ---------- */
.hh-statement {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  gap: 40px clamp(40px, 6vw, 110px);
  align-items: end;
}
@media (max-width: 960px) { .hh-statement { grid-template-columns: 1fr; } }

/* ---------- Directors ---------- */
.hh-directors {
  list-style: none; margin: 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(28px, 3vw, 48px);
}
.hh-director a { display: block; color: var(--hh-white); text-decoration: none; }
.hh-director-photo { aspect-ratio: 4 / 5; overflow: hidden; background: #111; margin-bottom: 22px; }
.hh-director-photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); transition: filter 0.3s; }
.hh-director a:hover img { filter: grayscale(0.2) contrast(1.05); }
.hh-director a:hover .hh-h3 { color: var(--hh-pink); }
.hh-director p { margin: 10px 0 0; color: var(--hh-haze); line-height: 1.55; }
@media (max-width: 960px) { .hh-directors { grid-template-columns: 1fr; max-width: 520px; } }

/* ---------- End credits ---------- */
.hh-credits { max-width: 1120px; margin: 0 auto; }
.hh-credits-title { text-align: center; margin-bottom: clamp(48px, 6vw, 88px); }
.hh-credit {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
  gap: 8px clamp(28px, 4vw, 64px);
  padding: 30px 0;
  border-top: 1px solid var(--hh-line);
}
.hh-credit dt {
  text-align: right;
  font-family: var(--hh-text);
  font-weight: 600;
  color: var(--hh-haze);
  font-size: 1rem;
  padding-top: 6px;
}
.hh-credit dd { margin: 0; }
.hh-credit ul {
  list-style: none; margin: 0; padding: 0;
  columns: 3 13em;
  column-gap: 32px;
}
.hh-credit li {
  font-family: var(--hh-display);
  font-weight: 500;
  font-size: clamp(1.35rem, 1.8vw, 1.7rem);
  line-height: 1.45;
  break-inside: avoid;
}
@media (max-width: 700px) {
  .hh-credit { grid-template-columns: 1fr; }
  .hh-credit dt { text-align: left; }
  .hh-credit ul { columns: 2; }
}

/* ---------- Services: formats ---------- */
.hh-formats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(48px, 6vw, 88px) clamp(28px, 3.5vw, 56px);
}
.hh-format-media { aspect-ratio: 16 / 9; overflow: hidden; background: var(--hh-plum); margin-bottom: 26px; }
.hh-format-media img { width: 100%; height: 100%; object-fit: cover; }
.hh-format-media--posters { display: flex; justify-content: center; gap: 4%; padding: 5% 0; box-sizing: border-box; }
.hh-format-media--posters img { width: auto; height: 100%; object-fit: contain; box-shadow: 0 16px 36px rgba(0, 0, 0, 0.6); }
.hh-format .hh-body { margin-top: 14px; }
@media (max-width: 960px) { .hh-formats { grid-template-columns: 1fr; } }

/* ---------- Services: prep / shoot / post ---------- */
.hh-stages {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px clamp(28px, 4vw, 64px);
  list-style: none; margin: 0; padding: 0;
}
.hh-stage { border-top: 3px solid var(--hh-pink); padding-top: 22px; }
.hh-stage:nth-child(2) { border-color: var(--hh-white); }
.hh-stage:nth-child(3) { border-color: var(--hh-cyan); }
.hh-stage p { color: var(--hh-haze); margin: 10px 0 20px; line-height: 1.55; }
.hh-stage ul { list-style: none; margin: 0; padding: 0; }
.hh-stage li { padding: 9px 0; border-bottom: 1px solid var(--hh-line); font-size: 1.05rem; }
@media (max-width: 960px) { .hh-stages { grid-template-columns: 1fr; } }

/* ---------- Market: intro + location sheet ---------- */
.hh-split {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 56px clamp(40px, 6vw, 110px);
  align-items: start;
}
@media (max-width: 960px) { .hh-split { grid-template-columns: 1fr; } }
.hh-split .hh-body { margin-top: 28px; }

.hh-sheet {
  border: 2px solid var(--hh-white);
  border-radius: 18px;
  padding: 26px 28px 12px;
  background: rgba(0, 0, 0, 0.55);
}
.hh-sheet-title {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 16px;
  text-transform: none;
  margin: 0 0 12px;
  font-family: var(--hh-display);
  font-weight: 600;
  font-size: 1.7rem;
}
.hh-sheet-title span { font-family: var(--hh-text); font-size: 0.95rem; font-weight: 600; color: var(--hh-cyan); }
.hh-sheet table { width: 100%; border-collapse: collapse; }
.hh-sheet th, .hh-sheet td { text-align: left; vertical-align: top; padding: 14px 0; border-top: 1px solid var(--hh-line); line-height: 1.45; }
.hh-sheet th { width: 38%; padding-right: 20px; color: var(--hh-haze); font-weight: 600; font-size: 0.95rem; }
.hh-sheet td { color: var(--hh-white); font-size: 1.05rem; }

/* ---------- Market: what we handle ---------- */
.hh-handles {
  list-style: none; margin: 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 clamp(28px, 4vw, 64px);
}
.hh-handles li { padding: 24px 0 28px; border-top: 1px solid var(--hh-line); }
.hh-handles h3 { font-size: 1.5rem; margin: 0 0 8px; text-transform: none; }
.hh-handles p { margin: 0; color: var(--hh-haze); line-height: 1.6; }
@media (max-width: 960px) { .hh-handles { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .hh-handles { grid-template-columns: 1fr; } }

/* ---------- Market: photo mosaic ---------- */
.hh-mosaic {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 12px;
  aspect-ratio: 16 / 10;
}
.hh-mosaic figure { margin: 0; overflow: hidden; background: var(--hh-plum); }
.hh-mosaic figure:first-child { grid-row: span 2; }
.hh-mosaic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hh-mosaic--four { grid-template-columns: 1.4fr 1fr 1fr; }
.hh-mosaic--four figure:nth-child(4) { grid-column: 2 / span 2; }
@media (max-width: 640px) {
  .hh-mosaic, .hh-mosaic--four { aspect-ratio: auto; grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .hh-mosaic--four { grid-template-columns: repeat(3, 1fr); }
  .hh-mosaic figure { aspect-ratio: 4 / 3; }
  .hh-mosaic figure:first-child { grid-row: auto; grid-column: 1 / -1; aspect-ratio: 16 / 10; }
  .hh-mosaic--four figure:nth-child(4) { grid-column: auto; }
}

.hh-places { list-style: none; margin: 28px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.hh-places li {
  border: 1.5px solid rgba(255, 255, 255, 0.5);
  border-radius: 999px;
  padding: 7px 16px;
  font-weight: 600;
  font-size: 0.95rem;
}

.hh-extra { margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--hh-line); }
.hh-extra .hh-body { margin-top: 12px; }

/* ---------- Work grid heading (tiles keep their existing markup) ---------- */
.hh-work-head { padding-bottom: 40px; }
.hh-work-head .uk-subnav { margin-top: 28px; justify-content: flex-start; }

/* ---------- Call to action ---------- */
.hh-cta { text-align: left; }
.hh-cta .hh-h2 { max-width: 13em; }
.hh-cta .hh-lead { margin-top: 20px; color: #e9e3ec; }

/* ---------- About ---------- */
.hh-team { list-style: none; margin: 0; padding: 0; }
.hh-member {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 32px clamp(40px, 6vw, 96px);
  align-items: center;
  padding: clamp(40px, 5vw, 72px) 0;
  border-top: 1px solid var(--hh-line);
}
.hh-member:nth-child(even) .hh-member-photo { order: 2; }
.hh-member-photo img { width: 100%; height: auto; display: block; filter: grayscale(1); }
.hh-member-role { color: var(--hh-pink); font-weight: 700; margin: 0 0 8px; }
.hh-member blockquote { margin: 22px 0 0; padding: 0; font-family: var(--hh-display); font-style: normal; font-size: clamp(1.4rem, 2vw, 1.9rem); line-height: 1.2; color: var(--hh-white); }
.hh-member blockquote footer, .hh-member cite { display: block; margin-top: 10px; font-family: var(--hh-text); font-size: 0.95rem; color: var(--hh-haze); font-style: normal; text-transform: none; letter-spacing: 0; }
.hh-member blockquote footer::before { content: none; }  /* theme adds an em dash that renders garbled */
.hh-member .hh-actions { margin-top: 28px; }
.hh-member-known { margin-top: 16px; }
@media (max-width: 960px) { .hh-member { grid-template-columns: 1fr; } .hh-member:nth-child(even) .hh-member-photo { order: 0; } .hh-member-photo { max-width: 420px; } }

.hh-regions { width: 100%; border-collapse: collapse; }
.hh-regions th, .hh-regions td { text-align: left; vertical-align: top; padding: 20px 0; border-top: 1px solid var(--hh-line); }
.hh-regions th { width: 30%; padding-right: 24px; font-family: var(--hh-display); font-weight: 600; font-size: 1.6rem; line-height: 1.1; }
.hh-regions td { color: #e9e3ec; line-height: 1.6; font-size: 1.05rem; }
@media (max-width: 640px) { .hh-regions th, .hh-regions td { display: block; width: auto; } .hh-regions td { border-top: 0; padding-top: 0; } }

/* ---------- Contact ---------- */
.hh-email {
  display: inline-block;
  margin-top: 36px;
  font-family: var(--hh-display);
  font-weight: 600;
  font-size: clamp(1.8rem, 4.4vw, 3.6rem);
  line-height: 1;
  color: var(--hh-white);
  text-decoration: underline;
  text-decoration-color: var(--hh-pink);
  text-decoration-thickness: 3px;
  text-underline-offset: 0.16em;
  overflow-wrap: anywhere;
}
.hh-email:hover { color: var(--hh-pink); text-decoration-color: var(--hh-pink); }
.hh-brief { list-style: none; margin: 0; padding: 0; counter-reset: none; }
.hh-brief li { padding: 18px 0; border-top: 1px solid var(--hh-line); }
.hh-brief strong { display: block; font-family: var(--hh-display); font-weight: 600; font-size: 1.45rem; line-height: 1.15; }
.hh-brief span { display: block; margin-top: 4px; color: var(--hh-haze); line-height: 1.55; }

/* ---------- 404 ---------- */
.hh-notfound { min-height: 60vh; display: flex; align-items: center; }
.hh-notfound > .hh-wrap { width: 100%; }
.hh-notfound .hh-plate-wrap { width: min(360px, 80vw); margin-bottom: 40px; }
.hh-notfound .hh-lead { margin-top: 20px; }

/* ---------- Director portfolio pages ---------- */
.hh-director-intro { margin: 8px auto 32px; text-align: center; color: var(--hh-haze); font-size: 1.15rem; max-width: 40em; }

/* ---------- Footer ---------- */
.hh-footer { background: var(--hh-black); color: var(--hh-white); padding: clamp(64px, 8vw, 110px) 0 36px; border-top: 1px solid var(--hh-line); }
.hh-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, 1fr));
  gap: 48px clamp(28px, 4vw, 64px);
}
.hh-footer-brand img { width: 150px; height: auto; display: block; }
.hh-footer-brand p { margin: 22px 0 0; color: var(--hh-haze); line-height: 1.6; max-width: 22em; }
.hh-footer h2 { font-family: var(--hh-text); font-size: 1rem; font-weight: 700; color: var(--hh-white); margin: 0 0 14px; letter-spacing: 0; text-transform: none; }
.hh-footer ul { list-style: none; margin: 0; padding: 0; }
.hh-footer li { padding: 5px 0; }
.hh-footer a { color: var(--hh-haze); text-decoration: none; }
.hh-footer a:hover { color: var(--hh-white); text-decoration: underline; text-underline-offset: 0.2em; }
.hh-footer-base { margin-top: clamp(48px, 6vw, 80px); padding-top: 24px; border-top: 1px solid var(--hh-line); color: var(--hh-haze); font-size: 0.9rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }
@media (max-width: 960px) { .hh-footer-grid { grid-template-columns: 1fr 1fr; } .hh-footer-brand { grid-column: 1 / -1; } }
@media (max-width: 480px) { .hh-footer-grid { grid-template-columns: 1fr; } }

/* Visually hidden (accessible names) */
.hh-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
