
/* FastFix premium inner-page system */

.inner-hero {
  position: relative;
  overflow: hidden;
  padding: 86px 0 92px;
  background:
    radial-gradient(circle at 92% 18%, rgba(226, 0, 26, .08), transparent 34%),
    #f4f3ef;
}

.inner-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(420px, .72fr);
  align-items: center;
  gap: clamp(54px, 7vw, 110px);
}

.inner-hero-content {
  min-width: 0;
}

.breadcrumbs {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 42px;
  color: #6c6b68;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.breadcrumbs a {
  color: #171717;
  text-decoration: none;
}

.inner-hero h1 {
  max-width: 800px;
  margin: 0;
  color: #111;
  font-family: "Archivo Black", "Archivo", sans-serif;
  font-size: clamp(58px, 6.1vw, 94px);
  line-height: .94;
  letter-spacing: -.055em;
}

.inner-hero-lead {
  max-width: 680px;
  margin: 30px 0 0;
  color: #52514e;
  font-size: 17px;
  line-height: 1.72;
}

.inner-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.inner-hero-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 29px;
}

.inner-hero-facts span {
  padding: 9px 12px;
  border: 1px solid #d8d6d0;
  background: rgba(255,255,255,.58);
  color: #42413f;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.inner-hero-media {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  background: #151515;
  box-shadow: 0 28px 70px rgba(18, 18, 18, .16);
}

.inner-hero-media img {
  display: block;
  width: 100%;
  height: 610px;
  object-fit: cover;
  object-position: center 24%;
}

.inner-hero-media figcaption {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  display: grid;
  gap: 5px;
  padding: 17px 19px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 13px;
  background: rgba(13,13,13,.84);
  color: #fff;
  backdrop-filter: blur(12px);
}

.inner-hero-media figcaption strong {
  font-size: 14px;
}

.inner-hero-media figcaption span {
  color: rgba(255,255,255,.68);
  font-size: 11px;
}

.inner-intro {
  padding: 74px 0;
  border-bottom: 1px solid #e3e1dc;
  background: #fff;
}

.inner-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(320px, .65fr);
  align-items: end;
  gap: 70px;
}

.inner-intro h2 {
  max-width: 760px;
  margin: 14px 0 0;
  color: #141414;
  font-family: "Archivo Black", "Archivo", sans-serif;
  font-size: clamp(42px, 4.2vw, 66px);
  line-height: .98;
  letter-spacing: -.045em;
}

.inner-intro-grid > p {
  margin: 0;
  color: #595854;
  font-size: 15px;
  line-height: 1.8;
}

.eyebrow-dark {
  color: #e0001a;
}

.service-directory {
  padding: 96px 0;
  background: #f4f3ef;
}

.service-directory-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .82fr);
  min-height: 570px;
  overflow: hidden;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(18,18,18,.07);
}

.service-directory-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 570px;
  object-fit: cover;
  object-position: 61% center;
}

.service-directory-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(46px, 5.7vw, 84px);
}

.service-number {
  display: block;
  margin-bottom: 30px;
  color: #e0001a;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
}

.service-directory-content h2 {
  margin: 12px 0 20px;
  font-family: "Archivo Black", "Archivo", sans-serif;
  font-size: clamp(40px, 4.1vw, 62px);
  line-height: .98;
  letter-spacing: -.04em;
}

.service-directory-content > p {
  margin: 0;
  color: #5a5956;
  font-size: 15px;
  line-height: 1.75;
}

.service-checks {
  display: grid;
  gap: 13px;
  margin: 26px 0 30px;
  padding: 0;
  list-style: none;
}

.service-checks li {
  position: relative;
  padding-left: 24px;
  color: #292929;
  font-size: 13px;
  font-weight: 700;
}

.service-checks li::before {
  position: absolute;
  top: 7px;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e0001a;
  content: "";
}

.text-link,
.service-directory-card a {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  color: #151515;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-decoration: none;
  text-transform: uppercase;
}

.service-directory-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.service-directory-card {
  display: flex;
  min-height: 390px;
  flex-direction: column;
  padding: clamp(34px, 4vw, 56px);
  border: 1px solid #dedcd6;
  border-radius: 20px;
  background: #fff;
}

.service-directory-card h3 {
  max-width: 430px;
  margin: auto 0 17px;
  font-family: "Archivo Black", "Archivo", sans-serif;
  font-size: clamp(31px, 3vw, 44px);
  line-height: 1;
  letter-spacing: -.035em;
}

.service-directory-card p {
  max-width: 520px;
  margin: 0 0 28px;
  color: #5d5c58;
  font-size: 14px;
  line-height: 1.72;
}

.service-directory-card a {
  padding-top: 21px;
  border-top: 1px solid #ddd;
}

.service-directory-card-dark {
  border-color: #151515;
  background: #151515;
  color: #fff;
}

.service-directory-card-dark p,
.service-directory-card-dark a {
  color: rgba(255,255,255,.72);
}

.service-directory-card-dark a {
  border-color: rgba(255,255,255,.18);
}

.service-response {
  padding: 92px 0;
  background: #151515;
  color: #fff;
}

.service-response-layout {
  display: grid;
  grid-template-columns: minmax(0, .76fr) minmax(520px, 1fr);
  align-items: center;
  gap: 90px;
}

.service-response h2 {
  max-width: 650px;
  margin: 14px 0 0;
  font-family: "Archivo Black", "Archivo", sans-serif;
  font-size: clamp(44px, 4.6vw, 70px);
  line-height: .98;
  letter-spacing: -.045em;
}

.response-steps {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.response-steps li {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 24px;
  padding: 24px 0;
  border-bottom: 1px solid rgba(255,255,255,.14);
}

.response-steps li:first-child {
  border-top: 1px solid rgba(255,255,255,.14);
}

.response-steps > li > span {
  color: #e0001a;
  font-size: 12px;
  font-weight: 800;
}

.response-steps strong {
  display: block;
  margin-bottom: 5px;
  font-size: 17px;
}

.response-steps p {
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: 13px;
}

.service-confidence {
  background: #fff;
}

.service-confidence-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.service-confidence article {
  display: grid;
  min-height: 150px;
  align-content: center;
  gap: 8px;
  padding: 30px;
  border-right: 1px solid #e3e1dc;
}

.service-confidence article:last-child {
  border-right: 0;
}

.service-confidence strong {
  font-family: "Archivo Black", "Archivo", sans-serif;
  font-size: 25px;
}

.service-confidence span {
  max-width: 210px;
  color: #63615d;
  font-size: 12px;
  line-height: 1.6;
}

@media (max-width: 1050px) {
  .inner-hero-layout,
  .service-directory-feature,
  .inner-intro-grid,
  .service-response-layout {
    grid-template-columns: 1fr;
  }

  .inner-hero-media img {
    height: 540px;
  }

  .service-directory-image img {
    height: 500px;
    min-height: 0;
  }

  .service-response-layout {
    gap: 50px;
  }

  .service-confidence-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-confidence article:nth-child(2) {
    border-right: 0;
  }

  .service-confidence article:nth-child(-n+2) {
    border-bottom: 1px solid #e3e1dc;
  }
}

@media (max-width: 720px) {
  .inner-hero {
    padding: 52px 0 58px;
  }

  .inner-hero-layout {
    width: auto !important;
    margin-inline: 15px !important;
    gap: 34px;
  }

  .breadcrumbs {
    margin-bottom: 27px;
  }

  .inner-hero h1 {
    font-size: clamp(43px, 13vw, 58px);
  }

  .inner-hero-lead {
    margin-top: 22px;
    font-size: 14px;
  }

  .inner-hero-actions {
    display: grid;
  }

  .inner-hero-actions .button {
    width: 100%;
  }

  .inner-hero-facts {
    display: grid;
    grid-template-columns: 1fr;
  }

  .inner-hero-media {
    border-radius: 18px;
  }

  .inner-hero-media img {
    height: 390px;
  }

  .inner-intro,
  .service-directory,
  .service-response {
    padding: 68px 0;
  }

  .inner-intro-grid {
    gap: 25px;
  }

  .inner-intro h2 {
    font-size: 39px;
  }

  .service-directory-feature {
    grid-template-columns: 1fr;
    min-height: 0;
    border-radius: 18px;
  }

  .service-directory-image img {
    height: 290px;
  }

  .service-directory-content {
    padding: 29px;
  }

  .service-directory-content h2 {
    font-size: 38px;
  }

  .service-directory-grid {
    grid-template-columns: 1fr;
  }

  .service-directory-card {
    min-height: 330px;
    padding: 29px;
  }

  .service-directory-card h3 {
    font-size: 35px;
  }

  .service-response-layout {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .service-response h2 {
    font-size: 41px;
  }

  .service-confidence-grid {
    grid-template-columns: 1fr;
  }

  .service-confidence article,
  .service-confidence article:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid #e3e1dc;
  }

  .service-confidence article:last-child {
    border-bottom: 0;
  }
}


/* Premium service detail pages */

.service-detail-hero {
  padding: 78px 0 88px;
  background:
    radial-gradient(circle at 92% 16%, rgba(226,0,26,.09), transparent 32%),
    #f4f3ef;
}

.service-detail-hero-layout {
  display: grid;
  grid-template-columns: minmax(0,.93fr) minmax(430px,.78fr);
  align-items: center;
  gap: clamp(54px,7vw,110px);
}

.service-detail-hero h1 {
  max-width: 820px;
  margin: 0;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: clamp(58px,6vw,90px);
  line-height: .94;
  letter-spacing: -.055em;
}

.service-detail-lead {
  max-width: 670px;
  margin: 28px 0 0;
  color: #575652;
  font-size: 17px;
  line-height: 1.75;
}

.service-detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 28px;
}

