:root {
  --ink:#17130f;
  --coffee:#2a1e17;
  --brass:#c59a52;
  --brass-dark:#9b7438;
  --cream:#f5efe2;
  --paper:#fffaf0;
  --muted:#776b5e;
  --line:rgba(42,30,23,.18);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--cream);line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{min-height:100vh;background:linear-gradient(rgba(23,19,15,.68),rgba(23,19,15,.58)),url('assets/main-ride.jpg') center/cover;color:var(--paper)}.navbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(18px,4vw,64px);background:rgba(23,19,15,.82);backdrop-filter:blur(12px);border-bottom:1px solid rgba(197,154,82,.32)}.brand{display:flex;gap:12px;align-items:center}.brand-mark{display:grid;place-items:center;width:56px;height:56px;border:2px solid var(--brass);border-radius:50%;font-weight:800;color:var(--brass)}.brand-copy{display:flex;flex-direction:column;line-height:1.1}.brand-copy small{color:#decaa2}.nav-menu{display:flex;gap:24px;align-items:center;list-style:none;margin:0;padding:0}.nav-menu a{font-size:.96rem}.has-dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:0;min-width:180px;display:none;list-style:none;margin:0;padding:10px;background:rgba(23,19,15,.96);border:1px solid rgba(197,154,82,.45);border-radius:14px;box-shadow:0 18px 42px rgba(0,0,0,.26)}.has-dropdown:hover .dropdown-menu,.has-dropdown:focus-within .dropdown-menu{display:block}.dropdown-menu a{display:block;padding:8px 12px;color:var(--brass)}.nav-toggle{display:none;background:none;color:var(--paper);border:1px solid var(--brass);font-size:1.4rem;border-radius:8px}.hero{display:grid;grid-template-columns:1.3fr .7fr;gap:32px;align-items:center;padding:clamp(60px,10vw,140px) clamp(20px,6vw,90px)}.hero h1{font-size:clamp(2.7rem,6vw,6.5rem);line-height:.95;margin:0 0 20px}.hero p{max-width:720px;font-size:1.15rem}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--brass);font-weight:700;font-size:.78rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:999px;font-weight:700;border:1px solid var(--brass);margin:6px 8px 6px 0}.primary{background:var(--brass);color:var(--ink)}.secondary{color:var(--brass);background:rgba(255,250,240,.08)}.hero-card{background:rgba(245,239,226,.93);color:var(--ink);padding:32px;border-radius:24px;border:1px solid var(--brass);box-shadow:0 30px 90px rgba(0,0,0,.32)}.hero-card .date{color:var(--brass-dark);font-weight:800}.section{padding:80px clamp(20px,6vw,90px)}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:38px}.section h2{font-size:clamp(2rem,4vw,4rem);line-height:1.05;margin:0 0 24px}.copy-card,.sponsor-grid article,.contact-form,.contact-details{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 18px 42px rgba(42,30,23,.07)}.logo-grid,.sponsor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.group-card{text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:22px;transition:.25s}.group-card:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(42,30,23,.14)}.group-logo{margin:auto;width:104px;height:104px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,var(--paper),#e7d3ad);border:2px solid var(--brass);font-weight:900;font-size:1.6rem;color:var(--coffee)}.alt{background:#ede0c8}.sponsor-grid article span{font-size:1.35rem;font-weight:800;color:var(--coffee)}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end}.gallery-item{position:relative;overflow:hidden;border-radius:20px;border:1px solid var(--line);background:var(--paper);cursor:pointer}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:10px 0 22px;color:var(--muted);font-weight:700}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:.35s}.gallery-item:hover img{transform:scale(1.06)}.gallery-item span{position:absolute;left:12px;bottom:12px;background:rgba(23,19,15,.82);color:var(--paper);padding:6px 10px;border-radius:999px;font-size:.84rem}.contact{display:grid;grid-template-columns:1fr 1fr;gap:26px}.contact>div{grid-row:span 2}.contact-form{display:grid;gap:14px}.contact-form label{display:grid;gap:6px;font-weight:700}.contact-form input,.contact-form textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit}.contact-form textarea{min-height:140px}.site-footer{text-align:center;background:var(--ink);color:var(--paper);padding:32px 20px}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:50;display:none;align-items:center;justify-content:center;flex-direction:column;padding:30px}.lightbox.active{display:flex}.lightbox img{max-height:78vh;border-radius:18px;border:2px solid var(--brass)}.close{position:absolute;right:24px;top:18px;font-size:3rem;background:none;border:0;color:var(--paper);cursor:pointer}@media(max-width:900px){.nav-toggle{display:block}.nav-menu{position:absolute;inset:92px 16px auto;display:none;flex-direction:column;align-items:flex-start;background:var(--coffee);padding:22px;border-radius:18px}.nav-menu.open{display:flex}.dropdown-menu{position:static;display:block;background:transparent;border:0;box-shadow:none;padding:4px 0 0 16px}.hero,.split,.contact{grid-template-columns:1fr}.logo-grid,.sponsor-grid{grid-template-columns:repeat(2,1fr)}.section-head{display:block}.gallery-toolbar{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.brand-copy small{display:none}.logo-grid,.sponsor-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}.hero{padding-top:70px}.section{padding:56px 18px}.navbar{padding:14px 16px}.hero-actions .btn{width:100%}}
.gallery-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:26px}.page-btn{border:1px solid var(--brass);background:var(--paper);color:var(--coffee);padding:10px 14px;border-radius:999px;font-weight:800;cursor:pointer}.page-btn:hover,.page-btn.active{background:var(--brass);color:var(--ink)}.page-btn:disabled{opacity:.45;cursor:not-allowed;background:var(--paper);color:var(--muted)}

.ride-host-card{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.ride-host-card h3{margin:0 0 8px;color:var(--coffee);font-size:1.5rem}

/* DGR 2026 logo integration */
.brand-logo{width:74px;height:74px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}.brand-copy strong{text-transform:uppercase;letter-spacing:.04em;max-width:265px;line-height:1.05}.gallery-title-block{display:flex;align-items:center;gap:28px}.section-logo{width:150px;height:150px;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(42,30,23,.16))}.gallery-note{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:999px;background:var(--coffee);color:var(--brass);font-weight:900;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:900px){.brand-logo{width:58px;height:58px}.brand-copy strong{max-width:210px}.gallery-title-block{align-items:flex-start}.section-logo{width:110px;height:110px}}
@media(max-width:560px){.brand-logo{width:50px;height:50px}.brand-copy strong{font-size:.82rem;max-width:160px}.gallery-title-block{display:block}.section-logo{width:96px;height:96px;margin-bottom:12px}.gallery-note{font-size:.82rem}}
.brand-logo{width:76px;height:76px;object-fit:contain}.logo-card{text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:22px;transition:.25s}.logo-card:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(42,30,23,.14)}.logo-card img,.logo-placeholder{margin:0 auto 12px;width:104px;height:104px;border-radius:50%;display:grid;place-items:center;object-fit:contain;background:radial-gradient(circle,var(--paper),#e7d3ad);border:2px solid var(--brass);font-weight:900;font-size:1.6rem;color:var(--coffee)}.sponsor-logo{width:140px;height:90px;object-fit:contain;margin-bottom:12px}.notice{padding:12px 14px;border-radius:12px;background:#e8f5e9;color:#1b5e20}.notice.error{background:#ffebee;color:#8b1e1e}.admin-wrap{font-family:Georgia,'Times New Roman',serif;color:var(--ink)}
