/* Jynxies asset-by-asset homepage composition.
   This file intentionally overrides the original scaffold styling. */

:root {
  --jx-cream: #fff7e8;
  --jx-ink: #181316;
  --jx-red: #ed1f2d;
  --jx-red-dark: #b90f1b;
  --jx-gold: #f0b323;
}

body {
  background: var(--jx-cream);
  color: var(--jx-ink);
  font-family: "Nunito Sans", system-ui, sans-serif;
}

/* Stronger editorial typography */
.jx-nav a,
.jx-button,
.jx-hero-asset-button,
.jx-cat-card strong,
.jx-card-label,
.jx-list-meta,
.jx-coffee-nav,
.jx-coffee-mobile {
  font-family: "League Spartan", sans-serif !important;
}

.jx-section h2,
.jx-card h3,
.jx-pick h3,
.jx-list-title,
.jx-list-card h2,
.jx-page-head h1,
.jx-article-head h1,
.jx-prose h1,
.jx-prose h2,
.jx-prose h3,
.jx-footer-wordmark {
  font-family: "DM Serif Display", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: -.035em !important;
}
/* Align the coffee spotlight with the Featured Finds label. */
#featured .jx-section-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:clamp(18px,2.2vw,34px)!important;margin-top:-24px!important;margin-bottom:16px!important}
#featured .jx-section-head>div:first-child{flex:0 0 clamp(250px,25vw,340px)!important;width:clamp(250px,25vw,340px)!important;min-width:0!important}
#featured .jx-section-head .jx-coffee-spotlight{flex:1 1 auto!important;width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;padding:14px 18px 14px 14px!important;grid-template-columns:62px minmax(0,1fr) auto!important;gap:14px!important;border-radius:20px!important}
#featured .jx-coffee-spotlight-icon{width:58px!important;height:58px!important}
#featured .jx-coffee-spotlight-icon svg{width:46px!important;height:46px!important}
#featured .jx-section-head .jx-coffee-spotlight .jx-coffee-spotlight-copy h2{display:block!important}
#featured .jx-coffee-spotlight-kicker{font-size:.59rem!important;letter-spacing:.11em!important}
#featured .jx-coffee-spotlight-copy h2{font-size:clamp(1.1rem,1.7vw,1.55rem)!important}
#featured .jx-coffee-spotlight-copy>p:last-child{font-size:.82rem!important}
#featured .jx-coffee-spotlight-button{min-height:43px!important;padding:0 16px!important;font-size:.79rem!important}
@media(max-width:900px){
  #featured .jx-section-head{display:block!important}
  #featured .jx-section-head>div:first-child{width:100%!important;margin-bottom:12px!important}
  #featured .jx-section-head .jx-coffee-spotlight{width:100%!important;margin:0!important}
}
@media(max-width:700px){
  #featured .jx-section-head>div:first-child{width:clamp(190px,48vw,240px)!important}
  #featured .jx-section-head .jx-coffee-spotlight{grid-template-columns:56px minmax(0,1fr)!important;gap:10px 12px!important;padding:12px!important;border-radius:18px!important}
  #featured .jx-coffee-spotlight-icon{width:54px!important;height:54px!important}
  #featured .jx-coffee-spotlight-icon svg{width:44px!important;height:44px!important}
  #featured .jx-coffee-spotlight-copy h2{font-size:1.24rem!important}
  #featured .jx-coffee-spotlight-copy>p:last-child{font-size:.8rem!important}
    #featured .jx-coffee-spotlight-button{grid-column:1/-1!important;min-height:42px!important;font-size:.84rem!important}
    #featured .jx-card{border:2px solid #cf294b!important;border-radius:20px!important;overflow:hidden!important;box-shadow:0 0 0 2px rgba(219,186,108,.85),0 8px 18px rgba(55,27,21,.14)!important}
}


.jx-eyebrow,
#featured .jx-eyebrow,
.jx-masthead-tagline span {
  font-family: "Kalam", cursive !important;
  font-weight: 700 !important;
}

/* ===== MASTHEAD ===== */
.jx-site-header {
  width: 100%;
}

.jx-masthead {
  position: relative;
  width: 100%;
  height: auto;
  min-height: 0;
  overflow: hidden;
  background: var(--jx-cream);
  border: 0;
}

.jx-masthead::before,
.jx-masthead::after,
.jx-mast-art,
.jx-brand-block,
.jx-logo-main,
.jx-logo-sub,
.jx-logo-script {
  display: none !important;
}

.jx-masthead-image {
  position: relative;
  inset: auto;
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  object-fit: contain;
  object-position: center;
}

.jx-masthead-overlay {
  position: absolute;
  inset: 0;
  z-index: 3;
  width: 100%;
  max-width: none;
  margin: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  pointer-events: none;
  padding: 4% 7%;
}

.jx-masthead-overlay .jx-logo-lockup {
  width: clamp(260px, 25vw, 480px);
  max-width: 34%;
  display: block;
  transform: translateX(75px) !important;
  pointer-events: auto;
}

.jx-logo-image {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 4px 3px rgba(36,33,38,.14));
}

/* ===== NAV ===== */
.jx-nav-wrap {
  background: #fff0d8;
  border-top: 1px solid rgba(143,0,27,.12);
  border-bottom: 1px solid rgba(143,0,27,.18);
  box-shadow: 0 4px 12px rgba(65,37,22,.045);
}

.jx-nav-row {
  min-height: 58px;
}

.jx-nav {
  gap: 20px;
}

.jx-nav a {
  color: #8f001b;
  font-family: "Libre Baskerville", Georgia, serif !important;
  font-size: .92rem;
  font-weight: 500;
  letter-spacing: .015em;
}

.jx-nav .jx-coffee-nav {
  color: #8f001b;
}

/* ===== HERO ASSET, TRUE FULL BLEED ===== */
.jx-hero-asset {
  width: 100%;
  margin: 0;
  padding: 0;
  background: var(--jx-cream);
  overflow: hidden;
}

.jx-hero-asset-wrap {
  position: relative;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}

.jx-hero-asset-image {
  display: block;
  width: 100vw;
  max-width: none;
  height: auto;
  margin: 0;
}

