.sr-head{text-align:center;max-width:660px;
  margin-top:0;margin-bottom:48px;
  margin-left:var(--sr-head-ml,auto);margin-right:var(--sr-head-mr,auto)}
.sr-head h2,.sr-head h3{margin:0 0 12px}
.sr-head__intro{color:var(--sr-muted);margin:0}
.sr-head .sr-lane{margin-left:var(--sr-lane-ml,auto);margin-right:var(--sr-lane-mr,auto)}
.sr-icon{display:block;color:var(--sr-ink)}

/* trust strip */
.sr-trust{list-style:none;margin:0;padding:22px 0;display:flex;flex-wrap:wrap;gap:14px;
  justify-content:center;border-top:1px solid transparent;border-bottom:1px solid transparent}
.sr-trust > li{display:flex;flex:0 0 auto}
.sr-trust__item{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--sr-ink);
  font-weight:600;font-size:15px;line-height:1.3;
  border:1px solid transparent;background:transparent;
  transition:background .28s var(--sr-ease),color .28s var(--sr-ease),border-color .28s var(--sr-ease),
             transform .28s var(--sr-ease),box-shadow .28s var(--sr-ease)}
.sr-trust__ic{flex:none;display:grid;place-items:center;color:var(--sr-ic-acc,var(--sr-brand));
  transition:background .28s var(--sr-ease),color .28s var(--sr-ease),transform .28s var(--sr-ease)}
.sr-trust__body{display:flex;flex-direction:column;gap:1px;min-width:0}
.sr-trust__n{font-weight:500;font-size:13px;color:var(--sr-muted)}

/* designs */
.sr-trust--plain{gap:14px 40px}
.sr-trust--plain .sr-trust__item{padding:0}
.sr-trust--plain{border-top-color:var(--sr-silver);border-bottom-color:var(--sr-silver)}

.sr-trust--pill .sr-trust__item{padding:12px 22px;border-radius:999px;background:#fff;
  border-color:var(--sr-silver);box-shadow:var(--sr-shadow)}
.sr-trust--button .sr-trust__item{padding:14px 22px;border-radius:var(--sr-radius);background:#fff;
  border-color:var(--sr-silver);box-shadow:var(--sr-shadow)}
.sr-trust--outline .sr-trust__item{padding:13px 22px;border-radius:var(--sr-radius);background:transparent;
  border-color:var(--sr-silver-strong)}