.service-detail-meta span {
  padding: 9px 12px;
  border: 1px solid #d8d6d0;
  background: rgba(255,255,255,.6);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.service-detail-hero-media {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 0 28px 70px rgba(18,18,18,.15);
}

.service-detail-hero-media img {
  display: block;
  width: 100%;
  height: 590px;
  object-fit: cover;
}

.service-detail-hero-media figcaption {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  display: grid;
  gap: 5px;
  padding: 17px 19px;
  border-radius: 13px;
  background: rgba(13,13,13,.85);
  color: #fff;
}

.service-detail-hero-media figcaption strong {
  font-size: 14px;
}

.service-detail-hero-media figcaption span {
  color: rgba(255,255,255,.65);
  font-size: 11px;
}

.service-detail-intro {
  padding: 86px 0;
  background: #fff;
}

.service-detail-intro-layout,
.service-detail-safety-layout {
  display: grid;
  grid-template-columns: minmax(0,.86fr) minmax(360px,.7fr);
  align-items: start;
  gap: 90px;
}

.service-detail-intro h2,
.service-detail-safety h2,
.service-detail-split h2,
.service-detail-areas h2,
.service-detail-faq h2 {
  max-width: 760px;
  margin: 14px 0 0;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: clamp(43px,4.5vw,68px);
  line-height: .98;
  letter-spacing: -.045em;
}

.service-detail-copy,
.service-detail-safety-copy {
  color: #5c5b57;
  font-size: 15px;
  line-height: 1.8;
}

.service-detail-copy p,
.service-detail-safety-copy p {
  margin: 0 0 20px;
}

.service-detail-benefits {
  padding: 0 0 90px;
  background: #fff;
}

.service-detail-benefits-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-top: 1px solid #e1dfda;
  border-bottom: 1px solid #e1dfda;
}

.service-detail-benefits article {
  min-height: 300px;
  padding: 38px;
  border-right: 1px solid #e1dfda;
}

.service-detail-benefits article:last-child {
  border-right: 0;
}

.service-detail-benefits article > span {
  color: #e0001a;
  font-size: 12px;
  font-weight: 800;
}

.service-detail-benefits h3 {
  margin: 78px 0 16px;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: 29px;
  line-height: 1;
}

.service-detail-benefits p {
  margin: 0;
  color: #62615d;
  font-size: 13px;
  line-height: 1.7;
}

.service-detail-split {
  padding: 96px 0;
  background: #f4f3ef;
}

.service-detail-split-layout {
  display: grid;
  grid-template-columns: minmax(420px,.84fr) minmax(0,1fr);
  align-items: center;
  gap: 86px;
}

.service-detail-split-image {
  margin: 0;
  overflow: hidden;
  border-radius: 22px;
}

.service-detail-split-image img {
  display: block;
  width: 100%;
  height: 690px;
  object-fit: cover;
  object-position: center 22%;
}

.service-detail-list {
  display: grid;
  margin: 38px 0 0;
  padding: 0;
  list-style: none;
}

.service-detail-list li {
  display: grid;
  gap: 5px;
  padding: 19px 0;
  border-bottom: 1px solid #d9d7d1;
}

.service-detail-list li:first-child {
  border-top: 1px solid #d9d7d1;
}

.service-detail-list strong {
  font-size: 14px;
}

.service-detail-list span {
  color: #66645f;
  font-size: 12px;
}

.service-detail-safety {
  padding: 92px 0;
  background: #151515;
  color: #fff;
}

.service-detail-safety-copy {
  color: rgba(255,255,255,.66);
}

.service-detail-areas {
  padding: 96px 0;
  background: #fff;
}

.service-detail-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 42px;
}

.service-detail-area-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-top: 1px solid #dedcd6;
  border-left: 1px solid #dedcd6;
}

.service-detail-area-grid a {
  display: grid;
  min-height: 170px;
  align-content: end;
  gap: 9px;
  padding: 26px;
  border-right: 1px solid #dedcd6;
  border-bottom: 1px solid #dedcd6;
  color: #171717;
  text-decoration: none;
}

.service-detail-area-grid strong {
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: 21px;
}

.service-detail-area-grid span {
  color: #696762;
  font-size: 11px;
  line-height: 1.5;
}

.service-detail-faq {
  padding: 96px 0;
  background: #f4f3ef;
}

.service-detail-faq-layout {
  display: grid;
  grid-template-columns: minmax(0,.68fr) minmax(500px,1fr);
  align-items: start;
  gap: 90px;
}

@media (max-width: 1050px) {
  .service-detail-hero-layout,
  .service-detail-intro-layout,
  .service-detail-split-layout,
  .service-detail-safety-layout,
  .service-detail-faq-layout {
    grid-template-columns: 1fr;
  }

  .service-detail-benefits-grid,
  .service-detail-area-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .service-detail-hero-media img {
    height: 520px;
  }

  .service-detail-split-image img {
    height: 560px;
  }
}