.jx-hero-asset-button {
  position: absolute;
  left: max(4.2vw, calc((100vw - 1440px) / 2 + 58px));
  bottom: 7.4%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 255px;
  min-height: 56px;
  padding: 0 30px;
  background: linear-gradient(#f62938, #df1324);
  color: white;
  border: 0;
  border-radius: 999px;
  text-decoration: none;
  text-transform: uppercase;
  font-size: .92rem;
  font-weight: 900;
  letter-spacing: .045em;
  box-shadow:
    0 5px 0 #ad0d18,
    0 12px 24px rgba(93, 12, 19, .18);
  transition: transform .15s ease, box-shadow .15s ease;
}

.jx-hero-asset-button:hover {
  transform: translateY(-2px);
  box-shadow:
    0 7px 0 #ad0d18,
    0 16px 28px rgba(93,12,19,.2);
}

/* ===== HOMEPAGE SECTION TONE ===== */
.jx-category-strip {
  background: #fff8ea;
  padding-top: 18px !important;
  padding-bottom: 30px !important;
}

.jx-cat-card {
  background: #fff1dc !important;
  border-color: #ead7b9 !important;
  box-shadow: none !important;
}

.jx-cat-card strong {
  color: #211a1d;
  font-size: .9rem !important;
  line-height: .9 !important;
  font-weight: 800 !important;
}

.jx-cat-card {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px !important;
  overflow: hidden;
}

.jx-cat-art {
  display: block;
  width: 100%;
  max-width: 156px;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

.jx-section {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}

#featured .jx-eyebrow-image {
  display: block;
  width: clamp(180px, 18vw, 250px);
  max-width: 100%;
  height: auto;
  margin: 0 0 8px;
}

#featured .jx-section-intro {
  display: block;
  width: auto;
  max-width: 620px;
  margin: 16px 0 0;
  color: #3f3539;
  font-size: clamp(1rem, 1.15vw, 1.125rem);
  line-height: 1.6;
}

#featured .jx-card h3 {
  font-size: 1.62rem !important;
  line-height: 1.02 !important;
}

.jx-picks h2 {
  font-family: "Kalam", cursive !important;
  font-weight: 700 !important;
  letter-spacing: -.03em !important;
}

/* ===== TABLET / MOBILE ===== */
@media (max-width: 900px) {
  .jx-masthead {
    height: auto;
  }

  .jx-masthead-image {
    object-fit: contain;
    object-position: center;
  }

  .jx-masthead-overlay {
    align-items: flex-start;
    justify-content: flex-start;
    padding: 1.5% 3%;
  }

  .jx-masthead-overlay .jx-logo-lockup {
    width: clamp(110px, 21vw, 190px);
    max-width: 38%;
  }

  .jx-nav-row {
    min-height: 54px !important;
    height: auto !important;
  }

  .jx-menu-btn,
  .jx-search-btn {
    position: static !important;
  }

  .jx-menu-btn {
    display: grid !important;
    margin-left: 0 !important;
    order: -1;
  }

  .jx-search-btn {
    margin-left: auto !important;
  }

  .jx-nav {
    display: none !important;
  }

  #featured .jx-section-head {
    display: block;
  }

  #featured .jx-section-intro {
    max-width: 620px;
    font-size: 1rem;
    line-height: 1.55;
  }

  .jx-hero-asset-image {
    width: 100%;
    min-height: 430px;
    object-fit: cover;
    object-position: 58% center;
  }

  .jx-hero-asset-button {
    left: 5%;
    bottom: 5%;
    min-width: 220px;
    min-height: 48px;
    padding: 0 20px;
    font-size: .82rem;
  }
}

@media (max-width: 540px) {
  .jx-masthead {
    height: auto;
  }

  .jx-masthead-image {
    object-fit: contain;
    object-position: center;
  }

  .jx-masthead-overlay {
    padding: 1.5% 3%;
  }

  .jx-masthead-overlay .jx-logo-lockup {
    width: min(28vw, 150px);
    max-width: 38%;
  }

  .jx-hero-asset-image {
    min-height: 520px;
    object-fit: cover;
    object-position: 66% center;
  }

  .jx-hero-asset-button {
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    width: calc(100% - 40px);
    min-width: 0;
  }

  .jx-hero-asset-button:hover {
    transform: translateX(-50%) translateY(-2px);
  }

  .jx-category-list {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .jx-cat-card {
    min-height: 92px !important;
  }

  #featured .jx-eyebrow-image {
    width: clamp(150px, 42vw, 205px);
  }
}

