:root {
  --navy:#061926;
  --navy-2:#0b2536;
  --navy-3:#102f43;
  --gold:#e6b84d;
  --gold-soft:#f0ca70;
  --ink:#10202b;
  --muted:#62707a;
  --cream:#f4f2ec;
  --paper:#fff;
  --line:#dfe3e4;
  --shadow:0 22px 60px rgba(5,24,38,.12);
  --radius:16px;
  --shell:1320px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:86px; }
body { margin:0; color:var(--ink); background:#fff; font-family:"Avenir Next","Segoe UI",Helvetica,Arial,sans-serif; line-height:1.55; -webkit-font-smoothing:antialiased; }
body.dialog-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { color:inherit; }
img { display:block; max-width:100%; }
.shell { width:min(calc(100% - 48px),var(--shell)); margin-inline:auto; }
.skip-link { position:fixed; left:14px; top:12px; z-index:9999; transform:translateY(-150%); padding:10px 14px; background:#fff; color:#111; border-radius:8px; font-weight:800; }
.skip-link:focus { transform:none; }

.site-header { position:sticky; top:0; z-index:100; background:rgba(4,20,31,.97); border-bottom:1px solid rgba(255,255,255,.08); backdrop-filter:blur(16px); }
.header-inner { min-height:74px; display:flex; align-items:center; gap:34px; }
.site-brand { display:flex; align-items:center; gap:10px; color:#fff; flex:0 0 auto; }
.site-brand img { width:86px; height:auto; }
.site-brand-copy { display:flex; flex-direction:column; line-height:1; }
.site-brand-copy > span { font-size:1.38rem; font-weight:500; letter-spacing:.02em; white-space:nowrap; }
.site-brand-copy b { color:var(--gold); font-weight:500; }
.site-brand-copy small { margin-top:7px; font-size:.47rem; font-weight:700; letter-spacing:.24em; color:#adb9c0; white-space:nowrap; }
.primary-nav { margin-left:auto; display:flex; align-items:center; gap:30px; }
.primary-nav > a { color:#fff; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; position:relative; padding:27px 0; }
.primary-nav > a::after { content:""; position:absolute; height:2px; left:0; right:100%; bottom:18px; background:var(--gold); transition:right .2s ease; }
.primary-nav > a:hover::after,.primary-nav > a:focus-visible::after { right:0; }
.nav-contact { border:1px solid var(--gold); background:transparent; color:var(--gold-soft); padding:12px 18px; border-radius:3px; font-size:.76rem; font-weight:850; text-transform:uppercase; letter-spacing:.08em; cursor:pointer; transition:.2s ease; }
.nav-contact:hover,.nav-contact:focus-visible { background:var(--gold); color:#071a29; }
.nav-toggle { display:none; width:42px; height:42px; border:1px solid rgba(255,255,255,.18); background:transparent; border-radius:6px; padding:10px; cursor:pointer; }
.nav-toggle span { display:block; height:2px; background:#fff; margin:4px 0; }

.hero { position:relative; min-height:650px; display:flex; align-items:stretch; overflow:hidden; background:var(--navy); }
.hero-media,.hero-media img { position:absolute; inset:0; width:100%; height:100%; }
.hero-media img { object-fit:cover; object-position:center 56%; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,18,28,.91) 0%,rgba(3,18,28,.76) 32%,rgba(3,18,28,.2) 64%,rgba(3,18,28,.08) 100%),linear-gradient(0deg,rgba(4,19,29,.44),transparent 40%); }
.hero-inner { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; min-height:650px; padding-block:68px; }
.hero-copy { max-width:620px; color:#fff; }
.hero-kicker { margin:0 0 8px; color:var(--gold-soft); text-transform:uppercase; font-weight:850; font-size:.98rem; letter-spacing:.28em; }
.hero h1 { margin:0; font-size:clamp(4.3rem,6.2vw,7.1rem); line-height:.89; text-transform:uppercase; letter-spacing:-.045em; font-weight:900; }
.gold-rule { width:78px; height:4px; background:var(--gold); margin:26px 0 19px; }
.hero-lede { margin:0 0 28px; font-size:1.25rem; line-height:1.5; max-width:610px; text-shadow:0 1px 12px rgba(0,0,0,.3); }
.hero-lede strong { font-size:1.32rem; }
.button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:12px; border:1px solid transparent; padding:13px 20px; border-radius:4px; cursor:pointer; text-transform:uppercase; letter-spacing:.06em; font-weight:850; font-size:.77rem; transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease; }
.button:hover,.button:focus-visible { transform:translateY(-1px); }
.button-gold { background:var(--gold); color:#0a1b27; box-shadow:0 12px 30px rgba(0,0,0,.2); }
.button-gold:hover,.button-gold:focus-visible { background:#f1c96b; }
.button-navy { background:var(--navy); color:#fff; }
.button-navy:hover,.button-navy:focus-visible { background:var(--navy-3); }
.button-outline-dark { background:transparent; border-color:#9aabb5; color:var(--ink); }
.button-outline-dark:hover,.button-outline-dark:focus-visible { border-color:var(--navy); background:var(--navy); color:#fff; }
.button-outline-light { background:rgba(6,25,38,.35); border-color:var(--gold); color:var(--gold-soft); }
.button-outline-light:hover,.button-outline-light:focus-visible { background:var(--gold); color:var(--navy); }
.hero-location { align-self:flex-end; margin-bottom:10px; color:#fff; display:flex; gap:10px; align-items:flex-start; font-size:.8rem; text-transform:uppercase; letter-spacing:.16em; font-weight:800; text-align:left; text-shadow:0 1px 8px rgba(0,0,0,.6); }
.hero-location small { display:block; font-size:.57rem; letter-spacing:.22em; color:#cdd6dc; margin-top:4px; }
.pin-dot { width:10px; height:10px; border-radius:50%; background:var(--gold); margin-top:5px; box-shadow:0 0 0 4px rgba(230,184,77,.18); }

.marque-strip { background:var(--navy); color:#fff; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); }
.marque-grid { display:grid; grid-template-columns:repeat(9,1fr); }
.marque { min-height:98px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:8px; border-right:1px solid rgba(255,255,255,.09); padding:14px 8px; text-align:center; }
.marque:first-child { border-left:1px solid rgba(255,255,255,.09); }
.marque span { min-width:34px; height:30px; display:grid; place-items:center; font-weight:800; color:#f5f7f8; font-size:.9rem; letter-spacing:-.06em; }
.marque b { font-size:.62rem; text-transform:uppercase; letter-spacing:.17em; color:#d1d8dd; font-weight:750; }

.resource-overview { position:relative; padding:42px 0 50px; background:#f7f7f4; }
.resource-overview::before { content:""; position:absolute; inset:0; opacity:.32; pointer-events:none; background-image:radial-gradient(circle at 1px 1px,rgba(16,32,43,.12) 1px,transparent 0); background-size:18px 18px; mask-image:linear-gradient(to bottom,black,transparent 95%); }
.overview-grid { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.overview-card { background:#fff; border:1px solid #e2e5e5; border-radius:4px; overflow:hidden; box-shadow:0 12px 34px rgba(5,24,38,.06); transition:transform .2s ease,box-shadow .2s ease; }
.overview-card:hover,.overview-card:focus-visible { transform:translateY(-4px); box-shadow:0 20px 48px rgba(5,24,38,.12); }
.overview-card picture { display:block; aspect-ratio:1.58/1; overflow:hidden; }
.overview-card picture img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.overview-card:hover picture img { transform:scale(1.025); }
.overview-body { position:relative; padding:31px 24px 26px; min-height:267px; }
.round-icon { position:absolute; left:20px; top:-30px; width:62px; height:62px; border-radius:50%; display:grid; place-items:center; background:#fff; color:var(--navy); border:1px solid #e5e7e7; box-shadow:0 8px 20px rgba(0,0,0,.08); font-size:1.65rem; font-weight:900; }
.overview-body h2 { margin:5px 0 10px; font-size:1.33rem; text-transform:uppercase; letter-spacing:.02em; line-height:1.1; }
.overview-body p { margin:0 0 24px; color:#51606a; font-size:.94rem; }
.overview-link { position:absolute; left:24px; right:24px; bottom:24px; color:#123f82; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; font-weight:900; }
.overview-link b { margin-left:9px; font-size:1rem; }

.community-band { position:relative; min-height:255px; overflow:hidden; background:var(--navy); color:#fff; }
.community-bg,.community-bg img,.drive-bg,.drive-bg img { position:absolute; inset:0; width:100%; height:100%; }
.community-bg img,.drive-bg img { object-fit:cover; }
.community-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,23,35,.96),rgba(5,23,35,.74) 62%,rgba(5,23,35,.72)); }
.community-inner { position:relative; z-index:2; min-height:255px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:80px; padding-block:42px; }
.community-inner h2 { margin:3px 0 12px; font-size:clamp(2rem,3.2vw,3.25rem); letter-spacing:-.04em; line-height:1; }
.community-inner p:not(.section-kicker) { margin:0; max-width:760px; color:#dae2e7; }
.section-kicker { margin:0 0 8px; color:#9d7124; font-size:.76rem; font-weight:900; text-transform:uppercase; letter-spacing:.24em; }
.section-kicker.light { color:var(--gold-soft); }

.detail-section { padding:96px 0; background:#fff; }
.detail-tint { background:#f6f5f1; }
.section-heading { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); align-items:end; gap:70px; margin-bottom:42px; }
.section-heading h2 { margin:0; font-size:clamp(2.3rem,4vw,4.3rem); line-height:.95; letter-spacing:-.055em; color:var(--navy); }
.section-heading > p { margin:0; color:#64717a; font-size:1rem; max-width:540px; justify-self:end; }
.section-heading-light h2 { color:#fff; }
.section-heading-light > p { color:#c8d3d9; }
.club-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.info-card { min-height:280px; padding:34px; border:1px solid var(--line); background:#fff; border-radius:7px; display:flex; flex-direction:column; transition:.2s ease; }
.info-card:hover { box-shadow:var(--shadow); transform:translateY(-2px); }
.info-card-featured { background:var(--navy); color:#fff; border-color:var(--navy); }
.info-meta { display:flex; gap:9px; flex-wrap:wrap; margin-bottom:48px; }
.info-meta span { border:1px solid #cbd3d7; padding:6px 9px; border-radius:999px; color:#65737d; font-size:.62rem; text-transform:uppercase; letter-spacing:.09em; font-weight:850; }
.info-card-featured .info-meta span { border-color:rgba(255,255,255,.25); color:#dce4e9; }
.info-card h3 { margin:0 0 12px; font-size:1.65rem; line-height:1.14; }
.info-card p { margin:0 0 28px; color:#68757d; }
.info-card-featured p { color:#d5dee3; }
.info-card a { margin-top:auto; color:#154d92; font-weight:850; font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; }
.info-card-featured a { color:var(--gold-soft); }
.section-submit { margin-top:24px; border:1px solid #d9dfe1; background:#fbfbf9; padding:24px 26px; display:flex; align-items:center; justify-content:space-between; gap:30px; border-radius:7px; }
.section-submit strong,.section-submit span { display:block; }
.section-submit strong { font-size:1.05rem; }
.section-submit span { margin-top:3px; color:#707b82; font-size:.88rem; }

.event-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.event-card { display:grid; grid-template-columns:112px 1fr; gap:26px; min-height:220px; padding:28px; border:1px solid #dbe0e2; background:#fff; border-radius:7px; }
.event-card-wide { grid-column:1 / -1; }
.date-block { width:104px; min-height:122px; align-self:start; background:var(--navy); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; border-bottom:5px solid var(--gold); }
.date-block span { font-size:.73rem; text-transform:uppercase; letter-spacing:.15em; color:var(--gold-soft); font-weight:850; }
.date-block strong { margin:2px 0; font-size:2rem; line-height:1; }
.date-block small { font-size:.65rem; color:#cbd5da; }
.event-place { margin:0 0 4px !important; color:#9b6f1e !important; font-size:.68rem !important; font-weight:900; text-transform:uppercase; letter-spacing:.13em; }
.event-card h3 { margin:0 0 8px; font-size:1.45rem; line-height:1.1; }
.event-card p { margin:0 0 18px; color:#68757d; font-size:.92rem; }
.event-card a { color:#154d92; font-weight:850; font-size:.74rem; text-transform:uppercase; letter-spacing:.05em; }

.drive-section { position:relative; padding:100px 0; overflow:hidden; background:var(--navy); color:#fff; }
.drive-bg img { object-position:center 54%; filter:saturate(.9); }
.drive-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,18,29,.97),rgba(3,18,29,.87) 58%,rgba(3,18,29,.76)); }
.drive-content { position:relative; z-index:2; }
.route-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.route-card { display:grid; grid-template-columns:82px 1fr; gap:22px; padding:28px; background:rgba(6,25,38,.78); border:1px solid rgba(255,255,255,.17); border-radius:7px; backdrop-filter:blur(8px); }
.route-card-accent { border-color:rgba(230,184,77,.55); }
.route-shield { width:74px; height:88px; clip-path:polygon(12% 0,88% 0,100% 18%,100% 68%,50% 100%,0 68%,0 18%); background:#fff; color:var(--navy); display:flex; align-items:center; justify-content:center; flex-direction:column; }
.route-shield span { font-size:.62rem; font-weight:900; letter-spacing:.12em; }
.route-shield strong { font-size:1.85rem; line-height:1; }
.route-card h3 { margin:0 0 7px; font-size:1.25rem; }
.route-card p { margin:0 0 17px; color:#cbd6dc; font-size:.9rem; }
.route-card a { color:var(--gold-soft); font-size:.72rem; font-weight:850; text-transform:uppercase; letter-spacing:.05em; }
.route-note { margin:22px 0 0; color:#aebdc6; font-size:.78rem; }

.repair-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.shop-card { padding:40px; border:1px solid #dce2e4; background:#fff; border-radius:7px; box-shadow:0 8px 28px rgba(5,24,38,.05); }
.shop-card-primary { background:var(--navy); color:#fff; border-color:var(--navy); }
.shop-city { margin-bottom:36px; color:#91681b; font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.15em; }
.shop-card-primary .shop-city { color:var(--gold-soft); }
.shop-card h3 { margin:0 0 12px; font-size:2rem; letter-spacing:-.02em; }
.shop-card > p { margin:0 0 26px; color:#64717a; }
.shop-card-primary > p { color:#d4dee3; }
.shop-card dl { margin:0 0 30px; padding:20px 0; border-top:1px solid #dce2e4; border-bottom:1px solid #dce2e4; }
.shop-card-primary dl { border-color:rgba(255,255,255,.18); }
.shop-card dl div { display:grid; grid-template-columns:76px 1fr; gap:12px; padding:5px 0; }
.shop-card dt { font-size:.7rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; color:#839099; }
.shop-card-primary dt { color:#9fb0ba; }
.shop-card dd { margin:0; font-size:.91rem; }
.directory-note { margin:19px 0 0; color:#7b858b; font-size:.75rem; }

.final-contact { background:var(--navy); color:#fff; padding:54px 0; }
.final-contact-inner { display:grid; grid-template-columns:1fr auto; gap:80px; align-items:center; }
.final-contact h2 { margin:0 0 8px; font-size:clamp(2rem,3.2vw,3.25rem); line-height:1; letter-spacing:-.04em; }
.final-contact p:not(.section-kicker) { margin:0; color:#cbd7dd; }

.site-footer { background:#03131e; color:#cbd5db; padding:58px 0 24px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1.2fr .8fr; gap:60px; }
.site-brand-footer { margin-bottom:20px; }
.footer-brand p { max-width:420px; margin:0; color:#8fa0aa; }
.footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.footer-column strong { color:#fff; text-transform:uppercase; font-size:.72rem; letter-spacing:.12em; margin-bottom:6px; }
.footer-column a,.footer-button { color:#aab9c2; border:0; background:none; padding:0; cursor:pointer; font-size:.86rem; text-align:left; }
.footer-column a:hover,.footer-column a:focus-visible,.footer-button:hover,.footer-button:focus-visible { color:var(--gold-soft); }
.footer-bottom { margin-top:44px; padding-top:22px; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; gap:20px; color:#758691; font-size:.73rem; }

.contact-dialog { width:min(920px,calc(100% - 26px)); max-height:calc(100vh - 26px); border:0; border-radius:10px; padding:0; background:#f7f6f2; color:var(--ink); box-shadow:0 40px 100px rgba(0,0,0,.36); }
.contact-dialog::backdrop { background:rgba(2,15,24,.78); backdrop-filter:blur(5px); }
.dialog-shell { position:relative; padding:42px; }
.dialog-close { position:absolute; top:16px; right:16px; width:40px; height:40px; border-radius:50%; border:1px solid #cad2d5; background:#fff; color:#243641; cursor:pointer; font-size:1.55rem; line-height:1; }
.dialog-heading { max-width:670px; margin-bottom:28px; }
.dialog-heading h2 { margin:0 0 8px; font-size:2.5rem; line-height:1; letter-spacing:-.04em; }
.dialog-heading p:not(.section-kicker) { margin:0; color:#68757d; }
.contact-form { display:grid; grid-template-columns:repeat(2,1fr); gap:17px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field-full,.check-field,.form-footer,.form-status { grid-column:1 / -1; }
.field > span { font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; font-weight:850; color:#45545e; }
.field b,.check-field b { color:#b24d38; }
.field input,.field select,.field textarea { width:100%; border:1px solid #cbd4d7; background:#fff; color:#132632; border-radius:5px; padding:12px 13px; outline:none; transition:border-color .2s,box-shadow .2s; }
.field input,.field select { height:48px; }
.field textarea { min-height:132px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:#8d711f; box-shadow:0 0 0 3px rgba(230,184,77,.2); }
.check-field { display:flex; gap:10px; align-items:flex-start; color:#63717a; font-size:.82rem; }
.check-field input { margin-top:4px; accent-color:var(--navy); }
.form-footer { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.form-footer p { margin:0; color:#7d888e; font-size:.72rem; max-width:520px; }
.form-status { min-height:1px; color:#8f2f2f; font-weight:750; font-size:.8rem; }
.honeypot { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.toast { position:fixed; z-index:1000; right:22px; bottom:22px; max-width:380px; padding:14px 18px; border-radius:7px; box-shadow:var(--shadow); color:#fff; font-weight:800; }
.toast-success { background:#1f4d36; }
.toast-error { background:#713030; }

.privacy-main,.error-main { min-height:70vh; padding:90px 0; background:#f7f6f2; }
.prose { width:min(820px,100%); }
.prose h1 { margin:0 0 18px; color:var(--navy); font-size:clamp(2.8rem,5vw,5.5rem); line-height:.92; letter-spacing:-.055em; }
.prose h2 { margin:38px 0 10px; color:var(--navy); font-size:1.5rem; }
.prose p,.prose li { color:#5d6a72; }
.prose a { color:#164f91; font-weight:750; }

@media (max-width:1120px) {
  .primary-nav { gap:18px; }
  .primary-nav > a { font-size:.72rem; }
  .site-brand-copy small { display:none; }
  .overview-grid { grid-template-columns:repeat(2,1fr); }
  .marque-grid { grid-template-columns:repeat(5,1fr); }
  .marque:nth-child(5n+1) { border-left:1px solid rgba(255,255,255,.09); }
  .footer-grid { grid-template-columns:1.7fr 1fr 1fr; }
  .footer-column:last-child { grid-column:2; }
}

@media (max-width:900px) {
  html { scroll-padding-top:72px; }
  .shell { width:min(calc(100% - 34px),var(--shell)); }
  .header-inner { min-height:70px; }
  .site-brand img { width:72px; }
  .site-brand-copy > span { font-size:1.05rem; }
  .nav-toggle { display:block; margin-left:auto; }
  .primary-nav { position:absolute; top:70px; left:0; right:0; display:none; background:#071a29; padding:16px 22px 24px; border-top:1px solid rgba(255,255,255,.08); box-shadow:0 18px 40px rgba(0,0,0,.28); }
  .primary-nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .primary-nav > a { padding:12px 0; }
  .primary-nav > a::after { display:none; }
  .nav-contact { margin-top:12px; }
  .hero,.hero-inner { min-height:610px; }
  .hero-shade { background:linear-gradient(90deg,rgba(3,18,28,.93),rgba(3,18,28,.6) 68%,rgba(3,18,28,.22)); }
  .hero h1 { font-size:clamp(4rem,10vw,6rem); }
  .hero-location { display:none; }
  .marque-grid { grid-template-columns:repeat(3,1fr); }
  .overview-grid,.club-grid,.event-grid,.route-grid,.repair-grid { grid-template-columns:1fr; }
  .event-card-wide { grid-column:auto; }
  .community-inner,.final-contact-inner { grid-template-columns:1fr; gap:26px; }
  .community-inner .button,.final-contact-inner .button { justify-self:start; }
  .section-heading { grid-template-columns:1fr; gap:18px; }
  .section-heading > p { justify-self:start; }
  .footer-grid { grid-template-columns:1.6fr 1fr 1fr; gap:35px; }
  .footer-column:last-child { grid-column:auto; }
}

@media (max-width:620px) {
  .shell { width:min(calc(100% - 26px),var(--shell)); }
  .site-brand img { width:61px; }
  .site-brand-copy > span { font-size:.92rem; }
  .hero,.hero-inner { min-height:580px; }
  .hero-media img { object-position:62% center; }
  .hero-shade { background:linear-gradient(90deg,rgba(3,18,28,.94),rgba(3,18,28,.73) 72%,rgba(3,18,28,.3)); }
  .hero-inner { padding-block:50px; align-items:flex-end; }
  .hero-kicker { font-size:.72rem; letter-spacing:.22em; }
  .hero h1 { font-size:clamp(3.6rem,16vw,5rem); }
  .hero-lede { font-size:1rem; }
  .hero-lede strong { font-size:1.06rem; }
  .marque-grid { grid-template-columns:repeat(3,1fr); }
  .marque { min-height:78px; }
  .marque:nth-child(n+7) { display:none; }
  .resource-overview { padding:26px 0 34px; }
  .overview-grid { gap:14px; }
  .overview-body { min-height:244px; }
  .community-inner { padding-block:38px; }
  .detail-section,.drive-section { padding:74px 0; }
  .section-heading { margin-bottom:30px; }
  .section-heading h2 { font-size:clamp(2.4rem,11vw,3.7rem); }
  .info-card { padding:26px; min-height:260px; }
  .info-meta { margin-bottom:34px; }
  .section-submit { align-items:flex-start; flex-direction:column; }
  .event-card { grid-template-columns:86px 1fr; gap:18px; padding:22px 18px; }
  .date-block { width:82px; min-height:105px; }
  .date-block strong { font-size:1.55rem; }
  .route-card { grid-template-columns:64px 1fr; gap:16px; padding:22px 18px; }
  .route-shield { width:58px; height:70px; }
  .route-shield strong { font-size:1.4rem; }
  .shop-card { padding:28px 23px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
  .dialog-shell { padding:36px 19px 24px; }
  .dialog-heading h2 { font-size:2rem; }
  .contact-form { grid-template-columns:1fr; }
  .field-full,.check-field,.form-footer,.form-status { grid-column:auto; }
  .form-footer { align-items:flex-start; flex-direction:column; }
  .form-footer .button { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}
