/*
Theme Name: Amusement Times
Theme URI: https://example.com
Author: MacGuysGarage
Description: A vintage 1950s-60s "member's magazine" style theme for documenting amusement park visits — rides, history, write-ups, and photo galleries. Built from the Amusement Times mockup set.
Version: 0.1.0
Requires PHP: 7.4
Text Domain: amusement-times
*/

/* ==== from amusement-times-mockup.html ==== */

  :root{
    --parchment:#F2E8D0;
    --parchment-deep:#E6D6AE;
    --navy:#1B2A44;
    --red:#C1392B;
    --teal:#1E6E6E;
    --gold:#C9971F;
    --cream-line: rgba(27,42,68,0.18);
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    background:#25384F;
    background-image:
      radial-gradient(circle at 15% 20%, rgba(255,255,255,0.05) 0, transparent 45%),
      radial-gradient(circle at 85% 75%, rgba(0,0,0,0.15) 0, transparent 50%);
    font-family:'Vollkorn', serif;
    color:var(--navy);
    display:flex;
    justify-content:center;
    padding:32px 16px 64px;
  }
  .page{
    max-width:960px;
    width:100%;
    background:var(--parchment);
    background-image:
      repeating-linear-gradient(0deg, rgba(27,42,68,0.02) 0px, rgba(27,42,68,0.02) 1px, transparent 1px, transparent 3px);
    border:2px solid var(--navy);
    box-shadow:0 0 0 6px var(--parchment), 0 0 0 7px var(--navy), 0 18px 40px rgba(0,0,0,0.25);
    padding:0 0 0 0;
  }
  .bunting{
    display:flex;
    justify-content:space-between;
    height:22px;
    overflow:hidden;
    background:var(--navy);
  }
  .bunting span{
    flex:1;
    height:22px;
    background:#D9CBB0;
    clip-path:polygon(0 0,100% 0,50% 100%);
    margin:0 3px;
  }
  .bunting span:nth-child(3n+2){background:#A85D53;}
  .bunting span:nth-child(3n){background:#4A6A85;}

  header.masthead{
    text-align:center;
    padding:34px 24px 22px;
    border-bottom:3px double var(--navy);
  }
  .eyebrow-row{
    display:flex;
    justify-content:space-between;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:2px;
    font-size:13px;
    color:var(--navy);
    padding:0 6px 14px;
    border-bottom:1px solid var(--cream-line);
    margin-bottom:14px;
  }
  h1.title{
    font-family:'Alfa Slab One', serif;
    font-size:64px;
    line-height:0.95;
    margin:0;
    color:var(--red);
    text-shadow:2px 2px 0 var(--navy);
    letter-spacing:1px;
  }
  .script-sub{
    font-family:'Pacifico', cursive;
    font-size:26px;
    color:var(--teal);
    margin:8px 0 0;
  }
  .masthead-tag{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:3px;
    font-size:14px;
    color:var(--navy);
    margin-top:12px;
  }

  nav.ticketbook{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:0;
    padding:26px 20px;
    background:var(--parchment-deep);
    border-bottom:3px double var(--navy);
  }
  .ticketbook-label{
    grid-column:1/-1;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:3px;
    font-size:13px;
    color:var(--navy);
    text-align:center;
    margin-bottom:14px;
    opacity:0.75;
  }
  a.ticket{
    text-decoration:none;
    color:var(--navy);
    background:var(--parchment);
    border:1.5px dashed var(--navy);
    border-radius:6px;
    margin:0 6px;
    padding:14px 6px 12px;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    position:relative;
    transition:transform 0.15s ease, background 0.15s ease;
  }
  a.ticket:hover{
    transform:translateY(-4px);
    background:#fff8e8;
  }
  a.ticket::before, a.ticket::after{
    content:"";
    position:absolute;
    width:12px;
    height:12px;
    background:var(--parchment-deep);
    border:1.5px solid var(--navy);
    border-radius:50%;
    top:50%;
    transform:translateY(-50%);
  }
  a.ticket::before{ left:-8px; }
  a.ticket::after{ right:-8px; }
  .ticket-letter{
    font-family:'Alfa Slab One', serif;
    font-size:22px;
    color:var(--red);
    line-height:1;
  }
  .ticket-icon{ margin:8px 0 6px; }
  .ticket-name{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1px;
    font-size:13px;
  }

  .hero{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:0;
    border-bottom:3px double var(--navy);
  }
  .hero-art{
    background:linear-gradient(180deg, #F6E7B0 0%, #F0D07C 55%, var(--gold) 100%);
    border-right:2px solid var(--navy);
    padding:0;
    display:flex;
    align-items:flex-end;
  }
  .hero-copy{
    padding:32px 30px;
  }
  .hero-copy .kicker{
    font-family:'Bebas Neue', sans-serif;
    color:var(--red);
    letter-spacing:2px;
    font-size:14px;
    margin-bottom:6px;
  }
  .hero-copy h2{
    font-family:'Alfa Slab One', serif;
    font-size:30px;
    color:var(--navy);
    margin:0 0 14px;
    line-height:1.15;
  }
  .hero-copy p{
    font-size:16px;
    line-height:1.65;
    margin:0 0 20px;
    color:#2c3a52;
  }
  .cta{
    display:inline-block;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:2px;
    font-size:15px;
    background:var(--red);
    color:var(--parchment);
    padding:12px 26px;
    border-radius:3px;
    text-decoration:none;
    border:2px solid var(--navy);
    box-shadow:3px 3px 0 var(--navy);
  }
  .cta:hover{ transform:translate(1px,1px); box-shadow:2px 2px 0 var(--navy); }

  section.issue{
    padding:32px 24px 10px;
  }
  section.welcome-note{
    padding:30px 40px 26px;
    border-bottom:3px double var(--navy);
    max-width:620px;
    margin:0 auto;
  }
  section.welcome-note p{
    font-size:15.5px;
    line-height:1.75;
    color:#2c3a52;
    margin:0 0 14px;
  }
  section.welcome-note p:last-child{ margin-bottom:0; }
  .issue-heading{
    text-align:center;
    margin-bottom:24px;
  }
  .issue-heading .script-sub{ font-size:20px; margin-bottom:2px;}
  .issue-heading h3{
    font-family:'Alfa Slab One', serif;
    font-size:22px;
    margin:0;
    color:var(--navy);
    letter-spacing:1px;
  }
  .card-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:20px;
    padding-bottom:30px;
  }
  .card{
    background:#fbf3de;
    border:1.5px solid var(--navy);
    border-radius:4px;
    padding:18px 18px 16px;
    position:relative;
  }
  .card::before{
    content:"";
    position:absolute;
    top:8px; left:8px; right:8px; bottom:8px;
    border:1px solid rgba(27,42,68,0.25);
    pointer-events:none;
  }
  .card-icon{ margin-bottom:10px; }
  .card h4{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:18px;
    margin:0 0 8px;
    color:var(--red);
  }
  .card p{
    font-size:14.5px;
    line-height:1.6;
    margin:0 0 12px;
    color:#2c3a52;
  }
  .card a.readmore{
    font-family:'Bebas Neue', sans-serif;
    font-size:13px;
    letter-spacing:1.5px;
    color:var(--teal);
    text-decoration:none;
    border-bottom:1.5px solid var(--teal);
  }

  footer.membership{
    margin:0 24px 28px;
    background:var(--navy);
    color:var(--parchment);
    border-radius:6px;
    padding:22px 26px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:18px;
    align-items:center;
  }
  footer.membership .club-name{
    font-family:'Pacifico', cursive;
    font-size:22px;
    color:var(--gold);
    margin:0 0 6px;
  }
  footer.membership h5{
    font-family:'Alfa Slab One', serif;
    font-size:17px;
    margin:0 0 10px;
    letter-spacing:0.5px;
  }
  footer.membership .details{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1px;
    font-size:13px;
    line-height:1.9;
    opacity:0.9;
  }
  .member-card{
    background:var(--parchment);
    color:var(--navy);
    border-radius:6px;
    padding:14px 18px;
    text-align:center;
    min-width:150px;
    border:1.5px dashed var(--gold);
  }
  .member-card .num-label{
    font-family:'Bebas Neue', sans-serif;
    font-size:11px;
    letter-spacing:1.5px;
    opacity:0.7;
  }
  .member-card .num{
    font-family:'Alfa Slab One', serif;
    font-size:19px;
    color:var(--red);
    margin-top:2px;
  }

  @media (max-width:700px){
    h1.title{ font-size:42px; }
    nav.ticketbook{ grid-template-columns:repeat(2,1fr); gap:12px; }
    a.ticket{ margin:0; }
    .hero{ grid-template-columns:1fr; }
    .hero-art{ min-height:180px; }
    .card-grid{ grid-template-columns:1fr; }
    footer.membership{ grid-template-columns:1fr; text-align:center; }
  }


/* ==== from gallery-full-mockup.html ==== */

  :root{
    --parchment:#F2E8D0;
    --parchment-deep:#E6D6AE;
    --navy:#1B2A44;
    --red:#C1392B;
    --teal:#1E6E6E;
    --gold:#C9971F;
    --cream-line: rgba(27,42,68,0.18);
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    background:#25384F;
    background-image:
      radial-gradient(circle at 15% 20%, rgba(255,255,255,0.05) 0, transparent 45%),
      radial-gradient(circle at 85% 75%, rgba(0,0,0,0.15) 0, transparent 50%);
    font-family:'Vollkorn', serif;
    color:var(--navy);
    display:flex;
    justify-content:center;
    padding:32px 16px 64px;
  }
  .page{
    max-width:960px;
    width:100%;
    background:var(--parchment);
    background-image:
      repeating-linear-gradient(0deg, rgba(27,42,68,0.02) 0px, rgba(27,42,68,0.02) 1px, transparent 1px, transparent 3px);
    border:2px solid var(--navy);
    box-shadow:0 0 0 6px var(--parchment), 0 0 0 7px var(--navy), 0 18px 40px rgba(0,0,0,0.25);
  }

  .breadcrumb{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:14px 24px;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:13px;
    border-bottom:1px solid var(--cream-line);
  }
  .breadcrumb a{ color:var(--teal); text-decoration:none; }
  .breadcrumb .sep{ opacity:0.5; margin:0 6px; }

  .section-header{
    text-align:center;
    padding:30px 24px 22px;
    border-bottom:3px double var(--navy);
  }
  .section-header .kicker{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:3px;
    font-size:13px;
    color:var(--red);
    margin-bottom:6px;
  }
  .section-header h1{
    font-family:'Alfa Slab One', serif;
    font-size:42px;
    margin:0;
    color:var(--navy);
    letter-spacing:1px;
  }
  .section-header .script-sub{
    font-family:'Pacifico', cursive;
    font-size:19px;
    color:var(--teal);
    margin:6px 0 0;
  }
  .section-header p.deck{
    max-width:520px;
    margin:14px auto 0;
    font-size:15px;
    line-height:1.6;
    color:#2c3a52;
  }

  .filter-row{
    display:flex;
    justify-content:center;
    gap:8px;
    flex-wrap:wrap;
    padding:20px 20px 4px;
  }
  .filter-chip{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1px;
    font-size:12px;
    padding:6px 14px;
    border:1.5px solid var(--navy);
    border-radius:20px;
    background:var(--parchment-deep);
    cursor:pointer;
  }
  .filter-chip.active{ background:var(--red); color:var(--parchment); border-color:var(--navy); }

  .filter-row-sub{
    display:flex;
    justify-content:center;
    gap:6px;
    flex-wrap:wrap;
    padding:8px 20px 4px;
  }
  .filter-chip-sm{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:0.5px;
    font-size:10.5px;
    padding:4px 10px;
    border:1px solid var(--cream-line);
    border-radius:14px;
    background:transparent;
    color:var(--navy);
    opacity:0.75;
    cursor:pointer;
  }
  .filter-chip-sm.active{ background:var(--teal); color:var(--parchment); border-color:var(--teal); opacity:1; }

  .wall-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));
    gap:12px;
    padding:24px 24px 8px;
  }
  .wall-card{ background:var(--navy); border-radius:4px; overflow:hidden; }
  .wall-card .wphoto{
    aspect-ratio:1/1;
    background:var(--parchment-deep);
    display:flex; align-items:center; justify-content:center;
    color:var(--navy); opacity:0.5;
    font-family:'Bebas Neue', sans-serif; font-size:10px; letter-spacing:1px; text-align:center;
  }
  .wall-card .caption{
    padding:7px 8px;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:0.5px;
    font-size:10.5px;
    color:var(--parchment);
    line-height:1.25;
  }
  .wall-card .caption .park-name{
    display:block;
    color:var(--gold);
    font-size:9px;
    letter-spacing:1px;
    margin-top:2px;
    opacity:0.9;
  }

  .load-more{
    text-align:center;
    padding:8px 20px 30px;
  }
  .load-more button{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:13px;
    background:var(--parchment-deep);
    border:1.5px solid var(--navy);
    border-radius:20px;
    padding:10px 26px;
    cursor:pointer;
    color:var(--navy);
  }
  .load-more button:hover{ background:#fbf3de; }

  footer.membership{
    margin:0 24px 28px;
    background:var(--navy);
    color:var(--parchment);
    border-radius:6px;
    padding:18px 24px;
    text-align:center;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:12px;
  }

  @media (max-width:700px){
    .section-header h1{ font-size:30px; }
  }


/* ==== from history-general-mockup.html ==== */

  :root{
    --parchment:#F2E8D0;
    --parchment-deep:#E6D6AE;
    --navy:#1B2A44;
    --red:#C1392B;
    --teal:#1E6E6E;
    --gold:#C9971F;
    --cream-line: rgba(27,42,68,0.18);
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    background:#25384F;
    background-image:
      radial-gradient(circle at 15% 20%, rgba(255,255,255,0.05) 0, transparent 45%),
      radial-gradient(circle at 85% 75%, rgba(0,0,0,0.15) 0, transparent 50%);
    font-family:'Vollkorn', serif;
    color:var(--navy);
    display:flex;
    justify-content:center;
    padding:32px 16px 64px;
  }
  .page{
    max-width:960px;
    width:100%;
    background:var(--parchment);
    background-image:
      repeating-linear-gradient(0deg, rgba(27,42,68,0.02) 0px, rgba(27,42,68,0.02) 1px, transparent 1px, transparent 3px);
    border:2px solid var(--navy);
    box-shadow:0 0 0 6px var(--parchment), 0 0 0 7px var(--navy), 0 18px 40px rgba(0,0,0,0.25);
  }

  .breadcrumb{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:14px 24px;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:13px;
    border-bottom:1px solid var(--cream-line);
  }
  .breadcrumb a{ color:var(--teal); text-decoration:none; }
  .breadcrumb .sep{ opacity:0.5; margin:0 6px; }

  .story-hero{
    background:var(--parchment-deep);
    min-height:240px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--navy);
    opacity:0.5;
    font-family:'Bebas Neue', sans-serif;
    font-size:13px;
    letter-spacing:1.5px;
    border-bottom:3px double var(--navy);
  }

  .article-head{
    text-align:center;
    padding:30px 30px 24px;
    border-bottom:1px solid var(--cream-line);
  }
  .article-head .kicker{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:3px;
    font-size:12px;
    color:var(--red);
    margin-bottom:8px;
  }
  .article-head h1{
    font-family:'Alfa Slab One', serif;
    font-size:34px;
    margin:0 0 10px;
    line-height:1.15;
    color:var(--navy);
    max-width:620px;
    margin-left:auto;
    margin-right:auto;
  }
  .article-head .script-sub{
    font-family:'Pacifico', cursive;
    font-size:18px;
    color:var(--teal);
    margin:0;
  }

  .article-body{
    padding:28px 40px 6px;
    max-width:640px;
    margin:0 auto;
  }
  .article-body p{
    font-size:15.5px;
    line-height:1.8;
    margin:0 0 18px;
    color:#2c3a52;
  }
  .article-body p:first-of-type::first-letter{
    font-family:'Alfa Slab One', serif;
    font-size:44px;
    float:left;
    line-height:0.8;
    padding:6px 8px 0 0;
    color:var(--red);
  }
  .article-body h2.era{
    font-family:'Alfa Slab One', serif;
    font-size:22px;
    color:var(--red);
    margin:34px 0 4px;
  }
  .article-body .era-years{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:2px;
    font-size:12px;
    color:var(--teal);
    margin:0 0 14px;
  }

  .mid-photo{
    margin:8px auto 26px;
    max-width:640px;
    padding:0 30px;
  }
  .mid-photo .mphoto{
    aspect-ratio:16/9;
    background:var(--parchment-deep);
    border:1.5px solid var(--navy);
    border-radius:4px;
    display:flex; align-items:center; justify-content:center;
    color:var(--navy); opacity:0.5;
    font-family:'Bebas Neue', sans-serif; font-size:12px; letter-spacing:1.5px;
    text-align:center;
  }
  .mid-photo .mcaption{
    text-align:center;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1px;
    font-size:11px;
    opacity:0.6;
    margin-top:6px;
  }

  .pull-quote{
    margin:8px auto 30px;
    max-width:560px;
    text-align:center;
    padding:0 20px;
  }
  .pull-quote p{
    font-family:'Pacifico', cursive;
    font-size:22px;
    color:var(--teal);
    line-height:1.4;
    margin:0;
  }

  .park-links{
    margin:10px 24px 30px;
    background:var(--navy);
    border-radius:6px;
    padding:22px 26px;
    color:var(--parchment);
  }
  .park-links .script-sub{
    font-family:'Pacifico', cursive;
    font-size:18px;
    color:var(--gold);
    margin:0 0 2px;
  }
  .park-links h3{
    font-family:'Alfa Slab One', serif;
    font-size:18px;
    margin:0 0 14px;
  }
  .park-links-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:10px;
  }
  .park-link-card{
    background:rgba(242,232,208,0.08);
    border:1px solid rgba(242,232,208,0.35);
    border-radius:4px;
    padding:12px 14px;
    text-decoration:none;
    color:var(--parchment);
  }
  .park-link-card:hover{ background:rgba(242,232,208,0.16); }
  .park-link-card .pl-name{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1px;
    font-size:13px;
    margin-bottom:4px;
  }
  .park-link-card .pl-meta{
    font-family:'Vollkorn', serif;
    font-style:italic;
    font-size:11.5px;
    opacity:0.75;
  }

  footer.membership{
    margin:0 24px 28px;
    background:var(--navy);
    color:var(--parchment);
    border-radius:6px;
    padding:18px 24px;
    text-align:center;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:12px;
  }

  @media (max-width:700px){
    .article-head h1{ font-size:25px; }
    .article-body{ padding:24px 22px 6px; }
    .mid-photo{ padding:0 22px; }
    .park-links-grid{ grid-template-columns:1fr; }
  }