/* ===== EDITORIAL ARTICLE EXPERIENCE ===== */
.jx-story-banner {
  background: #e9232f;
  color: #fff8ea;
  font-family: "League Spartan", "Nunito Sans", sans-serif;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.jx-story-banner-inner {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.jx-story-banner-note {
  color: rgba(255,248,234,.86);
  font-family: "Kalam", cursive;
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}
.jx-story-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(34px, 5.5vw, 70px) 0;
  background:
    radial-gradient(circle at 84% 18%, rgba(255,216,77,.46), transparent 18rem),
    radial-gradient(circle at 6% 95%, rgba(237,31,45,.10), transparent 23rem),
    linear-gradient(125deg, #fff8ea, #fffdf7 58%, #ffefd8);
}
.jx-story-hero::after {
  content: "";
  position: absolute;
  width: 54vw;
  height: 54vw;
  min-width: 340px;
  min-height: 340px;
  max-width: 680px;
  max-height: 680px;
  right: -18vw;
  bottom: -46vw;
  border: 2px solid rgba(237,31,45,.10);
  border-radius: 50%;
  pointer-events: none;
}
.jx-story-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: clamp(24px, 5vw, 70px);
  align-items: center;
}
.jx-story-copy { max-width: 900px; }
.jx-story-back {
  display: inline-block;
  color: #8f001b;
  font-size: .86rem;
  font-weight: 900;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  margin-bottom: 19px;
}
.jx-story-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  color: #a20d20;
  font-family: "League Spartan", sans-serif;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.jx-story-categories a { color: inherit; text-decoration: none; }
.jx-story-categories span { color: #d59a17; }
.jx-story-copy h1 {
  max-width: 14ch;
  margin: 13px 0 18px;
  color: #20191b;
  font-family: "DM Serif Display", Georgia, serif;
  font-size: clamp(2.8rem, 6.1vw, 5.7rem);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .95;
}
.jx-story-deck {
  max-width: 760px;
  margin: 0;
  color: #51464a;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.55;
}
.jx-story-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  margin-top: 22px;
  color: #5e5155;
  font-size: .86rem;
  font-weight: 800;
}
.jx-story-seal {
  position: relative;
  width: 100%;
  max-width: 340px;
  justify-self: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}
.jx-story-seal .jx-story-mascot {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  transform: none;
}
.jx-story-seal-top {
  font-family: "League Spartan", sans-serif;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .22em;
}
.jx-story-seal strong {
  margin: 7px 0 8px;
  font-family: "DM Serif Display", Georgia, serif;
  font-size: 2.55rem;
  font-weight: 400;
  line-height: .83;
  letter-spacing: -.035em;
  text-shadow: 2px 2px 0 #9f1018;
}
.jx-story-seal-bottom {
  max-width: 132px;
  color: #fff1bb;
  font-family: "League Spartan", sans-serif;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .09em;
  line-height: 1.25;
}
.jx-story-seal i {
  position: absolute;
  right: 27px;
  top: 25px;
  color: #ffd84d;
  font-size: 1.5rem;
  font-style: normal;
}
.jx-story-featured {
  margin-top: 30px;
  margin-bottom: 34px;
}
.jx-story-featured img {
  display: block;
  width: 100%;
  max-height: 520px;
  object-fit: cover;
  border: 6px solid #fffdf7;
  border-radius: 28px;
  box-shadow: 0 15px 34px rgba(64,39,24,.12);
}
.jx-article-layout {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
  width: min(calc(100vw - 64px), 1700px);
  max-width: none;
  margin: 0;
  justify-content: stretch;
  align-items: start;
  gap: clamp(28px, 3.5vw, 52px);
  padding-top: 44px;
}
.jx-article-rail { position: sticky; top: 22px; }
.jx-article-rail-card {
  position: relative;
  overflow: hidden;
  padding: 24px 19px 18px;
  border: 1px solid #ead7b9;
  border-radius: 22px;
  background: linear-gradient(145deg, #fffdf7 0%, #fff8ea 64%, #fff1e8 100%);
  box-shadow: 0 12px 28px rgba(64,39,24,.09);
}
.jx-article-rail-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 8px;
  background: linear-gradient(90deg, #e83e75, #e9232f 55%, #ffd84d);
}
.jx-article-rail-kicker {
  display: inline-block;
  margin: 0 0 10px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #ffe3eb;
  color: #a20d20;
  font-family: "League Spartan", sans-serif;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .1em;
}
.jx-article-rail-card h2 {
  margin: 0 0 14px;
  color: #211a1d;
  font-family: "DM Serif Display", Georgia, serif;
  font-size: 1.65rem;
  font-weight: 400;
  line-height: 1;
}
.jx-article-rail-card nav { display: grid; gap: 2px; }
.jx-article-rail-card nav a {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 8px;
  margin-inline: -8px;
  border-top: 1px solid #f0e7d8;
  border-radius: 8px;
  color: #44373c;
  font-size: .83rem;
  font-weight: 750;
  line-height: 1.25;
  text-decoration: none;
  transition: background .16s ease, color .16s ease;
}
.jx-article-rail-card nav a span { color: #e9232f; font-weight: 900; }
.jx-article-rail-card nav a:hover { background: #fff0f3; color: #b90f1b; }
.jx-article-layout .jx-prose {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(22px, 4.2vw, 54px);
  border: 1px solid #eee1ce;
  border-radius: 25px;
  background: rgba(255,253,247,.96);
  box-shadow: 0 14px 36px rgba(64,39,24,.075);
  color: #292327;
  font-size: clamp(1.03rem, 1.28vw, 1.13rem);
  line-height: 1.78;
}
.jx-prose > *:first-child { margin-top: 0; }
.jx-prose h2 {
  scroll-margin-top: 26px;
  padding-top: .8em;
  border-top: 2px solid #f0e2ca;
  color: #211a1d;
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  line-height: 1.02;
}
.jx-prose h2#quick-picks {
  margin-top: 1.6em;
  padding: 16px 18px 0;
  border: 1px solid #f0d89b;
  border-bottom: 0;
  border-radius: 17px 17px 0 0;
  background: #fff3d6;
}
.jx-prose h2#quick-picks + ul {
  margin: 0 0 1.5em;
  padding: 4px 25px 18px 40px;
  border: 1px solid #f0d89b;
  border-top: 0;
  border-radius: 0 0 17px 17px;
  background: #fff3d6;
}
.jx-prose figure {
  max-width: 100%;
}
.jx-prose figure img {
  transition: transform .18s ease, box-shadow .18s ease;
}
.jx-prose figure a:hover img {
  transform: translateY(-3px);
  box-shadow: 0 9px 20px rgba(36,33,38,.13);
}
.jx-prose figcaption {
  color: #6d5e61;
  font-size: .82rem !important;
  line-height: 1.4;
}
.jx-prose p > a:only-child[href^="https://"] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 3px;
  padding: 10px 16px;
  border: 2px solid #b90f1b;
  border-radius: 999px;
  background: #e9232f;
  color: #fff !important;
  font-family: "League Spartan", sans-serif;
  font-size: .86rem;
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none !important;
  box-shadow: 0 4px 0 #a90c17;
}
.jx-prose p > a:only-child[href^="https://"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 0 #a90c17;
}
.jx-article-foot {
  max-width: 1050px;
  padding-top: 30px;
  padding-bottom: 18px;
}
.jx-article-foot .jx-disclosure {
  border-left: 5px solid #ffd84d;
  background: #fffdf7;
}
.jx-article-foot .jx-coffee-article a {
  color: #8f001b;
  font-weight: 900;
}
.jx-article-foot .jx-nextprev {
  padding-top: 18px;
  border-top: 1px solid #ead7b9;
}

/* ===== GIFT-GUIDE ARCHIVES ===== */
.jx-guides-hero {
  padding: clamp(38px, 6vw, 76px) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 86% 23%, rgba(255,216,77,.42), transparent 18rem),
    linear-gradient(125deg, #fff3db, #fffdf7 64%, #fff0dc);
}
.jx-guides-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  align-items: center;
  gap: 40px;
}
.jx-guides-kicker {
  margin: 0 0 12px;
  color: #a20d20;
  font-family: "League Spartan", sans-serif;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
}
.jx-guides-hero h1 {
  max-width: 14ch;
  margin: 0;
  color: #211a1d;
  font-family: "DM Serif Display", Georgia, serif;
  font-size: clamp(2.8rem, 6vw, 5.7rem);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .94;
}
.jx-guides-deck {
  max-width: 650px;
  margin: 18px 0 0;
  color: #51464a;
  font-size: 1.08rem;
  line-height: 1.55;
}
.jx-guides-stamp {
  position: relative;
  width: 195px;
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 6px double #fff4d9;
  border-radius: 50%;
  outline: 2px solid #a80e1b;
  background: #e9232f;
  color: #fff8ea;
  box-shadow: 6px 7px 0 #242126;
  text-align: center;
  transform: rotate(6deg);
}
.jx-guides-stamp span {
  font-family: "League Spartan", sans-serif;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .16em;
}
.jx-guides-stamp strong {
  margin-top: 8px;
  font-family: "DM Serif Display", Georgia, serif;
  font-size: 2.15rem;
  font-weight: 400;
  line-height: .85;
}
.jx-guides-stamp i {
  position: absolute;
  top: 22px;
  right: 24px;
  color: #ffd84d;
  font-size: 1.35rem;
  font-style: normal;
}
.jx-guides-results { padding-top: 38px; padding-bottom: 65px; }
.jx-guide-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.jx-guide-card {
  overflow: hidden;
  border: 1px solid #ead7b9;
  border-radius: 19px;
  background: #fffdf7;
  box-shadow: 0 9px 22px rgba(64,39,24,.07);
  transition: transform .18s ease, box-shadow .18s ease;
}
.jx-guide-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 30px rgba(64,39,24,.12);
}
.jx-guide-image {
  position: relative;
  display: grid;
  min-height: 205px;
  aspect-ratio: 1.5 / 1;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.92), transparent 20%),
    linear-gradient(135deg, #ffd84d, #ffab83 52%, #e83e75);
  text-decoration: none;
}
.jx-guide-card:nth-child(3n + 2) .jx-guide-image { background: linear-gradient(135deg,#bdebf2,#56c7d9,#ffd84d); }
.jx-guide-card:nth-child(3n) .jx-guide-image { background: linear-gradient(135deg,#ffc5d8,#ed6d8f,#ffd84d); }
.jx-guide-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s ease;
}
.jx-guide-card:hover .jx-guide-image img { transform: scale(1.035); }
.jx-guide-image-mark {
  color: rgba(36,33,38,.78);
  font-family: "DM Serif Display", Georgia, serif;
  font-size: 6rem;
  line-height: 1;
  transform: rotate(-8deg);
}
.jx-guide-image-label {
  position: absolute;
  bottom: 13px;
  left: 14px;
  padding: 6px 10px;
  border-radius: 5px;
  background: #fff8ea;
  color: #a20d20;
  font-family: "League Spartan", sans-serif;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .08em;
}
.jx-guide-card-content { padding: 18px 19px 21px; }
.jx-guide-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 8px;
  color: #a20d20;
  font-family: "League Spartan", sans-serif;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.jx-guide-card h2 {
  margin: 0 0 10px;
  font-family: "DM Serif Display", Georgia, serif;
  font-size: 1.65rem;
  font-weight: 400;
  line-height: 1.02;
}
.jx-guide-card h2 a { color: #211a1d; text-decoration: none; }
.jx-guide-card h2 a:hover { color: #b90f1b; }
.jx-guide-card-content > p {
  margin: 0;
  color: #61565a;
  font-size: .94rem;
  line-height: 1.5;
}
.jx-guide-read {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  margin-top: 16px;
  color: #b90f1b;
  font-family: "League Spartan", sans-serif;
  font-weight: 800;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.jx-guides-pagination { margin-top: 34px; }
.jx-guides-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.jx-guides-pagination a, .jx-guides-pagination span {
  display: inline-grid;
  min-width: 40px;
  min-height: 40px;
  place-items: center;
  border: 1px solid #ead7b9;
  border-radius: 50%;
  background: #fffdf7;
  color: #211a1d;
  font-weight: 850;
  text-decoration: none;
}
.jx-guides-pagination .current { background: #e9232f; color: #fff; }
.jx-guides-empty {
  padding: 35px;
  border: 1px dashed #d6b99a;
  border-radius: 20px;
  background: #fffdf7;
  text-align: center;
}
.jx-guides-empty strong {
  font-family: "DM Serif Display", Georgia, serif;
  font-size: 2rem;
  font-weight: 400;
}
.jx-guides-empty a { color: #a20d20; font-weight: 900; }

@media (max-width: 960px) {
  .jx-story-hero-inner { grid-template-columns: minmax(0, 1fr) 180px; }
  .jx-story-seal { width: 170px; }
  .jx-story-seal strong { font-size: 2rem; }
  .jx-article-layout {
    left: auto;
    transform: none;
    width: calc(100% - 40px);
    margin-inline: auto;
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .jx-article-rail { position: static; }
  .jx-article-rail-card { padding: 16px; }
  .jx-article-rail-card h2 { font-size: 1.35rem; }
  .jx-article-rail-card nav { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
  .jx-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .jx-story-banner-inner { min-height: 34px; justify-content: center; }
  .jx-story-banner-note { display: none; }
  .jx-story-hero { padding: 30px 0 26px; }
  .jx-story-hero-inner { grid-template-columns: 1fr; gap: 20px; }
  .jx-story-copy h1 { font-size: clamp(2.65rem, 12vw, 4rem); }
  .jx-story-meta { font-size: .78rem; gap: 6px 9px; }
  .jx-story-seal { width: 132px; justify-self: start; }
  .jx-story-seal-top { font-size: .62rem; }
  .jx-story-seal strong { font-size: 1.55rem; }
  .jx-story-seal-bottom { font-size: .5rem; }
  .jx-story-seal i { top: 15px; right: 17px; font-size: 1rem; }
  .jx-story-featured { width: calc(100% - 22px); }
  .jx-story-featured img { border-radius: 19px; }
  .jx-article-layout { width: calc(100% - 22px); padding-top: 23px; }
  .jx-article-rail-card nav { grid-template-columns: 1fr; }
  .jx-article-layout .jx-prose { padding: 21px 18px; border-radius: 19px; }
  .jx-prose h2#quick-picks { padding: 14px 14px 0; }
  .jx-prose h2#quick-picks + ul { padding-left: 34px; padding-right: 14px; }
  .jx-prose p > a:only-child[href^="https://"] { font-size: .84rem; }
  .jx-article-foot { width: calc(100% - 22px); }
  .jx-guides-hero-inner { grid-template-columns: 1fr; gap: 22px; }
  .jx-guides-stamp { width: 145px; justify-self: start; }
  .jx-guides-stamp strong { font-size: 1.65rem; }
  .jx-guide-grid { grid-template-columns: 1fr; gap: 14px; }
  .jx-guide-image { min-height: 0; }
  .jx-guide-card h2 { font-size: 1.5rem; }
}

/* Keep the full gift-cart masthead for the homepage; let editorial pages get to the story. */
body.single-post .jx-masthead,
body.archive .jx-masthead {
  min-height: 0;
  height: auto;
  background: #fff8ea;
}
body.single-post .jx-masthead-image,
body.archive .jx-masthead-image { display: none; }
body.single-post .jx-masthead-overlay,
body.archive .jx-masthead-overlay {
  position: relative;
  inset: auto;
  min-height: 96px;
  padding: 13px 20px;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
body.single-post .jx-masthead-overlay .jx-logo-lockup,
body.archive .jx-masthead-overlay .jx-logo-lockup {
  width: clamp(205px, 22vw, 330px);
  max-width: 76%;
  transform: none !important;
}
@media (max-width: 900px) {
  body.single-post .jx-masthead-overlay,
  body.archive .jx-masthead-overlay { min-height: 76px; padding: 9px 20px; }
  body.single-post .jx-masthead-overlay .jx-logo-lockup,
  body.archive .jx-masthead-overlay .jx-logo-lockup { width: clamp(170px, 35vw, 250px); }
}


/* Jynxies mobile hamburger drawer */
@media (max-width: 900px) {
  .jx-site-header { position: relative !important; z-index: 1000 !important; }
  body:has(#jx-mobile-menu:not([style*="display: none"]))::before {
    content: ""; position: fixed; inset: 0; z-index: 999;
    background: rgba(32,15,12,.58); backdrop-filter: blur(3px);
  }
  #jx-mobile-menu {
    position: fixed !important; z-index: 1001 !important; inset: 0 0 0 auto !important;
    width: min(410px,92vw) !important; height: 100dvh !important; max-height: 100dvh !important;
    box-sizing: border-box; overflow-y: auto; overscroll-behavior: contain;
    padding: 1.1rem 1.1rem 1.4rem !important; margin: 0 !important;
    background: linear-gradient(155deg,#fffaf0 0%,#fff2df 100%) !important;
    border-left: 1px solid #edcda4; border-top: 7px solid #ed1026;
    box-shadow: -18px 0 55px rgba(28,12,9,.28); border-radius: 18px 0 0 18px;
    display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr));
    align-content: start; gap: .55rem;
  }
  #jx-mobile-menu::before {
    content: "THE AD-FREE GIFT GUIDE\A We Find The Cool Shit So You Don't Have To.";
    display: block; white-space: pre-line; text-align: center;
    padding: 66px 8px 18px; margin: 0 0 1rem;
    background: url('https://jynxies.com/wp-content/uploads/2026/10/Jynxies-Logo.png') center 5px / auto 50px no-repeat;
    color: #21130f; font: 800 1.4rem/1.04 Georgia,'Times New Roman',serif; letter-spacing: -.035em;
    grid-column: 1 / -1;
  }
  #jx-mobile-menu a:not(.jx-coffee-mobile) {
    display: flex !important; align-items: center; gap: .55rem;
    min-height: 70px; box-sizing: border-box; padding: .6rem .45rem !important;
    border: 1px solid #efd6b5 !important; border-radius: 13px; background: rgba(255,255,255,.73);
    box-shadow: 0 3px 0 rgba(117,63,35,.06); text-align: center; justify-content: center;
    color: #2d1c16 !important; font: 800 .86rem/1.12 'Nunito Sans',system-ui,sans-serif !important;
  }
  #jx-mobile-menu a:not(.jx-coffee-mobile)::before { display: block; font-size: 1.5rem; line-height: 1; }
  #jx-mobile-menu a:nth-of-type(1)::before { content: "🎁"; }
  #jx-mobile-menu a:nth-of-type(2)::before { content: "🔥"; }
  #jx-mobile-menu a:nth-of-type(3)::before { content: "🏷️"; }
  #jx-mobile-menu a:nth-of-type(4)::before { content: "☕"; }
  #jx-mobile-menu a:nth-of-type(5)::before { content: "🎀"; }
  #jx-mobile-menu a:nth-of-type(6)::before { content: "🐘"; }
  #jx-mobile-menu a:nth-of-type(7)::before { content: "🎂"; }
  #jx-mobile-menu .jx-coffee-mobile {
    display: flex !important; grid-column: 1 / -1; justify-content: center; align-items: center;
    min-height: 48px; margin-top: .25rem; padding: .8rem 1rem !important;
    border: 0 !important; border-radius: 999px; background: #ed1026 !important; color: #fff !important;
    font: 900 .82rem/1.2 'Nunito Sans',system-ui,sans-serif !important; letter-spacing: .07em;
    text-transform: uppercase; box-shadow: 0 5px 0 #a80016;
  }
  #jx-mobile-menu::after {
    content: "NO ADS. NO PAID RANKINGS.\A Just awesome gifts we actually love.";
    white-space: pre-line; text-align: center; padding: .35rem .4rem 0;
    color: #6b4b3c; font: 700 .75rem/1.45 'Nunito Sans',system-ui,sans-serif;
    grid-column: 1 / -1;
  }
  #jx-mobile-menu a:not(.jx-coffee-mobile):hover,
  #jx-mobile-menu a:not(.jx-coffee-mobile):focus-visible { border-color: #ed1026 !important; color: #c5001b !important; }
}
@media (prefers-reduced-motion: no-preference) {
  #jx-mobile-menu { animation: jx-drawer-in .22s ease-out both; }
  @keyframes jx-drawer-in { from { transform: translateX(18px); opacity: .6; } to { transform: translateX(0); opacity: 1; } }
}


/* Uploaded Jynxies category artwork for the mobile drawer. */
@media (max-width: 900px) {
  #jx-mobile-menu a:not(.jx-coffee-mobile) {
    display: flex !important;
    min-height: 100px !important;
    padding: .25rem !important;
    justify-content: center !important;
    align-items: center !important;
    font-size: 0 !important;
  }
  #jx-mobile-menu a:not(.jx-coffee-mobile)::before {
    content: "" !important;
    display: block !important;
    flex: 0 1 94px;
    width: 94px;
    height: 94px;
    max-width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    font-size: 0;
    line-height: 0;
  }
  #jx-mobile-menu a:nth-of-type(1)::before { background-image: url('https://jynxies.com/wp-content/uploads/2026/10/Jynxies-icon-9.png'); }
  #jx-mobile-menu a:nth-of-type(2)::before { background-image: url('https://jynxies.com/wp-content/uploads/2026/10/Jynxies-icon-1.png'); }
  #jx-mobile-menu a:nth-of-type(3)::before { background-image: url('https://jynxies.com/wp-content/uploads/2026/10/Jynxies-icon-3.png'); }
  #jx-mobile-menu a:nth-of-type(4)::before { background-image: url('https://jynxies.com/wp-content/uploads/2026/10/Jynxies-icon-5.png'); }
  #jx-mobile-menu a:nth-of-type(5)::before { background-image: url('https://jynxies.com/wp-content/uploads/2026/10/Jynxies-icon-6.png'); }
  #jx-mobile-menu a:nth-of-type(6)::before { background-image: url('https://jynxies.com/wp-content/uploads/2026/10/Jynxies-icon-7.png'); }
  #jx-mobile-menu a:nth-of-type(7)::before { background-image: url('https://jynxies.com/wp-content/uploads/2026/10/Jynxies-icon-8.png'); }
}

/* Complete the uploaded menu set and keep the red coffee button readable. */
@media (max-width: 900px) {
  #jx-mobile-menu a:nth-of-type(4)::before { background-image: url('https://jynxies.com/wp-content/uploads/2026/10/Jynxies-icon-2.png'); }
  #jx-mobile-menu a:nth-of-type(5)::before { background-image: url('https://jynxies.com/wp-content/uploads/2026/10/Jynxies-icon-4.png'); }
  #jx-mobile-menu a:nth-of-type(6)::before { background-image: url('https://jynxies.com/wp-content/uploads/2026/10/Jynxies-icon-5.png'); }
  #jx-mobile-menu a:nth-of-type(7)::before { background-image: url('https://jynxies.com/wp-content/uploads/2026/10/Jynxies-icon-6.png'); }
  #jx-mobile-menu a:nth-of-type(8)::before { background-image: url('https://jynxies.com/wp-content/uploads/2026/10/Jynxies-icon-7.png'); }
  #jx-mobile-menu a:nth-of-type(9)::before { background-image: url('https://jynxies.com/wp-content/uploads/2026/10/Jynxies-icon-8.png'); }
  #jx-mobile-menu .jx-coffee-mobile { color: #fff !important; background-color: #ed1026 !important; }
}

/* Keep the drawer hidden until the hamburger is opened. */
/* Keep the coffee CTA beside the final category tile, in the visible grid. */
@media (max-width: 900px) {
  #jx-mobile-menu .jx-coffee-mobile {
    grid-column: 2 !important;
    grid-row: 5 !important;
    min-height: 100px !important;
    margin: 0 !important;
    padding: 8px !important;
    font-size: 13px !important;
  }
	/* Preserve the drawer toggle and show the coffee link in the last tile. */
@media (max-width: 900px) {
  #jx-mobile-menu[style*="display: none"] { display: none !important; }
  #jx-mobile-menu .jx-coffee-mobile {
    display: flex !important;
    grid-column: 2 !important;
    grid-row: 5 !important;
    min-height: 100px !important;
    margin: 0 !important;
    padding: 8px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: #b51227 !important;
    border-radius: 14px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }
}
}
@media (max-width: 900px) {
  #jx-mobile-menu[style*="display: none"] { display: none !important; }
}
/* Give the coffee link a clear, high-contrast place after the icon grid. */
@media (max-width: 900px) {
  #jx-mobile-menu .jx-coffee-mobile {
    display: flex !important;
    grid-column: 1 / -1 !important;
    min-height: 58px !important;
    width: 100% !important;
    padding: 12px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: #b51227 !important;
    border-radius: 14px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }
}
/* Final placement: red coffee tile sits beside By Occasion. */
@media (max-width: 900px) {
  #jx-mobile-menu .jx-coffee-mobile { grid-column: 2 !important; grid-row: 5 !important; }
}
/* Place the coffee button last and force its label to white. */
@media (max-width: 900px) {
  #jx-mobile-menu .jx-coffee-mobile,
  #jx-mobile-menu .jx-coffee-mobile * {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    color: #fff !important;
  }
}
/* Bone text on the red coffee button. */
@media (max-width: 900px) {
  #jx-mobile-menu .jx-coffee-mobile,
  #jx-mobile-menu .jx-coffee-mobile * { color: #f4ead7 !important; }
}
/* Keep coffee-link lettering bone within the theme component layer. */
@layer components {
  @media (max-width: 900px) {
    #jx-mobile-menu a.jx-coffee-mobile {
      color: #f4ead7 !important;
      -webkit-text-fill-color: #f4ead7 !important;
    }
  }
}


