/* inner.css — shared styles for rides, gallery, events, gear-rental, contact, join pages */

/* Rides */
.rides-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.rides-upcoming-card { background:var(--bg-1); border:1px solid var(--line-2); border-radius:var(--r-xl); padding:2rem; transition:border-color var(--t),transform var(--t); }
.rides-upcoming-card:hover { border-color:var(--orange-bd); transform:translateY(-4px); }
.rides-upcoming-card__tag { font-family:var(--f-head); font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--orange); margin-bottom:.625rem; display:block; }
.rides-upcoming-card__title { font-family:var(--f-head); font-size:1.5rem; font-weight:800; letter-spacing:-.025em; margin-bottom:.75rem; line-height:1.1; }
.rides-upcoming-card__meta { font-size:.875rem; color:var(--ink-2); margin-bottom:1.5rem; line-height:1.75; }
.rides-upcoming-card__pills { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1.5rem; }

/* Gallery */
.gal-mosaic { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:220px; gap:.75rem; }
.gal-mosaic .gal-item--tall { grid-row:span 2; }
.gal-mosaic .gal-item--wide { grid-column:span 2; }

/* Events */
.events-list { display:flex; flex-direction:column; gap:1rem; }
.events-item { display:grid; grid-template-columns:80px 1fr auto; gap:1.5rem; align-items:center; background:var(--bg-1); border:1px solid var(--line); border-radius:var(--r-xl); padding:1.5rem; transition:border-color var(--t),transform var(--t); }
.events-item:hover { border-color:var(--line-2); transform:translateX(4px); }
.events-item__date { text-align:center; }
.events-item__day { font-family:var(--f-head); font-size:2.25rem; font-weight:900; color:var(--orange); line-height:1; letter-spacing:-.04em; display:block; }
.events-item__month { font-family:var(--f-head); font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); }
.events-item__divider { width:1px; height:52px; background:var(--line); }
.events-item__title { font-family:var(--f-head); font-size:1.125rem; font-weight:800; letter-spacing:-.015em; margin-bottom:.25rem; }
.events-item__sub { font-size:.875rem; color:var(--ink-2); }
.events-item__cta { flex-shrink:0; }

/* Gear */
.gear-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.gear-card { background:var(--bg-1); border:1px solid var(--line); border-radius:var(--r-xl); overflow:hidden; transition:border-color var(--t),transform var(--t); }
.gear-card:hover { border-color:var(--orange-bd); transform:translateY(-5px); }
.gear-card__thumb { aspect-ratio:4/3; background:var(--bg-2); display:flex; align-items:center; justify-content:center; font-size:4rem; overflow:hidden; }
.gear-card__thumb img { width:100%; height:100%; object-fit:cover; }
.gear-card__body { padding:1.5rem; }
.gear-card__name { font-family:var(--f-head); font-size:1.125rem; font-weight:800; letter-spacing:-.015em; margin-bottom:.375rem; }
.gear-card__desc { font-size:.8125rem; color:var(--ink-2); line-height:1.65; margin-bottom:1rem; }
.gear-card__price { font-family:var(--f-head); font-size:1.125rem; font-weight:900; color:var(--orange); letter-spacing:-.01em; display:block; margin-bottom:1rem; }