/* ==== from park-map-mockup.html ==== */

  :root{
    --parchment:#F2E8D0;
    --parchment-deep:#E6D6AE;
    --navy:#1B2A44;
    --red:#C1392B;
    --teal:#1E6E6E;
    --gold:#C9971F;
    --cream-line: rgba(27,42,68,0.18);
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    background:#25384F;
    background-image:
      radial-gradient(circle at 15% 20%, rgba(255,255,255,0.05) 0, transparent 45%),
      radial-gradient(circle at 85% 75%, rgba(0,0,0,0.15) 0, transparent 50%);
    font-family:'Vollkorn', serif;
    color:var(--navy);
    display:flex;
    justify-content:center;
    padding:32px 16px 64px;
  }
  .page{
    max-width:960px;
    width:100%;
    background:var(--parchment);
    background-image:
      repeating-linear-gradient(0deg, rgba(27,42,68,0.02) 0px, rgba(27,42,68,0.02) 1px, transparent 1px, transparent 3px);
    border:2px solid var(--navy);
    box-shadow:0 0 0 6px var(--parchment), 0 0 0 7px var(--navy), 0 18px 40px rgba(0,0,0,0.25);
  }

  .breadcrumb{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:14px 24px;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:13px;
    border-bottom:1px solid var(--cream-line);
  }
  .breadcrumb a{ color:var(--teal); text-decoration:none; }
  .breadcrumb a:hover{ text-decoration:underline; }
  .breadcrumb .sep{ opacity:0.5; margin:0 6px; }

  .park-header{
    text-align:center;
    padding:26px 24px 22px;
    border-bottom:3px double var(--navy);
  }
  .park-header .kicker{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:3px;
    font-size:13px;
    color:var(--red);
    margin-bottom:6px;
  }
  .park-header h1{
    font-family:'Alfa Slab One', serif;
    font-size:42px;
    margin:0;
    color:var(--navy);
    letter-spacing:1px;
  }
  .park-header .script-sub{
    font-family:'Pacifico', cursive;
    font-size:19px;
    color:var(--teal);
    margin:6px 0 12px;
  }
  .tag-row{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin-top:8px;
  }
  .tag{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:12px;
    padding:5px 12px;
    border:1.5px solid var(--navy);
    border-radius:3px;
    background:var(--parchment-deep);
  }
  .tag.status-open{ background:#DCEBE4; border-color:var(--teal); color:var(--teal); }
  .tag.status-closed{ background:#F3DCD8; border-color:var(--red); color:var(--red); }
  .tag.status-seasonal{ background:#FBEFC8; border-color:var(--gold); color:#8a660f; }

  .map-instruction{
    text-align:center;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:2px;
    font-size:13px;
    color:var(--navy);
    opacity:0.75;
    padding:18px 20px 4px;
  }

  .map-wrap{
    padding:12px 24px 28px;
  }
  .map-frame{
    background:var(--parchment-deep);
    border:2px solid var(--navy);
    border-radius:6px;
    padding:14px;
  }
  .map-image-slot{
    position:relative;
    width:100%;
    aspect-ratio:9/6;
    border:2.5px dashed var(--navy);
    border-radius:4px;
    background:#EFE2BC;
    background-image:
      repeating-linear-gradient(45deg, rgba(27,42,68,0.03) 0px, rgba(27,42,68,0.03) 10px, transparent 10px, transparent 20px);
    overflow:hidden;
  }
  .map-image-slot img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  .map-placeholder-copy{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:20px;
    color:var(--navy);
    opacity:0.55;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:13px;
    gap:6px;
  }
  .map-placeholder-copy .big{
    font-family:'Alfa Slab One', serif;
    font-size:18px;
    letter-spacing:0.5px;
    opacity:0.9;
  }
  .map-placeholder-copy .small{
    font-family:'Vollkorn', serif;
    font-style:italic;
    letter-spacing:0;
    font-size:12.5px;
    max-width:340px;
  }
  .pin{
    position:absolute;
    width:30px;
    height:30px;
    margin-left:-15px;
    margin-top:-15px;
    border-radius:50%;
    background:var(--parchment);
    border:2px solid var(--navy);
    box-shadow:0 0 0 2px var(--parchment), 0 2px 4px rgba(0,0,0,0.25);
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:'Bebas Neue', sans-serif;
    font-size:14px;
    color:var(--navy);
    cursor:pointer;
    transition:background 0.15s ease, color 0.15s ease, transform 0.15s ease;
  }
  .pin:hover, .pin.active{ background:var(--red); color:var(--parchment); transform:scale(1.1); }

  .detail-panel{
    margin:0 24px 30px;
    background:#fbf3de;
    border:1.5px solid var(--navy);
    border-radius:6px;
    padding:22px 24px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
    min-height:150px;
  }
  .detail-photos{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    align-content:start;
  }
  .photo-placeholder{
    aspect-ratio:4/3;
    background:var(--parchment-deep);
    border:1.5px dashed var(--navy);
    border-radius:4px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--navy);
    opacity:0.55;
    font-family:'Bebas Neue', sans-serif;
    font-size:11px;
    letter-spacing:1px;
    text-align:center;
    padding:8px;
  }
  .detail-copy .num-badge{
    display:inline-block;
    font-family:'Alfa Slab One', serif;
    background:var(--red);
    color:var(--parchment);
    width:26px;
    height:26px;
    border-radius:50%;
    text-align:center;
    line-height:26px;
    font-size:14px;
    margin-bottom:8px;
  }
  .detail-copy h3{
    font-family:'Alfa Slab One', serif;
    font-size:22px;
    margin:0 0 4px;
    color:var(--navy);
  }
  .detail-copy .ride-type{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:12px;
    color:var(--teal);
    margin-bottom:10px;
  }
  .detail-copy p{
    font-size:14.5px;
    line-height:1.65;
    margin:0 0 10px;
    color:#2c3a52;
  }
  .fun-fact{
    font-family:'Vollkorn', serif;
    font-style:italic;
    font-size:13.5px;
    border-left:3px solid var(--gold);
    padding-left:10px;
    color:#4a3a1a;
  }
  .detail-empty{
    grid-column:1/-1;
    text-align:center;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:14px;
    color:var(--navy);
    opacity:0.6;
    padding:30px 10px;
  }

  .ride-index{
    padding:0 24px 30px;
  }
  .ride-index-label{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:2px;
    font-size:13px;
    text-align:center;
    opacity:0.7;
    margin-bottom:12px;
  }
  .index-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:8px;
  }
  .index-chip{
    display:flex;
    align-items:center;
    gap:8px;
    background:var(--parchment-deep);
    border:1px solid var(--cream-line);
    border-radius:4px;
    padding:8px 10px;
    cursor:pointer;
    font-family:'Bebas Neue', sans-serif;
    font-size:12px;
    letter-spacing:0.5px;
  }
  .index-chip:hover, .index-chip.active{ background:#fbf3de; border-color:var(--navy); }
  .index-chip .chip-num{
    font-family:'Alfa Slab One', serif;
    font-size:12px;
    color:var(--red);
    min-width:16px;
  }

  footer.membership{
    margin:0 24px 28px;
    background:var(--navy);
    color:var(--parchment);
    border-radius:6px;
    padding:18px 24px;
    text-align:center;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:12px;
  }

  .history-strip{
    padding:26px 24px 6px;
    border-top:3px double var(--navy);
  }
  .history-strip-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:18px;
  }
  .history-strip-head h3{
    font-family:'Alfa Slab One', serif;
    font-size:20px;
    margin:0;
    color:var(--navy);
  }
  .history-strip-head a{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1px;
    font-size:12px;
    color:var(--teal);
    text-decoration:none;
    border-bottom:1.5px solid var(--teal);
    white-space:nowrap;
  }
  .timeline{
    position:relative;
    padding-left:26px;
    border-left:2px dashed var(--navy);
    display:flex;
    flex-direction:column;
    gap:18px;
    padding-bottom:28px;
  }
  .timeline-item{ position:relative; }
  .timeline-item::before{
    content:"";
    position:absolute;
    left:-33px;
    top:2px;
    width:12px;
    height:12px;
    border-radius:50%;
    background:var(--red);
    border:2px solid var(--parchment);
    box-shadow:0 0 0 2px var(--navy);
  }
  .timeline-item .t-year{
    font-family:'Alfa Slab One', serif;
    font-size:15px;
    color:var(--red);
    margin-bottom:2px;
  }
  .timeline-item .t-desc{
    font-size:14px;
    line-height:1.55;
    color:#2c3a52;
    margin:0;
  }

  .gallery-teaser{
    padding:26px 24px 8px;
    border-top:3px double var(--navy);
  }
  .gallery-teaser-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:16px;
  }
  .gallery-teaser-head .tab-num{
    display:inline-block;
    font-family:'Alfa Slab One', serif;
    font-style:italic;
    font-size:13px;
    color:var(--gold);
    background:var(--navy);
    padding:4px 10px;
    border-radius:3px;
    margin-bottom:6px;
  }
  .gallery-teaser-head h3{
    font-family:'Alfa Slab One', serif;
    font-size:22px;
    margin:0;
    color:var(--navy);
    letter-spacing:0.5px;
  }
  .gallery-teaser-head a{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1px;
    font-size:13px;
    color:var(--teal);
    text-decoration:none;
    border-bottom:1.5px solid var(--teal);
    white-space:nowrap;
  }
  .gallery-teaser-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    padding-bottom:28px;
  }
  .gallery-teaser-card{
    background:var(--navy);
    border-radius:4px;
    overflow:hidden;
  }
  .gallery-teaser-card .tphoto{
    aspect-ratio:16/10;
    background:var(--parchment-deep);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--navy);
    opacity:0.5;
    font-family:'Bebas Neue', sans-serif;
    font-size:11px;
    letter-spacing:1px;
  }
  .gallery-teaser-card .tcaption{
    padding:8px 10px;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:0.5px;
    font-size:12px;
    color:var(--parchment);
  }

  @media (max-width:700px){
    .gallery-teaser-grid{ grid-template-columns:1fr; }
  }

  @media (max-width:700px){
    .park-header h1{ font-size:30px; }
    .detail-panel{ grid-template-columns:1fr; }
    .index-grid{ grid-template-columns:repeat(2,1fr); }
  }


