
:root{
  --green:#12371f;--green2:#1d5a31;--cream:#f7f4eb;--gold:#d6b862;
  --ink:#183025;--muted:#647268;--line:#dfe7df;--white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#f5f7f4;line-height:1.55}
a{color:var(--green2)}
.ryb-topbar{position:sticky;top:0;z-index:2000;background:var(--green);box-shadow:0 4px 18px rgba(0,0,0,.15)}
.ryb-nav{max-width:1180px;margin:auto;height:74px;padding:0 18px;display:flex;align-items:center;gap:18px}
.ryb-logo{display:flex;align-items:center;flex:0 0 auto;text-decoration:none}
.ryb-logo img{width:62px;height:52px;object-fit:contain;border-radius:8px;background:white}
.ryb-mainlinks{display:flex;gap:8px;align-items:center;flex:1}
.ryb-mainlinks a,.ryb-menu-btn{color:#fff;text-decoration:none;font-size:15px;font-weight:700;padding:10px 11px;border-radius:9px;white-space:nowrap}
.ryb-mainlinks a:hover,.ryb-menu-btn:hover{background:rgba(255,255,255,.12)}
.ryb-menu{position:relative;margin-left:auto}
.ryb-menu-btn{border:1px solid rgba(255,255,255,.35);background:transparent;cursor:pointer}
.ryb-menu-panel{display:none;position:absolute;right:0;top:48px;min-width:220px;background:#fff;border-radius:14px;padding:8px;box-shadow:0 16px 45px rgba(0,0,0,.23)}
.ryb-menu-panel.open{display:block}
.ryb-menu-panel a{display:block;padding:11px 13px;border-radius:9px;color:var(--green);text-decoration:none;font-weight:700}
.ryb-menu-panel a:hover{background:#f2f6f2}
.hero{background:linear-gradient(135deg,var(--green),#244d31);color:#fff;padding:58px 20px 46px;text-align:center}
.hero .eyebrow{display:inline-block;background:rgba(214,184,98,.18);border:1px solid rgba(214,184,98,.55);color:#f5d985;padding:7px 12px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.hero h1{font-size:clamp(30px,5vw,52px);line-height:1.08;margin:18px auto 10px;max-width:950px}
.hero p{max-width:800px;margin:0 auto;color:#e8efe9;font-size:18px}
.page{max-width:1120px;margin:0 auto;padding:34px 18px 60px}
.backline{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:24px}
.pill{display:inline-flex;align-items:center;gap:7px;text-decoration:none;background:#fff;border:1px solid var(--line);padding:9px 13px;border-radius:999px;color:var(--green);font-weight:700}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.hub-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;text-decoration:none;color:var(--ink);box-shadow:0 8px 25px rgba(22,55,31,.06);transition:.18s}
.hub-card:hover{transform:translateY(-3px);box-shadow:0 13px 32px rgba(22,55,31,.12);border-color:#c9d7ca}
.hub-icon{font-size:32px;margin-bottom:12px}
.hub-card h2{font-size:19px;margin:0 0 6px;color:var(--green)}
.hub-card p{margin:0;color:var(--muted);font-size:14px}
.section-title{margin:34px 0 14px;color:var(--green);font-size:27px}
.town{background:#fff;border:1px solid var(--line);border-radius:18px;margin:14px 0;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.035)}
.town h2{margin:0;padding:13px 18px;background:#eef4ef;color:var(--green);font-size:21px;border-bottom:1px solid var(--line)}
.entries{padding:5px 18px 12px}
.entry{padding:14px 0;border-bottom:1px solid #edf1ed}
.entry:last-child{border-bottom:0}
.entry strong{color:#193d27}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.action{display:inline-block;text-decoration:none;background:#fff7d7;border:1px solid #e7cf71;color:#3d4b20;padding:6px 10px;border-radius:8px;font-weight:700;font-size:13px}
.action.map{background:#edf7ef;border-color:#bcd8c2;color:#1b5a2e}
.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.route{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 4px 16px rgba(0,0,0,.035)}
.route .km{display:inline-block;background:#eef4ef;color:var(--green);border-radius:999px;padding:5px 9px;font-weight:800;font-size:13px}
.route h2{font-size:20px;margin:12px 0 7px;color:var(--green)}
.route p{margin:0 0 14px;color:#44544a}
.route a{display:inline-block;background:var(--green);color:white;text-decoration:none;padding:9px 12px;border-radius:9px;font-weight:700}
.info-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin:14px 0}
.info-card h2{color:var(--green);margin:0 0 8px}
.info-card p{margin:6px 0}
.notice{background:#fff8df;border:1px solid #ead792;border-radius:16px;padding:17px;margin:18px 0}
.footer{background:#102f1c;color:#fff;padding:34px 18px;text-align:center}
.footer a{color:#fff}
.footer .small{opacity:.78;font-size:13px;margin-top:8px}
@media(max-width:760px){
  .ryb-nav{height:64px;padding:0 8px;gap:4px}
  .ryb-logo img{width:42px;height:42px}
  .ryb-mainlinks{gap:1px}
  .ryb-mainlinks a{font-size:11px;padding:8px 5px}
  .ryb-menu-btn{font-size:0;padding:8px 9px}
  .ryb-menu-btn:before{content:"☰";font-size:21px}
  .hero{padding:38px 15px 32px}.hero p{font-size:16px}
  .page{padding:24px 12px 45px}
  .grid,.route-grid{grid-template-columns:1fr}
  .town h2{font-size:19px}
}
@media(max-width:390px){
  .ryb-mainlinks a{font-size:10px;padding:8px 3px}
  .ryb-nav{gap:2px}
}
