/* Bridge to Zeen 4.2.4. No content, URL or menu changes. */
html { font-size: 16px; }
body, body.body-f1, body.body-f2, body.body-f3 {
  font-family: var(--tm-font-body);
  font-size: var(--tm-body);
  line-height: var(--tm-body-leading);
  color: var(--tm-text);
  background: var(--tm-cream);
}
.site-inner, .content-bg, .standard-archive .page-header { background-color: var(--tm-cream); }
body :is(h1, h2, h3, h4, h5, h6, .block-title) {
  font-family: var(--tm-font-heading);
  font-weight: var(--tm-weight-bold);
  color: var(--tm-text);
}
body :is(.font-1, .font-2, .font-3, input, textarea, select, button, .button, .tipi-button) { font-family: var(--tm-font-body); }
body .meta .title { font-family: var(--tm-font-heading); }
body :is(.excerpt, .byline, .byline a) { color: var(--tm-text-muted); }
body .link-color-wrap a { color: var(--tm-emerald); }
body .link-color-wrap a:hover { color: var(--tm-emerald-dark); }
body .link-color-wrap p > a { text-decoration-color: var(--tm-emerald); }
.global-accent-bg, #progress { background-color: var(--tm-emerald); }
.global-accent-border, .trending-accent-border { border-color: var(--tm-emerald); }
.global-accent-text { color: var(--tm-emerald); }
/* Shared logo and footer. The supplied PNG has an empty right margin.
   CSS clips that margin without modifying the validated asset. */
.tm-logo { line-height: 1; }
.tm-logo a { display: inline-block; padding: 12px; }
.tm-logo .logo-img { display: block; width: 244px; overflow: hidden; }
.tm-logo img { display: block; width: 360px; height: auto; max-width: none; }
#colophon, #colophon .bg-area, #colophon .footer-area { background: var(--tm-night); color: var(--tm-on-dark); }
#colophon .background { background: none; }
#colophon a, #colophon :is(h2, h3, .widget-title) { color: var(--tm-on-dark); }
#colophon a:hover { color: var(--tm-mint); }
#colophon .tm-logo { margin-bottom: var(--tm-space-6); text-align: center; }
#colophon .footer-navigation { font-family: var(--tm-font-body); font-size: 1rem; letter-spacing: 0; }
#colophon .footer-navigation a { display: inline-block; padding: 12px; }
#colophon :is(.copyright, .copyright a) { color: var(--tm-on-dark-muted); }
#colophon .footer-lower-area { padding-top: var(--tm-space-8); padding-bottom: var(--tm-space-8); }
body .sidebar-widget .widget-title { color: var(--tm-night) !important; }

/* AdSense Auto Ads must never insert full-width blocks outside the reviewed
 * editorial placements. Manual Zeen/Advanced Ads placements remain available. */
.google-auto-placed,
body > ins.adsbygoogle.adsbygoogle-noablate,
body > ins.adsbygoogle[data-anchor-status] {
  display: none !important;
  position: static !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}