/* ==== from parks-index-mockup.html ==== */

  :root{
    --parchment:#F2E8D0;
    --parchment-deep:#E6D6AE;
    --navy:#1B2A44;
    --red:#C1392B;
    --teal:#1E6E6E;
    --gold:#C9971F;
    --cream-line: rgba(27,42,68,0.18);
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    background:#25384F;
    background-image:
      radial-gradient(circle at 15% 20%, rgba(255,255,255,0.05) 0, transparent 45%),
      radial-gradient(circle at 85% 75%, rgba(0,0,0,0.15) 0, transparent 50%);
    font-family:'Vollkorn', serif;
    color:var(--navy);
    display:flex;
    justify-content:center;
    padding:32px 16px 64px;
  }
  .page{
    max-width:960px;
    width:100%;
    background:var(--parchment);
    background-image:
      repeating-linear-gradient(0deg, rgba(27,42,68,0.02) 0px, rgba(27,42,68,0.02) 1px, transparent 1px, transparent 3px);
    border:2px solid var(--navy);
    box-shadow:0 0 0 6px var(--parchment), 0 0 0 7px var(--navy), 0 18px 40px rgba(0,0,0,0.25);
  }

  .breadcrumb{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:14px 24px;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:13px;
    border-bottom:1px solid var(--cream-line);
  }
  .breadcrumb a{ color:var(--teal); text-decoration:none; }
  .breadcrumb .sep{ opacity:0.5; margin:0 6px; }

  .section-header{
    text-align:center;
    padding:30px 24px 22px;
    border-bottom:3px double var(--navy);
  }
  .section-header .kicker{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:3px;
    font-size:13px;
    color:var(--red);
    margin-bottom:6px;
  }
  .section-header h1{
    font-family:'Alfa Slab One', serif;
    font-size:42px;
    margin:0;
    color:var(--navy);
    letter-spacing:1px;
  }
  .section-header .script-sub{
    font-family:'Pacifico', cursive;
    font-size:19px;
    color:var(--teal);
    margin:6px 0 0;
  }
  .section-header p.deck{
    max-width:520px;
    margin:14px auto 0;
    font-size:15px;
    line-height:1.6;
    color:#2c3a52;
  }

  .filter-row{
    display:flex;
    justify-content:center;
    gap:8px;
    flex-wrap:wrap;
    padding:20px 20px 4px;
  }
  .filter-chip{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1px;
    font-size:12px;
    padding:6px 14px;
    border:1.5px solid var(--navy);
    border-radius:20px;
    background:var(--parchment-deep);
    cursor:pointer;
  }
  .filter-chip.active{ background:var(--red); color:var(--parchment); border-color:var(--navy); }

  .park-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:20px;
    padding:26px 24px 10px;
  }
  .park-card{
    background:#fbf3de;
    border:1.5px solid var(--navy);
    border-radius:6px;
    overflow:hidden;
    text-decoration:none;
    color:var(--navy);
    display:flex;
    flex-direction:column;
  }
  .park-card .pphoto{
    aspect-ratio:16/10;
    background:var(--parchment-deep);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--navy);
    opacity:0.5;
    font-family:'Bebas Neue', sans-serif;
    font-size:11px;
    letter-spacing:1px;
    position:relative;
  }
  .park-card .status-flag{
    position:absolute;
    top:10px; right:10px;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1px;
    font-size:10px;
    padding:3px 9px;
    border-radius:3px;
    background:var(--parchment);
    border:1px solid var(--navy);
  }
  .park-card .status-flag.open{ background:#DCEBE4; border-color:var(--teal); color:var(--teal); }
  .park-card .status-flag.closed{ background:#F3DCD8; border-color:var(--red); color:var(--red); }
  .park-card .status-flag.seasonal{ background:#FBEFC8; border-color:var(--gold); color:#8a660f; }
  .park-card .pcopy{
    padding:16px 18px 18px;
    flex:1;
    display:flex;
    flex-direction:column;
  }
  .park-card h2{
    font-family:'Alfa Slab One', serif;
    font-size:19px;
    margin:0 0 4px;
    color:var(--navy);
  }
  .park-card .ptagline{
    font-family:'Pacifico', cursive;
    font-size:14px;
    color:var(--teal);
    margin:0 0 10px;
  }
  .park-card .pmeta-row{
    display:flex;
    gap:14px;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:0.5px;
    font-size:11px;
    opacity:0.7;
    margin-top:auto;
    padding-top:10px;
    border-top:1px dotted var(--cream-line);
  }

  footer.membership{
    margin:0 24px 28px;
    background:var(--navy);
    color:var(--parchment);
    border-radius:6px;
    padding:18px 24px;
    text-align:center;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:12px;
  }

  @media (max-width:700px){
    .park-grid{ grid-template-columns:1fr; }
    .section-header h1{ font-size:30px; }
  }


/* ==== from ride-page-mockup.html ==== */

  :root{
    --parchment:#F2E8D0;
    --parchment-deep:#E6D6AE;
    --navy:#1B2A44;
    --red:#C1392B;
    --teal:#1E6E6E;
    --gold:#C9971F;
    --cream-line: rgba(27,42,68,0.18);
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    background:#25384F;
    background-image:
      radial-gradient(circle at 15% 20%, rgba(255,255,255,0.05) 0, transparent 45%),
      radial-gradient(circle at 85% 75%, rgba(0,0,0,0.15) 0, transparent 50%);
    font-family:'Vollkorn', serif;
    color:var(--navy);
    display:flex;
    justify-content:center;
    padding:32px 16px 64px;
  }
  .page{
    max-width:960px;
    width:100%;
    background:var(--parchment);
    background-image:
      repeating-linear-gradient(0deg, rgba(27,42,68,0.02) 0px, rgba(27,42,68,0.02) 1px, transparent 1px, transparent 3px);
    border:2px solid var(--navy);
    box-shadow:0 0 0 6px var(--parchment), 0 0 0 7px var(--navy), 0 18px 40px rgba(0,0,0,0.25);
  }

  .breadcrumb{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:14px 24px;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:13px;
    border-bottom:1px solid var(--cream-line);
  }
  .breadcrumb a{ color:var(--teal); text-decoration:none; }
  .breadcrumb a:hover{ text-decoration:underline; }
  .breadcrumb .sep{ opacity:0.5; margin:0 6px; }

  .ride-hero{
    display:grid;
    grid-template-columns:1.4fr 1fr;
    border-bottom:3px double var(--navy);
  }
  .ride-hero-photo{
    background:var(--parchment-deep);
    border-right:2px solid var(--navy);
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:280px;
    position:relative;
  }
  .ride-hero-photo .placeholder-label{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:2px;
    font-size:14px;
    color:var(--navy);
    opacity:0.45;
    text-align:center;
  }
  .ride-hero-photo .stamp{
    position:absolute;
    top:16px; right:16px;
    border:2px solid var(--red);
    color:var(--red);
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:11px;
    padding:4px 10px;
    transform:rotate(6deg);
    opacity:0.8;
  }
  .ride-hero-copy{
    padding:28px 26px;
  }
  .ride-hero-copy .kicker{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:2px;
    font-size:12px;
    color:var(--red);
    margin-bottom:6px;
  }
  .ride-hero-copy h1{
    font-family:'Alfa Slab One', serif;
    font-size:34px;
    margin:0 0 6px;
    line-height:1.05;
    color:var(--navy);
  }
  .ride-hero-copy .ride-type{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:13px;
    color:var(--teal);
    margin-bottom:16px;
  }
  .stat-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:8px;
    margin-top:6px;
  }
  .stat{
    background:#fbf3de;
    border:1px solid var(--cream-line);
    border-radius:4px;
    padding:7px 8px;
  }
  .stat .stat-label{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1px;
    font-size:9.5px;
    color:var(--navy);
    opacity:0.6;
  }
  .stat .stat-value{
    font-family:'Alfa Slab One', serif;
    font-size:12.5px;
    color:var(--red);
    margin-top:2px;
    line-height:1.2;
  }
  .stat.gotcha{
    grid-column:1/-1;
    background:#FBEFC8;
    border:1.5px dashed var(--gold);
  }
  .stat.gotcha .stat-label{ color:var(--gold); opacity:1; }
  .stat.gotcha .stat-value{ font-size:13px; color:var(--navy); }

  .story{
    padding:30px 40px 10px;
    max-width:640px;
    margin:0 auto;
  }
  .story .script-sub{
    font-family:'Pacifico', cursive;
    font-size:20px;
    color:var(--teal);
    text-align:center;
    margin:0 0 2px;
  }
  .story h2{
    font-family:'Alfa Slab One', serif;
    font-size:20px;
    text-align:center;
    color:var(--navy);
    margin:0 0 18px;
  }
  .story p{
    font-size:15.5px;
    line-height:1.75;
    margin:0 0 16px;
    color:#2c3a52;
  }
  .story p:first-of-type::first-letter{
    font-family:'Alfa Slab One', serif;
    font-size:44px;
    float:left;
    line-height:0.8;
    padding:6px 8px 0 0;
    color:var(--red);
  }

  .postcard-quote{
    margin:26px auto;
    max-width:560px;
    background:#fbf3de;
    border:1.5px dashed var(--navy);
    border-radius:4px;
    padding:20px 26px;
    text-align:center;
  }
  .postcard-quote p{
    font-family:'Vollkorn', serif;
    font-style:italic;
    font-size:16px;
    margin:0 0 8px;
    color:#3a2a12;
  }
  .postcard-quote .attribution{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:11px;
    color:var(--navy);
    opacity:0.65;
  }

  .gallery-section{
    padding:20px 24px 10px;
  }
  .gallery-heading{
    text-align:center;
    margin-bottom:16px;
  }
  .gallery-heading .script-sub{
    font-family:'Pacifico', cursive;
    font-size:18px;
    color:var(--teal);
    margin:0;
  }
  .gallery-heading h3{
    font-family:'Alfa Slab One', serif;
    font-size:18px;
    margin:2px 0 0;
    color:var(--navy);
  }
  .gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(130px, 1fr));
    gap:12px;
    padding-bottom:26px;
  }
  .gallery-card{
    background:var(--navy);
    border-radius:4px;
    overflow:hidden;
  }
  .gallery-grid .photo-placeholder{
    aspect-ratio:1/1;
    background:var(--parchment-deep);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--navy);
    opacity:0.5;
    font-family:'Bebas Neue', sans-serif;
    font-size:10px;
    letter-spacing:1px;
    text-align:center;
  }
  .gallery-card .caption{
    padding:7px 8px;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:0.5px;
    font-size:11px;
    color:var(--parchment);
    line-height:1.25;
  }
  .gallery-add{
    aspect-ratio:1/1;
    border:1.5px dashed var(--navy);
    border-radius:4px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:4px;
    color:var(--navy);
    opacity:0.5;
    font-family:'Bebas Neue', sans-serif;
    font-size:10px;
    letter-spacing:1px;
    text-align:center;
  }
  .gallery-add .plus{ font-family:'Alfa Slab One', serif; font-size:20px; line-height:1; }

  .related{
    padding:6px 24px 30px;
    border-top:1px solid var(--cream-line);
    margin-top:10px;
  }
  .related-label{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:2px;
    font-size:12px;
    text-align:center;
    opacity:0.7;
    margin:20px 0 14px;
  }
  .related-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:14px;
  }
  .related-card{
    background:var(--parchment-deep);
    border:1px solid var(--cream-line);
    border-radius:4px;
    padding:12px;
    text-align:center;
    text-decoration:none;
    color:var(--navy);
  }
  .related-card:hover{ border-color:var(--navy); }
  .related-card .rel-photo{
    aspect-ratio:4/3;
    background:#fbf3de;
    border:1px dashed var(--navy);
    border-radius:3px;
    margin-bottom:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:'Bebas Neue', sans-serif;
    font-size:10px;
    opacity:0.45;
  }
  .related-card .rel-name{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1px;
    font-size:12.5px;
  }

  footer.membership{
    margin:0 24px 28px;
    background:var(--navy);
    color:var(--parchment);
    border-radius:6px;
    padding:18px 24px;
    text-align:center;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:12px;
  }

  @media (max-width:700px){
    .ride-hero{ grid-template-columns:1fr; }
    .ride-hero-copy h1{ font-size:26px; }
    .stat-grid{ grid-template-columns:repeat(2,1fr); }
    .related-grid{ grid-template-columns:1fr; }
    .story{ padding:26px 22px 6px; }
  }