/* Contact / Join forms */
.form-card { background:var(--bg-1); border:1px solid var(--line-2); border-radius:var(--r-xl); padding:2.75rem; }
.form-card h2 { font-family:var(--f-head); font-size:1.75rem; font-weight:900; letter-spacing:-.03em; margin-bottom:.375rem; }
.form-card p.sub { font-size:.875rem; color:var(--ink-2); margin-bottom:2rem; }
.form-section-label { font-family:var(--f-head); font-size:.68rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--orange); border-bottom:1px solid var(--line); padding-bottom:.5rem; margin:1.75rem 0 1rem; display:block; }
.join-perks { display:flex; flex-direction:column; gap:1rem; }
.join-perk { display:flex; gap:.875rem; background:var(--bg-1); border:1px solid var(--line); border-radius:var(--r-lg); padding:1.125rem; }
.join-perk__icon { font-size:1.375rem; flex-shrink:0; }
.join-perk__title { font-family:var(--f-head); font-size:.875rem; font-weight:700; letter-spacing:-.01em; margin-bottom:.2rem; }
.join-perk__text { font-size:.8125rem; color:var(--ink-2); line-height:1.6; }
.guidelines-scroll { background:var(--bg-2); border:1px solid var(--line); border-radius:var(--r-lg); padding:1.25rem; max-height:200px; overflow-y:auto; margin-bottom:1.5rem; }
.guidelines-scroll ol { list-style:decimal; padding-left:1.25rem; display:flex; flex-direction:column; gap:.5rem; }
.guidelines-scroll li { font-size:.8125rem; color:var(--ink-2); line-height:1.6; }
.contact-info-block { display:flex; flex-direction:column; gap:1.5rem; margin-bottom:2.5rem; }
.contact-info-row { display:flex; gap:1rem; align-items:flex-start; }
.contact-info-icon { width:42px; height:42px; border-radius:var(--r-lg); background:var(--orange-lt); border:1px solid var(--orange-bd); display:flex; align-items:center; justify-content:center; font-size:1.125rem; flex-shrink:0; }
.contact-info-label { font-family:var(--f-head); font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); margin-bottom:.25rem; display:block; }
.contact-info-val { font-size:.9375rem; color:var(--ink); }
.contact-info-val a { color:var(--orange); }

/* FAQ */
.faq-list { max-width:760px; margin-inline:auto; }

/* Page layout helpers */
.page-two-col { display:grid; grid-template-columns:1fr 1.5fr; gap:5rem; align-items:start; }
.page-sidebar-left { display:grid; grid-template-columns:1fr 1.75fr; gap:5rem; align-items:start; }

@media(max-width:1024px){
  .rides-grid,.gear-grid { grid-template-columns:repeat(2,1fr); }
  .page-two-col,.page-sidebar-left { grid-template-columns:1fr; gap:3rem; }
}
@media(max-width:768px){
  .rides-grid,.gear-grid { grid-template-columns:1fr; }
  .events-item { grid-template-columns:auto 1fr; }
  .events-item__divider,.events-item__cta { display:none; }
  .gal-mosaic { grid-template-columns:repeat(2,1fr); }
  .gal-mosaic .gal-item--wide,.gal-mosaic .gal-item--tall { grid-column:span 1; grid-row:span 1; }
}
@media(max-width:480px){
  .gal-mosaic { grid-template-columns:1fr; }
}

