.mhd-edition-wrap {
 --edition-ink: #151a23;
 --edition-muted: #555d68;
 --edition-line: #e7e9ed;
 --edition-soft: #f3f4f6;
 --edition-blue: #224ccd;
 width: min(82rem, calc(100% - clamp(2rem, 9vw, 6rem)));
 margin-inline: auto;
 color: var(--edition-ink);
}
.mhd-edition-wrap :focus-visible { outline: 2px solid var(--edition-blue); outline-offset: 3px; }
.mhd-edition-header { background: #fff; position: relative; z-index: 4; }
.mhd-edition-header-grid {
 display: grid;
 grid-template-columns: minmax(10rem,1fr) minmax(14rem,26rem) minmax(max-content,1fr);
 align-items: center;
 gap: 1rem;
 min-height: 4.25rem;
}
.mhd-edition-brand { display: inline-flex; width: fit-content; align-items: center; min-height: 2.75rem; }
.mhd-edition-brand img { display: block; width: clamp(7rem, 11vw, 9.25rem); height: auto; }
.mhd-edition-search .mhd-search {
 max-width: none;
 width: 100%;
 min-height: 2.5rem;
 margin: 0;
 padding-inline: .8rem .28rem;
 border: 1px solid transparent;
 border-radius: 2rem;
 background: var(--edition-soft);
 box-shadow: none;
}
.mhd-edition-search .mhd-search:focus-within { border-color: var(--edition-blue); }
.mhd-edition-search .mhd-search input { min-width: 0; font-size: .9rem; background: transparent; }
.mhd-edition-search .mhd-search button { min-width: 2.1rem; min-height: 2rem; background: transparent; color: var(--edition-muted); }
.mhd-edition-search .mhd-search svg { flex: 0 0 auto; width: 1.05rem; }
.mhd-edition-actions { justify-self: end; display: flex; align-items: center; gap: .55rem; white-space: nowrap; }
.mhd-edition-account, .mhd-edition-submit, .mhd-edition-menu summary {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-height: 2.5rem;
 border: 1px solid var(--edition-line);
 border-radius: 2rem;
 padding: .4rem .8rem;
 font-size: .88rem;
 font-weight: 650;
 color: var(--edition-ink);
}
.mhd-edition-submit { background: #16213a; border-color: #16213a; color: #fff; }
.mhd-edition-submit:hover { background: var(--edition-blue); color: #fff; }
.mhd-edition-account:hover, .mhd-edition-menu summary:hover { background: var(--edition-soft); color: var(--edition-ink); }
.mhd-edition-menu { position: relative; }
.mhd-edition-menu summary { cursor: pointer; list-style: none; min-width: 2.5rem; padding: 0; border-color: transparent; }
.mhd-edition-menu summary::-webkit-details-marker { display: none; }
.mhd-edition-menu-panel {
 position: absolute;
 z-index: 5;
 inset: calc(100% + .35rem) 0 auto auto;
 width: 13rem;
 border: 1px solid var(--edition-line);
 border-radius: .85rem;
 padding: .4rem;
 background: #fff;
 box-shadow: 0 .8rem 2.2rem #1824401c;
}
.mhd-edition-menu-panel a { display: block; color: var(--edition-ink); padding: .5rem .7rem; border-radius: .4rem; font-size: .92rem; }
.mhd-edition-menu-panel a:hover { background: var(--edition-soft); }
.mhd-edition { padding-block: clamp(1.55rem, 4vw, 3.15rem) clamp(3rem, 7vw, 6rem); }
.mhd-edition-intro time { display: block; color: var(--edition-muted); text-transform: uppercase; font-size: .77rem; font-weight: 650; letter-spacing: .065em; }
.mhd-edition-intro h1 { margin: .16rem 0 .95rem; font-size: clamp(2.35rem, 4vw, 2.8rem); line-height: 1.04; letter-spacing: -.05em; color: inherit; }
.mhd-edition-topic-rail { position: relative; }
.mhd-edition-topics {
 display: flex;
 align-items: center;
 gap: .4rem;
 overflow-x: auto;
 scrollbar-width: none;
 padding: .24rem .2rem .32rem;
 scroll-padding-inline: 2.5rem;
}
.mhd-edition-topics a {
 display: inline-flex;
 align-items: center;
 gap: .35rem;
 min-height: 2.12rem;
 border: 1px solid var(--edition-line);
 border-radius: 2rem;
 padding: .24rem .68rem;
 color: var(--edition-ink);
 white-space: nowrap;
 font-size: .87rem;
}
.mhd-edition-topics a:hover { background: var(--edition-soft); color: var(--edition-blue); }
.mhd-edition-topic-rail button {
 position: absolute;
 inset-block-start: .21rem;
 z-index: 1;
 display: grid;
 place-items: center;
 width: 2.2rem;
 height: 2.2rem;
 padding: 0;
 border-radius: 50%;
 border: 1px solid var(--edition-line);
 background: #fff;
 color: var(--edition-ink);
 box-shadow: 0 0 .7rem .4rem #fff;
 cursor: pointer;
}
.mhd-edition-topic-rail button[hidden] { display: none; }
.mhd-edition-topic-rail [data-edition-move="previous"] { inset-inline-start: 0; }
.mhd-edition-topic-rail [data-edition-move="next"] { inset-inline-end: 0; }
.mhd-edition-feature-bar {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: space-between;
 gap: .5rem 1rem;
 margin-block: 1.25rem .85rem;
}
.mhd-edition-feature-title { margin: 0; color: var(--edition-ink); font-size: 1.14rem; font-weight: 700; }
.mhd-edition-placement-status { margin: .12rem 0 0; color: var(--edition-muted); font-size: .86rem; }
.mhd-edition-available { color: #1d6343; }
.mhd-edition-placement-status time { color: #623b16; font-weight: 650; font-variant-numeric: tabular-nums; }
.mhd-edition-placement-button {
 display: inline-flex;
 flex-wrap: wrap;
 align-items: center;
 gap: .25rem .55rem;
 min-height: 44px;
 max-width: 100%;
 padding: .42rem .85rem;
 border: 1px solid #d9e4ff;
 border-radius: .7rem;
 background: #edf3ff;
 color: #173b8d;
 font-size: .88rem;
 font-weight: 700;
 text-decoration: none;
}
.mhd-edition-placement-button:hover { background: #e1ebff; color: #102d76; }
.mhd-edition-placement-button:focus-visible { outline: 2px solid #1746aa; outline-offset: 3px; }
.mhd-edition-placement-button small { font-size: .78rem; font-weight: 500; }
.mhd-edition-features {
 display: grid;
 grid-template-columns: repeat(var(--edition-feature-count, 3), minmax(0,1fr));
 gap: clamp(.9rem, 2vw, 1.5rem);
 margin: 0 0 clamp(2.4rem, 5vw, 3.65rem);
}
.mhd-edition-feature { min-width: 0; }
.mhd-edition-feature > a { display: block; color: inherit; border-radius: 1rem; }
.mhd-edition-feature-image {
 position: relative;
 aspect-ratio: 1.9;
 overflow: hidden;
 background: var(--edition-soft);
 border-radius: 1rem;
 border: 1px solid var(--edition-line);
}
.mhd-edition-feature-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.mhd-edition-label {
 position: absolute;
 inset: .65rem .65rem auto auto;
 border-radius: .28rem;
 padding: .18rem .4rem;
 font-size: .63rem;
 font-weight: 740;
 letter-spacing: .035em;
 text-transform: uppercase;
 color: #173e9d;
 background: #e8efff;
}
.mhd-edition-label.is-sponsor { background:#fff1cf; color:#633704; }
.mhd-edition-label.is-pick { background: #222832; color: #fff; }
.mhd-edition-feature-caption { display: grid; grid-template-columns: 2.75rem minmax(0,1fr); align-items: start; gap: .72rem; margin-block-start: .72rem; }
.mhd-edition-feature h2, .mhd-edition-row h3 { color: var(--edition-ink); font-size: 1.06rem; line-height: 1.25; margin: 0 0 .18rem; font-weight: 690; }
.mhd-edition-feature a:hover h2, .mhd-edition-row-link:hover h3 { color: var(--edition-blue); }
.mhd-edition-feature-caption h2 { overflow-wrap: anywhere; }
.mhd-edition-feature-caption p, .mhd-edition-row p { font-size: .91rem; line-height: 1.38; color: var(--edition-muted); margin: 0; overflow-wrap: anywhere; }
.mhd-edition-feature-caption :is(.mhd-product-logo,.mhd-product-initial),
.mhd-edition-row-link :is(.mhd-product-logo,.mhd-product-initial) {
 width: 100%; height: auto; aspect-ratio: 1; border-radius: .72rem; object-fit: contain; flex-shrink: 0;
}
.mhd-edition-pick-reason { margin: .28rem 0 0 3.47rem; color: var(--edition-muted); font-size: .78rem; }
.mhd-edition-pick-reason summary { cursor: pointer; width: fit-content; padding-block: .15rem; }
.mhd-edition-pick-reason p { margin: .3rem 0 0; max-width: 44ch; }
.mhd-edition-list { margin: 0 0 clamp(2.4rem, 5vw, 3.8rem); }
.mhd-edition-list-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.mhd-edition-list-header h2 { margin: 0 0 .15rem; font-size: clamp(1.4rem, 2vw, 1.63rem); line-height: 1.18; letter-spacing: -.034em; color: inherit; }
.mhd-edition-list-header p { margin: 0; color: var(--edition-muted); font-size: .94rem; }
.mhd-edition-list-header > a { flex: 0 0 auto; border-radius: 2rem; padding: .38rem .8rem; color: var(--edition-ink); background: var(--edition-soft); font-size: .84rem; }
.mhd-edition-list-header > a:hover { color: var(--edition-blue); }
.mhd-edition-grid {
 display: grid;
 grid-template-columns: repeat(3,minmax(0,1fr));
 column-gap: clamp(1rem, 2vw, 1.5rem);
 margin: 0;
 padding: 0;
 list-style: none;
}
.mhd-edition-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .15rem; border-bottom: 1px solid var(--edition-line); }
.mhd-edition-row-link { display: grid; grid-template-columns: 3rem minmax(0,1fr); align-items: start; gap: .75rem; padding-block: .8rem; min-width: 0; color: inherit; }
.mhd-edition-row h3 { font-size: .93rem; overflow-wrap: anywhere; }
.mhd-edition-row p { font-size: .87rem; }
.mhd-edition-save {
 display: grid; place-items: center; width: 2.75rem; min-height: 2.75rem; padding: 0; border: 0; border-radius: 50%;
 color: var(--edition-muted); background: transparent; cursor: pointer;
}
.mhd-edition-save:hover { background: var(--edition-soft); color: var(--edition-blue); }
.mhd-edition-save[aria-pressed="true"] { color: var(--edition-blue); }
.mhd-edition-save[aria-pressed="true"] svg { fill: currentColor; }
.mhd-edition > .mhu-home-launches { margin-block: 0 2.2rem; }
.mhd-edition > .mhu-cohort { max-width: 49rem; }
@media (max-width: 56rem) {
 .mhd-edition-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .mhd-edition-header-grid { grid-template-columns: auto minmax(0,1fr) auto; gap: .65rem; }
 .mhd-edition-feature-caption { grid-template-columns: 2.25rem minmax(0,1fr); gap: .48rem; }
 .mhd-edition-pick-reason { margin-inline-start: 2.73rem; }
}
@media (max-width: 40rem) {
 .mhd-edition-wrap { width: calc(100% - 2rem); }
 .mhd-edition-header-grid { min-height: 0; grid-template-columns: minmax(0,1fr) auto; gap: .45rem; padding-block: .55rem; }
 .mhd-edition-actions { grid-column: 2; grid-row: 1; gap: .2rem; }
 .mhd-edition-search { grid-column: 1 / -1; grid-row: 2; }
 .mhd-edition-search .mhd-search { min-height: 2.75rem; }
 .mhd-edition-account, .mhd-edition-submit { min-height: 2.3rem; font-size: .78rem; padding-inline: .52rem; }
 .mhd-edition-menu summary { min-width: 1.85rem; }
 .mhd-edition-menu-panel { inset-inline-end: -6rem; }
 .mhd-edition-features {
  display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 82%;
  margin-inline: -.25rem; padding: .25rem .25rem .8rem; overflow-x: auto; scroll-snap-type: x mandatory;
 }
 .mhd-edition-feature { scroll-snap-align: start; scroll-margin-inline: .25rem; }
 .mhd-edition-features:has(.mhd-edition-feature:only-child) { grid-auto-columns: 100%; }
 .mhd-edition-grid { grid-template-columns: minmax(0,1fr); }
 .mhd-edition-row-link { padding-block: .72rem; }
}

.mhd-category-index {
 --category-paper: #fff;
 --category-navy: #16213a;
 --category-on-navy: #e0eaff;
 display: grid;
 grid-template-columns: minmax(12rem, .9fr) minmax(0, 3.4fr);
 margin-block: clamp(2rem, 4vw, 3.5rem);
 border: 1px solid var(--edition-line);
 border-radius: 1.125rem;
 background: var(--category-paper);
}
.mhd-category-index-intro {
 display: flex;
 flex-direction: column;
 align-items: flex-start;
 padding: clamp(1.25rem, 2.7vw, 2rem);
 border-start-start-radius: calc(1.125rem - 1px);
 border-end-start-radius: calc(1.125rem - 1px);
 background: linear-gradient(145deg, var(--category-navy), #1e365e);
 color: var(--category-paper);
}
.mhd-category-index-intro h2 {
 margin: 0;
 color: inherit;
 font-size: clamp(1.5rem, 2.25vw, 2.15rem);
 line-height: 1.08;
 letter-spacing: -.045em;
}
.mhd-category-index-intro p {
 margin: .75rem 0 1rem;
 color: var(--category-on-navy);
 font-size: .94rem;
 line-height: 1.45;
}
.mhd-category-index-intro a {
 display: inline-flex;
 align-items: center;
 gap: .65rem;
 min-height: 2.75rem;
 margin-block-start: auto;
 padding-inline: .85rem;
 border: 1px solid var(--category-on-navy);
 border-radius: .45rem;
 color: inherit;
 font-size: .88rem;
 font-weight: 650;
}
.mhd-category-index-intro a:hover { background: var(--category-paper); color: var(--category-navy); }
.mhd-edition-wrap .mhd-category-index-intro a:focus-visible { outline-color: var(--category-on-navy); }
.mhd-category-index-groups {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: clamp(.55rem, 1.25vw, 1rem);
 padding: clamp(.7rem, 1.4vw, 1.15rem);
 background: #f5f7fb;
 border-start-end-radius: inherit;
 border-end-end-radius: inherit;
}
.mhd-category-index-group {
 --category-ink: #23468b;
 --category-tint: #eaf1ff;
 --category-line: #d5e2f8;
 --category-wash: #f8faff;
 min-width: 0;
 padding: .55rem;
 border: 1px solid var(--category-line);
 border-radius: .8rem;
 background: var(--category-paper);
}
.mhd-category-index-group:nth-child(2) {
 --category-ink: #176458;
 --category-tint: #e3f5f0;
 --category-line: #cce6df;
 --category-wash: #f5fbf9;
}
.mhd-category-index-group:nth-child(3) {
 --category-ink: #714178;
 --category-tint: #f4eaf8;
 --category-line: #e6d6ed;
 --category-wash: #fcf8fd;
}
.mhd-category-index-group h3 {
 margin: 0 .15rem .35rem;
 padding: .4rem .4rem .65rem;
 border-bottom: 1px solid var(--category-line);
 color: var(--category-ink);
 font-size: .96rem;
 line-height: 1.3;
}
.mhd-category-index-group ul {
 display: grid;
 gap: .18rem;
 margin: 0;
 padding: 0;
 list-style: none;
}
.mhd-category-index-group a {
 display: grid;
 grid-template-columns: auto minmax(0, 1fr) auto;
 align-items: center;
 gap: .5rem;
 min-height: 3rem;
 padding: .28rem .36rem;
 border-radius: .55rem;
 color: var(--edition-ink);
 font-size: .91rem;
 font-weight: 620;
 line-height: 1.3;
 text-decoration: none;
}
.mhd-category-icon {
 display: grid;
 place-items: center;
 width: 2rem;
 height: 2rem;
 border-radius: .52rem;
 background: var(--category-tint);
 color: var(--category-ink);
}
.mhd-category-label { overflow-wrap: anywhere; }
.mhd-category-arrow { color: var(--category-ink); }
.mhd-category-index-group a:hover,
.mhd-category-index-group a:focus-visible {
 background: var(--category-wash);
 color: var(--category-ink);
}
.mhd-category-index-group a:hover .mhd-category-label,
.mhd-category-index-group a:focus-visible .mhd-category-label { text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 64rem) {
 .mhd-category-index { grid-template-columns: minmax(0, 1fr); }
 .mhd-category-index-intro {
  border-end-start-radius: 0;
  border-start-end-radius: calc(1.125rem - 1px);
 }
 .mhd-category-index-groups { border-start-end-radius: 0; border-end-start-radius: inherit; }
}
@media (min-width: 44rem) and (max-width: 64rem) {
 .mhd-category-index-intro { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 1rem; }
 .mhd-category-index-intro p { grid-column: 1; margin: .45rem 0 0; }
 .mhd-category-index-intro a { grid-column: 2; grid-row: 1 / 3; align-self: center; margin: 0; }
}
@media (max-width: 43.99rem) {
 .mhd-category-index-groups { grid-template-columns: minmax(0, 1fr); }
 .mhd-category-index-group ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .mhd-category-index-group a { grid-template-columns: auto minmax(0, 1fr); font-size: .87rem; }
 .mhd-category-arrow { display: none; }
 .mhd-category-icon { width: 1.75rem; height: 1.75rem; }
 .mhd-category-icon svg { width: 1rem; height: 1rem; }
}
@media (max-width: 21rem) {
 .mhd-category-index-group ul { grid-template-columns: minmax(0, 1fr); }
}

/* Shared navigation and advertising. */
.mhd-edition-header {
 border-bottom: 1px solid var(--mhd-line);
}
.mhd-edition-menu-panel {
 max-height: 65dvh;
 overflow-y: auto;
}
.mhd-footer-grid.mhd-footer-directory {
 grid-template-columns: minmax(0, 1.45fr) repeat(3, minmax(0, 1fr));
 gap: clamp(1.25rem, 4vw, 4rem);
}
.mhd-footer-directory > div { grid-column: auto; }
.mhd-footer-company { font-style: normal; margin-block-start: 1rem; line-height: 1.65; }
.mhd-footer-paypal { margin-block-start: .8rem; }
.mhd-footer-paypal img { display: block; height: auto; }

.mhu-advertise.mhd-edition-wrap { padding-block: clamp(2rem, 5vw, 4.5rem); }
.mhd-advertise-intro { margin-block-end: clamp(1.5rem, 3.5vw, 2.65rem); }
.mhd-advertise-intro p { max-width: 58ch; margin-block-start: .75rem; }
.mhd-advertise-offers {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(min(100%, 25rem), 1fr));
 gap: clamp(1rem, 2.4vw, 1.6rem);
}
.mhd-advertise-offers > section {
 display: flex;
 flex-direction: column;
 align-items: flex-start;
 min-width: 0;
 margin: 0;
 padding: clamp(1.2rem, 3vw, 2rem);
 border: 1px solid var(--mhd-line);
 border-radius: var(--mhd-radius);
}
.mhd-advertise-offers .mhu-home-sponsor-offer {
 background: var(--mhd-soft);
 border-color: #d6e2f9;
}
.mhd-advertise-offers .mhd-advertise-article { background: var(--mhd-white); }
.mhd-advertise-offers h2 { margin-block: .35rem .65rem; }
.mhd-advertise-offers .mhu-offer-eyebrow { color: var(--mhd-blue); }
.mhd-advertise-offers p { max-width: 61ch; margin-block: 0 .85rem; }
.mhd-advertise-offers .mhu-credit-price,
.mhd-advertise-offers .mhd-advertise-rate {
 color: var(--mhd-navy);
 font-weight: 700;
 margin-block-end: 1.15rem;
}
.mhd-advertise-offers .mhd-advertise-rate { font-size: 1.2rem; }
.mhd-advertise-offers .mhu-publishing-actions,
.mhd-advertise-offers .mhu-home-sponsor-offer > .mhd-button { margin-block-start: auto; }
.mhd-advertise-offers :is(.mhd-button, .mhu-publishing-secondary) { min-height: 44px; }
.mhd-advertise-offers .mhu-publishing-actions { padding-block-start: .35rem; }
.mhu-advertise #homepage-sponsorship,
.mhu-advertise #request-quote { scroll-margin-top: 4rem; }
@media (max-width: 56rem) {
 .mhd-footer-grid.mhd-footer-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
 .mhd-edition-header-grid { position: relative; }
 .mhd-edition-menu { position: static; }
 .mhd-edition-menu-panel { inset: calc(100% + .25rem) 0 auto auto; width: min(16rem, 100%); }
 .mhd-footer-directory > div { grid-column: 1 / -1; }
}
@media (max-width: 22rem) {
 .mhd-edition-brand img { width: 5rem; }
 .mhd-edition-actions .mhu-header-tools { gap: .2rem; }
 .mhd-edition-actions :is(.mhu-header-credit, .mhu-header-account) { width: 2.15rem; min-width: 2.15rem; }
}
@media print {
 .mhd-edition-header { display: none; }
}