@media (max-width: 720px) {
  .service-detail-hero,
  .service-detail-intro,
  .service-detail-split,
  .service-detail-safety,
  .service-detail-areas,
  .service-detail-faq {
    padding: 66px 0;
  }

  .service-detail-hero-layout {
    width: auto !important;
    margin-inline: 15px !important;
    gap: 34px;
  }

  .service-detail-hero h1 {
    font-size: clamp(43px,13vw,58px);
  }

  .service-detail-lead {
    font-size: 14px;
  }

  .service-detail-meta {
    display: grid;
  }

  .service-detail-hero-media {
    border-radius: 18px;
  }

  .service-detail-hero-media img {
    height: 360px;
  }

  .service-detail-intro-layout,
  .service-detail-safety-layout,
  .service-detail-split-layout,
  .service-detail-faq-layout {
    gap: 34px;
  }

  .service-detail-intro h2,
  .service-detail-safety h2,
  .service-detail-split h2,
  .service-detail-areas h2,
  .service-detail-faq h2 {
    font-size: 39px;
  }

  .service-detail-benefits {
    padding-bottom: 66px;
  }

  .service-detail-benefits-grid,
  .service-detail-area-grid {
    grid-template-columns: 1fr;
  }

  .service-detail-benefits article {
    min-height: 250px;
    border-right: 0;
    border-bottom: 1px solid #e1dfda;
  }

  .service-detail-benefits article:last-child {
    border-bottom: 0;
  }

  .service-detail-benefits h3 {
    margin-top: 54px;
  }

  .service-detail-split-image img {
    height: 400px;
  }

  .service-detail-section-heading {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* Shared inner-page WhatsApp CTA fix */

.inner-hero-actions .button-whatsapp,
.service-detail-hero .button-whatsapp {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 1px solid #12a64a;
  border-radius: 0;
  background: #12a64a;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .01em;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  transition:
    background-color .2s ease,
    border-color .2s ease,
    transform .2s ease;
}

.inner-hero-actions .button-whatsapp:hover,
.inner-hero-actions .button-whatsapp:focus-visible,
.service-detail-hero .button-whatsapp:hover,
.service-detail-hero .button-whatsapp:focus-visible {
  border-color: #0d8d3e;
  background: #0d8d3e;
  color: #fff;
  transform: translateY(-1px);
}

.inner-hero-actions .button-whatsapp:focus-visible,
.service-detail-hero .button-whatsapp:focus-visible {
  outline: 3px solid rgba(18, 166, 74, .25);
  outline-offset: 3px;
}

@media (max-width: 720px) {
  .inner-hero-actions .button-whatsapp,
  .service-detail-hero .button-whatsapp {
    width: 100%;
    white-space: normal;
  }
}

/* Shared CTA button icons */

.inner-hero-actions .button-primary,
.inner-hero-actions .button-whatsapp,
.service-detail-hero .button-primary,
.service-detail-hero .button-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.inner-hero-actions .button-primary::before,
.inner-hero-actions .button-whatsapp::before,
.service-detail-hero .button-primary::before,
.service-detail-hero .button-whatsapp::before {
  content: "";
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
}

.inner-hero-actions .button-primary::before,
.service-detail-hero .button-primary::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20a1 1 0 0 1-1 1C10.06 21 3 13.94 3 5a1 1 0 0 1 1-1h3.5c.55 0 1 .45 1 1 0 1.24.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2Z' fill='white'/%3E%3C/svg%3E");
}

.inner-hero-actions .button-whatsapp::before,
.service-detail-hero .button-whatsapp::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M20 11.89C20 7.03 16.08 3.1 11.24 3.1c-4.85 0-8.78 3.93-8.78 8.79 0 1.55.4 3.05 1.17 4.37L2.5 21l4.83-1.11a8.7 8.7 0 0 0 3.91.93c4.84 0 8.76-3.93 8.76-8.93Z' fill='white'/%3E%3Cpath d='M8.8 7.9c-.2-.44-.42-.45-.62-.46h-.53c-.18 0-.47.07-.72.33-.25.26-.95.93-.95 2.27 0 1.34.98 2.64 1.12 2.82.15.18 1.93 3.11 4.76 4.24 2.35.94 2.84.75 3.35.7.51-.05 1.63-.67 1.86-1.32.23-.65.23-1.21.16-1.32-.07-.12-.26-.19-.54-.33-.27-.14-1.63-.8-1.88-.89-.25-.09-.43-.14-.61.14-.18.28-.7.89-.86 1.07-.15.19-.31.21-.58.07-.27-.14-1.13-.42-2.15-1.34-.79-.71-1.33-1.59-1.49-1.86-.15-.28-.02-.43.12-.57.12-.12.27-.31.4-.47.14-.16.18-.28.27-.47.09-.19.05-.35-.02-.49-.07-.14-.62-1.53-.87-2.08Z' fill='%2317b857'/%3E%3C/svg%3E");
}

/* End shared CTA button icons */

/* Mobile tyre fitting conversion microcopy */
.service-detail-contact-note {
  max-width: 620px;
  margin: 13px 0 0;
  color: #5d5b57;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.55;
}

@media (max-width: 720px) {
  .service-detail-contact-note {
    margin-top: 11px;
    font-size: 12px;
    line-height: 1.5;
  }
}
/* End mobile tyre fitting conversion microcopy */


/* Premium Areas directory */

.areas-hero {
  padding: 78px 0 90px;
  background:
    radial-gradient(circle at 92% 18%, rgba(226,0,26,.09), transparent 34%),
    #f4f3ef;
}

.areas-hero-layout {
  display: grid;
  grid-template-columns: minmax(0,.92fr) minmax(430px,.78fr);
  align-items: center;
  gap: clamp(56px,7vw,110px);
}

.areas-hero h1 {
  max-width: 850px;
  margin: 0;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: clamp(58px,6vw,90px);
  line-height: .94;
  letter-spacing: -.055em;
}

.areas-hero-lead {
  max-width: 680px;
  margin: 28px 0 0;
  color: #585753;
  font-size: 17px;
  line-height: 1.75;
}

.areas-search-box {
  max-width: 650px;
  margin-top: 34px;
}

.areas-search-box label {
  display: block;
  margin-bottom: 10px;
  color: #222;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.areas-search-control {
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  align-items: center;
  min-height: 62px;
  padding: 0 18px;
  border: 1px solid #d4d2cc;
  background: #fff;
}

.areas-search-control > span {
  color: #e0001a;
  font-size: 23px;
  line-height: 1;
}

.areas-search-control input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #171717;
  font: inherit;
  font-size: 14px;
}

.areas-search-box > p {
  margin: 11px 0 0;
  color: #66645f;
  font-size: 11px;
}

.areas-hero-media {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 0 28px 70px rgba(18,18,18,.15);
}

.areas-hero-media img {
  display: block;
  width: 100%;
  height: 560px;
  object-fit: cover;
  object-position: 61% center;
}

.areas-hero-media figcaption {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  display: grid;
  gap: 5px;
  padding: 17px 19px;
  border-radius: 13px;
  background: rgba(13,13,13,.86);
  color: #fff;
}

.areas-hero-media figcaption strong {
  font-size: 14px;
}

.areas-hero-media figcaption span {
  color: rgba(255,255,255,.66);
  font-size: 11px;
}

.areas-priority,
.areas-directory {
  padding: 96px 0;
  background: #fff;
}

.areas-section-heading {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(320px,.58fr);
  align-items: end;
  gap: 70px;
  margin-bottom: 42px;
}

.areas-section-heading h2,
.areas-location h2,
.areas-service-note h2 {
  max-width: 760px;
  margin: 14px 0 0;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: clamp(43px,4.5vw,68px);
  line-height: .98;
  letter-spacing: -.045em;
}

.areas-section-heading > p {
  margin: 0;
  color: #615f5a;
  font-size: 14px;
  line-height: 1.75;
}

.areas-priority-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-top: 1px solid #dedcd6;
  border-left: 1px solid #dedcd6;
}

.areas-priority-card {
  position: relative;
  display: grid;
  min-height: 210px;
  align-content: end;
  gap: 10px;
  padding: 28px;
  border-right: 1px solid #dedcd6;
  border-bottom: 1px solid #dedcd6;
  color: #171717;
  text-decoration: none;
  transition: background-color .2s ease,color .2s ease;
}

.areas-priority-card:hover {
  background: #151515;
  color: #fff;
}

