/*
Theme Name: TimesHunters
Theme URI: https://timeshunters.com/
Author: TimesHunters (Times Travel Group)
Description: Landing theme for TimesHunters — white-label travel partner recruitment. Editorial photography-led layout with earnings calculator, storefront customiser and partner application intake.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: timeshunters
*/

:root{
  --ink:#171512; --ink-2:#100E0C; --paper:#F6F3EE; --sand:#EFE9E1; --line:#E1DAD0;
  --muted:#4C463D; --muted-2:#6B6459; --mono:#8A8175; --mono-2:#A79E92;
  --accent:#B0552F; --accent-soft:#E9B08A; --dark-line:#302B24;
  --serif:'Instrument Serif',Georgia,serif; --sans:'IBM Plex Sans',system-ui,sans-serif; --code:'IBM Plex Mono',monospace;
  --max:1440px; --pad:34px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--ink)}
::selection{background:#E7D9CB}
h1,h2,h3,p,blockquote,figure{margin:0}
button,input,select,textarea{font-family:inherit}

.th-wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.th-eyebrow{font-family:var(--code);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mono)}
.th-label{font-family:var(--code);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mono)}
.th-display{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:1.02}
.th-display em{font-style:italic;color:var(--accent)}
.th-lede{font-size:17px;line-height:1.6;color:var(--muted);text-wrap:pretty}

