.trail-hero { position: relative; min-height: 34rem; display: grid; align-items: end; background: var(--color-surface); overflow: hidden; }
.trail-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.trail-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,19,22,.15), rgba(15,19,22,.82)); }
.trail-hero-copy { position: relative; z-index: 1; width: 100%; max-width: var(--content-wide); margin-inline: auto; padding: var(--space-32) clamp(20px,5vw,80px) var(--space-12); }
.trail-hero h1 { color: #fff; font-weight: 500; font-size: clamp(2.3rem,5vw,4.5rem); line-height: 1.08; margin-block: var(--space-4); max-width: 17ch; }
.trail-hero .section-eyebrow, .trail-hero p { color: #fff; }
.trail-hero .trail-intro { font-size: var(--text-base); max-width: 58ch; }
.trail-hero .btn-ghost { color: #fff; border-color: rgba(255,255,255,.7); }
.trail-hero .btn-ghost:hover { background: #fff; color: #1f2527; }
.trail-wrap { max-width: var(--content-wide); margin-inline: auto; padding: var(--space-12) clamp(20px,5vw,80px); }
.trail-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--space-6); padding-bottom: var(--space-10); border-bottom: 1px solid var(--color-divider); }
.trail-stats dt { font-size: var(--text-xs); text-transform: uppercase; letter-spacing: .12em; color: var(--color-text-muted); margin-bottom: var(--space-2); }
.trail-stats dd { font-size: var(--text-lg); font-weight: 700; margin: 0; }
.trail-section { margin-block: var(--space-16); scroll-margin-top: 6rem; }
.trail-section h2 { font-weight: 500; font-size: var(--text-xl); margin-bottom: var(--space-5); }
.trail-section p { color: var(--color-text-muted); max-width: 72ch; line-height: 1.7; }
.trail-section p + p { margin-top: var(--space-4); }
.trail-byline { margin-top: var(--space-6); font-size: var(--text-sm); }
.trail-byline a { text-decoration: underline; text-underline-offset: .2em; }
.trail-days { margin-top: var(--space-8); }
.trail-day { display: grid; grid-template-columns: 6rem minmax(0,1fr); gap: var(--space-6); padding-block: var(--space-6); border-bottom: 1px solid var(--color-divider); }
.trail-day-number { color: var(--color-accent); font-size: var(--text-lg); font-weight: 700; }
.trail-day h3 { font-family: var(--font-body); font-size: var(--text-lg); margin: 0 0 var(--space-2); }
.trail-day .trail-day-meta { margin-top: var(--space-3); font-size: var(--text-sm); }
.trail-columns { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-10); }
.trail-columns h3 { font-family: var(--font-body); font-size: var(--text-lg); margin-bottom: var(--space-4); }
.trail-columns ul { list-style: disc; padding-left: var(--space-5); color: var(--color-text-muted); }
.trail-columns li { margin-bottom: var(--space-3); line-height: 1.6; }
.trail-enquiry { padding: var(--space-8); background: var(--color-surface); border: 1px solid var(--color-divider); border-radius: var(--radius-lg); }
.trail-enquiry a { overflow-wrap: anywhere; }
.trail-actions { display: flex; flex-wrap: wrap; gap: var(--space-4); margin-top: var(--space-6); }
.trail-actions .btn { white-space: normal; text-align: center; }
.trail-note { font-size: var(--text-sm); }
.trail-return { display: inline-block; margin-bottom: var(--space-6); }
[data-theme="dark"] .site-header { background: var(--color-bg); }
[data-theme="dark"] .trail-wrap .btn-ghost,
[data-theme="dark"] .trail-wrap .link-arrow { color: var(--color-text); }
[data-theme="dark"] .trail-wrap .btn-ghost:hover { color: var(--color-bg); }
@media (max-width:720px) {
  .trail-hero { min-height: 32rem; }
  .trail-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trail-columns { grid-template-columns: 1fr; }
  .trail-section { margin-block: var(--space-12); }
  .trail-day { grid-template-columns: 1fr; gap: var(--space-2); }
  .trail-enquiry { padding: var(--space-6); }
}
