/* TimyBear homepage navigation study v5.3
   Goal: reveal the site's real hierarchy without turning the header into a generic corporate mega menu. */

:root {
  /* The navigation is enqueued on every template, while the homepage's
     editorial foundation is intentionally front-page-only. */
  --paper: var(--timy-paper, #f7f2eb);
  --paper-deep: var(--timy-paper-deep, #eee4da);
  --white: var(--timy-white, #fffdf9);
  --ink: var(--timy-ink, #30241e);
  --ink-2: var(--timy-ink-2, #493a31);
  --muted: var(--timy-muted, #756a62);
  --line: var(--timy-line, #d8cdc2);
  --red: var(--timy-red, #ec5a57);
  --sans: var(--timy-sans, "Noto Sans CJK SC", "PingFang SC", system-ui, sans-serif);
  --serif: var(--timy-serif, "Noto Serif CJK SC", "Songti SC", Georgia, serif);
  --nav-header-h: 90px;
  --nav-header-h-scrolled: 72px;
  /* Keep the source-page editorial layouts aligned with the v5.3 header. */
  --header-h: var(--nav-header-h);
  --nav-shell: min(1440px, calc(100vw - 72px));
  --nav-panel-bg: #fffdf9;
  --nav-panel-muted: #f3ece4;
  --nav-panel-dark: #2b201a;
  --nav-line: rgba(72, 52, 41, .13);
  --nav-shadow: 0 28px 70px rgba(54, 37, 27, .14);
  --nav-ease: cubic-bezier(.22,.72,.2,1);
}

html { scroll-padding-top: calc(var(--nav-header-h) + 24px); }
body.mega-navigation-open { overflow-x: clip; }

/* Block themes add a default 24px gap between template children. The approved
 * source pages already own their first/last spacing, so remove that shell gap. */
.wp-site-blocks > main[data-timy-source],
.wp-site-blocks > main[data-timy-source] + .wp-block-template-part,
body.page-kind-home .wp-site-blocks > .wp-block-group,
body.page-kind-home .wp-site-blocks > .wp-block-group + .wp-block-template-part {
  margin-block-start: 0;
}

/* Foundation rules normally supplied by the homepage stylesheet. Keep the
 * global header independent on interior templates. */
.navigation-header {
  position: fixed;
  z-index: 100;
  inset: 0 0 auto;
  border-top: 3px solid var(--red);
  border-bottom: 1px solid rgba(72,52,41,.11);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.navigation-header-inner {
  height: 100%;
  margin-inline: auto;
  display: flex;
  align-items: center;
}
.navigation-header a,
.mobile-tabbar a { text-decoration: none; }
.navigation-logo { flex: 0 0 auto; overflow: hidden; }
.navigation-logo img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.navigation-actions { display: flex; align-items: center; }
.navigation-search,
.navigation-menu-button {
  position: relative;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  place-items: center;
}
.navigation-search { display: grid; }
.navigation-search img,
.navigation-menu-button img { width: 21px; height: 21px; display: block; }
.navigation-menu-button { display: none; }
.mobile-tabbar { display: none; }

/* ===== Header bar ===== */
.navigation-header {
  height: var(--nav-header-h);
  overflow: visible;
  border-top-width: 3px;
  background: rgba(255,253,249,.975);
  box-shadow: none;
  transition: height .26s var(--nav-ease), box-shadow .26s ease, background .26s ease;
}
.navigation-header.is-scrolled {
  height: var(--nav-header-h-scrolled);
  background: rgba(255,253,249,.992);
  box-shadow: 0 12px 34px rgba(64,44,31,.075);
}
.navigation-header-inner {
  position: relative;
  z-index: 6;
  width: var(--nav-shell);
  gap: 0;
}
.navigation-logo {
  width: 128px;
  transition: width .26s var(--nav-ease), transform .26s var(--nav-ease);
}
.navigation-header.is-scrolled .navigation-logo { width: 114px; }

.site-main-nav {
  height: 100%;
  min-width: 0;
  margin-left: clamp(28px, 3vw, 52px);
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: clamp(2px, .45vw, 8px);
  flex: 1 1 auto;
}
.nav-direct,
.nav-trigger {
  position: relative;
  min-width: 0;
  height: 100%;
  padding: 0 clamp(10px, 1.05vw, 17px);
  border: 0;
  background: transparent;
  color: #4b3d35;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0;
  font-family: var(--sans);
  cursor: pointer;
  white-space: nowrap;
}
.nav-direct::after,
.nav-trigger::after {
  content: "";
  position: absolute;
  right: 50%;
  bottom: 0;
  left: 50%;
  height: 2px;
  background: var(--red);
  transition: left .24s var(--nav-ease), right .24s var(--nav-ease);
}
.nav-direct:hover::after,
.nav-direct.is-active::after,
.nav-trigger:hover::after,
.nav-trigger.is-open::after,
.nav-trigger:focus-visible::after {
  left: 12px;
  right: 12px;
}
.nav-direct.is-active,
.nav-trigger.is-open { color: var(--red); }
.nav-eyebrow {
  max-height: 11px;
  overflow: hidden;
  color: #9a8b81;
  font-size: 7px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .18em;
  transition: max-height .24s var(--nav-ease), opacity .2s ease, transform .24s var(--nav-ease);
}
.nav-label {
  position: relative;
  padding-right: 12px;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 720;
  letter-spacing: .01em;
}
.nav-direct .nav-label { padding-right: 0; }
.nav-chevron {
  position: absolute;
  top: 50%;
  right: clamp(8px, .8vw, 14px);
  bottom: auto;
  width: 6px;
  height: 6px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateY(-70%) rotate(45deg);
  transform-origin: center;
  opacity: .55;
  transition: transform .22s var(--nav-ease), opacity .22s ease;
}
.nav-trigger.is-open .nav-chevron { transform: translateY(-20%) rotate(225deg); opacity: 1; }
.navigation-header.is-scrolled .nav-eyebrow {
  max-height: 0;
  opacity: 0;
  transform: translateY(-5px);
}
.navigation-header.is-scrolled .nav-direct,
.navigation-header.is-scrolled .nav-trigger { gap: 0; }

.navigation-actions {
  flex: 0 0 auto;
  margin-left: clamp(18px, 2vw, 30px);
  gap: 7px;
}
.navigation-search { width: 38px; height: 38px; }
.language-switch {
  height: 38px;
  padding: 0 10px;
  border: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #5c4e45;
  font-size: 10px;
  font-weight: 760;
  cursor: pointer;
}
.language-switch i {
  width: 1px;
  height: 12px;
  background: var(--line);
}
.language-switch em { color: #a09287; font-style: normal; }
.language-switch:hover em { color: var(--red); }
.language-switch.is-disabled { cursor: default; }
.language-switch.is-disabled:hover em { color: #a09287; }
.language-switch.timy-language-switcher { gap: 5px; cursor: default; }
.timy-language-switcher a,
.timy-language-switcher .is-current,
.timy-language-switcher .is-unavailable { color: #8b7d73; font-style: normal; text-decoration: none; transition: color .18s ease; }
.timy-language-switcher a:hover,
.timy-language-switcher a:focus-visible { color: var(--red); }
.timy-language-switcher .is-current { color: #2f241e; font-weight: 850; }
.timy-language-switcher .is-unavailable { opacity: .4; cursor: not-allowed; }
.timy-language-switcher > i { width: auto; height: auto; background: transparent; color: var(--line-strong, #cdbfb4); font-style: normal; }
.purchase-link {
  min-height: 40px;
  padding: 0 15px 0 17px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: var(--ink);
  color: #fff;
  font-size: 11px;
  font-weight: 760;
  letter-spacing: .015em;
  transition: background .2s ease, transform .2s var(--nav-ease);
}
.purchase-link:hover { background: #4b382e; transform: translateY(-1px); }
.purchase-link i { font-style: normal; font-size: 12px; }
.navigation-menu-button { display: none; }

/* ===== Mega menu frame ===== */
.mega-stage {
  position: absolute;
  z-index: 5;
  top: 100%;
  right: 0;
  left: 0;
  overflow: hidden;
  border-top: 1px solid var(--nav-line);
  border-bottom: 1px solid var(--nav-line);
  background: var(--nav-panel-bg);
  box-shadow: var(--nav-shadow);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-10px);
  transition: opacity .2s ease, transform .26s var(--nav-ease), visibility 0s linear .26s;
}
.mega-stage.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
  transition: opacity .2s ease, transform .26s var(--nav-ease), visibility 0s;
}
.mega-panel { display: none; }
.mega-panel.is-active { display: block; }
.mega-shell {
  width: var(--nav-shell);
  margin-inline: auto;
}
.mega-layout {
  min-height: 390px;
  padding: 42px 0 38px;
  display: grid;
  grid-template-columns: minmax(240px,.78fr) minmax(420px,1.34fr) minmax(280px,.88fr);
  gap: clamp(36px, 5vw, 78px);
  align-items: stretch;
}
.mega-panel.is-active .mega-layout > * {
  animation: mega-enter .38s var(--nav-ease) both;
}
.mega-panel.is-active .mega-layout > *:nth-child(2) { animation-delay: .035s; }
.mega-panel.is-active .mega-layout > *:nth-child(3) { animation-delay: .07s; }
@keyframes mega-enter {
  from { opacity: 0; transform: translateY(9px); }
  to { opacity: 1; transform: none; }
}
.mega-scrim {
  position: fixed;
  z-index: 4;
  top: var(--nav-header-h);
  right: 0;
  bottom: 0;
  left: 0;
  border: 0;
  background: rgba(34,24,19,.27);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease, top .26s var(--nav-ease);
}
.navigation-header.is-scrolled .mega-scrim { top: var(--nav-header-h-scrolled); }
.mega-scrim.is-visible { opacity: 1; pointer-events: auto; }
.mega-scrim[hidden] { display: none; }

/* ===== Shared mega-menu typography ===== */
.mega-intro {
  padding-right: clamp(16px, 2vw, 28px);
  border-right: 1px solid var(--nav-line);
}
.mega-index {
  color: var(--red);
  font-size: 8px;
  line-height: 1;
  font-weight: 820;
  letter-spacing: .2em;
}
.mega-intro h2 {
  margin-top: 19px;
  font-family: var(--serif);
  font-size: clamp(31px, 2.55vw, 42px);
  line-height: 1.18;
  letter-spacing: -.045em;
  font-weight: 700;
}
.mega-intro > p:not(.mega-index) {
  max-width: 335px;
  margin-top: 20px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.8;
}
.mega-primary-link,
.mega-inline-actions a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 25px;
  padding-bottom: 5px;
  border-bottom: 1px solid currentColor;
  font-size: 11px;
  font-weight: 800;
}
.mega-primary-link:hover,
.mega-inline-actions a:hover { color: var(--red); }
.mega-inline-actions { display: flex; flex-wrap: wrap; gap: 12px 20px; }

.mega-link-groups {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 36px;
}
.mega-link-group > p {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--nav-line);
  color: #998b81;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .17em;
}
.mega-link-group a {
  position: relative;
  display: block;
  padding: 15px 25px 15px 0;
  border-bottom: 1px solid var(--nav-line);
}
.mega-link-group a::after {
  content: "→";
  position: absolute;
  top: 17px;
  right: 2px;
  color: #b1a49a;
  font-size: 11px;
  transition: right .2s var(--nav-ease), color .2s ease;
}
.mega-link-group a:hover::after { right: -3px; color: var(--red); }
.mega-link-group strong {
  display: block;
  font-family: var(--serif);
  font-size: 16px;
  line-height: 1.35;
}
.mega-link-group span {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.55;
}

.mega-feature {
  align-self: stretch;
  min-width: 0;
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--nav-line);
  padding-left: clamp(24px, 2.5vw, 38px);
}
.mega-feature figure { overflow: hidden; background: #e8ddd2; }
.mega-feature img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: transform .5s var(--nav-ease);
}
.mega-feature:hover img { transform: scale(1.025); }
.mega-feature > div { padding-top: 16px; }
.mega-feature span,
.mega-family-feature > span,
.mega-dual-feature span {
  color: var(--red);
  font-size: 8px;
  font-weight: 820;
  letter-spacing: .17em;
}
.mega-feature strong,
.mega-family-feature strong,
.mega-dual-feature strong {
  display: block;
  margin-top: 8px;
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.42;
}
.mega-feature em {
  display: inline-flex;
  margin-top: 13px;
  color: var(--muted);
  font-size: 9px;
  font-style: normal;
  font-weight: 760;
}

/* ===== Character panel ===== */
.mega-layout-characters {
  grid-template-columns: minmax(230px,.72fr) minmax(620px,1.75fr) minmax(210px,.55fr);
  min-height: 410px;
}
.mega-character-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  border-top: 1px solid var(--nav-line);
  border-left: 1px solid var(--nav-line);
}
.mega-character-grid a {
  position: relative;
  min-width: 0;
  min-height: 148px;
  padding: 10px 9px 12px;
  border-right: 1px solid var(--nav-line);
  border-bottom: 1px solid var(--nav-line);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  background: rgba(255,255,255,.33);
  overflow: hidden;
}
.mega-character-grid a::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: var(--character-color);
  transform: scaleX(.35);
  transform-origin: left;
  transition: transform .24s var(--nav-ease);
}
.mega-character-grid a:hover::before { transform: scaleX(1); }
.mega-character-grid img {
  width: 88px;
  height: 94px;
  object-fit: contain;
  transition: transform .32s var(--nav-ease);
}
.mega-character-grid a:hover img { transform: translateY(-4px) scale(1.03); }
.mega-character-grid span { width: 100%; margin-top: 2px; text-align: center; }
.mega-character-grid b { display: block; font-family: var(--serif); font-size: 12px; }
.mega-character-grid em { display: block; margin-top: 3px; color: #9a8c82; font-size: 6px; font-style: normal; letter-spacing: .08em; }
.mega-family-feature {
  min-width: 0;
  padding-left: clamp(20px,2vw,32px);
  border-left: 1px solid var(--nav-line);
  display: flex;
  flex-direction: column;
}
.mega-family-feature img {
  width: 100%;
  height: 245px;
  margin-top: 14px;
  object-fit: cover;
  object-position: center;
}
.mega-family-feature strong { font-size: 16px; }

/* ===== Product panel ===== */
.mega-layout-products { padding-bottom: 24px; }
.mega-product-map {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  border-top: 1px solid var(--nav-line);
  border-left: 1px solid var(--nav-line);
}
.mega-product-map a {
  position: relative;
  min-height: 145px;
  padding: 22px 40px 19px 20px;
  border-right: 1px solid var(--nav-line);
  border-bottom: 1px solid var(--nav-line);
  background: rgba(255,255,255,.3);
  transition: background .2s ease;
}
.mega-product-map a:hover { background: #f7efe7; }
.mega-product-map span { color: var(--red); font-size: 9px; font-weight: 800; }
.mega-product-map strong { display: block; margin-top: 15px; font-family: var(--serif); font-size: 20px; }
.mega-product-map em { display: block; margin-top: 8px; color: var(--muted); font-size: 9px; font-style: normal; }
.mega-product-map i { position: absolute; top: 18px; right: 18px; color: #b3a69d; font-size: 8px; font-style: normal; }
.mega-feature-product img { aspect-ratio: 4 / 3; }
.mega-footer-strip { border-top: 1px solid var(--nav-line); background: #f3ece4; }
.mega-footer-strip .mega-shell {
  min-height: 49px;
  display: flex;
  align-items: center;
  gap: 24px;
  color: #76695f;
  font-size: 9px;
}
.mega-footer-strip span { margin-right: 4px; color: #9b8e84; font-weight: 800; letter-spacing: .15em; }
.mega-footer-strip a { padding-block: 15px; }
.mega-footer-strip a:hover { color: var(--red); }
.mega-footer-strip a:last-child { margin-left: auto; color: var(--ink); font-weight: 800; }

/* ===== Life panel ===== */
.mega-layout-life { grid-template-columns: minmax(235px,.68fr) minmax(500px,1.42fr) minmax(320px,.9fr); }
.mega-life-actions {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  border-top: 1px solid var(--nav-line);
  border-left: 1px solid var(--nav-line);
}
.mega-life-actions a {
  position: relative;
  min-height: 112px;
  padding: 17px 31px 16px 16px;
  border-right: 1px solid var(--nav-line);
  border-bottom: 1px solid var(--nav-line);
  display: grid;
  grid-template-columns: 38px minmax(0,1fr);
  gap: 12px;
  align-items: center;
}
.mega-life-actions a:hover { background: #f6eee6; }
.mega-life-actions b { font-family: var(--serif); font-size: 25px; font-weight: 700; }
.mega-life-actions strong { display: block; font-size: 12px; }
.mega-life-actions em { display: block; margin-top: 6px; color: var(--muted); font-size: 8px; font-style: normal; line-height: 1.55; }
.mega-life-actions i { position: absolute; top: 12px; right: 12px; color: #b0a299; font-size: 7px; font-style: normal; }
.mega-dual-feature {
  padding-left: clamp(22px,2.3vw,36px);
  border-left: 1px solid var(--nav-line);
  display: grid;
  grid-template-columns: 1fr;
  gap: 19px;
}
.mega-dual-feature a {
  display: grid;
  grid-template-columns: 110px minmax(0,1fr);
  grid-template-rows: auto 1fr;
  gap: 5px 15px;
  align-items: start;
}
.mega-dual-feature img { grid-row: 1 / 3; width: 110px; height: 92px; object-fit: cover; }
.mega-dual-feature strong { margin-top: 2px; font-size: 15px; }

/* ===== Journal panel ===== */
.mega-journal-types {
  border-top: 1px solid var(--nav-line);
}
.mega-journal-types a {
  display: grid;
  grid-template-columns: 110px 140px minmax(0,1fr);
  gap: 18px;
  align-items: center;
  min-height: 88px;
  border-bottom: 1px solid var(--nav-line);
}
.mega-journal-types a:hover strong { color: var(--red); }
.mega-journal-types span { color: var(--red); font-size: 8px; font-weight: 820; letter-spacing: .15em; }
.mega-journal-types strong { font-family: var(--serif); font-size: 17px; }
.mega-journal-types p { color: var(--muted); font-size: 9px; line-height: 1.6; }
.mega-feature-journal img { aspect-ratio: 16 / 10; }

/* ===== Business panel ===== */
#mega-business { background: var(--nav-panel-dark); color: #fffaf4; }
#mega-business .mega-layout { min-height: 400px; }
#mega-business .mega-intro { border-color: rgba(255,255,255,.14); }
#mega-business .mega-intro > p:not(.mega-index) { color: rgba(255,250,244,.62); }
#mega-business .mega-primary-link { color: #fffaf4; }
.mega-business-links { border-top: 1px solid rgba(255,255,255,.14); }
.mega-business-links a {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr) minmax(0,.8fr);
  gap: 14px;
  align-items: center;
  min-height: 72px;
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.mega-business-links a:hover strong { color: #f4a29a; }
.mega-business-links span { color: #f1a49b; font-size: 8px; font-weight: 800; }
.mega-business-links strong { font-family: var(--serif); font-size: 16px; }
.mega-business-links em { color: rgba(255,250,244,.49); font-size: 8px; font-style: normal; line-height: 1.5; }
.mega-feature-business { border-color: rgba(255,255,255,.14); }
.mega-feature-business figure { background: #48382f; }
.mega-feature-business span { color: #f1a49b; }
.mega-feature-business em { color: rgba(255,250,244,.55); }

/* ===== Mobile drawer hierarchy ===== */
.navigation-mobile-drawer {
  display: none;
}
.mobile-navigation-shell { width: min(720px,100%); margin-inline: auto; }
.mobile-navigation-top {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 26px;
  align-items: end;
  padding: 29px 0 24px;
  border-bottom: 1px solid var(--line);
}
.mobile-navigation-top p span,
.mobile-navigation-bottom span {
  display: block;
  color: #9c8e84;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .18em;
}
.mobile-navigation-top p strong {
  display: block;
  margin-top: 8px;
  font-family: var(--serif);
  font-size: 21px;
}
.mobile-navigation-top > div { display: flex; gap: 8px; }
.mobile-navigation-top button,
.mobile-navigation-top a {
  min-height: 37px;
  padding: 0 12px;
  border: 1px solid var(--line);
  background: transparent;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  font-weight: 760;
}
.mobile-navigation-top button img { width: 15px; height: 15px; }
.mobile-navigation-top a { background: var(--ink); border-color: var(--ink); color: #fff; }
.mobile-navigation-groups { border-top: 0 !important; }
.mobile-home-link,
.mobile-nav-group > button {
  width: 100%;
  min-height: 74px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
}
.mobile-home-link > span,
.mobile-nav-group > button > span { display: flex; align-items: baseline; gap: 0; }
.mobile-home-link em,
.mobile-nav-group > button em {
  color: #a09288;
  font-family: var(--sans);
  font-size: 7px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .15em;
}
.mobile-home-link strong,
.mobile-nav-group > button strong {
  font-family: var(--serif);
  font-size: 25px;
  font-weight: 700;
}
.mobile-home-link > i,
.mobile-nav-group > button > i {
  color: #a79a91;
  font-family: var(--sans);
  font-size: 9px;
  font-style: normal;
  letter-spacing: .12em;
}
.mobile-nav-group > button > i::after {
  content: "+";
  display: inline-block;
  width: 13px;
  margin-left: 12px;
  color: var(--ink);
  font-size: 15px;
  text-align: center;
}
.mobile-nav-group > button[aria-expanded="true"] > i::after { content: "−"; }
.mobile-nav-content {
  padding: 5px 0 19px 38px;
  border-bottom: 1px solid var(--line);
}
.mobile-nav-content[hidden] { display: none; }
.mobile-nav-content > a {
  min-height: 42px;
  border-bottom: 1px solid rgba(216,205,194,.72);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 660;
}
.mobile-nav-content > a:last-child { border-bottom: 0; }
.mobile-nav-content > a span { color: var(--muted); font-size: 9px; font-weight: 500; }
.mobile-nav-content .mobile-view-all {
  min-height: 47px;
  color: var(--red);
  font-weight: 800;
}
.mobile-character-content { padding-left: 0; }
.mobile-character-content > .mobile-view-all { margin-left: 38px; }
.mobile-character-strip {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 15px 0 4px 38px;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.mobile-character-strip::-webkit-scrollbar { display: none; }
.mobile-character-strip a {
  flex: 0 0 84px;
  scroll-snap-align: start;
  text-align: center;
}
.mobile-character-strip img { width: 84px; height: 84px; object-fit: contain; background: #f1e8df; }
.mobile-character-strip span { display: block; margin-top: 7px; font-size: 10px; }
.mobile-navigation-bottom {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin-top: 25px;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.mobile-navigation-bottom > * {
  min-height: 82px;
  padding: 15px;
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: transparent;
  text-align: left;
}
.mobile-navigation-bottom strong { display: block; margin-top: 8px; font-size: 11px; line-height: 1.45; }
.mobile-language-switch { color: inherit; text-decoration: none; }
.mobile-language-switch[aria-disabled="true"] { cursor: default; }
.mobile-language-switch.timy-language-switcher { display: block; }
.mobile-language-switch.timy-language-switcher strong { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.mobile-language-switch.timy-language-switcher strong i { color: #b5a69b; font-style: normal; }

/* ===== Search dialog (the homepage foundation is not loaded on interiors) ===== */
.search-dialog {
  width: min(680px, calc(100vw - 32px));
  padding: 0;
  border: 0;
  background: transparent;
}
.search-dialog::backdrop { background: rgba(35,25,19,.55); backdrop-filter: blur(5px); }
.search-panel { padding: 30px; background: var(--white); box-shadow: 0 28px 90px rgba(35,25,19,.24); }
.search-head { display: flex; align-items: center; justify-content: space-between; }
.search-head strong { font-family: var(--serif); font-size: 26px; }
.search-head button { width: 38px; height: 38px; border: 0; background: transparent; font-size: 28px; cursor: pointer; }
.search-input { margin-top: 26px; min-height: 58px; display: flex; align-items: center; gap: 14px; padding: 0 18px; border: 1px solid var(--line); }
.search-input img { width: 21px; }
.search-input input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font-size: 16px; }
.search-suggestions { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 10px 18px; font-size: 12px; }
.search-suggestions span { width: 100%; color: var(--muted); }
.search-suggestions a { padding-bottom: 3px; border-bottom: 1px solid var(--line); }

/* ===== Responsiveness ===== */
@media (max-width: 1370px) {
  :root { --nav-shell: min(1280px, calc(100vw - 48px)); }
  .site-main-nav { margin-left: 20px; }
  .nav-direct,
  .nav-trigger { padding-inline: 9px; }
  .nav-label { font-size: 12px; }
  .navigation-actions { margin-left: 14px; }
  .language-switch { padding-inline: 7px; }
  .purchase-link { padding-inline: 13px; }
  .mega-layout { gap: 34px; }
}

@media (max-width: 1180px) {
  :root { --nav-header-h: 72px; --nav-header-h-scrolled: 72px; }
  html { scroll-padding-top: 88px; }
  .navigation-header { height: var(--nav-header-h); backdrop-filter: none; -webkit-backdrop-filter: none; }
  .navigation-header.is-scrolled { height: var(--nav-header-h); }
  .navigation-header-inner { width: calc(100vw - 34px); }
  .site-main-nav,
  .desktop-navigation-only,
  .mega-stage,
  .mega-scrim { display: none !important; }
  .navigation-menu-button { display: grid; }
  .navigation-actions { margin-left: auto; }
  .navigation-logo,
  .navigation-header.is-scrolled .navigation-logo { width: 116px; }
  .navigation-mobile-drawer {
    position: fixed;
    z-index: 99;
    inset: var(--nav-header-h) 0 0;
    overflow-y: auto;
    padding: 0 28px calc(34px + env(safe-area-inset-bottom));
    background: var(--paper);
  }
  .navigation-mobile-drawer[hidden] { display: none; }
  .navigation-mobile-drawer:not([hidden]) { display: block; }
}

@media (max-width: 760px) {
  :root { --nav-header-h: 66px; --nav-header-h-scrolled: 66px; }
  body { padding-bottom: 0 !important; }
  .navigation-header-inner { width: calc(100vw - 28px); }
  .navigation-logo,
  .navigation-header.is-scrolled .navigation-logo { width: 106px; }
  .navigation-search,
  .navigation-menu-button { width: 38px; height: 38px; }
  .navigation-mobile-drawer { padding: 0 18px calc(34px + env(safe-area-inset-bottom)); }
  .mobile-tabbar { display: none !important; }
  .toast,
  .cookie-banner { bottom: calc(18px + env(safe-area-inset-bottom)) !important; }
  .mobile-navigation-top { grid-template-columns: 1fr; align-items: start; gap: 18px; padding-top: 24px; }
  .mobile-navigation-top > div { width: 100%; }
  .mobile-navigation-top button,
  .mobile-navigation-top a { flex: 1; justify-content: center; }
  .mobile-navigation-top p strong { font-size: 19px; }
  .mobile-home-link,
  .mobile-nav-group > button { min-height: 69px; }
  .mobile-home-link strong,
  .mobile-nav-group > button strong { font-size: 23px; }
  .mobile-nav-content { padding-left: 27px; }
  .mobile-character-content { padding-left: 0; }
  .mobile-character-content > .mobile-view-all { margin-left: 27px; }
  .mobile-character-strip { padding-left: 27px; }
  .mobile-navigation-bottom { grid-template-columns: 1fr; }
  .mobile-navigation-bottom > * { min-height: 65px; }
}

@media (prefers-reduced-motion: reduce) {
  .mega-stage,
  .mega-panel.is-active .mega-layout > *,
  .navigation-header,
  .navigation-logo,
  .nav-eyebrow,
  .nav-chevron { transition: none !important; animation: none !important; }
}

body.timy-drawer-open { overflow: hidden; }
.navigation-header a[aria-disabled="true"] {
  pointer-events: none;
  cursor: default;
  opacity: .42;
}