.th-btn{display:inline-flex;align-items:center;gap:12px;padding:18px 32px;border:none;border-radius:2px;background:var(--accent);color:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:background .18s,color .18s}
.th-btn:hover{background:var(--paper);color:var(--ink)}
.th-btn--ghost{background:transparent;border:1px solid rgba(246,243,238,.45);color:var(--paper)}
.th-btn--ghost:hover{background:rgba(246,243,238,.12);border-color:var(--paper);color:var(--paper)}
.th-btn--sm{padding:12px 20px;font-size:13px;background:var(--paper);color:var(--ink)}
.th-btn--sm:hover{background:var(--accent);color:#fff}

/* ---------- hero ---------- */
.th-hero{position:relative;min-height:720px;display:flex;flex-direction:column}
.th-hero__img,.th-hero__veil{position:absolute;inset:0;width:100%;height:100%}
.th-hero__img{object-fit:cover}
.th-hero__veil{background:linear-gradient(180deg,rgba(15,13,11,.72) 0%,rgba(15,13,11,.34) 38%,rgba(15,13,11,.82) 100%)}
.th-head{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px var(--pad)}
.th-brand{display:flex;align-items:baseline;gap:10px;color:var(--paper)}
.th-brand__logo{height:58px;width:auto}
.th-brand__name{font-family:var(--serif);font-size:26px;letter-spacing:-.01em}
.th-brand__sub{font-family:var(--code);font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.65}
.th-nav{display:flex;gap:26px;font-size:14px;white-space:nowrap}
.th-nav a{color:rgba(246,243,238,.82)}
.th-nav a:hover{color:#fff}
.th-hero__body{position:relative;z-index:3;flex:1;display:flex;align-items:center;padding:72px var(--pad) 0}
.th-hero__inner{max-width:900px;color:var(--paper)}
.th-hero__flag{display:flex;align-items:center;gap:12px;font-family:var(--code);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(246,243,238,.75)}
.th-dot{width:6px;height:6px;border-radius:50%;background:#7FCBAE}
.th-hero h1{margin-top:24px;font-family:var(--serif);font-weight:400;font-size:92px;line-height:.94;letter-spacing:-.03em}
.th-hero h1 em{font-style:italic;color:var(--accent-soft)}
.th-hero__copy{margin-top:28px;max-width:34em;font-size:19px;line-height:1.55;color:rgba(246,243,238,.86);text-wrap:pretty}
.th-cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.th-ticker{position:relative;z-index:3;display:flex;flex-wrap:wrap;align-items:center;column-gap:40px;row-gap:10px;margin-top:64px;padding:26px var(--pad) 30px;border-top:1px solid rgba(246,243,238,.18);font-family:var(--code);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,243,238,.72)}
.th-ticker i{font-style:normal;opacity:.35}

/* ---------- pillars ---------- */
.th-section{padding:104px 0}
.th-section--tight{padding:96px 0}
.th-section--sand{background:var(--sand);border-top:1px solid var(--line)}
.th-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px}
.th-card__media{position:relative;height:300px;overflow:hidden}
.th-card__media img{width:100%;height:100%;object-fit:cover}
.th-tag{position:absolute;left:16px;bottom:16px;padding:7px 12px;background:rgba(15,13,11,.72);color:var(--paper);font-family:var(--code);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.th-card h3{margin:22px 0 8px;font-family:var(--serif);font-weight:400;font-size:30px;letter-spacing:-.015em}
.th-card p{font-size:16px;line-height:1.6;color:var(--muted)}

/* ---------- split (platform) ---------- */
.th-split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.th-split__media{position:relative;min-height:620px}
.th-split__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.th-split__body{background:var(--ink);color:var(--paper);padding:88px 64px}
.th-split__body h2{font-family:var(--serif);font-weight:400;font-size:54px;line-height:1.02;letter-spacing:-.025em;margin-top:20px}
.th-split__body h2 em{font-style:italic;color:var(--accent-soft)}
.th-split__body p{margin-top:20px;max-width:30em;font-size:17px;line-height:1.6;color:var(--mono-2)}
.th-list{margin-top:40px;border-top:1px solid var(--dark-line)}
.th-list__row{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid var(--dark-line)}
.th-list__num{font-family:var(--code);font-size:11px;color:var(--accent-soft);padding-top:4px}
.th-list__t{font-size:17px;font-weight:600}
.th-list__b{font-size:15px;color:var(--mono-2);margin-top:4px}

/* ---------- group ---------- */
.th-two{display:grid;grid-template-columns:1fr .85fr;gap:64px;align-items:center}
.th-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 40px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.th-fact__n{font-family:var(--serif);font-size:34px;line-height:1}
.th-fact__l{font-family:var(--code);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mono);margin-top:6px}
.th-airlines{display:flex;flex-wrap:wrap;column-gap:26px;row-gap:8px;margin-top:14px;font-size:15px;color:var(--muted)}
.th-figure{position:relative;height:560px}
.th-figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.th-figure__note{position:absolute;left:20px;bottom:20px;max-width:300px;padding:14px 18px;background:rgba(15,13,11,.78);color:var(--paper)}
.th-figure__note div+div{font-size:14px;line-height:1.5;margin-top:8px}

/* ---------- earnings ---------- */
.th-headrow{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:44px;border-bottom:1px solid var(--line)}
.th-headrow h2{font-family:var(--serif);font-weight:400;font-size:62px;line-height:1;letter-spacing:-.03em;max-width:20em}
.th-headrow h2 em{font-style:italic;color:var(--accent)}
.th-headrow p{max-width:24em;font-size:16px;line-height:1.6;color:var(--muted-2)}
.th-earn{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;margin-top:52px;align-items:start}
.th-table{width:100%;border-collapse:collapse;font-size:15px}
.th-table th{font-family:var(--code);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mono);text-align:left;font-weight:400;padding:0 0 14px}
.th-table th.is-us{color:var(--accent)}
.th-table td{padding:20px 16px 20px 0;color:var(--muted-2);border-top:1px solid var(--line)}
.th-table td:first-child{font-weight:600;color:var(--ink)}
.th-table td:last-child{padding-right:0;color:var(--accent);font-weight:600}
.th-calc{background:var(--ink);color:var(--paper);padding:32px}
.th-calc__amount{font-family:var(--serif);font-size:56px;line-height:1;margin-top:8px}
.th-calc__hint{margin-top:26px;font-size:13px;color:var(--mono-2)}
.th-calc input[type=range]{-webkit-appearance:none;appearance:none;width:100%;background:transparent;margin:26px 0 8px;height:22px}
.th-calc input[type=range]::-webkit-slider-runnable-track{height:2px;background:var(--muted)}
.th-calc input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-10px;border-radius:50%;background:var(--paper);cursor:grab}
.th-calc input[type=range]::-moz-range-track{height:2px;background:var(--muted)}
.th-calc input[type=range]::-moz-range-thumb{width:22px;height:22px;border:none;border-radius:50%;background:var(--paper);cursor:grab}
.th-calc__ends{display:flex;justify-content:space-between;font-family:var(--code);font-size:10px;color:var(--muted-2)}
.th-calc__row{display:flex;align-items:baseline;justify-content:space-between;margin-top:30px;padding-bottom:16px;border-bottom:1px solid var(--dark-line)}
.th-calc__row span:first-child{font-size:14px;color:var(--mono-2)}
.th-calc__row b{font-family:var(--serif);font-weight:400;font-size:28px;color:var(--mono-2)}
.th-calc__row--hero{margin-top:18px;padding-bottom:0;border:none}
.th-calc__row--hero span:first-child{color:var(--paper)}
.th-calc__row--hero b{font-size:40px;color:var(--accent-soft)}
.th-calc__delta{margin-top:26px;padding:16px 18px;background:#1C1915;font-size:14px;line-height:1.5;color:#C9BFB1;font-style:italic}
.th-calc__rate-label{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--mono-2);margin-top:22px}
.th-calc__rate-label b{font-family:var(--serif);font-weight:400;font-size:20px;color:var(--accent-soft)}