.areas-priority-card strong {
  max-width: 220px;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: 25px;
  line-height: 1;
}

.areas-priority-card > span:last-child {
  color: #696762;
  font-size: 11px;
  line-height: 1.5;
}

.areas-priority-card:hover > span:last-child {
  color: rgba(255,255,255,.65);
}

.areas-priority-arrow {
  position: absolute;
  top: 24px;
  right: 25px;
  color: #e0001a;
  font-size: 16px;
  font-weight: 800;
}

.areas-location {
  padding: 96px 0;
  background: #151515;
  color: #fff;
}

.areas-location-layout {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(420px,.62fr);
  align-items: center;
  gap: 90px;
}

.areas-location-content > p:not(.eyebrow):not(.areas-location-notice) {
  max-width: 680px;
  color: rgba(255,255,255,.68);
  font-size: 15px;
  line-height: 1.8;
}

.areas-location-notice {
  max-width: 680px;
  padding-left: 18px;
  border-left: 3px solid #e0001a;
  color: #fff;
  font-size: 13px;
  line-height: 1.7;
}

.areas-location-link {
  margin-top: 26px;
  color: #fff;
}

.areas-location-details {
  padding: 42px;
  border: 1px solid rgba(255,255,255,.14);
  background: #1d1d1f;
}

.areas-location-badge {
  display: inline-block;
  margin-bottom: 30px;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.25);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.areas-location-details dl {
  display: grid;
  margin: 0;
}

.areas-location-details dl > div {
  display: grid;
  grid-template-columns: 110px minmax(0,1fr);
  gap: 24px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.areas-location-details dl > div:first-child {
  border-top: 1px solid rgba(255,255,255,.12);
}

.areas-location-details dt {
  color: #e0001a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.areas-location-details dd {
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: 13px;
  line-height: 1.7;
}

.areas-location-details a {
  color: #fff;
}

.areas-directory {
  background: #f4f3ef;
}

.areas-directory-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
}

.areas-list-card {
  display: flex;
  min-height: 116px;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  padding: 24px;
  border: 1px solid #dedcd6;
  background: #fff;
  color: #171717;
  text-decoration: none;
  transition: border-color .2s ease,transform .2s ease;
}

.areas-list-card:hover {
  border-color: #e0001a;
  transform: translateY(-2px);
}

.areas-list-card > div {
  display: grid;
  gap: 6px;
}

.areas-list-card strong {
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: 18px;
}

.areas-list-card div span {
  color: #6d6b66;
  font-size: 10px;
  line-height: 1.5;
}

.areas-list-card > span {
  color: #e0001a;
  font-weight: 800;
}

.areas-no-results {
  margin-top: 22px;
  padding: 34px;
  border: 1px solid #dedcd6;
  background: #fff;
}

.areas-no-results strong {
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: 22px;
}

.areas-no-results p {
  margin: 9px 0 0;
  color: #66645f;
  font-size: 13px;
}

.areas-service-note {
  padding: 92px 0;
  background: #151515;
  color: #fff;
}

.areas-service-note-layout {
  display: grid;
  grid-template-columns: minmax(0,.78fr) minmax(520px,1fr);
  align-items: center;
  gap: 90px;
}