/* ── ABOUT PAGE ADDITIONS ── */
.origin-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.origin-text p { font-size:.9875rem; color:var(--ink-2); line-height:1.85; margin-bottom:1.375rem; }
.origin-text p strong { color:var(--ink); }
.origin-sidebar { display:flex; flex-direction:column; gap:1.5rem; }
.stat-box { background:var(--bg-1); border:1px solid var(--line); border-radius:var(--r-xl); padding:2rem; text-align:center; }
.manifesto-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.manifesto-rules { display:flex; flex-direction:column; gap:0; }
.manifesto-rule { display:flex; gap:1.5rem; padding:1.5rem 0; border-bottom:1px solid var(--line); }
.manifesto-rule:first-child { padding-top:0; }
.manifesto-rule__num { font-family:var(--f-head); font-size:2.5rem; font-weight:900; color:var(--orange); opacity:.18; line-height:1; flex-shrink:0; width:2.5rem; letter-spacing:-.06em; }
.manifesto-rule strong { display:block; font-family:var(--f-head); font-size:.9375rem; font-weight:700; color:var(--ink); margin-bottom:.35rem; }
.manifesto-rule p { font-size:.875rem; color:var(--ink-2); line-height:1.7; }
.manifesto-aside { background:var(--bg-1); border:1px solid var(--orange-bd); border-radius:var(--r-xl); padding:2.5rem; position:sticky; top:calc(var(--nav-h) + 2rem); }
.manifesto-aside h3 { font-family:var(--f-head); font-size:1.5rem; font-weight:800; letter-spacing:-.025em; line-height:1.2; margin-bottom:1rem; }
.manifesto-aside h3 em { font-style:italic; color:var(--orange); }
.manifesto-aside p { font-size:.9rem; color:var(--ink-2); line-height:1.75; margin-bottom:1.5rem; }
.manifesto-checklist { display:flex; flex-direction:column; gap:.625rem; margin-bottom:1.75rem; }
.manifesto-checklist li { display:flex; align-items:center; gap:.75rem; font-size:.875rem; color:var(--ink-2); }
.manifesto-checklist li::before { content:''; width:18px; height:18px; border-radius:50%; background:var(--orange-lt); border:1.5px solid var(--orange-bd); display:flex; align-items:center; justify-content:center; flex-shrink:0; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l2.5 2.5L9 1' stroke='%23FFD000' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:center; }
.team-grid-about { display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; max-width:760px; margin-inline:auto; }
.team-card-about { background:var(--bg-1); border:1px solid var(--line); border-radius:var(--r-xl); overflow:hidden; transition:border-color var(--t),transform var(--t); }
.team-card-about:hover { border-color:var(--orange-bd); transform:translateY(-5px); }
.team-card-about__img { width:100%; aspect-ratio:1/1; object-fit:cover; object-position:top; }
.team-card-about__body { padding:1.75rem; }
.team-card-about__name { font-family:var(--f-head); font-size:1.25rem; font-weight:800; letter-spacing:-.02em; margin-bottom:.25rem; }
.team-card-about__role { font-family:var(--f-head); font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--orange); margin-bottom:1rem; display:block; }
.team-card-about__bio { font-size:.875rem; color:var(--ink-2); line-height:1.72; }
.community-card { background:var(--bg-1); border:1px solid var(--line-2); border-radius:var(--r-xl); padding:2.5rem; display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center; }
.community-card h3 { font-family:var(--f-head); font-size:1.5rem; font-weight:800; letter-spacing:-.025em; margin-bottom:.75rem; }
.community-card p { font-size:.9375rem; color:var(--ink-2); line-height:1.75; }

/* ── RIDES PAGE ADDITIONS ── */
.rides-hero-banner { position:relative; border-radius:var(--r-xl); overflow:hidden; margin-bottom:4rem; }
.rides-hero-banner img { width:100%; aspect-ratio:21/9; object-fit:cover; }
.rides-hero-banner__over { position:absolute; inset:0; background:linear-gradient(to right,rgba(0,0,0,.85) 0%,rgba(0,0,0,.3) 60%,transparent 100%); display:flex; align-items:center; padding:3rem; }
.rides-category-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-bottom:4rem; }
.rides-cat { position:relative; border-radius:var(--r-xl); overflow:hidden; cursor:pointer; }
.rides-cat img { width:100%; aspect-ratio:3/4; object-fit:cover; transition:transform .6s ease; }
.rides-cat:hover img { transform:scale(1.06); }
.rides-cat__over { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.95) 0%,rgba(0,0,0,.4) 45%,transparent 100%); display:flex; flex-direction:column; justify-content:flex-end; padding:1.75rem; }
.rides-cat__tag { font-family:var(--f-head); font-size:.68rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--orange); margin-bottom:.5rem; }
.rides-cat__title { font-family:var(--f-head); font-size:1.75rem; font-weight:900; letter-spacing:-.03em; color:#fff; line-height:1.05; margin-bottom:.5rem; }
.rides-cat__meta { font-size:.8125rem; color:rgba(255,255,255,.6); margin-bottom:1.25rem; }
.rides-cat__btn { display:inline-flex; align-items:center; gap:.5rem; font-family:var(--f-head); font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--orange); opacity:0; transform:translateY(8px); transition:opacity .25s,transform .25s; }
.rides-cat:hover .rides-cat__btn { opacity:1; transform:translateY(0); }
.upcoming-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; margin-bottom:4rem; }
.upcoming-card { background:var(--bg-1); border:1px solid var(--line); border-radius:var(--r-xl); overflow:hidden; transition:border-color var(--t),transform var(--t); display:flex; flex-direction:column; }
.upcoming-card:hover { border-color:var(--orange-bd); transform:translateY(-4px); }
.upcoming-card img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.upcoming-card__body { padding:1.75rem; flex:1; display:flex; flex-direction:column; }
.upcoming-card__tag { font-family:var(--f-head); font-size:.68rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--orange); margin-bottom:.625rem; display:block; }
.upcoming-card__title { font-family:var(--f-head); font-size:1.375rem; font-weight:800; letter-spacing:-.025em; margin-bottom:.625rem; }
.upcoming-card__route { font-size:.875rem; color:var(--ink-2); margin-bottom:1rem; }
.upcoming-card__pills { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1.25rem; }
.upcoming-card__footer { margin-top:auto; display:flex; gap:.875rem; }
.past-rides-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }

