:root { --ink:#121212; --coal:#1e1e1e; --black:#080808; --red:#cf1f2d; --red-bright:#f12a3c; --gold:#e7b34b; --cream:#f5f1e9; --line:rgba(18,18,18,.13); --muted:#77736e; --body:"DM Sans",sans-serif; --display:"Barlow Condensed",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:var(--body); color:var(--ink); background:#fff; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
.site-loader { position:fixed; inset:0; background:var(--black); z-index:2000; display:grid; place-items:center; transition:opacity .5s,visibility .5s; }
.site-loader.done { opacity:0; visibility:hidden; }
.loader-wheel { width:56px; height:56px; border:3px solid rgba(255,255,255,.18); border-top-color:var(--red); border-radius:50%; animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.navbar { padding:1rem 0; transition:background .3s,padding .3s,box-shadow .3s; }
.navbar.scrolled { padding:.55rem 0; background:rgba(8,8,8,.94); backdrop-filter:blur(12px); box-shadow:0 2px 18px rgba(0,0,0,.25); }
.navbar-brand { display:inline-flex; align-items:center; gap:.65rem; color:#fff; font-family:var(--display); font-size:1.45rem; font-weight:800; letter-spacing:.055em; line-height:1; }
.navbar-brand em { color:var(--red); font-style:normal; }
.brand-mark { width:31px; height:31px; display:grid; place-items:center; color:#fff; background:var(--red); border-radius:50% 50% 50% 2px; transform:rotate(-45deg); }
.brand-mark i { font-size:.9rem; transform:rotate(45deg); }
.navbar-nav { gap:.25rem; }
.navbar-dark .navbar-nav .nav-link { color:rgba(255,255,255,.84); font-size:.83rem; text-transform:uppercase; letter-spacing:.08em; font-weight:700; padding:.65rem .8rem; position:relative; }
.navbar-dark .navbar-nav .nav-link:not(.nav-donate)::after { content:""; position:absolute; height:2px; width:0; left:.8rem; bottom:.35rem; background:var(--red); transition:width .25s; }
.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link.active { color:#fff; }
.navbar-dark .navbar-nav .nav-link:hover::after,.navbar-dark .navbar-nav .nav-link.active::after { width:calc(100% - 1.6rem); }
.navbar-dark .navbar-nav .nav-donate { background:var(--red); color:#fff; padding:.7rem 1rem; border-radius:2px; margin-left:.55rem; }
.navbar-dark .navbar-nav .nav-donate:hover { background:var(--red-bright); transform:translateY(-1px); }
.navbar-toggler { border:0; padding:0; font-size:1.75rem; box-shadow:none !important; }
.hero-section { min-height:100svh; position:relative; color:#fff; display:flex; align-items:center; overflow:hidden; background:var(--black); }
.hero-media { position:absolute; inset:0; background-position:center; background-size:cover; transform:scale(1.04); animation:heroZoom 12s ease-out both; }
@keyframes heroZoom { to { transform:scale(1); } }
.hero-scrim { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.55) 43%,rgba(0,0,0,.15) 100%),linear-gradient(0deg,rgba(0,0,0,.58),transparent 40%); }
.hero-content { padding-top:9rem; padding-bottom:7rem; }
.eyebrow { font-weight:700; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); display:flex; gap:.65rem; align-items:center; margin-bottom:1.4rem; }
.eyebrow span { width:34px; height:2px; display:inline-block; background:var(--red); }
.eyebrow.dark { color:var(--red); }
.hero-section h1 { font-family:var(--display); font-size:clamp(4.5rem,9.2vw,8.6rem); line-height:.82; text-transform:uppercase; letter-spacing:-.035em; font-weight:800; margin:0 0 1.7rem; }
.hero-section h1 span,.display-title span { color:var(--red); }
.hero-copy { color:rgba(255,255,255,.8); max-width:570px; line-height:1.7; font-size:1.04rem; margin-bottom:2rem; }
.btn { border-radius:0; font-weight:700; font-size:.83rem; text-transform:uppercase; letter-spacing:.075em; padding:.9rem 1.25rem; transition:transform .25s,background .25s,border .25s; }
.btn:hover { transform:translateY(-3px); }
.btn-rider { color:#fff; border:1px solid var(--red); background:var(--red); }
.btn-rider:hover { color:#fff; background:var(--red-bright); border-color:var(--red-bright); }
.btn-ghost { color:#fff; border:1px solid rgba(255,255,255,.55); }
.btn-ghost:hover { color:#fff; background:rgba(255,255,255,.12); border-color:#fff; }
.hero-scroll { position:absolute; bottom:1.9rem; right:.75rem; display:flex; align-items:center; gap:.65rem; writing-mode:vertical-rl; font-size:.62rem; text-transform:uppercase; letter-spacing:.16em; color:rgba(255,255,255,.73); }
.hero-scroll span { height:42px; width:1px; background:var(--red); }
.stats-strip { background:var(--red); color:#fff; }
.stat-item { padding:1.8rem 1.6rem; border-right:1px solid rgba(255,255,255,.25); display:flex; align-items:center; gap:.75rem; }
.stat-item:last-child { border-right:0; }
.stat-item strong { font-family:var(--display); font-size:3.1rem; line-height:.75; letter-spacing:-.03em; }
.stat-item span { font-size:.73rem; line-height:1.25; font-weight:700; max-width:74px; text-transform:uppercase; letter-spacing:.07em; }
.section-space { padding:7.5rem 0; }
.display-title { font:800 clamp(3rem,5vw,5.15rem)/.88 var(--display); letter-spacing:-.027em; text-transform:uppercase; margin:0 0 1.5rem; }
.lead-text { color:#5c5b58; line-height:1.8; font-size:1.04rem; max-width:560px; }
.image-stack { position:relative; padding:0 2rem 2rem 0; }
.image-stack::before { content:""; position:absolute; width:72%; height:72%; right:0; bottom:0; border:3px solid var(--red); z-index:0; }
.image-stack img { height:475px; width:100%; object-fit:cover; position:relative; z-index:1; }
.experience-badge { position:absolute; z-index:2; left:1.3rem; bottom:.5rem; padding:1.1rem 1.3rem; display:flex; align-items:center; gap:.75rem; background:var(--red); color:#fff; }
.experience-badge strong { font:800 3.8rem/.8 var(--display); }
.experience-badge span { font-size:.69rem; text-transform:uppercase; font-weight:700; letter-spacing:.08em; line-height:1.28; }
.feature-list { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; margin:2rem 0; font-size:.83rem; font-weight:700; }
.feature-list div { display:flex; gap:.5rem; align-items:flex-start; }
.feature-list i { color:var(--red); font-size:1rem; }
.text-link { display:inline-flex; align-items:center; gap:.65rem; color:var(--red); font-size:.77rem; font-weight:700; text-transform:uppercase; letter-spacing:.095em; transition:gap .2s; }
.text-link:hover { color:var(--red-bright); gap:.9rem; }
.text-link.light { color:#fff; }
.routes-section { background:var(--ink); color:#fff; position:relative; overflow:hidden; }
.routes-section::before { content:"RIDE"; position:absolute; right:-1rem; bottom:-4rem; color:rgba(255,255,255,.025); font:800 23rem/.7 var(--display); letter-spacing:-.08em; }
.route-card { height:430px; position:relative; display:block; overflow:hidden; isolation:isolate; }
.route-card::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(0,0,0,.9),transparent 70%); }
.route-card img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.route-card:hover img { transform:scale(1.07); }
.route-number { position:absolute; top:1.2rem; left:1.2rem; color:#fff; border:1px solid rgba(255,255,255,.6); width:35px; height:35px; display:grid; place-items:center; font:700 1rem var(--display); }
.route-card > div { position:absolute; left:1.4rem; right:1.4rem; bottom:1.35rem; }
.route-card small { font-size:.65rem; font-weight:700; color:var(--gold); letter-spacing:.13em; }
.route-card h3 { font:700 2rem/1 var(--display); text-transform:uppercase; margin:.25rem 0 0; }
.route-card i { position:absolute; right:0; bottom:.15rem; font-size:1.25rem; color:var(--red); }
.home-gallery { display:grid; grid-template-columns:1.2fr .8fr 1.05fr .8fr .65fr; height:340px; gap:.55rem; }
.home-gallery a { overflow:hidden; position:relative; display:block; background:var(--ink); }
.home-gallery a:not(.gallery-more)::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.07); transition:background .2s; }
.home-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.home-gallery a:hover img { transform:scale(1.08); }
.home-gallery a:hover::after { background:transparent; }
.gallery-more { color:#fff; background:var(--red) !important; padding:1.15rem; display:flex !important; flex-direction:column; justify-content:center; }
.gallery-more span { font:800 3.8rem/.8 var(--display); }
.gallery-more small { margin-top:.5rem; text-transform:uppercase; font-weight:700; font-size:.7rem; letter-spacing:.06em; }
.gallery-more i { position:absolute; right:1rem; bottom:1rem; font-size:1.3rem; }
.upcoming-banner { background:var(--cream); padding:3.5rem 0; border-top:1px solid #e5dfd6; border-bottom:1px solid #e5dfd6; }
.upcoming-banner h2 { margin:0; font:800 clamp(2.8rem,4.2vw,4rem)/.83 var(--display); text-transform:uppercase; }
.upcoming-banner h2 span { color:var(--red); }
.event-date { display:flex; align-items:center; gap:.6rem; }
.event-date strong { font:800 4.8rem/.75 var(--display); color:var(--red); }
.event-date span { font-weight:700; line-height:1; font-size:.78rem; letter-spacing:.08em; }
.support-section { background:var(--black); }
.support-panel { padding:4.5rem 5rem; background:linear-gradient(135deg,#242424,#111); border-left:5px solid var(--red); position:relative; overflow:hidden; }
.support-panel::after { content:"RR"; position:absolute; right:1rem; bottom:-4.4rem; color:rgba(255,255,255,.035); font:800 15rem/1 var(--display); letter-spacing:-.13em; }
.support-panel > * { position:relative; z-index:1; }
.support-copy { max-width:520px; color:rgba(255,255,255,.68); line-height:1.75; }
.site-footer { background:#101010; padding:5rem 0 1.4rem; color:rgba(255,255,255,.62); font-size:.86rem; }
.site-footer p { line-height:1.7; max-width:285px; margin:0 0 1rem; }
.site-footer h3 { font:700 1.1rem var(--display); color:#fff; text-transform:uppercase; letter-spacing:.09em; margin:.2rem 0 1.25rem; }
.site-footer .col-lg-2 a { display:block; width:fit-content; margin-bottom:.65rem; transition:color .2s,transform .2s; }
.site-footer .col-lg-2 a:hover { color:var(--red); transform:translateX(3px); }
.social-links { display:flex; gap:.5rem; }
.social-links a { border:1px solid rgba(255,255,255,.24); width:35px; height:35px; display:grid; place-items:center; transition:background .2s,border .2s; }
.social-links a:hover { background:var(--red); border-color:var(--red); color:#fff; }
.footer-contact { display:flex; gap:.6rem; align-items:flex-start; }
.footer-contact i { color:var(--red); }
.footer-bottom { margin-top:3.6rem; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.12); display:flex; justify-content:space-between; gap:1rem; color:rgba(255,255,255,.38); font-size:.72rem; }
.back-to-top { width:38px; height:38px; display:grid; place-items:center; color:#fff; background:var(--red); position:fixed; z-index:30; right:1.1rem; bottom:1.1rem; opacity:0; visibility:hidden; transform:translateY(8px); transition:.25s; }
.back-to-top.show { opacity:1; visibility:visible; transform:translateY(0); }
/* Inner pages */
.page-hero { min-height:440px; padding:11rem 0 4.5rem; color:#fff; display:flex; align-items:flex-end; position:relative; background:#161616; overflow:hidden; }
.page-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.89),rgba(0,0,0,.35)),var(--page-image,none) center/cover; opacity:.82; }
.page-hero .container { position:relative; }
.page-hero h1 { font:800 clamp(4rem,7vw,6.4rem)/.8 var(--display); text-transform:uppercase; letter-spacing:-.03em; margin:0; }
.breadcrumb-rider { margin-bottom:1rem; color:rgba(255,255,255,.72); font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; }
.breadcrumb-rider a:hover { color:var(--gold); }
.breadcrumb-rider i { margin:0 .4rem; color:var(--red); }
.section-kicker { display:flex; align-items:center; gap:.55rem; color:var(--red); text-transform:uppercase; letter-spacing:.15em; font-size:.7rem; font-weight:700; }
.section-kicker::before { content:""; height:2px; width:26px; background:var(--red); }
.quote-band { background:var(--red); color:#fff; padding:5rem 0; }
.quote-band blockquote { margin:0; font:700 clamp(2.2rem,4.8vw,4.8rem)/.95 var(--display); text-transform:uppercase; max-width:1000px; }
.quote-band cite { display:block; margin-top:1rem; font:700 .73rem var(--body); letter-spacing:.14em; font-style:normal; }
.value-card { height:100%; padding:2rem; background:#fff; border-bottom:3px solid var(--line); transition:transform .25s,box-shadow .25s,border .25s; }
.value-card:hover { transform:translateY(-7px); box-shadow:0 16px 30px rgba(0,0,0,.08); border-color:var(--red); }
.value-card i { font-size:2rem; color:var(--red); }
.value-card h3 { font:700 1.8rem var(--display); text-transform:uppercase; margin:1.25rem 0 .65rem; }
.value-card p { color:var(--muted); font-size:.9rem; line-height:1.7; margin:0; }
.timeline { position:relative; border-left:1px solid #dbd7d0; margin-left:.6rem; padding-left:2.3rem; }
.timeline-item { position:relative; padding:0 0 2.6rem; }
.timeline-item::before { content:""; width:13px; height:13px; background:var(--red); border:3px solid #fff; box-shadow:0 0 0 1px var(--red); border-radius:50%; position:absolute; left:-2.75rem; top:.25rem; }
.timeline-year { color:var(--red); font:700 1.2rem var(--display); letter-spacing:.07em; }
.timeline-item h3 { font:700 1.8rem var(--display); text-transform:uppercase; margin:.2rem 0 .5rem; }
.timeline-item p { color:var(--muted); max-width:660px; line-height:1.7; }
.team-card { text-align:center; }
.team-card img { aspect-ratio:1 / 1.08; width:100%; object-fit:cover; filter:grayscale(100%); transition:filter .3s,transform .3s; }
.team-card:hover img { filter:grayscale(0%); transform:scale(1.02); }
.team-card h3 { font:700 1.75rem var(--display); text-transform:uppercase; margin:1rem 0 .15rem; }
.team-card p { margin:0; color:var(--red); font-size:.7rem; letter-spacing:.12em; font-weight:700; text-transform:uppercase; }
.gallery-controls { display:flex; gap:.45rem; flex-wrap:wrap; }
.gallery-filter { background:transparent; border:1px solid #dedbd6; padding:.55rem .9rem; font:700 .7rem var(--body); text-transform:uppercase; letter-spacing:.08em; transition:.2s; }
.gallery-filter:hover,.gallery-filter.active { background:var(--red); color:#fff; border-color:var(--red); }
.gallery-grid { columns:3 250px; column-gap:1rem; }
.gallery-item { display:block; width:100%; border:0; padding:0; position:relative; margin:0 0 1rem; break-inside:avoid; overflow:hidden; background:var(--ink); text-align:left; }
.gallery-item img { width:100%; min-height:180px; object-fit:cover; transition:transform .4s; }
.gallery-item.tall img { min-height:350px; }
.gallery-item:hover img { transform:scale(1.06); }
.gallery-item-overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.75),transparent 60%); opacity:0; transition:opacity .25s; color:#fff; display:flex; flex-direction:column; justify-content:flex-end; padding:1.25rem; }
.gallery-item:hover .gallery-item-overlay { opacity:1; }
.gallery-item-overlay small { color:var(--gold); font-size:.65rem; font-weight:700; letter-spacing:.12em; }
.gallery-item-overlay span { font:700 1.35rem var(--display); text-transform:uppercase; }
.gallery-item-overlay i { position:absolute; top:1rem; right:1rem; color:#fff; font-size:1.2rem; }
.gallery-modal .modal-content { background:transparent; border:0; }
.gallery-modal .modal-body { padding:0; }
.gallery-modal img { max-height:80vh; width:100%; object-fit:contain; background:#000; }
.gallery-modal .btn-close { position:absolute; right:-5px; top:-38px; filter:invert(1); }
.event-card { height:100%; border:1px solid #e3dfd8; background:#fff; position:relative; transition:transform .25s,box-shadow .25s; }
.event-card:hover { transform:translateY(-6px); box-shadow:0 15px 32px rgba(0,0,0,.09); }
.event-card img { width:100%; height:210px; object-fit:cover; }
.event-card-body { padding:1.45rem; }
.event-card-date { background:var(--red); color:#fff; position:absolute; top:184px; left:1.25rem; display:flex; align-items:center; gap:.35rem; padding:.4rem .65rem; }
.event-card-date strong { font:800 1.8rem/.85 var(--display); }
.event-card-date span { font-size:.62rem; font-weight:700; line-height:.95; letter-spacing:.08em; }
.event-card-type { color:var(--red); font-size:.65rem; letter-spacing:.13em; font-weight:700; }
.event-card h3 { font:700 2rem/.95 var(--display); text-transform:uppercase; margin:.55rem 0; }
.event-card p { color:var(--muted); line-height:1.6; font-size:.86rem; }
.event-card-meta { border-top:1px solid #e3dfd8; padding-top:1rem; margin-top:1rem; color:#555; font-size:.76rem; display:grid; gap:.4rem; }
.event-card-meta i { color:var(--red); margin-right:.4rem; }
.event-feature { background:var(--ink); color:#fff; overflow:hidden; }
.event-feature > .row > * { min-height:400px; }
.event-feature-copy { padding:3.2rem; display:flex; flex-direction:column; justify-content:center; }
.event-feature h2 { font:800 clamp(3rem,5vw,5rem)/.82 var(--display); text-transform:uppercase; }
.event-feature h2 span { color:var(--red); }
.event-feature p { color:rgba(255,255,255,.67); max-width:500px; line-height:1.7; }
.event-feature-img { background:url('../assets/images/ride-09.svg') center/cover; }
.sponsor-tier { border-top:1px solid #dad5ce; padding:3rem 0; }
.sponsor-tier:first-of-type { border-top:0; }
.sponsor-tier h2 { font:700 2rem var(--display); text-transform:uppercase; }
.sponsor-tier > p { color:var(--muted); max-width:540px; }
.sponsor-logos { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.sponsor-logo { min-height:135px; border:1px solid #ddd8d0; display:grid; place-items:center; padding:1rem; background:#fff; color:#45413d; font:700 1.4rem var(--display); letter-spacing:.05em; text-align:center; transition:.25s; }
.sponsor-logo:hover { border-color:var(--red); color:var(--red); transform:translateY(-3px); }
.sponsor-logo small { display:block; font:600 .55rem var(--body); letter-spacing:.12em; margin-top:.2rem; }
.become-sponsor { color:#fff; background:var(--ink); padding:4rem; position:relative; overflow:hidden; }
.become-sponsor::after { content:"PARTNER"; position:absolute; right:-1.2rem; bottom:-4rem; color:rgba(255,255,255,.035); font:800 12rem var(--display); }
.become-sponsor > * { position:relative; z-index:1; }
.donation-ways { display:grid; grid-template-columns:repeat(3,1fr); }
.donation-way { border:1px solid #dedad3; padding:2.3rem; min-height:260px; }
.donation-way + .donation-way { border-left:0; }
.donation-way i { color:var(--red); font-size:2.2rem; }
.donation-way h3 { font:700 1.8rem var(--display); text-transform:uppercase; margin:1.2rem 0 .6rem; }
.donation-way p { color:var(--muted); font-size:.87rem; line-height:1.6; }
.donate-form-card { padding:2.5rem; color:#fff; background:#191919; }
.donate-form-card label { font-size:.71rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:rgba(255,255,255,.7); }
.form-control,.form-select { border-radius:0; border:1px solid #ded9d1; padding:.78rem .9rem; font-size:.9rem; }
.donate-form-card .form-control,.donate-form-card .form-select { background:#242424; border-color:#494949; color:#fff; }
.donate-form-card .form-control::placeholder { color:#8f8f8f; }
.donate-form-card .form-select option { color:#111; background:#fff; }
.amount-options { display:grid; grid-template-columns:repeat(4,1fr); gap:.5rem; }
.amount-options button { background:transparent; color:#fff; border:1px solid #4a4a4a; font-weight:700; padding:.6rem .25rem; }
.amount-options button:hover,.amount-options button.selected { background:var(--red); border-color:var(--red); }
.bank-card { border:1px solid #dedad3; padding:2rem; background:var(--cream); }
.bank-card h3 { font:700 1.7rem var(--display); text-transform:uppercase; }
.bank-detail { display:flex; justify-content:space-between; gap:.8rem; border-bottom:1px solid #dad5cd; padding:.75rem 0; font-size:.85rem; }
.bank-detail span { color:var(--muted); }
.bank-detail strong { text-align:right; }
.impact-card { padding:2.2rem; background:var(--red); color:#fff; }
.impact-card h3 { font:700 2rem var(--display); text-transform:uppercase; }
.impact-card p { font-size:.9rem; opacity:.85; line-height:1.7; }
.impact-item { display:flex; gap:.8rem; border-top:1px solid rgba(255,255,255,.28); padding-top:.8rem; margin-top:.8rem; font-size:.83rem; }
.contact-details { height:100%; padding:2rem; background:var(--cream); }
.contact-details i { color:var(--red); font-size:1.4rem; }
.contact-details h3 { font:700 1.5rem var(--display); text-transform:uppercase; margin:.8rem 0 .35rem; }
.contact-details p,.contact-details a { color:var(--muted); font-size:.87rem; line-height:1.6; }
.contact-form { padding:2.7rem; border:1px solid #ddd8d0; }
.contact-form h2 { font:700 2.6rem var(--display); text-transform:uppercase; }
.contact-map iframe { width:100%; height:470px; border:0; filter:grayscale(100%) contrast(1.05); }
.join-panel { background:var(--ink); padding:4.2rem; color:#fff; }
.join-panel p { color:rgba(255,255,255,.7); max-width:620px; }
.form-notice { margin-top:1rem; color:var(--gold); font-size:.82rem; line-height:1.5; }
.reveal { opacity:0; transform:translateY(24px); transition:opacity .65s ease,transform .65s ease; }
.reveal.visible { opacity:1; transform:none; }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }
@media (max-width:991.98px) {
 .navbar { background:rgba(8,8,8,.94); padding:.65rem 0; } .navbar-collapse { padding:.8rem 0 .5rem; } .navbar-dark .navbar-nav .nav-donate { display:inline-block; margin:.35rem 0 0 .8rem; } .section-space { padding:5.2rem 0; } .image-stack img { height:390px; } .home-gallery { grid-template-columns:repeat(4,1fr); height:300px; } .home-gallery a:nth-child(4) { display:none; } .support-panel { padding:3.5rem; } .sponsor-logos { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:767.98px) {
 .hero-content { padding-top:7rem; padding-bottom:6rem; } .hero-section h1 { font-size:clamp(4.1rem,18vw,6rem); } .hero-scroll { display:none; } .stat-item { padding:1.35rem 1rem; border-bottom:1px solid rgba(255,255,255,.25); } .stat-item:nth-child(2) { border-right:0; } .stat-item:nth-child(3),.stat-item:nth-child(4) { border-bottom:0; } .stat-item strong { font-size:2.7rem; } .feature-list { grid-template-columns:1fr; } .home-gallery { height:260px; grid-template-columns:1fr 1fr 1fr .75fr; gap:.35rem; } .home-gallery a:nth-child(3) { display:none; } .upcoming-banner { padding:3rem 0; } .support-panel { padding:2.6rem 1.8rem; } .page-hero { min-height:340px; padding:8rem 0 3rem; } .event-feature-copy { padding:2.5rem 1.75rem; } .event-feature-img { min-height:290px !important; } .sponsor-logos { grid-template-columns:repeat(2,1fr); } .donation-ways { grid-template-columns:1fr; } .donation-way + .donation-way { border-left:1px solid #dedad3; border-top:0; } .contact-form,.join-panel { padding:2rem 1.5rem; } .footer-bottom { flex-direction:column; }
}
@media (max-width:450px) {
 .brand-mark { width:28px; height:28px; } .navbar-brand { font-size:1.2rem; } .hero-copy { font-size:.95rem; } .image-stack { padding-right:1.2rem; } .image-stack img { height:320px; } .experience-badge { left:.7rem; padding:.8rem; } .experience-badge strong { font-size:3rem; } .display-title { font-size:3.3rem; } .home-gallery { height:210px; grid-template-columns:1fr 1fr .8fr; } .home-gallery a:nth-child(2) { display:none; } .support-panel { padding:2.25rem 1.3rem; } .amount-options { grid-template-columns:1fr 1fr; }
}