/* ==== from thoughts-index-mockup.html ==== */

  :root{
    --parchment:#F2E8D0;
    --parchment-deep:#E6D6AE;
    --navy:#1B2A44;
    --red:#C1392B;
    --teal:#1E6E6E;
    --gold:#C9971F;
    --cream-line: rgba(27,42,68,0.18);
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    background:#25384F;
    background-image:
      radial-gradient(circle at 15% 20%, rgba(255,255,255,0.05) 0, transparent 45%),
      radial-gradient(circle at 85% 75%, rgba(0,0,0,0.15) 0, transparent 50%);
    font-family:'Vollkorn', serif;
    color:var(--navy);
    display:flex;
    justify-content:center;
    padding:32px 16px 64px;
  }
  .page{
    max-width:960px;
    width:100%;
    background:var(--parchment);
    background-image:
      repeating-linear-gradient(0deg, rgba(27,42,68,0.02) 0px, rgba(27,42,68,0.02) 1px, transparent 1px, transparent 3px);
    border:2px solid var(--navy);
    box-shadow:0 0 0 6px var(--parchment), 0 0 0 7px var(--navy), 0 18px 40px rgba(0,0,0,0.25);
  }

  .breadcrumb{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:14px 24px;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:13px;
    border-bottom:1px solid var(--cream-line);
  }
  .breadcrumb a{ color:var(--teal); text-decoration:none; }
  .breadcrumb a:hover{ text-decoration:underline; }
  .breadcrumb .sep{ opacity:0.5; margin:0 6px; }

  .section-header{
    text-align:center;
    padding:30px 24px 22px;
    border-bottom:3px double var(--navy);
  }
  .section-header .kicker{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:3px;
    font-size:13px;
    color:var(--red);
    margin-bottom:6px;
  }
  .section-header h1{
    font-family:'Alfa Slab One', serif;
    font-size:42px;
    margin:0;
    color:var(--navy);
    letter-spacing:1px;
  }
  .section-header .script-sub{
    font-family:'Pacifico', cursive;
    font-size:19px;
    color:var(--teal);
    margin:6px 0 0;
  }
  .section-header p.deck{
    max-width:520px;
    margin:14px auto 0;
    font-size:15px;
    line-height:1.6;
    color:#2c3a52;
  }

  .filter-row{
    display:flex;
    justify-content:center;
    gap:8px;
    flex-wrap:wrap;
    padding:20px 20px 4px;
  }
  .filter-chip{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1px;
    font-size:12px;
    padding:6px 14px;
    border:1.5px solid var(--navy);
    border-radius:20px;
    background:var(--parchment-deep);
    cursor:pointer;
  }
  .filter-chip.active{ background:var(--red); color:var(--parchment); border-color:var(--navy); }

  .featured{
    margin:24px 24px 0;
    display:grid;
    grid-template-columns:1.1fr 1fr;
    background:var(--navy);
    border-radius:6px;
    overflow:hidden;
  }
  .featured .fphoto{
    background:var(--parchment-deep);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--navy);
    opacity:0.5;
    font-family:'Bebas Neue', sans-serif;
    font-size:12px;
    letter-spacing:1px;
    min-height:220px;
  }
  .featured .fcopy{
    padding:24px 26px;
    color:var(--parchment);
  }
  .featured .ftag{
    display:inline-block;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:11px;
    background:var(--gold);
    color:var(--navy);
    padding:3px 10px;
    border-radius:3px;
    margin-bottom:10px;
  }
  .featured h2{
    font-family:'Alfa Slab One', serif;
    font-size:24px;
    margin:0 0 10px;
    line-height:1.15;
  }
  .featured p{
    font-size:14px;
    line-height:1.65;
    opacity:0.9;
    margin:0 0 14px;
  }
  .featured a.readmore{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:12px;
    color:var(--gold);
    text-decoration:none;
    border-bottom:1.5px solid var(--gold);
  }

  .story-list{
    padding:26px 24px 10px;
    display:flex;
    flex-direction:column;
    gap:16px;
  }
  .story-row{
    display:grid;
    grid-template-columns:150px 1fr;
    gap:18px;
    background:#fbf3de;
    border:1px solid var(--navy);
    border-radius:4px;
    overflow:hidden;
    text-decoration:none;
    color:var(--navy);
  }
  .story-row .rphoto{
    background:var(--parchment-deep);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--navy);
    opacity:0.5;
    font-family:'Bebas Neue', sans-serif;
    font-size:10px;
    letter-spacing:1px;
    text-align:center;
    min-height:110px;
  }
  .story-row .rcopy{
    padding:14px 16px 14px 0;
  }
  .story-row .rmeta{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1px;
    font-size:11px;
    color:var(--teal);
    margin-bottom:6px;
  }
  .story-row h3{
    font-family:'Alfa Slab One', serif;
    font-size:17px;
    margin:0 0 6px;
    color:var(--navy);
    line-height:1.2;
  }
  .story-row p{
    font-size:13.5px;
    line-height:1.55;
    margin:0;
    color:#2c3a52;
  }
  .stars{ color:var(--gold); font-size:13px; letter-spacing:1px; margin-top:6px; }

  footer.membership{
    margin:0 24px 28px;
    background:var(--navy);
    color:var(--parchment);
    border-radius:6px;
    padding:18px 24px;
    text-align:center;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:12px;
  }

  @media (max-width:700px){
    .featured{ grid-template-columns:1fr; }
    .story-row{ grid-template-columns:110px 1fr; }
    .section-header h1{ font-size:30px; }
  }


