/* =========================================================
   REGIONS WE SERVE — HOMEPAGE SERVICE-DIRECTORY ADAPTATION
   Package: regions-we-serve v1.0.2
   Homepage service component copied from home v24.1.0.
   Page spacing / viewport ownership follows Web Design Hamilton.
   ========================================================= */

:root{
  --wb-ink:#101817;
  --wb-muted:#687775;
  --wb-canvas:#e2efee;
  --wb-paper:#f8fcfb;
  --wb-soft:#edf5f3;
  --wb-line:#c1d8d4;
  --wb-teal:#365f5c;
  --wb-dark:#102825;
  --wb-green:#629491;
  --wb-orange:#e85c33;
  --wb-blue:#428eff;
  --wb-yellow:#ffc640;
  --wb-heading:"Montserrat Alternates","Inter",Arial,sans-serif;
  --wb-sans:"Inter",Arial,sans-serif;
  --wb-serif:"Lora",Georgia,serif;
  --wb-radius:18px;
  --wb-ease:cubic-bezier(.22,1,.36,1);
}

html{width:100%;max-width:100%;overflow-x:clip}
body.wsc-bundle-regions-we-serve,
body.webbies-regions-page{
  --wb-editorial-gutter:clamp(22px,2.25vw,42px);
  --wb-editorial-top-space:clamp(24px,3vw,46px);
  --wb-editorial-section-gap:clamp(18px,1.7vw,28px);
  --wb-frame:min(1820px,calc(100vw - (var(--wb-editorial-gutter) * 2)));
  width:100%;max-width:100%;margin:0!important;padding:0!important;overflow-x:clip!important;
  background:var(--wb-canvas)!important;color:var(--wb-ink);font:400 16px/1.65 var(--wb-sans);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility
}

body.wsc-bundle-regions-we-serve #page,
body.wsc-bundle-regions-we-serve #content,
body.wsc-bundle-regions-we-serve #content.site-content,
body.wsc-bundle-regions-we-serve #content>.ast-container,
body.wsc-bundle-regions-we-serve .site-content,
body.wsc-bundle-regions-we-serve .site-content>.ast-container,
body.wsc-bundle-regions-we-serve #primary,
body.wsc-bundle-regions-we-serve #main,
body.webbies-regions-page #page,
body.webbies-regions-page #content,
body.webbies-regions-page #content.site-content,
body.webbies-regions-page #content>.ast-container,
body.webbies-regions-page .site-content,
body.webbies-regions-page .site-content>.ast-container,
body.webbies-regions-page #primary,
body.webbies-regions-page #main{
  box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;
  margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important
}
body.wsc-bundle-regions-we-serve #content>.ast-container,
body.wsc-bundle-regions-we-serve .site-content>.ast-container,
body.webbies-regions-page #content>.ast-container,
body.webbies-regions-page .site-content>.ast-container{display:block!important}
body.wsc-bundle-regions-we-serve #wsc-manual-page-root,
body.webbies-regions-page #wsc-manual-page-root{
  position:relative!important;left:50%!important;width:100vw!important;max-width:100vw!important;min-width:100vw!important;
  margin-left:-50vw!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;transform:none!important;background:var(--wb-canvas)
}
@supports(width:100dvw){
  body.wsc-bundle-regions-we-serve #wsc-manual-page-root,
  body.webbies-regions-page #wsc-manual-page-root{width:100dvw!important;max-width:100dvw!important;min-width:100dvw!important;margin-left:-50dvw!important}
}