/* ── GALLERY PAGE ADDITIONS ── */
.gallery-hero-mosaic { display:grid; grid-template-columns:1fr 1fr 1fr; grid-template-rows:260px 260px; gap:.75rem; margin-bottom:1rem; border-radius:var(--r-xl); overflow:hidden; }
.gal-hero-item { overflow:hidden; position:relative; }
.gal-hero-item img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.gal-hero-item:hover img { transform:scale(1.06); }
.gal-hero-item--tall { grid-row:span 2; }
.gal-masonry { columns:3; column-gap:.75rem; }
.gal-masonry-item { break-inside:avoid; margin-bottom:.75rem; border-radius:var(--r-lg); overflow:hidden; position:relative; cursor:pointer; display:block; background:var(--bg-2); }
.gal-masonry-item img { width:100%; display:block; transition:transform .5s ease; }
.gal-masonry-item:hover img { transform:scale(1.05); }
.gal-masonry-over { position:absolute; inset:0; background:transparent; transition:background var(--t); display:flex; align-items:center; justify-content:center; }
.gal-masonry-item:hover .gal-masonry-over { background:rgba(0,0,0,.4); }
.gal-masonry-over-icon { font-size:1.75rem; opacity:0; transition:opacity var(--t); }
.gal-masonry-item:hover .gal-masonry-over-icon { opacity:1; }

/* ── EVENTS PAGE ADDITIONS ── */
.events-featured { display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:center; background:var(--bg-1); border:1px solid var(--orange-bd); border-radius:var(--r-xl); padding:2.75rem; position:relative; overflow:hidden; margin-bottom:4rem; }
.events-featured::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--orange); }
.events-featured__eye { font-family:var(--f-head); font-size:.7rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--orange); margin-bottom:.75rem; display:block; }
.events-featured__title { font-family:var(--f-head); font-size:clamp(1.75rem,3vw,2.75rem); font-weight:900; letter-spacing:-.035em; line-height:1.05; margin-bottom:.625rem; }
.events-featured__meta { font-size:.9375rem; color:var(--ink-2); margin-bottom:1.5rem; }
.events-featured__pills { display:flex; gap:.625rem; flex-wrap:wrap; margin-bottom:1.75rem; }
.events-featured__btns { display:flex; gap:1rem; flex-wrap:wrap; }
.events-list-full { display:flex; flex-direction:column; gap:.875rem; }
.events-list-item { display:grid; grid-template-columns:88px 1fr auto; gap:1.75rem; align-items:center; background:var(--bg-1); border:1px solid var(--line); border-radius:var(--r-xl); padding:1.625rem 2rem; transition:border-color var(--t),transform var(--t); }
.events-list-item:hover { border-color:var(--line-2); transform:translateX(6px); }
.events-list-date { text-align:center; flex-shrink:0; }
.events-list-day { font-family:var(--f-head); font-size:2.5rem; font-weight:900; color:var(--orange); line-height:1; letter-spacing:-.04em; display:block; }
.events-list-month { font-family:var(--f-head); font-size:.62rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3); }
.events-list-title { font-family:var(--f-head); font-size:1.1875rem; font-weight:800; letter-spacing:-.02em; margin-bottom:.375rem; }
.events-list-sub { font-size:.875rem; color:var(--ink-2); line-height:1.5; }
.events-list-cta { flex-shrink:0; display:flex; flex-direction:column; align-items:flex-end; gap:.625rem; }
.how-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; counter-reset:steps; }
.how-step { position:relative; }
.how-step::before { counter-increment:steps; content:counter(steps,decimal-leading-zero); font-family:var(--f-head); font-size:3.5rem; font-weight:900; color:var(--orange); opacity:.12; line-height:1; letter-spacing:-.05em; display:block; margin-bottom:.5rem; }
.how-step::after { content:''; position:absolute; top:1.75rem; right:-1rem; width:1.875rem; height:1.5px; background:var(--line-2); }
.how-step:last-child::after { display:none; }
.how-step h3 { font-family:var(--f-head); font-size:1rem; font-weight:700; letter-spacing:-.01em; margin-bottom:.5rem; }
.how-step p { font-size:.875rem; color:var(--ink-2); line-height:1.7; }

