/*
Theme Name: Mac Guys Garage
Theme URI: https://www.macguysgarage.com
Author: The Mac Guy
Description: Musclecar club digest theme for Mac Guys Garage — aged paper, flame orange and mustard, Bevan/Racing Sans One/Roboto Slab/Oswald type system.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
*/

  :root{
    --paper:#EFE3C7;
    --paper-dark:#E4D4AE;
    --ink:#241712;
    --flame:#C63E1D;
    --flame-dark:#8F2A12;
    --mustard:#C68A1F;
    --mustard-light:#E3B245;
    --avocado:#5C6B33;
    --avocado-dark:#3E4A20;
    --chrome:#C9C2AC;
    --cream-card:#F7EFDA;
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    background:var(--paper);
    background-image:
      radial-gradient(circle at 15% 8%, rgba(0,0,0,0.035) 0, transparent 45%),
      radial-gradient(circle at 85% 92%, rgba(0,0,0,0.035) 0, transparent 45%);
    color:var(--ink);
    font-family:'Roboto Slab', serif;
    line-height:1.5;
  }
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}
  .wrap{max-width:1080px;margin:0 auto;padding:0 24px;}

  /* ---------- topbar ---------- */
  .topbar{
    background:var(--ink);
    color:var(--paper);
    font-family:'Oswald',sans-serif;
    font-size:12px;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:34px;flex-wrap:wrap;}
  .topbar .tag{color:var(--mustard-light);}

  /* ---------- chrome strip ---------- */
  .chrome-strip{
    height:8px;
    background:repeating-linear-gradient(90deg,var(--chrome) 0 2px, #A69F89 2px 3px);
  }

  /* ---------- masthead ---------- */
  .masthead{padding:34px 0 18px;text-align:center;border-bottom:4px solid var(--ink);}
  .masthead .eyebrow{
    font-family:'Racing Sans One',cursive;
    color:var(--flame-dark);
    font-size:14px;
    letter-spacing:.3em;
    text-transform:uppercase;
    margin-bottom:6px;
  }
  .masthead h1{
    font-family:'Bevan',serif;
    font-size:clamp(48px,9vw,104px);
    letter-spacing:.01em;
    margin:0;
    color:var(--flame);
    -webkit-text-stroke:2px var(--ink);
    text-shadow:5px 5px 0 var(--ink);
    line-height:.92;
  }
  .masthead .sub{
    font-family:'Oswald',sans-serif;
    font-size:14px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--ink);
    margin-top:10px;
  }
  .masthead .sub span{color:var(--avocado-dark);}

  /* ---------- nav ---------- */
  nav.mainnav{
    background:var(--flame);
    border-bottom:4px solid var(--ink);
    border-top:1px solid var(--ink);
  }
  nav.mainnav .wrap{
    display:flex;
    justify-content:center;
    gap:4px;
    flex-wrap:wrap;
  }
  nav.mainnav a{
    font-family:'Oswald',sans-serif;
    font-weight:600;
    font-size:13px;
    letter-spacing:.09em;
    text-transform:uppercase;
    color:var(--paper);
    padding:13px 16px;
    border-right:1px solid rgba(0,0,0,0.18);
  }
  nav.mainnav a:last-child{border-right:none;}
  nav.mainnav a:hover{background:var(--flame-dark);}

  /* ---------- hero cover story ---------- */
  .hero{padding:34px 0 10px;}
  .hero-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:26px;
  }
  .cover-photo{
    position:relative;
    border:5px solid var(--ink);
    background:var(--ink);
  }
  .cover-photo img{width:100%;height:460px;object-fit:cover;filter:saturate(1.08) contrast(1.05);opacity:.96;}
  .cover-banner{
    position:absolute;top:18px;left:-8px;
    background:var(--mustard);
    color:var(--ink);
    font-family:'Bevan',serif;
    font-size:20px;
    letter-spacing:.03em;
    padding:8px 20px 8px 26px;
    transform:rotate(-3deg);
    box-shadow:4px 4px 0 var(--ink);
    border:2px solid var(--ink);
  }
  .cover-caption{
    background:var(--ink);
    color:var(--paper);
    font-family:'Oswald',sans-serif;
    font-size:13px;
    letter-spacing:.04em;
    padding:10px 16px;
  }
  .starburst{
    position:absolute;
    bottom:22px;right:-14px;
    width:118px;height:118px;
    background:var(--flame);
    border:3px solid var(--ink);
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    text-align:center;
    transform:rotate(8deg);
    box-shadow:4px 4px 0 var(--ink);
  }
  .starburst span{
    font-family:'Racing Sans One',cursive;
    color:var(--paper);
    font-size:15px;
    line-height:1.15;
    text-transform:uppercase;
  }

  .cover-copy h2{
    font-family:'Bevan',serif;
    font-size:38px;
    color:var(--ink);
    margin:0 0 10px;
    line-height:1.02;
  }
  .cover-copy h2 em{font-style:normal;color:var(--flame);}
  .cover-copy p{font-size:15px;color:#3a2a20;margin:0 0 16px;}
  .byline{
    font-family:'Oswald',sans-serif;
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--avocado-dark);
    margin-bottom:16px;
  }
  .cta-btn{
    display:inline-block;
    font-family:'Oswald',sans-serif;
    font-weight:600;
    font-size:13px;
    letter-spacing:.09em;
    text-transform:uppercase;
    background:var(--ink);
    color:var(--paper);
    padding:12px 22px;
    border:2px solid var(--ink);
  }
  .cta-btn:hover{background:var(--flame);border-color:var(--flame);}

  .quick-facts{
    margin-top:22px;
    border-top:2px dashed var(--ink);
    padding-top:16px;
  }
  .quick-facts .qf-title{
    font-family:'Racing Sans One',cursive;
    color:var(--flame-dark);
    font-size:13px;
    letter-spacing:.14em;
    text-transform:uppercase;
    margin-bottom:8px;
  }
  .quick-facts ul{margin:0;padding:0;list-style:none;font-family:'Oswald',sans-serif;font-size:13px;}
  .quick-facts li{padding:5px 0;border-bottom:1px dotted #b7a984;display:flex;justify-content:space-between;}
  .quick-facts li span:last-child{color:var(--avocado-dark);font-weight:600;}

  /* ---------- section label ---------- */
  .section-label{
    display:flex;align-items:center;gap:14px;
    margin:52px 0 22px;
  }
  .section-label .num{
    font-family:'Racing Sans One',cursive;
    background:var(--ink);
    color:var(--mustard-light);
    font-size:14px;
    padding:5px 11px;
  }
  .section-label h3{
    font-family:'Bevan',serif;
    font-size:28px;
    color:var(--ink);
    margin:0;
    text-transform:uppercase;
    letter-spacing:.01em;
  }
  .section-label .rule{flex:1;height:3px;background:repeating-linear-gradient(90deg,var(--ink) 0 8px, transparent 8px 14px);}

  /* ---------- in this issue grid ---------- */
  .issue-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
  }
  .issue-card{
    background:var(--cream-card);
    border:3px solid var(--ink);
    box-shadow:5px 5px 0 var(--chrome);
  }
  .issue-card .thumb{height:140px;overflow:hidden;border-bottom:3px solid var(--ink);}
  .issue-card .thumb img{width:100%;height:100%;object-fit:cover;}
  .issue-card .thumb.solid{background:var(--avocado);}
  .issue-card .thumb.solid.b{background:var(--mustard);}
  .issue-card .thumb.solid.c{background:var(--flame);}
  .issue-card .body{padding:14px 16px 18px;}
  .issue-card .kicker{
    font-family:'Oswald',sans-serif;
    font-size:11px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--flame-dark);
    margin-bottom:4px;
  }
  .issue-card h4{
    font-family:'Bevan',serif;
    font-size:19px;
    margin:0 0 8px;
    line-height:1.08;
    text-transform:uppercase;
  }
  .issue-card p{font-size:13px;color:#4a3a2c;margin:0 0 10px;}
  .issue-card .readmore{
    font-family:'Oswald',sans-serif;
    font-size:12px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--ink);
    border-bottom:2px solid var(--flame);
  }

  /* ---------- club card / about ---------- */
  .club-band{
    background:var(--ink);
    color:var(--paper);
    padding:44px 0;
    margin-top:56px;
  }
  .club-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;}
  .club-grid h3{
    font-family:'Bevan',serif;
    font-size:30px;
    color:var(--mustard-light);
    margin:0 0 12px;
    text-transform:uppercase;
  }
  .club-grid p{font-size:14px;color:#e6dcc4;margin:0 0 12px;}
  .membercard{
    background:var(--cream-card);
    color:var(--ink);
    border:3px solid var(--mustard-light);
    padding:22px 24px;
    position:relative;
  }
  .membercard::before{
    content:"MEMBER";
    position:absolute;top:-13px;left:20px;
    background:var(--flame);
    color:var(--paper);
    font-family:'Racing Sans One',cursive;
    font-size:12px;
    letter-spacing:.14em;
    padding:4px 12px;
    border:2px solid var(--ink);
  }
  .membercard .name{font-family:'Bevan',serif;font-size:22px;text-transform:uppercase;margin-top:6px;}
  .membercard .role{font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--avocado-dark);margin-bottom:14px;}
  .membercard ul{list-style:none;margin:0;padding:0;font-family:'Oswald',sans-serif;font-size:12.5px;}
  .membercard li{padding:4px 0;border-top:1px dotted #b7a984;}
  .membercard li:first-child{border-top:none;}

  /* ---------- gallery strip ---------- */
  .gallery-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px;}
  .gallery-strip a{position:relative;display:block;border:3px solid var(--ink);overflow:hidden;height:130px;}
  .gallery-strip img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
  .gallery-strip a:hover img{transform:scale(1.07);}
  .gallery-strip .cap{
    position:absolute;bottom:0;left:0;right:0;
    background:rgba(36,23,18,.82);
    color:var(--paper);
    font-family:'Oswald',sans-serif;
    font-size:10.5px;
    letter-spacing:.08em;
    text-transform:uppercase;
    padding:5px 8px;
  }

  /* ---------- podcast callout ---------- */
  .podcast-band{
    margin-top:56px;
    border:3px solid var(--ink);
    background:var(--mustard);
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:22px;
    padding:24px 28px;
  }
  .podcast-band .disc{
    width:78px;height:78px;border-radius:50%;
    background:repeating-radial-gradient(circle,var(--ink) 0 2px, var(--mustard-light) 2px 6px);
    border:3px solid var(--ink);
    flex:none;
  }
  .podcast-band h4{
    font-family:'Bevan',serif;
    font-size:22px;
    margin:0 0 4px;
    text-transform:uppercase;
    color:var(--ink);
  }
  .podcast-band p{margin:0;font-size:13px;color:#4a3a1c;font-family:'Oswald',sans-serif;}

  /* ---------- newsstand footer ---------- */
  footer{
    margin-top:60px;
    background:var(--ink);
    color:var(--paper);
    padding:38px 0 20px;
  }
  .foot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;font-family:'Oswald',sans-serif;font-size:12.5px;}
  .foot-grid h5{
    font-family:'Racing Sans One',cursive;
    color:var(--mustard-light);
    font-size:14px;
    letter-spacing:.1em;
    text-transform:uppercase;
    margin:0 0 10px;
  }
  .foot-grid ul{list-style:none;margin:0;padding:0;}
  .foot-grid li{padding:4px 0;color:#cfc2a2;}
  .foot-bottom{
    margin-top:28px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.15);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
    font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#a99a78;
  }

  /* ---------- gallery page ---------- */
  .page-banner{padding:34px 0 30px;text-align:center;}
  .page-banner .eyebrow{
    font-family:'Racing Sans One',cursive;color:var(--flame-dark);
    font-size:13px;letter-spacing:.25em;text-transform:uppercase;margin-bottom:6px;
  }
  .page-banner h2{
    font-family:'Bevan',serif;font-size:clamp(34px,6vw,58px);
    color:var(--ink);margin:0;text-transform:uppercase;
  }
  .page-banner p{font-family:'Roboto Slab',serif;font-size:14px;color:#4a3a2c;max-width:560px;margin:10px auto 0;}

  .filter-row{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:22px 0 34px;}
  .filter-chip{
    font-family:'Oswald',sans-serif;font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
    padding:8px 16px;border:2px solid var(--ink);background:var(--cream-card);color:var(--ink);
  }
  .filter-chip.active{background:var(--flame);color:var(--paper);}

  .photowall{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    grid-auto-rows:150px;
    gap:10px;
    margin-bottom:20px;
  }
  .photowall a{position:relative;display:block;border:3px solid var(--ink);overflow:hidden;}
  .photowall img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
  .photowall a:hover img{transform:scale(1.06);}
  .photowall .cap{
    position:absolute;bottom:0;left:0;right:0;background:rgba(36,23,18,.85);color:var(--paper);
    font-family:'Oswald',sans-serif;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:6px 9px;
  }
  .photowall .tag-badge{
    position:absolute;top:8px;left:8px;background:var(--mustard);color:var(--ink);
    font-family:'Racing Sans One',cursive;font-size:10px;letter-spacing:.06em;text-transform:uppercase;
    padding:3px 8px;border:2px solid var(--ink);
  }
  .photowall .big{grid-column:span 2;grid-row:span 2;}
  .photowall .wide{grid-column:span 2;}

  /* ---------- hobby room page ---------- */
  .hobby-hero{
    display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center;padding:10px 0 40px;
  }
  .hobby-hero .photo{border:5px solid var(--ink);position:relative;}
  .hobby-hero .photo img{width:100%;height:380px;object-fit:cover;}
  .hobby-hero .badge{
    position:absolute;top:16px;left:-10px;background:var(--avocado);color:var(--paper);
    font-family:'Bevan',serif;font-size:16px;padding:7px 18px 7px 22px;transform:rotate(-3deg);
    box-shadow:4px 4px 0 var(--ink);border:2px solid var(--ink);
  }

  .project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:10px;}
  .project-card{background:var(--cream-card);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--chrome);padding:18px;}
  .project-card .status{
    display:inline-block;font-family:'Racing Sans One',cursive;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
    padding:3px 9px;margin-bottom:10px;border:2px solid var(--ink);
  }
  .project-card .status.done{background:var(--avocado);color:var(--paper);}
  .project-card .status.progress{background:var(--mustard);color:var(--ink);}
  .project-card .status.planned{background:var(--paper-dark);color:var(--ink);}
  .project-card h4{font-family:'Bevan',serif;font-size:18px;margin:0 0 8px;text-transform:uppercase;}
  .project-card p{font-size:13px;color:#4a3a2c;margin:0;}

  .workbench{
    margin-top:52px;border:3px solid var(--ink);background:var(--ink);color:var(--paper);padding:28px 30px;
  }
  .workbench h3{font-family:'Bevan',serif;color:var(--mustard-light);font-size:22px;margin:0 0 14px;text-transform:uppercase;}
  .workbench ul{list-style:none;margin:0;padding:0;font-family:'Oswald',sans-serif;font-size:13px;}
  .workbench li{padding:9px 0;border-top:1px dotted rgba(255,255,255,.25);display:flex;gap:12px;}
  .workbench li:first-child{border-top:none;}
  .workbench li .mark{color:var(--flame);font-family:'Racing Sans One',cursive;flex:none;}

  /* ---------- podcast episode list ---------- */
  .episode-grid{display:flex;flex-direction:column;gap:14px;margin-bottom:10px;}
  .episode-card{
    display:grid;grid-template-columns:70px 1fr auto;gap:18px;align-items:center;
    background:var(--cream-card);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--chrome);
    padding:14px 18px;
  }
  .episode-card .disc-mini{
    width:56px;height:56px;border-radius:50%;
    background:repeating-radial-gradient(circle,var(--ink) 0 2px, var(--mustard-light) 2px 5px);
    border:3px solid var(--ink);flex:none;
  }
  .episode-card .ep-num{
    font-family:'Racing Sans One',cursive;color:var(--flame-dark);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;
  }
  .episode-card h4{font-family:'Bevan',serif;font-size:16px;margin:0 0 4px;text-transform:uppercase;}
  .episode-card p{font-family:'Roboto Slab',serif;font-size:12.5px;color:#4a3a2c;margin:0;}
  .episode-card .ep-meta{font-family:'Oswald',sans-serif;font-size:11px;color:var(--avocado-dark);letter-spacing:.04em;}
  .episode-card .cta-btn{padding:9px 16px;font-size:11.5px;}

  @media(max-width:520px){
    .episode-card{grid-template-columns:50px 1fr;}
    .episode-card .cta-btn{grid-column:1/-1;justify-self:start;margin-top:6px;}
  }

  /* ---------- tv guide page ---------- */
  .guide-toolbar{
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
    margin:22px 0 28px;padding:14px 18px;background:var(--ink);
  }
  .guide-toolbar .day{
    font-family:'Racing Sans One',cursive;color:var(--mustard-light);font-size:14px;letter-spacing:.1em;text-transform:uppercase;
  }
  .guide-toolbar .now{
    font-family:'Oswald',sans-serif;color:var(--paper);font-size:12px;letter-spacing:.06em;
  }
  .guide-toolbar .now b{color:var(--flame);}

  .guide{border:3px solid var(--ink);background:var(--cream-card);margin-bottom:14px;}
  .guide-row{display:grid;grid-template-columns:150px 1fr;border-top:2px solid var(--ink);}
  .guide-row:first-child{border-top:none;}
  .guide-channel{
    background:var(--ink);color:var(--paper);padding:14px 12px;
    display:flex;flex-direction:column;justify-content:center;gap:3px;
  }
  .guide-channel .plat{
    font-family:'Racing Sans One',cursive;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mustard-light);
  }
  .guide-channel .name{font-family:'Bevan',serif;font-size:14px;line-height:1.1;}
  .guide-slots{display:grid;grid-template-columns:repeat(3,1fr);}
  .slot{
    border-left:2px solid var(--ink);padding:12px 14px;position:relative;
  }
  .slot:first-child{border-left:none;}
  .slot .time{
    font-family:'Oswald',sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;
    color:var(--flame-dark);margin-bottom:4px;
  }
  .slot h4{font-family:'Bevan',serif;font-size:15px;margin:0 0 4px;text-transform:uppercase;line-height:1.1;}
  .slot p{font-family:'Roboto Slab',serif;font-size:11.5px;color:#4a3a2c;margin:0 0 8px;}
  .slot a.watch{
    font-family:'Oswald',sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
    border-bottom:2px solid var(--flame);
  }
  .slot.live::before{
    content:"LIVE";position:absolute;top:10px;right:10px;
    background:var(--flame);color:var(--paper);font-family:'Racing Sans One',cursive;
    font-size:9px;letter-spacing:.08em;padding:2px 7px;border:1px solid var(--ink);
  }
  .slot.rerun{background:var(--paper-dark);}

  .picks-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:44px 0 10px;}
  .pick-card{background:var(--ink);color:var(--paper);border:3px solid var(--ink);position:relative;}
  .pick-card .screen{
    background:linear-gradient(160deg,var(--flame) 0%, var(--flame-dark) 100%);
    height:90px;display:flex;align-items:center;justify-content:center;
    border-bottom:3px solid var(--mustard-light);
  }
  .pick-card .screen span{
    font-family:'Racing Sans One',cursive;color:var(--paper);font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-align:center;
  }
  .pick-card .info{padding:12px 14px;}
  .pick-card .kicker{font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mustard-light);margin-bottom:4px;}
  .pick-card h4{font-family:'Bevan',serif;font-size:14px;margin:0 0 6px;text-transform:uppercase;}
  .pick-card p{font-family:'Roboto Slab',serif;font-size:11.5px;color:#cfc2a2;margin:0;}

  /* ---------- pvgp archives page ---------- */
  .program-cover{
    display:grid;grid-template-columns:1fr 1fr;gap:0;
    border:5px solid var(--ink);margin:10px 0 46px;background:var(--ink);
  }
  .program-cover .photo{position:relative;overflow:hidden;}
  .program-cover .photo img{width:100%;height:100%;object-fit:cover;min-height:340px;opacity:.92;}
  .program-cover .photo .ribbon{
    position:absolute;top:20px;left:-8px;background:var(--flame);color:var(--paper);
    font-family:'Bevan',serif;font-size:15px;padding:7px 18px 7px 22px;transform:rotate(-3deg);
    box-shadow:4px 4px 0 var(--ink);border:2px solid var(--ink);text-transform:uppercase;
  }
  .program-cover .copy{padding:32px 30px;color:var(--paper);display:flex;flex-direction:column;justify-content:center;}
  .program-cover .copy .eyebrow{font-family:'Racing Sans One',cursive;color:var(--mustard-light);font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px;}
  .program-cover .copy h2{font-family:'Bevan',serif;font-size:clamp(26px,3.4vw,36px);margin:0 0 12px;text-transform:uppercase;line-height:1.08;}
  .program-cover .copy p{font-family:'Roboto Slab',serif;font-size:13.5px;color:#d8cba9;margin:0 0 18px;}
  .program-cover .stat-row{display:flex;gap:22px;border-top:1px solid rgba(255,255,255,.2);padding-top:16px;}
  .program-cover .stat{font-family:'Oswald',sans-serif;}
  .program-cover .stat .n{font-family:'Bevan',serif;color:var(--flame);font-size:22px;display:block;}
  .program-cover .stat .l{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#cfc2a2;}

  .timeline{position:relative;margin:0 0 20px;padding-left:26px;border-left:3px dashed var(--ink);}
  .year-entry{position:relative;margin-bottom:34px;}
  .year-entry::before{
    content:"";position:absolute;left:-35px;top:4px;width:16px;height:16px;border-radius:50%;
    background:var(--flame);border:3px solid var(--ink);
  }
  .year-card{
    display:grid;grid-template-columns:180px 1fr;
    background:var(--cream-card);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--chrome);
    overflow:hidden;
  }
  .year-card .stub{
    background:var(--ink);color:var(--paper);padding:18px 14px;
    display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;
    border-right:3px dashed var(--mustard-light);
  }
  .year-card .stub .yr{font-family:'Bevan',serif;font-size:30px;color:var(--mustard-light);line-height:1;}
  .year-card .stub .lbl{font-family:'Racing Sans One',cursive;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;margin-top:6px;color:var(--paper);}
  .year-card .content{padding:16px 20px;}
  .year-card .content h4{font-family:'Bevan',serif;font-size:18px;margin:0 0 6px;text-transform:uppercase;}
  .year-card .content p{font-family:'Roboto Slab',serif;font-size:13px;color:#4a3a2c;margin:0 0 10px;}
  .year-card .tags{display:flex;gap:6px;flex-wrap:wrap;}
  .year-card .tags span{
    font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:.06em;text-transform:uppercase;
    background:var(--mustard);color:var(--ink);padding:3px 8px;border:1px solid var(--ink);
  }

  .archive-stats{
    display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:48px 0;
    border:3px solid var(--ink);background:var(--mustard);padding:22px 10px;
  }
  .archive-stats .item{text-align:center;font-family:'Oswald',sans-serif;}
  .archive-stats .item .n{font-family:'Bevan',serif;font-size:30px;color:var(--ink);display:block;}
  .archive-stats .item .l{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#4a3a1c;}

  @media(max-width:820px){
    .hero-grid,.club-grid,.hobby-hero{grid-template-columns:1fr;}
    .issue-grid,.project-grid{grid-template-columns:1fr 1fr;}
    .gallery-strip{grid-template-columns:1fr 1fr;}
    .foot-grid{grid-template-columns:1fr 1fr;}
    .starburst{display:none;}
    .photowall{grid-template-columns:repeat(2,1fr);}
    .photowall .big{grid-column:span 2;grid-row:span 1;}
    .guide-row{grid-template-columns:110px 1fr;}
    .guide-slots{grid-template-columns:1fr;}
    .slot{border-left:none;border-top:1px solid var(--ink);}
    .slot:first-child{border-top:none;}
    .picks-strip{grid-template-columns:1fr 1fr;}
    .program-cover{grid-template-columns:1fr;}
    .year-card{grid-template-columns:110px 1fr;}
    .archive-stats{grid-template-columns:1fr 1fr;}
  }
  @media(max-width:520px){
    .issue-grid,.project-grid{grid-template-columns:1fr;}
    nav.mainnav a{padding:10px 10px;font-size:11.5px;}
    .picks-strip{grid-template-columns:1fr;}
    .year-card{grid-template-columns:1fr;}
    .year-card .stub{border-right:none;border-bottom:3px dashed var(--mustard-light);flex-direction:row;gap:10px;}
  }