/* Restore the compact mobile header and image-led home sections. */
.jx-nav-logo { display: none !important; }
@media (max-width: 900px) {
  .jx-masthead { display: none !important; }
  .jx-nav-wrap { background: #fff8ea !important; }
  .jx-nav-row {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    min-height: 62px !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
  }
  .jx-home-dot { display: none !important; }
  .jx-nav-logo {
    display: flex !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    align-items: center;
    justify-content: center;
    width: min(34vw, 144px);
    height: 44px;
    overflow: hidden;
  }
  .jx-nav-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
  .jx-menu-btn {
    position: relative !important;
    order: 0 !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    color: #211a1d !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  .jx-search-btn {
    position: relative !important;
    order: 2 !important;
    display: grid !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    place-items: center;
    color: #211a1d !important;
  }
}

.jx-more-explore { background: #fff6e7; }
.jx-more-explore .jx-section-head { margin-bottom: 22px; }
.jx-explore-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.jx-explore.jx-explore-card {
  position: relative;
  display: block !important;
  min-height: 265px;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid #ead7b9;
  border-radius: 22px;
  background: #211a1d;
  color: #fff8ea !important;
  text-decoration: none !important;
  box-shadow: 0 12px 26px rgba(64,39,24,.12);
}
.jx-explore-card > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s ease;
}
.jx-explore-card:hover > img { transform: scale(1.035); }
.jx-explore-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(18,12,12,.02) 24%, rgba(18,12,12,.78) 100%);
}
.jx-explore-copy {
  position: absolute;
  left: 22px;
  right: 62px;
  bottom: 20px;
  display: grid;
  gap: 6px;
}
.jx-explore-copy strong {
  color: #fff8ea;
  font: 400 clamp(1.8rem, 3vw, 2.65rem)/.98 "DM Serif Display", Georgia, serif;
  letter-spacing: -.035em;
}
.jx-explore-copy small {
  color: rgba(255,248,234,.92);
  font: 700 .9rem/1.4 "Nunito Sans", system-ui, sans-serif;
}
.jx-explore-arrow {
  position: absolute;
  right: 17px;
  bottom: 20px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: #ed1f2d;
  color: #fff8ea;
  font: 900 1.25rem/1 "Nunito Sans", system-ui, sans-serif;
}
@media (max-width: 620px) {
  .jx-explore-grid { grid-template-columns: 1fr; gap: 14px; }
  .jx-explore.jx-explore-card { min-height: 218px; border-radius: 18px; }
  .jx-explore-copy { left: 17px; bottom: 17px; }
  .jx-explore-arrow { right: 13px; bottom: 15px; }
}