.tm-ad-slot { display: grid; place-items: center; gap: 8px; max-width: 100%; overflow: hidden; contain: layout paint; text-align: center; }
.tm-ad-slot__label { color: #77828b; font: 600 10px/1.3 var(--tm-font-body); letter-spacing: .14em; text-transform: uppercase; }
.tm-ad-slot__content { display: grid; place-items: center; width: 100%; max-width: 100%; overflow: hidden; }
.tm-ad-slot :is(ins, iframe, img) { max-width: 100% !important; }
.tm-ad-slot--leaderboard { min-height: 120px; margin-block: clamp(24px, 4vw, 52px); }
.tm-ad-slot--in-feed { min-height: 100px; margin: 4px auto clamp(36px, 5vw, 64px); }
.tm-ad-slot--sidebar { min-height: 250px; margin-bottom: 24px; }
.tm-ad-slot--in-read { min-height: 180px; margin: 38px auto; }
@media (max-width: 899px) {
  .tm-ad-slot--sidebar { display: none; }
  .tm-ad-slot--leaderboard, .tm-ad-slot--in-feed, .tm-ad-slot--in-read { min-height: 100px; margin-block: 28px; }
}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--tm-emerald); outline-offset: 3px; }
#colophon a:focus-visible { outline-color: var(--tm-mint); }
/* Opt-in components for the following integration tasks. */
.tm-button {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: var(--tm-button-height); padding: 8px 24px; border: 1px solid transparent;
  border-radius: var(--tm-radius-pill); background: var(--tm-emerald); color: var(--tm-white);
  font: 600 1rem/1.2 var(--tm-font-body); text-decoration: none;
}
.tm-button:hover { background: var(--tm-emerald-dark); color: var(--tm-white); }
.tm-button--outline { color: var(--tm-night); background: transparent; border-color: var(--tm-night); }
.tm-button--outline:hover { color: var(--tm-white); background: var(--tm-night); }
.tm-badge { display: inline-block; padding: 4px 8px; border-radius: 4px; font: 600 .75rem/1.4 var(--tm-font-body); text-transform: uppercase; letter-spacing: .06em; color: var(--tm-white); background: var(--tm-night); }
.tm-badge--choice { background: var(--tm-emerald); }
.tm-badge--value { background: var(--tm-orange); }
.tm-badge--soft.tm-badge--choice { color: var(--tm-emerald-dark); background: var(--tm-green-veil); }
.tm-badge--soft.tm-badge--value { color: var(--tm-orange); background: var(--tm-orange-veil); }
.tm-stars { color: var(--tm-star); }
.tm-card { background: var(--tm-white); border: 1px solid var(--tm-border); border-radius: var(--tm-radius-card); box-shadow: var(--tm-shadow); }
.tm-block { border-radius: var(--tm-radius-block); padding: var(--tm-space-6); }
@media (max-width: 767px) {
  #colophon .footer-navigation li { display: block; margin: 0; }
  #colophon .footer-lower-area { padding-top: var(--tm-space-8); padding-bottom: var(--tm-space-8); }
}
/* Premium header: one desktop row; mobile logo/actions + horizontal categories. */
.tm-header { position: relative; z-index: 50; background: var(--tm-night); color: var(--tm-on-dark); }
.tm-header *, .tm-header *::before, .tm-header *::after { box-sizing: border-box; }
.tm-header__row { width: 100%; min-height: clamp(72px, 4.93vw, 100px); padding: 0 3.8%; margin: auto; display: flex; align-items: center; gap: clamp(20px, 1.4vw, 30px); }
.tm-header .tm-logo { flex: 0 0 auto; }
.tm-header .tm-logo a { display: block; padding: 0; }
.tm-header .tm-logo .logo-img { width: clamp(180px, 12.5vw, 256px); }
.tm-header .tm-logo img { width: clamp(266px, 18.47vw, 378px); transform: translateX(-5.56%); }
.tm-header .logo-h1 { margin: 0; }
.tm-header a { color: #e0e5eb; text-decoration: none; }
.tm-header a:hover { color: var(--tm-mint); }
.tm-header__nav { flex: 1 1 auto; min-width: 0; }
.tm-header ul { list-style: none; padding: 0; margin: 0; }
.tm-header .tm-menu { display: flex; align-items: center; justify-content: flex-start; gap: clamp(12px, 1.1vw, 23px); }
.tm-menu > li { position: relative; display: flex; align-items: center; flex-wrap: wrap; }
.tm-menu a { display: block; padding: 14px 0; font: 600 clamp(14px, .98vw, 20px)/1.35 var(--tm-font-body); white-space: nowrap; letter-spacing: 0; }
.tm-header button { cursor: pointer; margin: 0; border: 0; border-radius: 0; background: transparent; color: inherit; letter-spacing: 0; }
.tm-header .tm-submenu-toggle { padding: 8px 3px; font-size: 14px; line-height: 1; opacity: .45; }
.tm-header .tm-submenu-toggle:is(:hover, :focus-visible, [aria-expanded="true"]) { opacity: .85; }
.tm-header .tm-menu .sub-menu { display: none; visibility: visible; opacity: 1; transform: none; position: absolute; top: 100%; left: 0; width: 240px; min-width: 0; padding: 8px 16px; background: var(--tm-night-deep); border: 1px solid rgb(255 255 255 / 12%); border-radius: var(--tm-radius-thumbnail); box-shadow: var(--tm-shadow); }
.tm-header .tm-menu .sub-menu li { position: relative; }
.tm-header .tm-menu .sub-menu a { padding: 10px 0; white-space: normal; }
.tm-header .tm-menu .sub-menu .sub-menu { left: 100%; top: 0; }
.tm-header .tm-menu li.tm-submenu-open > .sub-menu { display: block; }
.tm-header .current-menu-item > a { color: var(--tm-mint); }
.tm-header__search { display: flex; align-items: center; flex: 0 0 clamp(190px, 15.3vw, 312px); min-width: 0; height: clamp(40px, 2.78vw, 57px); margin: 0; border: 1px solid rgb(255 255 255 / 16%); border-radius: var(--tm-radius-pill); background: rgb(255 255 255 / 7%); }
.tm-header__search button { display: flex; align-items: center; justify-content: center; padding: 0; width: clamp(36px, 2.7vw, 55px); height: 100%; flex-shrink: 0; }
.tm-header svg { display: block; width: 19px; height: 19px; stroke: currentColor; stroke-width: 1.5; fill: none; }
.tm-header .tm-header__search input { background: transparent; color: var(--tm-white); border: 0; box-shadow: none; border-radius: 0; font: 400 clamp(14px, .98vw, 20px)/1.4 var(--tm-font-body); width: 100%; min-width: 0; height: 36px; padding: 0 10px 0 0; }
.tm-header__search input::placeholder { color: #bbc3cd; opacity: 1; }
.tm-header .tm-header__newsletter { min-height: clamp(40px, 2.64vw, 54px); padding: 8px clamp(18px, 1.25vw, 26px); flex-shrink: 0; font: 600 clamp(14px, .98vw, 20px)/1.2 var(--tm-font-body); color: var(--tm-white); background: var(--tm-emerald); border-radius: var(--tm-radius-pill); opacity: 1; text-transform: none; letter-spacing: 0; }
.tm-header__menu-toggle, .tm-header__search-toggle, .tm-header__quick { display: none; }
.tm-header :is(a, button, input):focus-visible { outline: 2px solid var(--tm-mint); outline-offset: 3px; }
.tm-header .tm-skip { position: absolute; left: 16px; top: -100px; padding: 12px; background: var(--tm-night-deep); }
.tm-header .tm-skip:focus { top: 8px; z-index: 2; }
@media (min-width: 1280px) and (max-width: 1399px) {
  .tm-header__row { padding: 0 24px; gap: 12px; }
  .tm-header .tm-menu { gap: 12px; }
  .tm-header .tm-menu a { font-size: 14px; }
  .tm-header__search { flex-basis: 190px; }
}
@media (max-width: 1279px) {
  .tm-header__row { min-height: 66px; padding: 0 16px; flex-wrap: wrap; gap: 0; }
  .tm-header .tm-logo { margin-right: auto; }
  .tm-header .tm-logo .logo-img { width: 176px; }
  .tm-header .tm-logo img { width: 260px; }
  .tm-header__menu-toggle, .tm-header__search-toggle { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; }
  .tm-header__nav, .tm-header__search, .tm-header .tm-header__newsletter { display: none; }
  .tm-header.tm-menu-open .tm-header__nav { display: block; flex: 0 0 100%; padding: 16px 0; }
  .tm-header.tm-menu-open .tm-header__newsletter { display: inline-flex; margin-bottom: 16px; }
  .tm-header .tm-menu { display: block; }
  .tm-header .tm-menu > li { display: flex; flex-wrap: wrap; border-bottom: 1px solid rgb(255 255 255 / 10%); }
  .tm-header .tm-menu a { font-size: 16px; flex: 1; padding: 12px 0; }
  .tm-header .tm-submenu-toggle { min-width: 44px; min-height: 44px; }
  .tm-header .tm-menu .sub-menu, .tm-header .tm-menu .sub-menu .sub-menu { position: static; flex: 0 0 100%; width: 100%; box-shadow: none; border: 0; padding: 0 16px; }
  .tm-header.tm-search-open .tm-header__search { display: flex; flex: 0 0 100%; margin: 0 0 16px; height: 44px; }
  .tm-header .tm-header__search input { font-size: 16px; }
  .tm-header__quick { display: block; border-top: 1px solid rgb(255 255 255 / 12%); padding: 0 16px; overflow-x: auto; scrollbar-width: thin; }
  .tm-header .tm-quick-menu { display: flex; width: max-content; gap: 20px; }
  .tm-header .tm-quick-menu a { display: block; padding: 12px 0; white-space: nowrap; font: 600 13px/1.4 var(--tm-font-body); }
  .tm-quick-menu .current-menu-item > a { border-bottom: 2px solid var(--tm-mint); }
}
.tm-header .tm-menu .menu-item-has-children > a::after { content: none; }
/* Eight approved rubrics: green editorial section, legible light dropdowns. */
.tm-header .tm-menu > .tm-menu-accent { padding-left: clamp(20px, 1.4vw, 29px); }
.tm-header .tm-menu > .tm-menu-accent::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 2px; height: 20px; background: rgb(255 255 255 / 18%); }
.tm-header .tm-menu-accent > a, .tm-header .tm-menu-accent > .tm-submenu-toggle { color: var(--tm-mint); }
.tm-header .tm-menu-accent > a::before { content: none; }
.tm-header .tm-menu > li { flex-wrap: nowrap; }
.tm-header .tm-menu .sub-menu { background: var(--tm-white); border-color: var(--tm-border); padding: 12px; box-shadow: 0 8px 24px rgb(14 27 44 / 12%); }
.tm-header .tm-menu .sub-menu a { color: var(--tm-night); font-size: 15px; line-height: 1.4; padding: 12px; border-radius: var(--tm-radius-thumbnail); }
.tm-header .tm-menu .sub-menu a:hover, .tm-header .tm-menu .sub-menu .current-menu-item > a { background: var(--tm-green-veil); color: var(--tm-emerald-dark); }
.tm-header .tm-menu .sub-menu a:focus-visible { outline-color: var(--tm-emerald); }
.tm-header .tm-menu > li:last-child > .sub-menu { left: auto; right: 0; }
@media (max-width: 1279px) {
  .tm-header .tm-menu > li { flex-wrap: wrap; }
  .tm-header .tm-menu > .tm-menu-accent { border-left: 0; padding-left: 0; }
  .tm-header .tm-menu .sub-menu { margin: 0 0 12px; padding: 8px; border-radius: 8px; }
  .tm-header .tm-menu .sub-menu a { padding: 12px; }
}
.tm-header .tm-menu .sub-menu a { letter-spacing: 0; display: flex; align-items: center; gap: 12px; justify-content: space-between; }
.tm-menu-count { color: var(--tm-text-muted); font-size: 12px; flex-shrink: 0; }
@media (min-width: 1280px) { .tm-header .tm-menu > li { min-height: clamp(72px, 4.93vw, 100px); }
  .tm-header .tm-menu > :is(.current-menu-item, .current-menu-ancestor, .tm-submenu-open)::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--tm-mint); } }