.wb-regions-page{
  position:relative!important;left:auto!important;display:block;width:100%!important;max-width:100%!important;min-width:0!important;
  margin:0!important;padding:var(--wb-editorial-top-space) 0 var(--wb-editorial-section-gap)!important;overflow:visible;
  background:var(--wb-canvas);color:var(--wb-ink);font-family:var(--wb-sans);transform:none!important
}
.wb-regions-page,.wb-regions-page *,.wb-regions-page *::before,.wb-regions-page *::after{box-sizing:border-box}
.wb-regions-page :where(h1,h2,h3,p,figure){margin:0}
.wb-regions-page :where(ol,ul){margin:0}
.wb-regions-page a{color:inherit;text-decoration:none}
.wb-regions-page :where(a,button,[tabindex]):focus-visible{outline:2px solid var(--wb-teal);outline-offset:4px}
.wb-regions-page .wb-frame{
  position:relative!important;left:auto!important;right:auto!important;width:var(--wb-frame)!important;max-width:var(--wb-frame)!important;
  margin:0 auto!important;overflow:clip;border:1px solid var(--wb-line);border-radius:var(--wb-radius);background:var(--wb-paper);
  box-shadow:0 18px 60px rgba(33,92,82,.035);transform:none!important
}
.wb-regions-page .wb-kicker{color:var(--wb-green);font-size:.72rem;line-height:1.2;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.wb-regions-page h1,.wb-regions-page h2,.wb-regions-page h3{font-family:var(--wb-heading);font-weight:600;letter-spacing:-.05em;text-wrap:balance}
.wb-regions-page h1{font-size:clamp(2.55rem,4vw,5rem);line-height:1;letter-spacing:-.065em}
.wb-regions-page .wb-serif{font-family:var(--wb-serif);font-style:italic;font-weight:500;font-size:inherit;line-height:inherit;letter-spacing:-.045em;color:var(--wb-teal)}
.wb-regions-page p{font-size:1rem;line-height:1.68;color:var(--wb-muted)}

/* Exact homepage service-directory frame and selector system. */
.wb-service-fit{padding:0 0 clamp(34px,3vw,48px);background:var(--wb-paper)}
.wb-service-fit__head{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:clamp(54px,8vw,148px);align-items:end;padding:clamp(58px,6vw,96px)}
.wb-service-fit__head h1{max-width:840px;margin-top:16px}
.wb-service-fit__head .wb-serif{display:block;color:var(--wb-teal)}
.wb-service-fit__head>p{max-width:610px;padding-bottom:7px}
.wb-service-directory{display:grid;grid-template-columns:minmax(370px,.82fr) minmax(0,1.18fr);min-height:610px;border-top:1px solid var(--wb-line);border-bottom:1px solid var(--wb-line);background:#fff}
.wb-service-directory__nav{display:flex;flex-direction:column;border-right:1px solid var(--wb-line)}
.wb-service-trigger,
.wb-service-trigger:hover,
.wb-service-trigger:focus,
.wb-service-trigger:active,
.wb-service-trigger[aria-expanded="true"]{
  appearance:none;width:100%;min-height:152px;margin:0;padding:26px clamp(24px,3.1vw,48px);border:0;border-bottom:1px solid var(--wb-line);
  border-radius:0;background:#fff;background-image:none;box-shadow:none;color:var(--wb-ink);text-align:left;cursor:pointer;
  display:grid;grid-template-columns:42px minmax(0,1fr) 28px;grid-template-rows:auto auto;column-gap:18px;align-content:center;
  font-family:var(--wb-sans);transition:background .28s var(--wb-ease),color .28s var(--wb-ease)
}
.wb-service-trigger:last-child{border-bottom:0}
.wb-service-trigger>span{grid-row:1/3;padding-top:3px;color:var(--wb-green);font-size:.63rem;font-weight:800;letter-spacing:.08em}
.wb-service-trigger>strong{font-family:var(--wb-heading);font-size:clamp(1.22rem,1.55vw,1.78rem);line-height:1.1;letter-spacing:-.04em}
.wb-service-trigger>small{grid-column:2;margin-top:8px;color:var(--wb-muted);font-size:.76rem;line-height:1.45}
.wb-service-trigger>b{grid-column:3;grid-row:1/3;align-self:center;color:var(--wb-teal);font-size:1.1rem;font-weight:500;text-align:right;transition:transform .3s var(--wb-ease)}
.wb-service-trigger:hover{background:var(--wb-soft);color:var(--wb-ink)}
.wb-service-trigger.is-active,
.wb-service-trigger.is-active:hover,
.wb-service-trigger[aria-expanded="true"]{background:var(--wb-teal);color:#fff}
.wb-service-trigger.is-active>span,.wb-service-trigger.is-active>small,.wb-service-trigger.is-active>b{color:rgba(255,255,255,.7)}
.wb-service-trigger.is-active>b{transform:rotate(45deg)}
.wb-service-trigger:focus-visible{position:relative;z-index:2;outline:3px solid var(--wb-yellow);outline-offset:-4px}
.wb-service-directory__stage{display:grid;min-width:0;background:var(--wb-dark);color:#fff}
.wb-service-panel{grid-area:1/1;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(46px,5.5vw,92px);opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none;transition:opacity .32s var(--wb-ease),transform .42s var(--wb-ease),visibility 0s linear .42s}
.wb-service-panel[hidden]{display:flex}
.wb-service-panel.is-active{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:0s}
.wb-service-panel__label{color:#a9ccc7!important;font-size:.62rem!important;font-weight:800;letter-spacing:.1em;text-transform:uppercase}

/* Region index: intentionally small and dense inside the copied dark stage. */
.wb-region-panel{justify-content:flex-start}
.wb-region-panel__head{display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:0}
.wb-region-panel__core{display:inline-flex;align-items:center;gap:8px;padding-bottom:3px;border-bottom:1px solid rgba(169,204,199,.42);color:#c9e3de!important;font-size:.66rem;font-weight:800;white-space:nowrap}
.wb-region-panel__core:hover b,.wb-region-link-grid a:hover b{transform:translate(3px,-2px)}
.wb-region-panel__head b,.wb-region-link-grid b{transition:transform .25s var(--wb-ease)}
.wb-region-panel__rule{height:1px;margin:24px 0 25px;background:rgba(255,255,255,.17)}
.wb-region-panel__eyebrow{display:block;color:#a9ccc7;font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.wb-region-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 28px;margin-top:13px;border-top:1px solid rgba(255,255,255,.14)}
.wb-region-link-grid>a,.wb-region-link-grid>span{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;min-height:48px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.9);font-size:.79rem;font-weight:650;line-height:1.35}
.wb-region-link-grid>a{transition:color .22s var(--wb-ease),padding-left .22s var(--wb-ease)}
.wb-region-link-grid>a:hover{padding-left:5px;color:#fff}
.wb-region-link-grid>a b{flex:0 0 auto;color:#a9ccc7;font-size:.74rem;font-weight:500}
.wb-region-link-grid--coverage>span{color:rgba(255,255,255,.5)}
.wb-region-panel__empty{max-width:560px;margin-top:16px!important;color:rgba(255,255,255,.58)!important;font-size:.82rem!important;line-height:1.58!important}

@media(max-width:1180px){
  .wb-service-fit__head{grid-template-columns:1fr;gap:23px;padding:clamp(48px,6vw,76px)}
  .wb-service-fit__head>p{padding-bottom:0}
  .wb-service-directory{grid-template-columns:minmax(330px,.88fr) minmax(0,1.12fr)}
}
@media(max-width:900px){
  .wb-service-directory{grid-template-columns:1fr}
  .wb-service-directory__nav{border-right:0;border-bottom:1px solid var(--wb-line)}
  .wb-service-trigger{min-height:126px}
  .wb-service-directory__stage{min-height:570px}
}

@media(min-width:761px) and (max-width:1100px){
  body.wsc-bundle-regions-we-serve,body.webbies-regions-page{--wb-frame:calc(100vw - 32px);--wb-editorial-section-gap:16px}
  .wb-regions-page{padding-top:20px!important;padding-bottom:16px!important}
}

@media(max-width:760px){
  body.wsc-bundle-regions-we-serve,body.webbies-regions-page{--wb-frame:calc(100vw - 16px);--wb-editorial-section-gap:8px}
  .wb-regions-page{padding-top:8px!important;padding-bottom:8px!important}
  .wb-service-fit{padding:0 0 30px}
  .wb-service-fit__head{width:auto;padding:48px 22px 36px;grid-template-columns:1fr;gap:20px}
  .wb-service-fit__head h1{font-size:clamp(2.25rem,11vw,3.4rem)}
  .wb-service-directory{display:block;min-height:0}
  .wb-service-directory__nav{border-bottom:0}
  .wb-service-trigger,
  .wb-service-trigger:hover,
  .wb-service-trigger:focus,
  .wb-service-trigger:active,
  .wb-service-trigger[aria-expanded="true"]{min-height:0;padding:22px;grid-template-columns:32px minmax(0,1fr) 24px;column-gap:12px}
  .wb-service-trigger>strong{font-size:1.13rem}
  .wb-service-trigger>small{font-size:.72rem}
  .wb-enhanced .wb-service-directory__stage{display:none}
  .wb-enhanced .wb-service-directory__nav>.wb-service-panel{display:flex;min-height:0;padding:34px 22px 39px;border-bottom:1px solid rgba(255,255,255,.15);background:var(--wb-dark);opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .wb-enhanced .wb-service-directory__nav>.wb-service-panel[hidden]{display:none}
  .wb-service-directory__stage{min-height:0}
  .wb-service-panel{padding:38px 22px}
  .wb-region-panel__head{align-items:flex-start;flex-direction:column;gap:9px}
  .wb-region-panel__rule{margin:19px 0 20px}
  .wb-region-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
  .wb-region-link-grid>a,.wb-region-link-grid>span{min-height:46px;font-size:.76rem}
}
@media(max-width:390px){
  .wb-region-link-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .wb-service-trigger,.wb-service-trigger>b,.wb-service-panel,.wb-region-link-grid>a,.wb-region-panel__head b,.wb-region-link-grid b{transition:none!important}
}
