/* Footer-only refinement: no homepage, hero, navigation, or portfolio changes. */
.site-footer.site-footer-refined{
  padding:0 20px 22px;
  background:linear-gradient(180deg,#06152d 0%,#040d20 100%);
  color:#bfd0e8;
  border-top:1px solid rgba(129,168,245,.17);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.site-footer-refined .site-shell{max-width:1280px}
.site-footer-refined a{color:#d6e7ff;text-decoration:none}
.site-footer-refined a:hover{color:#83dfff}
.site-footer-refined a:focus-visible,
.site-footer-refined summary:focus-visible{outline:2px solid #92eaff;outline-offset:4px}
.site-footer-refined h2{
  color:#fff;font-size:15px;font-weight:850;line-height:1.35;
  letter-spacing:.025em;margin:0 0 16px;
}
.site-footer-refined .mwd-footer-main{
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr) minmax(0,1fr);
  gap:clamp(32px,6vw,90px);padding:49px 0 40px;
  align-items:start;
}
.site-footer-refined .mwd-footer-identity{display:flex;align-items:center;gap:13px;width:fit-content}
.site-footer-refined .mwd-footer-identity img{display:block;flex:0 0 auto;width:70px;height:70px;object-fit:contain}
.site-footer-refined .mwd-footer-identity strong{display:block;font-size:19px;font-weight:900;line-height:1.16;letter-spacing:-.035em;color:#fff}
.site-footer-refined .mwd-footer-identity small{
  display:block;margin-top:7px;color:#8edbff;
  font-size:11px;font-weight:800;line-height:1.35;letter-spacing:.095em
}
.site-footer-refined .mwd-footer-about p,
.site-footer-refined .mwd-footer-contact p{
  max-width:350px;color:#bdcde5;font-size:13px;line-height:1.8;margin:14px 0 0;
}
.site-footer-refined .mwd-footer-navigation ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-footer-refined .mwd-footer-navigation li{margin:0;padding:0;line-height:1.45}
.site-footer-refined .mwd-footer-navigation a{display:inline-block;font-size:13px;line-height:1.5}
.site-footer-refined .mwd-footer-contact{min-width:0}
.site-footer-refined .mwd-footer-contact p{margin:0 0 16px}
.site-footer-refined .mwd-footer-phone{
  display:block;width:fit-content;font-weight:900;font-size:17px;
  line-height:1.55;color:#8bdbff;white-space:normal
}
.site-footer-refined .mwd-footer-email{
  display:block;width:fit-content;font-size:13px;line-height:1.6;
  overflow-wrap:anywhere;margin-top:5px;
}
.site-footer-refined .mwd-footer-location{display:block;color:#b6c7e2;font-size:12px;margin:11px 0 17px}
.site-footer-refined .mwd-footer-button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 17px;border-radius:10px;
  background:linear-gradient(105deg,#93e8ff,#6b96ff);
  color:#081636!important;font-size:12px;font-weight:900;
  box-shadow:0 10px 24px rgba(62,116,239,.15);text-align:center
}
.site-footer-refined .mwd-footer-button:hover{filter:brightness(1.08);color:#081636!important}
.site-footer-refined .mwd-footer-areas{
  border-top:1px solid rgba(175,199,244,.17);
  border-bottom:1px solid rgba(175,199,244,.17);
  margin:0;padding:0;
}
.site-footer-refined .mwd-footer-town-details{margin:0;padding:0}
.site-footer-refined .mwd-footer-town-details summary{
  list-style:none;display:flex;align-items:center;justify-content:space-between;
  gap:22px;padding:21px 0;min-height:93px;cursor:pointer;
}
.site-footer-refined .mwd-footer-town-details summary::-webkit-details-marker{display:none}
.site-footer-refined .mwd-footer-areas-heading{display:grid;gap:5px;min-width:0}
.site-footer-refined .mwd-footer-eyebrow{
  display:block;color:#7cc8ff;font-weight:850;font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;line-height:1.35
}
.site-footer-refined .mwd-footer-areas-heading strong{
  color:#f3f7ff;font-weight:850;font-size:16px;line-height:1.35
}
.site-footer-refined .mwd-footer-areas-heading small{color:#aabbd5;font-size:12px;line-height:1.6}
.site-footer-refined .mwd-footer-expand-label{
  display:flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;
  min-height:42px;padding:10px 14px;border:1px solid #54759f;
  border-radius:999px;color:#e8f3ff;font-weight:800;font-size:12px;
  background:rgba(31,62,108,.25);white-space:nowrap
}
.site-footer-refined .mwd-footer-chevron{
  display:inline-block;width:8px;height:8px;border-right:2px solid #8ddfff;
  border-bottom:2px solid #8ddfff;transform:rotate(45deg) translateY(-2px);
  transition:transform .2s ease
}
.site-footer-refined details[open] .mwd-footer-chevron{transform:rotate(225deg) translateY(-1px)}
.site-footer-refined .mwd-footer-towns-content{padding:7px 0 28px;border-top:1px solid rgba(175,199,244,.09)}
.site-footer-refined .mwd-footer-town-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  column-gap:clamp(12px,2.5vw,35px);row-gap:0;
  margin:0;padding:16px 0 0;list-style:none;column-count:auto
}
.site-footer-refined .mwd-footer-town-grid li{
  display:block;min-width:0;break-inside:avoid;
  margin:0;padding:0;line-height:1.45;
}
.site-footer-refined .mwd-footer-town-grid a{
  display:block;font-size:12px;font-weight:550;color:#c5d6ef;
  line-height:1.5;padding:5px 0;overflow-wrap:break-word
}
.site-footer-refined .mwd-footer-bottom{
  display:flex;align-items:center;justify-content:space-between;
  gap:15px;margin:0;padding:23px 0 0;border:0;
  color:#9caecb;font-size:12px;line-height:1.65
}
.site-footer-refined .mwd-footer-bottom a{color:#9adaff;font-weight:750}
@media(max-width:960px){
  .site-footer-refined .mwd-footer-main{grid-template-columns:1fr 1fr;gap:32px 40px}
  .site-footer-refined .mwd-footer-about{grid-column:1/-1}
  .site-footer-refined .mwd-footer-town-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:620px){
  .site-footer.site-footer-refined{padding:0 16px 20px}
  .site-footer-refined .mwd-footer-main{grid-template-columns:1fr 1fr;gap:30px 18px;padding:34px 0 27px}
  .site-footer-refined .mwd-footer-about{grid-column:1/-1}
  .site-footer-refined .mwd-footer-navigation{grid-column:1}
  .site-footer-refined .mwd-footer-contact{grid-column:2}
  .site-footer-refined .mwd-footer-identity img{width:56px;height:56px}
  .site-footer-refined .mwd-footer-identity strong{font-size:16px}
  .site-footer-refined .mwd-footer-identity small{font-size:10px}
  .site-footer-refined .mwd-footer-phone{font-size:14px}
  .site-footer-refined .mwd-footer-contact p{font-size:12px}
  .site-footer-refined .mwd-footer-navigation a{font-size:12px}
  .site-footer-refined .mwd-footer-button{padding:10px 12px;font-size:11px}
  .site-footer-refined .mwd-footer-town-details summary{align-items:flex-start;flex-direction:column;gap:13px;padding:18px 0}
  .site-footer-refined .mwd-footer-expand-label{min-height:36px;padding:9px 13px}
  .site-footer-refined .mwd-footer-town-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}
  .site-footer-refined .mwd-footer-bottom{align-items:flex-start;flex-direction:column;gap:6px}
}
@media(max-width:365px){
  .site-footer-refined .mwd-footer-main{grid-template-columns:1fr;gap:23px}
  .site-footer-refined .mwd-footer-navigation,
  .site-footer-refined .mwd-footer-contact{grid-column:1}
}
@media(prefers-reduced-motion:reduce){
  .site-footer-refined .mwd-footer-chevron{transition:none}
}