.tm-header .tm-header__newsletter:disabled { cursor: default; }
@media (max-width: 1279px) { .tm-header .tm-menu > .tm-menu-accent::before { display: none; } }

/* Four-column footer from the approved homepage reference. */
#colophon .tm-footer { background: var(--tm-night-deep); color: #b8c1cd; text-align: left; }
#colophon .tm-footer__grid > * { text-align: left; }
#colophon .tm-footer__inner { width: 100%; max-width: 1520px; padding: 54px 40px 24px; margin: 0 auto; }
#colophon .tm-footer__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) repeat(3, minmax(0, 1fr)); column-gap: clamp(28px, 3.3vw, 48px); min-height: 305px; }
#colophon .tm-footer__about .tm-logo { text-align: left; margin: 0 0 24px; }
#colophon .tm-footer__about .tm-logo a { padding: 0; }
#colophon .tm-footer__about .logo-img { width: 122px; }
#colophon .tm-footer__about .tm-logo img { width: 180px; transform: translateX(-5.56%); }
#colophon .tm-footer__about p { margin: 0 0 24px; max-width: 260px; font: 400 14px/1.65 var(--tm-font-body); color: #aeb8c7; }
#colophon .tm-footer__column h2 { margin: 0 0 19px; color: #758194; text-transform: uppercase; letter-spacing: .14em; font: 700 12px/1.3 var(--tm-font-body); }
#colophon .tm-footer__column ul { list-style: none; padding: 0; margin: 0; }
#colophon .tm-footer__column li { margin: 0 0 9px; font: 400 14px/1.3 var(--tm-font-body); }
#colophon .tm-footer__column a { color: #c2cad4; text-decoration: none; }
#colophon .tm-footer__column a:hover { color: var(--tm-mint); }
#colophon .tm-footer__column span { color: #aeb8c7; }
#colophon .tm-footer__social { display: flex; gap: 9px; }
#colophon .tm-footer__social span { width: 32px; height: 32px; border: 1px solid #354153; border-radius: 7px; display: inline-flex; align-items: center; justify-content: center; color: #9da9b9; font: 700 12px/1 var(--tm-font-body); }
#colophon .tm-footer__bottom { border-top: 1px solid #283548; padding-top: 20px; display: flex; justify-content: space-between; gap: 20px; color: #748092; font: 400 12px/1.4 var(--tm-font-body); }
@media (max-width: 1050px) {
  #colophon .tm-footer__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
}
@media (max-width: 700px) {
  #colophon .tm-footer__inner { padding: 40px 24px 24px; }
  #colophon .tm-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 20px; min-height: 0; padding-bottom: 42px; }
  #colophon .tm-footer__about { grid-column: 1 / -1; }
  #colophon .tm-footer__about p { max-width: 360px; }
  #colophon .tm-footer__bottom { flex-direction: column; gap: 8px; }
}
@media (max-width: 390px) {
  #colophon .tm-footer__grid { grid-template-columns: 1fr; gap: 28px; }
  #colophon .tm-footer__about { grid-column: auto; }
}