.areas-service-note ol {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.areas-service-note li {
  display: grid;
  grid-template-columns: 50px minmax(0,1fr);
  gap: 20px;
  padding: 22px 0;
  border-bottom: 1px solid rgba(255,255,255,.14);
}

.areas-service-note li:first-child {
  border-top: 1px solid rgba(255,255,255,.14);
}

.areas-service-note li > span {
  color: #e0001a;
  font-size: 11px;
  font-weight: 800;
}

.areas-service-note strong {
  display: block;
  margin-bottom: 5px;
  font-size: 15px;
}

.areas-service-note li p {
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: 12px;
}

.areas-priority-card[hidden],
.areas-list-card[hidden] {
  display: none !important;
}

@media (max-width: 1050px) {
  .areas-hero-layout,
  .areas-section-heading,
  .areas-location-layout,
  .areas-service-note-layout {
    grid-template-columns: 1fr;
  }

  .areas-priority-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .areas-directory-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .areas-hero-media img {
    height: 520px;
  }
}

@media (max-width: 720px) {
  .areas-hero,
  .areas-priority,
  .areas-location,
  .areas-directory,
  .areas-service-note {
    padding: 66px 0;
  }

  .areas-hero-layout {
    width: auto !important;
    margin-inline: 15px !important;
    gap: 34px;
  }

  .areas-hero h1 {
    font-size: clamp(43px,13vw,58px);
  }

  .areas-hero-lead {
    font-size: 14px;
  }

  .areas-hero-media {
    border-radius: 18px;
  }

  .areas-hero-media img {
    height: 350px;
  }

  .areas-section-heading,
  .areas-location-layout,
  .areas-service-note-layout {
    gap: 34px;
  }

  .areas-section-heading h2,
  .areas-location h2,
  .areas-service-note h2 {
    font-size: 39px;
  }

  .areas-priority-grid,
  .areas-directory-grid {
    grid-template-columns: 1fr;
  }

  .areas-priority-card {
    min-height: 170px;
  }

  .areas-location-details {
    padding: 28px;
  }

  .areas-location-details dl > div {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}


/* Premium Tooting physical-location page */

.tooting-hero {
  padding: 78px 0 90px;
  background:
    radial-gradient(circle at 91% 16%, rgba(226,0,26,.1), transparent 34%),
    #f4f3ef;
}

.tooting-hero-layout {
  display: grid;
  grid-template-columns: minmax(0,.93fr) minmax(430px,.77fr);
  align-items: center;
  gap: clamp(56px,7vw,110px);
}

.tooting-hero h1 {
  max-width: 820px;
  margin: 0;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: clamp(58px,6vw,90px);
  line-height: .94;
  letter-spacing: -.055em;
}

.tooting-hero-lead {
  max-width: 700px;
  margin: 28px 0 0;
  color: #585753;
  font-size: 17px;
  line-height: 1.75;
}

.tooting-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 28px;
}

.tooting-hero-meta span {
  padding: 9px 12px;
  border: 1px solid #d8d6d0;
  background: rgba(255,255,255,.6);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.tooting-hero-media {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 0 28px 70px rgba(18,18,18,.15);
}

.tooting-hero-media img {
  display: block;
  width: 100%;
  height: 560px;
  object-fit: cover;
}

.tooting-hero-media figcaption {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  display: grid;
  gap: 5px;
  padding: 17px 19px;
  border-radius: 13px;
  background: rgba(13,13,13,.86);
  color: #fff;
}

.tooting-hero-media figcaption strong {
  font-size: 14px;
}

.tooting-hero-media figcaption span {
  color: rgba(255,255,255,.66);
  font-size: 11px;
}

.tooting-location-highlight {
  padding: 96px 0;
  background: #151515;
  color: #fff;
}

.tooting-location-layout {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(420px,.62fr);
  align-items: center;
  gap: 90px;
}

.tooting-location-copy h2,
.tooting-intro h2,
.tooting-section-heading h2,
.tooting-content-split h2,
.tooting-safety h2,
.tooting-faq h2 {
  max-width: 790px;
  margin: 14px 0 0;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: clamp(43px,4.5vw,68px);
  line-height: .98;
  letter-spacing: -.045em;
}

.tooting-location-copy > p:not(.eyebrow) {
  max-width: 690px;
  color: rgba(255,255,255,.68);
  font-size: 15px;
  line-height: 1.8;
}

.tooting-warning {
  display: grid;
  gap: 7px;
  max-width: 700px;
  margin: 28px 0;
  padding: 19px 0 19px 20px;
  border-left: 3px solid #e0001a;
}

.tooting-warning strong {
  font-size: 16px;
}

.tooting-warning span {
  color: rgba(255,255,255,.7);
  font-size: 12px;
  line-height: 1.7;
}

.tooting-location-card {
  padding: 42px;
  border: 1px solid rgba(255,255,255,.14);
  background: #1d1d1f;
}

.tooting-location-badge {
  display: inline-block;
  margin-bottom: 30px;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.25);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.tooting-location-card dl {
  margin: 0;
}

.tooting-location-card dl > div {
  display: grid;
  grid-template-columns: 95px minmax(0,1fr);
  gap: 20px;
  padding: 19px 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.tooting-location-card dl > div:first-child {
  border-top: 1px solid rgba(255,255,255,.12);
}

.tooting-location-card dt {
  color: #e0001a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.tooting-location-card dd {
  margin: 0;
  color: rgba(255,255,255,.75);
  font-size: 13px;
  line-height: 1.7;
}

.tooting-location-card a {
  color: #fff;
}

.tooting-intro,
.tooting-services,
.tooting-nearby,
.tooting-faq {
  padding: 96px 0;
  background: #fff;
}

.tooting-intro-layout,
.tooting-safety-layout {
  display: grid;
  grid-template-columns: minmax(0,.86fr) minmax(360px,.7fr);
  align-items: start;
  gap: 90px;
}

.tooting-intro-copy,
.tooting-safety-layout > div:last-child {
  color: #5c5b57;
  font-size: 15px;
  line-height: 1.8;
}

.tooting-intro-copy p,
.tooting-safety-layout p {
  margin: 0 0 20px;
}

.tooting-section-heading {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(300px,.52fr);
  align-items: end;
  gap: 70px;
  margin-bottom: 42px;
}

.tooting-section-heading > p {
  margin: 0;
  color: #615f5a;
  font-size: 14px;
  line-height: 1.75;
}

.tooting-services-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-top: 1px solid #dedcd6;
  border-left: 1px solid #dedcd6;
}

.tooting-services-grid a {
  display: grid;
  min-height: 310px;
  align-content: end;
  gap: 13px;
  padding: 32px;
  border-right: 1px solid #dedcd6;
  border-bottom: 1px solid #dedcd6;
  color: #171717;
  text-decoration: none;
}

.tooting-services-grid a > span {
  margin-bottom: auto;
  color: #e0001a;
  font-size: 11px;
  font-weight: 800;
}

.tooting-services-grid h3 {
  margin: 0;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: 27px;
  line-height: 1;
}

.tooting-services-grid p {
  margin: 0;
  color: #696762;
  font-size: 12px;
  line-height: 1.65;
}

.tooting-content-split {
  padding: 96px 0;
  background: #f4f3ef;
}

.tooting-content-split-layout {
  display: grid;
  grid-template-columns: minmax(420px,.84fr) minmax(0,1fr);
  align-items: center;
  gap: 86px;
}

.tooting-content-split figure {
  margin: 0;
  overflow: hidden;
  border-radius: 22px;
}

.tooting-content-split img {
  display: block;
  width: 100%;
  height: 690px;
  object-fit: cover;
  object-position: center 22%;
}

.tooting-safety {
  padding: 92px 0;
  background: #151515;
  color: #fff;
}

.tooting-safety-layout > div:last-child {
  color: rgba(255,255,255,.66);
}

.tooting-nearby {
  background: #f4f3ef;
}

.tooting-nearby-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-top: 1px solid #dedcd6;
  border-left: 1px solid #dedcd6;
}

.tooting-nearby-grid a {
  display: grid;
  min-height: 180px;
  align-content: end;
  gap: 9px;
  padding: 27px;
  border-right: 1px solid #dedcd6;
  border-bottom: 1px solid #dedcd6;
  background: #fff;
  color: #171717;
  text-decoration: none;
}

.tooting-nearby-grid strong {
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: 22px;
}

.tooting-nearby-grid span {
  color: #6a6863;
  font-size: 11px;
  line-height: 1.5;
}

.tooting-faq-layout {
  display: grid;
  grid-template-columns: minmax(0,.68fr) minmax(500px,1fr);
  align-items: start;
  gap: 90px;
}

@media (max-width: 1050px) {
  .tooting-hero-layout,
  .tooting-location-layout,
  .tooting-intro-layout,
  .tooting-section-heading,
  .tooting-content-split-layout,
  .tooting-safety-layout,
  .tooting-faq-layout {
    grid-template-columns: 1fr;
  }

  .tooting-services-grid,
  .tooting-nearby-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .tooting-hero-media img {
    height: 520px;
  }

  .tooting-content-split img {
    height: 560px;
  }
}

@media (max-width: 720px) {
  .tooting-hero,
  .tooting-location-highlight,
  .tooting-intro,
  .tooting-services,
  .tooting-content-split,
  .tooting-safety,
  .tooting-nearby,
  .tooting-faq {
    padding: 66px 0;
  }

  .tooting-hero-layout {
    width: auto !important;
    margin-inline: 15px !important;
    gap: 34px;
  }

  .tooting-hero h1 {
    font-size: clamp(43px,13vw,58px);
  }

  .tooting-hero-lead {
    font-size: 14px;
  }

  .tooting-hero-meta {
    display: grid;
  }

  .tooting-hero-media {
    border-radius: 18px;
  }

  .tooting-hero-media img {
    height: 350px;
  }

  .tooting-location-layout,
  .tooting-intro-layout,
  .tooting-section-heading,
  .tooting-content-split-layout,
  .tooting-safety-layout,
  .tooting-faq-layout {
    gap: 34px;
  }

  .tooting-location-copy h2,
  .tooting-intro h2,
  .tooting-section-heading h2,
  .tooting-content-split h2,
  .tooting-safety h2,
  .tooting-faq h2 {
    font-size: 39px;
  }

  .tooting-location-card {
    padding: 28px;
  }

  .tooting-location-card dl > div {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .tooting-services-grid,
  .tooting-nearby-grid {
    grid-template-columns: 1fr;
  }

  .tooting-services-grid a {
    min-height: 250px;
  }

  .tooting-content-split img {
    height: 400px;
  }
}


/* Premium mobile-only area pages */

.mobile-area-hero {
  padding: 78px 0 90px;
  background:
    radial-gradient(circle at 91% 16%, rgba(226,0,26,.09), transparent 34%),
    #f4f3ef;
}

.mobile-area-hero-layout {
  display: grid;
  grid-template-columns: minmax(0,.93fr) minmax(430px,.77fr);
  align-items: center;
  gap: clamp(56px,7vw,110px);
}

.mobile-area-hero h1 {
  max-width: 820px;
  margin: 0;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: clamp(58px,6vw,90px);
  line-height: .94;
  letter-spacing: -.055em;
}

.mobile-area-hero-lead {
  max-width: 690px;
  margin: 28px 0 0;
  color: #585753;
  font-size: 17px;
  line-height: 1.75;
}

.mobile-area-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 28px;
}

.mobile-area-meta span {
  padding: 9px 12px;
  border: 1px solid #d8d6d0;
  background: rgba(255,255,255,.6);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.mobile-area-hero-media {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 0 28px 70px rgba(18,18,18,.15);
}

.mobile-area-hero-media img {
  display: block;
  width: 100%;
  height: 560px;
  object-fit: cover;
}

.mobile-area-hero-media figcaption {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  display: grid;
  gap: 5px;
  padding: 17px 19px;
  border-radius: 13px;
  background: rgba(13,13,13,.86);
  color: #fff;
}

.mobile-area-hero-media figcaption strong {
  font-size: 14px;
}

.mobile-area-hero-media figcaption span {
  color: rgba(255,255,255,.66);
  font-size: 11px;
}

.mobile-area-notice,
.mobile-area-quote,
.mobile-area-safety {
  padding: 92px 0;
  background: #151515;
  color: #fff;
}

.mobile-area-notice-layout,
.mobile-area-intro-layout,
.mobile-area-safety-layout {
  display: grid;
  grid-template-columns: minmax(0,.86fr) minmax(360px,.7fr);
  align-items: start;
  gap: 90px;
}

.mobile-area-notice h2,
.mobile-area-intro h2,
.mobile-area-section-heading h2,
.mobile-area-access h2,
.mobile-area-quote h2,
.mobile-area-safety h2,
.mobile-area-faq h2 {
  max-width: 790px;
  margin: 14px 0 0;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: clamp(43px,4.5vw,68px);
  line-height: .98;
  letter-spacing: -.045em;
}

.mobile-area-notice-copy,
.mobile-area-safety-layout > div:last-child {
  color: rgba(255,255,255,.67);
  font-size: 15px;
  line-height: 1.8;
}

.mobile-area-notice-copy p,
.mobile-area-safety-layout p {
  margin: 0 0 20px;
}

.mobile-area-intro,
.mobile-area-services,
.mobile-area-nearby,
.mobile-area-faq {
  padding: 96px 0;
  background: #fff;
}

.mobile-area-intro-layout > div:last-child {
  color: #5c5b57;
  font-size: 15px;
  line-height: 1.8;
}

.mobile-area-intro-layout p {
  margin: 0 0 20px;
}

.mobile-area-section-heading {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(300px,.52fr);
  align-items: end;
  gap: 70px;
  margin-bottom: 42px;
}

.mobile-area-section-heading > p {
  margin: 0;
  color: #615f5a;
  font-size: 14px;
  line-height: 1.75;
}

.mobile-area-services-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-top: 1px solid #dedcd6;
  border-left: 1px solid #dedcd6;
}

.mobile-area-services-grid a {
  display: grid;
  min-height: 310px;
  align-content: end;
  gap: 13px;
  padding: 32px;
  border-right: 1px solid #dedcd6;
  border-bottom: 1px solid #dedcd6;
  color: #171717;
  text-decoration: none;
}

.mobile-area-services-grid a > span {
  margin-bottom: auto;
  color: #e0001a;
  font-size: 11px;
  font-weight: 800;
}

.mobile-area-services-grid h3 {
  margin: 0;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: 27px;
  line-height: 1;
}

.mobile-area-services-grid p {
  margin: 0;
  color: #696762;
  font-size: 12px;
  line-height: 1.65;
}

.mobile-area-access {
  padding: 96px 0;
  background: #f4f3ef;
}

.mobile-area-access-layout {
  display: grid;
  grid-template-columns: minmax(420px,.84fr) minmax(0,1fr);
  align-items: center;
  gap: 86px;
}

.mobile-area-access figure {
  margin: 0;
  overflow: hidden;
  border-radius: 22px;
}

.mobile-area-access img {
  display: block;
  width: 100%;
  height: 690px;
  object-fit: cover;
  object-position: center 22%;
}

.mobile-area-quote-layout {
  display: grid;
  grid-template-columns: minmax(0,.78fr) minmax(520px,1fr);
  align-items: center;
  gap: 90px;
}

.mobile-area-quote ol {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mobile-area-quote li {
  display: grid;
  grid-template-columns: 50px minmax(0,1fr);
  gap: 20px;
  padding: 22px 0;
  border-bottom: 1px solid rgba(255,255,255,.14);
}

.mobile-area-quote li:first-child {
  border-top: 1px solid rgba(255,255,255,.14);
}

.mobile-area-quote li > span {
  color: #e0001a;
  font-size: 11px;
  font-weight: 800;
}

.mobile-area-quote strong {
  display: block;
  margin-bottom: 5px;
  font-size: 15px;
}

.mobile-area-quote li p {
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: 12px;
}

.mobile-area-nearby {
  background: #f4f3ef;
}

.mobile-area-nearby-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-top: 1px solid #dedcd6;
  border-left: 1px solid #dedcd6;
}

.mobile-area-nearby-grid a {
  display: grid;
  min-height: 180px;
  align-content: end;
  gap: 9px;
  padding: 27px;
  border-right: 1px solid #dedcd6;
  border-bottom: 1px solid #dedcd6;
  background: #fff;
  color: #171717;
  text-decoration: none;
}

.mobile-area-nearby-grid strong {
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: 22px;
}

.mobile-area-nearby-grid span {
  color: #6a6863;
  font-size: 11px;
  line-height: 1.5;
}

.mobile-area-faq-layout {
  display: grid;
  grid-template-columns: minmax(0,.68fr) minmax(500px,1fr);
  align-items: start;
  gap: 90px;
}

@media (max-width: 1050px) {
  .mobile-area-hero-layout,
  .mobile-area-notice-layout,
  .mobile-area-intro-layout,
  .mobile-area-section-heading,
  .mobile-area-access-layout,
  .mobile-area-quote-layout,
  .mobile-area-safety-layout,
  .mobile-area-faq-layout {
    grid-template-columns: 1fr;
  }

  .mobile-area-services-grid,
  .mobile-area-nearby-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .mobile-area-hero-media img {
    height: 520px;
  }

  .mobile-area-access img {
    height: 560px;
  }
}

@media (max-width: 720px) {
  .mobile-area-hero,
  .mobile-area-notice,
  .mobile-area-intro,
  .mobile-area-services,
  .mobile-area-access,
  .mobile-area-quote,
  .mobile-area-safety,
  .mobile-area-nearby,
  .mobile-area-faq {
    padding: 66px 0;
  }

  .mobile-area-hero-layout {
    width: auto !important;
    margin-inline: 15px !important;
    gap: 34px;
  }

  .mobile-area-hero h1 {
    font-size: clamp(43px,13vw,58px);
  }

  .mobile-area-hero-lead {
    font-size: 14px;
  }

  .mobile-area-meta {
    display: grid;
  }

  .mobile-area-hero-media {
    border-radius: 18px;
  }

  .mobile-area-hero-media img {
    height: 350px;
  }

  .mobile-area-notice-layout,
  .mobile-area-intro-layout,
  .mobile-area-section-heading,
  .mobile-area-access-layout,
  .mobile-area-quote-layout,
  .mobile-area-safety-layout,
  .mobile-area-faq-layout {
    gap: 34px;
  }

  .mobile-area-notice h2,
  .mobile-area-intro h2,
  .mobile-area-section-heading h2,
  .mobile-area-access h2,
  .mobile-area-quote h2,
  .mobile-area-safety h2,
  .mobile-area-faq h2 {
    font-size: 39px;
  }

  .mobile-area-services-grid,
  .mobile-area-nearby-grid {
    grid-template-columns: 1fr;
  }

  .mobile-area-services-grid a {
    min-height: 250px;
  }

  .mobile-area-access img {
    height: 400px;
  }
}


/* Premium About page */

.about-premium-hero {
  padding: 78px 0 92px;
  background:
    radial-gradient(circle at 88% 13%, rgba(226,0,26,.1), transparent 34%),
    #f4f3ef;
}

.about-premium-hero-layout {
  display: grid;
  grid-template-columns: minmax(0,.95fr) minmax(420px,.68fr);
  align-items: center;
  gap: clamp(58px,7vw,112px);
}

.about-premium-hero h1 {
  max-width: 900px;
  margin: 0;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: clamp(58px,6.1vw,92px);
  line-height: .93;
  letter-spacing: -.057em;
}

.about-premium-lead {
  max-width: 690px;
  margin: 29px 0 0;
  color: #585753;
  font-size: 17px;
  line-height: 1.75;
}

.about-premium-hero-media {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 0 28px 70px rgba(18,18,18,.16);
}

.about-premium-hero-media img {
  display: block;
  width: 100%;
  height: 590px;
  object-fit: cover;
  object-position: center 18%;
}

.about-premium-hero-media figcaption {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  display: grid;
  gap: 5px;
  padding: 17px 19px;
  border-radius: 13px;
  background: rgba(13,13,13,.86);
  color: #fff;
}

.about-premium-hero-media figcaption strong {
  font-size: 14px;
}

.about-premium-hero-media figcaption span {
  color: rgba(255,255,255,.66);
  font-size: 11px;
}

.about-premium-intro,
.about-premium-services,
.about-premium-location,
.about-premium-principles {
  padding: 96px 0;
  background: #fff;
}

.about-premium-intro-layout,
.about-premium-location-layout {
  display: grid;
  grid-template-columns: minmax(0,.82fr) minmax(360px,.72fr);
  align-items: start;
  gap: 90px;
}

.about-premium-intro h2,
.about-premium-section-heading h2,
.about-premium-process h2,
.about-premium-coverage h2,
.about-premium-location h2 {
  max-width: 820px;
  margin: 14px 0 0;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: clamp(43px,4.6vw,69px);
  line-height: .98;
  letter-spacing: -.046em;
}

.about-premium-intro-layout > div:last-child,
.about-premium-location-layout > div:first-child > p {
  color: #5e5c57;
  font-size: 15px;
  line-height: 1.8;
}

.about-premium-intro p,
.about-premium-location p {
  margin: 0 0 20px;
}

.about-premium-section-heading {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(260px,.4fr);
  align-items: end;
  gap: 70px;
  margin-bottom: 43px;
}

.about-premium-service-grid,
.about-premium-principle-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-top: 1px solid #dedcd6;
  border-left: 1px solid #dedcd6;
}