/* The drawer must stay closed until the hamburger is pressed. */
@media (max-width: 900px) {
  #jx-mobile-menu[style*="display:none"],
  #jx-mobile-menu[style*="display: none"] { display: none !important; }
  body:has(#jx-mobile-menu[style*="display:none"])::before,
  body:has(#jx-mobile-menu[style*="display: none"])::before { display: none !important; }
}


/* Keep mobile navigation controls visible and show the whole hero composition. */
@media (max-width: 900px) {
  .jx-menu-btn,
  .jx-search-btn {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 5 !important;
  }
  .jx-menu-btn svg,
  .jx-search-btn svg { display: block !important; }
}
@media (max-width: 620px) {
  .jx-hero-asset-wrap { display: flex; flex-direction: column; }
  .jx-hero-asset-image {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
  }
  .jx-hero-asset-button {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    align-self: center;
    width: calc(100% - 40px) !important;
    margin: 0 auto 20px !important;
    transform: none !important;
  }
  .jx-hero-asset-button:hover { transform: translateY(-2px) !important; }
}


/* Draw crisp navigation marks at phone size instead of relying on tiny SVG strokes. */
@media (max-width: 900px) {
  .jx-nav-row { position: relative !important; min-height: 62px !important; }
  .jx-nav-row > .jx-menu-btn {
    display: grid !important;
    position: absolute !important;
    left: 8px !important;
    top: 9px !important;
    z-index: 20 !important;
    margin: 0 !important;
    color: #211a1d !important;
    background: transparent !important;
  }
  .jx-nav-row > .jx-search-btn {
    display: grid !important;
    position: absolute !important;
    right: 8px !important;
    top: 9px !important;
    z-index: 20 !important;
    margin: 0 !important;
    background: transparent !important;
  }
  .jx-menu-btn svg,
  .jx-search-btn svg { display: none !important; }
  .jx-menu-btn::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 22px;
    height: 2.5px;
    border-radius: 2px;
    background: #211a1d;
    box-shadow: 0 -7px #211a1d, 0 7px #211a1d;
    transform: translate(-50%, -50%);
  }
  .jx-search-btn::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 10px;
    width: 14px;
    height: 14px;
    box-sizing: border-box;
    border: 2px solid #211a1d;
    border-radius: 50%;
  }
  .jx-search-btn::after {
    content: "";
    position: absolute;
    left: 26px;
    top: 25px;
    width: 8px;
    height: 2px;
    border-radius: 2px;
    background: #211a1d;
    transform: rotate(45deg);
    transform-origin: left center;
  }
  .jx-nav-logo { z-index: 1 !important; }
}


