/*
Theme Name: Texas Ranch Journal
Theme URI: https://texasranchjournal.com/
Author: Texas Ranch Journal
Author URI: https://texasranchjournal.com/
Description: Heritage, land & the Texas ranching lifestyle. A classic/hybrid magazine theme for Texas Ranch Journal — current issue hub, hunting with live seasons, real estate & live TRS listings, farming, food & drink, featured artist, sponsors, and account-based subscriptions. Brand-tokened via theme.json.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.5
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: trj
Tags: magazine, news, custom-logo, custom-menu, featured-images, two-columns, right-sidebar, editor-style
*/

/* ============================================================
   Brand tokens also live in theme.json so they are editable in
   Appearance > Editor > Styles. Keep the two in sync.
   ============================================================ */
:root{
    --orange:#f75735;
    --orange-deep:#d8401c;
    --grad:linear-gradient(140deg,#f3743f 0%,#f15735 46%,#aa3018 100%);
    --grad-deep:linear-gradient(140deg,#ee5e35 0%,#d8401c 48%,#7f2417 100%);
    --brown:#241a12;
    --brown-2:#30231a;
    --ink:#241a12;
    --ink-soft:#6a5c4c;
    --paper:#f6f1e7;
    --card:#ffffff;
    --cream:#efe7d8;
    --line:#e4ddcc;
    --line-d:rgba(239,231,216,.16);
    --disp:"Fraunces",Georgia,serif;
    --ui:"Archivo",system-ui,sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--paper);color:var(--ink);font-family:var(--ui);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{max-width:1280px;margin:0 auto;padding:0 40px}
  .kick{font-family:var(--ui);text-transform:uppercase;letter-spacing:.18em;font-weight:600;font-size:12px;color:var(--orange)}

  /* ---------- UTILITY BAR ---------- */
  .util{background:var(--brown);color:var(--cream);font-size:12px}
  .util .wrap{display:flex;justify-content:space-between;align-items:center;height:40px}
  .util .tag{font-family:var(--ui);text-transform:uppercase;letter-spacing:.2em;opacity:.8}
  .util .right{display:flex;align-items:center;gap:18px}
  .util .socials{display:flex;gap:14px}
  .util .socials a{opacity:.7;transition:.2s;display:flex}
  .util .socials a:hover{opacity:1;color:var(--orange)}
  .util .socials svg{width:15px;height:15px;fill:currentColor}
  .util .acct{font-family:var(--ui);text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--orange)}

  /* ---------- NAV ---------- */
  header.nav{position:sticky;top:0;z-index:300;background:var(--brown);border-bottom:1px solid var(--line-d)}
  header.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:84px}
  .logo img{height:42px;width:auto}
  nav.links{display:flex;gap:34px;font-family:var(--ui);text-transform:uppercase;letter-spacing:.13em;font-size:14px;font-weight:600;color:var(--cream)}
  nav.links a{position:relative;padding:6px 0;display:flex;align-items:center;gap:5px;opacity:.92}
  nav.links a:hover{color:var(--orange);opacity:1}
  nav.links .car{font-size:9px;opacity:.6}
  .sub-btn{font-family:var(--ui);text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:12px;background:var(--grad);color:#fff;padding:12px 22px;border-radius:1px;transition:.2s;border:1px solid transparent}
  .sub-btn:hover{background:var(--grad-deep)}
  .burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer}
  .burger span{width:26px;height:2px;background:var(--cream);display:block}

  /* ---------- BUTTONS (sleek, squared, letter-spaced) ---------- */
  .btn{display:inline-flex;align-items:center;gap:11px;font-family:var(--ui);text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:13px;padding:16px 30px;border-radius:1px;cursor:pointer;transition:.25s;border:1px solid transparent;background:var(--grad);color:#fff}
  .btn .ar{transition:transform .25s}
  .btn:hover{background:var(--grad-deep)}
  .btn:hover .ar{transform:translateX(5px)}
  .btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
  .btn.ghost:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
  .btn.ghost-light{background:transparent;color:var(--cream);border-color:rgba(239,231,216,.5)}
  .btn.ghost-light:hover{background:var(--orange);border-color:var(--orange);color:#fff}
  .btn.block{width:100%;justify-content:center}

  /* ---------- MASTHEAD ---------- */
  .masthead{text-align:center;padding:54px 0 30px}
  .masthead .rule{display:flex;align-items:center;justify-content:center;gap:20px;color:var(--ink-soft)}
  .masthead .rule .l{height:1px;background:var(--line);flex:1;max-width:280px}
  .masthead .rule .k{font-family:var(--ui);text-transform:uppercase;letter-spacing:.4em;font-size:12px;font-weight:600;white-space:nowrap}
  .masthead h1{font-family:var(--disp);font-weight:600;font-size:clamp(40px,8vw,98px);line-height:.9;letter-spacing:-.02em;margin:16px 0 18px}
  .masthead h1 em{font-style:italic;color:var(--orange);font-weight:500}

  /* ---------- SECTION HEADS ---------- */
  section.block{padding:64px 0}
  .sec-title{display:flex;align-items:center;gap:16px;margin-bottom:34px}
  .sec-title h2{font-family:var(--ui);text-transform:uppercase;letter-spacing:.04em;font-weight:800;font-size:clamp(24px,3vw,34px);color:var(--ink)}
  .sec-title .bar{flex:1;height:2px;background:var(--line)}
  .sec-title .tick{width:14px;height:14px;background:var(--orange);border-radius:2px;transform:rotate(45deg)}
  .sec-title a.more{font-family:var(--ui);text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:13px;color:var(--orange);white-space:nowrap}
  .sec-title a.more:hover{color:var(--orange-deep)}

  .center{text-align:center;margin-top:44px}

  /* ---------- IMAGE PLACEHOLDERS (your real article photos drop in here) ---------- */
  .ph{position:relative;overflow:hidden;background:#3a2a1a}
  .ph::before{content:"";position:absolute;inset:0;background:
    radial-gradient(110% 75% at 72% 16%, rgba(255,196,120,.65), transparent 52%),
    linear-gradient(180deg,#cda75e 0%,#b07f3c 34%,#7a5530 56%,#33220f 100%)}
  .ph::after{content:"";position:absolute;left:-10%;right:-10%;bottom:0;height:42%;background:
    radial-gradient(60% 100% at 30% 100%, rgba(20,12,6,.9),transparent 70%),
    radial-gradient(70% 100% at 80% 100%, rgba(20,12,6,.85),transparent 72%)}
  .ph.dusk::before{background:radial-gradient(110% 80% at 28% 14%,rgba(247,87,53,.7),transparent 55%),linear-gradient(180deg,#5a2e44 0%,#7a3a32 38%,#4a2a1c 62%,#241410 100%)}
  .ph.green::before{background:radial-gradient(120% 70% at 70% 12%,rgba(255,225,150,.5),transparent 55%),linear-gradient(180deg,#9fb06a 0%,#6f8242 40%,#3f5226 65%,#22300f 100%)}
  .ph.water::before{background:radial-gradient(110% 70% at 60% 16%,rgba(180,220,255,.55),transparent 52%),linear-gradient(180deg,#8fb9d6 0%,#5d86a3 38%,#3d5a54 62%,#22301f 100%)}
  .ph.night::before{background:radial-gradient(90% 70% at 75% 22%,rgba(247,140,80,.5),transparent 55%),linear-gradient(180deg,#2a2438 0%,#34283a 40%,#2a1c20 70%,#15100c 100%)}
  .ph .lbl{position:absolute;left:12px;bottom:10px;z-index:2;font-family:var(--ui);text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:700;color:rgba(255,255,255,.78)}

  /* ---------- CURRENT ISSUE ---------- */
  .issue-wrap{display:flex;gap:36px}
  .issue-cover{flex:0 0 300px}
  .cover-card{border-radius:6px;overflow:hidden;box-shadow:0 24px 50px -20px rgba(36,26,18,.55);background:var(--cream);aspect-ratio:3/3.9;display:flex;flex-direction:column;position:relative}
  .cover-card .mast{padding:22px 20px 10px;text-align:center}
  .cover-card .mast .t{font-family:var(--disp);font-weight:600;font-size:26px;line-height:.95;letter-spacing:.02em;color:#2a1c12}
  .cover-card .mast .j{font-family:var(--disp);font-style:italic;font-weight:500;font-size:30px;color:var(--orange);margin-top:-2px}
  .cover-card .scene{flex:1;position:relative}
  .cover-card .foot{position:absolute;left:0;right:0;bottom:0;padding:14px;text-align:center;color:#fff;font-family:var(--ui);text-transform:uppercase;letter-spacing:.22em;font-weight:700;font-size:12px;background:linear-gradient(0deg,rgba(20,12,6,.85),transparent)}
  .issue-cover .caption{text-align:center;margin-top:14px;font-family:var(--ui);text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:700;color:var(--ink-soft)}
  .issue-list{flex:1;border-left:2px solid var(--orange);padding-left:36px}
  .feature-row{display:flex;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}
  .feature-row:first-of-type{padding-top:0}
  .feature-row .thumb{flex:0 0 210px;height:140px;border-radius:5px}
  .feature-row .meta h3{font-family:var(--disp);font-weight:600;font-size:23px;line-height:1.12;margin:8px 0;letter-spacing:-.01em;transition:color .2s}
  .feature-row:hover .meta h3{color:var(--orange)}
  .feature-row .by{font-family:var(--ui);font-size:13px;color:var(--ink-soft);font-weight:600;margin-bottom:8px}
  .feature-row .ex{font-size:15px;color:var(--ink-soft);line-height:1.5}

  /* ---------- AD SLOTS ---------- */
  .ad{margin:8px auto;text-align:center}
  .ad .adlbl{font-family:var(--ui);text-transform:uppercase;letter-spacing:.25em;font-size:9px;color:#b9ad99;margin-bottom:6px}
  .ad-leader{max-width:728px}
  .ad-leader .slot{height:90px;border-radius:4px;background:linear-gradient(100deg,#1b1b1b,#2c2c2c);display:flex;align-items:center;justify-content:space-between;padding:0 24px;color:#e9e2d4;overflow:hidden}
  .ad-leader .slot .l{font-family:var(--disp);font-weight:700;font-size:20px;letter-spacing:.02em}
  .ad-leader .slot .l small{display:block;font-family:var(--ui);font-weight:600;font-size:10px;letter-spacing:.2em;color:#cdbf4a;text-transform:uppercase}
  .ad-leader .slot .b{font-family:var(--ui);font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #cdbf4a;color:#cdbf4a;padding:7px 14px;border-radius:3px}

  /* ---------- HUNTING ---------- */
  .hunt-wrap{display:flex;gap:36px}
  .hunt-main{flex:0 0 68%}
  .card-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
  .card{background:var(--card);border-radius:7px;overflow:hidden;box-shadow:0 14px 30px -22px rgba(36,26,18,.5);transition:transform .3s,box-shadow .3s}
  .card:hover{transform:translateY(-5px);box-shadow:0 26px 44px -24px rgba(36,26,18,.6)}
  .card .img{height:190px}
  .card .pad{padding:18px 20px 22px}
  .card .cat{font-family:var(--ui);text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--ink-soft)}
  .card h3{font-family:var(--disp);font-weight:600;font-size:21px;line-height:1.14;margin:9px 0 11px;letter-spacing:-.01em;transition:color .2s}
  .card:hover h3{color:var(--orange)}
  .card .by{font-family:var(--ui);font-size:13px;font-weight:600;color:var(--orange)}
  .hunt-side{flex:1;border-left:2px solid var(--orange);padding-left:30px}
  .hunt-side h4{font-family:var(--ui);text-transform:uppercase;letter-spacing:.06em;font-weight:800;font-size:18px;margin-bottom:18px;color:var(--ink)}
  .countdown{background:var(--brown);border-radius:8px;padding:20px;text-align:center;margin-bottom:24px}
  .countdown .c-lbl{font-family:var(--ui);text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:700;color:var(--cream);opacity:.75}
  .countdown .c-name{font-family:var(--disp);font-style:italic;color:var(--orange);font-size:18px;margin:4px 0 12px}
  .countdown .clock{display:flex;justify-content:center;gap:14px}
  .countdown .unit{min-width:48px}
  .countdown .unit b{display:block;font-family:var(--disp);font-weight:700;font-size:30px;color:var(--orange);line-height:1}
  .countdown .unit span{font-family:var(--ui);text-transform:uppercase;letter-spacing:.1em;font-size:9px;color:var(--cream);opacity:.7}
  .season{padding:14px 0;border-bottom:1px solid var(--line);display:flex;gap:12px}
  .season .n{font-family:var(--disp);font-weight:700;color:var(--orange);font-size:18px;line-height:1}
  .season .s-name{font-family:var(--ui);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:14px}
  .season .s-when{font-size:13px;color:var(--ink-soft);margin-top:2px}
  .hunt-side .btn{margin-top:22px}

  /* ---------- TRS PARTNER BANNER ---------- */
  .trs-banner{position:relative;border-radius:10px;overflow:hidden;min-height:220px;display:flex;align-items:center;color:#fff;box-shadow:0 22px 44px -22px rgba(36,26,18,.6)}
  .trs-banner .bg{position:absolute;inset:0;background:
    radial-gradient(80% 120% at 78% 22%, rgba(255,210,120,.85), transparent 55%),
    linear-gradient(180deg,#6b5a36 0%,#4a3a22 45%,#2a2012 100%)}
  .trs-banner .bg::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(88deg,transparent 0 6px,rgba(20,12,6,.12) 6px 9px);opacity:.5}
  .trs-banner .inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%;padding:30px 44px}
  .trs-banner .lock .estd{font-family:var(--ui);font-size:11px;letter-spacing:.3em;font-weight:700;opacity:.85}
  .trs-banner .lock .trs{font-family:var(--disp);font-weight:800;font-size:46px;line-height:.85;letter-spacing:.02em}
  .trs-banner .lock .line{font-family:var(--ui);font-size:10px;letter-spacing:.34em;font-weight:700;opacity:.85;margin-top:4px}
  .trs-banner .own{text-align:center}
  .trs-banner .own .url{font-family:var(--ui);font-size:11px;letter-spacing:.24em;font-weight:700;opacity:.9}
  .trs-banner .own .big{font-family:var(--disp);font-weight:800;font-size:clamp(34px,5vw,56px);line-height:.86;text-shadow:0 2px 16px rgba(0,0,0,.35)}
  .trs-banner .right-col{text-align:right;max-width:300px}
  .trs-banner .right-col .lll{font-family:var(--disp);font-weight:800;font-size:22px;color:#1f1408;text-shadow:0 1px 0 rgba(255,255,255,.25)}
  .trs-banner .right-col p{font-size:12.5px;line-height:1.45;opacity:.95;margin-top:8px}
  .trs-banner .right-col .contact{margin-top:10px;font-family:var(--ui);font-size:11px;letter-spacing:.08em;font-weight:700;opacity:.9}

  /* ---------- ARTIST ---------- */
  .artist{display:grid;grid-template-columns:1fr 1fr;border-radius:10px;overflow:hidden;box-shadow:0 22px 44px -24px rgba(36,26,18,.55);background:var(--card)}
  .artist .art{min-height:420px}
  .artist .body{padding:54px;display:flex;flex-direction:column;justify-content:center}
  .artist .body h3{font-family:var(--disp);font-weight:600;font-size:clamp(28px,3.4vw,42px);line-height:1.05;margin:14px 0 18px;letter-spacing:-.015em}
  .artist .body p{color:var(--ink-soft);font-size:16.5px;line-height:1.6}
  .artist .body .by{margin-top:18px;font-family:var(--ui);font-weight:700;color:var(--orange);font-size:14px}

  /* ---------- SUBSCRIBE ---------- */
  .subscribe{background:var(--brown);color:var(--cream);position:relative;overflow:hidden}
  .subscribe::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 120% at 80% -10%,rgba(247,87,53,.3),transparent 60%)}
  .sub-grid{position:relative;display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:center}
  .sub-left .kick{color:var(--orange)}
  .sub-left h2{font-family:var(--disp);font-weight:500;font-size:clamp(34px,4.4vw,56px);line-height:1.02;margin:14px 0 18px;letter-spacing:-.02em;color:#fff}
  .sub-left h2 em{font-style:italic;color:var(--orange)}
  .sub-left p{opacity:.85;font-size:17px;max-width:42ch}
  .sub-left .perks{margin-top:22px;display:flex;flex-direction:column;gap:10px}
  .sub-left .perks div{display:flex;gap:10px;align-items:center;font-size:15px;opacity:.9}
  .sub-left .perks .dot{width:7px;height:7px;background:var(--orange);border-radius:50%}
  .sub-card{background:var(--card);color:var(--ink);border-radius:12px;padding:34px}
  .sub-tabs{display:flex;gap:8px;margin-bottom:22px}
  .sub-tabs button{flex:1;font-family:var(--ui);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:12px;padding:12px;border-radius:7px;border:1px solid var(--line);background:#faf6ee;color:var(--ink-soft);cursor:pointer;transition:.2s}
  .sub-tabs button.on{background:var(--grad);color:#fff;border-color:transparent}
  .field{margin-bottom:14px}
  .field label{display:block;font-family:var(--ui);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700;color:var(--ink-soft);margin-bottom:5px}
  .field input{width:100%;border:1px solid var(--line);border-radius:7px;padding:12px 14px;font-family:var(--ui);font-size:15px;background:#fcfaf5}
  .field input:focus{outline:none;border-color:var(--orange)}
  .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .sub-card .btn{width:100%;justify-content:center;margin-top:8px}
  .sub-card .fine{text-align:center;margin-top:12px;font-size:12px;color:var(--ink-soft)}
  .print-only{display:block}

  /* ---------- TRS LIVE LISTINGS ---------- */
  .feed-tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--ui);text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--ink-soft);margin-bottom:26px}
  .feed-tag .live{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 rgba(247,87,53,.6);animation:pulse 2s infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(247,87,53,.5)}70%{box-shadow:0 0 0 8px rgba(247,87,53,0)}100%{box-shadow:0 0 0 0 rgba(247,87,53,0)}}
  .listings{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
  .lcard{background:var(--card);border-radius:7px;overflow:hidden;box-shadow:0 14px 30px -22px rgba(36,26,18,.5);transition:transform .3s,box-shadow .3s}
  .lcard:hover{transform:translateY(-5px);box-shadow:0 26px 44px -24px rgba(36,26,18,.6)}
  .lcard .img{height:215px;position:relative}
  .lcard .badge{position:absolute;top:13px;left:13px;background:var(--orange);color:#fff;font-family:var(--ui);font-weight:700;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:7px 11px;border-radius:1px}
  .lcard .price{position:absolute;left:0;right:0;bottom:0;padding:16px;color:#fff;font-family:var(--disp);font-weight:700;font-size:25px;background:linear-gradient(0deg,rgba(20,12,6,.88),transparent)}
  .lcard .pad{padding:18px 20px 22px}
  .lcard h3{font-family:var(--disp);font-weight:600;font-size:21px;margin-bottom:5px}
  .lcard .loc{font-family:var(--ui);font-weight:600;font-size:12.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em}
  .lcard .specs{display:flex;gap:22px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
  .lcard .specs b{display:block;font-family:var(--disp);font-weight:700;font-size:18px;line-height:1}
  .lcard .specs em{font-style:normal;font-family:var(--ui);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}

  /* ---------- SPONSORS ---------- */
  .sponsors{background:var(--cream)}
  .sponsor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}
  .sponsor{background:var(--paper);padding:38px 26px;text-align:center;transition:.25s}
  .sponsor:hover{background:#fff}
  .sponsor .slogo{font-family:var(--disp);font-weight:700;font-size:23px;letter-spacing:.01em;color:var(--ink)}
  .sponsor .slogo .o{color:var(--orange)}
  .sponsor .tier{font-family:var(--ui);text-transform:uppercase;letter-spacing:.16em;font-size:9px;font-weight:700;color:var(--orange);margin-bottom:10px}
  .sponsor p{font-size:13px;color:var(--ink-soft);margin-top:9px;line-height:1.45}

  /* ---------- ACCOUNT DASHBOARD PREVIEW ---------- */
  .dash{background:var(--card);border-radius:12px;padding:30px;box-shadow:0 30px 60px -30px rgba(36,26,18,.5)}
  .dash .dhead{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:4px}
  .dash .dhead .who{font-family:var(--disp);font-weight:600;font-size:20px}
  .dash .dhead .status{font-family:var(--ui);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#2f7a3a;background:#e6f2e7;padding:6px 11px;border-radius:30px}
  .drow{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
  .drow .k{font-family:var(--ui);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700;color:var(--ink-soft)}
  .drow .v{font-size:15px;margin-top:3px}
  .drow a{font-family:var(--ui);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--orange)}
  .dash .dactions{display:flex;gap:10px;margin-top:20px}
  .dash .mini{flex:1;text-align:center;font-family:var(--ui);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:12px;border:1px solid var(--line);border-radius:2px;color:var(--ink-soft);cursor:pointer;transition:.2s}
  .dash .mini:hover{border-color:var(--orange);color:var(--orange)}

  /* ---------- FOOTER ---------- */
  footer{background:var(--brown);color:var(--cream);padding:64px 0 30px;border-top:1px solid var(--line-d)}
  .foot-top{display:flex;align-items:center;gap:20px;padding-bottom:34px;border-bottom:1px solid var(--line-d)}
  .foot-top img{height:60px}
  .foot-top .fm{font-family:var(--disp);font-weight:600;font-size:34px;line-height:1}
  .foot-top .fm em{font-style:italic;color:var(--orange)}
  .foot-cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:34px;padding:40px 0}
  .foot-cols .about{font-size:14px;opacity:.78;line-height:1.6;max-width:34ch}
  .foot-cols h5{font-family:var(--ui);text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:var(--orange);margin-bottom:14px;font-weight:700}
  .foot-cols a{display:block;color:rgba(239,231,216,.8);font-size:14.5px;padding:5px 0;transition:.2s}
  .foot-cols a:hover{color:#fff;padding-left:5px}
  .foot-bot{display:flex;justify-content:space-between;padding-top:22px;border-top:1px solid var(--line-d);font-size:12px;opacity:.6;font-family:var(--ui);letter-spacing:.05em}

  .reveal{opacity:0;transform:translateY(24px);transition:.7s ease}
  .reveal.in{opacity:1;transform:none}

  /* ---------- RESPONSIVE ---------- */
  @media(max-width:1000px){
    nav.links,.util .tag{display:none}
    .burger{display:flex}
    .issue-wrap,.hunt-wrap{flex-direction:column}
    .issue-cover{flex:0 0 auto;max-width:260px;margin:0 auto}
    .issue-list{border-left:0;padding-left:0;border-top:2px solid var(--orange);padding-top:24px}
    .hunt-main{flex:0 0 auto}
    .hunt-side{border-left:0;padding-left:0;border-top:2px solid var(--orange);padding-top:24px}
    .artist{grid-template-columns:1fr}
    .artist .art{min-height:280px}
    .sub-grid{grid-template-columns:1fr;gap:30px}
    .trs-banner .inner{flex-direction:column;text-align:center}
    .trs-banner .right-col{text-align:center;max-width:none}
  }
  @media(max-width:620px){
    .wrap{padding:0 22px}
    .card-grid{grid-template-columns:1fr}
    .feature-row{flex-direction:column;gap:14px}
    .feature-row .thumb{flex:0 0 auto;width:100%;height:180px}
    .foot-cols{grid-template-columns:1fr 1fr}
    .foot-top{flex-direction:column;text-align:center}
    .row2{grid-template-columns:1fr}
  }
  .mmenu{display:none;position:fixed;inset:84px 0 0;background:var(--brown);z-index:280;flex-direction:column;padding:24px;gap:4px}
  .mmenu.open{display:flex}
  .mmenu a{font-family:var(--disp);font-size:26px;color:var(--cream);padding:14px 0;border-bottom:1px solid var(--line-d)}
/* ============================================================
   WordPress core / editor helpers
   ============================================================ */
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;word-wrap:normal!important}
.skip-link{position:absolute;left:-9999px;z-index:999;background:var(--orange);color:#fff;padding:10px 16px;font-family:var(--ui);font-weight:700}
.skip-link:focus{left:12px;top:12px}
.alignwide{max-width:1100px;margin-left:auto;margin-right:auto}
.alignfull{max-width:none;width:100%}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.wp-caption{max-width:100%}
.wp-caption-text,figcaption{font-family:var(--ui);font-size:13px;color:var(--ink-soft);margin-top:8px;text-align:center}
.sticky,.bypostauthor{}
.pagination{display:flex;gap:8px;justify-content:center;margin-top:40px}
.pagination .page-numbers{font-family:var(--ui);font-weight:700;font-size:14px;padding:10px 15px;border:1px solid var(--line);border-radius:1px;color:var(--ink)}
.pagination .page-numbers.current{background:var(--grad);color:#fff;border-color:transparent}

/* Single article (single.php / single-publication.php) */
.article-hero{padding:54px 0 34px;text-align:center}
.article-hero .cat{font-family:var(--ui);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;color:var(--orange)}
.article-hero h1{font-family:var(--disp);font-weight:600;font-size:clamp(34px,5vw,62px);line-height:1.04;letter-spacing:-.02em;margin:16px auto;max-width:18ch}
.article-hero .byline{font-family:var(--ui);font-size:14px;color:var(--ink-soft)}
.article-figure{margin:0 0 40px}
.article-figure img{width:100%;border-radius:8px}
.article-body{max-width:720px;margin:0 auto;font-family:var(--serif,"Spectral",Georgia,serif);font-size:19px;line-height:1.75;color:#2a2018}
.article-body p{margin:0 0 1.2em}
.article-body p:first-of-type::first-letter{font-family:var(--disp);font-size:64px;float:left;line-height:.8;padding:6px 12px 0 0;color:var(--orange);font-weight:600}
.article-body h2{font-family:var(--disp);font-weight:600;font-size:30px;margin:1.4em 0 .5em}
.article-body h3{font-family:var(--disp);font-weight:600;font-size:24px;margin:1.3em 0 .5em}
.article-body a{color:var(--orange);text-decoration:underline;text-underline-offset:3px}
.article-body blockquote{border-left:3px solid var(--orange);margin:1.4em 0;padding:6px 0 6px 24px;font-family:var(--disp);font-style:italic;font-size:24px;color:var(--ink)}
.article-body img{border-radius:8px}

/* ============================================================
   Post thumbnail fit — make real <img> from posts cover their
   frames instead of stretching. Card frames keep fixed heights;
   the image fills and crops from the center.
   ============================================================ */
.card .img,
.feature-row .thumb,
.lcard .img { position:relative; overflow:hidden; }

.card .img img,
.feature-row .thumb img,
.lcard .img img {
	position:absolute; inset:0;
	width:100%; height:100%;
	object-fit:cover; object-position:center;
	display:block;
}

/* Cover & artist panels that use a background-image already cover-fit,
   but guard against a stray <img> being injected by a plugin. */
.cover-card img, .artist .art img { width:100%; height:100%; object-fit:cover; display:block; }

/* Sponsor logos should fit *inside* the tile (contain), never crop. */
.sponsor .slogo img { max-height:54px; width:auto; margin:0 auto; object-fit:contain; }