.sr-trust--solid .sr-trust__item{padding:14px 24px;border-radius:var(--sr-radius);
  background:var(--sr-brand);border-color:var(--sr-brand);color:var(--sr-btn-text,#fff)}
.sr-trust--solid .sr-trust__n{color:rgba(255,255,255,.82)}

.sr-trust--card{gap:0}
.sr-trust--card .sr-trust__item{padding:16px 28px}
.sr-trust--card > li + li{border-left:1px solid var(--sr-silver)}
.sr-trust--card{border-top-color:var(--sr-silver);border-bottom-color:var(--sr-silver)}

/* icon badge */
.sr-trust--badge-square .sr-trust__ic{width:44px;height:44px;border-radius:var(--sr-ic-radius)}
.sr-trust--badge-circle .sr-trust__ic{width:44px;height:44px;border-radius:50%}
.sr-trust--badge-windshield .sr-trust__ic{width:50px;height:50px}
/* No badge: a bare icon on the item, so it is always dark with a brand detail, whatever the badge palette. */
.sr-trust--badge-none .sr-trust__ic{--sr-ic-line:var(--sr-ink-strong,var(--sr-ink));--sr-ic-acc:var(--sr-brand);--sr-ic-fill:color-mix(in srgb,var(--sr-brand) 14%,transparent)}


/* hover */
.sr-trust--hov-lift a.sr-trust__item:hover{transform:translateY(-3px);box-shadow:var(--sr-shadow-hover)}
.sr-trust--hov-fill a.sr-trust__item:hover{background:var(--sr-brand);border-color:var(--sr-brand);color:var(--sr-btn-text,#fff)}
.sr-trust--hov-fill a.sr-trust__item:hover .sr-trust__n{color:rgba(255,255,255,.82)}
.sr-trust--hov-edge a.sr-trust__item:hover{border-color:var(--sr-brand);color:var(--sr-brand)}
.sr-trust--hov-grow a.sr-trust__item:hover .sr-trust__ic{transform:scale(1.14)}

@media (max-width:760px){
  .sr-trust--card{flex-direction:column}
  .sr-trust--card > li + li{border-left:0;border-top:1px solid var(--sr-silver)}
}

/* feature cards */
.sr-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sr-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--sr-silver);
  border-radius:var(--sr-radius);padding:32px 28px;box-shadow:var(--sr-shadow);
  text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:18px;
  transition:transform .35s var(--sr-ease),box-shadow .35s var(--sr-ease),border-color .35s var(--sr-ease)}
.sr-cards--ic-left .sr-card{flex-direction:row;align-items:flex-start;gap:20px}
.sr-card__body{display:flex;flex-direction:column;gap:6px}
.sr-card h3{font-family:var(--sr-font-head,var(--sr-font));font-size:calc(19px * var(--sr-head-scale,1));margin:0}
.sr-card p{color:var(--sr-muted);font-size:15px;margin:0}
.sr-card__more{margin-top:6px;color:var(--sr-brand);font-size:17px;line-height:1;
  transition:transform .3s var(--sr-ease)}
.sr-card__ic{flex:none;display:grid;place-items:center;color:var(--sr-ink);
  transition:background .3s var(--sr-ease),color .3s var(--sr-ease),border-color .3s var(--sr-ease),transform .35s var(--sr-ease)}

/* icon treatments */
.sr-cards--tile .sr-card__ic{width:68px;height:68px;border-radius:var(--sr-ic-radius)}
.sr-cards--circle .sr-card__ic{width:70px;height:70px;border-radius:50%}
.sr-cards--ring .sr-card__ic{width:70px;height:70px;border-radius:50%;border-width:1.5px;
  --sr-ic-bg:var(--sr-surface,#fff);--sr-ic-border:var(--sr-silver-strong);--sr-ic-shadow:0 0 0 6px color-mix(in srgb,var(--sr-brand) 7%,transparent);
  /* A white ring always gets a dark icon, whatever the palette. */
  --sr-ic-line:var(--sr-ink);--sr-ic-acc:var(--sr-brand);--sr-ic-fill:color-mix(in srgb,var(--sr-brand) 12%,transparent)}
.sr-cards--plain .sr-card__ic{width:auto;height:auto;--sr-ic-bg:transparent;--sr-ic-border:transparent;--sr-ic-shadow:none;
  --sr-ic-line:var(--sr-ink-strong,var(--sr-ink));--sr-ic-acc:var(--sr-brand);--sr-ic-fill:color-mix(in srgb,var(--sr-brand) 14%,transparent)}
.sr-cards--topbar .sr-card{padding-top:34px}
.sr-cards--topbar .sr-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;
  background:var(--sr-brand);opacity:.9}
.sr-cards--topbar .sr-card__ic{width:62px;height:62px;border-radius:var(--sr-ic-radius)}
.sr-cards--numbered .sr-card__ic{width:60px;height:60px;border-radius:var(--sr-ic-radius)}
.sr-card__n{position:absolute;right:14px;top:2px;font-size:72px;line-height:1;font-weight:800;
  color:var(--sr-silver);opacity:.7;pointer-events:none;letter-spacing:-2px}

/* hover */
.sr-cards--hov-lift a.sr-card:hover,
.sr-cards--hov-lift-fill a.sr-card:hover{transform:translateY(-4px);box-shadow:var(--sr-shadow-hover);border-color:var(--sr-silver-strong)}
.sr-cards--hov-lift-fill a.sr-card:hover .sr-card__ic{transform:translateY(-2px)}
.sr-cards--hov-lift-fill.sr-cards--plain a.sr-card:hover .sr-card__ic{--sr-ic-bg:transparent;--sr-ic-border:transparent;--sr-ic-line:var(--sr-brand-dark);--sr-ic-acc:var(--sr-brand)}
.sr-cards--hov-lift a.sr-card:hover .sr-card__more,
.sr-cards--hov-lift-fill a.sr-card:hover .sr-card__more{transform:translateX(4px)}
.sr-cards--hov-underline .sr-card::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;
  background:var(--sr-brand);transition:width .4s var(--sr-ease)}
.sr-cards--hov-underline a.sr-card:hover::after{width:100%}
.sr-cards--hov-underline a.sr-card:hover{border-color:var(--sr-silver-strong)}

/* service tiles */
.sr-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sr-tile{position:relative;overflow:hidden;display:flex;align-items:center;gap:18px;background:#fff;
  border:1px solid var(--sr-silver);border-radius:var(--sr-radius);padding:18px 20px;text-decoration:none;
  color:var(--sr-ink);font-weight:600;box-shadow:var(--sr-shadow);
  transition:border-color .3s var(--sr-ease),transform .3s var(--sr-ease),box-shadow .3s var(--sr-ease)}
.sr-tile__ic{flex:none;width:52px;height:52px;display:grid;place-items:center;
  border-radius:var(--sr-ic-radius);
  transition:background .3s var(--sr-ease),color .3s var(--sr-ease),transform .3s var(--sr-ease)}
.sr-tile__body{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.sr-tile__t{display:block;font-family:var(--sr-font-head,var(--sr-font));letter-spacing:var(--sr-head-track,0)}
.sr-tile__d{font-weight:500;font-size:14px;color:var(--sr-muted)}
.sr-tile__arrow{color:var(--sr-brand);transition:transform .3s var(--sr-ease)}

/* block: big icon above the name */
.sr-tiles--block{grid-template-columns:repeat(4,minmax(0,1fr))}
.sr-tiles--block .sr-tile{flex-direction:column;align-items:flex-start;gap:16px;padding:26px 22px}
.sr-tiles--block .sr-tile__ic{width:72px;height:72px}
.sr-tiles--block .sr-tile__arrow{position:absolute;right:18px;top:26px}

/* edge: coloured strip down the left */
.sr-tiles--edge .sr-tile{border-left:0;padding-left:24px}
.sr-tiles--edge .sr-tile::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
  background:var(--sr-brand);opacity:.35;transition:opacity .3s var(--sr-ease),width .3s var(--sr-ease)}
.sr-tiles--edge a.sr-tile:hover::before{opacity:1;width:7px}

/* photo tile */
.sr-tiles--photo{grid-template-columns:repeat(3,minmax(0,1fr))}
.sr-tiles--photo .sr-tile{padding:0;aspect-ratio:4/3;border:0;color:#fff;
  flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:0}
/* No photo set: a solid panel so the name is still readable. */
.sr-tiles--photo .sr-tile--noimg{background:var(--sr-ink-strong)}
.sr-tiles--photo .sr-tile--noimg::after{background:linear-gradient(180deg,rgba(26,99,184,.35),rgba(18,22,27,.85))}
.sr-tile__photo{position:absolute;inset:0}
.sr-tile__photo img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s var(--sr-ease)}
.sr-tiles--photo .sr-tile::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(18,22,27,0) 35%,rgba(18,22,27,.82) 100%)}
.sr-tiles--photo .sr-tile__ic,.sr-tiles--photo .sr-tile__body,.sr-tiles--photo .sr-tile__arrow{position:relative;z-index:1}
.sr-tiles--photo .sr-tile__ic{width:46px;height:46px;
  margin:0 18px 14px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.sr-tiles--photo .sr-tile__body{padding:0 18px 18px;flex:none;width:100%}
.sr-tiles--photo .sr-tile__t{font-size:19px;text-shadow:0 1px 10px rgba(11,31,58,.5)}
.sr-tiles--photo .sr-tile__d{color:#D7DEE6}
.sr-tiles--photo .sr-tile__arrow{position:absolute;right:18px;bottom:20px;color:#fff}
.sr-tiles--photo a.sr-tile:hover .sr-tile__photo img{transform:scale(1.06)}

/* hover */
.sr-tiles--hov-slide a.sr-tile:hover{border-color:var(--sr-brand);transform:translateX(4px)}
.sr-tiles--hov-slide a.sr-tile:hover .sr-tile__arrow{transform:translateX(5px)}
.sr-tiles--hov-lift a.sr-tile:hover{transform:translateY(-4px);box-shadow:var(--sr-shadow-hover);border-color:var(--sr-silver-strong)}
.sr-tiles--hov-fill a.sr-tile:hover{border-color:var(--sr-brand)}
.sr-tiles--hov-fill a.sr-tile:hover .sr-tile__ic{transform:scale(1.04)}
.sr-tiles--hov-fill a.sr-tile:hover .sr-tile__arrow{transform:translateX(5px)}

/* steps */
.sr-steps{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(var(--sr-steps-n,4),minmax(0,1fr));gap:36px}
.sr-steps li{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.sr-steps h3{font-family:var(--sr-font-head,var(--sr-font));font-size:calc(21px * var(--sr-head-scale,1));letter-spacing:var(--sr-head-track,-.3px);margin:0}
.sr-steps p{color:var(--sr-muted);font-size:15.5px;line-height:1.65;margin:0}
.sr-steps__ic{width:46px;height:46px;display:grid;place-items:center;border-radius:var(--sr-ic-radius)}

/* large quiet numerals */
.sr-steps--numeral .sr-steps__n{font-size:clamp(44px,5vw,64px);line-height:.95;font-weight:800;
  letter-spacing:-2px;color:var(--sr-silver-strong);margin-bottom:2px}
.sr-steps--numeral.sr-steps--rule li{border-top:2px solid var(--sr-ink);padding-top:22px}

/* cards with a number badge */
.sr-steps--card li{background:#fff;border:1px solid var(--sr-silver);border-radius:var(--sr-radius);
  padding:30px 26px 26px;box-shadow:var(--sr-shadow);gap:12px}
.sr-steps--card .sr-steps__n{display:grid;place-items:center;width:46px;height:46px;border-radius:var(--sr-radius);
  background:var(--sr-brand);color:#fff;font-weight:800;font-size:17px}
.sr-steps--card.sr-steps--rule li{border-top:3px solid var(--sr-brand)}

/* connected timeline */
.sr-steps--timeline li{align-items:flex-start;padding-top:8px}
.sr-steps--timeline .sr-steps__n{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;
  background:var(--sr-brand);color:#fff;font-weight:800;font-size:18px;position:relative;z-index:1;
  box-shadow:0 0 0 6px rgba(26,99,184,.10)}
.sr-steps--timeline li::after{content:"";position:absolute;top:35px;left:calc(50% + 40px);right:calc(-50% + 40px);
  height:2px;background:var(--sr-silver-strong)}
.sr-steps--timeline li:last-child::after{display:none}

/* plain badges */
.sr-steps--badge .sr-steps__n{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;
  background:var(--sr-silver);color:var(--sr-ink);font-weight:800;font-size:17px}
.sr-steps--badge.sr-steps--rule li{border-top:1px solid var(--sr-silver);padding-top:20px}

/* closing line and buttons */
.sr-steps__cta{margin-top:52px;padding-top:30px;border-top:1px solid var(--sr-silver);
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.sr-steps__ctatext{margin:0;font-family:var(--sr-font-head,var(--sr-font));font-size:calc(clamp(20px,2.2vw,26px) * var(--sr-head-scale,1));font-weight:var(--sr-head-weight,700);letter-spacing:var(--sr-head-track,-.3px);
  color:var(--sr-ink);max-width:34ch;line-height:1.3}
.sr-steps__ctabtns{display:flex;gap:12px;flex-wrap:wrap}
.sr-steps__cta--center{flex-direction:column;text-align:center;justify-content:center}
.sr-steps__cta--center .sr-steps__ctatext{max-width:44ch}

/* before / after */
.sr-ba{position:relative;max-width:960px;margin:0 auto;aspect-ratio:16/10;overflow:hidden;border-radius:var(--sr-radius);
  --sr-ba-pos:50%}
.sr-ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.sr-ba__before{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 calc(100% - var(--sr-ba-pos)) 0 0)}
/* The before photo fills the same frame as the after photo, so both line up at any width. */
.sr-ba__before img{width:100%}
.sr-ba__handle{position:absolute;top:0;bottom:0;left:var(--sr-ba-pos);width:3px;background:#fff;box-shadow:0 0 0 1px rgba(29,33,38,.25)}
.sr-ba__handle::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;
  border-radius:50%;background:#fff;box-shadow:0 2px 10px rgba(29,33,38,.3)}
.sr-ba__tag{position:absolute;bottom:14px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  background:rgba(29,33,38,.72);color:#fff;padding:6px 12px;border-radius:var(--sr-radius)}
.sr-ba__tag--b{left:14px}.sr-ba__tag--a{right:14px}
.sr-ba__range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}

/* faq */
.sr-faq{max-width:820px;margin:0 auto}
.sr-faq details{border-bottom:1px solid var(--sr-silver)}
.sr-faq summary{cursor:pointer;padding:18px 34px 18px 0;font-weight:600;font-size:calc(17px * var(--sr-head-scale,1));position:relative;list-style:none;font-family:var(--sr-font-head,var(--sr-font))}
.sr-faq summary::-webkit-details-marker{display:none}
.sr-faq summary::after{content:"";position:absolute;right:6px;top:26px;width:9px;height:9px;border-right:2px solid var(--sr-brand);
  border-bottom:2px solid var(--sr-brand);transform:rotate(45deg);transition:transform .25s var(--sr-ease)}
.sr-faq details[open] summary::after{transform:rotate(-135deg);top:30px}
.sr-faq__a{color:var(--sr-muted);padding:0 0 18px}
.sr-faq__a p{margin:0 0 .6rem}

/* service area */
.sr-areas{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.sr-areas a,.sr-areas__s{
  display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--sr-ink);font-weight:600;
  background:#fff;border:1px solid var(--sr-silver);border-radius:var(--sr-radius);padding:16px 18px;
  box-shadow:var(--sr-shadow);
  transition:background .28s var(--sr-ease),color .28s var(--sr-ease),border-color .28s var(--sr-ease),
             transform .28s var(--sr-ease),box-shadow .28s var(--sr-ease)}
.sr-areas__badge{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:var(--sr-ic-radius);
  transition:background .28s var(--sr-ease),color .28s var(--sr-ease),transform .28s var(--sr-ease)}
.sr-areas__badge .sr-icon{color:inherit}
.sr-areas__txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.sr-areas__n{display:block;line-height:1.3;font-family:var(--sr-font-head,var(--sr-font))}
.sr-areas__note{font-weight:500;font-size:13px;color:var(--sr-muted)}
.sr-areas__arrow{color:var(--sr-brand);flex:none;transition:transform .28s var(--sr-ease),color .28s var(--sr-ease)}

/* layouts */
.sr-areas--card,.sr-areas--panel{grid-template-columns:repeat(4,minmax(0,1fr))}
.sr-areas--panel a,.sr-areas--panel .sr-areas__s{background:var(--sr-surface-alt);border-color:transparent;box-shadow:none}

.sr-areas--pill{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.sr-areas--pill a,.sr-areas--pill .sr-areas__s{padding:10px 20px;border-radius:999px;gap:8px;font-size:15px}
.sr-areas--pill .sr-areas__badge{display:none}

.sr-areas--pin{grid-template-columns:repeat(3,minmax(0,1fr))}
.sr-areas--pin a,.sr-areas--pin .sr-areas__s{box-shadow:none;background:none;border:0;border-bottom:1px solid var(--sr-silver);
  border-radius:0;padding:12px 2px}
.sr-areas--pin .sr-areas__badge{width:38px;height:38px;border-radius:50%}

.sr-areas--plain{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 24px}
.sr-areas--plain a,.sr-areas--plain .sr-areas__s{background:none;border:0;border-bottom:1px solid var(--sr-silver);
  border-radius:0;box-shadow:none;padding:11px 2px;font-weight:500}
.sr-areas--plain .sr-areas__badge{display:none}

/* hover */
.sr-areas--hov-fill a:hover{background:var(--sr-brand);border-color:var(--sr-brand);color:#fff}
.sr-areas--hov-fill a:hover .sr-areas__note,
.sr-areas--hov-fill a:hover .sr-areas__arrow{color:rgba(255,255,255,.88)}
.sr-areas--hov-fill a:hover .sr-areas__arrow{transform:translateX(4px)}
.sr-areas--hov-lift a:hover{transform:translateY(-3px);box-shadow:var(--sr-shadow-hover);border-color:var(--sr-silver-strong)}
.sr-areas--hov-lift a:hover .sr-areas__badge{transform:scale(1.05)}
.sr-areas--hov-edge a:hover{border-color:var(--sr-brand);color:var(--sr-brand)}
.sr-areas--hov-fill.sr-areas--pin a:hover,
.sr-areas--hov-fill.sr-areas--plain a:hover{background:none;color:var(--sr-brand);border-color:var(--sr-brand)}

.sr-areas__all{text-align:center;margin:32px 0 0}

/* cta band */
.sr-cta{background:var(--sr-footer-bg);color:#fff;border-radius:var(--sr-radius);padding:56px 40px;text-align:center}
.sr-cta h2{color:#fff;margin:0 0 10px}
.sr-cta p{color:#C4CBD3;margin:0 0 24px}
.sr-cta__btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

@media (max-width:1000px){
  .sr-steps{grid-template-columns:repeat(min(var(--sr-steps-n,4),2),minmax(0,1fr));gap:28px}
  .sr-steps li::after{display:none}
  .sr-areas--card,.sr-areas--panel{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sr-areas--pin,.sr-areas--plain{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sr-tiles--block{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sr-tiles--photo{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .sr-steps{grid-template-columns:1fr;gap:24px}
  .sr-steps__cta{flex-direction:column;align-items:flex-start;text-align:left}
  .sr-cards{grid-template-columns:1fr}
  .sr-tiles,.sr-tiles--block,.sr-tiles--photo{grid-template-columns:1fr}
  .sr-areas--card,.sr-areas--panel,.sr-areas--pin,.sr-areas--plain{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sr-card__n{font-size:56px}
  .sr-head{margin-bottom:32px}
  .sr-cta{padding:40px 22px}
}

/* page hero */
.sr-phero{padding:8px 0 0}
.sr-phero--split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:48px;align-items:center}
.sr-phero h1,.sr-phero h2{margin:0 0 14px;
  font-size:calc(clamp(30px,4.2vw,44px) * var(--sr-head-scale,1))}
.sr-phero__intro{color:var(--sr-muted);font-size:17px;max-width:54ch;margin:0 0 22px}
.sr-phero__copy{display:flex;flex-direction:column}
.sr-phero__list{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:12px;width:100%}
.sr-phero__list li{display:flex;align-items:center;gap:12px;font-weight:600;justify-content:inherit}
.sr-phero__copy[style*="center"] .sr-phero__list li{justify-content:center}
.sr-phero__copy[style*="right"] .sr-phero__list li{flex-direction:row-reverse}
.sr-phero__btns{display:flex;gap:12px;flex-wrap:wrap;width:100%}
.sr-phero__copy[style*="center"] .sr-phero__btns{justify-content:center}
.sr-phero__copy[style*="right"] .sr-phero__btns{justify-content:flex-end}
.sr-phero__img{position:relative;aspect-ratio:4/3;border-radius:var(--sr-radius);overflow:hidden;
  background:var(--sr-surface-alt)}
.sr-phero__img img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}

/* hero photo slider */
.sr-pslide__item{position:absolute;inset:0;opacity:0;transition:opacity .7s var(--sr-ease)}
.sr-pslide__item.is-active{opacity:1}
.sr-pslide__item{overflow:hidden}
/* Pinned to the frame on all four sides. As a grid item, a tall photo took its own
   height instead of the frame's and the bottom was cut off, even on "show the whole photo".
   Scaling below 100% still shrinks it around the centre. */
.sr-pslide__item img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;
  object-position:var(--sr-focal,50% 50%);transform-origin:50% 50%}
.sr-pslide--zoom .sr-pslide__item.is-active img{animation:sr-pslide-zoom var(--sr-pslide-int,5000ms) linear forwards}
.sr-pslide__item img[style*="contain"]{animation:none!important}
@keyframes sr-pslide-zoom{from{transform:scale(1)}to{transform:scale(1.07)}}
.sr-pslide--slide .sr-pslide__item{transform:translateX(18px);transition:opacity .6s var(--sr-ease),transform .6s var(--sr-ease)}
.sr-pslide--slide .sr-pslide__item.is-active{transform:translateX(0)}
.sr-pslide__dots{position:absolute;left:0;right:0;bottom:14px;display:flex;gap:8px;justify-content:center;z-index:2}
.sr-pslide__dots button{width:9px;height:9px;padding:0;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,.55);box-shadow:0 1px 3px rgba(11,31,58,.35);transition:background .25s}
.sr-pslide__dots button[aria-selected="true"]{background:#fff}
@media (prefers-reduced-motion:reduce){
  .sr-pslide__item{transition:none}
  .sr-pslide--zoom .sr-pslide__item.is-active img{animation:none}
}

/* details variant */
.sr-faq--details summary{font-size:18px}

/* city page */
.sr-local{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
.sr-local__main h3{margin-top:28px}
.sr-local__areas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}
.sr-local__areas li{padding:8px 0;border-bottom:1px solid var(--sr-silver);color:var(--sr-muted)}
.sr-local__side{background:var(--sr-surface-alt);border:1px solid var(--sr-silver);border-radius:var(--sr-radius);padding:26px;position:sticky;top:calc(var(--sr-header-h) + 20px)}
.sr-local__city{font-family:var(--sr-font-head,var(--sr-font));font-weight:700;font-size:calc(19px * var(--sr-head-scale,1));margin:0 0 14px}
.sr-local__drive{display:flex;gap:10px;align-items:flex-start;color:var(--sr-muted);font-size:15px;margin:0 0 12px}
.sr-local__side .sr-btn{width:100%;justify-content:center;margin-top:8px}
.sr-local__quote{margin:22px 0 0;padding:16px 0 0;border-top:1px solid var(--sr-silver-strong);font-size:15px;color:var(--sr-ink);font-style:italic}
.sr-local__quote cite{display:block;margin-top:8px;font-style:normal;font-size:13px;color:var(--sr-muted)}
@media (max-width:900px){
  .sr-phero--split{grid-template-columns:1fr;gap:26px}
  .sr-local{grid-template-columns:1fr;gap:28px}
  .sr-local__side{position:static}
}

/* ---------------- contact ---------------- */
.sr-contact--split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:44px;align-items:start}
.sr-contact__col{display:flex;flex-direction:column;gap:22px}
.sr-contact__list{list-style:none;margin:0;padding:0;display:grid;gap:12px}

.sr-contact__item{display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--sr-ink);
  background:#fff;border:1px solid var(--sr-silver);border-radius:var(--sr-radius);padding:16px 18px;
  box-shadow:var(--sr-shadow);
  transition:background .28s var(--sr-ease),border-color .28s var(--sr-ease),transform .28s var(--sr-ease),box-shadow .28s var(--sr-ease)}
.sr-contact__badge{flex:none;width:50px;height:50px;display:grid;place-items:center;border-radius:var(--sr-ic-radius);
  transition:background .28s var(--sr-ease),color .28s var(--sr-ease),transform .28s var(--sr-ease)}
.sr-contact__badge .sr-icon{color:inherit}
.sr-contact__body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.sr-contact__label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sr-muted);font-weight:700}
.sr-contact__value{font-family:var(--sr-font-head,var(--sr-font));font-weight:700;font-size:calc(17px * var(--sr-head-scale,1));line-height:1.35;color:var(--sr-ink)}
.sr-contact__action{font-size:13px;color:var(--sr-muted);font-weight:500}
.sr-contact__arrow{flex:none;color:var(--sr-brand);transition:transform .28s var(--sr-ease)}
.sr-contact__btns{display:flex;gap:12px;flex-wrap:wrap}

/* grid of tiles, icon on top */
.sr-contact--grid .sr-contact__list{grid-template-columns:repeat(2,minmax(0,1fr))}
.sr-contact--grid .sr-contact__item{flex-direction:column;align-items:flex-start;gap:14px;padding:22px 20px}
.sr-contact--grid .sr-contact__badge{width:56px;height:56px}
.sr-contact--grid .sr-contact__arrow{align-self:flex-end;margin-top:-26px}

/* one dark panel */
.sr-contact--panel .sr-contact__list{gap:0;background:var(--sr-footer-bg);border-radius:var(--sr-radius);
  padding:10px 8px;box-shadow:var(--sr-shadow)}
.sr-contact--panel .sr-contact__item{background:none;border:0;box-shadow:none;border-radius:0;color:#fff;
  border-bottom:1px solid rgba(255,255,255,.09)}
.sr-contact--panel .sr-contact__list li:last-child .sr-contact__item{border-bottom:0}
.sr-contact--panel .sr-contact__value{color:#fff}
.sr-contact--panel .sr-contact__label{color:#8FB3DE}
.sr-contact--panel .sr-contact__action{color:rgba(255,255,255,.7)}

/* plain rows */
.sr-contact--rows .sr-contact__item{background:none;border:0;box-shadow:none;padding:12px 0;
  border-bottom:1px solid var(--sr-silver);border-radius:0}
.sr-contact--rows .sr-contact__badge{width:42px;height:42px;border-radius:50%}

/* hover */
.sr-contact--hov-fill a.sr-contact__item:hover .sr-contact__badge{transform:scale(1.04)}
.sr-contact--hov-fill a.sr-contact__item:hover{border-color:var(--sr-brand)}
.sr-contact--hov-lift a.sr-contact__item:hover{transform:translateY(-3px);box-shadow:var(--sr-shadow-hover);border-color:var(--sr-silver-strong)}
.sr-contact--hov-edge a.sr-contact__item:hover{border-color:var(--sr-brand)}
a.sr-contact__item:hover .sr-contact__arrow{transform:translateX(4px)}
.sr-contact--panel a.sr-contact__item:hover{background:rgba(255,255,255,.06)}

/* map */
.sr-contact__map{position:relative;border:1px solid var(--sr-silver);border-radius:var(--sr-radius);
  overflow:hidden;height:320px;box-shadow:var(--sr-shadow)}
.sr-contact__map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.25)}
.sr-contact__directions{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;
  background:#fff;color:var(--sr-ink);text-decoration:none;font-weight:700;font-size:14px;
  padding:10px 16px;border-radius:var(--sr-radius);box-shadow:0 4px 16px rgba(29,33,38,.18);
  transition:background .25s var(--sr-ease),color .25s var(--sr-ease)}
.sr-contact__directions .sr-icon{color:var(--sr-brand);transition:color .25s var(--sr-ease)}
.sr-contact__directions:hover{background:var(--sr-brand);color:#fff}
.sr-contact__directions:hover .sr-icon{color:#fff}

/* ---------------- marquee ---------------- */
.sr-marq{overflow:hidden;position:relative;
  -webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.sr-marq__track{display:flex;width:max-content;animation:sr-marq var(--sr-marq-speed,40s) linear infinite}
.sr-marq.is-ltr .sr-marq__track{animation-direction:reverse}
.sr-marq:hover .sr-marq__track{animation-play-state:paused}
.sr-marq__set{display:flex;align-items:center;gap:56px;list-style:none;margin:0;padding:0 28px}
.sr-marq img{height:56px;width:auto;display:block;object-fit:contain}
.sr-marq.is-grey img{filter:grayscale(1);opacity:.62;transition:filter .3s,opacity .3s}
.sr-marq.is-grey li:hover img{filter:none;opacity:1}
@keyframes sr-marq{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion:reduce){
  .sr-marq{-webkit-mask:none;mask:none;overflow-x:auto}
  .sr-marq__track{animation:none}
}

/* review cards inside a marquee */
.sr-marq--cards .sr-marq__set{gap:20px;align-items:stretch;padding:6px 10px}
.sr-marq--cards:not(.is-auto) .sr-marq__track{animation:none;overflow-x:auto}
.sr-rev{--sr-rev-a:18%;--sr-rev-blur:10px;
  width:340px;flex:none;background:#fff;border:1px solid var(--sr-silver);border-radius:var(--sr-radius);
  padding:22px;box-shadow:var(--sr-shadow);display:flex;flex-direction:column;gap:12px;text-align:left}

/* Frosted: the background photo shows through, blurred. */
.sr-marq--glass .sr-rev{
  background:rgb(255 255 255 / var(--sr-rev-a));
  border-color:rgba(255,255,255,.34);
  box-shadow:0 8px 26px rgba(11,31,58,.18);
  backdrop-filter:blur(var(--sr-rev-blur)) saturate(120%);
  -webkit-backdrop-filter:blur(var(--sr-rev-blur)) saturate(120%);
  color:#fff}
.sr-marq--glass .sr-rev p,.sr-marq--glass .sr-rev cite{color:#fff}
.sr-marq--glass .sr-rev__when{color:rgba(255,255,255,.78)}
.sr-marq--glass .sr-rev__av--i{background:rgba(255,255,255,.22);color:#fff}
.sr-marq--glass .sr-rev__g{background:rgba(255,255,255,.9);border-color:transparent}

/* Dark translucent: for light or busy photos. */
.sr-marq--dark .sr-rev{
  background:rgb(18 22 27 / calc(var(--sr-rev-a) + 35%));
  border-color:rgba(255,255,255,.16);
  box-shadow:0 8px 26px rgba(0,0,0,.28);
  backdrop-filter:blur(var(--sr-rev-blur));
  -webkit-backdrop-filter:blur(var(--sr-rev-blur));
  color:#fff}
.sr-marq--dark .sr-rev p,.sr-marq--dark .sr-rev cite{color:#fff}
.sr-marq--dark .sr-rev__when{color:rgba(255,255,255,.72)}
.sr-marq--dark .sr-rev__av--i{background:rgba(255,255,255,.16);color:#fff}
.sr-marq--dark .sr-rev__g{background:rgba(255,255,255,.92);border-color:transparent}

/* No card at all. */
.sr-marq--clear .sr-rev{background:none;border:0;box-shadow:none;padding:16px 18px;color:#fff;
  text-shadow:0 1px 12px rgba(11,31,58,.55)}
.sr-marq--clear .sr-rev p,.sr-marq--clear .sr-rev cite{color:#fff}
.sr-marq--clear .sr-rev__when{color:rgba(255,255,255,.8)}
.sr-marq--clear .sr-rev__av--i{background:rgba(255,255,255,.2);color:#fff}
.sr-marq--clear .sr-rev__g{background:rgba(255,255,255,.9);border-color:transparent}

/* Browsers without backdrop-filter get a more solid card so text stays readable. */
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
  .sr-marq--glass .sr-rev{background:rgba(255,255,255,.22)}
  .sr-marq--dark .sr-rev{background:rgba(18,22,27,.72)}
}
.sr-rev__head{display:flex;align-items:center;gap:12px}
.sr-rev__av{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none;display:block;
  background:var(--sr-silver)}
.sr-rev__av--i{display:grid;place-items:center;font-weight:700;font-size:15px;color:var(--sr-brand);
  background:var(--sr-brand-tint);letter-spacing:.5px}
.sr-rev__who{display:flex;flex-direction:column;gap:2px;min-width:0}
.sr-rev cite{font-style:normal;font-weight:700;font-size:15px;color:var(--sr-ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr-rev__stars{color:#F2A100;letter-spacing:2px;font-size:14px;line-height:1}
.sr-rev__g{margin-left:auto;flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
  font-weight:700;font-size:14px;color:#4285F4;background:#fff;border:1px solid var(--sr-silver-strong)}
.sr-rev p{margin:0;color:var(--sr-ink);font-size:15px;line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:6;line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.sr-rev__when{font-size:13px;color:var(--sr-muted);margin-top:auto}

/* ---------------- review band ---------------- */
.sr-revs{position:relative;padding:var(--sr-section-y) 0;overflow:hidden;--sr-h:320px;
  display:flex;flex-direction:column;justify-content:center}
.sr-revs.has-bg{color:#fff}
.sr-revs.has-bg .sr-head h2,.sr-revs.has-bg .sr-head h3{color:#fff}
.sr-revs.has-bg .sr-head__intro{color:#D4DCE5}
.sr-revs__bg{position:absolute;inset:calc((var(--sr-plx-amt,60px) + 24px) * -1) 0;
  background-size:cover;background-position:center;z-index:0;will-change:transform}
.sr-revs.has-bg .sr-revs__bg::after{content:"";position:absolute;inset:0;background:rgba(18,22,27,var(--sr-revs-dim,.62))}
.sr-revs__inner{position:relative;z-index:1;max-width:var(--sr-wrap);margin:0 auto;padding:0 24px;width:100%}
.sr-revs__rating{text-align:center;margin:-30px 0 34px;font-weight:600}
.sr-revs__all{text-align:center;margin:32px 0 0;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.sr-revs__plugin{background:rgba(255,255,255,.96);border-radius:var(--sr-radius);padding:22px}

/* ---------------- parallax band ---------------- */
.sr-plx{position:relative;overflow:hidden;--sr-h:460px;min-height:var(--sr-h);
  display:flex;align-items:center;color:#fff;border-radius:var(--sr-radius)}
.sr-plx__bg{position:absolute;inset:calc((var(--sr-plx-amt,60px) + 24px) * -1) 0;
  background-size:cover;background-position:center;z-index:0;will-change:transform}
.sr-plx__bg::after{content:"";position:absolute;inset:0;background:rgba(18,22,27,var(--sr-plx-dim,.58))}
.sr-plx__inner{position:relative;z-index:1;max-width:640px;padding:56px 44px}
.sr-plx h2,.sr-plx h3{color:#fff;margin:0 0 14px}
.sr-plx p{color:#D9E0E8;font-size:17px;margin:0 0 24px}
.sr-eyebrow--light{color:#8FB3DE}
.sr-plx--center{justify-content:center;text-align:center}
.sr-plx--right{justify-content:flex-end;text-align:right}
.sr-plx--right .sr-plx__inner{text-align:right}

@media (max-width:900px){
  .sr-contact--split{grid-template-columns:1fr;gap:26px}
  .sr-contact--grid .sr-contact__list{grid-template-columns:1fr}
  .sr-plx__inner{padding:40px 24px}
  .sr-rev{width:270px}
}

.sr-revs__rating{display:flex;gap:10px;align-items:center;justify-content:center}
.sr-revs__stars{color:#F2A100;letter-spacing:2px}


.sr-revs__note{max-width:760px;margin:0 auto 26px;padding:14px 18px;border-radius:var(--sr-radius);
  background:#FFF6E5;border:1px solid #E9D08A;color:#5B4708;font-size:14px;line-height:1.6}
.sr-revs.has-bg .sr-revs__note{background:rgba(255,246,229,.95)}

.sr-editor-note{max-width:760px;margin:22px auto 0;padding:14px 18px;border-radius:var(--sr-radius);
  background:#FFF6E5;border:1px solid #E9D08A;color:#5B4708;font-size:14px;line-height:1.6;text-align:left}

/* ---------------- icon badges ---------------- */
/* Every badge takes its colours from the palette (--sr-ic-*), set site-wide or per widget,
   and its shape from the inline CSS generated in inc/icon-styles.php. */
.sr-card__ic,.sr-tile__ic,.sr-contact__badge,.sr-areas__badge,.sr-steps__ic,
.sr-trust--badge-square .sr-trust__ic,.sr-trust--badge-circle .sr-trust__ic,.sr-trust--badge-windshield .sr-trust__ic{
  background:var(--sr-ic-bg,var(--sr-brand-tint));
  color:var(--sr-ic-line,var(--sr-ink));
  border:1px solid var(--sr-ic-border,transparent);
  box-shadow:var(--sr-ic-shadow,none);
  box-sizing:border-box}
.sr-card__ic > .sr-icon,.sr-tile__ic > .sr-icon,.sr-contact__badge > .sr-icon,.sr-areas__badge > .sr-icon,.sr-steps__ic > .sr-icon{flex:none}

/* On a badge that fills with the brand colour, the icon turns white. */
.sr-cards--hov-lift-fill a.sr-card:hover .sr-card__ic,
.sr-tiles--hov-fill a.sr-tile:hover .sr-tile__ic,
.sr-contact--hov-fill a.sr-contact__item:hover .sr-contact__badge,
.sr-areas--hov-edge a:hover .sr-areas__badge,
.sr-areas--hov-fill.sr-areas--pin a:hover .sr-areas__badge{
  --sr-ic-bg:var(--sr-brand);--sr-ic-border:var(--sr-brand);--sr-ic-shadow:none;
  --sr-ic-line:#fff;--sr-ic-acc:#fff;--sr-ic-fill:rgba(255,255,255,.2)}
/* On a card that fills with the brand colour, or over a photo or dark panel, the badge goes translucent white. */
.sr-areas--hov-fill:not(.sr-areas--pin) a:hover .sr-areas__badge,
.sr-trust--hov-fill a.sr-trust__item:hover .sr-trust__ic,
.sr-trust--solid .sr-trust__ic,
.sr-tiles--photo .sr-tile__ic,
.sr-contact--panel .sr-contact__badge{
  --sr-ic-bg:rgba(255,255,255,.16);--sr-ic-border:rgba(255,255,255,.26);--sr-ic-shadow:none;
  --sr-ic-line:#fff;--sr-ic-acc:#fff;--sr-ic-fill:rgba(255,255,255,.18)}

/* A fixed strip whose content travels through it as the page scrolls. The inner
   block is centred and then moved by script; it is not clipped mid-way because
   the strip itself hides only what has not arrived yet. */
.sr-revs.is-window,.sr-plx.is-window{overflow:hidden}
.sr-revs.is-window .sr-revs__inner,
.sr-plx.is-window .sr-plx__inner{will-change:transform}
@media (prefers-reduced-motion:reduce){
  .sr-revs.is-window,.sr-plx.is-window{height:auto!important;min-height:0!important;overflow:visible}
  .sr-revs.is-window .sr-revs__inner,
  .sr-plx.is-window .sr-plx__inner{transform:none!important}
}
@media (max-width:900px){
  .sr-revs.is-window,.sr-plx.is-window{height:auto!important;min-height:0!important;overflow:visible}
  .sr-revs.is-window .sr-revs__inner,
  .sr-plx.is-window .sr-plx__inner{transform:none!important}
}

/* ---------------- blog ---------------- */
.sr-head--left{text-align:left;margin-left:0;max-width:760px}
.sr-head--left .sr-lane{margin-left:0;margin-right:auto}

/* ---- blog page layout: content plus a sidebar ---- */
.sr-bloglayout{display:grid;gap:44px;align-items:start}
.sr-bloglayout--none{grid-template-columns:1fr}
.sr-bloglayout--right{grid-template-columns:minmax(0,1fr) 300px}
.sr-bloglayout--left{grid-template-columns:300px minmax(0,1fr)}
.sr-bloglayout--left .sr-bloglayout__main{order:2}
.sr-bloglayout--left .sr-blogside{order:1}
.sr-bloglayout__main{min-width:0}

.sr-blogside{display:flex;flex-direction:column;gap:26px;position:sticky;
  top:calc(var(--sr-header-h) + 20px)}
.sr-blogside__box{background:#fff;border:1px solid var(--sr-silver);border-radius:var(--sr-radius-lg);
  padding:22px 22px 24px;box-shadow:var(--sr-shadow)}
.sr-blogside__title{font-family:var(--sr-font-head,var(--sr-font));
  font-size:calc(var(--sr-side-title,17px) * var(--sr-head-scale,1));margin:0 0 14px;
  color:var(--sr-side-title-c,var(--sr-ink))}
.sr-blogside__cats{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.sr-blogside__cats a{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 10px;border-radius:var(--sr-radius);text-decoration:none;
  color:var(--sr-side-link-c,var(--sr-ink));
  font-family:var(--sr-blog-cat-font,var(--sr-font));
  font-size:var(--sr-side-link,15px);
  font-weight:var(--sr-blog-cat-weight,600);
  text-transform:var(--sr-blog-cat-case,none);
  transition:background .22s,color .22s}
.sr-blogside__cats a:hover{background:var(--sr-brand-tint);color:var(--sr-brand)}
.sr-blogside__cats li.is-active a{background:var(--sr-brand);color:var(--sr-btn-text,#fff)}
.sr-blogside__n{font-size:12px;font-weight:600;opacity:.65}
.sr-blogside__recent{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.sr-blogside__recent a{display:flex;gap:12px;text-decoration:none;color:inherit;align-items:center}
.sr-blogside__thumb{flex:none;width:54px;height:54px;border-radius:50%;overflow:hidden;
  background:var(--sr-surface-alt);display:grid;place-items:center;color:var(--sr-silver-strong)}
.sr-blogside__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sr-blogside__rtext{display:grid;gap:3px;min-width:0}
.sr-blogside__rtitle{font-size:calc(var(--sr-side-link,15px) - 1px);font-weight:600;line-height:1.35;
  color:var(--sr-side-link-c,var(--sr-ink));
  display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sr-blogside__recent a:hover .sr-blogside__rtitle{color:var(--sr-brand)}
.sr-blogside__rdate{font-size:12px;color:var(--sr-muted)}
.sr-blogside__cta{background:var(--sr-surface-alt)}
.sr-blogside__cta p{color:var(--sr-muted);font-size:14.5px;margin:0 0 16px}
.sr-blogside__cta .sr-btn{width:100%}
.sr-blogside__tel{display:block;text-align:center;margin-top:12px;font-weight:700;
  color:var(--sr-ink);text-decoration:none}
.sr-blogside__tel:hover{color:var(--sr-brand)}

/* category links above the grid */
.sr-catnav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 34px}
.sr-catnav__item{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:999px;
  border:1px solid var(--sr-silver-strong);background:#fff;color:var(--sr-ink);text-decoration:none;
  font-family:var(--sr-blog-cat-font,var(--sr-font));
  font-size:calc(var(--sr-blog-cat-size,13px) + 1px);
  font-weight:var(--sr-blog-cat-weight,600);
  text-transform:var(--sr-blog-cat-case,none);
  transition:background .25s var(--sr-ease),color .25s,border-color .25s}
.sr-catnav__item:hover{border-color:var(--sr-brand);color:var(--sr-brand)}
.sr-catnav__item.is-active{background:var(--sr-brand);border-color:var(--sr-brand);color:var(--sr-btn-text,#fff)}
.sr-catnav__n{font-weight:500;font-size:12px;opacity:.7}

/* ---- the grid ---- */
.sr-posts{display:grid;grid-template-columns:repeat(var(--sr-posts-cols,3),minmax(0,1fr));gap:34px 28px}
.sr-post{display:flex}
.sr-post__link{display:flex;flex-direction:column;width:100%;text-decoration:none;color:inherit;
  border-radius:var(--sr-radius-lg);overflow:hidden;background:#fff;
  transition:transform .4s var(--sr-ease),box-shadow .4s var(--sr-ease)}

/* media */
.sr-post__media{position:relative;display:block;aspect-ratio:var(--sr-post-ratio,16/10);
  background:linear-gradient(140deg,var(--sr-surface-alt),var(--sr-silver));overflow:hidden;
  border-radius:var(--sr-radius-lg)}
.sr-post__media img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .8s var(--sr-ease)}
.sr-post__link:hover .sr-post__media img{transform:scale(1.05)}
.sr-post__placeholder{position:absolute;inset:0;display:grid;place-items:center;color:var(--sr-silver-strong)}
.sr-post__chip{display:none}
.sr-posts--chip .sr-post__chip{position:absolute;left:12px;top:12px;display:inline-block;z-index:1;
  background:rgba(255,255,255,.94);color:var(--sr-blog-cat-c,var(--sr-ink));
  font-family:var(--sr-blog-cat-font,var(--sr-font));
  font-size:calc(var(--sr-blog-cat-size,13px) - 2px);
  font-weight:var(--sr-blog-cat-weight,700);
  text-transform:var(--sr-blog-cat-case,uppercase);
  letter-spacing:.06em;padding:6px 11px;border-radius:999px;
  box-shadow:0 2px 8px rgba(29,33,38,.16)}
.sr-posts--chip .sr-post__cat{display:none}

/* body */
.sr-post__body{display:flex;flex-direction:column;gap:9px;padding:18px 2px 0;flex:1}
.sr-post__meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:12px;
  color:var(--sr-blog-meta-c,var(--sr-muted));letter-spacing:.03em}
.sr-post__meta time::after{content:"·";margin-left:9px;opacity:.5}
.sr-post__cat{background:var(--sr-brand-tint);color:var(--sr-blog-cat-c,var(--sr-brand));
  font-family:var(--sr-blog-cat-font,var(--sr-font));
  font-weight:var(--sr-blog-cat-weight,700);
  font-size:calc(var(--sr-blog-cat-size,13px) - 2px);
  text-transform:var(--sr-blog-cat-case,uppercase);
  padding:3px 9px;border-radius:999px;letter-spacing:.05em}
.sr-post__title{font-family:var(--sr-font-head,var(--sr-font));
  font-size:calc(var(--sr-blog-title,20px) * var(--sr-head-scale,1));line-height:1.28;
  letter-spacing:-.2px;margin:0;color:var(--sr-blog-title-c,var(--sr-ink))}
.sr-post__link:hover .sr-post__title{color:var(--sr-blog-title-h,var(--sr-brand))}
.sr-post__excerpt{color:var(--sr-blog-ex-c,var(--sr-muted));font-size:var(--sr-blog-ex,15px);line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sr-post__more{margin-top:auto;padding-top:10px;color:var(--sr-brand);font-weight:600;font-size:14px;
  transition:transform .3s var(--sr-ease)}
.sr-post__link:hover .sr-post__more{transform:translateX(4px)}

/* ---- card styles ---- */
.sr-posts--card-soft .sr-post__link:hover{transform:translateY(-5px)}
.sr-posts--card-soft .sr-post__link:hover .sr-post__media{box-shadow:var(--sr-shadow-hover)}

.sr-posts--card-bordered .sr-post__link{border:1px solid var(--sr-silver);box-shadow:var(--sr-shadow)}
.sr-posts--card-bordered .sr-post__media{border-radius:0}
.sr-posts--card-bordered .sr-post__body{padding:20px 22px 24px}
.sr-posts--card-bordered .sr-post__link:hover{transform:translateY(-4px);box-shadow:var(--sr-shadow-hover)}

.sr-posts--card-editorial{gap:0}
.sr-posts--card-editorial .sr-post{padding:26px 0;border-bottom:1px solid var(--sr-silver)}
.sr-posts--card-editorial .sr-post__link{border-radius:0}
.sr-posts--card-editorial .sr-post__media{border-radius:var(--sr-radius)}
.sr-posts--card-editorial .sr-post__link:hover{transform:none}

/* overlay: the title sits on the image */
.sr-posts--card-overlay .sr-post__link{position:relative;border-radius:var(--sr-radius-lg)}
.sr-posts--card-overlay .sr-post__media{position:absolute;inset:0;aspect-ratio:auto;border-radius:inherit}
.sr-posts--card-overlay .sr-post__media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(18,22,27,0) 30%,rgba(18,22,27,.88) 100%)}
.sr-posts--card-overlay .sr-post__body{position:relative;z-index:1;justify-content:flex-end;
  min-height:330px;padding:22px;color:#fff}
.sr-posts--card-overlay .sr-post__title{color:#fff}
.sr-posts--card-overlay .sr-post__link:hover .sr-post__title{color:#fff}
.sr-posts--card-overlay .sr-post__excerpt{color:rgba(255,255,255,.82);-webkit-line-clamp:2;line-clamp:2}
.sr-posts--card-overlay .sr-post__meta{color:rgba(255,255,255,.75)}
.sr-posts--card-overlay .sr-post__more{color:#fff}
.sr-posts--card-overlay .sr-post__link:hover{transform:translateY(-5px);box-shadow:var(--sr-shadow-hover)}

/* the newest post, large across the top */
.sr-posts--featured .sr-post:first-child{grid-column:1 / -1}
.sr-posts--featured .sr-post:first-child .sr-post__link{flex-direction:row;align-items:stretch;gap:0}
.sr-posts--featured .sr-post:first-child .sr-post__media{flex:1 1 58%;aspect-ratio:16/9}
.sr-posts--featured .sr-post:first-child .sr-post__body{flex:1 1 42%;justify-content:center;
  padding:30px 8px 30px 34px;gap:12px}
.sr-posts--featured .sr-post:first-child .sr-post__title{
  font-size:calc(var(--sr-blog-title,20px) * 1.5 * var(--sr-head-scale,1));line-height:1.2}
.sr-posts--featured .sr-post:first-child .sr-post__excerpt{font-size:16.5px;-webkit-line-clamp:4;line-clamp:4}
.sr-posts--featured.sr-posts--card-bordered .sr-post:first-child .sr-post__body{padding:34px 36px}
.sr-posts--featured.sr-posts--card-overlay .sr-post:first-child .sr-post__link{flex-direction:column}
.sr-posts--featured.sr-posts--card-overlay .sr-post:first-child .sr-post__body{min-height:420px}

/* One post per row: lay the card out sideways so the image stays a sensible size
   instead of stretching across the whole page. */
.sr-posts--onecol:not(.sr-posts--card-panel):not(.sr-posts--list) .sr-post__link{
  flex-direction:row;gap:26px;align-items:stretch}
.sr-posts--onecol:not(.sr-posts--card-panel):not(.sr-posts--list) .sr-post__media{
  flex:none;width:320px;aspect-ratio:4/3}
.sr-posts--onecol:not(.sr-posts--card-panel):not(.sr-posts--list) .sr-post__body{
  justify-content:center;padding:10px 0}
.sr-posts--onecol .sr-post__title{font-size:calc(var(--sr-blog-title,20px) * 1.1 * var(--sr-head-scale,1))}

/* panel: a round thumbnail in a tinted well, beside a white card */
.sr-posts--card-panel{gap:22px}
.sr-posts--card-panel .sr-post__link{flex-direction:row;align-items:stretch;
  background:var(--sr-surface-alt);border-radius:var(--sr-radius-lg);padding:14px;gap:0;
  box-shadow:none}
.sr-posts--card-panel .sr-post__media{flex:none;width:118px;aspect-ratio:1/1;border-radius:50%;
  align-self:center;margin:0 16px 0 8px;box-shadow:0 2px 10px rgba(29,33,38,.14)}
.sr-posts--card-panel .sr-post__body{background:#fff;border-radius:var(--sr-radius-lg);
  padding:22px 24px;gap:10px;justify-content:center;box-shadow:var(--sr-shadow)}
.sr-posts--card-panel .sr-post__title{font-size:calc(var(--sr-blog-title,20px) * 1.05 * var(--sr-head-scale,1))}
.sr-posts--card-panel .sr-post__chip{display:none}
.sr-posts--card-panel .sr-post__link:hover{transform:none}
.sr-posts--card-panel .sr-post__link:hover .sr-post__body{box-shadow:var(--sr-shadow-hover)}
.sr-posts--card-panel .sr-post__cats{margin-top:2px}

/* categories line and read-more button */
.sr-post__cats{display:flex;flex-wrap:wrap;align-items:center;gap:7px;
  font-family:var(--sr-blog-cat-font,var(--sr-font));
  font-size:var(--sr-blog-cat-size,13px);
  font-weight:var(--sr-blog-cat-weight,600);
  text-transform:var(--sr-blog-cat-case,none);
  color:var(--sr-blog-cat-c,var(--sr-brand))}
.sr-post__in{color:var(--sr-muted);font-weight:500;font-style:italic}
.sr-post__cats span[aria-hidden]{color:var(--sr-silver-strong);font-weight:400}
.sr-post__btn{align-self:flex-start;margin-top:8px;display:inline-flex;align-items:center;
  padding:9px 20px;border:1px solid var(--sr-brand);border-radius:var(--sr-btn-radius,var(--sr-radius));
  color:var(--sr-brand);font-weight:700;font-size:13px;letter-spacing:.05em;text-transform:uppercase;
  transition:background .25s var(--sr-ease),color .25s}
.sr-post__link:hover .sr-post__btn{background:var(--sr-brand);color:var(--sr-btn-text,#fff)}
.sr-posts--card-overlay .sr-post__btn{border-color:rgba(255,255,255,.7);color:#fff}
.sr-posts--card-overlay .sr-post__link:hover .sr-post__btn{background:#fff;color:var(--sr-ink)}

/* compact: a small square thumbnail beside the title */
.sr-posts--compact .sr-post__link{flex-direction:row;align-items:stretch;gap:16px}
.sr-posts--compact .sr-post__media{flex:none;width:104px;aspect-ratio:1/1}
.sr-posts--compact .sr-post__body{padding:4px 0;gap:5px;justify-content:center}
.sr-posts--compact .sr-post__title{font-size:calc(var(--sr-blog-title,20px) * .8 * var(--sr-head-scale,1))}
.sr-posts--compact .sr-post__excerpt,.sr-posts--compact .sr-post__more{display:none}

/* list: one per row, image on the left */
.sr-posts--list{grid-template-columns:1fr;gap:22px}
.sr-posts--list .sr-post__link{flex-direction:row;gap:26px}
.sr-posts--list .sr-post__media{flex:none;width:320px;aspect-ratio:4/3}
.sr-posts--list .sr-post__body{padding:8px 0;justify-content:center}
.sr-posts--list .sr-post__title{font-size:calc(var(--sr-blog-title,20px) * 1.1 * var(--sr-head-scale,1))}
.sr-posts--list.sr-posts--featured .sr-post:first-child .sr-post__media{flex:none;width:320px}

@media (max-width:1100px){
  .sr-bloglayout--right,.sr-bloglayout--left{grid-template-columns:1fr;gap:36px}
  .sr-bloglayout--left .sr-bloglayout__main{order:1}
  .sr-bloglayout--left .sr-blogside{order:2}
  .sr-blogside{position:static}
}
@media (max-width:1000px){
  .sr-posts{grid-template-columns:repeat(min(var(--sr-posts-cols,3),2),minmax(0,1fr))}
  .sr-posts--list{grid-template-columns:1fr}
  .sr-posts--featured .sr-post:first-child .sr-post__title{font-size:calc(25px * var(--sr-head-scale,1))}
}
@media (max-width:700px){
  .sr-posts,.sr-posts--compact{grid-template-columns:1fr}
  .sr-posts--onecol .sr-post__link{flex-direction:column;gap:0}
  .sr-posts--onecol .sr-post__media{width:100%;aspect-ratio:var(--sr-post-ratio,16/10)}
  .sr-posts--onecol .sr-post__body{padding:18px 2px 0}
  .sr-posts--card-panel .sr-post__link{flex-direction:column;padding:12px}
  .sr-posts--card-panel .sr-post__media{width:88px;margin:6px auto 12px}
  .sr-posts--featured .sr-post:first-child .sr-post__link,
  .sr-posts--list .sr-post__link{flex-direction:column;gap:0}
  .sr-posts--featured .sr-post:first-child .sr-post__media,
  .sr-posts--list .sr-post__media{width:100%;aspect-ratio:var(--sr-post-ratio,16/10)}
  .sr-posts--featured .sr-post:first-child .sr-post__body{padding:18px 2px 0}
  .sr-catnav{gap:6px;margin-bottom:26px}
  .sr-catnav__item{padding:7px 13px;font-size:13px}
}

/* one article */
.sr-article__head{max-width:760px;padding-top:26px}
.sr-article__head h1{margin:0 0 12px}
.sr-article__meta{color:var(--sr-muted);font-size:14px;display:flex;gap:10px;align-items:center;margin:0}
.sr-article__hero{max-width:900px;margin:34px auto 0;border-radius:var(--sr-radius);overflow:hidden}
.sr-article__hero img{width:100%;height:auto;display:block}
.sr-article__body{max-width:720px;margin:38px auto 0;font-size:calc(var(--sr-fs,17px) + 1px);line-height:1.75}
.sr-article__body h2{font-size:calc(27px * var(--sr-head-scale,1));margin:2em 0 .5em}
.sr-article__body h3{font-size:calc(21px * var(--sr-head-scale,1));margin:1.8em 0 .4em}
.sr-article__body p{margin:0 0 1.15em}
.sr-article__body ul,.sr-article__body ol{margin:0 0 1.3em;padding-left:1.3em}
.sr-article__body li{margin:0 0 .5em}
.sr-article__body img{border-radius:var(--sr-radius);margin:1.6em 0}
.sr-article__body blockquote{margin:1.8em 0;padding:4px 0 4px 22px;border-left:3px solid var(--sr-brand);
  font-size:1.06em;color:var(--sr-ink)}
.sr-article__body a{color:var(--sr-brand);text-decoration:underline;text-underline-offset:2px}
.sr-article__cta{max-width:720px;margin:56px auto 0;padding:34px 30px;background:var(--sr-surface-alt);
  border:1px solid var(--sr-silver);border-radius:var(--sr-radius);text-align:center}
.sr-article__cta h2{margin:0 0 8px;font-size:calc(23px * var(--sr-head-scale,1))}
.sr-article__cta p{color:var(--sr-muted);margin:0 0 20px}
.sr-article__ctabtns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.sr-related{padding:var(--sr-section-y) 0 0}

/* compact: a small square thumbnail beside the title, several to a row */
.sr-posts--compact .sr-post__link{flex-direction:row;align-items:stretch}
.sr-posts--compact .sr-post__media{flex:none;width:112px;aspect-ratio:1/1}
.sr-posts--compact .sr-post__body{padding:14px 16px;gap:5px}

.sr-posts--compact .sr-post__excerpt,
.sr-posts--compact .sr-post__more{display:none}

/* list: one per row, image on the left */
.sr-posts--list{grid-template-columns:1fr;gap:18px}
.sr-posts--list .sr-post__link{flex-direction:row}
.sr-posts--list .sr-post__media{flex:none;width:300px;aspect-ratio:4/3}
.sr-posts--list .sr-post__body{padding:24px 26px}
.sr-posts--list .sr-post__title{font-size:calc(21px * var(--sr-head-scale,1))}

@media (max-width:1100px){
  .sr-bloglayout--right,.sr-bloglayout--left{grid-template-columns:1fr;gap:36px}
  .sr-bloglayout--left .sr-bloglayout__main{order:1}
  .sr-bloglayout--left .sr-blogside{order:2}
  .sr-blogside{position:static}
}
@media (max-width:1000px){
  .sr-posts{grid-template-columns:repeat(min(var(--sr-posts-cols,3),2),minmax(0,1fr))}
  .sr-posts--list{grid-template-columns:1fr}
}
@media (max-width:700px){
  .sr-posts,.sr-posts--compact{grid-template-columns:1fr}
  .sr-posts--card-panel .sr-post__link{flex-direction:column;padding:12px}
  .sr-posts--card-panel .sr-post__media{width:88px;margin:6px auto 12px}
  .sr-posts--list .sr-post__link{flex-direction:column}
  .sr-posts--list .sr-post__media{width:100%;aspect-ratio:var(--sr-post-ratio,16/10)}
  .sr-catnav{gap:6px}
  .sr-catnav__item{padding:7px 13px;font-size:13px}
}

/* ---------------- background box (colour or photo behind a widget) ---------------- */
.sr-bgbox{position:relative;isolation:isolate;padding:64px 28px;border-radius:var(--sr-radius-lg);
  background-size:cover;background-position:center;background-repeat:no-repeat}
.sr-bgbox--photo{background-color:var(--sr-ink-strong,#1D2126)}
.sr-bgbox__shade{position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:var(--sr-bgbox-shade,#12161B);opacity:var(--sr-bgbox-dim,.55)}
@media (max-width:900px){ .sr-bgbox{background-attachment:scroll!important;padding:48px 20px} }

/* Light text on a photo or dark colour */
.sr-tone-light .sr-head h2,.sr-tone-light .sr-head h3,.sr-tone-light .sr-head div{color:#fff}
.sr-tone-light .sr-head__intro{color:rgba(255,255,255,.84)}
.sr-tone-light .sr-eyebrow{color:color-mix(in srgb,var(--sr-brand) 45%,#fff)}
.sr-tone-light .sr-lane{--sr-lane-c:color-mix(in srgb,var(--sr-brand) 45%,#fff)}
.sr-tone-light:not(.sr-bgbox--cards) .sr-faq summary{color:#fff}
.sr-tone-light:not(.sr-bgbox--cards) .sr-faq summary::after{border-color:#fff}
.sr-tone-light:not(.sr-bgbox--cards) .sr-faq details{border-bottom-color:rgba(255,255,255,.22)}
.sr-tone-light:not(.sr-bgbox--cards) .sr-faq__a{color:rgba(255,255,255,.84)}
.sr-tone-light:not(.sr-bgbox--cards) .sr-faq__a a{color:#fff}

/* Content on a card */
.sr-bgbox--cards .sr-faq{background:var(--sr-surface,#fff);border-radius:var(--sr-radius-lg);padding:6px 28px;
  box-shadow:0 14px 34px -18px rgba(16,24,40,.45)}
.sr-bgbox--cards .sr-faq details:last-child{border-bottom:0}

/* ---------------- booking section ---------------- */
.sr-book{max-width:980px;margin:0 auto}
.sr-book__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.sr-book--n1 .sr-book__cards{grid-template-columns:minmax(0,560px);justify-content:center}
.sr-book__card{display:flex;gap:18px;align-items:flex-start;padding:26px 26px 24px;border-radius:var(--sr-radius-lg);text-align:left}
.sr-book--cards .sr-book__card{background:var(--sr-surface,#fff);border:1px solid var(--sr-silver);box-shadow:var(--sr-shadow)}
.sr-book--tint .sr-book__card{background:var(--sr-brand-tint)}
.sr-book--lines .sr-book__card{padding:6px 0}
.sr-book--lines.sr-book--n2 .sr-book__card + .sr-book__card{border-left:1px solid var(--sr-silver);padding-left:26px}
.sr-book__ic{flex:none}
.sr-book__body{min-width:0}
.sr-book__title{margin:2px 0 6px;font-size:calc(19px * var(--sr-head-scale,1));color:var(--sr-ink-strong,var(--sr-ink))}
.sr-book__text{margin:0;color:var(--sr-muted);line-height:1.6}
.sr-book__addr{margin:12px 0 0;color:var(--sr-ink);line-height:1.55}
.sr-book__dir{color:var(--sr-brand);font-weight:600;text-decoration:none}
.sr-book__dir:hover{text-decoration:underline}
.sr-book__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 22px;margin:26px 0 0;color:var(--sr-muted);font-size:15px;text-align:center}
.sr-book__note{flex-basis:100%;color:var(--sr-ink)}
.sr-book__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px}
@media (max-width:720px){
  .sr-book__cards{grid-template-columns:minmax(0,1fr)}
  .sr-book--lines.sr-book--n2 .sr-book__card + .sr-book__card{border-left:0;padding-left:0;border-top:1px solid var(--sr-silver);padding-top:18px}
  .sr-book__btns .sr-btn{flex:1 1 100%}
}
.sr-tone-light .sr-book--lines .sr-book__title,.sr-tone-light .sr-book--lines .sr-book__addr,.sr-tone-light .sr-book__note{color:#fff}
.sr-tone-light .sr-book--lines .sr-book__text,.sr-tone-light .sr-book__meta{color:rgba(255,255,255,.82)}
.sr-tone-light .sr-book--lines .sr-book__dir{color:#fff}

/* ---------------- coverage map ---------------- */
.sr-cov{--sr-cov-fill:var(--sr-brand);--sr-cov-alpha:.85;--sr-cov-other:var(--sr-silver);--sr-cov-sea:var(--sr-surface-alt);--sr-cov-pin:var(--sr-accent,#F97316);
  display:grid;gap:36px;align-items:center;max-width:1160px;margin:0 auto}
.sr-cov--list.sr-cov--side{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.sr-cov--list.sr-cov--side-r{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
.sr-cov--side-r .sr-cov__side{order:-1}
@media (max-width:860px){ .sr-cov--list.sr-cov--side,.sr-cov--list.sr-cov--side-r{grid-template-columns:minmax(0,1fr)} .sr-cov--side-r .sr-cov__side{order:0} }
.sr-cov__map{position:relative;overflow:hidden;border-radius:var(--sr-radius-lg);background:var(--sr-cov-sea);border:1px solid var(--sr-silver)}
.sr-cov__svg{display:block;width:100%;height:auto}
.sr-cov__sea{fill:var(--sr-cov-sea)}
.sr-cov__context path{fill:var(--sr-cov-other);stroke:var(--sr-surface,#fff);stroke-width:1.5;vector-effect:non-scaling-stroke}
.sr-cov__served path{fill:var(--sr-cov-fill);fill-opacity:var(--sr-cov-alpha);stroke:var(--sr-surface,#fff);stroke-width:2;vector-effect:non-scaling-stroke;transition:fill-opacity .2s}
.sr-cov__served path:hover{fill-opacity:1}
.sr-cov__labels text{font-family:var(--sr-font-head,var(--sr-font));font-weight:700;font-size:21px;fill:#fff;text-anchor:middle;dominant-baseline:middle;
  paint-order:stroke;stroke:color-mix(in srgb,var(--sr-cov-fill) 80%,#000);stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.sr-cov__pin circle{fill:var(--sr-cov-pin);stroke:#fff;stroke-width:3}
.sr-cov__pin .sr-cov__pin-halo{fill-opacity:.28;stroke:none}
.sr-cov__pin text{font-family:var(--sr-font-head,var(--sr-font));font-weight:700;font-size:16px;fill:var(--sr-ink-strong,var(--sr-ink));paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.sr-cov__gmap{height:440px;width:100%}
.sr-cov__title{margin:0 0 14px;font-size:calc(20px * var(--sr-head-scale,1));color:var(--sr-ink-strong,var(--sr-ink))}
.sr-cov__list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sr-cov__list li{position:relative;padding-left:24px;color:var(--sr-ink);font-weight:500}
.sr-cov__list li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:12px;border-radius:3px;background:var(--sr-cov-fill);opacity:var(--sr-cov-alpha)}
.sr-cov--stack .sr-cov__list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.sr-cov__note{margin:18px 0 0;color:var(--sr-muted)}
.sr-cov__pin text{font-size:19px}
@media (max-width:600px){
  /* On a phone the map is too small for names; the list below carries them. */
  .sr-cov__labels,.sr-cov__pin text{display:none}
  .sr-cov__list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.sr-cov__notice{max-width:1160px;margin:14px auto 0;padding:10px 14px;border-radius:var(--sr-radius);background:#FFF6E5;color:#7A4B00;font-size:14px}
.sr-tone-light .sr-cov__title,.sr-tone-light .sr-cov__list li{color:#fff}
.sr-tone-light .sr-cov__note{color:rgba(255,255,255,.82)}

/* ---------------- pricing table ---------------- */
.sr-price{--sr-price-line:var(--sr-silver);--sr-price-feature:var(--sr-brand);max-width:900px;margin:0 auto}
.sr-price__list{list-style:none;margin:0;padding:0}
.sr-price--rows .sr-price__list{background:var(--sr-surface,#fff);border:1px solid var(--sr-price-line);border-radius:var(--sr-radius-lg);box-shadow:var(--sr-shadow);overflow:hidden}
.sr-price__row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px 20px;padding:22px 26px;position:relative}
.sr-price__row:not(:has(.sr-price__ic)){grid-template-columns:minmax(0,1fr) auto}
.sr-price--rows .sr-price__row + .sr-price__row{border-top:1px solid var(--sr-price-line)}
.sr-price--rows .sr-price__row.is-featured{background:color-mix(in srgb,var(--sr-price-feature) 6%,transparent);box-shadow:inset 4px 0 0 var(--sr-price-feature)}
.sr-price--cards .sr-price__list{display:grid;gap:14px}
.sr-price--cards .sr-price__row{background:var(--sr-surface,#fff);border:1px solid var(--sr-price-line);border-radius:var(--sr-radius-lg);box-shadow:var(--sr-shadow)}
.sr-price--cards .sr-price__row.is-featured{border-color:var(--sr-price-feature);box-shadow:0 0 0 1px var(--sr-price-feature),var(--sr-shadow)}
.sr-price__ic{width:46px;height:46px}
.sr-price__main{min-width:0}
.sr-price__name{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-family:var(--sr-font-head,var(--sr-font));font-weight:var(--sr-head-weight,700);font-size:calc(18px * var(--sr-head-scale,1));color:var(--sr-ink-strong,var(--sr-ink));line-height:1.3}
.sr-price__tag{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--sr-brand-tint);color:var(--sr-brand-dark);font-family:var(--sr-font);font-size:12px;font-weight:600;vertical-align:middle}
.sr-price__detail{margin:5px 0 0;color:var(--sr-muted);font-size:15px;line-height:1.55}
.sr-price__end{display:flex;flex-direction:column;align-items:flex-end;gap:10px;text-align:right}
.sr-price__amount{margin:0;font-family:var(--sr-font-head,var(--sr-font));font-weight:800;font-size:calc(26px * var(--sr-head-scale,1));line-height:1.1;color:var(--sr-ink-strong,var(--sr-ink));white-space:nowrap;font-variant-numeric:tabular-nums}
.sr-price__amount.is-quote{font-size:15px;font-weight:600;color:var(--sr-muted);white-space:normal;max-width:180px}
.sr-price__suffix{display:block;margin-top:3px;font-family:var(--sr-font);font-size:13px;font-weight:500;color:var(--sr-muted)}
.sr-price__btn{padding:9px 16px;font-size:14px}
.sr-price__foot{margin:18px 0 0;text-align:center;color:var(--sr-muted);font-size:14px}
@media (max-width:640px){
  .sr-price__row,.sr-price__row:not(:has(.sr-price__ic)){grid-template-columns:auto minmax(0,1fr);align-items:start;padding:18px}
  .sr-price__row:not(:has(.sr-price__ic)) .sr-price__end{grid-column:1 / -1}
  .sr-price__end{grid-column:2;align-items:flex-start;text-align:left}
  .sr-price__amount.is-quote{max-width:none}
}
.sr-tone-light .sr-price__foot{color:rgba(255,255,255,.82)}

/* ---------------- logo grid ---------------- */
.sr-logos{--sr-logos-cols:4;--sr-logos-gap:20px;list-style:none;margin:0 auto;padding:0;max-width:1160px;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sr-logos-gap)}
/* A short last row sits in the middle rather than at the left. */
.sr-logos > li{flex:0 0 calc((100% - (var(--sr-logos-cols) - 1) * var(--sr-logos-gap)) / var(--sr-logos-cols));min-width:0}
.sr-logos__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;padding:22px 16px;text-align:center;text-decoration:none;color:inherit;box-sizing:border-box}
.sr-logos--cards .sr-logos__item{background:var(--sr-surface,#fff);border:1px solid var(--sr-silver);border-radius:var(--sr-radius-lg);box-shadow:var(--sr-shadow);transition:transform .25s var(--sr-ease),box-shadow .25s}
.sr-logos--cards a.sr-logos__item:hover{transform:translateY(-2px);box-shadow:0 12px 26px -14px rgba(16,24,40,.35)}
.sr-logos--plain .sr-logos__item{padding:10px}
.sr-logos__img{display:flex;align-items:center;justify-content:center;width:100%}
.sr-logos img{height:56px;width:auto;max-width:100%;display:block;object-fit:contain}
.sr-logos.is-grey img{filter:grayscale(1);opacity:.62;transition:filter .3s,opacity .3s}
.sr-logos.is-grey .sr-logos__item:hover img{filter:none;opacity:1}
.sr-logos__caption{font-size:14px;font-weight:600;line-height:1.35;color:var(--sr-ink)}
.sr-marq li a{display:block}
@media (max-width:1024px){ .sr-logos{--sr-logos-cols:3} }
@media (max-width:767px){ .sr-logos{--sr-logos-cols:2;--sr-logos-gap:12px} }

/* ---------------- team ---------------- */
.sr-team{--sr-team-cols:3;--sr-team-gap:24px;list-style:none;margin:0 auto;padding:0;max-width:1160px;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sr-team-gap)}
.sr-team > li{flex:0 0 calc((100% - (var(--sr-team-cols) - 1) * var(--sr-team-gap)) / var(--sr-team-cols));min-width:0}
@media (max-width:1024px){ .sr-team{--sr-team-cols:2} }
@media (max-width:767px){ .sr-team{--sr-team-cols:1;--sr-team-gap:16px} }
.sr-team__card{background:var(--sr-surface,#fff);border:1px solid var(--sr-silver);border-radius:var(--sr-radius-lg);box-shadow:var(--sr-shadow);overflow:hidden;box-sizing:border-box}
.sr-team__photo{position:relative;overflow:hidden;background:linear-gradient(150deg,var(--sr-brand-tint),color-mix(in srgb,var(--sr-brand) 22%,var(--sr-brand-tint)))}
.sr-team__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.sr-team__photo.is-initials{display:grid;place-items:center}
.sr-team__photo.is-initials span{font-family:var(--sr-font-head,var(--sr-font));font-weight:800;color:var(--sr-brand-dark);letter-spacing:.02em}
.sr-team__body{padding:20px 22px 22px}
.sr-team__name{margin:0;font-size:calc(19px * var(--sr-head-scale,1));color:var(--sr-ink-strong,var(--sr-ink))}
.sr-team__role{margin:3px 0 0;color:var(--sr-brand);font-weight:600;font-size:14px}
.sr-team__bio{margin:10px 0 0;color:var(--sr-muted);line-height:1.6;font-size:15px}
.sr-team__tags{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.sr-team__tag{padding:3px 10px;border-radius:999px;background:var(--sr-brand-tint);color:var(--sr-brand-dark);font-size:12px;font-weight:600}
/* cards */
.sr-team--cards .sr-team__photo{aspect-ratio:4 / 5}
.sr-team--cards .sr-team__photo.is-initials span{font-size:56px}
/* One card per row on a phone: a shorter photo keeps each person on one screen. Faces sit in the upper part. */
@media (max-width:767px){ .sr-team--cards .sr-team__photo{aspect-ratio:1 / 1 !important} }
/* round, centred */
.sr-team--round .sr-team__card{text-align:center;padding-top:26px}
.sr-team--round .sr-team__photo{width:128px;height:128px;margin:0 auto;border-radius:50%;box-shadow:0 0 0 5px var(--sr-surface,#fff),0 0 0 6px var(--sr-silver)}
.sr-team--round .sr-team__photo.is-initials span{font-size:38px}
.sr-team--round .sr-team__tags{justify-content:center}
/* row */
.sr-team--row .sr-team__card{display:flex;align-items:flex-start;gap:18px;padding:22px}
.sr-team--row .sr-team__photo{flex:none;width:88px;height:88px;border-radius:50%}
.sr-team--row .sr-team__photo.is-initials span{font-size:28px}
.sr-team--row .sr-team__body{padding:0}
.sr-tone-light .sr-team__card{border-color:transparent}

/* ---------------- gallery ---------------- */
.sr-gal{--sr-gal-ratio:4 / 3;max-width:1160px;margin:0 auto}
.sr-gal__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 20px;margin:0 0 22px}
.sr-gal__tabs{display:inline-flex;padding:4px;border-radius:999px;background:var(--sr-surface-alt);border:1px solid var(--sr-silver)}
.sr-gal__tab{appearance:none;border:0;background:transparent;font:inherit;font-weight:600;font-size:15px;color:var(--sr-ink);padding:9px 18px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.sr-gal__tab span{font-size:12px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--sr-silver);color:var(--sr-ink)}
.sr-gal__tab.is-on{background:var(--sr-surface,#fff);color:var(--sr-brand-dark);box-shadow:0 1px 3px rgba(16,24,40,.12)}
.sr-gal__tab.is-on span{background:var(--sr-brand);color:#fff}
.sr-gal__filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.sr-gal__filter{appearance:none;font:inherit;font-size:14px;padding:6px 14px;border-radius:999px;border:1px solid var(--sr-silver-strong);background:var(--sr-surface,#fff);color:var(--sr-ink);cursor:pointer}
.sr-gal__filter[hidden]{display:none}
.sr-gal__filter.is-on{background:var(--sr-brand);border-color:var(--sr-brand);color:#fff}
.sr-gal__tab:focus-visible,.sr-gal__filter:focus-visible{outline:2px solid var(--sr-brand);outline-offset:2px}
.sr-gal__grid{--sr-gal-cols:3;--sr-gal-gap:20px;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--sr-gal-cols),minmax(0,1fr));gap:var(--sr-gal-gap)}
@media (max-width:1024px){ .sr-gal__grid{--sr-gal-cols:2} }
@media (max-width:767px){ .sr-gal__grid{--sr-gal-cols:1;--sr-gal-gap:14px} }
.sr-gal__item[hidden]{display:none}
.sr-gal__media{display:block;position:relative;aspect-ratio:var(--sr-gal-ratio);overflow:hidden;border-radius:var(--sr-radius-lg);background:var(--sr-surface-alt)}
.sr-gal__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.sr-ba.sr-ba--card{max-width:none;margin:0;aspect-ratio:var(--sr-gal-ratio)}
.sr-ba--card .sr-ba__tag{bottom:10px;font-size:11px;padding:4px 9px}
.sr-ba--card .sr-ba__tag--b{left:10px}.sr-ba--card .sr-ba__tag--a{right:10px}
.sr-ba--card .sr-ba__handle::after{width:34px;height:34px}
.sr-gal__zoom{cursor:zoom-in}
.sr-gal__zoom img{transition:transform .5s var(--sr-ease)}
.sr-gal__zoom:hover img{transform:scale(1.04)}
.sr-gal__zoom:focus-visible{outline:3px solid var(--sr-brand);outline-offset:2px}
.sr-gal__text{padding:10px 2px 0}
.sr-gal__cap{margin:0;font-weight:600;color:var(--sr-ink-strong,var(--sr-ink));line-height:1.35}
.sr-gal__meta{margin:3px 0 0;font-size:14px;color:var(--sr-muted)}
.sr-gal__more{text-align:center;margin:26px 0 0}
.sr-tone-light .sr-gal__cap{color:#fff}.sr-tone-light .sr-gal__meta{color:rgba(255,255,255,.8)}
/* photo viewer */
.sr-lb{position:fixed;inset:0;z-index:100000;background:rgba(12,15,19,.92);display:flex;align-items:center;justify-content:center;padding:56px 64px}
.sr-lb[hidden]{display:none}
.sr-lb-open{overflow:hidden}
.sr-lb__fig{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center}
.sr-lb__fig img{max-width:100%;max-height:calc(100vh - 150px);object-fit:contain;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.sr-lb__fig figcaption{margin-top:12px;color:#fff;font-size:15px;display:flex;gap:16px;align-items:baseline;text-align:center}
.sr-lb__count{color:rgba(255,255,255,.6);font-size:13px}
.sr-lb button{appearance:none;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;border-radius:999px;display:grid;place-items:center;line-height:1}
.sr-lb button:hover{background:rgba(255,255,255,.22)}
.sr-lb button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.sr-lb__close{position:absolute;top:14px;right:14px;width:44px;height:44px;font-size:30px}
.sr-lb__prev,.sr-lb__next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:34px}
.sr-lb__prev{left:12px}.sr-lb__next{right:12px}
@media (max-width:640px){ .sr-lb{padding:56px 8px} .sr-lb__prev,.sr-lb__next{top:auto;bottom:14px;transform:none} }
@media (prefers-reduced-motion:reduce){ .sr-gal__zoom img{transition:none} }