/* ── GEAR PAGE ADDITIONS ── */
.gear-hero-split { display:grid; grid-template-columns:1fr 1fr; gap:0; min-height:70vh; }
.gear-hero-split__img { position:relative; overflow:hidden; }
.gear-hero-split__img img { width:100%; height:100%; object-fit:cover; }
.gear-hero-split__img-veil { position:absolute; inset:0; background:rgba(0,0,0,.3); }
.gear-hero-split__text { background:var(--bg-1); display:flex; align-items:center; padding:5rem; }
.gear-policy-row { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.gear-booking-layout { display:grid; grid-template-columns:1fr 1.4fr; gap:4rem; align-items:start; }
.gear-booking-info { display:flex; flex-direction:column; gap:1.5rem; }
.gear-booking-info-item { display:flex; gap:1rem; align-items:flex-start; }
.gear-booking-info-icon { width:44px; height:44px; border-radius:var(--r-lg); background:var(--orange-lt); border:1px solid var(--orange-bd); display:flex; align-items:center; justify-content:center; font-size:1.25rem; flex-shrink:0; }
.gear-booking-info-title { font-family:var(--f-head); font-size:.8125rem; font-weight:700; letter-spacing:-.01em; margin-bottom:.25rem; }
.gear-booking-info-text { font-size:.875rem; color:var(--ink-2); line-height:1.65; }
.gear-form-card { background:var(--bg-1); border:1px solid var(--line-2); border-radius:var(--r-xl); padding:2.5rem; }
.gear-form-card h2 { font-family:var(--f-head); font-size:1.75rem; font-weight:900; letter-spacing:-.03em; margin-bottom:.375rem; }
.gear-form-card p { font-size:.875rem; color:var(--ink-2); margin-bottom:2rem; }

/* ── CONTACT PAGE ── */
.contact-page-layout { display:grid; grid-template-columns:1fr 1.5fr; gap:5rem; align-items:start; }
.contact-page-info { display:flex; flex-direction:column; gap:0; }
.contact-page-item { display:flex; gap:1.25rem; align-items:flex-start; padding:1.5rem 0; border-bottom:1px solid var(--line); }
.contact-page-item:first-child { padding-top:0; }
.contact-page-icon { width:48px; height:48px; border-radius:var(--r-lg); background:var(--orange-lt); border:1px solid var(--orange-bd); display:flex; align-items:center; justify-content:center; font-size:1.375rem; flex-shrink:0; }
.contact-page-label { font-family:var(--f-head); font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3); margin-bottom:.375rem; display:block; }
.contact-page-val { font-size:.9375rem; color:var(--ink); line-height:1.65; }
.contact-page-val a { color:var(--orange); }
.contact-page-form { background:var(--bg-1); border:1px solid var(--line-2); border-radius:var(--r-xl); padding:2.75rem; }
.contact-page-form h2 { font-family:var(--f-head); font-size:1.875rem; font-weight:900; letter-spacing:-.03em; margin-bottom:.375rem; }
.contact-page-form p { font-size:.875rem; color:var(--ink-2); margin-bottom:2rem; }
.faq-section { max-width:800px; margin-inline:auto; }