/* Reliable open/closed state for the Jynxies mobile drawer. */
@media (max-width: 900px) {
  body:not(.jx-menu-open):has(#jx-mobile-menu)::before {
    content: none !important;
    display: none !important;
    background: none !important;
  }
  body.jx-menu-open::before {
    content: "" !important;
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 999 !important;
    background: rgba(32,15,12,.58) !important;
    backdrop-filter: blur(3px);
  }
  .jx-site-header { position: relative !important; z-index: 1000 !important; }
  #jx-mobile-menu[hidden] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  body.jx-menu-open #jx-mobile-menu:not([hidden]) {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
    z-index: 1001 !important;
  }
  #jx-mobile-menu .jx-menu-close {
    position: absolute !important;
    top: 8px !important;
    right: 10px !important;
    z-index: 3 !important;
    display: grid !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    place-items: center !important;
    border: 1px solid #ead7b9 !important;
    border-radius: 50% !important;
    background: #fff8ea !important;
    color: #211a1d !important;
    font: 400 32px/1 Georgia,serif !important;
    cursor: pointer;
  }
  .jx-menu-btn[aria-expanded="true"]::before {
    box-shadow: none !important;
    transform: translate(-50%,-50%) rotate(45deg) !important;
  }
  .jx-menu-btn[aria-expanded="true"]::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 22px;
    height: 2.5px;
    border-radius: 2px;
    background: #211a1d;
    transform: translate(-50%,-50%) rotate(-45deg);
  }
}