.about-premium-service-grid a,
.about-premium-principle-grid article {
  display: grid;
  min-height: 305px;
  align-content: end;
  gap: 13px;
  padding: 31px;
  border-right: 1px solid #dedcd6;
  border-bottom: 1px solid #dedcd6;
  color: #171717;
  text-decoration: none;
}

.about-premium-service-grid a > span,
.about-premium-principle-grid article > span {
  margin-bottom: auto;
  color: #e0001a;
  font-size: 11px;
  font-weight: 800;
}

.about-premium-service-grid h3,
.about-premium-principle-grid h3 {
  margin: 0;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: 26px;
  line-height: 1;
}

.about-premium-service-grid p,
.about-premium-principle-grid p {
  margin: 0;
  color: #696762;
  font-size: 12px;
  line-height: 1.65;
}

.about-premium-process {
  padding: 96px 0;
  background: #f4f3ef;
}

.about-premium-process-layout {
  display: grid;
  grid-template-columns: minmax(420px,.82fr) minmax(0,1fr);
  align-items: center;
  gap: 88px;
}

.about-premium-process figure {
  margin: 0;
  overflow: hidden;
  border-radius: 22px;
}

.about-premium-process img {
  display: block;
  width: 100%;
  height: 670px;
  object-fit: cover;
}

