/*
Theme Name: CLB Luxe
Theme URI: https://citylifebytes.com/
Author: CityLifeBytes
Description: A fast, mobile-first editorial magazine theme for CityLifeBytes. Classic PHP theme, no build step, no jQuery: one stylesheet, one small deferred script, real responsive images, reserved ad slots (zero layout shift) and clean semantic HTML. Yoast SEO owns titles, meta and structured data.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: clb-luxe
Tags: news, blog, custom-logo, custom-menu, featured-images, translation-ready
*/

/* ---------------------------------------------------------------- 1. Fonts (self-hosted, SIL OFL 1.1) */
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 900;font-display:swap;src:url(assets/fonts/playfair-display-latin-var.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(assets/fonts/inter-latin-var.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(assets/fonts/inter-latin-var-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Metric-matched fallbacks (width ratios measured against the real fonts): text keeps almost the same
   width - and therefore the same line breaks - before and after the web font swaps in. */
@font-face{font-family:"Playfair Fallback";font-weight:400 549;src:local("Times New Roman");size-adjust:111.4%}
@font-face{font-family:"Playfair Fallback";font-weight:550 900;src:local("Times New Roman Bold"),local("TimesNewRomanPS-BoldMT");size-adjust:106%}
@font-face{font-family:"Playfair Fallback Droid";font-weight:400 549;src:local("Noto Serif");size-adjust:95%}
@font-face{font-family:"Playfair Fallback Droid";font-weight:550 900;src:local("Noto Serif Bold"),local("NotoSerif-Bold");size-adjust:90.4%}
@font-face{font-family:"Inter Fallback";src:local("Roboto"),local("Arial"),local("Helvetica Neue");size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%}

/* ---------------------------------------------------------------- 2. Tokens */
:root{
	--ink:#111;--ink-2:#3b3a38;--muted:#6b6963;--line:#e7e2d8;--line-2:#cfc8ba;
	--paper:#fff;--tint:#f8f6f1;
	--gold:#a8894f;      /* rules, borders, large accents */
	--gold-ink:#856830;  /* small accent text: 5.2:1 on white */
	--serif:"Playfair Display","Playfair Fallback","Playfair Fallback Droid",Georgia,"Times New Roman",serif;
	--sans:Inter,"Inter Fallback",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
	--pad:16px;--topbar-h:36px;--mast-h:60px;--nav-h:47px;
}
@media (min-width:768px){:root{--pad:24px}}
@media (min-width:960px){:root{--mast-h:104px}}

/* ---------------------------------------------------------------- 3. Base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:break-word}
h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--serif);font-weight:600;line-height:1.2}
/* Balanced line breaks only for the few display headlines: balancing every card title costs real layout time on phones. */
.card--lead .card__title,.archive-head__title,.page-entry__title,.prose .wp-block-pullquote p{text-wrap:balance}
p{margin:0 0 1em}
a{color:inherit;text-decoration:none}
img,svg,video,iframe,embed,object{max-width:100%}
img{height:auto;border:0}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
ul,ol{margin:0;padding:0}
figure{margin:0}
:focus-visible{outline:2px solid var(--gold-ink);outline-offset:3px}
::selection{background:#eadfc8;color:var(--ink)}
[hidden]{display:none!important}
.icon{display:block;flex:none}
.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;padding:12px 18px;background:var(--ink);color:#fff;font:600 .8125rem/1 var(--sans);letter-spacing:.06em}
.skip-link:focus{top:12px}
.wrap{width:100%;max-width:1248px;margin-inline:auto;padding-inline:var(--pad)}
.wrap--narrow{max-width:808px}
.site-main{display:block;min-height:50vh}

/* Small caps label: category names, kickers */
.label,.archive-head__kicker,.author-box__kicker{display:inline-block;margin:0 0 .65rem;font:600 .6875rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
a.label:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;border:1px solid var(--ink);background:none;font:600 .6875rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;transition:background-color .2s,color .2s}
.btn:hover{background:var(--ink);color:#fff}
.more-row{margin:36px 0 0;text-align:center}
.more-link{display:inline-flex;align-items:center;gap:8px;font:600 .6875rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
.more-link:hover{color:var(--ink)}
.icon-btn{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none;color:var(--ink);cursor:pointer}
.icon-btn:hover{color:var(--gold-ink)}
.empty-note{margin:32px 0;font:400 1.15rem/1.6 var(--serif);color:var(--ink-2)}

/* ---------------------------------------------------------------- 4. Header */
.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line)}
.topbar{display:none;height:var(--topbar-h);background:var(--ink);color:#d9d4c9;font:500 .6875rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.topbar__in{display:flex;align-items:center;justify-content:space-between;height:100%}
.topbar__date{margin:0}
.topbar__menu{display:flex;gap:26px;list-style:none}
.topbar a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.masthead__in{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;height:var(--mast-h)}
.wordmark{margin:0;font:600 clamp(1.02rem,5.3vw,1.4rem)/1 var(--serif);letter-spacing:.17em;text-transform:uppercase;text-align:center;white-space:nowrap;text-indent:.17em}
.wordmark a{display:inline-block;padding:6px 0}
.wordmark__img{display:block;width:auto;max-height:calc(var(--mast-h) - 20px);margin-inline:auto}
.menu-toggle{margin-left:-10px}
.search-toggle{margin-right:-10px;grid-column:3;justify-self:end}

/* Phone/tablet: navigation is a slide-in drawer */
.site-nav{position:fixed;inset:0 auto 0 0;z-index:70;display:flex;flex-direction:column;width:min(86vw,340px);padding-bottom:32px;overflow-y:auto;overscroll-behavior:contain;background:var(--paper);box-shadow:0 0 48px rgba(0,0,0,.2);transform:translateX(-105%);visibility:hidden;transition:transform .28s ease,visibility 0s linear .28s}
.menu-open .site-nav{transform:none;visibility:visible;transition:transform .28s ease}
.menu-open,.search-open{overflow:hidden}
.backdrop{position:fixed;inset:0;z-index:60;background:rgba(17,17,17,.55)}
.site-nav__head{display:flex;align-items:center;justify-content:space-between;height:var(--mast-h);padding:0 8px 0 24px;border-bottom:1px solid var(--line)}
.site-nav__title{margin:0;font:600 .6875rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.site-nav__list,.site-nav__extra{list-style:none}
.site-nav__brand,.site-nav__search{display:none}
.site-nav__list a{display:block;padding:17px 24px;border-bottom:1px solid var(--line);font:500 1.35rem/1.2 var(--serif)}
.site-nav__list a:hover,.site-nav__list .current-menu-item>a,.site-nav__list .current-post-ancestor>a{color:var(--gold-ink)}
.site-nav__extra{display:flex;flex-wrap:wrap;gap:6px 22px;padding:24px 24px 0}
.site-nav__extra a{font:500 .75rem/2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.site-nav__extra a:hover{color:var(--ink)}

@media (min-width:960px){
	/* Only the navigation row stays pinned: the header sticks with a negative offset. */
	.site-header{top:calc(-1*(var(--topbar-h) + var(--mast-h)));border-bottom:0}
	.admin-bar .site-header{top:calc(32px - (var(--topbar-h) + var(--mast-h)))}
	.topbar{display:block}
	.masthead__in{grid-template-columns:1fr auto 1fr}
	.wordmark{grid-column:2;font-size:2.7rem;font-weight:500;letter-spacing:.2em;text-indent:.2em}
	.menu-toggle,.site-nav__head,.site-nav__extra,.backdrop{display:none}
	.site-nav{position:static;display:block;width:auto;height:var(--nav-h);padding:0;overflow:visible;box-shadow:none;transform:none;visibility:visible;transition:none;border-block:1px solid var(--line)}
	.site-nav__list{display:flex;justify-content:center;flex-wrap:wrap;height:100%;overflow:hidden}
	.site-nav__list a{padding:0 19px;border:0;font:500 .75rem/calc(var(--nav-h) - 2px) var(--sans);letter-spacing:.15em;text-transform:uppercase;box-shadow:inset 0 0 0 var(--gold);transition:color .2s,box-shadow .2s}
	.site-nav__list a:hover,.site-nav__list .current-menu-item>a,.site-nav__list .current-post-ancestor>a{color:var(--ink);box-shadow:inset 0 -2px 0 var(--gold)}
}
@media (min-width:1280px){
	/* Compact brand + search fade in once the masthead has scrolled away (absolutely placed: no layout shift). */
	.site-nav{position:relative}
	.site-nav__brand,.site-nav__search{position:absolute;top:0;display:flex;align-items:center;height:100%;opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s linear .25s}
	.site-nav__brand{left:max(var(--pad),calc(50% - 600px));font:600 1.02rem/1 var(--serif);letter-spacing:.17em;text-transform:uppercase}
	.site-nav__search{right:max(calc(var(--pad) - 10px),calc(50% - 610px));width:44px;justify-content:center}
	.is-stuck .site-nav__brand,.is-stuck .site-nav__search{opacity:1;visibility:visible;transition:opacity .25s}
}

/* Search overlay */
.search-panel{position:fixed;inset:0;z-index:80;padding-top:clamp(84px,18vh,180px);background:var(--paper)}
.search-panel__in{display:flex;align-items:center;gap:8px;max-width:860px}
.search-form{display:flex;flex:1;min-width:0;border-bottom:2px solid var(--ink);transition:border-color .2s}
.search-form:focus-within{border-color:var(--gold)}
.search-form__field{flex:1;min-width:0;padding:12px 0;border:0;border-radius:0;outline:0;background:none;font:400 clamp(1.2rem,4.4vw,2rem)/1.3 var(--serif);-webkit-appearance:none;appearance:none}
.search-form__field::placeholder{color:#8d8a83;opacity:1}
.search-form__submit{padding:0 2px 0 16px;border:0;background:none;font:600 .6875rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.search-form__submit:hover{color:var(--gold-ink)}

/* ---------------------------------------------------------------- 5. Cards */
.media{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;background:var(--tint)}
.media__img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.6,.2,1)}
.media__img.is-portrait{object-position:50% 18%}
.card:hover .media__img{transform:scale(1.035)}
.media__ph{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,#f6f3ec,#ebe5d8);color:rgba(168,137,79,.5);font:500 clamp(2rem,8vw,4rem)/1 var(--serif)}
.card{min-width:0}
.card__body{min-width:0}
.card__title{font-size:1.0625rem;line-height:1.3;letter-spacing:-.003em}
.card__title a{background:linear-gradient(var(--gold),var(--gold)) no-repeat 0 100%/0 1px;transition:background-size .35s,color .2s}
.card__title a:hover{color:#000;background-size:100% 1px}
.card__dek{margin:.7rem 0 0;color:var(--ink-2);font-size:.9375rem;line-height:1.6}
.card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;margin:.75rem 0 0;font-size:.75rem;line-height:1.4;color:var(--muted);letter-spacing:.02em}
.card__meta a{color:var(--ink-2);font-weight:500}
.card__meta a:hover{color:var(--gold-ink)}
.card__meta .sep{color:var(--line-2)}

.card--stack .card__body{padding-top:14px}
.card--stack .card__title a,.card--mini .card__title a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}

.card--lead .card__body,.card--feature .card__body{padding-top:20px}
.card--lead .card__title{font-size:clamp(1.7rem,1.2rem + 2.3vw,2.55rem);font-weight:500;line-height:1.13;letter-spacing:-.015em}
.card--feature .card__title{font-size:clamp(1.45rem,1.15rem + 1.3vw,2rem);font-weight:500;line-height:1.17;letter-spacing:-.01em}
.card--lead .card__dek,.card--feature .card__dek{font-size:1rem;max-width:62ch}
.card--lead .card__media{margin-inline:calc(var(--pad)*-1)}

.card--row{display:grid;grid-template-columns:38% minmax(0,1fr);gap:16px;align-items:start;padding:22px 0;border-top:1px solid var(--line)}
.card--row .label{margin-bottom:.4rem}
.card--row .card__dek{display:none}
.river>.card--row:first-child{border-top:0;padding-top:0}
.river>.card--feature{padding-bottom:28px}

.card--mini{display:grid;grid-template-columns:minmax(0,1fr) 30%;gap:16px;align-items:start;padding:18px 0;border-top:1px solid var(--line)}
.card--mini .card__media{order:2}
.card--mini .card__title{font-size:1rem}
.card--mini .card__meta{margin-top:.5rem}

.card--text{position:relative;padding:16px 0 16px 46px}
.card--text .card__rank{position:absolute;left:0;top:13px;font:500 1.6rem/1 var(--serif);color:var(--gold)}
.card--text .label{margin-bottom:.3rem;font-size:.625rem}
.card--text .card__title{font-size:1rem;line-height:1.32}

@media (min-width:600px){
	.card--row{grid-template-columns:240px minmax(0,1fr);gap:24px;padding:26px 0}
	.card--row .card__title{font-size:1.3rem;line-height:1.24}
	.card--row .card__dek{display:block}
	.card--mini{grid-template-columns:minmax(0,1fr) 150px}
	.card--lead .card__media{margin-inline:0}
}
@media (min-width:768px){
	.card--row{grid-template-columns:300px minmax(0,1fr);gap:28px}
	.card--row .card__title{font-size:1.45rem}
	.card__title{font-size:1.125rem}
}

/* ---------------------------------------------------------------- 6. Home: hero, layout, river, sidebar, sections */
.hero{padding-top:0;padding-bottom:8px}
.hero__side{display:grid;grid-template-columns:1fr 1fr;gap:26px 16px;margin-top:30px;padding-top:30px;border-top:1px solid var(--line)}
.hero__side .card__title{font-size:1rem}
@media (min-width:600px){.hero{padding-top:28px}.hero__side{gap:32px 24px}}
@media (min-width:1024px){
	.hero{display:grid;grid-template-columns:minmax(0,1.52fr) minmax(0,1fr);gap:44px;padding-top:36px}
	.hero__side{margin:0;padding:0 0 0 44px;border-top:0;border-left:1px solid var(--line);grid-template-rows:auto 1fr auto;gap:28px 26px}
	.hero__side::before{content:"";grid-column:1/-1;grid-row:2;align-self:center;height:1px;background:var(--line)}
	.hero__side .card:nth-child(n+3){grid-row:3}
	.hero__side .media{aspect-ratio:4/3}
	.card--lead .card__body{text-align:center;padding-inline:4%}
	.card--lead .card__dek{margin-inline:auto}
	.card--lead .card__meta{justify-content:center}
}

.layout{padding-top:48px}
.layout--article{padding-top:0}
.layout__main{min-width:0}
.sidebar{display:none}
@media (min-width:1024px){
	.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:72px;padding-top:64px}
	.layout--article{grid-template-columns:minmax(0,780px) 300px;justify-content:space-between;gap:56px}
	.layout--article .sidebar{padding-top:40px}
	.sidebar{display:flex;flex-direction:column;gap:44px}
	.sidebar__seg{flex:1 1 auto}
	.sidebar__box.is-sticky{position:sticky;top:calc(var(--nav-h) + 28px)}
	.admin-bar .sidebar__box.is-sticky{top:calc(var(--nav-h) + 60px)}
	.sidebar__box>*+*{margin-top:40px}
}

.section-head{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:26px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.section-head::after{content:"";position:absolute;left:0;bottom:-1px;width:64px;height:2px;background:var(--gold)}
.section-head__title{font-size:clamp(1.55rem,1.3rem + 1.1vw,2.05rem);font-weight:500;letter-spacing:-.01em}
.section-head__more{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font:600 .6875rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.section-head__more:hover,.section-head__title a:hover{color:var(--gold-ink)}
.section-head__more .icon{transition:transform .2s}
.section-head__more:hover .icon{transform:translateX(3px)}

.side-title{position:relative;margin-bottom:6px;padding-bottom:12px;border-bottom:1px solid var(--line);font:600 .75rem/1.2 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.side-title::after{content:"";position:absolute;left:0;bottom:-1px;width:40px;height:2px;background:var(--gold)}
.trending__list{list-style:none}
.trending__list li+li{border-top:1px solid var(--line)}

.section{padding-block:52px}
.section--tint,.related{background:var(--tint)}
.site-main--home>.layout{padding-bottom:28px}
.section--feature .section__body{display:grid;gap:8px}
.section--feature .section__list .card--mini:first-child{border-top:0}
.section--grid .section__body{display:grid;grid-template-columns:1fr 1fr;gap:28px 16px}
@media (min-width:600px){.section--grid .section__body{gap:36px 24px}}
@media (min-width:900px){
	.section{padding-block:68px}
	.section--feature .section__body{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:60px;align-items:start}
	.section--feature .section__list .card--mini:first-child{padding-top:0}
	.section--feature .card--mini{grid-template-columns:minmax(0,1fr) 190px;gap:24px;padding:22px 0}
	.section--feature .card--mini .card__title{font-size:1.2rem;line-height:1.28}
	.section--flip .section__feature{order:2}
	.section--grid .section__body{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
}

/* ---------------------------------------------------------------- 7. Archives, search, 404, pagination */
.archive-head{padding-top:36px;padding-bottom:30px;text-align:center;border-bottom:1px solid var(--line)}
.archive-head .breadcrumb ol{justify-content:center}
.archive-head__kicker{margin-bottom:.5rem}
.archive-head__title{font-size:clamp(2.1rem,1.5rem + 2.8vw,3.4rem);font-weight:500;line-height:1.08;letter-spacing:-.015em}
.archive-head__desc{max-width:62ch;margin:16px auto 0;color:var(--ink-2)}
.archive-head__desc p:last-child{margin-bottom:0}
.archive-head__page{margin:12px 0 0;font:500 .75rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.archive-head .avatar{margin:0 auto 14px}
.archive-head--search .search-form{max-width:580px;margin:26px auto 0}
.archive-head--search .search-form__field{font-size:1.25rem}
.site-main--archive .layout{padding-top:36px}
.site-main--404 .section-head{margin-top:48px}
.archive-head+.wrap>.empty-note{text-align:center;margin:40px auto;max-width:60ch}

.pagination ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:44px 0 0;list-style:none}
.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border:1px solid var(--line);font:500 .8125rem/1 var(--sans);letter-spacing:.04em;transition:border-color .2s}
a.page-numbers:hover{border-color:var(--ink)}
.page-numbers.current{background:var(--ink);border-color:var(--ink);color:#fff}
.page-numbers.dots{border-color:transparent}
.page-numbers.prev,.page-numbers.next{letter-spacing:.14em;text-transform:uppercase;font-size:.6875rem;font-weight:600}

/* ---------------------------------------------------------------- 8. Article */
.breadcrumb ol{display:flex;flex-wrap:wrap;margin:0 0 18px;list-style:none;font:500 .6875rem/1.5 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.breadcrumb li+li::before{content:"/";margin:0 .7em;color:var(--line-2)}
.breadcrumb a:hover{color:var(--ink)}
.entry__header{padding-top:26px;margin-bottom:24px}
.entry__header .label{margin-bottom:.55rem}
.entry__title{margin:0 0 16px;font-size:clamp(1.65rem,1.05rem + 2.6vw,3rem);font-weight:500;line-height:1.12;letter-spacing:-.016em;text-wrap:pretty}
.entry__dek{margin:0 0 20px;font:400 clamp(1.1rem,1rem + .5vw,1.3rem)/1.5 var(--serif);color:var(--ink-2)}
.entry__meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 20px;padding-top:15px;border-top:1px solid var(--line);font-size:.8125rem;line-height:1.5;color:var(--muted)}
.entry__author a{color:var(--ink);font-weight:600}
.entry__author a:hover{color:var(--gold-ink)}
.entry__dates{display:flex;flex-wrap:wrap;gap:2px 0}
.entry__dates>span{white-space:nowrap}
.entry__dates>span:not(:last-child)::after{content:"\00b7";margin:0 .6em;color:var(--line-2)}
.entry__figure{margin:0 calc(var(--pad)*-1) 30px}
.entry__img{display:block;max-width:100%;height:auto;margin-inline:auto}
.entry__figure--portrait{background:var(--tint)}
.entry__figure--portrait .entry__img{width:auto;max-height:min(80vh,680px)}
.entry__credit{padding:9px var(--pad) 0;font-size:.75rem;line-height:1.5;color:var(--muted);text-align:right}
.entry__credit a{text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.entry__credit a:hover{color:var(--ink)}
@media (min-width:600px){.entry__header{padding-top:40px}.entry__figure{margin-inline:0}.entry__credit{padding-inline:0}}

/* Prose: Gutenberg core blocks used by the posts (paragraph, heading, image, list, quote, pullquote, table, gallery, embed ...) */
.prose{font-size:1.0625rem;line-height:1.75;color:#1b1b1a}
.prose>*{max-width:664px}
.prose>figure,.prose>.wp-block-image,.prose>.wp-block-gallery,.prose>.wp-block-table,.prose>.wp-block-embed,.prose>.wp-block-pullquote,.prose>.wp-block-columns,.prose>.wp-block-video,.prose>.ad,.prose>.alignwide,.prose>.alignfull{max-width:none}
.prose p,.prose ul,.prose ol,.prose dl,.prose pre,.prose table{margin:0 0 1.45em}
.prose h2,.prose h3,.prose h4{margin:1.9em 0 .65em}
.prose h2{font-size:1.65rem;line-height:1.2;letter-spacing:-.01em}
.prose h3{font-size:1.38rem;line-height:1.25}
.prose h4{font:700 1rem/1.4 var(--sans);letter-spacing:.04em;text-transform:uppercase}
.prose>:first-child{margin-top:0}
.prose a{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color .2s}
.prose a:hover{color:var(--gold-ink)}
.prose strong,.prose b{font-weight:650}
.prose ul,.prose ol{padding-left:1.35em}
.prose li{margin-bottom:.55em;padding-left:.2em}
.prose li::marker{color:var(--gold-ink);font-weight:600}
.prose>.wp-block-spacer:first-child{display:none}
.prose>p:first-child::first-letter,.prose>.wp-block-spacer:first-child+p::first-letter,.prose .has-drop-cap::first-letter{float:left;margin:.07em .11em 0 0;font:500 4.35em/.78 var(--serif);color:var(--ink);text-transform:uppercase}
.prose blockquote{margin:2em 0;padding:2px 0 2px 24px;border-left:2px solid var(--gold);font:400 1.3rem/1.5 var(--serif);color:var(--ink)}
.prose blockquote p{margin-bottom:.7em}
.prose blockquote p:last-of-type{margin-bottom:0}
.prose cite,.prose blockquote footer{display:block;margin-top:14px;font:600 .6875rem/1.5 var(--sans);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.prose .wp-block-pullquote{margin:2.4em 0;padding:30px 0;border-block:1px solid var(--line);text-align:center}
.prose .wp-block-pullquote blockquote{margin:0 auto;padding:0;border:0;max-width:30em;font-size:clamp(1.4rem,1.2rem + 1vw,1.75rem);line-height:1.35}
.prose figure{margin:2.2em 0}
.prose figure img,.prose p img{display:block;height:auto}
.prose .aligncenter img,.prose .wp-block-gallery img{margin-inline:auto}
.prose figcaption,.prose .wp-caption-text{margin-top:10px;font-size:.8125rem;line-height:1.55;color:var(--muted)}
.prose .wp-caption{max-width:100%}
.prose hr,.prose .wp-block-separator{width:88px;height:1px;margin:2.6em auto;border:0;background:var(--gold)}
.prose table{width:100%;border-collapse:collapse;font-size:.9375rem;line-height:1.5}
.prose th,.prose td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.prose thead th{border-bottom:1px solid var(--ink);font:600 .6875rem/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.prose .wp-block-table{overflow-x:auto}
.prose .wp-block-table table{margin:0;min-width:480px}
.prose pre,.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875em}
.prose pre{padding:18px;overflow-x:auto;background:var(--tint)}
.prose iframe{display:block;width:100%;border:0}
.prose .wp-block-embed__wrapper{position:relative}
.prose .wp-has-aspect-ratio .wp-block-embed__wrapper{aspect-ratio:16/9}
.prose .wp-embed-aspect-4-3 .wp-block-embed__wrapper{aspect-ratio:4/3}
.prose .wp-embed-aspect-1-1 .wp-block-embed__wrapper{aspect-ratio:1}
.prose .wp-embed-aspect-9-16 .wp-block-embed__wrapper{aspect-ratio:9/16;max-width:360px;margin-inline:auto}
.prose .wp-has-aspect-ratio iframe{position:absolute;inset:0;height:100%}
.prose .wp-block-video video,.prose .wp-block-audio audio{display:block;width:100%}
.prose .wp-block-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.prose .wp-block-gallery figure{margin:0}
.prose .wp-block-gallery img{width:100%;height:100%;object-fit:cover}
.prose .wp-block-gallery figcaption{grid-column:1/-1}
.prose .wp-block-columns{display:grid;gap:24px}
.prose .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 1.45em}
.prose .wp-block-button__link{display:inline-block;padding:13px 26px;background:var(--ink);color:#fff;text-decoration:none;font:600 .6875rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.prose .wp-block-button__link:hover{background:var(--gold-ink);color:#fff}
.prose details{margin:0 0 1.45em;padding:14px 18px;border:1px solid var(--line)}
.prose summary{cursor:pointer;font-weight:600}
.has-text-align-center{text-align:center}
.has-text-align-right{text-align:right}
.has-small-font-size{font-size:.875em}
.has-large-font-size{font-size:1.3em;line-height:1.5}
.has-x-large-font-size,.has-huge-font-size{font-size:1.7em;line-height:1.3}
.aligncenter{display:block;margin-inline:auto;text-align:center}
@media (min-width:600px){
	.prose .alignleft{float:left;max-width:46%;margin:.4em 28px 1em 0}
	.prose .alignright{float:right;max-width:46%;margin:.4em 0 1em 28px}
	.prose .wp-block-gallery.columns-3,.prose .wp-block-gallery.columns-default{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:700px){.prose .wp-block-columns{grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}}
@media (min-width:768px){.prose{font-size:1.125rem}.prose h2{font-size:1.9rem}.prose h3{font-size:1.5rem}}
.prose::after,.entry__content::after{content:"";display:table;clear:both}
.page-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:2em 0 0;font:600 .75rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.page-links__label{margin-right:8px;color:var(--muted)}
.page-links .post-page-numbers{display:inline-grid;place-items:center;min-width:40px;height:40px;border:1px solid var(--line);text-decoration:none}
.page-links .post-page-numbers.current{background:var(--ink);border-color:var(--ink);color:#fff}

/* Article furniture */
.entry__footer{max-width:780px}
.sources{margin-top:44px;padding:24px 24px 22px;background:var(--tint);border-top:2px solid var(--gold)}
.sources__title,.tags__title,.share__title{margin:0;font:600 .6875rem/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.sources__title{margin-bottom:14px}
.sources__list{list-style:none;font-size:.9375rem;line-height:1.5}
.sources__list li{padding:9px 0;border-top:1px solid var(--line)}
.sources__list li:first-child{border-top:0;padding-top:0}
.sources__list a{font-weight:500;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1.5px;text-underline-offset:3px}
.sources__list a:hover{color:var(--gold-ink)}
.sources__type{display:inline-block;margin-left:8px;font:500 .625rem/1.6 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.sources__note{margin:14px 0 0;padding-top:14px;border-top:1px solid var(--line-2);font-size:.8125rem;line-height:1.55;color:var(--muted)}
.sources__note a{color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}
.sources__note a:hover{color:var(--ink)}
.tags,.share{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:30px}
.tags__title,.share__title{flex:none;min-width:64px;color:var(--muted)}
.tags__list,.share__list{display:flex;flex-wrap:wrap;gap:8px;list-style:none}
.tags__list a,.share__list a,.share__list button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 14px;border:1px solid var(--line-2);border-radius:0;background:none;font:500 .75rem/1 var(--sans);letter-spacing:.06em;transition:border-color .2s,background-color .2s,color .2s}
.tags__list a:hover,.share__list a:hover,.share__list button:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.share__copy.is-done{border-color:var(--gold-ink);color:var(--gold-ink)}
.author-box{display:flex;gap:20px;align-items:flex-start;margin-top:40px;padding:28px 0;border-block:1px solid var(--line)}
.avatar{display:grid;place-items:center;flex:none;width:64px;height:64px;border:1px solid var(--gold);border-radius:50%;font:500 1.25rem/1 var(--serif);letter-spacing:.06em;color:var(--gold-ink);background:var(--paper)}
.author-box__kicker{margin-bottom:.2rem;color:var(--muted)}
.author-box__name{margin-bottom:8px;font-size:1.35rem;font-weight:500}
.author-box__name a:hover{color:var(--gold-ink)}
.author-box__bio{margin-bottom:10px;font-size:.9375rem;color:var(--ink-2)}
.author-box+.ad{margin-top:0;border-top:0}
.related{margin-top:64px;padding-block:56px 64px}
.related__grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 16px}
@media (min-width:768px){.related__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 32px}.related__grid .card__title{font-size:1.2rem}}
.post-nav{display:grid;gap:0;margin-top:0;border-bottom:1px solid var(--line)}
.post-nav__link{display:block;padding:26px 0}
.post-nav__link+.post-nav__link{border-top:1px solid var(--line)}
.post-nav__dir{display:block;margin-bottom:8px;font:600 .6875rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink)}
.post-nav__title{display:block;font:500 1.1rem/1.35 var(--serif)}
.post-nav__link:hover .post-nav__title{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
@media (min-width:768px){
	.post-nav{grid-template-columns:1fr 1fr}
	.post-nav__link{padding:34px 40px 34px 0}
	.post-nav__link+.post-nav__link{border-top:0}
	.post-nav__link--next{grid-column:2;padding:34px 0 34px 40px;border-left:1px solid var(--line);text-align:right}
}

/* Plain pages */
.page-entry{padding-top:40px;padding-bottom:24px}
.page-entry__header{margin-bottom:34px;padding-bottom:26px;text-align:center;border-bottom:1px solid var(--line);position:relative}
.page-entry__header::after{content:"";position:absolute;left:50%;bottom:-1px;width:64px;height:2px;margin-left:-32px;background:var(--gold)}
.page-entry__title{font-size:clamp(2.1rem,1.5rem + 2.8vw,3.2rem);font-weight:500;line-height:1.1;letter-spacing:-.015em}
.page-entry .prose>*{margin-inline:auto}
.page-entry .prose>p:first-child::first-letter,.page-entry .prose>.wp-block-spacer:first-child+p::first-letter{float:none;margin:0;font:inherit;text-transform:none}

/* ---------------------------------------------------------------- 9. Ads: labelled, height reserved per format and breakpoint => no layout shift */
.ad{--ad-h:280px;display:flex;flex-direction:column;align-items:center;clear:both;margin:38px 0;padding:12px 0 16px;border-block:1px solid var(--line);overflow:hidden;text-align:center}
.ad__label{display:block;margin-bottom:10px;font:500 .625rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.ad__unit{display:block;width:100%;min-height:var(--ad-h);max-width:100%}
.ad--f-300x250{--ad-h:250px}
.ad--f-horizontal,.ad--f-728x90{--ad-h:90px}
.ad--f-vertical,.ad--f-300x600{--ad-h:600px}
.ad--f-320x100{--ad-h:100px}
.ad--f-320x50,.ad--f-300x50{--ad-h:50px}
.ad:has(ins[data-ad-status="unfilled"]){display:none}
.leaderboard{display:none}
.leaderboard .ad,.sidebar .ad{margin:0;padding:0;border:0}
.pre-footer .ad{margin:56px 0 0}
.river>.ad{margin:0;padding:22px 0;border-bottom:0}
@media (max-width:767px){
	.ad--f-auto{--ad-h:300px}
	.ad--f-horizontal{--ad-h:100px}
	.prose>.ad,.river>.ad,.entry__footer>.ad{margin-inline:calc(var(--pad)*-1)}
}
@media (min-width:768px){.leaderboard{display:block;padding-top:22px}}
.ad__ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:repeating-linear-gradient(135deg,#efefef 0 12px,#e7e7e7 12px 24px);color:#4a4a4a;font:500 .75rem/1.3 var(--sans);letter-spacing:.04em}
.ad__ph b{font-weight:600;letter-spacing:.08em;text-transform:uppercase}

/* ---------------------------------------------------------------- 10. Footer */
.site-footer{margin-top:72px;background:#111;color:#cbc6bb;font-size:.9375rem;line-height:1.65}
.site-main--home+.site-footer{margin-top:0}
.pre-footer+.site-footer{margin-top:56px}
.site-footer__grid{display:grid;gap:40px;padding-top:56px;padding-bottom:44px}
.wordmark--footer{margin-bottom:18px;color:#fff;font-size:1.35rem;font-weight:500;text-align:left;text-indent:0}
.site-footer__about{max-width:44ch;margin:0;color:#a9a499}
.site-footer__title{margin-bottom:18px;font:600 .6875rem/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.site-footer__menu{display:grid;gap:11px;list-style:none}
.site-footer__menu--cols{grid-template-columns:1fr 1fr;column-gap:24px}
.site-footer a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.site-footer__bottom{border-top:1px solid #2b2b2b;font-size:.8125rem;color:#a09b90}
.site-footer__bottom-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-block:22px}
.site-footer__bottom p{margin:0}
.to-top{letter-spacing:.12em;text-transform:uppercase;font-size:.6875rem;font-weight:600}
@media (min-width:768px){.site-footer__grid{grid-template-columns:1.5fr 1.2fr .8fr;gap:72px;padding-top:68px}}

/* Widgets (optional sidebar area) */
.widget{font-size:.9375rem}
.widget ul{list-style:none}
.widget li{padding:8px 0;border-top:1px solid var(--line)}

/* ---------------------------------------------------------------- 11. Motion + print */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{
	.site-header,.search-panel,.leaderboard,.sidebar,.ad,.share,.related,.post-nav,.site-footer,.skip-link{display:none!important}
	body{color:#000}.layout{display:block}.prose a{text-decoration:none}
}