/* Homepage stories: neat editorial tiles on desktop, compact rows on phones. */
#featured .jx-grid-3 { align-items: stretch; gap: 18px; }
#featured .jx-card { display: block !important; min-width: 0; min-height: 0 !important; height: 100%; overflow: hidden; }
#featured .jx-card > a { display: grid !important; grid-template-rows: auto 1fr; height: 100%; color: inherit !important; }
#featured .jx-card-media { position: relative; width: 100%; height: auto; min-height: 0 !important; aspect-ratio: 1.55 / 1 !important; overflow: hidden; }
#featured .jx-card-media img { display: block; width: 100%; height: 100% !important; object-fit: cover; }
#featured .jx-card-body { min-width: 0; }
@media (max-width: 700px) {
  #featured .jx-grid-3 { grid-template-columns: 1fr !important; gap: 12px !important; }
  #featured .jx-card > a { grid-template-columns: minmax(88px, 28%) minmax(0, 1fr); grid-template-rows: 1fr; min-height: 136px; }
  #featured .jx-card-media { height: 100% !important; min-height: 136px !important; aspect-ratio: auto !important; }
  #featured .jx-card-body { align-self: center; padding: 12px 14px !important; }
  #featured .jx-card-label { margin: 0 0 6px !important; font-size: .58rem !important; line-height: 1.15 !important; }
  #featured .jx-card h3 { margin: 0 0 6px !important; font-size: clamp(1.05rem, 4.4vw, 1.25rem) !important; line-height: 1.04 !important; }
  #featured .jx-card p { display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin: 0 !important; font-size: .76rem !important; line-height: 1.3 !important; }
}


/* Keep the desktop story cards short enough to scan at a glance. */
#featured .jx-card-media { aspect-ratio: 1.85 / 1 !important; }
#featured .jx-card-body { padding: 14px 15px 16px !important; }
#featured .jx-card-label { margin-bottom: 6px !important; font-size: .58rem !important; }
#featured .jx-card h3 { margin: 0 0 7px !important; font-size: 1.24rem !important; line-height: 1.04 !important; }
#featured .jx-card p { display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; margin: 0 !important; font-size: .8rem !important; line-height: 1.32 !important; }
@media (max-width: 700px) {
  #featured .jx-card-media { aspect-ratio: auto !important; }
  #featured .jx-card-body { padding: 12px 14px !important; }
  #featured .jx-card h3 { font-size: clamp(1.05rem, 4.4vw, 1.25rem) !important; line-height: 1.04 !important; }
  #featured .jx-card p { -webkit-line-clamp: 2; font-size: .76rem !important; line-height: 1.3 !important; }
}


/* Make the three featured stories compact and scannable. */
#featured .jx-grid-3 { gap: 14px !important; }
#featured .jx-card-media { aspect-ratio: 2.45 / 1 !important; }
#featured .jx-card-body { padding: 10px 12px 12px !important; }
#featured .jx-card-label { margin-bottom: 5px !important; font-size: .54rem !important; }
#featured .jx-card h3 { margin: 0 0 5px !important; font-size: 1.1rem !important; line-height: 1.05 !important; }
#featured .jx-card p { -webkit-line-clamp: 2 !important; font-size: .75rem !important; line-height: 1.28 !important; }
@media (max-width: 700px) {
  #featured .jx-card-media { aspect-ratio: auto !important; }
  #featured .jx-card-body { padding: 10px 12px !important; }
}


/* Full-width row of four featured stories; give Jynx's Picks artwork more room. */
#featured .jx-shell {
  width: calc(100vw - 48px) !important;
  max-width: none !important;
  margin-inline: auto !important;
}
#featured .jx-grid-3 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}
#featured .jx-card-media { aspect-ratio: 2.3 / 1 !important; }
#featured .jx-card-body { padding: 9px 10px 11px !important; }
#featured .jx-card-label { font-size: .48rem !important; line-height: 1.1 !important; }
#featured .jx-card h3 { font-size: 1rem !important; line-height: 1.04 !important; }
#featured .jx-card p { font-size: .69rem !important; line-height: 1.28 !important; -webkit-line-clamp: 2 !important; }