.about-premium-process ol {
  margin: 38px 0 0;
  padding: 0;
  list-style: none;
}

.about-premium-process li {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  gap: 18px;
  padding: 20px 0;
  border-bottom: 1px solid #d9d7d1;
}

.about-premium-process li > span {
  color: #e0001a;
  font-size: 11px;
  font-weight: 800;
}

.about-premium-process strong {
  display: block;
  margin-bottom: 5px;
  font-size: 15px;
}

.about-premium-process li p {
  margin: 0;
  color: #676560;
  font-size: 12px;
}

.about-premium-coverage {
  padding: 96px 0;
  background: #151515;
  color: #fff;
}

.about-premium-coverage-layout {
  display: grid;
  grid-template-columns: minmax(0,.82fr) minmax(360px,.58fr);
  align-items: center;
  gap: 90px;
}

.about-premium-coverage-layout > div:last-child {
  color: rgba(255,255,255,.67);
  font-size: 14px;
  line-height: 1.8;
}

.about-premium-coverage-layout p {
  margin: 0 0 25px;
}

.about-premium-location {
  background: #f4f3ef;
}

.about-premium-location aside {
  display: grid;
  gap: 11px;
  padding: 34px;
  border-radius: 20px;
  background: #151515;
  color: #fff;
}

.about-premium-location aside > span {
  color: #e0001a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.about-premium-location aside strong {
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: 31px;
}

.about-premium-location aside p {
  margin: 0;
  color: rgba(255,255,255,.65);
}

.about-premium-location aside a {
  margin-top: 13px;
  color: #fff;
  font-weight: 800;
}

@media (max-width: 1050px) {
  .about-premium-hero-layout,
  .about-premium-intro-layout,
  .about-premium-section-heading,
  .about-premium-process-layout,
  .about-premium-coverage-layout,
  .about-premium-location-layout {
    grid-template-columns: 1fr;
  }

  .about-premium-service-grid,
  .about-premium-principle-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .about-premium-hero-media img {
    height: 520px;
  }

  .about-premium-process img {
    height: 560px;
  }
}

@media (max-width: 720px) {
  .about-premium-hero,
  .about-premium-intro,
  .about-premium-services,
  .about-premium-process,
  .about-premium-coverage,
  .about-premium-location,
  .about-premium-principles {
    padding: 66px 0;
  }

  .about-premium-hero-layout {
    width: auto !important;
    margin-inline: 15px !important;
    gap: 34px;
  }

  .about-premium-hero h1 {
    font-size: clamp(43px,13vw,58px);
  }

  .about-premium-lead {
    font-size: 14px;
  }

  .about-premium-hero-media {
    border-radius: 18px;
  }

  .about-premium-hero-media img {
    height: 360px;
  }

  .about-premium-intro-layout,
  .about-premium-section-heading,
  .about-premium-process-layout,
  .about-premium-coverage-layout,
  .about-premium-location-layout {
    gap: 34px;
  }

  .about-premium-intro h2,
  .about-premium-section-heading h2,
  .about-premium-process h2,
  .about-premium-coverage h2,
  .about-premium-location h2 {
    font-size: 39px;
  }

  .about-premium-service-grid,
  .about-premium-principle-grid {
    grid-template-columns: 1fr;
  }

  .about-premium-service-grid a,
  .about-premium-principle-grid article {
    min-height: 245px;
  }

  .about-premium-process img {
    height: 400px;
  }
}


/* About location overlap fix */

.about-premium-location-layout {
  align-items: center;
}

.about-premium-location-layout > div:first-child {
  min-width: 0;
}

.about-premium-location h2 {
  max-width: 760px;
  margin-bottom: 28px;
  font-size: clamp(42px, 4.15vw, 62px);
  line-height: .98;
}

.about-premium-location-layout > div:first-child > p {
  position: relative;
  z-index: 1;
  max-width: 720px;
}

.about-premium-location .text-link {
  display: inline-flex;
  margin-top: 12px;
}

@media (max-width: 1050px) {
  .about-premium-location-layout {
    align-items: start;
  }

  .about-premium-location h2 {
    max-width: 820px;
  }
}

@media (max-width: 720px) {
  .about-premium-location h2 {
    margin-bottom: 22px;
    font-size: 39px;
    line-height: 1;
  }
}


/* Premium Contact page */

.contact-premium-hero {
  padding: 78px 0 92px;
  background:
    radial-gradient(circle at 90% 13%, rgba(226,0,26,.1), transparent 34%),
    #f4f3ef;
}

