.town-guide{
  --town-blue:#0057ff;--town-coral:#ef5a4f;--town-navy:#173b57;--town-cream:#fff8ed;
  max-width:1120px;margin:0 auto;padding:18px 18px 72px;color:#111;background:#fff;
}
.town-guide *{box-sizing:border-box}
.town-guide a{color:inherit;text-decoration:none}
.town-back{display:inline-flex;margin:0 0 16px;font-size:11px;font-weight:900}
.town-hero{overflow:hidden;border:1px solid #e7e3db;border-radius:18px;background:var(--town-cream)}
.town-hero-copy{padding:26px 22px 24px}
.town-eyebrow,.town-section-kicker{margin:0 0 12px;color:var(--town-blue);font:900 9px/1 Montserrat,sans-serif;letter-spacing:.16em}
.town-hero h1{margin:0;font-size:34px;line-height:1.16;letter-spacing:-.055em;font-weight:900}
.town-hero-lead{margin:17px 0 0;font-size:15px;line-height:2;font-weight:650}
.town-hero-visual{position:relative;height:215px;overflow:hidden;background:#e9e5db}
.town-hero-visual img{width:100%;height:100%;object-fit:cover}
.town-stamp{position:absolute;right:14px;bottom:13px;padding:9px 10px 8px;background:#111;color:#fff;font:900 9px/1.1 Montserrat,sans-serif;letter-spacing:.1em;transform:rotate(-3deg)}
.town-definition{margin:18px 0 0;padding:15px 16px;border-left:4px solid var(--town-coral);background:#f7f5f0;border-radius:0 10px 10px 0;font-size:12px;line-height:1.9;color:#3f3b35}
.town-definition b{color:#111}
.town-jump{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:24px 0 0}
.town-jump a{min-height:76px;padding:12px;border:1px solid #dfdbd3;border-radius:12px;display:flex;flex-direction:column;justify-content:space-between;background:#fff}
.town-jump b{font:900 20px/1 Montserrat,sans-serif}
.town-jump span{font-size:11px;font-weight:900}
.town-section{padding:48px 2px 0;scroll-margin-top:90px}
.town-section h2{margin:0;font-size:27px;line-height:1.4;letter-spacing:-.05em}
.town-section>p{margin:18px 0 0;font-size:14px;line-height:2.05;color:#333}
.town-section strong{box-shadow:inset 0 -.38em 0 rgba(239,90,79,.18)}
.town-split-cards{display:grid;gap:10px;margin-top:24px}
.town-split-card{padding:18px;border:1px solid #e5e1d9;border-radius:14px;background:#fff}
.town-split-card small{display:block;margin-bottom:10px;color:#777;font:900 8px/1 Montserrat,sans-serif;letter-spacing:.12em}
.town-split-card h3{margin:0 0 8px;font-size:18px;line-height:1.45}
.town-split-card p{margin:0;font-size:12px;line-height:1.85;color:#555}
.town-history{margin-top:48px;padding:27px 21px;border-radius:18px;background:#111;color:#fff}
.town-history .town-section-kicker{color:#5ed7b6}
.town-history h2{margin:0;font-size:27px;line-height:1.4;letter-spacing:-.05em}
.town-history>p{margin:17px 0 0;font-size:13px;line-height:2;color:#ddd}
.town-history-fact{margin-top:22px;padding:18px;border-radius:12px;background:#1c1c1c;border:1px solid #333}
.town-history-fact b{display:block;margin-bottom:8px;color:#fff;font-size:15px}
.town-history-fact p{margin:0;font-size:12px;line-height:1.9;color:#cfcfcf}
.town-sources{display:grid;gap:8px;margin-top:16px}
.town-sources a{display:flex;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid #3b3b3b;border-radius:10px;font-size:10px;line-height:1.55;color:#fff}
.town-sources a span:last-child{flex:0 0 auto;color:#5ed7b6}
.town-walk{margin-top:48px;border:1px solid #e5e1d9;border-radius:18px;overflow:hidden;background:var(--town-cream)}
.town-walk-copy{padding:26px 21px}
.town-walk h2{margin:0;font-size:27px;line-height:1.4;letter-spacing:-.05em}
.town-walk p{font-size:13px;line-height:2;color:#3d3933}
.town-paths{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.town-paths a{min-height:84px;padding:13px;border-radius:12px;background:#fff;border:1px solid #ddd7cc;display:flex;flex-direction:column;justify-content:space-between}
.town-paths b{font-size:14px}
.town-paths span{color:var(--town-blue);font:900 9px Montserrat,sans-serif}
.town-walk-map img{display:block;width:100%;height:auto}
.town-buiyon{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:center;margin-top:18px;padding:16px;border-radius:14px;background:#eef4ff}
.town-buiyon img{width:84px;height:84px;object-fit:contain}
.town-buiyon b{display:block;margin-bottom:5px;font-size:13px}
.town-buiyon p{margin:0;font-size:11px;line-height:1.75}
.town-footer{margin-top:30px;padding:18px 2px 0;border-top:1px solid #eee;color:#777}
.town-footer p{font-size:10px;line-height:1.8}
@media(min-width:760px){
  .town-guide{padding:34px 28px 92px}
  .town-hero{display:grid;grid-template-columns:1fr 1fr}
  .town-hero-copy{padding:44px}
  .town-hero h1{font-size:48px}
  .town-hero-visual{height:auto;min-height:430px}
  .town-jump{grid-template-columns:repeat(4,1fr)}
  .town-section{padding-top:72px}
  .town-section h2,.town-history h2,.town-walk h2{font-size:36px}
  .town-section>p{font-size:15px}
  .town-split-cards{grid-template-columns:repeat(3,1fr)}
  .town-history{padding:42px}
  .town-history-fact{padding:22px}
  .town-walk{display:grid;grid-template-columns:.95fr 1.05fr}
  .town-walk-copy{padding:40px}
  .town-walk-map img{height:100%;object-fit:cover}
}
@media(min-width:1024px){
  .town-guide{padding-top:42px}
  .town-hero{border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.08)}
  .town-hero-copy{padding:58px}
  .town-hero h1{font-size:56px}
  .town-hero-visual{min-height:520px}
  .town-section{max-width:900px;margin-left:auto;margin-right:auto}
  .town-history,.town-walk{max-width:1040px;margin-left:auto;margin-right:auto}
  .town-history{margin-top:80px}
  .town-walk{margin-top:30px}
}
@media(max-width:370px){
  .town-hero h1{font-size:31px}
  .town-jump,.town-paths{grid-template-columns:1fr}
}