@media (max-width: 980px) {
  #featured .jx-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 700px) {
  #featured .jx-shell { width: calc(100vw - 22px) !important; }
  #featured .jx-grid-3 { grid-template-columns: 1fr !important; gap: 12px !important; }
  #featured .jx-card > a { grid-template-columns: minmax(88px, 28%) minmax(0, 1fr) !important; grid-template-rows: 1fr; min-height: 136px; }
  #featured .jx-card-media { min-height: 136px !important; aspect-ratio: auto !important; }
  #featured .jx-card-body { padding: 10px 12px !important; }
}

.jx-picks-feature .jx-picks-feature-grid {
  width: calc(100vw - 48px) !important;
  max-width: none !important;
  margin-inline: auto !important;
  grid-template-columns: minmax(0, 1.85fr) minmax(340px, .85fr) !important;
  gap: clamp(24px, 4vw, 58px) !important;
}
.jx-picks-feature-art { width: 100% !important; max-width: none !important; }
.jx-picks-feature-art img { display: block; width: 100% !important; max-width: none !important; height: auto !important; }
@media (max-width: 900px) {
  .jx-picks-feature .jx-picks-feature-grid {
    grid-template-columns: minmax(0, 1.4fr) minmax(310px, 1fr) !important;
  }
}
@media (max-width: 700px) {
  .jx-picks-feature .jx-picks-feature-grid {
    width: calc(100vw - 32px) !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}

/* Give Featured Finds more presence and pull the story row closer. */
#featured .jx-eyebrow-image {
  width: clamp(250px, 25vw, 340px) !important;
  margin: 0 !important;
}
#featured .jx-section-head { margin-bottom: 12px !important; }
@media (max-width: 700px) {
  #featured .jx-eyebrow-image { width: clamp(190px, 48vw, 240px) !important; }
  #featured .jx-section-head { margin-bottom: 10px !important; }
}

/* Close the gap between the larger label and the first story image. */
#featured .jx-section-head { margin-bottom: 4px !important; }



/* One full-width desktop row for all eight category tiles. */
@media (min-width: 1100px) {
  .jx-category-strip .jx-shell.jx-category-list {
    width: calc(100vw - 48px) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }
  .jx-category-strip .jx-category-list {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    gap: clamp(8px, .8vw, 12px) !important;
  }
}
@media (max-width: 1099px) {
  .jx-category-strip .jx-shell.jx-category-list {
    width: calc(100vw - 32px) !important;
    max-width: none !important;
  }
  .jx-category-strip .jx-category-list {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}
@media (max-width: 700px) {
  .jx-category-strip .jx-shell.jx-category-list { width: calc(100vw - 22px) !important; }
  .jx-category-strip .jx-category-list { gap: 8px !important; }
}

/* The old italic intro floated away from the Featured Finds heading. */
#featured .jx-section-intro { display: none !important; }
/* Jynxies Buy Us a Coffee spotlight */ .jx-coffee-spotlight{position:relative;isolation:isolate;display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:22px;width:min(calc(100% - 44px),1260px);margin:14px auto 32px;padding:18px 24px 18px 19px;overflow:hidden;border:2px solid transparent;border-radius:24px;background:linear-gradient(108deg,#fffaf0 0%,#fff4df 62%,#ffe4ea 100%) padding-box,linear-gradient(120deg,#dbb95e,#fff8df 24%,#f56c9a 52%,#c91436 78%,#f4d27e) border-box;box-shadow:0 12px 28px rgba(80,30,22,.11)}.jx-coffee-spotlight:after{content:"";position:absolute;z-index:-1;width:230px;aspect-ratio:1;border-radius:50%;right:18%;top:-156px;background:radial-gradient(circle,rgba(255,255,255,.95),rgba(255,255,255,0) 68%)}.jx-coffee-spotlight-icon{width:78px;height:78px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#fffef9,#ffe6ed);box-shadow:inset 0 0 0 2px rgba(195,20,55,.16),0 5px 11px rgba(96,38,25,.11)}.jx-coffee-spotlight-icon svg{width:61px;height:61px;overflow:visible}.jx-coffee-steam{fill:none;stroke:#c8173b;stroke-width:3.5;stroke-linecap:round}.jx-coffee-handle,.jx-coffee-saucer{fill:none;stroke:#241b1a;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.jx-coffee-cup{fill:#fffaf0;stroke:#241b1a;stroke-width:4;stroke-linejoin:round}.jx-coffee-cup-band{fill:#e21d47}.jx-coffee-bean{fill:#ffd84d;stroke:#241b1a;stroke-width:2.2;stroke-linecap:round}.jx-coffee-spotlight-copy{min-width:0}.jx-coffee-spotlight-kicker{margin:0 0 4px;color:#b41132;font-size:.7rem;font-weight:900;letter-spacing:.15em;line-height:1.2}.jx-coffee-spotlight-copy h2{margin:0;color:#231817;font-family:Georgia,serif;font-size:clamp(1.35rem,2vw,2rem);font-weight:900;line-height:1.08;letter-spacing:-.025em}.jx-coffee-spotlight-copy>p:last-child{margin:5px 0 0;color:#5c4842;font-size:.95rem;line-height:1.35}.jx-coffee-spotlight-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 21px;border:1px solid #9f0d2a;border-radius:999px;background:linear-gradient(180deg,#e73558,#ba0d2f);box-shadow:0 5px 0 #850922,0 9px 15px rgba(149,9,38,.2);color:#fff9ed!important;font-size:.9rem;font-weight:900;line-height:1;text-decoration:none!important;white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease}.jx-coffee-spotlight-button:hover{transform:translateY(-2px);box-shadow:0 7px 0 #850922,0 12px 18px rgba(149,9,38,.25);color:#fff!important}.jx-coffee-spotlight-button:focus-visible{outline:3px solid #231817;outline-offset:4px}.jx-coffee-spotlight-button span{font-size:1.1rem}@media(max-width:760px){.jx-coffee-spotlight{grid-template-columns:58px minmax(0,1fr);gap:12px 14px;width:calc(100% - 28px);margin:12px auto 24px;padding:14px;border-radius:20px}.jx-coffee-spotlight-icon{width:56px;height:56px}.jx-coffee-spotlight-icon svg{width:47px;height:47px}.jx-coffee-spotlight-kicker{font-size:.58rem;letter-spacing:.11em}.jx-coffee-spotlight-copy h2{font-size:1.35rem}.jx-coffee-spotlight-copy>p:last-child{font-size:.84rem}.jx-coffee-spotlight-button{grid-column:1/-1;min-height:44px;font-size:.88rem}}@media(prefers-reduced-motion:reduce){.jx-coffee-spotlight-button{transition:none}}