.contact-premium-hero-layout {
  display: grid;
  grid-template-columns: minmax(0,.95fr) minmax(380px,.56fr);
  align-items: center;
  gap: clamp(58px,7vw,112px);
}

.contact-premium-hero h1 {
  max-width: 860px;
  margin: 0;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: clamp(60px,6.2vw,94px);
  line-height: .93;
  letter-spacing: -.057em;
}

.contact-premium-lead {
  max-width: 690px;
  margin: 29px 0 0;
  color: #585753;
  font-size: 17px;
  line-height: 1.75;
}

.contact-premium-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 27px;
}

.contact-premium-meta span {
  padding: 9px 12px;
  border: 1px solid #d8d6d0;
  background: rgba(255,255,255,.62);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.contact-premium-direct {
  display: grid;
  padding: 38px;
  border-radius: 22px;
  background: #151515;
  color: #fff;
  box-shadow: 0 28px 70px rgba(18,18,18,.15);
}

.contact-premium-direct > div {
  display: grid;
  gap: 8px;
  padding: 23px 0;
  border-bottom: 1px solid rgba(255,255,255,.13);
}

.contact-premium-direct > div span {
  color: #e0001a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.contact-premium-direct > div a {
  overflow-wrap: anywhere;
  color: #fff;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: clamp(21px,2vw,29px);
  text-decoration: none;
}

.contact-premium-direct small {
  margin-top: 24px;
  color: rgba(255,255,255,.6);
  line-height: 1.7;
}

.contact-premium-checklist,
.contact-premium-methods,
.contact-premium-coverage,
.contact-premium-faq {
  padding: 96px 0;
  background: #fff;
}

.contact-premium-checklist-layout {
  display: grid;
  grid-template-columns: minmax(0,.75fr) minmax(520px,1fr);
  align-items: center;
  gap: 90px;
}

.contact-premium-checklist h2,
.contact-premium-section-heading h2,
.contact-premium-location h2,
.contact-premium-coverage h2,
.contact-premium-safety h2,
.contact-premium-faq h2 {
  max-width: 820px;
  margin: 14px 0 0;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: clamp(43px,4.6vw,69px);
  line-height: .98;
  letter-spacing: -.046em;
}

.contact-premium-checklist-layout > div:first-child > p {
  max-width: 600px;
  margin: 25px 0 0;
  color: #64625d;
  font-size: 14px;
  line-height: 1.8;
}

.contact-premium-checklist ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.contact-premium-checklist li {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  gap: 18px;
  padding: 21px 0;
  border-bottom: 1px solid #dcdad4;
}

.contact-premium-checklist li:first-child {
  border-top: 1px solid #dcdad4;
}

.contact-premium-checklist li > span {
  color: #e0001a;
  font-size: 11px;
  font-weight: 800;
}

.contact-premium-checklist strong {
  display: block;
  margin-bottom: 5px;
  font-size: 15px;
}

.contact-premium-checklist li p {
  margin: 0;
  color: #686661;
  font-size: 12px;
}

.contact-premium-methods {
  background: #f4f3ef;
}

.contact-premium-section-heading {
  margin-bottom: 43px;
}

.contact-premium-method-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border-top: 1px solid #dcdad4;
  border-left: 1px solid #dcdad4;
}

.contact-premium-method-grid a {
  display: grid;
  min-height: 350px;
  align-content: end;
  gap: 14px;
  padding: 34px;
  border-right: 1px solid #dcdad4;
  border-bottom: 1px solid #dcdad4;
  background: #fff;
  color: #171717;
  text-decoration: none;
}

.contact-premium-method-grid a > span {
  margin-bottom: auto;
  color: #e0001a;
  font-size: 11px;
  font-weight: 800;
}

.contact-premium-method-grid h3 {
  margin: 0;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: 30px;
  line-height: 1;
}

.contact-premium-method-grid p {
  margin: 0;
  color: #696762;
  font-size: 12px;
  line-height: 1.65;
}

.contact-premium-method-grid strong {
  overflow-wrap: anywhere;
  font-size: 13px;
}

.contact-premium-location,
.contact-premium-safety {
  padding: 96px 0;
  background: #151515;
  color: #fff;
}

.contact-premium-location-layout {
  display: grid;
  grid-template-columns: minmax(0,.76fr) minmax(420px,.65fr);
  align-items: center;
  gap: 90px;
}

.contact-premium-location address {
  margin: 29px 0 22px;
  font-family: "Archivo Black","Archivo",sans-serif;
  font-size: clamp(27px,3vw,42px);
  line-height: 1.08;
  font-style: normal;
}

.contact-premium-location-layout > div:first-child > p {
  max-width: 670px;
  color: rgba(255,255,255,.67);
  font-size: 14px;
  line-height: 1.8;
}

.contact-premium-location-card {
  padding: 34px;
  border-radius: 20px;
  background: #202023;
}

.contact-premium-location-card > span {
  color: #e0001a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.contact-premium-location-card dl {
  margin: 21px 0 0;
}

.contact-premium-location-card dl > div {
  display: grid;
  grid-template-columns: 95px minmax(0,1fr);
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.contact-premium-location-card dt {
  color: #e0001a;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.contact-premium-location-card dd {
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: 13px;
  line-height: 1.6;
}

.contact-premium-location-card a {
  color: #fff;
}

.contact-premium-coverage-layout,
.contact-premium-safety-layout,
.contact-premium-faq-layout {
  display: grid;
  grid-template-columns: minmax(0,.78fr) minmax(380px,.68fr);
  align-items: start;
  gap: 90px;
}

.contact-premium-coverage-layout > div:last-child {
  color: #62605b;
  font-size: 14px;
  line-height: 1.8;
}

.contact-premium-coverage-layout p {
  margin: 0 0 24px;
}

.contact-premium-safety-layout > div:last-child {
  color: rgba(255,255,255,.67);
  font-size: 14px;
  line-height: 1.8;
}

.contact-premium-safety-layout p {
  margin: 0 0 20px;
}

@media (max-width: 1050px) {
  .contact-premium-hero-layout,
  .contact-premium-checklist-layout,
  .contact-premium-location-layout,
  .contact-premium-coverage-layout,
  .contact-premium-safety-layout,
  .contact-premium-faq-layout {
    grid-template-columns: 1fr;
  }

  .contact-premium-method-grid {
    grid-template-columns: 1fr;
  }

  .contact-premium-method-grid a {
    min-height: 260px;
  }
}

@media (max-width: 720px) {
  .contact-premium-hero,
  .contact-premium-checklist,
  .contact-premium-methods,
  .contact-premium-location,
  .contact-premium-coverage,
  .contact-premium-safety,
  .contact-premium-faq {
    padding: 66px 0;
  }

  .contact-premium-hero-layout {
    width: auto !important;
    margin-inline: 15px !important;
    gap: 34px;
  }

  .contact-premium-hero h1 {
    font-size: clamp(43px,13vw,58px);
  }

  .contact-premium-lead {
    font-size: 14px;
  }

  .contact-premium-meta {
    display: grid;
  }

  .contact-premium-direct {
    padding: 28px;
  }

  .contact-premium-checklist-layout,
  .contact-premium-location-layout,
  .contact-premium-coverage-layout,
  .contact-premium-safety-layout,
  .contact-premium-faq-layout {
    gap: 34px;
  }

  .contact-premium-checklist h2,
  .contact-premium-section-heading h2,
  .contact-premium-location h2,
  .contact-premium-coverage h2,
  .contact-premium-safety h2,
  .contact-premium-faq h2 {
    font-size: 39px;
  }

  .contact-premium-method-grid a {
    min-height: 240px;
  }

  .contact-premium-location-card dl > div {
    grid-template-columns: 1fr;
    gap: 7px;
  }
}