/* ---------- quote ---------- */
.th-quote{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:.42fr 1fr;gap:56px;align-items:center;padding:0 var(--pad)}
.th-quote__media{position:relative;height:380px}
.th-quote__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.th-quote blockquote{font-family:var(--serif);font-size:40px;line-height:1.18;letter-spacing:-.02em;text-wrap:pretty}
.th-quote__who{margin-top:28px;font-size:15px;font-weight:600}
.th-quote__meta{font-family:var(--code);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mono);margin-top:6px}

/* ---------- stories (testimonials grid) ---------- */
.th-stories__head{max-width:760px}
.th-stories{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:56px}
.th-story{background:#fff;border:1px solid var(--line);padding:34px 30px;display:flex;flex-direction:column}
.th-story blockquote{font-family:var(--serif);font-size:25px;line-height:1.22;letter-spacing:-.015em;color:var(--ink)}
.th-story p{margin-top:16px;font-size:15px;line-height:1.6;color:var(--muted)}
.th-story__who{display:flex;align-items:center;gap:14px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.th-story__who img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.th-story__name{font-size:14px;font-weight:600;color:var(--ink)}
.th-story__role{font-family:var(--code);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mono);margin-top:3px}

/* ---------- storefront ---------- */
.th-store{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.th-store h2{font-family:var(--serif);font-weight:400;font-size:54px;line-height:1.02;letter-spacing:-.025em;margin-top:20px}
.th-store h2 em{font-style:italic;color:var(--accent)}
.th-panel{margin-top:34px;padding:26px;background:#fff;border:1px solid var(--line);max-width:420px}
.th-panel input[type=text]{width:100%;margin-top:10px;padding:12px 14px;border:1px solid #C9BFB1;background:#FDFCFA;font-size:16px;color:var(--ink);border-radius:2px}
.th-swatches{display:flex;gap:10px;margin-top:12px}
.th-swatch{width:34px;height:34px;border-radius:50%;cursor:pointer;padding:0;border:2px solid transparent}
.th-swatch[aria-pressed=true]{border-color:var(--ink)}
.th-preview{width:380px;margin:0 auto;background:#fff;border:1px solid var(--line);box-shadow:0 40px 70px -40px rgba(23,21,18,.35)}
.th-preview__bar{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--sand)}
.th-preview__brand{font-family:var(--serif);font-size:21px;color:var(--accent)}
.th-preview img{width:100%;height:210px;object-fit:cover}
.th-preview__body{padding:20px}
.th-preview__title{font-family:var(--serif);font-size:27px;line-height:1.1}
.th-preview__sub{font-size:13px;color:var(--muted-2);margin-top:6px}
.th-preview__price{display:flex;align-items:baseline;justify-content:space-between;margin-top:18px;padding-top:16px;border-top:1px solid var(--sand)}
.th-preview__price b{font-family:var(--serif);font-weight:400;font-size:25px}
.th-preview__btn{width:100%;margin-top:16px;padding:14px;border:none;border-radius:2px;cursor:pointer;font-size:14px;font-weight:500;color:#fff;background:var(--accent)}
.th-store__cta{display:inline-flex;margin-top:24px;font-family:var(--code);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.th-store__cta:hover{color:var(--ink)}

/* ---------- destinations ---------- */
.th-dest{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:48px}
.th-dest a{position:relative;display:block;height:340px;overflow:hidden;color:#fff}
.th-dest a:nth-child(n+5){height:300px}
.th-dest img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.th-dest a:hover img{transform:scale(1.04)}
.th-dest__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,13,11,0) 45%,rgba(15,13,11,.7) 100%)}
.th-dest__cap{position:absolute;left:16px;right:16px;bottom:14px}
.th-dest__cap b{display:block;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.1}
.th-dest__cap span{font-family:var(--code);font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.8;margin-top:4px;display:block}

/* ---------- steps ---------- */
.th-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.th-steps img{width:100%;height:200px;object-fit:cover}
.th-step__head{display:flex;align-items:baseline;gap:12px;margin-top:20px}
.th-step__n{font-family:var(--serif);font-size:32px;color:var(--accent);line-height:1}
.th-step__head h3{font-size:19px;font-weight:600}
.th-steps p{margin-top:10px;font-size:15px;line-height:1.6;color:var(--muted)}
.th-step__when{font-family:var(--code);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mono);margin-top:12px}

/* ---------- FAQ ---------- */
.th-faq{display:grid;grid-template-columns:repeat(2,1fr);gap:36px 56px;margin-top:8px}
.th-faq__item h3{font-family:var(--serif);font-weight:400;font-size:23px;line-height:1.2;letter-spacing:-.01em;color:var(--ink)}
.th-faq__item p{margin-top:10px;font-size:15px;line-height:1.6;color:var(--muted)}

/* ---------- newsletter band ---------- */
.th-news{background:var(--ink-2);color:var(--paper)}
.th-news__inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;padding:64px var(--pad)}
.th-news__inner h3{margin-top:12px;font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.15;letter-spacing:-.015em;max-width:16em}
.th-news__form{display:flex;gap:10px;flex-wrap:wrap}
.th-news__form input[type=email]{padding:15px 18px;min-width:260px;border:1px solid rgba(246,243,238,.25);background:rgba(246,243,238,.06);color:var(--paper);font-size:15px;border-radius:2px}
.th-news__form input[type=email]::placeholder{color:#8A8175}
.th-news__form button{padding:15px 26px;border:none;border-radius:2px;background:var(--accent);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .18s,color .18s}
.th-news__form button:hover{background:var(--paper);color:var(--ink)}

/* ---------- intake ---------- */
.th-intake{position:relative;padding:112px 0}
.th-intake__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.th-intake__veil{position:absolute;inset:0;background:rgba(15,13,11,.78)}
.th-intake__grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:start;color:var(--paper)}
.th-intake h2{margin-top:22px;font-family:var(--serif);font-weight:400;font-size:76px;line-height:.98;letter-spacing:-.03em}
.th-intake h2 em{font-style:italic;color:var(--accent-soft)}
.th-intake__copy{margin-top:26px;max-width:30em;font-size:17px;line-height:1.6;color:rgba(246,243,238,.8)}
.th-crit{margin-top:18px;border-top:1px solid rgba(246,243,238,.18)}
.th-crit__row{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid rgba(246,243,238,.18)}
.th-crit__n{font-family:var(--code);font-size:11px;color:var(--accent-soft);padding-top:3px}
.th-crit__t{font-size:15px;font-weight:600}
.th-crit__b{font-size:14px;line-height:1.5;color:rgba(246,243,238,.68);margin-top:3px}
.th-crit__not{margin-top:20px;font-size:14px;line-height:1.6;color:rgba(246,243,238,.6)}
.th-form{background:rgba(16,14,12,.86);border:1px solid rgba(246,243,238,.18);padding:34px}
.th-form__top{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.th-form__top span:last-child{color:var(--accent-soft)}
.th-form__note{margin-top:14px;font-size:13px;line-height:1.55;color:var(--mono-2)}
.th-fields{display:grid;gap:16px;margin-top:22px}
.th-form input[type=text],.th-form input[type=email],.th-form select,.th-form textarea{width:100%;padding:14px 16px;background:rgba(246,243,238,.06);border:1px solid rgba(246,243,238,.2);color:var(--paper);font-size:15px;line-height:1.5;border-radius:2px}
.th-form textarea{resize:vertical;margin-top:10px}
.th-form ::placeholder{color:#8A8175}
.th-form label.th-inline{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px;color:#C9BFB1}
.th-form label.th-check{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.5;color:var(--mono-2);cursor:pointer}
.th-form input[type=checkbox]{width:16px;height:16px;margin:3px 0 0;accent-color:var(--accent)}
.th-count{font-family:var(--code);font-size:10px;color:var(--mono)}
.th-form__submit{width:100%;margin-top:22px;padding:17px;justify-content:center}
.th-form__small{margin-top:16px;font-size:12px;line-height:1.5;color:var(--mono)}

/* ---------- footer ---------- */
.th-foot{padding:56px var(--pad);max-width:var(--max);margin:0 auto}
.th-foot__top{display:flex;flex-wrap:wrap;gap:48px;justify-content:space-between}
.th-foot__col{flex:1 1 320px;max-width:480px}
.th-foot__col--end{display:flex;flex-direction:column;align-items:flex-start;gap:22px;max-width:none;flex:0 0 auto}
.th-foot__logo{height:46px;width:auto}
.th-foot p{margin-top:14px;max-width:34em;font-size:14px;line-height:1.6;color:var(--muted-2)}
.th-foot__badges{display:flex;gap:14px;margin-top:20px;align-items:center}
.th-foot__badges img{height:32px;width:auto}
.th-foot__links{display:flex;flex-wrap:wrap;gap:26px;font-family:var(--code);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.th-foot__links a{color:var(--muted-2)}
.th-foot__social{display:flex;gap:16px}
.th-foot__social a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;color:var(--muted-2);transition:background .16s,color .16s,border-color .16s}
.th-foot__social a:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.th-foot__note{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);font-size:12px;line-height:1.5;color:var(--mono)}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .th-hero h1{font-size:64px}
  .th-intake h2{font-size:56px}
  .th-grid-3,.th-dest,.th-steps,.th-stories,.th-faq{grid-template-columns:repeat(2,1fr)}
  .th-split,.th-two,.th-earn,.th-store,.th-quote,.th-intake__grid{grid-template-columns:1fr;gap:40px}
  .th-split__media,.th-figure{min-height:380px;height:380px}
  .th-split__body{padding:56px 34px}
  .th-headrow h2{font-size:46px}
  .th-nav{display:none}
  .th-foot__col--end{align-items:flex-start}
}
@media (max-width:640px){
  :root{--pad:20px}
  .th-hero{min-height:640px}
  .th-hero h1{font-size:44px}
  .th-hero__copy{font-size:17px}
  .th-display,.th-split__body h2,.th-store h2{font-size:36px!important}
  .th-headrow h2,.th-intake h2{font-size:38px}
  .th-quote blockquote{font-size:26px}
  .th-grid-3,.th-dest,.th-steps,.th-stories,.th-faq{grid-template-columns:1fr}
  .th-preview{width:100%}
  .th-table thead{display:none}
  .th-table td{display:block;border-top:none;padding:4px 0}
  .th-table tr{display:block;padding:16px 0;border-top:1px solid var(--line)}
  .th-news__inner{padding:48px var(--pad)}
  .th-news__form{width:100%}
  .th-news__form input[type=email]{flex:1;min-width:0}
}

/* =========================================================================
   JOURNAL — blog index, single posts, archives, search, 404
   Uses the same tokens as the landing page: --ink, --paper, --sand, --line,
   --accent, --serif, --sans, --code.
   ========================================================================= */

.th-skip{position:absolute;left:-9999px;top:0;z-index:100;padding:14px 20px;background:var(--ink);color:var(--paper);font-family:var(--code);font-size:12px}
.th-skip:focus{left:12px;top:12px;color:var(--paper)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- interior header bar ---------- */
.th-bar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:32px;
  max-width:var(--max);margin:0 auto;padding:20px var(--pad);background:var(--paper);border-bottom:1px solid var(--line)}
body.th-interior{background:var(--paper)}
.th-bar .th-brand{display:flex;flex-direction:column;gap:2px;line-height:1.1}
.th-bar .th-brand__logo{height:44px}
.th-bar .th-brand__name{font-family:var(--serif);font-size:25px;color:var(--ink);letter-spacing:-.01em}
.th-bar .th-brand__sub{font-family:var(--code);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mono)}
.th-bar__nav{display:flex;gap:28px;font-family:var(--code);font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.th-bar__nav a{color:var(--muted-2);padding-bottom:3px;border-bottom:1px solid transparent;transition:color .16s,border-color .16s}
.th-bar__nav a:hover{color:var(--ink)}
.th-bar__nav a.is-current{color:var(--ink);border-bottom-color:var(--accent)}
.th-btn--bar{background:var(--ink);color:var(--paper);white-space:nowrap}
.th-btn--bar:hover{background:var(--accent);color:#fff}

/* ---------- journal masthead ---------- */
.th-jhead{display:grid;grid-template-columns:1.35fr .65fr;gap:64px;align-items:end;padding-top:88px;padding-bottom:56px}
.th-jhead__title{font-size:76px;margin-top:16px}
.th-jhead__lede{margin-top:22px;max-width:34em}
.th-jhead__lede p{margin:0 0 12px}
.th-jhead__tools{display:flex;flex-direction:column;gap:20px;padding-bottom:8px}

.th-search{display:flex;border:1px solid var(--line);background:#fff}
.th-search__input{flex:1;min-width:0;padding:14px 16px;border:none;background:transparent;font-size:14px;color:var(--ink);outline:none}
.th-search__input::placeholder{color:var(--mono)}
.th-search__input:focus{outline:2px solid var(--accent);outline-offset:-2px}
.th-search__btn{padding:0 20px;border:none;border-left:1px solid var(--line);background:var(--sand);
  font-family:var(--code);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:background .16s,color .16s}
.th-search__btn:hover{background:var(--accent);color:#fff}

.th-chips{display:flex;flex-wrap:wrap;gap:8px}
.th-chip{padding:8px 14px;border:1px solid var(--line);background:transparent;
  font-family:var(--code);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted-2);transition:background .16s,color .16s,border-color .16s}
.th-chip:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}

/* ---------- lead story ---------- */
.th-feature{display:grid;grid-template-columns:1.15fr .85fr;align-items:stretch;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--sand)}
.th-feature__media{display:block;position:relative;overflow:hidden;min-height:540px}
.th-feature__media .th-card__media{position:absolute;inset:0;height:100%}
.th-feature__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.th-feature__media:hover img{transform:scale(1.03)}
.th-feature__body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:72px 64px;gap:0}
.th-feature__title{margin:18px 0 0;font-family:var(--serif);font-weight:400;font-size:54px;line-height:1.04;letter-spacing:-.025em}
.th-feature__title a{color:var(--ink)}
.th-feature__title a:hover{color:var(--accent)}
.th-feature__ex{margin:22px 0 0;font-size:17px;line-height:1.62;color:var(--muted);max-width:32em;text-wrap:pretty}
.th-feature .th-meta{margin-top:26px}

.th-more{display:inline-flex;align-items:center;gap:8px;margin-top:28px;padding-bottom:4px;border-bottom:1px solid var(--accent);
  font-family:var(--code);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.th-more:hover{color:var(--accent)}

/* ---------- byline ---------- */
.th-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-family:var(--code);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mono)}
.th-meta a{color:var(--mono)}
.th-meta a:hover{color:var(--accent)}
.th-meta__cat{color:var(--accent)!important}
.th-meta__dot,.th-pcard__dot{color:var(--mono-2)}

/* ---------- post cards ---------- */
.th-headrow .th-display{font-size:44px}
.th-pcard{display:flex;flex-direction:column}
.th-pcard__media{display:block}
.th-pcard .th-card__media{height:260px}
.th-pcard .th-card__media img{transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.th-pcard__media:hover .th-card__media img{transform:scale(1.04)}
.th-pcard__title{margin:22px 0 0;font-family:var(--serif);font-weight:400;font-size:29px;line-height:1.1;letter-spacing:-.015em}
.th-pcard__title a{color:var(--ink)}
.th-pcard__title a:hover{color:var(--accent)}
.th-pcard__ex{margin:12px 0 0;font-size:15px;line-height:1.6;color:var(--muted)}
.th-pcard__meta{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;font-family:var(--code);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mono)}

/* placeholder media when a post has no featured image */
.th-card__media--blank{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  background:linear-gradient(150deg,var(--sand) 0%,#E6DED3 100%);border:1px solid var(--line)}
.th-blank__mark{font-family:var(--serif);font-size:56px;line-height:1;color:var(--accent);opacity:.5}
.th-blank__word{font-family:var(--code);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--mono)}

/* ---------- pagination ---------- */
.th-pag{display:flex;flex-wrap:wrap;gap:8px;margin-top:64px;padding-top:32px;border-top:1px solid var(--line);
  font-family:var(--code);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.th-pag .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;border:1px solid var(--line);color:var(--muted-2);transition:background .16s,color .16s,border-color .16s}
.th-pag a.page-numbers:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.th-pag .page-numbers.current{background:var(--accent);border-color:var(--accent);color:#fff}
.th-pag .page-numbers.dots{border-color:transparent}
.th-pag--pages{margin-top:40px}

/* ---------- archive / search / 404 masthead ---------- */
.th-ahead{padding-top:80px;padding-bottom:8px}
.th-ahead__title{font-size:64px;margin-top:14px;max-width:16em}
.th-ahead__title em{font-style:italic;color:var(--accent)}
.th-ahead__desc{margin-top:20px;max-width:34em}
.th-ahead__count{margin-top:22px;font-family:var(--code);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mono)}
.th-ahead__count a{color:var(--accent)}
.th-ahead__search{margin-top:28px;max-width:440px}
.th-404__links{margin-top:26px}
.th-empty{padding-top:24px;padding-bottom:8px}
.th-empty .th-display{font-size:48px}
.th-empty .th-lede{margin:18px 0 30px;max-width:32em}

/* ---------- single post ---------- */
.th-phead{padding-top:72px;text-align:center}
.th-phead__cat{display:flex;justify-content:center;gap:10px}
.th-phead__cat a{color:var(--mono)}
.th-phead__cat a:hover{color:var(--accent)}
.th-phead__title{font-size:66px;margin:20px auto 0;max-width:15em}
.th-phead__stand{margin:24px auto 0;max-width:34em;font-size:19px}
.th-phead .th-meta{justify-content:center;margin-top:28px}

.th-phero{margin:56px 0 0}
.th-phero img{width:100%;max-height:640px;object-fit:cover}
.th-phero__cap{max-width:var(--max);margin:12px auto 0;padding:0 var(--pad);font-family:var(--code);font-size:11px;letter-spacing:.06em;color:var(--mono)}

/* ---------- prose ---------- */
.th-prose{max-width:44em;margin:64px auto 0;font-size:19px;line-height:1.72;color:#2A2621;text-wrap:pretty}
.th-prose > *:first-child{margin-top:0}
.th-prose p{margin:0 0 1.35em}
.th-prose h2{margin:2.1em 0 .55em;font-family:var(--serif);font-weight:400;font-size:38px;line-height:1.12;letter-spacing:-.02em;color:var(--ink)}
.th-prose h3{margin:1.9em 0 .5em;font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.2;color:var(--ink)}
.th-prose h4{margin:1.8em 0 .5em;font-family:var(--code);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mono)}
.th-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.th-prose a:hover{color:var(--ink)}
.th-prose strong{font-weight:600;color:var(--ink)}
.th-prose ul,.th-prose ol{margin:0 0 1.35em;padding-left:1.3em}
.th-prose li{margin-bottom:.55em}
.th-prose li::marker{color:var(--accent)}
.th-prose blockquote{margin:2em 0;padding:4px 0 4px 32px;border-left:2px solid var(--accent);
  font-family:var(--serif);font-size:29px;line-height:1.3;letter-spacing:-.015em;color:var(--ink)}
.th-prose blockquote p{margin:0 0 .4em}
.th-prose blockquote cite{display:block;margin-top:14px;font-family:var(--code);font-size:11px;font-style:normal;letter-spacing:.13em;text-transform:uppercase;color:var(--mono)}
.th-prose figure{margin:2.4em 0}
.th-prose img{width:100%;height:auto}
.th-prose figcaption{margin-top:12px;font-family:var(--code);font-size:11px;letter-spacing:.06em;line-height:1.5;color:var(--mono)}
.th-prose hr{margin:3em auto;width:64px;border:none;border-top:1px solid var(--accent)}
.th-prose code{font-family:var(--code);font-size:.86em;padding:2px 6px;background:var(--sand);border:1px solid var(--line)}
.th-prose pre{margin:2em 0;padding:24px;overflow-x:auto;background:var(--ink);color:#E4DED4;font-family:var(--code);font-size:14px;line-height:1.6}
.th-prose pre code{padding:0;background:none;border:none;color:inherit}
.th-prose table{width:100%;margin:2em 0;border-collapse:collapse;font-size:15px}
.th-prose th{padding:12px 14px;border-bottom:1px solid var(--ink);text-align:left;font-family:var(--code);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mono)}
.th-prose td{padding:14px;border-bottom:1px solid var(--line);vertical-align:top}
.th-prose .alignwide{width:min(100vw - (var(--pad) * 2), 1100px);max-width:none;margin-left:50%;transform:translateX(-50%)}
.th-prose .alignfull{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%)}
.th-prose .wp-block-pullquote{border-left:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0;text-align:center}

.th-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}

