@charset "utf-8";
/* CSS Document */
:root{--brand-dark:#1f2a36;--brand-blue:#0f6d8c;--brand-blue-dark:#0b546b;--brand-border:#dbe3ea;--text-muted-2:#5f6b76;--shadow-soft:0 8px 24px rgba(0,0,0,.07);--radius:14px;--nav-offset:95px}
.city-section{
  scroll-margin-top:110px;
}
html{scroll-behavior:smooth}
body{margin:0;padding-top:0;font-family:Arial,Helvetica,sans-serif;color:#212529;background:#eef2f5}
[id]{scroll-margin-top:var(--nav-offset)}
img{display:block;max-width:100%;height:auto}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:12px;top:12px;width:auto;height:auto;padding:.55rem .8rem;background:#000;color:#fff;z-index:9999}
.navbar-brand{font-weight:700;letter-spacing:.2px}
.page-shell{padding:1.25rem 0 2rem}
.hero-wrap,.section-card,.sidebar-card,.listing-card,.city-section,.footer-card,.quote-box{background:#fff;border:1px solid var(--brand-border);border-radius:var(--radius);box-shadow:var(--shadow-soft)}
.hero-wrap,.section-card,.sidebar-card,.footer-card,.quote-box,.city-section{margin-bottom:1.25rem}
.hero-wrap,.footer-card,.listing-card,.city-section,.quote-box{overflow:hidden}
.hero-copy,.section-card .card-body,.sidebar-card .card-body,.footer-card .card-body,.quote-box .card-body{padding:1.25rem}
.hero-copy{padding-bottom:1rem}
.eyebrow{display:inline-block;margin-bottom:.65rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-blue)}
.hero-title{margin-bottom:.65rem;font-size:2rem;line-height:1.15;font-weight:700;color:var(--brand-dark)}
.hero-text{margin-bottom:1rem;font-size:1rem;color:var(--text-muted-2)}
.hero-actions a,.page-nav-inline a,.page-nav-inline span{display:inline-block}
.hero-actions a{margin:0 .5rem .5rem 0}
.section-title{margin-bottom:.9rem;font-size:1.1rem;font-weight:700;color:var(--brand-dark)}
.page-nav-inline a,.page-nav-inline span{margin:.15rem .25rem}
.page-chip{display:inline-block;padding:.5rem .75rem;border-radius:999px;background:#edf5f8;color:var(--brand-blue-dark);font-size:.95rem;font-weight:700}
.index-toggle{display:block;padding:.95rem 1.1rem;border-radius:12px;background:linear-gradient(135deg,var(--brand-blue),var(--brand-blue-dark));color:#fff;font-weight:700;text-decoration:none}
.index-toggle:hover,.index-toggle:focus{color:#fff;text-decoration:none;opacity:.95}
.quick-index{padding-top:1rem}
.quick-index a{display:block;padding:.22rem 0;color:var(--brand-blue-dark);font-weight:600;text-decoration:none}
.quick-index a:hover{text-decoration:underline}
.city-heading{padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.15);background:linear-gradient(135deg,#1989a3,#116b82);color:#fff}
.city-heading h2{margin:0;font-size:1.35rem;font-weight:700}
.city-body{padding:1rem}
.listing-card{margin-bottom:1rem}
.listing-card:last-child,.sidebar-link-block:last-child{margin-bottom:0}
.listing-card .row{margin:0}
.listing-image-wrap{display:flex;align-items:center;justify-content:center;height:100%;border-right:1px solid var(--brand-border);background:#f1f4f7}
.listing-content{padding:1.1rem 1.1rem 1rem}
.listing-title{margin-bottom:.65rem;font-size:1.15rem;font-weight:700;color:var(--brand-dark)}
.listing-meta{margin:0;font-style:normal;line-height:1.65;color:#2b333a}
.listing-meta strong,.listing-meta b{color:var(--brand-dark)}
.listing-actions{margin-top:.9rem}
.btn-directory{min-width:180px;padding:.62rem 1rem;border-radius:999px;font-weight:700;letter-spacing:.01em}
.pagination-grid .btn{border-radius:999px;font-weight:700}
.sidebar-card img{margin-bottom:.9rem;border-radius:10px}
.sidebar-link-block{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--brand-border)}
.sidebar-link-block h3,.quote-box h2{font-size:1.08rem;line-height:1.35;font-weight:700}
.sidebar-link-block p,.quote-box p,.footer-small{color:var(--text-muted-2)}
.footer-band{background:linear-gradient(135deg,#1f2a36,#243646);color:#fff}
.footer-band a{color:#fff}
.footer-band a.text-warning{color:#ffd166!important}
.footer-small{font-size:.92rem;opacity:.95}
.copyright-note{padding-bottom:.5rem;color:#6c757d;font-size:.95rem}
.footer-band .footer-small,
.footer-band address,
.footer-band p{
  color:#fff;
  opacity:1;
}
@media (max-width:991.98px){.hero-title{font-size:1.7rem}.listing-image-wrap{border-right:0;border-bottom:1px solid var(--brand-border)}}
@media (max-width:575.98px){.hero-copy{padding:1.1rem 1rem .8rem}.city-heading{padding:.9rem 1rem}.city-heading h2{font-size:1.15rem}.listing-content{padding:1rem}.btn-directory{width:100%;min-width:0}}
