/*
 * Drum School Woody — site-wide finishing layer
 * The home page is the visual source of truth: true white, fine rules,
 * Source Han Serif JP, generous whitespace, and square monochrome controls.
 */

:root {
  --unity-bg: #ffffff;
  --unity-ink: #111111;
  --unity-muted: #66635f;
  --unity-soft: #f5f4f1;
  --unity-line: rgba(17, 17, 17, 0.16);
  --unity-line-strong: rgba(17, 17, 17, 0.34);
  --unity-max: 1180px;
  --unity-reading: 720px;
  --unity-header-height: 76px;
  --unity-font: "WOODY Gen Mincho", "Source Han Serif JP", "源ノ明朝 JP",
    "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
}

html {
  background: var(--unity-bg);
  scroll-padding-top: calc(var(--unity-header-height) + 28px);
}

body {
  background: var(--unity-bg) !important;
  color: var(--unity-ink) !important;
  font-family: var(--unity-font) !important;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body :is(button, input, select, textarea) {
  font-family: var(--unity-font) !important;
}

/* One header on every route. */
.unity-header.site-header {
  position: fixed !important;
  inset: 0 0 auto !important;
  z-index: 1000 !important;
  width: 100% !important;
  height: var(--unity-header-height) !important;
  min-height: var(--unity-header-height) !important;
  margin: 0 !important;
  padding: 0 clamp(22px, 4vw, 64px) !important;
  display: grid !important;
  grid-template-columns: minmax(190px, 1fr) auto minmax(190px, 1fr) !important;
  align-items: center !important;
  gap: 24px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(17, 17, 17, 0.1) !important;
  background: rgba(255, 255, 255, 0.95) !important;
  box-shadow: none !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

.unity-header .site-brand {
  position: static !important;
  justify-self: start !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--unity-ink) !important;
  font-family: var(--unity-font) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0.32em !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.unity-header .site-nav {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(18px, 2.8vw, 38px) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.unity-header .site-nav a,
.unity-header .header-action {
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--unity-ink) !important;
  font-family: var(--unity-font) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0.15em !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.unity-header .site-nav a {
  padding: 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid transparent !important;
  background: transparent !important;
}

.unity-header .site-nav a:is(:hover, :focus-visible, [aria-current="page"]) {
  border-bottom-color: var(--unity-ink) !important;
}

.unity-header .header-action {
  justify-self: end !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 20px !important;
  border: 1px solid var(--unity-ink) !important;
  background: #fff !important;
}

.unity-header .header-action:is(:hover, :focus-visible) {
  background: var(--unity-ink) !important;
  color: #fff !important;
}

/* Shared editorial rhythm. Product and home heroes keep their intended layouts. */
body:not(.home-luxury, .product-page, .line-page, .nf-page)
  :is(.city-hero, .v3-hero--center) {
  padding-top: clamp(150px, 13vw, 184px) !important;
  padding-bottom: clamp(88px, 8vw, 120px) !important;
}

body.city-page:not(.product-page) main > article.city-section:first-child {
  padding-top: 142px !important;
}

body:not(.home-luxury, .product-page)
  :is(.city-h1, .v3-h1, main > article:first-child > h1) {
  color: var(--unity-ink) !important;
  font-family: var(--unity-font) !important;
  font-weight: 200 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.045em !important;
}

body:not(.home-luxury, .product-page)
  :is(.city-section h2, .v3-h2, .payment-section h2, .request-form-title) {
  color: var(--unity-ink) !important;
  font-family: var(--unity-font) !important;
  font-size: clamp(30px, 3vw, 40px) !important;
  font-weight: 200 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.055em !important;
}

body :is(.city-eyebrow, .v3-eyebrow, .section-kicker, .stick-kicker) {
  color: var(--unity-muted) !important;
  font-family: var(--unity-font) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  letter-spacing: 0.27em !important;
}

body:not(.home-luxury, .product-page)
  :is(.city-tagline, .city-intro, .city-note, .v3-tagline, .v3-note, .payment-section-lead) {
  color: #4b4946 !important;
  font-family: var(--unity-font) !important;
  font-weight: 200 !important;
  line-height: 2.05 !important;
  letter-spacing: 0.055em !important;
}

body:not(.home-luxury, .product-page)
  main > :is(.city-section, .v3-section, .payment-section, .city-cta-section) {
  padding-top: clamp(82px, 8vw, 108px) !important;
  padding-bottom: clamp(82px, 8vw, 108px) !important;
}

body :is(.luxe-card, .woody-choice-card, .woody-assurance-item, .lesson-price-card) {
  border-color: var(--unity-line) !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

/* One control language across all pages. */
body :is(.button, .city-cta, .v3-cta, .hero-cta, .trial-submit, .stick-buy-button, .nf-back) {
  min-height: 52px !important;
  padding: 0 28px !important;
  border: 1px solid var(--unity-line-strong) !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--unity-ink) !important;
  font-family: var(--unity-font) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.15em !important;
  text-align: center !important;
}

body :is(.button-primary, .city-cta--primary, .trial-submit, .stick-buy-button) {
  border-color: var(--unity-ink) !important;
  background: var(--unity-ink) !important;
  color: #fff !important;
}

body :is(.button, .city-cta, .v3-cta, .hero-cta, .trial-submit, .stick-buy-button, .nf-back):is(:hover, :focus-visible) {
  border-color: var(--unity-ink) !important;
  background: var(--unity-ink) !important;
  color: #fff !important;
}

body :is(.button-primary, .city-cta--primary, .trial-submit, .stick-buy-button):is(:hover, :focus-visible) {
  background: #fff !important;
  color: var(--unity-ink) !important;
}

body .trial-form :is(input, select, textarea) {
  min-height: 58px !important;
  border: 1px solid var(--unity-line) !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--unity-ink) !important;
  font-family: var(--unity-font) !important;
  font-size: 13px !important;
  font-weight: 200 !important;
  letter-spacing: 0.04em !important;
}

body .trial-form textarea {
  min-height: 132px !important;
}

body .trial-form label {
  color: var(--unity-muted) !important;
  font-family: var(--unity-font) !important;
  font-size: 11px !important;
  font-weight: 300 !important;
  letter-spacing: 0.12em !important;
}

/* Product page stays editorial, but no longer switches to an unrelated sans system. */
body.product-page .stick-main,
body.product-page .stick-main :is(p, h1, h2, dt, dd, a) {
  font-family: var(--unity-font) !important;
}

body.product-page .stick-hero-copy h1 {
  max-width: 100% !important;
  font-size: clamp(54px, 5vw, 72px) !important;
  font-weight: 200 !important;
  line-height: 1 !important;
  letter-spacing: 0.13em !important;
  white-space: nowrap !important;
}

/* One footer on every route. */
.unity-footer.site-footer {
  width: 100% !important;
  margin: 0 !important;
  padding: 92px clamp(22px, 4vw, 64px) 54px !important;
  border: 0 !important;
  border-top: 1px solid var(--unity-line) !important;
  background: #fff !important;
  color: var(--unity-ink) !important;
  text-align: center !important;
}

.unity-footer :is(.footer-brand, .footer-name, .footer-copy) {
  margin-left: auto !important;
  margin-right: auto !important;
  font-family: var(--unity-font) !important;
}

.unity-footer .footer-brand {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.32em !important;
}

.unity-footer .footer-name {
  margin-top: 0 !important;
  margin-bottom: 36px !important;
  color: var(--unity-muted) !important;
  font-size: 12px !important;
  font-weight: 200 !important;
  letter-spacing: 0.1em !important;
}

.unity-footer :is(.footer-links, .footer-legal) {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.unity-footer .footer-links {
  max-width: 900px !important;
  gap: 14px clamp(18px, 2.7vw, 34px) !important;
}

.unity-footer .footer-legal {
  gap: 20px !important;
  margin-top: 38px !important;
}

.unity-footer :is(.footer-links a, .footer-legal a) {
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--unity-ink) !important;
  font-family: var(--unity-font) !important;
  font-size: 11px !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.12em !important;
  text-decoration: none !important;
}

.unity-footer .footer-legal a {
  color: var(--unity-muted) !important;
  font-size: 10px !important;
}

.unity-footer .footer-copy {
  margin-top: 28px !important;
  margin-bottom: 0 !important;
  color: var(--unity-muted) !important;
  font-size: 10px !important;
  font-weight: 200 !important;
  letter-spacing: 0.08em !important;
}

/* Standalone utility routes now participate in the shared shell. */
body.line-page,
body.nf-page {
  display: block !important;
  min-height: 100svh !important;
  padding: 0 !important;
}

body.line-page main,
body.nf-page main {
  min-height: calc(100svh - var(--unity-header-height)) !important;
  margin: 0 auto !important;
  padding: 170px 22px 112px !important;
}

/*
 * Older pages contain a high-specificity legacy header rule. Keep this final
 * shield below it so every route renders the same three-column shell.
 */
body .unity-header.site-header {
  display: grid !important;
  height: var(--unity-header-height) !important;
  min-height: var(--unity-header-height) !important;
  padding: 0 clamp(22px, 4vw, 64px) !important;
  grid-template-columns: minmax(190px, 1fr) auto minmax(190px, 1fr) !important;
  align-items: center !important;
  justify-content: stretch !important;
}

body .unity-header .site-brand {
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
}

body .unity-header .site-nav {
  width: auto !important;
  flex-wrap: nowrap !important;
  gap: clamp(18px, 2.8vw, 38px) !important;
}

body .unity-header .site-nav a {
  display: block !important;
  width: auto !important;
  height: auto !important;
  padding: 12px 0 !important;
  font-family: var(--unity-font) !important;
  font-size: 11px !important;
  letter-spacing: 0.15em !important;
  text-indent: 0 !important;
}

body.woody-unified.line-page main {
  width: min(calc(100% - 44px), 620px) !important;
  max-width: 620px !important;
  margin: 0 auto !important;
  padding: 170px 0 112px !important;
}

body.line-page main > .brand {
  display: none !important;
}

html body.city-page.luxe.woody-unified main .city-cta {
  font-family: var(--unity-font) !important;
  font-size: 11px !important;
  line-height: 1.7 !important;
  letter-spacing: 0.15em !important;
  text-indent: 0 !important;
}

html[lang="en"] body.city-page.luxe .city-hero
  :is(.city-h1, .city-intro, .city-tagline),
html[lang="en"] body
  :is(.city-note, .city-meta, .v3-h1, .v3-tagline) {
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  line-break: auto !important;
  hyphens: none !important;
}

body.nf-page main {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

@media (max-width: 960px) {
  :root {
    --unity-header-height: 92px;
  }

  .unity-header.site-header {
    height: var(--unity-header-height) !important;
    min-height: var(--unity-header-height) !important;
    padding: 10px 14px 9px !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 30px 34px !important;
    justify-items: center !important;
    gap: 4px !important;
  }

  body .unity-header.site-header {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    height: var(--unity-header-height) !important;
    min-height: var(--unity-header-height) !important;
    padding: 10px 14px 9px !important;
    gap: 4px !important;
  }

  .unity-header .site-brand {
    justify-self: center !important;
    font-size: 10px !important;
    letter-spacing: 0.28em !important;
  }

  .unity-header .site-nav {
    width: 100% !important;
    gap: 0 !important;
  }

  body .unity-header .site-nav {
    width: 100% !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
  }

  .unity-header .site-nav a {
    padding: 8px clamp(7px, 2.5vw, 13px) 6px !important;
    font-size: 9px !important;
    letter-spacing: 0.12em !important;
  }

  body .unity-header .site-nav a {
    padding: 8px clamp(7px, 2.5vw, 13px) 6px !important;
    font-size: 9px !important;
    letter-spacing: 0.12em !important;
    text-indent: 0 !important;
  }

  .unity-header .header-action {
    display: none !important;
  }

  body.home-luxury .hero {
    padding-top: var(--unity-header-height) !important;
  }

  body:not(.home-luxury, .product-page, .line-page, .nf-page)
    :is(.city-hero, .v3-hero--center) {
    padding-top: 146px !important;
    padding-bottom: 76px !important;
  }

  body.city-page:not(.product-page) main > article.city-section:first-child {
    padding-top: 136px !important;
  }

  body:not(.home-luxury, .product-page)
    :is(.city-h1, .v3-h1, main > article:first-child > h1) {
    font-size: clamp(30px, 9.6vw, 38px) !important;
    line-height: 1.5 !important;
  }

  body:not(.home-luxury, .product-page)
    :is(.city-section h2, .v3-h2, .payment-section h2, .request-form-title) {
    font-size: clamp(27px, 8vw, 34px) !important;
    line-height: 1.55 !important;
  }

  body:not(.home-luxury, .product-page)
    main > :is(.city-section, .v3-section, .payment-section, .city-cta-section) {
    padding-top: 76px !important;
    padding-bottom: 76px !important;
  }

  html body.city-page.luxe.woody-unified main .city-cta {
    max-width: 100% !important;
    height: auto !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.product-page .stick-hero {
    padding-top: var(--unity-header-height) !important;
  }

  body.product-page .stick-hero-copy h1 {
    padding-left: 0.13em !important;
    font-size: clamp(48px, 15vw, 62px) !important;
  }

  .unity-footer.site-footer {
    padding: 72px 22px 86px !important;
  }

  .unity-footer .footer-links {
    max-width: 330px !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 20px 8px !important;
  }

  .unity-footer .footer-links a {
    font-size: 10px !important;
  }

  body.line-page main,
  body.nf-page main {
    min-height: calc(100svh - var(--unity-header-height)) !important;
    padding: 150px 22px 90px !important;
  }

  body.woody-unified.line-page main {
    width: min(calc(100% - 44px), 620px) !important;
    max-width: 620px !important;
    padding: 150px 0 90px !important;
  }
}

@media (max-width: 430px) {
  .unity-header .site-nav a {
    padding-right: 7px !important;
    padding-left: 7px !important;
    font-size: 8.5px !important;
    letter-spacing: 0.08em !important;
  }

  body .unity-header .site-nav a {
    padding-right: 7px !important;
    padding-left: 7px !important;
    font-size: 8.5px !important;
    letter-spacing: 0.08em !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
}

/* 2026-08-01 Japanese release: accessible targets, readable fine print. */
body .unity-header .site-brand {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  height: auto !important;
  min-height: 44px !important;
  padding: 12px 0 !important;
}

main[tabindex="-1"]:focus {
  outline: none !important;
}

body .trial-form :is(input, select, textarea)[aria-invalid="true"] {
  border-color: #8a2f2f !important;
  box-shadow: 0 0 0 1px rgba(138, 47, 47, 0.22) !important;
}

body .trial-form :is(input, select, textarea)[aria-invalid="true"]:focus {
  outline: 2px solid #8a2f2f !important;
  outline-offset: 3px !important;
}

html body.city-page.luxe.woody-unified.availability-page main
  :is(
    .availability-mini-card > span:not(.woody-mini-ill),
    .availability-area-item > span:not(.woody-mini-ill),
    .availability-calendar-head > p,
    .availability-updated,
    .month-summary
  ) {
  color: #62605d !important;
}

html body.city-page.luxe.woody-unified.availability-page
  .availability-calendar-section .day.is-closed .date {
  color: rgba(0, 0, 0, 0.66) !important;
}

html body.city-page.luxe.woody-unified.availability-page
  .availability-calendar-section .day.is-closed .availability-status {
  color: rgba(0, 0, 0, 0.62) !important;
}

html body.city-page.luxe.woody-unified.availability-page #updated {
  color: #62605d !important;
}

html body.product-page :is(.stick-store-note, .stick-spec-grid dt) {
  color: #62605d !important;
}

html body.woody-unified.trial-index-page main .woody-choice-group-label {
  color: #62605d !important;
}

html body.woody-unified.city-page.luxe :is(.lesson-price-online, .lesson-price-grid) {
  width: 100% !important;
  max-width: 100% !important;
}

body.legal-page .legal-document {
  width: min(calc(100% - 44px), 820px) !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 156px 0 112px !important;
}

body.legal-page .legal-document > :is(.city-eyebrow, .city-h1, .city-tagline) {
  text-align: center !important;
}

body.legal-page .legal-table {
  margin: 72px 0 0 !important;
  border-top: 1px solid var(--unity-line) !important;
}

body.legal-page .legal-table > div {
  display: grid !important;
  grid-template-columns: minmax(150px, 0.34fr) minmax(0, 1fr) !important;
  gap: 24px !important;
  padding: 24px 0 !important;
  border-bottom: 1px solid var(--unity-line) !important;
}

body.legal-page .legal-table :is(dt, dd) {
  margin: 0 !important;
  font-family: var(--unity-font) !important;
  line-height: 1.95 !important;
}

body.legal-page .legal-table dt {
  color: #4f4d4a !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
}

body.legal-page .legal-table dd,
body.legal-page .legal-note {
  color: #343330 !important;
  font-size: 13px !important;
  font-weight: 200 !important;
  letter-spacing: 0.035em !important;
}

body.legal-page .legal-table a {
  color: inherit !important;
  text-underline-offset: 0.25em !important;
}

body.legal-page .legal-note {
  margin: 36px 0 0 !important;
  line-height: 2 !important;
}

@media (max-width: 960px) {
  body .unity-header .site-brand {
    min-height: 28px !important;
    padding: 8px 0 !important;
  }
}

@media (max-width: 720px) {
  body.legal-page .legal-document {
    width: min(calc(100% - 44px), 820px) !important;
    padding-top: 136px !important;
    padding-bottom: 84px !important;
  }

  body.legal-page .legal-table {
    margin-top: 52px !important;
  }

  body.legal-page .legal-table > div {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    padding: 21px 0 !important;
  }
}

/* 2026-08-04 usability pass: clearer forms, schedule-first payment, and tools navigation. */
body .trial-form .field-error {
  margin: 7px 0 0 !important;
  color: #7d2929 !important;
  font-family: var(--unity-font) !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
  letter-spacing: 0.035em !important;
}

body .trial-form-status.is-error {
  margin-top: 24px !important;
  padding: 18px 20px !important;
  border: 1px solid rgba(125, 41, 41, 0.3) !important;
  background: #fffafa !important;
  color: #692424 !important;
  text-align: left !important;
}

body .trial-form-status .form-error-summary-title {
  margin: 0 0 8px !important;
  color: inherit !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

body .trial-form-status .form-error-summary-list {
  margin: 0 !important;
  padding-left: 1.35em !important;
  color: inherit !important;
  font-size: 12px !important;
  line-height: 1.8 !important;
}

body .request-privacy-note {
  max-width: 680px !important;
  margin: 24px auto 0 !important;
  color: #62605d !important;
  font-size: 11px !important;
  font-weight: 200 !important;
  line-height: 1.9 !important;
  text-align: center !important;
}

body .request-privacy-note a {
  color: inherit !important;
  text-underline-offset: 0.24em !important;
}

body .payment-order-note {
  width: min(100%, 720px) !important;
  margin: 20px auto 38px !important;
  padding: 15px 18px !important;
  border: 1px solid var(--unity-line) !important;
  color: #4f4d4a !important;
  font-family: var(--unity-font) !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  line-height: 1.8 !important;
  letter-spacing: 0.045em !important;
  text-align: center !important;
}

html body.availability-page .next-availability {
  margin: 44px 0 54px !important;
  padding: 30px !important;
  border: 1px solid var(--unity-line) !important;
  background: #fbfaf8 !important;
}

html body.availability-page .next-availability h3 {
  margin: 0 0 22px !important;
  color: var(--unity-ink) !important;
  font-family: var(--unity-font) !important;
  font-size: 17px !important;
  font-weight: 300 !important;
  letter-spacing: 0.1em !important;
}

html body.availability-page .next-availability > p {
  margin: 18px 0 0 !important;
  color: #62605d !important;
  font-size: 11px !important;
  line-height: 1.8 !important;
}

html body.availability-page .next-availability-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

html body.availability-page .next-availability-list a {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 2px 10px !important;
  align-items: center !important;
  min-height: 76px !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(31, 30, 28, 0.14) !important;
  background: #fff !important;
  color: var(--unity-ink) !important;
  text-decoration: none !important;
}

html body.availability-page .next-availability-list a:is(:hover, :focus-visible) {
  border-color: var(--unity-ink) !important;
}

html body.availability-page .next-availability-list b {
  grid-row: 1 / 3 !important;
  color: #426a54 !important;
  font-size: 17px !important;
  font-weight: 400 !important;
}

html body.availability-page .next-availability-list span {
  font-size: 13px !important;
  font-weight: 300 !important;
  letter-spacing: 0.06em !important;
}

html body.availability-page .next-availability-list em {
  color: #62605d !important;
  font-size: 10px !important;
  font-style: normal !important;
}

html body.availability-page .next-availability-list small {
  grid-column: 2 !important;
  color: #62605d !important;
  font-size: 10px !important;
  font-weight: 200 !important;
  line-height: 1.5 !important;
}

@media (max-width: 960px) {
  body .unity-header .site-nav a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .unity-footer .footer-links {
    max-width: 390px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  html body.availability-page .next-availability {
    margin: 34px 0 42px !important;
    padding: 22px !important;
  }

  html body.availability-page .next-availability-list {
    grid-template-columns: 1fr !important;
  }

  html body.availability-page .next-availability-list a {
    min-height: 64px !important;
  }

  .unity-footer .footer-links {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px 10px !important;
  }
}
