
.site-nav a.active{color:var(--gold)}
.trips-hero{padding:158px clamp(22px,5vw,78px) 70px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;background:radial-gradient(circle at 78% 35%,rgba(200,155,60,.14),transparent 30%),linear-gradient(135deg,#10241e,#03090b)}
.trips-hero-copy{max-width:850px}
.trips-hero h1{margin:4px 0 16px;font:500 clamp(52px,7vw,96px)/1 Cinzel,serif}
.trips-hero-copy>p:last-child{max-width:690px;color:#d7dfdb;line-height:1.75}
.trips-source{min-width:245px;padding:17px 20px;display:flex;align-items:center;gap:12px;border:1px solid rgba(200,155,60,.45);background:rgba(4,13,16,.64)}
.trips-source>span{width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 14px rgba(200,155,60,.72)}
.trips-source div{display:grid}
.trips-source small{color:var(--muted);text-transform:uppercase;letter-spacing:.13em;font-size:8px}
.trips-source strong{margin-top:3px;font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.trips-source.is-live>span{background:#7fbd84;box-shadow:0 0 14px rgba(127,189,132,.75)}
.trips-summary{margin:-23px clamp(22px,5vw,78px) 0;position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--gold);background:#071014}
.trips-summary article{padding:25px 28px;display:grid;border-right:1px solid rgba(200,155,60,.34)}
.trips-summary article:last-child{border-right:0}
.summary-value{color:var(--cream);font:500 38px Cinzel,serif}
.trips-summary small{margin-top:5px;color:var(--gold);text-transform:uppercase;letter-spacing:.12em}
.featured-trip{padding:78px clamp(22px,5vw,78px)}
.featured-shell{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);border:1px solid rgba(200,155,60,.55);background:linear-gradient(135deg,#0e221d,#061015)}
.featured-mark{min-height:430px;padding:42px;display:grid;place-items:center;background:radial-gradient(circle,rgba(200,155,60,.15),transparent 48%)}
.featured-mark img{width:min(250px,70%);height:auto}
.featured-copy{padding:48px;display:flex;flex-direction:column;justify-content:center}
.featured-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.featured-meta span{padding:7px 10px;border:1px solid rgba(200,155,60,.42);color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.featured-copy h2{margin:0;font:500 clamp(37px,4vw,58px)/1.08 Cinzel,serif}
.featured-copy .tagline{margin:14px 0 0;color:var(--gold);font:400 30px "Great Vibes",cursive}
.featured-course-list{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.featured-course-list span{padding:9px 12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);font-size:11px}
.featured-actions{display:flex;gap:12px;align-items:center}
.text-link{color:var(--gold);text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:10px}
.trip-archive{padding:70px clamp(22px,5vw,78px);background:#f4eee2;color:#15211e}
.archive-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}
.archive-heading h2{margin:4px 0 0;font:500 clamp(38px,4vw,58px) Cinzel,serif}
.trip-filters{display:flex;flex-wrap:wrap;gap:8px}
.trip-filters button{border:1px solid #9f8a5e;background:transparent;color:#15211e;padding:10px 13px;text-transform:uppercase;letter-spacing:.1em;font-size:10px;cursor:pointer}
.trip-filters button.is-active{background:#15211e;color:#fff;border-color:#15211e}
.trip-list{display:grid;gap:18px}
.archive-card{display:grid;grid-template-columns:120px minmax(0,1.35fr) minmax(230px,.65fr) auto;gap:24px;align-items:center;padding:24px;border:1px solid #d5c7af;background:#fff;text-decoration:none;color:#15211e;transition:transform .2s ease,border-color .2s ease}
.archive-card:hover{transform:translateY(-2px);border-color:#9f7d38}
.archive-mark{width:100px;height:100px}
.archive-year{color:#9d762d;font-weight:600;letter-spacing:.12em}
.archive-title{margin:6px 0 4px;font:500 27px Cinzel,serif}
.archive-location{color:#66716c;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.archive-tagline{margin:13px 0 0;color:#48544f;line-height:1.5}
.archive-courses{display:flex;flex-wrap:wrap;gap:6px}
.archive-courses span{padding:7px 8px;background:#f2ede5;font-size:10px}
.archive-result{display:grid;gap:5px;min-width:145px}
.archive-result small{color:#7c8781;text-transform:uppercase;letter-spacing:.1em;font-size:8px}
.archive-result strong{font:500 14px Cinzel,serif}
.archive-arrow{color:#9d762d;font-size:25px}
.trip-error{padding:24px;border:1px solid #b55;background:#fff0f0}
.sheet-callout{margin:0 clamp(22px,4vw,64px) 70px;padding:34px 38px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;border:1px solid var(--gold)}
.sheet-callout h2{margin:5px 0 10px;font:500 clamp(28px,3vw,42px) Cinzel,serif}
.sheet-callout p:not(.eyebrow){max-width:720px;color:#c7d0cc;line-height:1.65}
.sheet-callout .outline-button{margin:0}
@media(max-width:980px){
  .trips-hero{grid-template-columns:1fr}
  .trips-source{justify-self:start}
  .featured-shell{grid-template-columns:1fr}
  .featured-mark{min-height:300px}
  .archive-card{grid-template-columns:100px minmax(0,1fr) auto}
  .archive-courses{grid-column:2/4}
  .archive-result{grid-column:2}
  .sheet-callout{grid-template-columns:1fr}
  .sheet-callout .outline-button{justify-self:start}
}
@media(max-width:680px){
  .trips-hero{padding:120px 22px 58px}
  .trips-summary{margin:-17px 22px 0;grid-template-columns:1fr}
  .trips-summary article{border-right:0;border-bottom:1px solid rgba(200,155,60,.34)}
  .trips-summary article:last-child{border-bottom:0}
  .featured-trip,.trip-archive{padding:55px 22px}
  .featured-copy{padding:28px}
  .archive-heading{align-items:start;flex-direction:column}
  .archive-card{grid-template-columns:76px minmax(0,1fr);padding:18px;gap:15px}
  .archive-mark{width:70px;height:70px}
  .archive-courses,.archive-result{grid-column:1/-1}
  .archive-arrow{display:none}
  .sheet-callout{margin:0 22px 55px;padding:26px 22px}
}


/* Mobile-first polish: isolated to the Trips page */
@media (max-width:700px){
  body{overflow-x:hidden}
  .trips-hero{
    padding:110px 18px 52px;
    gap:26px;
    background:
      radial-gradient(circle at 86% 18%,rgba(200,155,60,.16),transparent 32%),
      linear-gradient(145deg,#10241e,#03090b 72%);
  }
  .trips-hero h1{
    margin-top:8px;
    font-size:clamp(42px,13vw,54px);
    line-height:1;
    letter-spacing:-.025em;
  }
  .trips-hero-copy>p:last-child{
    margin-bottom:0;
    font-size:14px;
    line-height:1.7;
  }
  .trips-source{
    width:100%;
    min-width:0;
    padding:13px 14px;
  }
  .trips-source strong{font-size:10px}

  .trips-summary{
    margin:-18px 14px 0;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .trips-summary article{
    min-width:0;
    padding:18px 7px 16px;
    justify-items:center;
    text-align:center;
    border-right:1px solid rgba(200,155,60,.34);
    border-bottom:0;
  }
  .trips-summary article:last-child{border-right:0}
  .summary-value{font-size:29px;line-height:1}
  .trips-summary small{
    margin-top:7px;
    font-size:7px;
    line-height:1.35;
    letter-spacing:.1em;
  }

  .featured-trip{padding:44px 14px 52px}
  .featured-shell{grid-template-columns:1fr}
  .featured-mark{
    min-height:190px;
    padding:22px;
    border-bottom:1px solid rgba(200,155,60,.32);
  }
  .featured-mark img{width:138px;max-height:138px}
  .featured-copy{padding:25px 18px 28px}
  .featured-meta{gap:6px;margin-bottom:17px}
  .featured-meta span{padding:6px 8px;font-size:8px}
  .featured-copy h2{
    font-size:clamp(31px,9vw,39px);
    line-height:1.08;
  }
  .featured-copy .tagline{font-size:27px;line-height:1.05}
  .featured-copy>p:not(.eyebrow):not(.tagline){font-size:12px;line-height:1.55}
  .featured-course-list{gap:6px;margin:20px 0}
  .featured-course-list span{padding:8px 9px;font-size:9px}
  .featured-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
  }
  .featured-actions .outline-button{
    width:100%;
    justify-content:space-between;
    margin:0;
    padding:13px 14px;
  }
  .text-link{white-space:nowrap}

  .trip-archive{padding:48px 14px 52px}
  .archive-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:22px;
    margin-bottom:22px;
  }
  .archive-heading h2{font-size:40px;line-height:1}
  .trip-filters{
    width:100%;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
  }
  .trip-filters button{
    min-width:0;
    padding:10px 5px;
    font-size:8px;
  }
  .trip-list{gap:13px}
  .archive-card{
    grid-template-columns:64px minmax(0,1fr);
    gap:12px;
    padding:16px;
    align-items:start;
  }
  .archive-mark{width:62px;height:62px}
  .archive-year{font-size:9px;line-height:1.3}
  .archive-title{margin:4px 0;font-size:22px;line-height:1.08}
  .archive-location{
    display:block;
    font-size:8.5px;
    line-height:1.45;
    letter-spacing:.075em;
  }
  .archive-tagline{margin:9px 0 0;font-size:12px;line-height:1.45}
  .archive-courses{
    grid-column:1/-1;
    gap:5px;
    margin-top:2px;
  }
  .archive-courses span{padding:6px 7px;font-size:8px;line-height:1.25}
  .archive-result{
    grid-column:1/-1;
    min-width:0;
    grid-template-columns:auto minmax(0,1fr);
    gap:5px 10px;
    padding-top:11px;
    border-top:1px solid #e3d8c5;
  }
  .archive-result small{font-size:7px;align-self:center}
  .archive-result strong{font-size:12px;min-width:0}
  .archive-arrow{display:none}

  .sheet-callout{
    margin:0 14px 48px;
    padding:25px 18px;
    gap:22px;
  }
  .sheet-callout h2{font-size:29px;line-height:1.15}
  .sheet-callout p:not(.eyebrow){font-size:13px;line-height:1.65}
  .sheet-callout .outline-button{
    width:100%;
    justify-content:space-between;
    margin:0;
  }
}

@media (max-width:370px){
  .trips-hero{padding-left:14px;padding-right:14px}
  .trips-summary{margin-left:10px;margin-right:10px}
  .summary-value{font-size:26px}
  .featured-trip,.trip-archive{padding-left:10px;padding-right:10px}
  .featured-actions{grid-template-columns:1fr}
  .text-link{justify-self:start;padding:5px 0}
  .sheet-callout{margin-left:10px;margin-right:10px}
}


/* Live trip roster from Trips Attendance */
.trip-roster{margin-top:22px;padding:30px;border:1px solid rgba(200,155,60,.42);background:#081411}
.roster-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}
.roster-heading h3{margin:4px 0 0;font:500 clamp(25px,3vw,38px) Cinzel,serif}
.roster-heading>span{color:var(--gold);font-size:9px;text-transform:uppercase;letter-spacing:.12em}
.roster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.roster-card{min-width:0;padding:14px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035)}
.roster-photo{width:52px;height:52px;border-radius:50%;overflow:hidden;display:grid;place-items:center;border:1px solid rgba(200,155,60,.65);background:#13241f}
.roster-photo img{width:100%;height:100%;object-fit:cover}
.roster-initials{color:var(--gold);font:600 16px Cinzel,serif}
.roster-copy{min-width:0;display:grid;gap:3px}
.roster-copy strong{font:500 14px Cinzel,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.roster-nickname{color:var(--gold);font-size:10px}
.roster-copy small{color:#aeb9b4;font-size:9px;line-height:1.35}
.roster-role{justify-self:start;margin-top:3px;padding:3px 6px;border:1px solid rgba(200,155,60,.35);color:var(--gold);font-size:7px;text-transform:uppercase;letter-spacing:.1em}
.trip-roster-empty>p{margin:0;color:#aeb9b4}
@media(max-width:980px){
  .roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .trip-roster{margin-top:14px;padding:20px 16px}
  .roster-heading{align-items:start;flex-direction:column;gap:8px}
  .roster-grid{grid-template-columns:1fr}
  .roster-card{grid-template-columns:46px minmax(0,1fr);padding:12px}
  .roster-photo{width:46px;height:46px}
}