/* ---------- prev / next ---------- */
.th-adjacent{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:72px;padding-top:36px;border-top:1px solid var(--line)}
.th-adjacent__side--end{text-align:right}
.th-adjacent__link{display:inline-block;margin-top:10px;font-family:var(--serif);font-size:26px;line-height:1.15;letter-spacing:-.015em;color:var(--ink)}
.th-adjacent__link:hover{color:var(--accent)}

.th-related{padding-top:88px}
.th-related .th-headrow{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap}

/* ---------- closing CTA ---------- */
.th-cta{margin-top:96px;background:var(--ink-2);color:var(--paper)}
.th-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:48px;flex-wrap:wrap;padding:84px var(--pad)}
.th-cta__label{color:var(--mono-2)}
.th-cta__title{margin-top:16px;font-size:52px;color:var(--paper)}
.th-cta__title em{font-style:italic;color:var(--accent-soft)}
.th-cta__body{margin-top:18px;max-width:32em;font-size:17px;line-height:1.6;color:var(--mono-2)}
.th-cta .th-btn:hover{background:var(--paper);color:var(--ink)}

/* ---------- journal responsive ---------- */
@media (max-width:1100px){
  .th-jhead{grid-template-columns:1fr;gap:36px;align-items:start;padding-top:64px}
  .th-jhead__title{font-size:60px}
  .th-jhead__tools{flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px}
  .th-jhead__tools .th-search{flex:1 1 320px}
  .th-feature{grid-template-columns:1fr}
  .th-feature__media{min-height:380px}
  .th-feature__body{padding:52px 34px}
  .th-feature__title{font-size:42px}
  .th-phead__title{font-size:52px}
  .th-ahead__title{font-size:52px}
  .th-bar__nav{display:none}
  .th-cta__title{font-size:42px}
}
@media (max-width:640px){
  .th-bar{padding:16px var(--pad);gap:12px}
  .th-bar .th-brand__name{font-size:21px}
  .th-btn--bar{padding:10px 14px;font-size:11px}
  .th-jhead__title{font-size:42px}
  .th-jhead{padding-top:48px;padding-bottom:36px}
  .th-feature__title{font-size:33px}
  .th-feature__body{padding:40px 20px}
  .th-phead{padding-top:52px}
  .th-phead__title{font-size:36px}
  .th-phead__stand{font-size:17px}
  .th-phero{margin-top:36px}
  .th-prose{margin-top:44px;font-size:17px}
  .th-prose h2{font-size:29px}
  .th-prose h3{font-size:23px}
  .th-prose blockquote{font-size:23px;padding-left:20px}
  .th-ahead__title,.th-empty .th-display{font-size:36px}
  .th-adjacent{grid-template-columns:1fr;gap:26px}
  .th-adjacent__side--end{text-align:left}
  .th-adjacent__link{font-size:22px}
  .th-cta__inner{padding:56px var(--pad)}
  .th-cta__title{font-size:34px}
  .th-headrow .th-display{font-size:32px}
}

/* ---------- layout correction ----------
   .th-section / .th-section--tight use the `padding` shorthand, which wipes
   the horizontal padding .th-wrap sets when both classes sit on one element
   (as they do on the front page). Re-asserting it here, last, keeps every
   section inside the gutter on narrow screens.
   ------------------------------------------------------------------------ */
.th-wrap{padding-left:var(--pad);padding-right:var(--pad)}