/* ==== from thoughts-single-mockup.html ==== */

  :root{
    --parchment:#F2E8D0;
    --parchment-deep:#E6D6AE;
    --navy:#1B2A44;
    --red:#C1392B;
    --teal:#1E6E6E;
    --gold:#C9971F;
    --cream-line: rgba(27,42,68,0.18);
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    background:#25384F;
    background-image:
      radial-gradient(circle at 15% 20%, rgba(255,255,255,0.05) 0, transparent 45%),
      radial-gradient(circle at 85% 75%, rgba(0,0,0,0.15) 0, transparent 50%);
    font-family:'Vollkorn', serif;
    color:var(--navy);
    display:flex;
    justify-content:center;
    padding:32px 16px 64px;
  }
  .page{
    max-width:960px;
    width:100%;
    background:var(--parchment);
    background-image:
      repeating-linear-gradient(0deg, rgba(27,42,68,0.02) 0px, rgba(27,42,68,0.02) 1px, transparent 1px, transparent 3px);
    border:2px solid var(--navy);
    box-shadow:0 0 0 6px var(--parchment), 0 0 0 7px var(--navy), 0 18px 40px rgba(0,0,0,0.25);
  }

  .breadcrumb{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:14px 24px;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:13px;
    border-bottom:1px solid var(--cream-line);
  }
  .breadcrumb a{ color:var(--teal); text-decoration:none; }
  .breadcrumb a:hover{ text-decoration:underline; }
  .breadcrumb .sep{ opacity:0.5; margin:0 6px; }

  .story-hero{
    background:var(--parchment-deep);
    min-height:260px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--navy);
    opacity:0.5;
    font-family:'Bebas Neue', sans-serif;
    font-size:13px;
    letter-spacing:1.5px;
    border-bottom:3px double var(--navy);
  }

  .article-head{
    text-align:center;
    padding:28px 30px 24px;
    border-bottom:1px solid var(--cream-line);
  }
  .article-head .park-tag{
    display:inline-block;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:11px;
    background:var(--teal);
    color:var(--parchment);
    padding:4px 12px;
    border-radius:3px;
    margin-bottom:12px;
  }
  .article-head h1{
    font-family:'Alfa Slab One', serif;
    font-size:32px;
    margin:0 0 14px;
    line-height:1.15;
    color:var(--navy);
    max-width:600px;
    margin-left:auto;
    margin-right:auto;
  }
  .byline-row{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1px;
    font-size:12px;
    opacity:0.75;
  }
  .byline-row .stars{ color:var(--gold); font-size:15px; letter-spacing:2px; }

  .article-body{
    padding:28px 40px 6px;
    max-width:640px;
    margin:0 auto;
  }
  .write-up-head{
    text-align:center;
    max-width:640px;
    margin:26px auto 0;
    padding:0 30px;
  }
  .write-up-head .script-sub{
    font-family:'Pacifico', cursive;
    font-size:19px;
    color:var(--teal);
    margin:0 0 2px;
  }
  .write-up-head h2{
    font-family:'Alfa Slab One', serif;
    font-size:19px;
    margin:0 0 12px;
    color:var(--navy);
    letter-spacing:0.5px;
  }
  .byline-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#fbf3de;
    border:1px solid var(--navy);
    border-radius:20px;
    padding:5px 14px 5px 6px;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1px;
    font-size:11.5px;
  }
  .byline-chip .avatar{
    width:22px; height:22px;
    border-radius:50%;
    background:var(--teal);
    color:var(--parchment);
    display:flex; align-items:center; justify-content:center;
    font-family:'Alfa Slab One', serif;
    font-size:11px;
  }
  .byline-chip .role{ opacity:0.6; }

  .mid-photo{
    margin:8px auto 26px;
    max-width:640px;
    padding:0 30px;
  }
  .mid-photo .mphoto{
    aspect-ratio:16/9;
    background:var(--parchment-deep);
    border:1.5px solid var(--navy);
    border-radius:4px;
    display:flex; align-items:center; justify-content:center;
    color:var(--navy); opacity:0.5;
    font-family:'Bebas Neue', sans-serif; font-size:12px; letter-spacing:1.5px;
  }
  .mid-photo .mcaption{
    text-align:center;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1px;
    font-size:11px;
    opacity:0.6;
    margin-top:6px;
  }

  .article-body h3.subhead{
    font-family:'Alfa Slab One', serif;
    font-size:17px;
    color:var(--red);
    margin:28px 0 12px;
  }
  .article-body p{
    font-size:15.5px;
    line-height:1.8;
    margin:0 0 18px;
    color:#2c3a52;
  }
  .article-body p:first-of-type::first-letter{
    font-family:'Alfa Slab One', serif;
    font-size:44px;
    float:left;
    line-height:0.8;
    padding:6px 8px 0 0;
    color:var(--red);
  }

  .pull-quote{
    margin:8px auto 26px;
    max-width:560px;
    text-align:center;
    padding:0 20px;
  }
  .pull-quote p{
    font-family:'Pacifico', cursive;
    font-size:22px;
    color:var(--teal);
    line-height:1.4;
    margin:0;
  }

  .verdict-box{
    margin:10px auto 30px;
    max-width:560px;
    background:#fbf3de;
    border:1.5px solid var(--navy);
    border-radius:6px;
    padding:18px 22px;
  }
  .verdict-box h4{
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:13px;
    color:var(--red);
    margin:0 0 10px;
  }
  .verdict-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .verdict-item{
    display:flex;
    justify-content:space-between;
    font-family:'Bebas Neue', sans-serif;
    font-size:12px;
    letter-spacing:0.5px;
    border-bottom:1px dotted var(--cream-line);
    padding:4px 0;
  }
  .verdict-item .v-label{ opacity:0.65; }
  .verdict-item .v-val{ color:var(--navy); font-weight:bold; }

  .gallery-section{ padding:6px 24px 10px; }
  .gallery-heading{ text-align:center; margin-bottom:16px; }
  .gallery-heading .script-sub{ font-family:'Pacifico', cursive; font-size:18px; color:var(--teal); margin:0; }
  .gallery-heading h3{ font-family:'Alfa Slab One', serif; font-size:18px; margin:2px 0 0; color:var(--navy); }
  .gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(130px, 1fr));
    gap:12px;
    padding-bottom:26px;
  }
  .gallery-card{ background:var(--navy); border-radius:4px; overflow:hidden; }
  .gallery-grid .photo-placeholder{
    aspect-ratio:1/1;
    background:var(--parchment-deep);
    display:flex; align-items:center; justify-content:center;
    color:var(--navy); opacity:0.5;
    font-family:'Bebas Neue', sans-serif; font-size:10px; letter-spacing:1px; text-align:center;
  }
  .gallery-card .caption{
    padding:7px 8px;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:0.5px;
    font-size:11px;
    color:var(--parchment);
    line-height:1.25;
  }

  .related{ padding:6px 24px 30px; border-top:1px solid var(--cream-line); margin-top:10px; }
  .related-label{ font-family:'Bebas Neue', sans-serif; letter-spacing:2px; font-size:12px; text-align:center; opacity:0.7; margin:20px 0 14px; }
  .related-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
  .related-card{
    background:var(--parchment-deep);
    border:1px solid var(--cream-line);
    border-radius:4px;
    padding:12px;
    text-align:center;
    text-decoration:none;
    color:var(--navy);
  }
  .related-card:hover{ border-color:var(--navy); }
  .related-card .rel-photo{
    aspect-ratio:4/3; background:#fbf3de; border:1px dashed var(--navy); border-radius:3px; margin-bottom:8px;
    display:flex; align-items:center; justify-content:center; font-family:'Bebas Neue', sans-serif; font-size:10px; opacity:0.45;
  }
  .related-card .rel-name{ font-family:'Bebas Neue', sans-serif; letter-spacing:1px; font-size:12.5px; }

  footer.membership{
    margin:0 24px 28px;
    background:var(--navy);
    color:var(--parchment);
    border-radius:6px;
    padding:18px 24px;
    text-align:center;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:1.5px;
    font-size:12px;
  }

  @media (max-width:700px){
    .article-head h1{ font-size:24px; }
    .article-body{ padding:24px 22px 6px; }
    .write-up-head{ padding:0 22px; }
    .mid-photo{ padding:0 22px; }
    .verdict-grid{ grid-template-columns:1fr; }
    .related-grid{ grid-template-columns:1fr; }
  }

