/* Cosmo Home Redesign v3 — Agency Worker 1.3.52. Full-document template, no theme CSS.
 * Desktop (>=1100px) is drawn in mockup units: 1u = 1/770 of the viewport (mockup frame 770px),
 * capped at 1680px so very wide screens don't balloon. */
:root {
	--cch3-ink: #1d1a17;
	--cch3-ink-2: #3b3631;
	--cch3-muted: #696866;
	--cch3-meta: #7a746d;
	--cch3-page: #fcfcfa;
	--cch3-outer: #f5f4f0;
	--cch3-tan: #9f835b;
	--cch3-tan-dark: #8b7150;
	--cch3-gold: #d2b184;
	--cch3-gold-2: #c9a675;
	--cch3-label: #a88a5e;
	--cch3-rule: #bcb5ad;
	--cch3-serif: "Newsreader", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
	--cch3-display: "Gilda Display", "Didot", Georgia, serif;
	--cch3-sans: "Work Sans", "Helvetica Neue", Arial, sans-serif;
	--u: calc(100vw / 390 * 0.5); /* not used on mobile; desktop overrides */
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body.cch3 {
	margin: 0;
	background: var(--cch3-page);
	color: var(--cch3-ink);
	font-family: var(--cch3-serif);
	font-size: 17px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-optical-sizing: auto;
	overflow-x: hidden;
}
body.cch3.cch3-lock { overflow: hidden; }
.cch3 img { max-width: 100%; height: auto; display: block; }
.cch3 a { color: inherit; text-decoration: none; }
.cch3 h1, .cch3 h2, .cch3 h3, .cch3 p { margin: 0; }
.cch3 button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.cch3 :focus-visible { outline: 2px solid var(--cch3-tan); outline-offset: 3px; }
.cch3-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cch3-skip { position: absolute; left: -9999px; top: 0; z-index: 1000; background: var(--cch3-ink); color: #fff !important; padding: 10px 16px; font: 500 13px/1 var(--cch3-sans); }
.cch3-skip:focus { left: 12px; top: 12px; }
.cch3-arrow { display: inline-block; width: 1.45em; height: auto; vertical-align: middle; margin-left: .55em; position: relative; top: -.08em; transition: transform .25s ease; }
a:hover > .cch3-arrow { transform: translateX(3px); }

/* ---------------------------------------------------------------- header */
.cch3-header { position: sticky; top: 0; z-index: 50; background: var(--cch3-page); border-bottom: 1px solid rgba(29, 26, 23, .06); }
.admin-bar .cch3-header { top: 0; }
.cch3-header__inner { position: relative; display: flex; align-items: center; justify-content: space-between; height: 64px; padding: 0 16px; }
.cch3-logo { display: block; color: var(--cch3-ink); line-height: 0; }
.cch3-wordmark { display: block; width: 100%; height: auto; overflow: visible; }
.cch3-wm-1 { stroke: var(--cch3-page); stroke-width: 2.5; paint-order: stroke; }
.cch3-header .cch3-logo { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 196px; }
.cch3-nav { display: none; }
.cch3-nav a, .cch3-subscribe, .cch3-kicker, .cch3-eyebrow, .cch3-btn, .cch3-sechead__more, .cch3-card__cat, .cch3-card__meta, .cch3-band__cta, .cch3-hero__pager, .cch3-ad__label {
	font-family: var(--cch3-sans);
	text-transform: uppercase;
	font-feature-settings: "kern" 1;
}
.cch3-nav a { font-weight: 500; letter-spacing: .14em; color: var(--cch3-ink-2); white-space: nowrap; transition: color .2s ease; position: relative; }
.cch3-nav a::after { content: ""; position: absolute; left: 0; right: .14em; bottom: -5px; height: 1px; background: var(--cch3-tan); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.cch3-nav a:hover { color: var(--cch3-ink); }
.cch3-nav a:hover::after { transform: scaleX(1); }
.cch3-header__right { display: flex; align-items: center; gap: 4px; }
.cch3-search-toggle { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; color: var(--cch3-ink); }
.cch3-subscribe { display: none; align-items: center; justify-content: center; background: var(--cch3-tan); color: #fff !important; font-weight: 500; letter-spacing: .16em; white-space: nowrap; transition: background .2s ease; }
.cch3-subscribe:hover { background: var(--cch3-tan-dark); }
.cch3-burger { width: 40px; height: 40px; display: inline-flex; flex-direction: column; justify-content: center; gap: 6px; padding: 0 9px !important; }
.cch3-burger span { display: block; height: 1.25px; background: var(--cch3-ink); }
.cch3-burger span:nth-child(2) { width: 70%; }
.cch3-search { border-top: 1px solid rgba(29, 26, 23, .08); background: var(--cch3-page); }
.cch3-search[hidden] { display: none; }
.cch3-search form { display: flex; gap: 10px; max-width: 760px; margin: 0 auto; padding: 14px 16px; }
.cch3-search input, .cch3-drawer__search input { flex: 1; min-width: 0; border: 0; border-bottom: 1px solid var(--cch3-ink); background: transparent; font: 400 20px/1.3 var(--cch3-serif); padding: 8px 2px; color: var(--cch3-ink); border-radius: 0; -webkit-appearance: none; appearance: none; }
.cch3-search input:focus, .cch3-drawer__search input:focus { outline: none; border-bottom-color: var(--cch3-tan); }
.cch3-search button { font: 500 11px/1 var(--cch3-sans); letter-spacing: .16em; text-transform: uppercase; background: var(--cch3-ink); color: #fff; padding: 0 18px; }

/* drawer (mobile/tablet) */
.cch3-drawer { position: fixed; inset: 0; z-index: 90; background: rgba(20, 17, 14, .45); }
.cch3-drawer[hidden] { display: none; }
.cch3-drawer__panel { position: absolute; top: 0; left: 0; bottom: 0; width: min(88vw, 380px); background: var(--cch3-page); padding: 64px 28px 32px; overflow-y: auto; display: flex; flex-direction: column; gap: 28px; animation: cch3-in .28s ease both; }
@keyframes cch3-in { from { transform: translateX(-24px); opacity: 0; } to { transform: none; opacity: 1; } }
.cch3-drawer__close { position: absolute; top: 12px; left: 16px; width: 40px; height: 40px; font-size: 30px !important; line-height: 1 !important; font-weight: 300 !important; }
.cch3-drawer__nav { display: flex; flex-direction: column; }
.cch3-drawer__nav a { font: 400 25px/1.2 var(--cch3-serif); padding: 12px 0; border-bottom: 1px solid rgba(29, 26, 23, .09); letter-spacing: -.005em; }
.cch3-drawer__nav a:hover { color: var(--cch3-tan-dark); }
.cch3-subscribe--block { display: flex !important; height: 48px; font-size: 12px; }
.cch3-drawer__search { display: flex; align-items: center; }
.cch3-drawer__search button { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; }

/* ------------------------------------------------------------------ hero */
.cch3-hero { position: relative; overflow: hidden; background: #181410; color: #fff; height: min(150vw, 640px); min-height: 520px; }
.cch3-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1s ease, visibility 0s linear 1s; }
.cch3-slide.is-active { opacity: 1; visibility: visible; transition: opacity 1s ease, visibility 0s; z-index: 1; }
.cch3-slide__media, .cch3-slide__media img { position: absolute; inset: 0; width: 100%; height: 100% !important; max-width: none; }
.cch3-slide__media img { object-fit: cover; object-position: var(--pos-m, 75% 50%); }
@media (min-width: 700px) { .cch3-slide__media img { object-position: var(--pos, 60% 50%); } }
.cch3-slide.is-active .cch3-slide__media img { animation: cch3-zoom 9s ease-out both; }
@keyframes cch3-zoom { from { transform: scale(1.045); } to { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .cch3-slide.is-active .cch3-slide__media img { animation: none; } .cch3-slide { transition: none; } }
/* Mobile: dark gradient from the bottom behind the copy. */
.cch3-slide__shade { position: absolute; inset: 0; background:
	linear-gradient(0deg, rgba(12, 10, 8, .9) 0%, rgba(12, 10, 8, .74) 34%, rgba(12, 10, 8, .25) 62%, rgba(12, 10, 8, 0) 80%),
	linear-gradient(180deg, rgba(12, 10, 8, .25) 0%, rgba(12, 10, 8, 0) 18%); }
.cch3-slide__copy { position: absolute; left: 22px; right: 22px; bottom: 74px; }
.cch3-kicker { color: var(--cch3-gold); font-weight: 500; font-size: 11px; letter-spacing: .22em; line-height: 1; margin-bottom: 16px !important; }
.cch3-hero__title { font-family: var(--cch3-serif); font-weight: 350; font-variation-settings: "opsz" 72; font-size: 46px; line-height: .98; letter-spacing: -.012em; color: #fff; text-shadow: 0 1px 24px rgba(0, 0, 0, .18); }
.cch3-hero__title span { display: block; }
.cch3-hero__dek { font-family: var(--cch3-serif); font-weight: 400; font-variation-settings: "opsz" 16; font-size: 17px; line-height: 1.38; color: rgba(255, 255, 255, .92); margin-top: 16px !important; max-width: 30em; }
.cch3-btn { display: inline-flex; align-items: center; justify-content: center; background: var(--cch3-gold); color: var(--cch3-ink) !important; font-weight: 500; font-size: 11px; letter-spacing: .17em; line-height: 1; height: 44px; padding: 0 20px; margin-top: 22px; transition: background .2s ease; white-space: nowrap; }
.cch3-btn:hover { background: #dcc09a; }
.cch3-hero__pager { position: absolute; z-index: 3; left: 22px; bottom: 24px; display: flex; align-items: center; gap: 4px; font-size: 11px; letter-spacing: .12em; color: rgba(255, 255, 255, .75); }
.cch3-hero__pager button { height: 32px; min-width: 28px; display: inline-flex; align-items: center; justify-content: center; transition: color .2s ease; }
.cch3-hero__dot { position: relative; font-weight: 500; }
.cch3-hero__dot.is-active { color: #fff; }
.cch3-hero__dot.is-active::after { content: ""; position: absolute; left: 22%; right: 26%; bottom: 3px; height: 1px; background: #fff; }
.cch3-hero__pager button:hover { color: #fff; }
.cch3-hero__prev { margin-right: 4px; }
.cch3-hero__next { margin-left: 2px; }
.cch3-hero__next .cch3-arrow { margin: 0; width: 15px; top: 0; }

/* -------------------------------------------------------------------- ad */
.cch3-ad { display: flex; flex-direction: column; align-items: center; padding: 22px 16px 6px; }
.cch3-ad__label { font-size: 9px; letter-spacing: .2em; color: #8f8a83; margin-bottom: 6px; line-height: 1; }
.cch3-ad__unit img { width: 100%; height: auto; }
.cch3-ad__unit--970 { display: none; width: 100%; max-width: 970px; }
.cch3-ad__unit--970 img { aspect-ratio: 970 / 250; }
.cch3-ad__unit--320 { display: block; width: 320px; max-width: 100%; }
.cch3-ad__unit--320 img { aspect-ratio: 320 / 100; }
@media (min-width: 1000px) { .cch3-ad__unit--970 { display: block; } .cch3-ad__unit--320 { display: none; } }

/* ----------------------------------------------------------- editor's picks */
.cch3-picks, .cch3-band { margin-left: 18px; margin-right: 18px; }
.cch3-picks { padding-top: 34px; }
.cch3-sechead { display: flex; align-items: flex-end; gap: 16px; }
.cch3-eyebrow { font-weight: 600; font-size: 10.5px; letter-spacing: .22em; color: var(--cch3-label); line-height: 1; }
.cch3-sechead__title { font-family: var(--cch3-serif); font-weight: 350; font-variation-settings: "opsz" 72; font-size: 38px; line-height: 1; letter-spacing: -.012em; margin-top: 12px !important; white-space: nowrap; }
.cch3-sechead__rule { flex: 1; height: 1px; background: var(--cch3-rule); margin-bottom: 9px; display: none; }
.cch3-sechead__more { margin-left: auto; font-weight: 500; font-size: 10.5px; letter-spacing: .16em; white-space: nowrap; line-height: 1; padding-bottom: 7px; }
.cch3-sechead__more:hover { color: var(--cch3-tan-dark); }
.cch3-picks__grid { display: grid; grid-template-columns: 1fr; gap: 30px; margin-top: 22px; }
.cch3-card__media { display: block; overflow: hidden; background: #e9e4dc; aspect-ratio: 3 / 2; }
.cch3-card__media img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .7s ease; }
.cch3-card:hover .cch3-card__media img { transform: scale(1.03); }
.cch3-card__cat { font-weight: 600; font-size: 10px; letter-spacing: .2em; color: var(--cch3-label); line-height: 1; margin-top: 16px !important; }
.cch3-card__title { font-family: var(--cch3-serif); font-weight: 400; font-variation-settings: "opsz" 36; font-size: 25px; line-height: 1.16; letter-spacing: -.008em; margin-top: 10px !important; }
.cch3-card__title a { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .35s ease; }
.cch3-card__title a:hover { background-size: 100% 1px; }
.cch3-card__dek { font-family: var(--cch3-serif); font-variation-settings: "opsz" 14; font-size: 16.5px; line-height: 1.45; color: var(--cch3-muted); margin-top: 8px !important; }
.cch3-card__meta { font-size: 10px; letter-spacing: .14em; color: var(--cch3-meta); margin-top: 12px !important; line-height: 1; }
.cch3-card__dot { margin: 0 .6em; }
.cch3-card__meta time { white-space: nowrap; }

/* mobile: cards 2 + 3 as compact rows */
@media (max-width: 699px) {
	.cch3-card--2, .cch3-card--3 { display: grid; grid-template-columns: 38% 1fr; column-gap: 16px; align-items: start; padding-top: 24px; border-top: 1px solid rgba(29, 26, 23, .1); }
	.cch3-card--2 .cch3-card__media, .cch3-card--3 .cch3-card__media { grid-row: 1 / span 4; aspect-ratio: 1 / 1; }
	.cch3-card--2 .cch3-card__cat, .cch3-card--3 .cch3-card__cat { margin-top: 2px !important; }
	.cch3-card--2 .cch3-card__title, .cch3-card--3 .cch3-card__title { font-size: 20px; }
	.cch3-card--2 .cch3-card__dek, .cch3-card--3 .cch3-card__dek, .cch3-card--2 .cch3-card__dot, .cch3-card--3 .cch3-card__dot { display: none; }
	.cch3-card--2 .cch3-card__meta time, .cch3-card--3 .cch3-card__meta time { display: block; margin-top: 6px; }
	.cch3-card--2 .cch3-card__meta, .cch3-card--3 .cch3-card__meta { line-height: 1.2; }
	.cch3-picks__grid { gap: 24px; }
	.cch3-sechead { flex-wrap: wrap; }
}

/* ------------------------------------------------------------------ band */
.cch3-band { display: flex; flex-direction: column-reverse; margin-top: 44px; background: var(--cch3-tan); color: #fff; }
.cch3-band__copy { padding: 30px 24px 32px; }
.cch3-band__title { font-family: var(--cch3-serif); font-weight: 350; font-variation-settings: "opsz" 60; font-size: 33px; line-height: 1.08; letter-spacing: -.008em; color: #fff; }
.cch3-band__title span { display: inline; }
.cch3-band__title span + span::before { content: " "; }
.cch3-band__dek { font-family: var(--cch3-serif); font-variation-settings: "opsz" 14; font-size: 16px; line-height: 1.5; color: rgba(255, 255, 255, .9); margin-top: 14px !important; max-width: 26em; }
.cch3-band__cta { display: inline-block; margin-top: 20px; font-weight: 500; font-size: 11px; letter-spacing: .18em; color: #fff !important; line-height: 1; }
.cch3-band__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.cch3-band__media img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; object-position: 40% 60%; }

/* ---------------------------------------------------------------- footer */
.cch3-footer { margin-top: 56px; background: var(--cch3-outer); border-top: 1px solid rgba(29, 26, 23, .07); padding: 44px 18px 28px; text-align: center; }
.cch3-footer__top { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.cch3-logo--footer { width: 220px; color: var(--cch3-ink); }
.cch3-logo--footer .cch3-wm-1 { stroke: var(--cch3-outer); }
.cch3-footer__tag { font-family: var(--cch3-serif); font-style: italic; font-size: 17px; color: var(--cch3-muted); }
.cch3-footer .cch3-subscribe { display: inline-flex; height: 40px; padding: 0 24px; font-size: 11px; }
.cch3-footer__nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px; margin: 32px auto 0; max-width: 900px; padding: 24px 0; border-top: 1px solid rgba(29, 26, 23, .1); border-bottom: 1px solid rgba(29, 26, 23, .1); font: 500 11px/1.4 var(--cch3-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--cch3-ink-2); }
.cch3-footer__nav a:hover, .cch3-footer__legal a:hover { color: var(--cch3-tan-dark); }
.cch3-footer__base { display: flex; flex-direction: column; gap: 8px; align-items: center; margin-top: 20px; font: 400 12px/1.5 var(--cch3-sans); color: var(--cch3-meta); }
.cch3-footer__legal { display: flex; gap: 20px; }

/* ----------------------------------------------------------------- popup */
.cch3-popup { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; padding: 18px; }
.cch3-popup[hidden] { display: none; }
.cch3-popup:target { display: flex; }
.cch3-popup__backdrop { position: absolute; inset: 0; background: rgba(20, 17, 14, .62); }
.cch3-popup__dialog { position: relative; width: min(560px, 100%); max-height: calc(100vh - 36px); overflow-y: auto; background: var(--cch3-page); color: var(--cch3-ink); padding: 44px 36px 30px; text-align: center; box-shadow: 0 30px 80px rgba(0, 0, 0, .3); animation: cch3-pop .3s ease both; }
.cch3-popup__dialog::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--cch3-tan); }
@keyframes cch3-pop { from { transform: translateY(12px); opacity: 0; } to { transform: none; opacity: 1; } }
.cch3-popup__close { position: absolute; top: 8px; right: 12px; width: 40px; height: 40px; font: 300 30px/40px var(--cch3-sans); color: var(--cch3-ink-2) !important; }
.cch3-popup__title { text-wrap: balance; font-family: var(--cch3-serif); font-weight: 350; font-variation-settings: "opsz" 60; font-size: 34px; line-height: 1.08; letter-spacing: -.01em; margin-top: 12px !important; }
.cch3-popup__sub { font-family: var(--cch3-serif); font-size: 16.5px; line-height: 1.45; color: var(--cch3-muted); margin-top: 10px !important; }
.cch3-popup__fine { font: 400 11.5px/1.4 var(--cch3-sans); color: var(--cch3-meta); margin-top: 14px !important; }
.cch3-popup__form { margin-top: 22px; text-align: left; }
.cch3-popup .ddlm-form, .cch3-popup .ddlm-form-content { margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; max-width: none !important; width: auto !important; }
.cch3-popup .ddlm-form-inline { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px !important; margin: 0 !important; }
.cch3-popup .ddlm-form-field { margin: 0 !important; padding: 0 !important; width: auto !important; max-width: none !important; float: none !important; }
.cch3-popup .ddlm-form-field:has(input[type="email"]), .cch3-popup .ddlm-form-field:has(input[name="email"]) { grid-column: 1 / -1; }
.cch3-popup .ddlm-form-field label { font: 500 10px/1.2 var(--cch3-sans) !important; letter-spacing: .14em !important; text-transform: uppercase; color: var(--cch3-ink-2) !important; margin-bottom: 6px !important; display: block; }
.cch3-popup input.ddlm-form-input, .cch3-popup .ddlm-form input[type="text"], .cch3-popup .ddlm-form input[type="email"] { width: 100% !important; height: 46px !important; border: 1px solid #cfc8bf !important; border-radius: 0 !important; background: #fff !important; padding: 0 14px !important; font: 400 16px/1.2 var(--cch3-serif) !important; color: var(--cch3-ink) !important; box-shadow: none !important; margin: 0 !important; }
.cch3-popup input.ddlm-form-input:focus { border-color: var(--cch3-tan) !important; outline: none !important; }
.cch3-popup .ddlm-form-submit { margin: 12px 0 0 !important; padding: 0 !important; grid-column: 1 / -1; width: 100% !important; text-align: center !important; }
.cch3-popup button.ddlm-submit-btn, .cch3-popup .ddlm-form-submit button { width: 100% !important; height: 48px !important; background: var(--cch3-tan) !important; color: #fff !important; border: 0 !important; border-radius: 0 !important; font: 500 12px/1 var(--cch3-sans) !important; font-size: 12px !important; letter-spacing: .18em !important; text-transform: uppercase !important; cursor: pointer; padding: 0 !important; box-shadow: none !important; }
.cch3-popup button.ddlm-submit-btn:hover { background: var(--cch3-tan-dark) !important; }
@media (max-width: 480px) { .cch3-popup__dialog { padding: 40px 22px 24px; } .cch3-popup__title { font-size: 29px; } .cch3-popup .ddlm-form-inline { grid-template-columns: 1fr; } }

/* ============================================================ tablet 700+ */
@media (min-width: 700px) {
	.cch3-header__inner { height: 76px; padding: 0 28px; }
	.cch3-header .cch3-logo { width: 250px; }
	.cch3-subscribe { display: inline-flex; height: 36px; padding: 0 18px; font-size: 11px; }
	.cch3-header__right { gap: 10px; }
	.cch3-hero { height: 62vw; min-height: 480px; max-height: 640px; }
	.cch3-slide__shade { background:
		linear-gradient(90deg, rgba(10, 8, 6, .8) 0%, rgba(10, 8, 6, .62) 28%, rgba(10, 8, 6, .26) 50%, rgba(10, 8, 6, 0) 72%),
		linear-gradient(0deg, rgba(10, 8, 6, .35) 0%, rgba(10, 8, 6, 0) 30%); }
	.cch3-slide__copy { left: 44px; right: auto; bottom: auto; top: 50%; transform: translateY(-50%); width: min(520px, 62%); }
	.cch3-hero__title { font-size: 58px; }
	.cch3-hero__pager { left: auto; right: 34px; bottom: 26px; }
	.cch3-picks, .cch3-band { margin-left: 34px; margin-right: 34px; }
	.cch3-sechead__rule { display: block; }
	.cch3-picks__grid { grid-template-columns: 1fr 1fr; gap: 34px 24px; }
	.cch3-card--1 { grid-column: 1 / -1; display: grid; grid-template-columns: 1.35fr 1fr; column-gap: 28px; align-content: center; }
	.cch3-card--1 .cch3-card__media { grid-row: 1 / span 4; }
	.cch3-card--1 .cch3-card__cat { margin-top: 0 !important; align-self: end; }
	.cch3-card--1 .cch3-card__title { font-size: 32px; }
	.cch3-band { flex-direction: row; min-height: 340px; }
	.cch3-band__copy { flex: 0 0 42%; padding: 40px 36px; display: flex; flex-direction: column; justify-content: center; }
	.cch3-band__media { flex: 1; aspect-ratio: auto; }
	.cch3-footer__base { flex-direction: row; justify-content: space-between; max-width: 900px; margin-left: auto; margin-right: auto; }
}


/* ------------------------------------------- category browse (post-band) */
/* Quiet 3-up rows: image + title + date only. Alternating soft cream. */
.cch3-cats { margin-top: 8px; }
.cch3-cat { padding: 40px 18px 36px; }
.cch3-cat--alt { background: var(--cch3-outer); }
.cch3-cat__inner { max-width: 100%; }
.cch3-sechead--cat { align-items: baseline; }
.cch3-sechead--cat .cch3-sechead__title { font-size: 28px; font-weight: 380; font-variation-settings: "opsz" 36; margin-top: 0 !important; white-space: normal; }
.cch3-sechead--cat .cch3-sechead__rule { display: none; margin-bottom: 6px; }
.cch3-sechead--cat .cch3-sechead__more { padding-bottom: 4px; }
.cch3-cat__grid { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 28px; }
.cch3-mini__media { display: block; overflow: hidden; background: #e9e4dc; aspect-ratio: 3 / 2; }
.cch3-mini__media img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .7s ease; }
.cch3-mini:hover .cch3-mini__media img { transform: scale(1.03); }
.cch3-mini__title { font-family: var(--cch3-serif); font-weight: 400; font-variation-settings: "opsz" 28; font-size: 20px; line-height: 1.22; letter-spacing: -.006em; margin-top: 12px !important; }
.cch3-mini__title a { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .35s ease; }
.cch3-mini__title a:hover { background-size: 100% 1px; }
.cch3-mini__meta { font-family: var(--cch3-sans); font-weight: 500; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--cch3-meta); margin-top: 8px !important; line-height: 1; }
@media (min-width: 700px) {
	.cch3-cat { padding: 48px 34px 44px; }
	.cch3-sechead--cat .cch3-sechead__rule { display: block; }
	.cch3-cat__grid { grid-template-columns: repeat(3, 1fr); gap: 28px 22px; }
	.cch3-mini__title { font-size: 18px; line-height: 1.25; }
}

/* ======================================================= desktop (mockup) */
@media (min-width: 1100px) {
	:root { --u: calc(min(100vw, 1680px) / 770); }
	.cch3-burger, .cch3-drawer { display: none !important; }
	.cch3-header__inner { height: calc(50 * var(--u)); padding: 0 calc(16 * var(--u)) calc(6 * var(--u)) calc(26 * var(--u)); max-width: 1680px; margin: 0 auto; }
	.cch3-nav { display: flex; align-items: center; }
	.cch3-nav a { font-size: max(10.5px, calc(6.4 * var(--u))); letter-spacing: .1em; line-height: 1; }
	.cch3-nav--left { gap: calc(27.5 * var(--u)); }
	.cch3-nav--right { gap: calc(17.5 * var(--u)); margin-right: calc(17 * var(--u)); }
	.cch3-header .cch3-logo { width: calc(188 * var(--u)); top: calc(50% + .5 * var(--u)); }
	.cch3-header__right { gap: 0; }
	.cch3-search-toggle { width: calc(22 * var(--u)); height: calc(22 * var(--u)); margin-right: calc(12 * var(--u)); }
	.cch3-search-toggle svg { width: max(15px, calc(11 * var(--u))); height: auto; }
	.cch3-subscribe { height: calc(22 * var(--u)); width: calc(65 * var(--u)); padding: 0; font-size: max(9px, calc(4.9 * var(--u))); letter-spacing: .15em; }

	.cch3-hero { height: calc(319 * var(--u)); min-height: 0; max-height: none; }
	/* Mockup: left-to-right dark gradient behind the copy, image clean on the right. */
	.cch3-slide__shade { background:
		linear-gradient(90deg, rgba(10, 8, 6, .68) 0%, rgba(10, 8, 6, .54) 22%, rgba(10, 8, 6, .3) 40%, rgba(10, 8, 6, .08) 55%, rgba(10, 8, 6, 0) 64%),
		linear-gradient(0deg, rgba(10, 8, 6, .22) 0%, rgba(10, 8, 6, 0) 24%); }
	.cch3-slide__copy { left: calc(41 * var(--u)); top: calc(41 * var(--u)); transform: none; width: calc(330 * var(--u)); }
	.cch3-kicker { font-weight: 600; font-size: calc(8.1 * var(--u)); letter-spacing: .2em; margin-bottom: 0 !important; line-height: calc(5 * var(--u)); }
	.cch3-hero__title { font-size: calc(51.4 * var(--u)); line-height: calc(44.4 * var(--u)); margin-top: calc(23.5 * var(--u)) !important; letter-spacing: -.004em; font-weight: 370; font-variation-settings: "opsz" 44; }
	.cch3-hero__dek { font-variation-settings: "opsz" 12; font-size: calc(13.6 * var(--u)); line-height: calc(18.2 * var(--u)); margin-top: calc(13 * var(--u)) !important; width: calc(300 * var(--u)); max-width: none; }
	.cch3-btn { height: calc(25 * var(--u)); width: calc(194 * var(--u)); padding: 0; font-weight: 600; font-size: calc(7.7 * var(--u)); letter-spacing: .14em; margin-top: calc(14 * var(--u)); }
	.cch3-hero__pager { right: calc(26 * var(--u)); bottom: calc(18 * var(--u)); gap: 0; font-size: calc(5.6 * var(--u)); }
	.cch3-hero__pager button { height: calc(18 * var(--u)); min-width: calc(16 * var(--u)); }
	.cch3-hero__prev { margin-right: calc(4 * var(--u)); }
	.cch3-hero__prev svg { width: calc(4.5 * var(--u)); height: auto; }
	.cch3-hero__next .cch3-arrow { width: calc(8 * var(--u)); }

	.cch3-ad { padding: calc(14 * var(--u)) 0 0; }
	.cch3-ad__label { font-size: max(8.5px, calc(3.6 * var(--u))); margin-bottom: calc(3 * var(--u)); }

	.cch3-picks, .cch3-band { width: calc(702 * var(--u)); margin-left: auto; margin-right: auto; }
	.cch3-picks { padding-top: calc(22 * var(--u)); }
	.cch3-sechead { gap: calc(19 * var(--u)); }
	.cch3-eyebrow { font-size: calc(7.9 * var(--u)); line-height: calc(5.6 * var(--u)); letter-spacing: .2em; }
	.cch3-sechead__title { font-size: calc(35 * var(--u)); line-height: calc(30 * var(--u)); margin-top: calc(15 * var(--u)) !important; font-weight: 410; font-variation-settings: "opsz" 36; }
	.cch3-sechead__rule { margin-bottom: calc(8 * var(--u)); }
	.cch3-sechead__more { font-weight: 600; font-size: max(9.5px, calc(6.5 * var(--u))); padding-bottom: calc(6 * var(--u)); }
	.cch3-picks__grid { grid-template-columns: 284fr 196fr 189fr; column-gap: calc(16.5 * var(--u)); margin-top: calc(18 * var(--u)); }
	.cch3-card--1 { grid-column: auto; display: block; }
	.cch3-card--1 .cch3-card__cat { margin-top: calc(10.5 * var(--u)) !important; }
	.cch3-card__media { aspect-ratio: auto; height: calc(121 * var(--u)); }
	.cch3-card--1 .cch3-card__media { height: calc(149 * var(--u)); }
	.cch3-card__cat { font-size: max(9px, calc(6.2 * var(--u))); letter-spacing: .18em; margin-top: calc(10.5 * var(--u)) !important; line-height: calc(4 * var(--u)); }
	.cch3-card__title, .cch3-card--1 .cch3-card__title { font-size: calc(17.2 * var(--u)); line-height: calc(20.4 * var(--u)); margin-top: calc(7 * var(--u)) !important; font-variation-settings: "opsz" 30; }
	.cch3-card--2 .cch3-card__title, .cch3-card--3 .cch3-card__title { font-size: calc(16.6 * var(--u)); line-height: calc(19.5 * var(--u)); }
	.cch3-card__dek { font-size: calc(11.6 * var(--u)); line-height: calc(15.4 * var(--u)); margin-top: calc(6.5 * var(--u)) !important; font-variation-settings: "opsz" 12; }
	.cch3-card__meta { font-weight: 500; font-size: max(9px, calc(6.4 * var(--u))); line-height: calc(4 * var(--u)); margin-top: calc(10 * var(--u)) !important; letter-spacing: .14em; }

	.cch3-band { margin-top: calc(17 * var(--u)); height: calc(173 * var(--u)); min-height: 0; }
	.cch3-band__copy { flex: 0 0 calc(258 * var(--u)); padding: calc(22 * var(--u)) calc(20 * var(--u)) 0 calc(26 * var(--u)); justify-content: flex-start; }
	.cch3-band__title { font-size: calc(22.4 * var(--u)); line-height: calc(24.2 * var(--u)); font-weight: 340; font-variation-settings: "opsz" 40; }
	.cch3-band__title span { display: block; }
	.cch3-band__title span + span::before { content: none; }
	.cch3-band__dek { font-size: calc(10.2 * var(--u)); line-height: calc(14.6 * var(--u)); margin-top: calc(9 * var(--u)) !important; width: calc(190 * var(--u)); font-variation-settings: "opsz" 12; max-width: none; }
	.cch3-band__cta { font-weight: 600; font-size: calc(6 * var(--u)); letter-spacing: .18em; margin-top: calc(12 * var(--u)); }


	/* category browse */
	.cch3-cats { margin-top: calc(10 * var(--u)); }
	.cch3-cat { padding: calc(28 * var(--u)) 0 calc(26 * var(--u)); }
	.cch3-cat__inner { width: calc(702 * var(--u)); margin-left: auto; margin-right: auto; }
	.cch3-sechead--cat { gap: calc(16 * var(--u)); }
	.cch3-sechead--cat .cch3-sechead__title { font-size: calc(22 * var(--u)); line-height: calc(24 * var(--u)); font-weight: 400; font-variation-settings: "opsz" 32; }
	.cch3-sechead--cat .cch3-sechead__rule { margin-bottom: calc(6 * var(--u)); }
	.cch3-sechead--cat .cch3-sechead__more { font-size: max(9.5px, calc(6.2 * var(--u))); padding-bottom: calc(5 * var(--u)); }
	.cch3-cat__grid { gap: calc(18 * var(--u)) calc(16 * var(--u)); margin-top: calc(16 * var(--u)); }
	.cch3-mini__media { aspect-ratio: auto; height: calc(92 * var(--u)); }
	.cch3-mini__title { font-size: calc(13.6 * var(--u)); line-height: calc(16.8 * var(--u)); margin-top: calc(8 * var(--u)) !important; font-variation-settings: "opsz" 24; }
	.cch3-mini__meta { font-size: max(9px, calc(5.8 * var(--u))); margin-top: calc(6 * var(--u)) !important; }

	.cch3-footer { margin-top: calc(40 * var(--u)); padding: calc(34 * var(--u)) calc(34 * var(--u)) calc(20 * var(--u)); }
	.cch3-footer__top { flex-direction: row; justify-content: space-between; width: calc(702 * var(--u)); margin: 0 auto; }
	.cch3-logo--footer { width: calc(150 * var(--u)); }
	.cch3-footer__tag { font-size: calc(10 * var(--u)); }
	.cch3-footer .cch3-subscribe { width: auto; height: calc(24 * var(--u)); padding: 0 calc(16 * var(--u)); font-size: calc(5 * var(--u)); }
	.cch3-footer__nav { width: calc(702 * var(--u)); max-width: none; margin-top: calc(22 * var(--u)); justify-content: space-between; padding: calc(14 * var(--u)) 0; font-size: max(10px, calc(5.2 * var(--u))); }
	.cch3-footer__base { width: calc(702 * var(--u)); max-width: none; margin-top: calc(14 * var(--u)); font-size: max(11px, calc(5.6 * var(--u))); }
}