/* ── JOIN PAGE ── */
.join-page-layout { display:grid; grid-template-columns:1fr 1.75fr; gap:5rem; align-items:start; }
.join-perks-list { display:flex; flex-direction:column; gap:1rem; }
.join-perk-card { display:flex; gap:1rem; background:var(--bg-1); border:1px solid var(--line); border-radius:var(--r-lg); padding:1.25rem; transition:border-color var(--t); }
.join-perk-card:hover { border-color:var(--orange-bd); }
.join-perk-icon { font-size:1.5rem; flex-shrink:0; }
.join-perk-title { font-family:var(--f-head); font-size:.9375rem; font-weight:700; letter-spacing:-.01em; margin-bottom:.25rem; }
.join-perk-text { font-size:.8125rem; color:var(--ink-2); line-height:1.6; }
.join-form-card { background:var(--bg-1); border:1px solid var(--line-2); border-radius:var(--r-xl); padding:2.75rem; }
.join-form-card h2 { font-family:var(--f-head); font-size:1.875rem; font-weight:900; letter-spacing:-.03em; margin-bottom:.375rem; }
.join-form-card > p { font-size:.875rem; color:var(--ink-2); margin-bottom:2rem; }
.form-section-title { font-family:var(--f-head); font-size:.68rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--orange); border-bottom:1px solid var(--line); padding-bottom:.5rem; margin:1.75rem 0 1.125rem; display:block; }
.guidelines-box { background:var(--bg-2); border:1px solid var(--line); border-radius:var(--r-lg); padding:1.25rem; max-height:180px; overflow-y:auto; margin-bottom:1.5rem; }
.guidelines-box ol { list-style:decimal; padding-left:1.375rem; display:flex; flex-direction:column; gap:.5rem; }
.guidelines-box li { font-size:.8125rem; color:var(--ink-2); line-height:1.65; }

/* ── RESPONSIVE ADDITIONS ── */
@media(max-width:1024px){
  .origin-grid,.manifesto-grid,.gear-booking-layout,.contact-page-layout,.join-page-layout,.gear-hero-split { grid-template-columns:1fr; gap:3rem; }
  .gear-hero-split__img { min-height:380px; }
  .gear-hero-split__text { padding:3rem; }
  .rides-category-grid,.how-steps { grid-template-columns:1fr 1fr; }
  .past-rides-grid { grid-template-columns:repeat(2,1fr); }
  .gallery-hero-mosaic { grid-template-columns:1fr 1fr; grid-template-rows:220px 220px; }
  .gal-hero-item--tall { grid-row:span 1; }
  .gal-masonry { columns:2; }
  .events-featured { grid-template-columns:1fr; gap:2rem; }
  .upcoming-grid { grid-template-columns:1fr; }
  .team-grid-about { grid-template-columns:1fr 1fr; }
}
@media(max-width:768px){
  .rides-category-grid,.past-rides-grid { grid-template-columns:1fr; }
  .how-steps { grid-template-columns:1fr 1fr; gap:1.5rem; }
  .how-step::after { display:none; }
  .gear-policy-row { grid-template-columns:1fr; }
  .events-list-item { grid-template-columns:auto 1fr; gap:1rem; }
  .events-list-cta { display:none; }
  .gal-masonry { columns:2; }
  .gallery-hero-mosaic { grid-template-columns:1fr; grid-template-rows:auto; }
  .gal-hero-item { height:220px; }
  .team-grid-about { grid-template-columns:1fr; max-width:380px; }
  .community-card { grid-template-columns:1fr; }
}
@media(max-width:480px){
  .how-steps { grid-template-columns:1fr; }
  .gal-masonry { columns:1; }
  .join-form-card,.contact-page-form,.gear-form-card { padding:1.75rem; }
}

/* ── LEGAL PAGES (terms / privacy) ── */
.legal-wrap { max-width:800px; margin-inline:auto; }
.legal-updated { color:var(--ink-2); font-size:.875rem; margin-bottom:2rem; }
.legal-block { margin-top:2.5rem; }
.legal-block h2 { font-size:clamp(1.1rem,2vw,1.35rem); color:var(--orange); margin-bottom:.75rem; letter-spacing:-.01em; }
.legal-block p, .legal-block li { color:var(--ink-2); line-height:1.8; }
.legal-list { padding-left:1.25rem; list-style:disc; display:flex; flex-direction:column; gap:.5rem; }
.legal-contact { margin-top:3rem; padding:1.5rem 2rem; background:var(--bg-2); border:1px solid var(--line-2); border-left:3px solid var(--orange); border-radius:var(--r); }
.legal-contact p { color:var(--ink-2); margin:0; }
.legal-contact a { color:var(--orange); }
