*{box-sizing:border-box}html{scroll-behavior:smooth}body{overflow-x:hidden}.content-long p,.content-long li{line-height:1.72}.content-long h2{margin-top:2.1rem}.content-long h3{margin-top:1.4rem}.notice-safe{border-left:5px solid #b40000;padding:18px 20px;background:#fff7f7;margin:24px 0}.notice-info{border-left:5px solid #222;padding:18px 20px;background:#f5f5f5;margin:24px 0}.district-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.district-grid a{display:block;padding:16px;min-height:56px;border:1px solid #ddd;border-radius:10px;text-decoration:none}.service-table{width:100%;border-collapse:collapse}.service-table th,.service-table td{padding:12px;border:1px solid #ddd;text-align:left}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:10px;top:10px;z-index:9999;background:#fff;padding:12px}.nav a,.call,.btn,.sticky{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.topbar{line-height:1.4}@media(max-width:760px){.service-table{display:block;overflow-x:auto}.sticky{font-size:15px;padding:12px}.header-inner{gap:10px}.nav{flex-wrap:wrap}}@media (max-width: 768px){a{min-height:44px;display:inline-flex;align-items:center}.brand{display:flex}.breadcrumb a,.footer a,.content-long a{padding-top:8px;padding-bottom:8px}}
a{min-height:44px;display:inline-flex;align-items:center}.content-long a,.footer a,.breadcrumb a{padding-top:8px;padding-bottom:8px}

.quote-form label{display:block;font-weight:700;margin:0 0 1rem}.quote-form input,.quote-form textarea{display:block;width:100%;min-height:48px;margin-top:.4rem;padding:.75rem;border:1px solid #777;border-radius:.35rem;font:inherit}.quote-form textarea{min-height:150px}.quote-form .check{display:flex;gap:.65rem;align-items:flex-start}.quote-form .check input{width:24px;min-height:24px;margin:0}.hp{position:absolute!important;left:-9999px!important}.quote-form button{min-height:48px}.summary[role=alert]{border-left:5px solid #b00020}
/* Touch-target hardening for short inline links and consent control. */
main p a{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;vertical-align:middle}
.quote-form .check input{width:44px;min-width:44px;height:44px;min-height:44px}

.content-figure{margin:28px 0;background:#fff;border:1px solid #ddd;border-radius:12px;overflow:hidden}.content-figure img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover}.content-figure figcaption{padding:12px 16px;font-size:.95rem;line-height:1.5;background:#f5f5f5}.source-note{font-size:.95rem;border-top:1px solid #ddd;padding-top:16px}.keyword-guides .district-grid a{background:#fff;color:#111}.keyword-guides .district-grid a:hover,.keyword-guides .district-grid a:focus{border-color:#b40000;outline:3px solid rgba(180,0,0,.18)}

.content-figure picture{display:block}.content-figure picture img{display:block;width:100%;height:auto}


.menu-toggle{min-width:48px;min-height:48px;padding:10px 12px;align-items:center;justify-content:center;border:2px solid #b40000;border-radius:10px;background:#fff;color:#111;font-weight:800;line-height:1;cursor:pointer}
.table-wrap{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:20px 0}
.table-wrap table{width:100%;border-collapse:collapse}
.table-wrap th,.table-wrap td{padding:12px;border:1px solid #ddd;text-align:left;vertical-align:top;overflow-wrap:anywhere}
@media(max-width:390px){.table-wrap table{min-width:560px}.breadcrumb{overflow-wrap:anywhere}.links a{min-height:44px;padding-top:10px;padding-bottom:10px}}


/* Unified responsive layout and image handling — 2026-07-19 */
:root{
  --site-content-width:1180px;
  --site-reading-width:980px;
  --site-gutter:clamp(16px,3vw,32px);
}
html{max-width:100%;overflow-x:hidden}
body{width:100%;max-width:100%;overflow-x:hidden}
.container{
  width:min(var(--site-content-width),calc(100% - (2 * var(--site-gutter))));
  max-width:100%;
  margin-inline:auto;
}
main{display:block;width:100%;max-width:100%;overflow:clip}
main > section{width:100%;max-width:100%}
main .container.content-long{width:min(var(--site-reading-width),calc(100% - (2 * var(--site-gutter))));max-width:100%;margin-inline:auto}
main section.content-long{width:100%;max-width:none}
main section.content-long > .container{max-width:var(--site-reading-width)}
main h1,main h2,main h3,main p,main li,main a,main td,main th{
  overflow-wrap:anywhere;
  word-break:normal;
}
main .section h2{
  font-size:clamp(1.75rem,2.6vw,2.65rem);
  line-height:1.16;
  margin-block:0 1rem;
}
main .section h3{
  font-size:clamp(1.2rem,1.8vw,1.65rem);
  line-height:1.25;
}
main .content-long > h2:not(:first-child){margin-top:clamp(2.2rem,5vw,3.8rem)}
main .content-long > h3:not(:first-child){margin-top:clamp(1.6rem,3vw,2.4rem)}
main .content-long p,main .content-long li{
  font-size:clamp(1rem,.22vw + .97rem,1.1rem);
  line-height:1.72;
}
.grid,.gallery,.links{
  width:100%;
  min-width:0;
  align-items:start;
}
.grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
}
.gallery{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
  gap:clamp(14px,2vw,24px);
}
.links{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
}
img,picture,figure,video,iframe,svg,canvas{
  max-width:100%;
}
picture{display:block;width:100%;min-width:0}
img{
  display:block;
  width:auto;
  height:auto;
}
.gallery > img{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center;
  align-self:start;
  border-radius:18px;
  background:#0b0b0b;
  box-shadow:0 12px 30px rgba(0,0,0,.16);
}
.content-figure{
  width:100%;
  min-width:0;
  max-width:860px;
  margin:clamp(22px,4vw,36px) auto;
}
.grid > .content-figure,.gallery > .content-figure{
  max-width:none;
  margin:0;
  height:100%;
  display:flex;
  flex-direction:column;
}
.content-figure picture{width:100%;height:auto}
.content-figure img,
.gallery .content-figure img,
.grid .content-figure img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center;
}
.content-figure figcaption{
  flex:0 0 auto;
  overflow-wrap:anywhere;
}
.table-wrap,.service-table{max-width:100%}
.unified-content-section{background:#fff}
@media (max-width:980px){
  .grid,.gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
  main .content-long{max-width:100%}
}
@media (max-width:640px){
  :root{--site-gutter:16px}
  .section{padding:48px 0}
  .grid,.gallery,.links{grid-template-columns:minmax(0,1fr)}
  .gallery > img,.content-figure img{width:100%;height:auto;max-height:none}
  main .section h2{font-size:clamp(1.65rem,8vw,2.15rem)}
  main .section h3{font-size:clamp(1.18rem,6vw,1.5rem)}
}

/* Preserve the source image ratio. This overrides the older 4:3 gallery crop. */
.gallery > img,
.gallery .content-figure img,
.grid .content-figure img,
.content-figure img{
  aspect-ratio:auto;
}
