/* Intrinsic page flow for the individual settlement pages and directory. */
#dc-root .mi-city-page {width:100%;max-width:none;margin:0 auto;color:var(--mi-text);background:var(--mi-page);overflow:visible;}
#dc-root .mi-city-page section {height:auto!important;min-width:0;padding:clamp(32px,4vw,64px) clamp(20px,4vw,64px);margin:0;box-sizing:border-box;}
#dc-root .mi-city-page h1 {font:600 clamp(36px,4.6vw,66px)/1.12 Inter,system-ui,sans-serif;letter-spacing:-.035em;overflow-wrap:anywhere;margin:18px 0 24px;}
#dc-root .mi-city-page h2 {font:600 clamp(27px,3vw,40px)/1.18 Inter,system-ui,sans-serif;letter-spacing:-.025em;overflow-wrap:anywhere;margin:0 0 22px;}
#dc-root .mi-city-page h3 {font:600 21px/1.3 Inter,system-ui,sans-serif;margin:0 0 12px;overflow-wrap:anywhere;}
#dc-root .mi-city-page p,#dc-root .mi-city-page li {font:400 17px/1.65 Inter,system-ui,sans-serif;max-width:78ch;overflow-wrap:anywhere;color:var(--mi-muted);margin:0 0 20px;}
#dc-root .mi-city-page a {overflow-wrap:anywhere;}
#dc-root .mi-city-hero {display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:48px;align-items:start;}
#dc-root .mi-city-breadcrumb {display:flex;flex-wrap:wrap;gap:10px;font:400 15px/1.6 Inter,system-ui,sans-serif;}
#dc-root .mi-city-breadcrumb a {color:var(--mi-link);text-decoration:underline;}
#dc-root .mi-city-actions,#dc-root .mi-city-place-links {display:flex;flex-wrap:wrap;align-items:start;gap:14px;margin-top:26px;}
#dc-root .mi-city-page .btn,#dc-root .mi-city-page .pin {height:auto!important;min-height:48px;padding:14px 20px;white-space:normal;line-height:1.45;font-size:16px;max-width:100%;}
#dc-root .mi-city-map {margin:0;min-width:0;}
#dc-root .mi-city-map-canvas {position:relative;max-width:440px;border-radius:20px;border:1px solid var(--mi-border);}
#dc-root .mi-city-map-canvas img {display:block;width:100%;height:auto;border-radius:20px;}
#dc-root .mi-city-map-pin {position:absolute;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;background:#b94130;border:3px solid white;box-shadow:0 0 0 5px #b9413040;}
#dc-root .mi-city-map figcaption {font:400 14px/1.6 Inter,system-ui,sans-serif;color:var(--mi-muted);margin:16px 0 0;max-width:54ch;}
#dc-root .mi-city-context,#dc-root .mi-city-prepare {background:var(--mi-feature);}
#dc-root .mi-city-context dl {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:900px;margin:28px 0;}
#dc-root .mi-city-context dt {font:600 15px/1.5 Inter,system-ui,sans-serif;color:var(--mi-muted);}
#dc-root .mi-city-context dd {font:600 17px/1.6 Inter,system-ui,sans-serif;overflow-wrap:anywhere;margin:8px 0 0;}
#dc-root .mi-city-context>a {display:inline-flex;align-items:center;min-height:44px;color:var(--mi-link);text-decoration:underline;}
#dc-root .mi-city-services {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:32px 0 0;}
#dc-root .mi-city-services>a {display:block;padding:26px;background:var(--mi-surface);border:1px solid var(--mi-border);border-radius:16px;color:var(--mi-text);text-decoration:none;}
#dc-root .mi-city-services>a:is(:hover,:focus-visible) {background:var(--mi-secondary-hover);border-color:var(--mi-link);}
#dc-root .mi-city-services>a p {margin:0;font-size:16px;}
#dc-root .mi-city-services>a>span {display:block;margin-top:18px;font-size:24px;color:var(--mi-link);}
#dc-root .mi-city-prepare ul {padding-left:24px;max-width:80ch;}
#dc-root .mi-city-faq details {border-top:1px solid var(--mi-border);padding:0;margin:0;}
#dc-root .mi-city-faq-inner{width:100%;max-width:900px;margin-inline:auto;min-width:0;}
#dc-root .mi-city-faq summary {display:flex;justify-content:space-between;gap:20px;list-style:none;min-height:48px;padding:24px 0;font:600 19px/1.5 Inter,system-ui,sans-serif;}
#dc-root .mi-city-faq summary>span {flex-shrink:0;}
#dc-root .mi-city-faq details[open] summary>span {transform:rotate(45deg);}
#dc-root .mi-city-faq p {padding-bottom:20px;}
#dc-root .mi-city-page .mi-page-cta {display:flex!important;flex-wrap:wrap;align-items:center;gap:28px;background:#102b3e;color:white;}
#dc-root .mi-city-page .mi-page-cta>div {flex:1 1 420px;min-width:0;}
#dc-root .mi-city-page .mi-page-cta p {color:#d4e2eb;margin:0;}
#dc-root .mi-city-page .mi-page-cta>.btn {background:white;color:#102b3e;}
#dc-root .mi-city-page .mi-page-cta>.btn:is(:hover,:focus-visible) {background:#82dced;color:#082333;}
#dc-root .mi-city-search {max-width:680px;margin:30px 0;}
#dc-root .mi-city-search label {display:block;font:600 16px/1.5 Inter,system-ui,sans-serif;margin-bottom:10px;}
#dc-root .mi-city-search input {width:100%;min-height:52px;padding:13px 16px;border:1px solid var(--mi-border);border-radius:10px;background:var(--mi-control-bg);color:var(--mi-text);font:400 16px/1.5 Inter,system-ui,sans-serif;}
#dc-root .mi-city-search p {font-size:14px;margin:12px 0;}
#dc-root .mi-city-place-index {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 26px;padding:0;list-style:none;}
#dc-root .mi-city-place-index li {margin:0;padding:14px 0;border-bottom:1px solid var(--mi-border);font-size:16px;}
#dc-root .mi-city-place-index li[hidden] {display:none!important;}
#dc-root .mi-city-place-index a {display:inline-flex;align-items:center;min-height:44px;color:var(--mi-link);text-decoration:underline;}
#dc-root .mi-city-place-index span {display:block;color:var(--mi-muted);font:400 14px/1.5 Inter,system-ui,sans-serif;}
@media(max-width:900px){#dc-root .mi-city-hero{grid-template-columns:1fr;gap:32px;}#dc-root .mi-city-services,#dc-root .mi-city-place-index{grid-template-columns:repeat(2,minmax(0,1fr));}#dc-root .mi-city-map-canvas{max-width:360px;}}
@media(max-width:600px){#dc-root .mi-city-services,#dc-root .mi-city-place-index,#dc-root .mi-city-context dl{grid-template-columns:1fr;}#dc-root .mi-city-page p,#dc-root .mi-city-page li{font-size:16px;}#dc-root .mi-city-actions .btn{flex:1 1 100%;justify-content:center;}#dc-root .mi-city-services>a{padding:22px;}}
#dc-root .mi-area-all-places{margin-top:48px;padding-top:36px;border-top:1px solid var(--mi-border);min-width:0;}
#dc-root .mi-area-all-places h2{font:600 clamp(27px,3vw,40px)/1.2 Inter,system-ui,sans-serif;margin:0 0 20px;overflow-wrap:anywhere;}
#dc-root .mi-area-all-places>p{font:400 16px/1.65 Inter,system-ui,sans-serif;color:var(--mi-muted);max-width:78ch;margin:0 0 28px;}
#dc-root .mi-area-all-places .mi-area-featured-places{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;align-items:stretch;}
#dc-root .mi-area-all-places .mi-area-featured-places>a{display:flex;align-items:center;min-height:52px;padding:14px 16px;background:var(--mi-surface);color:var(--mi-text);border:1px solid var(--mi-border);border-radius:10px;font:600 15px/1.5 Inter,system-ui,sans-serif;text-decoration:none;overflow-wrap:anywhere;min-width:0;box-sizing:border-box;}
#dc-root .mi-area-all-places .mi-area-featured-places>a:is(:hover,:focus-visible){background:var(--mi-secondary-hover);color:var(--mi-text);border-color:var(--mi-link);text-decoration:underline;text-underline-offset:4px;}
#dc-root .mi-area-all-places .mi-area-featured-places>a[hidden]{display:none!important;}
html[data-mi-theme=dark] :is(.mi-city-page,.mi-area-all-places){--mi-secondary-hover:#2c4558;}
/* The latest owner requests a focused alphabetical work-area directory. */
html body #dc-root .mi-work-area-directory{height:auto!important;overflow:visible;padding:clamp(24px,3vw,44px)!important;}
html body #dc-root .mi-work-area-directory .mi-area-all-places{margin:0;padding:0;border:0;}
html body #dc-root .mi-work-area-directory .mi-area-search{max-width:680px;margin:24px 0;}
html body #dc-root .mi-area-alphabet{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0;}
html body #dc-root .mi-area-alphabet button,html body #dc-root .mi-area-more{min-height:44px;height:auto;padding:10px 14px;border:1px solid var(--mi-border);border-radius:10px;background:var(--mi-surface);color:var(--mi-text);font:600 15px/1.5 Inter,system-ui,sans-serif;cursor:pointer;transform:none!important;transition:background-color 220ms ease,color 220ms ease,border-color 220ms ease;}
html body #dc-root .mi-area-alphabet button{min-width:44px;}
html body #dc-root .mi-area-alphabet button[aria-pressed=true]{background:#173e55;color:white;border-color:#173e55;}
html body #dc-root .mi-area-alphabet button:disabled{opacity:.45;cursor:default;}
html body #dc-root .mi-area-alphabet button:not(:disabled):is(:hover,:focus-visible),html body #dc-root .mi-area-more:is(:hover,:focus-visible){background:var(--mi-secondary-hover);color:var(--mi-text);border-color:var(--mi-link);}
html body #dc-root .mi-work-area-directory .mi-area-featured-places>a{transform:none!important;transition:background-color 220ms ease,color 220ms ease,border-color 220ms ease;}
html body #dc-root .mi-work-area-directory .mi-area-more{margin-top:24px;}
html body #dc-root .mi-work-area-directory .mi-area-more[hidden]{display:none!important;}
@media(min-width:701px){html body #dc-root .mi-work-area-directory .mi-area-featured-places{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px;}}
html body #dc-root main.mi-city-page{height:auto!important;min-height:0;flex-shrink:0;overflow:visible;margin-bottom:48px!important;}
html body #dc-root main.mi-city-page>.mi-city-nearby{height:auto!important;overflow:visible;margin-bottom:28px!important;}
html body #dc-root main.mi-city-page>#cta{height:auto!important;min-height:0;overflow:visible;margin-top:0!important;margin-bottom:0!important;}
html body #dc-root .mi-city-page .mi-city-place-links>.pin{display:inline-flex!important;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:8px 12px!important;min-height:44px!important;height:auto!important;width:auto!important;min-width:0;max-width:100%;flex:0 1 auto;box-sizing:border-box;}
html body #dc-root .mi-city-page .mi-city-place-links>.pin small{font:400 14px/1.4 Inter,system-ui,sans-serif;color:inherit;}
html body #dc-root .mi-city-page .mi-city-index-link{display:inline-flex;align-items:center;min-height:44px;width:auto;max-width:100%;padding:8px 0;margin-top:20px;font:600 15px/1.5 Inter,system-ui,sans-serif;color:var(--mi-link);text-decoration:underline;text-underline-offset:4px;}
html body #dc-root .mi-city-context-links,html body #dc-root .mi-city-hub-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0;}
html body #dc-root .mi-city-context-link{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--mi-border);border-radius:12px;color:var(--mi-text);text-decoration:none;min-width:0;overflow-wrap:anywhere;}
html body #dc-root .mi-city-context-link span{font:400 14px/1.5 Inter,system-ui,sans-serif;color:var(--mi-muted);}
html body #dc-root .mi-city-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 44px;}
html body #dc-root .mi-city-module-grid article{min-width:0;}
html body #dc-root .mi-city-module-grid h2{font-size:clamp(24px,2.5vw,34px);}
html body #dc-root .mi-city-guide-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:20px 0;}
html body #dc-root .mi-city-guide-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--mi-link);font:600 15px/1.5 Inter,system-ui,sans-serif;}
html body #dc-root .mi-city-hub-group{border:1px solid var(--mi-border);border-radius:12px;min-width:0;padding:16px;}
html body #dc-root .mi-city-hub-group summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;min-height:44px;align-items:center;font:600 17px/1.5 Inter,system-ui,sans-serif;}
html body #dc-root .mi-city-hub-group ul{padding-left:20px;}
html body #dc-root .mi-city-hub-group a{display:inline-flex;min-height:44px;align-items:center;color:var(--mi-link);}
@media(max-width:700px){html body #dc-root .mi-city-context-links,html body #dc-root .mi-city-hub-groups,html body #dc-root .mi-city-module-grid{grid-template-columns:minmax(0,1fr);gap:18px;}}
@media(max-width:700px){
 html body #dc-root .mi-work-area-directory{padding:24px 16px!important;}
 html body #dc-root .mi-work-area-directory .mi-area-featured-places{grid-template-columns:minmax(0,1fr);gap:10px;}
 html body #dc-root .mi-work-area-directory .mi-area-featured-places>a{padding:12px 14px;min-height:48px;}
 html body #dc-root .mi-city-page .mi-city-services{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:22px;}
 html body #dc-root .mi-city-page .mi-city-services>a{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:6px 12px;min-height:0!important;height:auto!important;padding:14px 16px!important;}
 html body #dc-root .mi-city-page .mi-city-services>a h3{grid-column:1;grid-row:1;font-size:18px!important;line-height:1.35!important;margin:0!important;}
 html body #dc-root .mi-city-page .mi-city-services>a p{grid-column:1;grid-row:2;font-size:15px!important;line-height:1.5!important;margin:0!important;}
 html body #dc-root .mi-city-page .mi-city-services>a>span{grid-column:2;grid-row:1/3;align-self:center;margin:0!important;font-size:20px;}
}