#colophon .tm-footer__mobile-copy, #colophon .tm-footer__mobile-columns { display: none; }
@media (max-width: 700px) {
  #colophon .tm-footer__grid { display: block; padding: 0; }
  #colophon .tm-footer__grid > .tm-footer__column, #colophon .tm-footer__social, #colophon .tm-footer__about > p:not(.tm-footer__mobile-copy):not(.tm-footer__amazon-disclosure) { display: none; }
  #colophon .tm-footer__about .tm-logo { margin-bottom: 28px; }
  #colophon .tm-footer__about .logo-img { width: 162px; }
  #colophon .tm-footer__about .tm-logo img { width: 239px; }
  #colophon .tm-footer__mobile-copy { display: block; max-width: none; margin: 0 0 28px; font: 400 16px/1.55 var(--tm-font-body); color: #aeb8c7; }
  #colophon .tm-footer__mobile-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding-bottom: 44px; }
  #colophon .tm-footer__mobile-columns h2 { color: #758194; text-transform: uppercase; letter-spacing: .14em; font: 700 12px/1.3 var(--tm-font-body); margin: 0 0 14px; }
  #colophon .tm-footer__mobile-columns ul { list-style: none; padding: 0; margin: 0; }
  #colophon .tm-footer__mobile-columns li { font: 400 16px/1.45 var(--tm-font-body); margin: 0 0 9px; color: #c2cad4; }
  #colophon .tm-footer__mobile-columns a { color: #c2cad4; text-decoration: none; overflow-wrap: anywhere; }
  #colophon .tm-footer__mobile-columns a:hover { color: var(--tm-mint); }
  #colophon .tm-footer__bottom span:last-child { display: none; }
}
