/*
Theme Name: Parkside Appliance Service
Theme URI: https://example.com/parkside-appliance-service
Author: Parkside Appliance Service
Description: Custom WordPress theme for Parkside Appliance Service with generated service, brand, and location pages.
Version: 1.0.0
Text Domain: parkside-appliance-service
*/

:root{
  --accent:#E21C21;
  --accent-dark:#B81014;
  --accent-soft:#FFF0F0;
  --ink:#171717;
  --muted:#6C6C6C;
  --line:#E9E6E3;
  --surface:#FFFFFF;
  --surface-soft:#F7F6F3;
  --footer:#171717;
  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:28px;
  --shadow-sm:0 8px 28px rgba(20,20,20,.07);
  --shadow-md:0 20px 60px rgba(20,20,20,.10);
  --container:1440px;
  --header-h:86px;
  --font-body:"Scada",sans-serif;
  --font-heading:"Scada",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.container{width:min(100%,var(--container));margin-inline:auto;padding-inline:20px}
.skip-link{position:fixed;left:16px;top:-100px;z-index:9999;background:#fff;color:#111;padding:10px 14px;border-radius:10px;box-shadow:var(--shadow-sm)}
.skip-link:focus{top:16px}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid transparent;border-radius:999px;font-weight:700;transition:.25s ease}
.btn-sm{min-height:42px;padding:0 18px;font-size:16px}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 10px 30px rgba(226,28,33,.18)}
.btn-primary:hover{background:var(--accent-dark);transform:translateY(-1px)}
.btn-light{background:#fff;color:var(--ink);border-color:var(--line)}
.btn-light:hover{background:var(--surface-soft)}

.locationTrust .locationTrust__mediaTop{display: none;}


.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.88);border-bottom:1px solid rgba(233,230,227,.85);backdrop-filter:blur(18px);transition:.25s ease}
.site-header.is-scrolled{box-shadow:0 10px 35px rgba(25,25,25,.07);background:rgba(255,255,255,.96)}
.header-shell{min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;gap:12px;min-width:max-content}
.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,var(--accent),#ff5b5f);color:#fff;font-family:var(--font-heading);font-weight:800;font-size:20px;box-shadow:0 10px 24px rgba(226,28,33,.18)}
.brand-copy{display:grid;line-height:1.15}
.brand-copy strong{font-family:var(--font-heading);font-size:16px;letter-spacing:-.02em}
.brand-copy small{margin-top:5px;color:var(--muted);font-size:16px}
.desktop-nav{display:flex;align-items:center;gap:26px;margin-left:auto}
.desktop-nav>a,.nav-dropdown-toggle{position:relative;background:none;border:0;padding:30px 0;color:#353535;font-size:16px;font-weight:600}
.desktop-nav>a:after,.nav-dropdown-toggle:after{content:"";position:absolute;left:0;right:100%;bottom:21px;height:2px;background:var(--accent);transition:.25s ease}
.desktop-nav>a:hover:after,.nav-dropdown-toggle:hover:after{right:0}
.nav-dropdown{position:relative}
.nav-dropdown-toggle{display:flex;align-items:center;gap:6px}
.nav-dropdown-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;transition:.2s ease}
.nav-dropdown:hover .nav-dropdown-toggle svg,.nav-dropdown.is-open .nav-dropdown-toggle svg{transform:rotate(180deg)}
.nav-dropdown-menu{position:absolute;top:calc(100% - 8px);left:-20px;min-width:290px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown.is-open .nav-dropdown-menu{opacity:1;visibility:visible;transform:none}
.nav-dropdown-menu a{display:block;padding:10px 12px;border-radius:10px;font-size:16px;color:#444}
.nav-dropdown-menu a:hover{background:var(--accent-soft);color:var(--accent)}
.nav-dropdown-menu--brands{min-width:230px}
.header-actions{display:flex;align-items:center;gap:14px}
.header-phone{display:grid;line-height:1.05}
.header-phone span{font-size:16px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}
.header-phone strong{margin-top:5px;font-size:16px}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:0 11px}
.menu-toggle span{display:block;height:2px;background:#222;margin:5px 0;transition:.2s ease}
.menu-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.is-active span:nth-child(2){opacity:0}
.menu-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-menu{display:none;position:fixed;inset:var(--header-h) 0 0;background:rgba(255,255,255,.98);
  height: calc(100vh - 72px);z-index: 55;overflow:auto;border-top:1px solid var(--line)}
.mobile-menu.is-open{display:block}
.mobile-menu-inner{padding:16px 20px 30px;    overflow: auto;
    height: 100%;}
.mobile-menu nav>a,.mobile-submenu-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 0;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;font-weight:700;font-size:16px}
.mobile-submenu{display:none;padding:8px 0 10px 16px;border-bottom:1px solid var(--line)}
.mobile-submenu.is-open{display:grid}
.mobile-submenu a{padding:9px 0;color:#555;font-size:16px}
.mobile-menu-footer{display:grid;gap:12px;padding-top:24px}
.mobile-menu-footer>a:first-child{font-size:20px;font-weight:800}

#main-content{min-height:0}

.site-footer{position:relative;overflow:hidden;background:var(--footer);color:#fff;padding:82px 0 0}
.footer-glow{position:absolute;width:520px;height:520px;right:-180px;top:-220px;border-radius:50%;background:radial-gradient(circle,rgba(226,28,33,.22) 0,rgba(226,28,33,0) 68%);pointer-events:none}
.footer-top{position:relative;display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:48px;padding-bottom:60px}
.brand--footer .brand-copy small{color:#a7a7a7}
.footer-brand p{max-width:390px;margin:22px 0;color:#b8b8b8;font-size:16px}
.footer-phone{display:block;width:max-content;font-size:24px;font-family:var(--font-heading);font-weight:800;letter-spacing:-.03em}
.footer-column{display:flex;flex-direction:column;align-items:flex-start}
.footer-column h3{margin:3px 0 18px;font-family:var(--font-heading);font-size:16px;text-transform:uppercase;letter-spacing:.08em;color:#fff}
.footer-column>a{margin:5px 0;color:#b8b8b8;font-size:16px;transition:.2s ease}
.footer-column>a:hover{color:#fff;transform:translateX(3px)}
.footer-contact p{margin:3px 0 16px;color:#b8b8b8;font-size:16px}
.hours{display:grid;grid-template-columns:auto auto;gap:7px 14px;color:#aaa;font-size:16px}
.hours strong{color:#ddd;font-weight:600}
.footer-badge{display:inline-flex;margin-top:20px;padding:8px 11px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.04);color:#fff;font-size:16px;font-weight:700}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;border-top:1px solid rgba(255,255,255,.10);color:#8f8f8f;font-size:16px}
.footer-bottom p{margin:0}
.footer-legal{display:flex;gap:22px}
.footer-legal a:hover{color:#fff}

.back-to-top{position:fixed;right:22px;bottom:22px;z-index:900;width:46px;height:46px;border:0;border-radius:50%;display:grid;place-items:center;background:#fff;color:#111;box-shadow:var(--shadow-sm);opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s ease}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}
.back-to-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}

.cookie-banner{position:fixed;z-index:2000;left:20px;right:20px;bottom:20px;max-width:760px;margin:auto;display:none;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;background:rgba(22,22,22,.96);color:#fff;border:1px solid rgba(255,255,255,.10);border-radius:20px;box-shadow:0 22px 70px rgba(0,0,0,.24);backdrop-filter:blur(18px)}
.cookie-banner.is-visible{display:flex}
.cookie-copy strong{font-family:var(--font-heading);font-size:15px}
.cookie-copy p{margin:4px 0 0;color:#b9b9b9;font-size:16px;line-height:1.5}
.cookie-actions{display:flex;gap:8px;flex:0 0 auto}















/* =========================
01 — HERO
========================= */
.homeHero{
  position:relative;
  overflow:hidden;
  padding:48px 0 72px;
  background:
    radial-gradient(circle at 7% 20%,rgba(226,28,33,.075),transparent 25%),
    radial-gradient(circle at 85% 20%,rgba(218,195,173,.16),transparent 28%),
    linear-gradient(180deg,#fff 0%,#fbfaf8 100%);
}
.homeHero:before{
  content:"";
  position:absolute;
  left:-140px;
  bottom:-270px;
  width:520px;
  height:520px;
  border:1px solid rgba(226,28,33,.08);
  border-radius:50%;
  pointer-events:none;
}
.homeHero__shell{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.91fr) minmax(520px,1.09fr);
  align-items:center;
  gap:66px;
}
.homeHero__content{
  position:relative;
  z-index:2;
  padding:28px 0 22px;
}
.homeHero__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:24px;
  padding:10px 15px;
  border:1px solid rgba(226,28,33,.13);
  border-radius:999px;
  background:rgba(255,255,255,.85);
  color:#56504d;
  font-size:16px;
  font-weight:700;
  line-height:1.4;
  box-shadow:0 8px 24px rgba(30,20,20,.035);
}
.homeHero__eyebrowDot{
  width:8px;
  height:8px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 5px rgba(226,28,33,.08);
}
.homeHero h1{
  max-width:700px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(42px,4vw,64px);
  font-weight:800;
  line-height:1.04;
  letter-spacing:-.05em;
  color:#181716;
}
.homeHero h1 span{
  display:block;
  color:var(--accent);
}
.homeHero__lead{
  max-width:620px;
  margin:26px 0 0;
  color:#68635f;
  font-size:18px;
  line-height:1.72;
}
.homeHero__actions{
  display:flex;
  align-items:center;
  gap:28px;
  margin-top:32px;
}
.homeHero__primaryCta{
  min-height:56px;
  padding:0 25px;
  gap:10px;
  font-size:16px;
}
.homeHero__primaryCta svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .25s ease;
}
.homeHero__primaryCta:hover svg{
  transform:translateX(3px);
}
.homeHero__call{
  display:flex;
  align-items:center;
  gap:12px;
}
.homeHero__callIcon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid #e5e0dc;
  border-radius:50%;
  background:#fff;
}
.homeHero__callIcon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:var(--accent);
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.homeHero__call>span:last-child{
  display:grid;
  line-height:1.2;
}
.homeHero__call small{
  margin-bottom:4px;
  color:#8b8580;
  font-size:16px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.homeHero__call strong{
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}
.homeHero__trust{
  display:flex;
  align-items:center;
  gap:20px;
  margin-top:44px;
  padding-top:25px;
  border-top:1px solid #e8e4df;
}
.homeHero__trustItem{
  display:grid;
  gap:4px;
}
.homeHero__trustItem strong{
  font-family:var(--font-heading);
  font-size:17px;
  line-height:1.2;
}
.homeHero__trustItem span{
  color:#817b77;
  font-size:16px;
  line-height:1.45;
}
.homeHero__trustDivider{
  width:1px;
  height:38px;
  background:#e1ddd8;
}
.homeHero__visual{
  min-width:0;
}
.homeHero__photoWrap{
  position:relative;
  min-height:610px;
  overflow:hidden;
  border-radius:34px 34px 110px 34px;
  background:#ebe8e4;
  box-shadow:0 30px 80px rgba(42,31,24,.13);
}
.homeHero__photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.homeHero__photoWrap:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(18,16,15,0) 54%,rgba(18,16,15,.18) 100%);
  pointer-events:none;
}
.homeHero__serviceCard{
  position:absolute;
  z-index:3;
  left:24px;
  bottom:25px;
  display:flex;
  align-items:center;
  gap:13px;
  max-width:310px;
  padding:15px 18px 15px 14px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:18px;
  background:rgba(255,255,255,.93);
  box-shadow:0 15px 45px rgba(20,20,20,.13);
  backdrop-filter:blur(14px);
}
.homeHero__serviceIcon{
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:13px;
  background:var(--accent-soft);
  color:var(--accent);
}
.homeHero__serviceIcon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.homeHero__serviceCard div{
  display:grid;
  line-height:1.3;
}
.homeHero__serviceCard small{
  margin-bottom:3px;
  color:#7f7975;
  font-size:16px;
}
.homeHero__serviceCard strong{
  font-family:var(--font-heading);
  font-size:15px;
}
.homeHero__since{
  position:absolute;
  z-index:4;
  right:20px;
  top:20px;
  width:100px;
  height:100px;
  display:grid;
  place-content:center;
  text-align:center;
  border-radius:50%;
  background:var(--accent);
  color:#fff;
  box-shadow:0 16px 38px rgba(226,28,33,.25);
}
.homeHero__since span{
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.homeHero__since strong{
  margin-top:-1px;
  font-family:var(--font-heading);
  font-size:16px;
  line-height:1.1;
}
.homeHero__appliances{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin-top:16px;
  padding-right:24px;
  color:#716b67;
  font-size:16px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.homeHero__appliances i{
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--accent);
}

@media (max-width:1180px){
  .homeHero__shell{
    grid-template-columns:minmax(0,.94fr) minmax(470px,1.06fr);
    gap:42px;
  }
  .homeHero__photoWrap{min-height:560px}
  .homeHero__trust{gap:15px}
}
@media (max-width:1024px){
  .homeHero{padding:38px 0 60px}
  .homeHero__shell{
    grid-template-columns:1fr;
    gap:40px;
  }
  .homeHero__content{
    max-width:760px;
    padding-bottom:0;
  }
  .homeHero h1{max-width:740px}
  .homeHero__photoWrap{
    min-height:560px;
    border-radius:28px 28px 85px 28px;
  }
  .homeHero__appliances{
    justify-content:flex-start;
    padding-left:8px;
  }
}
@media (max-width:768px){
  .homeHero{padding:30px 0 50px}
  .homeHero__eyebrow{
    margin-bottom:20px;
    font-size:16px;
  }
  .homeHero h1{
    font-size:clamp(38px,8vw,52px);
  }
  .homeHero__lead{
    margin-top:21px;
    font-size:17px;
  }
  .homeHero__actions{margin-top:27px}
  .homeHero__trust{margin-top:36px}
  .homeHero__photoWrap{min-height:500px}
}
@media (max-width:576px){
  .homeHero{padding:24px 0 44px}
  .homeHero__eyebrow{
    max-width:100%;
    font-size:16px;
  }
  .homeHero h1{
    font-size:clamp(36px,10.5vw,46px);
    line-height:1.07;
  }
  .homeHero__lead{
    font-size:16px;
    line-height:1.65;
  }
  .homeHero__actions{
    align-items:stretch;
    flex-direction:column;
    gap:18px;
  }
  .homeHero__primaryCta{width:100%}
  .homeHero__call{justify-content:center}
  .homeHero__call small{font-size:16px}
  .homeHero__call strong{font-size:16px}
  .homeHero__trust{
    justify-content:space-between;
    gap:10px;
  }
  .homeHero__trustItem strong{font-size:15px}
  .homeHero__trustItem span{font-size:16px}
  .homeHero__trustDivider{height:34px}
  .homeHero__photoWrap{
    min-height:430px;
    border-radius:22px 22px 65px 22px;
  }
  .homeHero__serviceCard{
    left:13px;
    right:13px;
    bottom:14px;
    max-width:none;
  }
  .homeHero__serviceCard small{font-size:16px}
  .homeHero__serviceCard strong{font-size:16px}
  .homeHero__since{
    width:82px;
    height:82px;
    right:13px;
    top:13px;
  }
  .homeHero__since span{font-size:10px}
  .homeHero__since strong{font-size:20px}
  .homeHero__appliances{display:none}
}
@media (max-width:390px){
  .homeHero h1{font-size:35px}
  .homeHero__trust{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .homeHero__trustDivider{display:none}
  .homeHero__photoWrap{min-height:390px}
}







/* =========================
02 — WHY PARKSIDE
========================= */
.whyParkside{
  position:relative;
  overflow:hidden;
  padding:110px 0;
  background:
    radial-gradient(circle at 86% 18%,rgba(226,28,33,.055),transparent 25%),
    linear-gradient(180deg,#fff 0%,#f8f7f4 100%);
}
.whyParkside:before{
  content:"";
  position:absolute;
  right:-180px;
  bottom:-240px;
  width:500px;
  height:500px;
  border-radius:50%;
  border:1px solid rgba(226,28,33,.08);
  pointer-events:none;
}
.whyParkside__grid{
  display:grid;
  grid-template-columns:minmax(430px,.9fr) minmax(0,1.1fr);
  align-items:center;
  gap:82px;
}
.whyParkside__visual{
  position:relative;
}
.whyParkside__imageWrap{
  position:relative;
  min-height:650px;
  overflow:hidden;
  border-radius:34px 100px 34px 34px;
  background:#ece8e4;
  box-shadow:0 30px 75px rgba(38,28,22,.12);
}
.whyParkside__image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.whyParkside__imageWrap:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(19,16,14,0) 52%,rgba(19,16,14,.2) 100%);
  pointer-events:none;
}
.whyParkside__experience{
  position:absolute;
  z-index:3;
  left:24px;
  top:24px;
  width:170px;
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:22px;
  border-radius:24px;
  background:rgba(255,255,255,.93);
  box-shadow:0 18px 45px rgba(25,25,25,.12);
  backdrop-filter:blur(14px);
}
.whyParkside__experienceValue{
  font-family:var(--font-heading);
  font-size:42px;
  font-weight:800;
  line-height:1;
  letter-spacing:-.05em;
  color:var(--accent);
}
.whyParkside__experienceText{
  margin-top:10px;
  color:#5f5955;
  font-size:16px;
  font-weight:700;
  line-height:1.45;
}
.whyParkside__rating{
  position:absolute;
  z-index:3;
  right:22px;
  bottom:22px;
  min-width:240px;
  padding:15px 18px;
  border:1px solid rgba(255,255,255,.65);
  border-radius:17px;
  background:rgba(23,23,23,.86);
  color:#fff;
  backdrop-filter:blur(12px);
}
.whyParkside__stars{
  display:flex;
  gap:3px;
  margin-bottom:5px;
  color:#ffcf4a;
  font-size:17px;
  line-height:1;
}
.whyParkside__rating strong{
  font-size:16px;
  font-weight:700;
}
.sectionEyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:20px;
  color:var(--accent);
  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.sectionEyebrow span{
  width:34px;
  height:2px;
  background:var(--accent);
}
.whyParkside h2{
  max-width:720px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(34px,3.1vw,48px);
  font-weight:800;
  line-height:1.1;
  letter-spacing:-.045em;
}
.whyParkside h2 strong{
  color:var(--accent);
  font-weight:800;
}
.whyParkside__intro{
  max-width:710px;
  margin:24px 0 0;
  color:#69635f;
  font-size:17px;
  line-height:1.72;
}
.whyParkside__features{
  display:grid;
  gap:13px;
  margin-top:34px;
}
.whyParkside__feature{
  position:relative;
  display:grid;
  grid-template-columns:52px 1fr;
  gap:17px;
  padding:20px;
  border:1px solid #e8e4df;
  border-radius:19px;
  background:rgba(255,255,255,.76);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.whyParkside__feature:hover{
  transform:translateX(5px);
  border-color:rgba(226,28,33,.22);
  box-shadow:0 16px 38px rgba(35,27,23,.06);
}
.whyParkside__feature--featured{
  background:linear-gradient(135deg,#fff,#fff5f5);
  border-color:rgba(226,28,33,.17);
}
.whyParkside__featureIcon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:var(--accent-soft);
  color:var(--accent);
}
.whyParkside__featureIcon svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.whyParkside__feature>div:last-child{
  position:relative;
  padding-right:45px;
}
.whyParkside__number{
  position:absolute;
  right:0;
  top:1px;
  color:#d8d3cf;
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}
.whyParkside__feature h3{
  margin:1px 0 6px;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  line-height:1.3;
}
.whyParkside__feature p{
  margin:0;
  color:#77706c;
  font-size:15px;
  line-height:1.6;
}
.whyParkside__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:27px;
}
.whyParkside__link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--accent);
  font-size:15px;
  font-weight:800;
}
.whyParkside__link svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .25s ease;
}
.whyParkside__link:hover svg{
  transform:translateX(4px);
}
.whyParkside__note{
  color:#8a847f;
  font-size:16px;
  font-weight:600;
}

/* RESPONSIVE */
@media (max-width:1180px){
  .whyParkside{
    padding:90px 0;
  }
  .whyParkside__grid{
    grid-template-columns:minmax(390px,.9fr) minmax(0,1.1fr);
    gap:55px;
  }
  .whyParkside__imageWrap{
    min-height:610px;
  }
}
@media (max-width:1024px){
  .whyParkside{
    padding:80px 0;
  }
  .whyParkside__grid{
    grid-template-columns:1fr;
    gap:46px;
  }
  .whyParkside__visual{
    max-width:760px;
  }
  .whyParkside__imageWrap{
    min-height:560px;
  }
  .whyParkside__content{
    max-width:820px;
  }
}
@media (max-width:768px){
  .whyParkside{
    padding:68px 0;
  }
  .whyParkside__imageWrap{
    min-height:500px;
    border-radius:26px 70px 26px 26px;
  }
  .whyParkside__experience{
    width:155px;
    min-height:135px;
    padding:18px;
  }
  .whyParkside__experienceValue{
    font-size:37px;
  }
  .whyParkside__intro{
    font-size:16px;
  }
  .whyParkside__feature p{
    font-size:16px;
  }
}
@media (max-width:576px){
  .whyParkside{
    padding:56px 0;
  }
  .sectionEyebrow{
    font-size:16px;
  }
  .whyParkside h2{
    font-size:clamp(31px,8.6vw,40px);
  }
  .whyParkside__intro{
    font-size:16px;
    line-height:1.65;
  }
  .whyParkside__imageWrap{
    min-height:430px;
    border-radius:22px 55px 22px 22px;
  }
  .whyParkside__experience{
    left:14px;
    top:14px;
    width:145px;
    min-height:122px;
  }
  .whyParkside__experienceValue{
    font-size:34px;
  }
  .whyParkside__experienceText{
    font-size:16px;
  }
  .whyParkside__rating{
    left:14px;
    right:14px;
    bottom:14px;
    min-width:0;
  }
  .whyParkside__feature{
    grid-template-columns:46px 1fr;
    gap:14px;
    padding:17px;
  }
  .whyParkside__featureIcon{
    width:46px;
    height:46px;
  }
  .whyParkside__feature h3{
    font-size:17px;
  }
  .whyParkside__feature p{
    font-size:16px;
  }
  .whyParkside__bottom{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media (max-width:390px){
  .whyParkside__imageWrap{
    min-height:395px;
  }
  .whyParkside__feature>div:last-child{
    padding-right:0;
  }
  .whyParkside__number{
    display:none;
  }
}





/* =========================
03 — APPLIANCE REPAIR SERVICES
========================= */
.homeServices{
  position:relative;
  overflow:hidden;
  padding:110px 0 118px;
  background:
    radial-gradient(circle at 92% 4%,rgba(226,28,33,.14),transparent 26%),
    radial-gradient(circle at 3% 96%,rgba(255,255,255,.04),transparent 24%),
    #171717;
  color:#fff;
}
.homeServices:before{
  content:"";
  position:absolute;
  right:-240px;
  top:150px;
  width:490px;
  height:490px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:50%;
}
.homeServices .container{
  position:relative;
  z-index:2;
}

/* Header */
.homeServices__header{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  align-items:end;
  gap:75px;
  margin-bottom:50px;
}
.homeServices .sectionEyebrow{
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:20px;
  color:#ff686c;
  font-size:16px;
  font-weight:800;
  line-height:1.4;
  text-transform:uppercase;
  letter-spacing:.075em;
}
.homeServices .sectionEyebrow span{
  width:36px;
  height:2px;
  background:#ff686c;
}
.homeServices h2{
  max-width:760px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}
.homeServices h2 strong{
  display:block;
  color:#ff575b;
}
.homeServices__intro{
  max-width:520px;
}
.homeServices__intro p{
  margin:0;
  color:#c4c4c4;
  font-size:17px;
  line-height:1.72;
}
.homeServices__viewAll{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:21px;
  color:#fff;
  font-size:16px;
  font-weight:800;
}
.homeServices__viewAll svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:#ff575b;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .25s ease;
}
.homeServices__viewAll:hover svg{
  transform:translateX(4px);
}

/* Grid */
.homeServices__grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px;
}

/* Default cards = three per row */
.serviceCard{
  grid-column:span 4;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  background:#fff;
  color:#1b1b1b;
  box-shadow:0 20px 52px rgba(0,0,0,.17);
  transition:
    transform .3s ease,
    box-shadow .3s ease,
    border-color .3s ease;
}

/* First row */
.serviceCard--primary{
  grid-column:span 7;
}
.serviceCard--secondary{
  grid-column:span 5;
}

.serviceCard:hover{
  transform:translateY(-6px);
  border-color:rgba(226,28,33,.3);
  box-shadow:0 30px 70px rgba(0,0,0,.24);
}
.serviceCard__link{
  display:flex;
  flex-direction:column;
  height:100%;
}

/* Images */
.serviceCard__image{
  position:relative;
  height:280px;
  overflow:hidden;
  background:#e8e5e1;
}
.serviceCard--primary .serviceCard__image,
.serviceCard--secondary .serviceCard__image{
  height:390px;
}
.serviceCard__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.serviceCard:hover .serviceCard__image img{
  transform:scale(1.045);
}
.serviceCard__image:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(10,10,10,.02) 42%,rgba(10,10,10,.18) 100%);
}

/* Number */
.serviceCard__number{
  position:absolute;
  z-index:3;
  left:17px;
  top:17px;
  min-width:46px;
  height:46px;
  display:grid;
  place-items:center;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
  background:rgba(18,18,18,.45);
  color:#fff;
  font-size:16px;
  font-weight:800;
  backdrop-filter:blur(10px);
}

/* Body */
.serviceCard__body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:23px 23px 25px;
}
.serviceCard__type{
  display:block;
  margin-bottom:10px;
  color:var(--accent);
  font-size:16px;
  font-weight:800;
  line-height:1.45;
  text-transform:uppercase;
  letter-spacing:.065em;
}
.serviceCard__titleRow{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:17px;
}
.serviceCard h3{
  margin:0;
  font-family:var(--font-heading);
  font-size:21px;
  font-weight:800;
  line-height:1.25;
  letter-spacing:-.025em;
}
.serviceCard--primary h3,
.serviceCard--secondary h3{
  font-size:25px;
}
.serviceCard__body p{
  max-width:610px;
  margin:13px 0 0;
  color:#716c68;
  font-size:15px;
  line-height:1.62;
}

/* Arrow */
.serviceCard__arrow{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid #e5e1dd;
  border-radius:50%;
  background:#faf9f7;
  color:#191919;
  transition:.25s ease;
}
.serviceCard__arrow svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.serviceCard:hover .serviceCard__arrow{
  border-color:var(--accent);
  background:var(--accent);
  color:#fff;
}

/* Tablet */
@media (max-width:1180px){
  .homeServices{
    padding:92px 0 100px;
  }
  .homeServices__header{
    gap:50px;
  }
  .serviceCard--primary,
  .serviceCard--secondary{
    grid-column:span 6;
  }
  .serviceCard{
    grid-column:span 4;
  }
  .serviceCard--primary .serviceCard__image,
  .serviceCard--secondary .serviceCard__image{
    height:350px;
  }
}

/* 2-column layout */
@media (max-width:1024px){
  .homeServices{
    padding:82px 0 90px;
  }
  .homeServices__header{
    grid-template-columns:1fr;
    gap:22px;
  }
  .homeServices__intro{
    max-width:700px;
  }
  .serviceCard,
  .serviceCard--primary,
  .serviceCard--secondary{
    grid-column:span 6;
  }
  .serviceCard__image,
  .serviceCard--primary .serviceCard__image,
  .serviceCard--secondary .serviceCard__image{
    height:310px;
  }
  .serviceCard--primary h3,
  .serviceCard--secondary h3,
  .serviceCard h3{
    font-size:21px;
  }
}

/* Mobile */
@media (max-width:576px){
  .homeServices{
    padding:58px 0 65px;
  }
  .homeServices__header{
    margin-bottom:34px;
  }
  .homeServices h2{
    font-size:clamp(31px,8.6vw,40px);
  }
  .homeServices .sectionEyebrow{
    font-size:16px;
  }
  .homeServices__intro p{
    font-size:16px;
    line-height:1.65;
  }
  .homeServices__viewAll{
    font-size:15px;
  }
  .homeServices__grid{
    grid-template-columns:1fr;
    gap:15px;
  }
  .serviceCard,
  .serviceCard--primary,
  .serviceCard--secondary{
    grid-column:auto;
  }
  .serviceCard__image,
  .serviceCard--primary .serviceCard__image,
  .serviceCard--secondary .serviceCard__image{
    height:300px;
  }
  .serviceCard__body{
    padding:20px;
  }
  .serviceCard__type{
    font-size:16px;
  }
  .serviceCard h3,
  .serviceCard--primary h3,
  .serviceCard--secondary h3{
    font-size:21px;
  }
  .serviceCard__body p{
    font-size:15px;
  }
  .serviceCard__arrow{
    width:42px;
    height:42px;
  }
}

@media (max-width:390px){
  .serviceCard__image,
  .serviceCard--primary .serviceCard__image,
  .serviceCard--secondary .serviceCard__image{
    height:270px;
  }
}










/* =========================
04 — DESIGNED AROUND YOUR HOME
========================= */
.homeComfort{
  position:relative;
  overflow:hidden;
  padding:118px 0 125px;
  background:
    radial-gradient(circle at 5% 18%,rgba(226,28,33,.07),transparent 25%),
    radial-gradient(circle at 92% 80%,rgba(209,188,166,.18),transparent 27%),
    #faf9f7;
}
.homeComfort:before{
  content:"";
  position:absolute;
  right:-240px;
  top:-250px;
  width:500px;
  height:500px;
  border:1px solid rgba(226,28,33,.08);
  border-radius:50%;
}
.homeComfort__layout{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(580px,1.18fr);
  align-items:center;
  gap:84px;
}
.homeComfort__content{
  position:relative;
  z-index:2;
}
.homeComfort h2{
  max-width:650px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.25vw,50px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}
.homeComfort h2 strong{
  display:block;
  color:var(--accent);
}
.homeComfort__lead{
  max-width:620px;
  margin:25px 0 0;
  color:#69635f;
  font-size:17px;
  line-height:1.75;
}
.homeComfort__points{
  display:grid;
  gap:13px;
  margin-top:34px;
}
.homeComfort__point{
  display:grid;
  grid-template-columns:52px 1fr;
  gap:16px;
  align-items:start;
  padding:18px;
  border:1px solid #e8e3de;
  border-radius:18px;
  background:rgba(255,255,255,.78);
}
.homeComfort__pointIcon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#fff0f0;
  color:var(--accent);
}
.homeComfort__pointIcon svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.homeComfort__point strong{
  display:block;
  margin:1px 0 5px;
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}
.homeComfort__point p{
  margin:0;
  color:#77716c;
  font-size:15px;
  line-height:1.58;
}
.homeComfort__cta{
  display:flex;
  align-items:center;
  gap:25px;
  margin-top:32px;
}
.homeComfort__phone{
  display:grid;
  line-height:1.25;
}
.homeComfort__phone span{
  color:#8a847f;
  font-size:16px;
  font-weight:600;
}
.homeComfort__phone strong{
  margin-top:3px;
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

/* Gallery */
.homeComfort__gallery{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(210px,.75fr);
  gap:18px;
  min-width:0;
}
.homeComfort__photo{
  position:relative;
  overflow:hidden;
  margin:0;
  background:#e8e4df;
  box-shadow:0 22px 55px rgba(42,31,24,.11);
}
.homeComfort__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.homeComfort__photo:hover img{
  transform:scale(1.035);
}
.homeComfort__photo--main{
  min-height:620px;
  border-radius:30px 82px 30px 30px;
}
.homeComfort__photo--main:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 52%,rgba(20,17,15,.42));
}
.homeComfort__photo--main figcaption{
  position:absolute;
  z-index:2;
  left:25px;
  bottom:24px;
  display:grid;
  color:#fff;
}
.homeComfort__photo--main figcaption span{
  margin-bottom:4px;
  font-size:16px;
  font-weight:700;
  opacity:.88;
}
.homeComfort__photo--main figcaption strong{
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
}
.homeComfort__side{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:18px;
}
.homeComfort__photo--small{
  min-height:0;
  border-radius:24px;
}
.homeComfort__photo--small:last-child{
  border-radius:24px 24px 58px 24px;
}
.homeComfort__badge{
  position:absolute;
  left:24px;
  top:24px;
  z-index:3;
  width:120px;
  height:120px;
  display:grid;
  place-content:center;
  text-align:center;
  border-radius:50%;
  background:var(--accent);
  color:#fff;
  box-shadow:0 18px 42px rgba(226,28,33,.25);
}
.homeComfort__badge span{
  font-size:16px;
  font-weight:700;
}
.homeComfort__badge strong{
  margin-top:3px;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

/* Responsive */
@media (max-width:1180px){
  .homeComfort{
    padding:95px 0 105px;
  }
  .homeComfort__layout{
    grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr);
    gap:55px;
  }
  .homeComfort__photo--main{
    min-height:560px;
  }
}
@media (max-width:1024px){
  .homeComfort{
    padding:82px 0 92px;
  }
  .homeComfort__layout{
    grid-template-columns:1fr;
    gap:48px;
  }
  .homeComfort__content{
    max-width:760px;
  }
  .homeComfort__gallery{
    max-width:820px;
  }
  .homeComfort__photo--main{
    min-height:560px;
  }
}
@media (max-width:768px){
  .homeComfort{
    padding:68px 0 78px;
  }
  .homeComfort__lead{
    font-size:16px;
  }
  .homeComfort__gallery{
    grid-template-columns:1.35fr .75fr;
    gap:14px;
  }
  .homeComfort__side{
    gap:14px;
  }
  .homeComfort__photo--main{
    min-height:500px;
  }
  .homeComfort__badge{
    width:110px;
    height:110px;
    left:16px;
    top:16px;
  }
}
@media (max-width:576px){
  .homeComfort{
    padding:56px 0 62px;
  }
  .homeComfort h2{
    font-size:clamp(31px,8.6vw,40px);
  }
  .homeComfort__lead{
    font-size:16px;
    line-height:1.65;
  }
  .homeComfort__point{
    grid-template-columns:46px 1fr;
    padding:16px;
  }
  .homeComfort__pointIcon{
    width:46px;
    height:46px;
  }
  .homeComfort__point strong{
    font-size:16px;
  }
  .homeComfort__point p{
    font-size:16px;
  }
  .homeComfort__cta{
    align-items:stretch;
    flex-direction:column;
    gap:17px;
  }
  .homeComfort__cta .btn{
    width:100%;
  }
  .homeComfort__phone{
    text-align:center;
  }

  .homeComfort__gallery{
    grid-template-columns:1fr;
  }
  .homeComfort__photo--main{
    min-height:420px;
    border-radius:22px 55px 22px 22px;
  }
  .homeComfort__side{
    grid-template-columns:1fr 1fr;
    grid-template-rows:none;
  }
  .homeComfort__photo--small{
    height:220px;
  }
  .homeComfort__photo--small:last-child{
    border-radius:22px 22px 45px 22px;
  }
  .homeComfort__badge{
    width:100px;
    height:100px;
  }
  .homeComfort__badge span{
    font-size:16px;
  }
  .homeComfort__badge strong{
    font-size:16px;
  }
}
@media (max-width:390px){
  .homeComfort__photo--main{
    min-height:380px;
  }
  .homeComfort__side{
    grid-template-columns:1fr;
  }
  .homeComfort__photo--small{
    height:230px;
  }
}






/* =========================
05 — ABOUT PARKSIDE / LOCAL EXPERIENCE
========================= */
.homeAbout{
  position:relative;
  overflow:hidden;
  padding:118px 0 126px;
  background:
    radial-gradient(circle at 10% 10%,rgba(226,28,33,.065),transparent 24%),
    linear-gradient(180deg,#fff 0%,#f8f7f4 100%);
}
.homeAbout:after{
  content:"";
  position:absolute;
  left:-240px;
  bottom:-260px;
  width:520px;
  height:520px;
  border-radius:50%;
  border:1px solid rgba(226,28,33,.08);
}
.homeAbout__layout{
  display:grid;
  grid-template-columns:minmax(520px,1.06fr) minmax(0,.94fr);
  align-items:center;
  gap:90px;
}
.homeAbout__media{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr);
  grid-template-rows:1fr 1fr;
  gap:18px;
  min-height:650px;
}
.homeAbout__mainPhoto,
.homeAbout__secondaryPhoto{
  position:relative;
  overflow:hidden;
  background:#e9e5e0;
  box-shadow:0 24px 60px rgba(40,30,25,.12);
}
.homeAbout__mainPhoto{
  grid-row:1 / 3;
  border-radius:32px 32px 32px 90px;
}
.homeAbout__secondaryPhoto{
  grid-column:2;
  grid-row:1;
  border-radius:24px 64px 24px 24px;
}
.homeAbout__mainPhoto img,
.homeAbout__secondaryPhoto img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.homeAbout__mainPhoto:hover img,
.homeAbout__secondaryPhoto:hover img{
  transform:scale(1.035);
}
.homeAbout__experienceCard{
  grid-column:2;
  grid-row:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:28px;
  border-radius:24px;
  background:var(--accent);
  color:#fff;
  box-shadow:0 24px 55px rgba(226,28,33,.22);
}
.homeAbout__experienceCard span{
  font-size:16px;
  font-weight:700;
}
.homeAbout__experienceCard strong{
  margin-top:6px;
  font-family:var(--font-heading);
  font-size:31px;
  font-weight:800;
  line-height:1.05;
}
.homeAbout__experienceCard p{
  margin:13px 0 0;
  color:rgba(255,255,255,.86);
  font-size:15px;
  line-height:1.55;
}

.homeAbout__content{
  position:relative;
  z-index:2;
}
.homeAbout h2{
  max-width:680px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}
.homeAbout h2 strong{
  display:block;
  color:var(--accent);
}
.homeAbout__lead{
  max-width:670px;
  margin:25px 0 0;
  color:#69635f;
  font-size:17px;
  line-height:1.72;
}
.homeAbout__stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:32px;
}
.homeAbout__stat{
  padding:19px 18px;
  border:1px solid #e7e3df;
  border-radius:17px;
  background:rgba(255,255,255,.82);
}
.homeAbout__stat strong{
  display:block;
  font-family:var(--font-heading);
  font-size:24px;
  font-weight:800;
  line-height:1;
  color:#1b1b1b;
}
.homeAbout__stat span{
  display:block;
  margin-top:7px;
  color:#77716c;
  font-size:16px;
  line-height:1.45;
}
.homeAbout__details{
  display:grid;
  gap:13px;
  margin-top:24px;
}
.homeAbout__detail{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:15px;
  align-items:start;
}
.homeAbout__detailIcon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:#fff0f0;
  color:var(--accent);
}
.homeAbout__detailIcon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.homeAbout__detail strong{
  display:block;
  margin-bottom:4px;
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}
.homeAbout__detail p{
  margin:0;
  color:#77716c;
  font-size:15px;
  line-height:1.58;
}
.homeAbout__actions{
  display:flex;
  align-items:center;
  gap:24px;
  margin-top:31px;
}
.homeAbout__link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--accent);
  font-size:15px;
  font-weight:800;
}
.homeAbout__link svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .25s ease;
}
.homeAbout__link:hover svg{
  transform:translateX(4px);
}

@media (max-width:1180px){
  .homeAbout{
    padding:95px 0 105px;
  }
  .homeAbout__layout{
    grid-template-columns:minmax(460px,1fr) minmax(0,1fr);
    gap:55px;
  }
  .homeAbout__media{
    min-height:590px;
  }
}
@media (max-width:1024px){
  .homeAbout{
    padding:82px 0 92px;
  }
  .homeAbout__layout{
    grid-template-columns:1fr;
    gap:48px;
  }
  .homeAbout__media{
    max-width:820px;
    min-height:620px;
  }
  .homeAbout__content{
    max-width:800px;
  }
}
@media (max-width:768px){
  .homeAbout{
    padding:68px 0 78px;
  }
  .homeAbout__media{
    min-height:560px;
  }
  .homeAbout__lead{
    font-size:16px;
  }
  .homeAbout__stats{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:576px){
  .homeAbout{
    padding:56px 0 62px;
  }
  .homeAbout h2{
    font-size:clamp(31px,8.6vw,40px);
  }
  .homeAbout__lead{
    font-size:16px;
    line-height:1.65;
  }
  .homeAbout__media{
    grid-template-columns:1fr;
    grid-template-rows:auto;
    min-height:0;
  }
  .homeAbout__mainPhoto{
    grid-column:1;
    grid-row:auto;
    height:420px;
    border-radius:22px 22px 22px 55px;
  }
  .homeAbout__secondaryPhoto{
    grid-column:1;
    grid-row:auto;
    height:240px;
    border-radius:22px;
  }
  .homeAbout__experienceCard{
    grid-column:1;
    grid-row:auto;
    min-height:190px;
  }
  .homeAbout__stats{
    grid-template-columns:1fr;
  }
  .homeAbout__actions{
    align-items:stretch;
    flex-direction:column;
  }
  .homeAbout__actions .btn{
    width:100%;
  }
  .homeAbout__link{
    justify-content:center;
  }
}
@media (max-width:390px){
  .homeAbout__mainPhoto{
    height:380px;
  }
}








/* =========================
06 — BRANDS WE SERVICE
========================= */
.homeBrands{
  position:relative;
  overflow:hidden;
  padding:112px 0 118px;
  background:
    radial-gradient(circle at 90% 8%,rgba(226,28,33,.07),transparent 25%),
    #f8f7f4;
}
.homeBrands__header{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  align-items:end;
  gap:75px;
  margin-bottom:48px;
}
.homeBrands h2{
  max-width:720px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}
.homeBrands h2 strong{
  display:block;
  color:var(--accent);
}
.homeBrands__intro p{
  margin:0;
  color:#6e6864;
  font-size:17px;
  line-height:1.72;
}
.homeBrands__viewAll{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:20px;
  color:var(--accent);
  font-size:16px;
  font-weight:800;
}
.homeBrands__viewAll svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .25s ease;
}
.homeBrands__viewAll:hover svg{
  transform:translateX(4px);
}

.homeBrands__panel{
  display:grid;
  grid-template-columns:minmax(400px,.88fr) minmax(0,1.12fr);
  gap:18px;
}
.homeBrands__featured{
  min-width:0;
}
.homeBrands__featuredImage{
  position:relative;
  min-height:560px;
  height:100%;
  overflow:hidden;
  border-radius:28px 28px 80px 28px;
  background:#e6e2dc;
  box-shadow:0 24px 60px rgba(40,30,25,.11);
}
.homeBrands__featuredImage img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.homeBrands__featuredImage:hover img{
  transform:scale(1.035);
}
.homeBrands__featuredImage:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 48%,rgba(15,15,15,.55) 100%);
}
.homeBrands__imageContent{
  position:absolute;
  z-index:2;
  left:26px;
  right:26px;
  bottom:24px;
  display:grid;
  color:#fff;
}
.homeBrands__imageContent span{
  margin-bottom:6px;
  font-size:16px;
  font-weight:700;
}
.homeBrands__imageContent strong{
  max-width:390px;
  font-family:var(--font-heading);
  font-size:24px;
  font-weight:800;
  line-height:1.25;
}

.homeBrands__list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.brandTile{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:88px;
  padding:20px 22px;
  border:1px solid #e7e3de;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 25px rgba(30,24,20,.035);
  transition:.25s ease;
}
.brandTile:hover{
  transform:translateY(-3px);
  border-color:rgba(226,28,33,.25);
  box-shadow:0 16px 35px rgba(30,24,20,.07);
}
.brandTile__name{
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  line-height:1.2;
}
.brandTile__arrow{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:#f5f3f0;
  color:#1b1b1b;
  font-size:16px;
  transition:.25s ease;
}
.brandTile:hover .brandTile__arrow{
  background:var(--accent);
  color:#fff;
}
.homeBrands__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin-top:28px;
  padding-top:27px;
  border-top:1px solid #e2ded9;
}
.homeBrands__footer p{
  margin:0;
  color:#77716c;
  font-size:15px;
  line-height:1.6;
}

@media (max-width:1180px){
  .homeBrands{
    padding:94px 0 100px;
  }
  .homeBrands__header{
    gap:50px;
  }
  .homeBrands__panel{
    grid-template-columns:minmax(340px,.8fr) minmax(0,1.2fr);
  }
}
@media (max-width:1024px){
  .homeBrands{
    padding:82px 0 90px;
  }
  .homeBrands__header{
    grid-template-columns:1fr;
    gap:22px;
  }
  .homeBrands__intro{
    max-width:700px;
  }
  .homeBrands__panel{
    grid-template-columns:1fr;
  }
  .homeBrands__featuredImage{
    min-height:480px;
  }
  .homeBrands__list{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:768px){
  .homeBrands{
    padding:68px 0 76px;
  }
  .homeBrands__list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .homeBrands__featuredImage{
    min-height:430px;
  }
  .homeBrands__footer{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media (max-width:576px){
  .homeBrands{
    padding:56px 0 62px;
  }
  .homeBrands h2{
    font-size:clamp(31px,8.6vw,40px);
  }
  .homeBrands__intro p{
    font-size:16px;
  }
  .homeBrands__featuredImage{
    min-height:390px;
    border-radius:22px 22px 55px 22px;
  }
  .homeBrands__imageContent{
    left:20px;
    right:20px;
    bottom:20px;
  }
  .homeBrands__imageContent strong{
    font-size:21px;
  }
  .homeBrands__list{
    grid-template-columns:1fr;
  }
  .brandTile{
    min-height:76px;
    padding:17px 18px;
  }
  .brandTile__name{
    font-size:17px;
  }
  .homeBrands__footer .btn{
    width:100%;
  }
}











/* =========================
07 — HOW IT WORKS / REPAIR PROCESS
========================= */
.homeProcess{
  position:relative;
  overflow:hidden;
  padding:112px 0 118px;
  background:
    radial-gradient(circle at 8% 10%,rgba(226,28,33,.065),transparent 22%),
    linear-gradient(180deg,#fff 0%,#f8f7f4 100%);
}
.homeProcess:before{
  content:"";
  position:absolute;
  right:-180px;
  bottom:-200px;
  width:420px;
  height:420px;
  border:1px solid rgba(226,28,33,.08);
  border-radius:50%;
}
.homeProcess__header{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
  align-items:end;
  gap:72px;
  margin-bottom:48px;
}
.homeProcess h2{
  max-width:730px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}
.homeProcess h2 strong{
  display:block;
  color:var(--accent);
}
.homeProcess__intro{
  margin:0;
  color:#6e6864;
  font-size:17px;
  line-height:1.72;
}
.homeProcess__layout{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.homeProcess__layout:before{
  content:"";
  position:absolute;
  left:14%;
  right:14%;
  top:54px;
  height:1px;
  background:linear-gradient(90deg,transparent,#ddd6d0 10%,#ddd6d0 90%,transparent);
  z-index:0;
}
.processStep{
  position:relative;
  z-index:1;
  display:flex;
  min-height:360px;
  flex-direction:column;
  justify-content:space-between;
  padding:26px;
  border:1px solid #e7e3de;
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 48px rgba(37,28,23,.07);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.processStep:hover{
  transform:translateY(-6px);
  border-color:rgba(226,28,33,.25);
  box-shadow:0 26px 58px rgba(37,28,23,.11);
}
.processStep__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.processStep__number{
  display:grid;
  place-items:center;
  min-width:58px;
  height:58px;
  padding:0 14px;
  border-radius:999px;
  background:#171717;
  color:#fff;
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}
.processStep--two .processStep__number{
  background:var(--accent);
}
.processStep__icon{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#fff1f1;
  color:var(--accent);
}
.processStep__icon svg{
  width:26px;
  height:26px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.processStep__content{
  margin-top:70px;
}
.processStep__label{
  display:block;
  margin-bottom:10px;
  color:var(--accent);
  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.processStep h3{
  margin:0;
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:800;
  line-height:1.28;
  letter-spacing:-.025em;
}
.processStep p{
  margin:13px 0 0;
  color:#716b67;
  font-size:15px;
  line-height:1.65;
}
.homeProcess__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  margin-top:28px;
  padding:25px 28px;
  border-radius:22px;
  background:#171717;
  color:#fff;
}
.homeProcess__footerText{
  display:grid;
}
.homeProcess__footerText span{
  color:#aaa;
  font-size:16px;
}
.homeProcess__footerText strong{
  margin-top:3px;
  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
}
.homeProcess__actions{
  display:flex;
  align-items:center;
  gap:20px;
}
.homeProcess__phone{
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

@media (max-width:1024px){
  .homeProcess{
    padding:82px 0 90px;
  }
  .homeProcess__header{
    grid-template-columns:1fr;
    gap:22px;
  }
  .homeProcess__intro{
    max-width:720px;
  }
  .homeProcess__layout{
    grid-template-columns:1fr;
  }
  .homeProcess__layout:before{
    display:none;
  }
  .processStep{
    min-height:0;
  }
  .processStep__content{
    margin-top:40px;
  }
}
@media (max-width:768px){
  .homeProcess{
    padding:68px 0 76px;
  }
  .homeProcess__intro{
    font-size:16px;
  }
  .homeProcess__footer{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media (max-width:576px){
  .homeProcess{
    padding:56px 0 62px;
  }
  .homeProcess h2{
    font-size:clamp(31px,8.6vw,40px);
  }
  .processStep{
    padding:22px;
  }
  .processStep__number{
    min-width:52px;
    height:52px;
    font-size:15px;
  }
  .processStep__icon{
    width:50px;
    height:50px;
  }
  .processStep h3{
    font-size:20px;
  }
  .processStep p{
    font-size:15px;
  }
  .homeProcess__footer{
    padding:22px;
  }
  .homeProcess__actions{
    width:100%;
    align-items:stretch;
    flex-direction:column;
  }
  .homeProcess__phone{
    text-align:center;
  }
  .homeProcess__actions .btn{
    width:100%;
  }
}









/* =========================
08 — REAL HOMES / LIFESTYLE GALLERY
========================= */
.homeGallery{
  position:relative;
  overflow:hidden;
  padding:112px 0 118px;
  background:
    radial-gradient(circle at 92% 10%,rgba(226,28,33,.065),transparent 24%),
    linear-gradient(180deg,#fff 0%,#f9f8f5 100%);
}
.homeGallery__header{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);
  align-items:end;
  gap:70px;
  margin-bottom:48px;
}
.homeGallery h2{
  max-width:730px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}
.homeGallery h2 strong{
  display:block;
  color:var(--accent);
}
.homeGallery__intro p{
  margin:0;
  color:#6e6864;
  font-size:17px;
  line-height:1.72;
}

/* Layout */
.homeGallery__layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:18px;
  min-height:650px;
}
.homeGallery__right{
  display:grid;
  grid-template-rows:1fr 1.08fr;
  gap:18px;
}
.homeGallery__topRow{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.homeGallery__bottomRow{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(190px,.55fr);
  gap:18px;
}

/* Cards */
.homeGallery__card{
  position:relative;
  overflow:hidden;
  margin:0;
  min-width:0;
  border-radius:24px;
  background:#e8e4df;
  box-shadow:0 20px 52px rgba(35,28,24,.10);
}
.homeGallery__card--hero{
  min-height:650px;
  border-radius:30px 30px 30px 88px;
}
.homeGallery__card--square{
  min-height:290px;
}
.homeGallery__card--lifestyle{
  min-height:330px;
}
.homeGallery__card--wine{
  min-height:330px;
  border-radius:24px 24px 62px 24px;
}
.homeGallery__card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.homeGallery__card:hover img{
  transform:scale(1.04);
}
.homeGallery__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(14,14,14,.18));
  pointer-events:none;
}
.homeGallery__card--hero .homeGallery__overlay,
.homeGallery__card--lifestyle .homeGallery__overlay{
  background:linear-gradient(180deg,transparent 45%,rgba(14,14,14,.48));
}
.homeGallery figcaption{
  position:absolute;
  z-index:2;
  left:24px;
  right:24px;
  bottom:22px;
  display:grid;
  color:#fff;
}
.homeGallery figcaption span{
  margin-bottom:5px;
  font-size:16px;
  font-weight:700;
}
.homeGallery figcaption strong{
  font-family:var(--font-heading);
  font-size:21px;
  font-weight:800;
  line-height:1.3;
}

/* Hover polish */
.homeGallery__card:after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.18);
  border-radius:inherit;
  pointer-events:none;
}

/* Responsive */
@media (max-width:1180px){
  .homeGallery{
    padding:94px 0 100px;
  }
  .homeGallery__header{
    gap:48px;
  }
  .homeGallery__layout{
    min-height:600px;
  }
  .homeGallery__card--hero{
    min-height:600px;
  }
  .homeGallery__card--square{
    min-height:265px;
  }
  .homeGallery__card--lifestyle,
  .homeGallery__card--wine{
    min-height:315px;
  }
}

@media (max-width:1024px){
  .homeGallery{
    padding:82px 0 90px;
  }
  .homeGallery__header{
    grid-template-columns:1fr;
    gap:22px;
  }
  .homeGallery__intro{
    max-width:720px;
  }

  .homeGallery__layout{
    grid-template-columns:1fr;
    min-height:0;
  }

  .homeGallery__card--hero{
    min-height:520px;
  }

  .homeGallery__right{
    grid-template-rows:auto;
  }

  .homeGallery__topRow{
    grid-template-columns:1fr 1fr;
  }

  .homeGallery__bottomRow{
    grid-template-columns:1.35fr .65fr;
  }
}

@media (max-width:768px){
  .homeGallery{
    padding:68px 0 76px;
  }

  .homeGallery__intro p{
    font-size:16px;
  }

  .homeGallery__card--hero{
    min-height:470px;
  }

  .homeGallery__card--square{
    min-height:250px;
  }

  .homeGallery__card--lifestyle,
  .homeGallery__card--wine{
    min-height:285px;
  }
}

@media (max-width:576px){
  .homeGallery{
    padding:56px 0 62px;
  }

  .homeGallery h2{
    font-size:clamp(31px,8.6vw,40px);
  }

  .homeGallery__intro p{
    font-size:16px;
    line-height:1.65;
  }

  .homeGallery__layout{
    gap:14px;
  }

  .homeGallery__right,
  .homeGallery__topRow,
  .homeGallery__bottomRow{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
  }

  .homeGallery__card--hero,
  .homeGallery__card--square,
  .homeGallery__card--lifestyle,
  .homeGallery__card--wine{
    min-height:300px;
    border-radius:20px;
  }

  .homeGallery__card--hero{
    min-height:390px;
    border-radius:22px 22px 22px 55px;
  }

  .homeGallery figcaption{
    left:19px;
    right:19px;
    bottom:18px;
  }

  .homeGallery figcaption span{
    font-size:16px;
  }

  .homeGallery figcaption strong{
    font-size:19px;
  }
}

@media (max-width:390px){
  .homeGallery__card--hero{
    min-height:360px;
  }

  .homeGallery__card--square,
  .homeGallery__card--lifestyle,
  .homeGallery__card--wine{
    min-height:270px;
  }
}








/* =========================
09 — AREAS WE SERVE
========================= */
.homeAreas{
  position:relative;
  overflow:hidden;
  padding:112px 0 118px;
  background:
    radial-gradient(circle at 90% 8%,rgba(226,28,33,.07),transparent 24%),
    linear-gradient(180deg,#f8f7f4 0%,#fff 100%);
}
.homeAreas__header{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
  align-items:end;
  gap:70px;
  margin-bottom:48px;
}
.homeAreas h2{
  max-width:760px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}
.homeAreas h2 strong{
  display:block;
  color:var(--accent);
}
.homeAreas__intro p{
  margin:0;
  color:#6e6864;
  font-size:17px;
  line-height:1.72;
}
.homeAreas__viewAll{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:20px;
  color:var(--accent);
  font-size:16px;
  font-weight:800;
}
.homeAreas__viewAll svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .25s ease;
}
.homeAreas__viewAll:hover svg{
  transform:translateX(4px);
}

/* Main layout */
.homeAreas__layout{
  display:grid;
  grid-template-columns:minmax(430px,.9fr) minmax(0,1.1fr);
  gap:22px;
}

/* Feature image */
.homeAreas__feature{
  min-width:0;
}
.homeAreas__featureImage{
  position:relative;
  min-height:610px;
  overflow:hidden;
  border-radius:30px 30px 82px 30px;
  background:#e7e3df;
  box-shadow:0 24px 60px rgba(37,28,23,.11);
}
.homeAreas__featureImage img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.homeAreas__featureImage:hover img{
  transform:scale(1.035);
}
.homeAreas__featureOverlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 47%,rgba(17,17,17,.58));
}
.homeAreas__featureContent{
  position:absolute;
  z-index:2;
  left:26px;
  right:26px;
  bottom:26px;
  display:grid;
  color:#fff;
}
.homeAreas__featureContent span{
  margin-bottom:6px;
  font-size:16px;
  font-weight:700;
}
.homeAreas__featureContent strong{
  max-width:460px;
  font-family:var(--font-heading);
  font-size:24px;
  font-weight:800;
  line-height:1.28;
}
.homeAreas__coverage{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}
.homeAreas__coverage div{
  padding:18px 20px;
  border:1px solid #e6e1dc;
  border-radius:17px;
  background:#fff;
}
.homeAreas__coverage span{
  display:block;
  color:#8b847f;
  font-size:16px;
  font-weight:600;
}
.homeAreas__coverage strong{
  display:block;
  margin-top:4px;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

/* Cities */
.homeAreas__cities{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:start;
  gap:10px;
}
.areaCity{
  display:grid;
  grid-template-columns:44px 1fr 38px;
  align-items:center;
  gap:14px;
  min-height:72px;
  padding:13px 14px;
  border:1px solid #e7e3de;
  border-radius:16px;
  background:#fff;
  transition:.25s ease;
}
.areaCity:hover{
  transform:translateX(4px);
  border-color:rgba(226,28,33,.25);
  box-shadow:0 12px 30px rgba(32,25,21,.06);
}
.areaCity__index{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#f6f3f0;
  color:#8b847f;
  font-size:16px;
  font-weight:800;
  transition:.25s ease;
}
.areaCity:hover .areaCity__index{
  background:#fff0f0;
  color:var(--accent);
}
.areaCity__name{
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
  line-height:1.3;
}
.areaCity__arrow{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f6f3f0;
  font-size:16px;
  transition:.25s ease;
}
.areaCity:hover .areaCity__arrow{
  background:var(--accent);
  color:#fff;
}

/* Responsive */
@media (max-width:1180px){
  .homeAreas{
    padding:94px 0 100px;
  }
  .homeAreas__header{
    gap:48px;
  }
  .homeAreas__layout{
    grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);
  }
  .homeAreas__featureImage{
    min-height:570px;
  }
}

@media (max-width:1024px){
  .homeAreas{
    padding:82px 0 90px;
  }
  .homeAreas__header{
    grid-template-columns:1fr;
    gap:22px;
  }
  .homeAreas__intro{
    max-width:720px;
  }
  .homeAreas__layout{
    grid-template-columns:1fr;
  }
  .homeAreas__featureImage{
    min-height:500px;
  }
  .homeAreas__cities{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:768px){
  .homeAreas{
    padding:68px 0 76px;
  }
  .homeAreas__intro p{
    font-size:16px;
  }
  .homeAreas__cities{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:576px){
  .homeAreas{
    padding:56px 0 62px;
  }
  .homeAreas h2{
    font-size:clamp(31px,8.6vw,40px);
  }
  .homeAreas__intro p{
    font-size:16px;
    line-height:1.65;
  }
  .homeAreas__featureImage{
    min-height:400px;
    border-radius:22px 22px 55px 22px;
  }
  .homeAreas__featureContent{
    left:20px;
    right:20px;
    bottom:20px;
  }
  .homeAreas__featureContent strong{
    font-size:20px;
  }
  .homeAreas__coverage{
    grid-template-columns:1fr;
  }
  .homeAreas__cities{
    grid-template-columns:1fr;
  }
  .areaCity{
    min-height:70px;
  }
}

@media (max-width:390px){
  .homeAreas__featureImage{
    min-height:360px;
  }
}









/* =========================
10 — CUSTOMER REVIEWS / TRUSTED BY LOCAL HOMEOWNERS
========================= */
.homeReviews{
  position:relative;
  overflow:hidden;
  padding:112px 0 118px;
  background:
    radial-gradient(circle at 8% 12%,rgba(226,28,33,.06),transparent 24%),
    linear-gradient(180deg,#fff 0%,#f8f7f4 100%);
}
.homeReviews__header{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);
  align-items:end;
  gap:70px;
  margin-bottom:48px;
}
.homeReviews h2{
  max-width:730px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}
.homeReviews h2 strong{
  display:block;
  color:var(--accent);
}
.homeReviews__intro p{
  margin:0;
  color:#6e6864;
  font-size:17px;
  line-height:1.72;
}

/* Layout */
.homeReviews__layout{
  display:grid;
  grid-template-columns:minmax(420px,.9fr) minmax(0,1.1fr);
  gap:22px;
  align-items:stretch;
}
.homeReviews__photo{
  position:relative;
  min-height:620px;
  overflow:hidden;
  margin:0;
  border-radius:30px 30px 84px 30px;
  background:#e8e4df;
  box-shadow:0 24px 60px rgba(37,28,23,.11);
}
.homeReviews__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.homeReviews__photo:hover img{
  transform:scale(1.035);
}
.homeReviews__photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(15,15,15,.5));
}
.homeReviews__photo figcaption{
  position:absolute;
  z-index:2;
  left:26px;
  right:26px;
  bottom:24px;
  display:grid;
  color:#fff;
}
.homeReviews__photo figcaption span{
  margin-bottom:5px;
  font-size:16px;
  font-weight:700;
}
.homeReviews__photo figcaption strong{
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:800;
  line-height:1.3;
}

.homeReviews__content{
  display:grid;
  grid-template-rows:1.15fr .85fr;
  gap:16px;
}
.reviewCard{
  position:relative;
  overflow:hidden;
  border:1px solid #e7e3de;
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 42px rgba(34,27,23,.06);
}
.reviewCard--featured{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:32px;
  background:
    radial-gradient(circle at 95% 10%,rgba(226,28,33,.08),transparent 30%),
    #fff;
}
.reviewCard__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}
.reviewCard__stars{
  color:#f4b942;
  font-size:18px;
  letter-spacing:.08em;
}
.reviewCard__quote{
  color:var(--accent);
  font-family:Georgia,serif;
  font-size:58px;
  line-height:.8;
}
.reviewCard blockquote{
  margin:34px 0;
  color:#292725;
  font-family:var(--font-heading);
  font-size:26px;
  font-weight:700;
  line-height:1.42;
  letter-spacing:-.025em;
}
.reviewCard__author{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
}
.reviewCard__author div{
  display:grid;
}
.reviewCard__author strong{
  font-size:16px;
  font-weight:800;
}
.reviewCard__author span{
  margin-top:3px;
  color:#85807c;
  font-size:16px;
}
.reviewCard__verified{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 13px;
  border-radius:999px;
  background:#fff0f0;
  color:var(--accent)!important;
  font-size:16px!important;
  font-weight:800;
}
.homeReviews__smallGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.reviewCard--small{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:24px;
}
.reviewCard--small blockquote{
  margin:20px 0 28px;
  font-size:18px;
  line-height:1.5;
}

@media (max-width:1024px){
  .homeReviews{
    padding:82px 0 90px;
  }
  .homeReviews__header{
    grid-template-columns:1fr;
    gap:22px;
  }
  .homeReviews__intro{
    max-width:720px;
  }
  .homeReviews__layout{
    grid-template-columns:1fr;
  }
  .homeReviews__photo{
    min-height:500px;
  }
  .homeReviews__content{
    grid-template-rows:auto;
  }
}
@media (max-width:768px){
  .homeReviews{
    padding:68px 0 76px;
  }
  .homeReviews__intro p{
    font-size:16px;
  }
  .homeReviews__smallGrid{
    grid-template-columns:1fr;
  }
  .reviewCard blockquote{
    font-size:22px;
  }
}
@media (max-width:576px){
  .homeReviews{
    padding:56px 0 62px;
  }
  .homeReviews h2{
    font-size:clamp(31px,8.6vw,40px);
  }
  .homeReviews__photo{
    min-height:390px;
    border-radius:22px 22px 55px 22px;
  }
  .reviewCard--featured,
  .reviewCard--small{
    padding:21px;
  }
  .reviewCard blockquote{
    margin:24px 0;
    font-size:20px;
  }
  .reviewCard__author{
    align-items:flex-start;
    flex-direction:column;
  }
}









/* =========================
11 — FAQ / COMMON APPLIANCE REPAIR QUESTIONS
========================= */
.homeFaq{
  position:relative;
  overflow:hidden;
  padding:112px 0 118px;
  background:
    radial-gradient(circle at 10% 8%,rgba(226,28,33,.07),transparent 24%),
    linear-gradient(180deg,#f8f7f4 0%,#fff 100%);
}
.homeFaq__layout{
  display:grid;
  grid-template-columns:minmax(360px,.72fr) minmax(0,1.28fr);
  align-items:start;
  gap:86px;
}
.homeFaq__intro{
  position:sticky;
  top:120px;
}
.homeFaq h2{
  max-width:590px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}
.homeFaq h2 strong{
  display:block;
  color:var(--accent);
}
.homeFaq__intro>p{
  max-width:560px;
  margin:25px 0 0;
  color:#6e6864;
  font-size:17px;
  line-height:1.72;
}
.homeFaq__contact{
  display:grid;
  margin-top:34px;
  padding:24px;
  border:1px solid #e6e2dd;
  border-radius:22px;
  background:#fff;
  box-shadow:0 16px 40px rgba(35,27,23,.05);
}
.homeFaq__contact span{
  color:#88817c;
  font-size:16px;
  font-weight:600;
}
.homeFaq__contact strong{
  margin-top:3px;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}
.homeFaq__contact a{
  width:max-content;
  margin-top:15px;
  color:var(--accent);
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
}
.homeFaq__list{
  display:grid;
  gap:12px;
}
.faqItem{
  overflow:hidden;
  border:1px solid #e7e3de;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 30px rgba(35,27,23,.035);
  transition:border-color .25s ease,box-shadow .25s ease;
}
.faqItem.is-open{
  border-color:rgba(226,28,33,.22);
  box-shadow:0 18px 42px rgba(35,27,23,.06);
}
.faqItem__button{
  width:100%;
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:20px 22px;
  border:0;
  background:none;
  color:#1d1c1b;
  text-align:left;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  line-height:1.35;
}
.faqItem__icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:#f5f2ef;
  color:#1b1b1b;
  font-size:20px;
  font-weight:600;
  transition:.25s ease;
}
.faqItem.is-open .faqItem__icon{
  background:var(--accent);
  color:#fff;
}
.faqItem__answer{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .3s ease;
}
.faqItem__answer>div{
  overflow:hidden;
}
.faqItem.is-open .faqItem__answer{
  grid-template-rows:1fr;
}
.faqItem__answer p{
  max-width:760px;
  margin:0;
  padding:0 70px 23px 22px;
  color:#716b67;
  font-size:16px;
  line-height:1.7;
}

@media (max-width:1024px){
  .homeFaq{
    padding:82px 0 90px;
  }
  .homeFaq__layout{
    grid-template-columns:1fr;
    gap:42px;
  }
  .homeFaq__intro{
    position:static;
    max-width:760px;
  }
}
@media (max-width:768px){
  .homeFaq{
    padding:68px 0 76px;
  }
  .homeFaq__intro>p{
    font-size:16px;
  }
  .faqItem__button{
    min-height:76px;
    font-size:17px;
  }
  .faqItem__answer p{
    font-size:15px;
  }
}
@media (max-width:576px){
  .homeFaq{
    padding:56px 0 62px;
  }
  .homeFaq h2{
    font-size:clamp(31px,8.6vw,40px);
  }
  .homeFaq__intro>p{
    font-size:16px;
    line-height:1.65;
  }
  .homeFaq__contact{
    padding:20px;
  }
  .faqItem{
    border-radius:17px;
  }
  .faqItem__button{
    min-height:72px;
    padding:18px;
    gap:16px;
    font-size:16px;
  }
  .faqItem__icon{
    width:36px;
    height:36px;
  }
  .faqItem__answer p{
    padding:0 18px 20px;
    font-size:15px;
  }
}








/* =========================
12 — FINAL CTA / CONTACT PARKSIDE TODAY
========================= */
.homeCta{
  position:relative;
  overflow:hidden;
  padding:112px 0 118px;
  background:
    radial-gradient(circle at 92% 12%,rgba(226,28,33,.16),transparent 26%),
    #171717;
  color:#fff;
}
.homeCta:before{
  content:"";
  position:absolute;
  left:-210px;
  bottom:-240px;
  width:500px;
  height:500px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:50%;
}
.homeCta__shell{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:32px;
  background:#202020;
  box-shadow:0 30px 80px rgba(0,0,0,.26);
}
.homeCta__media{
  position:relative;
  min-height:620px;
  overflow:hidden;
  background:#2b2b2b;
}
.homeCta__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.homeCta__media:hover img{
  transform:scale(1.035);
}
.homeCta__mediaOverlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(12,12,12,.02) 35%,rgba(12,12,12,.62) 100%);
}
.homeCta__mediaNote{
  position:absolute;
  z-index:2;
  left:28px;
  right:28px;
  bottom:27px;
  display:grid;
}
.homeCta__mediaNote span{
  margin-bottom:6px;
  color:#ddd;
  font-size:16px;
  font-weight:700;
}
.homeCta__mediaNote strong{
  max-width:440px;
  font-family:var(--font-heading);
  font-size:23px;
  font-weight:800;
  line-height:1.3;
}
.homeCta__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:64px 62px;
}
.homeCta .sectionEyebrow{
  color:#ff686c;
}
.homeCta .sectionEyebrow span{
  background:#ff686c;
}
.homeCta h2{
  max-width:620px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.06;
  letter-spacing:-.045em;
}
.homeCta h2 strong{
  display:block;
  color:#ff5c61;
}
.homeCta__lead{
  max-width:620px;
  margin:24px 0 0;
  color:#c4c4c4;
  font-size:17px;
  line-height:1.72;
}
.homeCta__actions{
  display:flex;
  align-items:center;
  gap:25px;
  margin-top:31px;
}
.homeCta__button{
  min-height:56px;
  gap:10px;
  font-size:16px;
}
.homeCta__button svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .25s ease;
}
.homeCta__button:hover svg{
  transform:translateX(4px);
}
.homeCta__phone{
  display:flex;
  align-items:center;
  gap:12px;
}
.homeCta__phoneIcon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  background:rgba(255,255,255,.06);
  color:#ff6569;
}
.homeCta__phoneIcon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
}
.homeCta__phone>span:last-child{
  display:grid;
}
.homeCta__phone small{
  color:#aaa;
  font-size:16px;
  font-weight:700;
}
.homeCta__phone strong{
  margin-top:3px;
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}
.homeCta__meta{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:38px;
  padding-top:27px;
  border-top:1px solid rgba(255,255,255,.10);
}
.homeCta__metaItem{
  display:grid;
  gap:4px;
}
.homeCta__metaItem span{
  color:#929292;
  font-size:16px;
  font-weight:600;
}
.homeCta__metaItem strong{
  font-size:16px;
  font-weight:800;
  line-height:1.45;
}

/* RESPONSIVE */
@media (max-width:1180px){
  .homeCta{
    padding:94px 0 100px;
  }
  .homeCta__content{
    padding:52px 44px;
  }
  .homeCta__media{
    min-height:570px;
  }
}
@media (max-width:1024px){
  .homeCta{
    padding:82px 0 90px;
  }
  .homeCta__shell{
    grid-template-columns:1fr;
  }
  .homeCta__media{
    min-height:500px;
  }
  .homeCta__content{
    padding:48px;
  }
}
@media (max-width:768px){
  .homeCta{
    padding:68px 0 76px;
  }
  .homeCta__media{
    min-height:440px;
  }
  .homeCta__lead{
    font-size:16px;
  }
  .homeCta__meta{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:576px){
  .homeCta{
    padding:56px 0 62px;
  }
  .homeCta__shell{
    border-radius:24px;
  }
  .homeCta__media{
    min-height:360px;
  }
  .homeCta__mediaNote{
    left:20px;
    right:20px;
    bottom:20px;
  }
  .homeCta__mediaNote strong{
    font-size:20px;
  }
  .homeCta__content{
    padding:34px 22px;
  }
  .homeCta h2{
    font-size:clamp(32px,8.8vw,42px);
  }
  .homeCta__lead{
    font-size:16px;
    line-height:1.65;
  }
  .homeCta__actions{
    align-items:stretch;
    flex-direction:column;
    gap:18px;
  }
  .homeCta__button{
    width:100%;
  }
  .homeCta__phone{
    justify-content:center;
  }
  .homeCta__meta{
    grid-template-columns:1fr;
    gap:15px;
  }
}
































/* =========================
01 — ABOUT HERO / A LOCAL FAMILY LEGACY
========================= */
.aboutHero{
  position:relative;
  overflow:hidden;
  padding:68px 0 104px;
  background:
    radial-gradient(circle at 6% 18%,rgba(226,28,33,.075),transparent 25%),
    radial-gradient(circle at 92% 12%,rgba(213,190,168,.18),transparent 28%),
    linear-gradient(180deg,#fff 0%,#faf9f6 100%);
}
.aboutHero:before{
  content:"";
  position:absolute;
  left:-210px;
  bottom:-300px;
  width:560px;
  height:560px;
  border:1px solid rgba(226,28,33,.07);
  border-radius:50%;
  pointer-events:none;
}
.aboutHero__shell{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(580px,1.12fr);
  align-items:center;
  gap:82px;
}
.aboutHero__content{
  position:relative;
  z-index:4;
}
.aboutHero h1{
  max-width:700px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(43px,4vw,64px);
  font-weight:800;
  line-height:1.04;
  letter-spacing:-.052em;
  color:#181716;
}
.aboutHero h1 strong{
  display:block;
  color:var(--accent);
  font-weight:800;
}
.aboutHero__lead{
  max-width:650px;
  margin:26px 0 0;
  color:#68625e;
  font-size:18px;
  line-height:1.72;
}
.aboutHero__actions{
  display:flex;
  align-items:center;
  gap:27px;
  margin-top:32px;
}
.aboutHero__button{
  min-height:56px;
  gap:10px;
  padding-inline:25px;
  font-size:16px;
}
.aboutHero__button svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .25s ease;
}
.aboutHero__button:hover svg{
  transform:translateX(4px);
}
.aboutHero__phone{
  display:grid;
  line-height:1.25;
}
.aboutHero__phone span{
  color:#8b8580;
  font-size:16px;
  font-weight:700;
}
.aboutHero__phone strong{
  margin-top:3px;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}
.aboutHero__facts{
  display:flex;
  align-items:center;
  gap:20px;
  margin-top:44px;
  padding-top:25px;
  border-top:1px solid #e5e0db;
}
.aboutHero__fact{
  display:grid;
  gap:4px;
}
.aboutHero__fact strong{
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.1;
}
.aboutHero__fact span{
  color:#817b77;
  font-size:16px;
  line-height:1.4;
}
.aboutHero__factDivider{
  width:1px;
  height:38px;
  background:#ddd8d3;
}

/* Visual composition */
.aboutHero__visual{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(190px,.65fr);
  grid-template-rows:1fr;
  gap:17px;
  min-height:650px;
}
.aboutHero__mainPhoto,
.aboutHero__detailPhoto{
  position:relative;
  overflow:hidden;
  margin:0;
  background:#e9e5e0;
  box-shadow:0 28px 70px rgba(38,29,24,.13);
}
.aboutHero__mainPhoto{
  border-radius:34px 34px 34px 92px;
}
.aboutHero__detailPhoto{
  border-radius:26px 72px 26px 26px;
}
.aboutHero__mainPhoto img,
.aboutHero__detailPhoto img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.aboutHero__mainPhoto:hover img,
.aboutHero__detailPhoto:hover img{
  transform:scale(1.035);
}
.aboutHero__mainPhoto:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(18,16,14,.48));
}
.aboutHero__mainPhoto figcaption{
  position:absolute;
  z-index:3;
  left:27px;
  right:27px;
  bottom:26px;
  display:grid;
  color:#fff;
}
.aboutHero__mainPhoto figcaption span{
  margin-bottom:5px;
  font-size:16px;
  font-weight:700;
}
.aboutHero__mainPhoto figcaption strong{
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:800;
  line-height:1.25;
}
.aboutHero__since{
  position:absolute;
  z-index:5;
  right:18px;
  bottom:22px;
  width:142px;
  height:142px;
  display:grid;
  place-content:center;
  text-align:center;
  border-radius:50%;
  background:var(--accent);
  color:#fff;
  box-shadow:0 20px 45px rgba(226,28,33,.26);
}
.aboutHero__since small{
  font-size:16px;
  font-weight:700;
}
.aboutHero__since strong{
  margin-top:3px;
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
}
.aboutHero__location{
  position:absolute;
  z-index:6;
  left:28px;
  top:28px;
  display:flex;
  align-items:center;
  gap:12px;
  max-width:285px;
  padding:13px 17px 13px 13px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:18px;
  background:rgba(255,255,255,.92);
  box-shadow:0 15px 42px rgba(20,20,20,.12);
  backdrop-filter:blur(14px);
}
.aboutHero__locationIcon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:13px;
  background:#fff0f0;
  color:var(--accent);
}
.aboutHero__locationIcon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
}
.aboutHero__location>div{
  display:grid;
}
.aboutHero__location>div span{
  color:#7f7975;
  font-size:16px;
}
.aboutHero__location>div strong{
  margin-top:2px;
  font-family:var(--font-heading);
  font-size:15px;
  font-weight:800;
}

/* Responsive */
@media (max-width:1180px){
  .aboutHero{
    padding:56px 0 90px;
  }
  .aboutHero__shell{
    grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr);
    gap:50px;
  }
  .aboutHero__visual{
    min-height:590px;
  }
}
@media (max-width:1024px){
  .aboutHero{
    padding:44px 0 82px;
  }
  .aboutHero__shell{
    grid-template-columns:1fr;
    gap:46px;
  }
  .aboutHero__content{
    max-width:790px;
  }
  .aboutHero__visual{
    max-width:850px;
    min-height:620px;
  }
}
@media (max-width:768px){
  .aboutHero{
    padding:36px 0 68px;
  }
  .aboutHero__lead{
    font-size:17px;
  }
  .aboutHero__visual{
    min-height:540px;
  }
  .aboutHero__facts{
    gap:15px;
  }
}
@media (max-width:576px){
  .aboutHero{
    padding:28px 0 56px;
  }
  .aboutHero h1{
    font-size:clamp(36px,10vw,46px);
    line-height:1.07;
  }
  .aboutHero__lead{
    font-size:16px;
    line-height:1.65;
  }
  .aboutHero__actions{
    align-items:stretch;
    flex-direction:column;
    gap:17px;
  }
  .aboutHero__button{
    width:100%;
  }
  .aboutHero__phone{
    text-align:center;
  }
  .aboutHero__facts{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .aboutHero__factDivider{
    display:none;
  }
  .aboutHero__fact:last-child{
    grid-column:1/-1;
  }

  .aboutHero__visual{
    grid-template-columns:1fr;
    min-height:0;
  }
  .aboutHero__mainPhoto{
    height:430px;
    border-radius:22px 22px 22px 58px;
  }
  .aboutHero__detailPhoto{
    height:260px;
    border-radius:22px;
  }
  .aboutHero__location{
    left:14px;
    top:14px;
  }
  .aboutHero__since{
    right:14px;
    bottom:14px;
    width:110px;
    height:110px;
  }
  .aboutHero__since strong{
    font-size:17px;
  }
}
@media (max-width:390px){
  .aboutHero__mainPhoto{
    height:390px;
  }
  .aboutHero__detailPhoto{
    height:230px;
  }
  .aboutHero__location{
    max-width:245px;
  }
}







/* =========================
02 — OUR STORY / FAMILY LEGACY
========================= */
.aboutStory{
  position:relative;
  overflow:hidden;
  padding:116px 0 124px;
  background:
    radial-gradient(circle at 92% 12%,rgba(226,28,33,.065),transparent 24%),
    linear-gradient(180deg,#fff 0%,#f8f7f4 100%);
}
.aboutStory:before{
  content:"";
  position:absolute;
  left:-230px;
  bottom:-260px;
  width:500px;
  height:500px;
  border:1px solid rgba(226,28,33,.07);
  border-radius:50%;
  pointer-events:none;
}
.aboutStory__header{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);
  align-items:end;
  gap:72px;
  margin-bottom:50px;
}
.aboutStory h2{
  max-width:740px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}
.aboutStory h2 strong{
  display:block;
  color:var(--accent);
}
.aboutStory__intro p{
  margin:0;
  color:#6d6763;
  font-size:17px;
  line-height:1.72;
}
.aboutStory__layout{
  display:grid;
  grid-template-columns:minmax(500px,1.02fr) minmax(0,.98fr);
  align-items:stretch;
  gap:76px;
}

/* Visual */
.aboutStory__visual{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(180px,.55fr);
  gap:17px;
  min-height:650px;
}
.aboutStory__photo{
  position:relative;
  overflow:hidden;
  margin:0;
  background:#e8e4df;
  box-shadow:0 24px 60px rgba(38,29,24,.11);
}
.aboutStory__photo--main{
  border-radius:30px 30px 30px 82px;
}
.aboutStory__photo--detail{
  border-radius:24px 68px 24px 24px;
}
.aboutStory__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.aboutStory__photo:hover img{
  transform:scale(1.035);
}
.aboutStory__photo--main:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 48%,rgba(16,16,16,.52));
}
.aboutStory__photo figcaption{
  position:absolute;
  z-index:2;
  left:25px;
  right:25px;
  bottom:24px;
  display:grid;
  color:#fff;
}
.aboutStory__photo figcaption span{
  margin-bottom:5px;
  font-size:16px;
  font-weight:700;
}
.aboutStory__photo figcaption strong{
  max-width:420px;
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:800;
  line-height:1.3;
}

/* Timeline */
.aboutStory__timeline{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.aboutStory__timeline:before{
  content:"";
  position:absolute;
  left:15px;
  top:28px;
  bottom:170px;
  width:1px;
  background:#ddd8d3;
}
.storyMilestone{
  position:relative;
  display:grid;
  grid-template-columns:32px 1fr;
  gap:22px;
  padding-bottom:31px;
}
.storyMilestone__marker{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:center;
}
.storyMilestone__marker span{
  width:13px;
  height:13px;
  margin-top:8px;
  border:3px solid #f8f7f4;
  border-radius:50%;
  background:#bab3ae;
  box-shadow:0 0 0 1px #d7d1cc;
}
.storyMilestone--active .storyMilestone__marker span{
  background:var(--accent);
  box-shadow:0 0 0 5px rgba(226,28,33,.09);
}
.storyMilestone__year{
  display:inline-flex;
  width:max-content;
  margin-bottom:8px;
  color:var(--accent);
  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.storyMilestone h3{
  margin:0;
  font-family:var(--font-heading);
  font-size:21px;
  font-weight:800;
  line-height:1.3;
  letter-spacing:-.02em;
}
.storyMilestone p{
  max-width:620px;
  margin:9px 0 0;
  color:#716b67;
  font-size:15px;
  line-height:1.65;
}

/* Quote */
.aboutStory__quote{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:17px;
  margin-top:5px;
  padding:24px;
  border:1px solid rgba(226,28,33,.13);
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0%,rgba(226,28,33,.07),transparent 36%),
    #fff;
  box-shadow:0 14px 38px rgba(35,27,23,.05);
}
.aboutStory__quoteMark{
  color:var(--accent);
  font-family:Georgia,serif;
  font-size:54px;
  line-height:.9;
}
.aboutStory__quote p{
  margin:0;
  color:#302d2b;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:700;
  line-height:1.5;
}
.aboutStory__quote div>span{
  display:block;
  margin-top:13px;
  color:#837c78;
  font-size:16px;
  font-weight:700;
}

/* Responsive */
@media (max-width:1180px){
  .aboutStory{
    padding:94px 0 102px;
  }
  .aboutStory__header{
    gap:48px;
  }
  .aboutStory__layout{
    grid-template-columns:minmax(430px,1fr) minmax(0,1fr);
    gap:52px;
  }
  .aboutStory__visual{
    min-height:590px;
  }
}
@media (max-width:1024px){
  .aboutStory{
    padding:82px 0 90px;
  }
  .aboutStory__header{
    grid-template-columns:1fr;
    gap:22px;
  }
  .aboutStory__intro{
    max-width:720px;
  }
  .aboutStory__layout{
    grid-template-columns:1fr;
    gap:48px;
  }
  .aboutStory__visual{
    max-width:820px;
    min-height:600px;
  }
  .aboutStory__timeline{
    max-width:820px;
  }
}
@media (max-width:768px){
  .aboutStory{
    padding:68px 0 76px;
  }
  .aboutStory__intro p{
    font-size:16px;
  }
  .aboutStory__visual{
    min-height:530px;
  }
}
@media (max-width:576px){
  .aboutStory{
    padding:56px 0 62px;
  }
  .aboutStory h2{
    font-size:clamp(31px,8.6vw,40px);
  }
  .aboutStory__intro p{
    font-size:16px;
    line-height:1.65;
  }
  .aboutStory__visual{
    grid-template-columns:1fr;
    min-height:0;
  }
  .aboutStory__photo--main{
    height:420px;
    border-radius:22px 22px 22px 55px;
  }
  .aboutStory__photo--detail{
    height:250px;
    border-radius:22px;
  }
  .aboutStory__timeline:before{
    left:13px;
  }
  .storyMilestone{
    grid-template-columns:28px 1fr;
    gap:17px;
  }
  .storyMilestone h3{
    font-size:19px;
  }
  .storyMilestone p{
    font-size:15px;
  }
  .aboutStory__quote{
    grid-template-columns:38px 1fr;
    padding:20px;
  }
  .aboutStory__quote p{
    font-size:17px;
  }
}
@media (max-width:390px){
  .aboutStory__photo--main{
    height:380px;
  }
  .aboutStory__photo--detail{
    height:220px;
  }
}









/* =========================
03 — WHAT WE STAND FOR / THE PARKSIDE DIFFERENCE
========================= */
.aboutValues{
  position:relative;
  overflow:hidden;
  padding:112px 0 120px;
  background:
    radial-gradient(circle at 94% 10%,rgba(226,28,33,.07),transparent 24%),
    #171717;
  color:#fff;
}

.aboutValues:before{
  content:"";
  position:absolute;
  left:-220px;
  bottom:-240px;
  width:500px;
  height:500px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:50%;
}

.aboutValues__header{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);
  align-items:end;
  gap:72px;
  margin-bottom:48px;
}

.aboutValues .sectionEyebrow{
  color:#ff666a;
}

.aboutValues .sectionEyebrow span{
  background:#ff666a;
}

.aboutValues h2{
  max-width:760px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}

.aboutValues h2 strong{
  display:block;
  color:#ff5a5f;
}

.aboutValues__intro p{
  margin:0;
  color:#c5c5c5;
  font-size:17px;
  line-height:1.72;
}

.aboutValues__layout{
  display:grid;
  grid-template-columns:minmax(420px,.88fr) minmax(0,1.12fr);
  gap:20px;
  align-items:stretch;
}

/* Visual */
.aboutValues__visual{
  display:grid;
  grid-template-rows:1fr auto;
  gap:14px;
}

.aboutValues__photo{
  position:relative;
  min-height:560px;
  overflow:hidden;
  margin:0;
  border-radius:30px 30px 76px 30px;
  background:#292929;
}

.aboutValues__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}

.aboutValues__photo:hover img{
  transform:scale(1.035);
}

.aboutValues__photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(10,10,10,.55));
}

.aboutValues__photo figcaption{
  position:absolute;
  z-index:2;
  left:25px;
  right:25px;
  bottom:24px;
  display:grid;
}

.aboutValues__photo figcaption span{
  margin-bottom:5px;
  color:#ddd;
  font-size:16px;
  font-weight:700;
}

.aboutValues__photo figcaption strong{
  max-width:430px;
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:800;
  line-height:1.3;
}

.aboutValues__quote{
  display:grid;
  grid-template-columns:46px 1fr;
  gap:16px;
  padding:21px 22px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:rgba(255,255,255,.05);
}

.aboutValues__quote span{
  color:#ff5a5f;
  font-family:Georgia,serif;
  font-size:52px;
  line-height:.8;
}

.aboutValues__quote p{
  margin:0;
  color:#e1e1e1;
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:700;
  line-height:1.5;
}

/* Cards */
.aboutValues__cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.aboutValueCard{
  position:relative;
  min-height:280px;
  padding:24px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:22px;
  background:#222;
  transition:transform .28s ease,border-color .28s ease,background .28s ease;
}

.aboutValueCard:hover{
  transform:translateY(-5px);
  border-color:rgba(255,90,95,.28);
  background:#252525;
}

.aboutValueCard--accent{
  background:
    radial-gradient(circle at 100% 0%,rgba(226,28,33,.18),transparent 38%),
    #222;
}

.aboutValueCard__index{
  position:absolute;
  right:20px;
  top:18px;
  color:#6f6f6f;
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}

.aboutValueCard__icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  margin-bottom:38px;
  border-radius:17px;
  background:rgba(226,28,33,.13);
  color:#ff6468;
}

.aboutValueCard__icon svg{
  width:26px;
  height:26px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.aboutValueCard h3{
  margin:0;
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.3;
}

.aboutValueCard p{
  margin:11px 0 0;
  color:#b9b9b9;
  font-size:15px;
  line-height:1.65;
}

/* Responsive */
@media (max-width:1180px){
  .aboutValues{
    padding:94px 0 102px;
  }

  .aboutValues__header{
    gap:48px;
  }

  .aboutValues__layout{
    grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);
  }

  .aboutValues__photo{
    min-height:520px;
  }
}

@media (max-width:1024px){
  .aboutValues{
    padding:82px 0 90px;
  }

  .aboutValues__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .aboutValues__intro{
    max-width:720px;
  }

  .aboutValues__layout{
    grid-template-columns:1fr;
  }

  .aboutValues__photo{
    min-height:480px;
  }
}

@media (max-width:768px){
  .aboutValues{
    padding:68px 0 76px;
  }

  .aboutValues__intro p{
    font-size:16px;
  }

  .aboutValues__cards{
    grid-template-columns:1fr 1fr;
  }

  .aboutValueCard{
    min-height:250px;
  }
}

@media (max-width:576px){
  .aboutValues{
    padding:56px 0 62px;
  }

  .aboutValues h2{
    font-size:clamp(31px,8.6vw,40px);
  }

  .aboutValues__intro p{
    font-size:16px;
    line-height:1.65;
  }

  .aboutValues__photo{
    min-height:390px;
    border-radius:22px 22px 55px 22px;
  }

  .aboutValues__photo figcaption strong{
    font-size:19px;
  }

  .aboutValues__cards{
    grid-template-columns:1fr;
  }

  .aboutValueCard{
    min-height:0;
    padding:21px;
  }

  .aboutValueCard__icon{
    margin-bottom:28px;
  }

  .aboutValueCard h3{
    font-size:19px;
  }

  .aboutValueCard p{
    font-size:15px;
  }
}






/* =========================
04 — BRANDS WE KNOW / EXPERIENCE ACROSS MAJOR APPLIANCES
========================= */
.aboutBrands{
  position:relative;
  overflow:hidden;
  padding:112px 0 120px;
  background:
    radial-gradient(circle at 92% 12%,rgba(226,28,33,.07),transparent 24%),
    linear-gradient(180deg,#fff 0%,#f8f7f4 100%);
}

.aboutBrands__header{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);
  align-items:end;
  gap:72px;
  margin-bottom:48px;
}

.aboutBrands h2{
  max-width:740px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}

.aboutBrands h2 strong{
  display:block;
  color:var(--accent);
}

.aboutBrands__intro p{
  margin:0;
  color:#6d6763;
  font-size:17px;
  line-height:1.72;
}

.aboutBrands__layout{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr);
  gap:28px;
  align-items:stretch;
}

.aboutBrands__content{
  display:flex;
  flex-direction:column;
}

.aboutBrands__leadCard{
  position:relative;
  padding:28px;
  border:1px solid #e7e3de;
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 42px rgba(35,27,23,.05);
}

.aboutBrands__leadIndex{
  position:absolute;
  right:22px;
  top:20px;
  color:#d0cac5;
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}

.aboutBrands__leadCard h3{
  max-width:560px;
  margin:0;
  font-family:var(--font-heading);
  font-size:24px;
  font-weight:800;
  line-height:1.3;
  letter-spacing:-.025em;
}

.aboutBrands__leadCard p{
  max-width:650px;
  margin:14px 0 0;
  color:#716b67;
  font-size:16px;
  line-height:1.68;
}

.aboutBrands__brandGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:16px;
}

.aboutBrandTile{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:76px;
  padding:18px 20px;
  border:1px solid #e7e3de;
  border-radius:18px;
  background:#fff;
  transition:.25s ease;
}

.aboutBrandTile:hover{
  transform:translateY(-3px);
  border-color:rgba(226,28,33,.24);
  box-shadow:0 14px 34px rgba(35,27,23,.06);
}

.aboutBrandTile span:first-child{
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.aboutBrandTile span:last-child{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f5f2ef;
  font-size:16px;
  transition:.25s ease;
}

.aboutBrandTile:hover span:last-child{
  background:var(--accent);
  color:#fff;
}

.aboutBrands__all{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:max-content;
  margin-top:22px;
  color:var(--accent);
  font-size:16px;
  font-weight:800;
}

.aboutBrands__all svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  transition:transform .25s ease;
}

.aboutBrands__all:hover svg{
  transform:translateX(4px);
}

/* Visual */
.aboutBrands__visual{
  display:grid;
  grid-template-rows:1fr auto;
  gap:14px;
}

.aboutBrands__photo{
  position:relative;
  min-height:610px;
  overflow:hidden;
  margin:0;
  border-radius:30px 30px 82px 30px;
  background:#e8e4df;
  box-shadow:0 24px 60px rgba(37,28,23,.11);
}

.aboutBrands__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}

.aboutBrands__photo:hover img{
  transform:scale(1.035);
}

.aboutBrands__photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 48%,rgba(15,15,15,.5));
}

.aboutBrands__photo figcaption{
  position:absolute;
  z-index:2;
  left:25px;
  right:25px;
  bottom:24px;
  display:grid;
  color:#fff;
}

.aboutBrands__photo figcaption span{
  margin-bottom:5px;
  font-size:16px;
  font-weight:700;
}

.aboutBrands__photo figcaption strong{
  max-width:460px;
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:800;
  line-height:1.3;
}

.aboutBrands__note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:20px 22px;
  border-radius:20px;
  background:#171717;
  color:#fff;
}

.aboutBrands__note span{
  color:#aaa;
  font-size:16px;
  font-weight:700;
}

.aboutBrands__note strong{
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

/* Responsive */
@media (max-width:1180px){
  .aboutBrands{
    padding:94px 0 102px;
  }

  .aboutBrands__header{
    gap:48px;
  }

  .aboutBrands__layout{
    grid-template-columns:minmax(0,1fr) minmax(380px,1fr);
  }

  .aboutBrands__photo{
    min-height:560px;
  }
}

@media (max-width:1024px){
  .aboutBrands{
    padding:82px 0 90px;
  }

  .aboutBrands__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .aboutBrands__intro{
    max-width:720px;
  }

  .aboutBrands__layout{
    grid-template-columns:1fr;
    gap:40px;
  }

  .aboutBrands__visual{
    max-width:820px;
  }

  .aboutBrands__photo{
    min-height:500px;
  }
}

@media (max-width:768px){
  .aboutBrands{
    padding:68px 0 76px;
  }

  .aboutBrands__intro p{
    font-size:16px;
  }

  .aboutBrands__brandGrid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:576px){
  .aboutBrands{
    padding:56px 0 62px;
  }

  .aboutBrands h2{
    font-size:clamp(31px,8.6vw,40px);
  }

  .aboutBrands__intro p{
    font-size:16px;
    line-height:1.65;
  }

  .aboutBrands__leadCard{
    padding:22px;
  }

  .aboutBrands__leadCard h3{
    font-size:21px;
  }

  .aboutBrands__leadCard p{
    font-size:15px;
  }

  .aboutBrands__brandGrid{
    grid-template-columns:1fr;
  }

  .aboutBrandTile{
    min-height:72px;
  }

  .aboutBrands__photo{
    min-height:390px;
    border-radius:22px 22px 55px 22px;
  }

  .aboutBrands__note{
    align-items:flex-start;
    flex-direction:column;
  }
}







/* =========================
05 — WHAT WE REPAIR / EVERYDAY APPLIANCE EXPERTISE
========================= */
.aboutExpertise{
  position:relative;
  overflow:hidden;
  padding:114px 0 122px;
  background:
    radial-gradient(circle at 8% 12%,rgba(226,28,33,.06),transparent 24%),
    linear-gradient(180deg,#f8f7f4 0%,#fff 100%);
}

.aboutExpertise__layout{
  display:grid;
  grid-template-columns:minmax(360px,.72fr) minmax(0,1.28fr);
  align-items:center;
  gap:78px;
}

.aboutExpertise__content{
  position:relative;
  z-index:2;
}

.aboutExpertise h2{
  max-width:620px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.15vw,50px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}

.aboutExpertise h2 strong{
  display:block;
  color:var(--accent);
}

.aboutExpertise__lead{
  max-width:600px;
  margin:25px 0 0;
  color:#6c6662;
  font-size:17px;
  line-height:1.72;
}

.aboutExpertise__feature{
  display:grid;
  grid-template-columns:52px 1fr;
  gap:16px;
  margin-top:32px;
  padding:19px;
  border:1px solid #e7e3de;
  border-radius:19px;
  background:#fff;
}

.aboutExpertise__featureIcon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#fff0f0;
  color:var(--accent);
}

.aboutExpertise__featureIcon svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.aboutExpertise__feature strong{
  display:block;
  margin-bottom:4px;
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.aboutExpertise__feature p{
  margin:0;
  color:#77716d;
  font-size:15px;
  line-height:1.58;
}

.aboutExpertise__actions{
  display:flex;
  align-items:center;
  gap:24px;
  margin-top:30px;
}

.aboutExpertise__link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--accent);
  font-size:15px;
  font-weight:800;
}

.aboutExpertise__link svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .25s ease;
}

.aboutExpertise__link:hover svg{
  transform:translateX(4px);
}

/* Grid */
.aboutExpertise__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:240px;
  gap:15px;
}

.expertiseCard{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  background:#dedad6;
  box-shadow:0 18px 45px rgba(37,28,23,.09);
}

.expertiseCard--large{
  grid-row:span 2;
}

.expertiseCard__image{
  position:absolute;
  inset:0;
}

.expertiseCard__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}

.expertiseCard:hover .expertiseCard__image img{
  transform:scale(1.05);
}

.expertiseCard__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(15,15,15,.02) 36%,rgba(15,15,15,.65) 100%);
}

.expertiseCard__content{
  position:absolute;
  z-index:2;
  left:20px;
  right:20px;
  bottom:19px;
  display:grid;
  color:#fff;
}

.expertiseCard__content span{
  margin-bottom:5px;
  color:#ff7b7f;
  font-size:16px;
  font-weight:800;
}

.expertiseCard__content h3{
  margin:0;
  font-family:var(--font-heading);
  font-size:21px;
  font-weight:800;
  line-height:1.25;
}

.expertiseCard--large .expertiseCard__content h3{
  font-size:25px;
}

/* Responsive */
@media (max-width:1180px){
  .aboutExpertise{
    padding:94px 0 102px;
  }

  .aboutExpertise__layout{
    gap:52px;
  }

  .aboutExpertise__grid{
    grid-auto-rows:220px;
  }
}

@media (max-width:1024px){
  .aboutExpertise{
    padding:82px 0 90px;
  }

  .aboutExpertise__layout{
    grid-template-columns:1fr;
    gap:46px;
  }

  .aboutExpertise__content{
    max-width:760px;
  }

  .aboutExpertise__grid{
    max-width:850px;
    grid-auto-rows:260px;
  }
}

@media (max-width:768px){
  .aboutExpertise{
    padding:68px 0 76px;
  }

  .aboutExpertise__lead{
    font-size:16px;
  }

  .aboutExpertise__grid{
    grid-auto-rows:230px;
  }
}

@media (max-width:576px){
  .aboutExpertise{
    padding:56px 0 62px;
  }

  .aboutExpertise h2{
    font-size:clamp(31px,8.6vw,40px);
  }

  .aboutExpertise__lead{
    font-size:16px;
    line-height:1.65;
  }

  .aboutExpertise__feature{
    grid-template-columns:46px 1fr;
    padding:16px;
  }

  .aboutExpertise__featureIcon{
    width:46px;
    height:46px;
  }

  .aboutExpertise__feature strong{
    font-size:16px;
  }

  .aboutExpertise__feature p{
    font-size:16px;
  }

  .aboutExpertise__actions{
    align-items:stretch;
    flex-direction:column;
    gap:17px;
  }

  .aboutExpertise__actions .btn{
    width:100%;
  }

  .aboutExpertise__link{
    justify-content:center;
  }

  .aboutExpertise__grid{
    grid-template-columns:1fr;
    grid-auto-rows:300px;
  }

  .expertiseCard,
  .expertiseCard--large{
    grid-row:auto;
  }

  .expertiseCard--large .expertiseCard__content h3,
  .expertiseCard__content h3{
    font-size:21px;
  }
}

@media (max-width:390px){
  .aboutExpertise__grid{
    grid-auto-rows:270px;
  }
}







/* =========================
06 — MEET THE PEOPLE BEHIND PARKSIDE
========================= */
.aboutTeam{
  position:relative;
  overflow:hidden;
  padding:112px 0 120px;
  background:
    radial-gradient(circle at 7% 12%,rgba(226,28,33,.06),transparent 24%),
    #171717;
  color:#fff;
}

.aboutTeam:before{
  content:"";
  position:absolute;
  right:-230px;
  bottom:-260px;
  width:520px;
  height:520px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:50%;
}

.aboutTeam__header{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);
  align-items:end;
  gap:72px;
  margin-bottom:48px;
}

.aboutTeam .sectionEyebrow{
  color:#ff666a;
}

.aboutTeam .sectionEyebrow span{
  background:#ff666a;
}

.aboutTeam h2{
  max-width:760px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}

.aboutTeam h2 strong{
  display:block;
  color:#ff5a5f;
}

.aboutTeam__intro p{
  margin:0;
  color:#c4c4c4;
  font-size:17px;
  line-height:1.72;
}

.aboutTeam__layout{
  display:grid;
  grid-template-columns:minmax(430px,.9fr) minmax(0,1.1fr);
  gap:24px;
  align-items:stretch;
}

/* Left */
.aboutTeam__feature{
  display:grid;
  grid-template-rows:1fr auto;
  gap:14px;
}

.aboutTeam__mainPhoto{
  position:relative;
  min-height:610px;
  overflow:hidden;
  margin:0;
  border-radius:30px 30px 80px 30px;
  background:#292929;
  box-shadow:0 24px 60px rgba(0,0,0,.22);
}

.aboutTeam__mainPhoto img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}

.aboutTeam__mainPhoto:hover img{
  transform:scale(1.035);
}

.aboutTeam__mainPhoto:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 48%,rgba(10,10,10,.58));
}

.aboutTeam__mainPhoto figcaption{
  position:absolute;
  z-index:2;
  left:25px;
  right:25px;
  bottom:24px;
  display:grid;
}

.aboutTeam__mainPhoto figcaption span{
  margin-bottom:5px;
  color:#ddd;
  font-size:16px;
  font-weight:700;
}

.aboutTeam__mainPhoto figcaption strong{
  max-width:460px;
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:800;
  line-height:1.3;
}

.aboutTeam__trust{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.aboutTeam__trust div{
  padding:20px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  background:#222;
}

.aboutTeam__trust strong{
  display:block;
  font-family:var(--font-heading);
  font-size:23px;
  font-weight:800;
}

.aboutTeam__trust span{
  display:block;
  margin-top:5px;
  color:#aaa;
  font-size:16px;
  line-height:1.45;
}

/* Right */
.aboutTeam__content{
  display:flex;
  flex-direction:column;
  gap:13px;
}

.teamPrinciple{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:20px;
  padding:24px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:22px;
  background:#222;
  transition:.25s ease;
}

.teamPrinciple:hover{
  transform:translateX(5px);
  border-color:rgba(255,90,95,.28);
  background:#252525;
}

.teamPrinciple__number{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:rgba(226,28,33,.13);
  color:#ff6569;
  font-family:var(--font-heading);
  font-size:15px;
  font-weight:800;
}

.teamPrinciple h3{
  margin:0;
  font-family:var(--font-heading);
  font-size:21px;
  font-weight:800;
  line-height:1.3;
}

.teamPrinciple p{
  margin:9px 0 0;
  color:#b9b9b9;
  font-size:15px;
  line-height:1.65;
}

.aboutTeam__note{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:auto;
  padding:22px;
  border-radius:20px;
  background:var(--accent);
}

.aboutTeam__noteIcon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:15px;
  background:rgba(255,255,255,.15);
}

.aboutTeam__noteIcon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:#fff;
  stroke-width:1.7;
}

.aboutTeam__note div{
  display:grid;
}

.aboutTeam__note span{
  color:rgba(255,255,255,.8);
  font-size:16px;
  font-weight:700;
}

.aboutTeam__note strong{
  margin-top:3px;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

/* Responsive */
@media (max-width:1180px){
  .aboutTeam{
    padding:94px 0 102px;
  }

  .aboutTeam__header{
    gap:48px;
  }

  .aboutTeam__layout{
    grid-template-columns:minmax(370px,.82fr) minmax(0,1.18fr);
  }

  .aboutTeam__mainPhoto{
    min-height:560px;
  }
}

@media (max-width:1024px){
  .aboutTeam{
    padding:82px 0 90px;
  }

  .aboutTeam__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .aboutTeam__intro{
    max-width:720px;
  }

  .aboutTeam__layout{
    grid-template-columns:1fr;
  }

  .aboutTeam__feature{
    max-width:820px;
  }

  .aboutTeam__mainPhoto{
    min-height:500px;
  }

  .aboutTeam__content{
    max-width:820px;
  }
}

@media (max-width:768px){
  .aboutTeam{
    padding:68px 0 76px;
  }

  .aboutTeam__intro p{
    font-size:16px;
  }
}

@media (max-width:576px){
  .aboutTeam{
    padding:56px 0 62px;
  }

  .aboutTeam h2{
    font-size:clamp(31px,8.6vw,40px);
  }

  .aboutTeam__intro p{
    font-size:16px;
    line-height:1.65;
  }

  .aboutTeam__mainPhoto{
    min-height:390px;
    border-radius:22px 22px 55px 22px;
  }

  .aboutTeam__mainPhoto figcaption strong{
    font-size:19px;
  }

  .aboutTeam__trust{
    grid-template-columns:1fr;
  }

  .teamPrinciple{
    grid-template-columns:48px 1fr;
    gap:15px;
    padding:20px;
  }

  .teamPrinciple__number{
    width:46px;
    height:46px;
  }

  .teamPrinciple h3{
    font-size:19px;
  }

  .teamPrinciple p{
    font-size:15px;
  }
}









/* =========================
07 — OUR SERVICE PROMISE / 90-DAY LABOR GUARANTEE
========================= */
.aboutPromise{
  position:relative;
  overflow:hidden;
  padding:114px 0 122px;
  background:
    radial-gradient(circle at 8% 12%,rgba(226,28,33,.07),transparent 24%),
    linear-gradient(180deg,#fff 0%,#f8f7f4 100%);
}

.aboutPromise:after{
  content:"";
  position:absolute;
  right:-230px;
  bottom:-260px;
  width:520px;
  height:520px;
  border:1px solid rgba(226,28,33,.07);
  border-radius:50%;
  pointer-events:none;
}

.aboutPromise__layout{
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr);
  align-items:center;
  gap:78px;
}

.aboutPromise__content{
  position:relative;
  z-index:2;
}

.aboutPromise h2{
  max-width:650px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.15vw,50px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}

.aboutPromise h2 strong{
  display:block;
  color:var(--accent);
}

.aboutPromise__lead{
  max-width:620px;
  margin:25px 0 0;
  color:#6c6662;
  font-size:17px;
  line-height:1.72;
}

/* Guarantee */
.aboutPromise__guarantee{
  display:grid;
  grid-template-columns:130px 1fr;
  gap:24px;
  align-items:center;
  margin-top:34px;
  padding:24px;
  border:1px solid rgba(226,28,33,.15);
  border-radius:24px;
  background:
    radial-gradient(circle at 100% 0%,rgba(226,28,33,.08),transparent 36%),
    #fff;
  box-shadow:0 18px 45px rgba(35,27,23,.06);
}

.aboutPromise__guaranteeNumber{
  width:130px;
  height:130px;
  display:grid;
  place-content:center;
  text-align:center;
  border-radius:50%;
  background:var(--accent);
  color:#fff;
  box-shadow:0 18px 38px rgba(226,28,33,.22);
}

.aboutPromise__guaranteeNumber strong{
  font-family:var(--font-heading);
  font-size:48px;
  font-weight:800;
  line-height:.9;
}

.aboutPromise__guaranteeNumber span{
  margin-top:5px;
  font-size:16px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.aboutPromise__guaranteeText{
  display:grid;
}

.aboutPromise__guaranteeText>span{
  color:var(--accent);
  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.aboutPromise__guaranteeText>strong{
  margin-top:5px;
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.3;
}

.aboutPromise__guaranteeText p{
  margin:9px 0 0;
  color:#77716d;
  font-size:15px;
  line-height:1.6;
}

.aboutPromise__button{
  margin-top:28px;
  min-height:56px;
  gap:10px;
}

.aboutPromise__button svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .25s ease;
}

.aboutPromise__button:hover svg{
  transform:translateX(4px);
}

/* Right side */
.aboutPromise__right{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(250px,.95fr);
  gap:16px;
  min-width:0;
}

.aboutPromise__photo{
  position:relative;
  min-height:570px;
  overflow:hidden;
  margin:0;
  border-radius:30px 30px 30px 78px;
  background:#e7e3df;
  box-shadow:0 24px 60px rgba(37,28,23,.11);
}

.aboutPromise__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}

.aboutPromise__photo:hover img{
  transform:scale(1.035);
}

.aboutPromise__photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 52%,rgba(15,15,15,.52));
}

.aboutPromise__photo figcaption{
  position:absolute;
  z-index:2;
  left:24px;
  right:24px;
  bottom:23px;
  display:grid;
  color:#fff;
}

.aboutPromise__photo figcaption span{
  margin-bottom:5px;
  font-size:16px;
  font-weight:700;
}

.aboutPromise__photo figcaption strong{
  font-family:var(--font-heading);
  font-size:21px;
  font-weight:800;
  line-height:1.3;
}

/* Principle cards */
.aboutPromise__principles{
  display:grid;
  gap:12px;
}

.promisePoint{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:174px;
  padding:21px;
  border:1px solid #e7e3de;
  border-radius:20px;
  background:#fff;
  transition:.25s ease;
}

.promisePoint:hover{
  transform:translateX(4px);
  border-color:rgba(226,28,33,.25);
  box-shadow:0 14px 34px rgba(35,27,23,.06);
}

.promisePoint__index{
  position:absolute;
  top:18px;
  right:18px;
  color:#cec8c3;
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}

.promisePoint h3{
  margin:0;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  line-height:1.3;
}

.promisePoint p{
  margin:8px 0 0;
  color:#746e6a;
  font-size:15px;
  line-height:1.58;
}

/* Responsive */
@media (max-width:1180px){
  .aboutPromise{
    padding:94px 0 102px;
  }

  .aboutPromise__layout{
    grid-template-columns:minmax(0,.9fr) minmax(470px,1.1fr);
    gap:52px;
  }

  .aboutPromise__photo{
    min-height:530px;
  }
}

@media (max-width:1024px){
  .aboutPromise{
    padding:82px 0 90px;
  }

  .aboutPromise__layout{
    grid-template-columns:1fr;
    gap:46px;
  }

  .aboutPromise__content{
    max-width:760px;
  }

  .aboutPromise__right{
    max-width:850px;
  }
}

@media (max-width:768px){
  .aboutPromise{
    padding:68px 0 76px;
  }

  .aboutPromise__lead{
    font-size:16px;
  }

  .aboutPromise__right{
    grid-template-columns:1fr;
  }

  .aboutPromise__photo{
    min-height:480px;
  }

  .aboutPromise__principles{
    grid-template-columns:repeat(3,1fr);
  }

  .promisePoint{
    min-height:190px;
  }
}

@media (max-width:576px){
  .aboutPromise{
    padding:56px 0 62px;
  }

  .aboutPromise h2{
    font-size:clamp(31px,8.6vw,40px);
  }

  .aboutPromise__lead{
    font-size:16px;
    line-height:1.65;
  }

  .aboutPromise__guarantee{
    grid-template-columns:1fr;
    justify-items:start;
  }

  .aboutPromise__guaranteeNumber{
    width:112px;
    height:112px;
  }

  .aboutPromise__guaranteeNumber strong{
    font-size:42px;
  }

  .aboutPromise__button{
    width:100%;
  }

  .aboutPromise__photo{
    min-height:390px;
    border-radius:22px 22px 22px 55px;
  }

  .aboutPromise__principles{
    grid-template-columns:1fr;
  }

  .promisePoint{
    min-height:0;
  }
}







/* =========================
08 — SERVICE AREA / PROUDLY LOCAL TO THE BAY AREA
========================= */
.aboutLocal{
  position:relative;
  overflow:hidden;
  padding:114px 0 122px;
  background:
    radial-gradient(circle at 92% 8%,rgba(226,28,33,.065),transparent 23%),
    linear-gradient(180deg,#f8f7f4 0%,#fff 100%);
}

.aboutLocal__header{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);
  align-items:end;
  gap:72px;
  margin-bottom:48px;
}

.aboutLocal h2{
  max-width:760px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}

.aboutLocal h2 strong{
  display:block;
  color:var(--accent);
}

.aboutLocal__intro p{
  margin:0;
  color:#6d6763;
  font-size:17px;
  line-height:1.72;
}

.aboutLocal__layout{
  display:grid;
  grid-template-columns:minmax(440px,.95fr) minmax(0,1.05fr);
  align-items:stretch;
  gap:26px;
}

/* Photo */
.aboutLocal__photo{
  position:relative;
  min-height:650px;
  overflow:hidden;
  margin:0;
  border-radius:30px 30px 82px 30px;
  background:#e8e4df;
  box-shadow:0 24px 60px rgba(37,28,23,.11);
}

.aboutLocal__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}

.aboutLocal__photo:hover img{
  transform:scale(1.035);
}

.aboutLocal__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 52%,rgba(14,14,14,.58));
}

.aboutLocal__photo figcaption{
  position:absolute;
  z-index:2;
  left:26px;
  right:26px;
  bottom:25px;
  display:grid;
  color:#fff;
}

.aboutLocal__photo figcaption span{
  margin-bottom:5px;
  font-size:16px;
  font-weight:700;
}

.aboutLocal__photo figcaption strong{
  font-family:var(--font-heading);
  font-size:24px;
  font-weight:800;
  line-height:1.25;
}

/* Content */
.aboutLocal__content{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.aboutLocal__summary{
  padding:28px;
  border:1px solid #e7e3de;
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 42px rgba(35,27,23,.05);
}

.aboutLocal__summaryLabel{
  display:block;
  margin-bottom:10px;
  color:var(--accent);
  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.aboutLocal__summary h3{
  max-width:620px;
  margin:0;
  font-family:var(--font-heading);
  font-size:24px;
  font-weight:800;
  line-height:1.3;
  letter-spacing:-.025em;
}

.aboutLocal__summary p{
  margin:13px 0 0;
  color:#716b67;
  font-size:16px;
  line-height:1.68;
}

.aboutLocal__areas{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:11px;
  margin-top:15px;
}

.aboutLocal__area{
  display:grid;
  grid-template-columns:42px 1fr 36px;
  align-items:center;
  gap:13px;
  min-height:78px;
  padding:15px;
  border:1px solid #e7e3de;
  border-radius:17px;
  background:#fff;
  transition:.25s ease;
}

.aboutLocal__area:hover{
  transform:translateY(-3px);
  border-color:rgba(226,28,33,.25);
  box-shadow:0 14px 32px rgba(35,27,23,.06);
}

.aboutLocal__areaIndex{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#f5f2ef;
  color:#8b847f;
  font-size:16px;
  font-weight:800;
}

.aboutLocal__area:hover .aboutLocal__areaIndex{
  background:#fff0f0;
  color:var(--accent);
}

.aboutLocal__areaName{
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
  line-height:1.3;
}

.aboutLocal__areaArrow{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f5f2ef;
  transition:.25s ease;
}

.aboutLocal__area:hover .aboutLocal__areaArrow{
  background:var(--accent);
  color:#fff;
}

.aboutLocal__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:auto;
  padding:22px 24px;
  border-radius:20px;
  background:#171717;
  color:#fff;
}

.aboutLocal__footer div{
  display:grid;
}

.aboutLocal__footer span{
  color:#aaa;
  font-size:16px;
}

.aboutLocal__footer strong{
  margin-top:3px;
  font-size:15px;
  font-weight:800;
}

.aboutLocal__footer>a{
  flex:0 0 auto;
  color:#ff666a;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

/* Responsive */
@media (max-width:1180px){
  .aboutLocal{
    padding:94px 0 102px;
  }

  .aboutLocal__header{
    gap:48px;
  }

  .aboutLocal__layout{
    grid-template-columns:minmax(390px,.9fr) minmax(0,1.1fr);
  }

  .aboutLocal__photo{
    min-height:600px;
  }
}

@media (max-width:1024px){
  .aboutLocal{
    padding:82px 0 90px;
  }

  .aboutLocal__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .aboutLocal__intro{
    max-width:720px;
  }

  .aboutLocal__layout{
    grid-template-columns:1fr;
  }

  .aboutLocal__photo{
    min-height:500px;
  }
}

@media (max-width:768px){
  .aboutLocal{
    padding:68px 0 76px;
  }

  .aboutLocal__intro p{
    font-size:16px;
  }
}

@media (max-width:576px){
  .aboutLocal{
    padding:56px 0 62px;
  }

  .aboutLocal h2{
    font-size:clamp(31px,8.6vw,40px);
  }

  .aboutLocal__intro p{
    font-size:16px;
    line-height:1.65;
  }

  .aboutLocal__photo{
    min-height:390px;
    border-radius:22px 22px 55px 22px;
  }

  .aboutLocal__photo figcaption strong{
    font-size:20px;
  }

  .aboutLocal__summary{
    padding:22px;
  }

  .aboutLocal__summary h3{
    font-size:21px;
  }

  .aboutLocal__summary p{
    font-size:15px;
  }

  .aboutLocal__areas{
    grid-template-columns:1fr;
  }

  .aboutLocal__footer{
    align-items:flex-start;
    flex-direction:column;
  }
}







/* =========================
09 — WHY HOMEOWNERS CHOOSE PARKSIDE
========================= */
.aboutChoose{
  position:relative;
  overflow:hidden;
  padding:112px 0 120px;
  background:
    radial-gradient(circle at 90% 10%,rgba(226,28,33,.06),transparent 24%),
    #171717;
  color:#fff;
}

.aboutChoose:before{
  content:"";
  position:absolute;
  left:-230px;
  bottom:-260px;
  width:520px;
  height:520px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:50%;
}

.aboutChoose__header{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);
  align-items:end;
  gap:72px;
  margin-bottom:48px;
}

.aboutChoose .sectionEyebrow{
  color:#ff666a;
}

.aboutChoose .sectionEyebrow span{
  background:#ff666a;
}

.aboutChoose h2{
  max-width:760px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}

.aboutChoose h2 strong{
  display:block;
  color:#ff5a5f;
}

.aboutChoose__intro p{
  margin:0;
  color:#c5c5c5;
  font-size:17px;
  line-height:1.72;
}

/* Grid */
.aboutChoose__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.chooseCard{
  position:relative;
  min-height:300px;
  padding:25px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:22px;
  background:#222;
  transition:transform .28s ease,border-color .28s ease,background .28s ease;
}

.chooseCard:hover{
  transform:translateY(-5px);
  border-color:rgba(255,90,95,.28);
  background:#252525;
}

.chooseCard--accent{
  background:
    radial-gradient(circle at 100% 0%,rgba(226,28,33,.22),transparent 40%),
    #222;
}

.chooseCard__number{
  position:absolute;
  right:20px;
  top:18px;
  color:#666;
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}

.chooseCard__icon{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  margin-bottom:42px;
  border-radius:18px;
  background:rgba(226,28,33,.13);
  color:#ff666a;
}

.chooseCard__icon svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.chooseCard h3{
  margin:0;
  font-family:var(--font-heading);
  font-size:21px;
  font-weight:800;
  line-height:1.3;
}

.chooseCard p{
  margin:11px 0 0;
  color:#b9b9b9;
  font-size:15px;
  line-height:1.65;
}

/* CTA card */
.chooseCard--cta{
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:var(--accent);
  border-color:var(--accent);
}

.chooseCard--cta:hover{
  background:var(--accent);
  border-color:var(--accent);
}

.chooseCard__eyebrow{
  margin-bottom:12px;
  color:rgba(255,255,255,.8);
  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.chooseCard--cta h3{
  max-width:390px;
  font-size:24px;
}

.chooseCard--cta p{
  max-width:420px;
  color:rgba(255,255,255,.82);
}

.chooseCard__actions{
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:24px;
}

.chooseCard--cta .btn{
  background:#fff;
  color:#171717;
}

.chooseCard__phone{
  color:#fff;
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

/* Responsive */
@media (max-width:1024px){
  .aboutChoose{
    padding:82px 0 90px;
  }

  .aboutChoose__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .aboutChoose__intro{
    max-width:720px;
  }

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

@media (max-width:768px){
  .aboutChoose{
    padding:68px 0 76px;
  }

  .aboutChoose__intro p{
    font-size:16px;
  }
}

@media (max-width:576px){
  .aboutChoose{
    padding:56px 0 62px;
  }

  .aboutChoose h2{
    font-size:clamp(31px,8.6vw,40px);
  }

  .aboutChoose__intro p{
    font-size:16px;
    line-height:1.65;
  }

  .aboutChoose__grid{
    grid-template-columns:1fr;
  }

  .chooseCard{
    min-height:0;
    padding:21px;
  }

  .chooseCard__icon{
    margin-bottom:30px;
  }

  .chooseCard h3{
    font-size:20px;
  }

  .chooseCard--cta h3{
    font-size:22px;
  }

  .chooseCard__actions{
    align-items:stretch;
    flex-direction:column;
  }

  .chooseCard__actions .btn{
    width:100%;
  }

  .chooseCard__phone{
    text-align:center;
  }
}








/* =========================
10 — FINAL CTA / CONTACT PARKSIDE TODAY
========================= */
.aboutCta{
  position:relative;
  overflow:hidden;
  padding:112px 0 120px;
  background:
    radial-gradient(circle at 90% 12%,rgba(226,28,33,.16),transparent 26%),
    #171717;
  color:#fff;
}

.aboutCta:before{
  content:"";
  position:absolute;
  left:-220px;
  bottom:-250px;
  width:500px;
  height:500px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:50%;
}

.aboutCta__shell{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(470px,.98fr);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:32px;
  background:#202020;
  box-shadow:0 30px 80px rgba(0,0,0,.26);
}

.aboutCta__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:64px 62px;
}

.aboutCta .sectionEyebrow{
  color:#ff666a;
}

.aboutCta .sectionEyebrow span{
  background:#ff666a;
}

.aboutCta h2{
  max-width:650px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.06;
  letter-spacing:-.045em;
}

.aboutCta h2 strong{
  display:block;
  color:#ff5c61;
}

.aboutCta__lead{
  max-width:620px;
  margin:24px 0 0;
  color:#c4c4c4;
  font-size:17px;
  line-height:1.72;
}

.aboutCta__actions{
  display:flex;
  align-items:center;
  gap:25px;
  margin-top:31px;
}

.aboutCta__button{
  min-height:56px;
  gap:10px;
  font-size:16px;
}

.aboutCta__button svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .25s ease;
}

.aboutCta__button:hover svg{
  transform:translateX(4px);
}

.aboutCta__phone{
  display:flex;
  align-items:center;
  gap:12px;
}

.aboutCta__phoneIcon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  background:rgba(255,255,255,.06);
  color:#ff6569;
}

.aboutCta__phoneIcon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
}

.aboutCta__phone>span:last-child{
  display:grid;
}

.aboutCta__phone small{
  color:#aaa;
  font-size:16px;
  font-weight:700;
}

.aboutCta__phone strong{
  margin-top:3px;
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.aboutCta__info{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:38px;
  padding-top:27px;
  border-top:1px solid rgba(255,255,255,.10);
}

.aboutCta__infoItem{
  display:grid;
  gap:4px;
}

.aboutCta__infoItem span{
  color:#929292;
  font-size:16px;
  font-weight:600;
}

.aboutCta__infoItem strong{
  font-size:16px;
  font-weight:800;
  line-height:1.45;
}

/* Visual */
.aboutCta__visual{
  position:relative;
  min-height:620px;
  overflow:hidden;
}

.aboutCta__photo{
  position:absolute;
  inset:0;
  margin:0;
}

.aboutCta__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}

.aboutCta__visual:hover .aboutCta__photo img{
  transform:scale(1.035);
}

.aboutCta__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(12,12,12,.02) 36%,rgba(12,12,12,.62) 100%);
}

.aboutCta__photo figcaption{
  position:absolute;
  z-index:2;
  left:28px;
  right:28px;
  bottom:27px;
  display:grid;
}

.aboutCta__photo figcaption span{
  margin-bottom:6px;
  color:#ddd;
  font-size:16px;
  font-weight:700;
}

.aboutCta__photo figcaption strong{
  max-width:430px;
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:800;
  line-height:1.3;
}

.aboutCta__badge{
  position:absolute;
  z-index:3;
  right:24px;
  top:24px;
  width:122px;
  height:122px;
  display:grid;
  place-content:center;
  text-align:center;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 18px 45px rgba(226,28,33,.25);
}

.aboutCta__badge span{
  color:rgba(255,255,255,.8);
  font-size:16px;
  font-weight:700;
}

.aboutCta__badge strong{
  margin-top:3px;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

/* Responsive */
@media (max-width:1180px){
  .aboutCta{
    padding:94px 0 102px;
  }

  .aboutCta__content{
    padding:52px 44px;
  }

  .aboutCta__visual{
    min-height:570px;
  }
}

@media (max-width:1024px){
  .aboutCta{
    padding:82px 0 90px;
  }

  .aboutCta__shell{
    grid-template-columns:1fr;
  }

  .aboutCta__visual{
    min-height:500px;
  }

  .aboutCta__content{
    padding:48px;
  }
}

@media (max-width:768px){
  .aboutCta{
    padding:68px 0 76px;
  }

  .aboutCta__lead{
    font-size:16px;
  }

  .aboutCta__info{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:576px){
  .aboutCta{
    padding:56px 0 62px;
  }

  .aboutCta__shell{
    border-radius:24px;
  }

  .aboutCta__content{
    padding:34px 22px;
  }

  .aboutCta h2{
    font-size:clamp(32px,8.8vw,42px);
  }

  .aboutCta__lead{
    font-size:16px;
    line-height:1.65;
  }

  .aboutCta__actions{
    align-items:stretch;
    flex-direction:column;
    gap:18px;
  }

  .aboutCta__button{
    width:100%;
  }

  .aboutCta__phone{
    justify-content:center;
  }

  .aboutCta__info{
    grid-template-columns:1fr;
    gap:15px;
  }

  .aboutCta__visual{
    min-height:390px;
  }

  .aboutCta__badge{
    width:105px;
    height:105px;
    right:16px;
    top:16px;
  }

  .aboutCta__photo figcaption{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .aboutCta__photo figcaption strong{
    font-size:19px;
  }
}































/* =========================
01 — CONTACT HERO / GET IN TOUCH
========================= */
.contactHero{
  position:relative;
  overflow:hidden;
  padding:68px 0 104px;
  background:
    radial-gradient(circle at 6% 16%,rgba(226,28,33,.075),transparent 25%),
    radial-gradient(circle at 92% 12%,rgba(213,190,168,.17),transparent 27%),
    linear-gradient(180deg,#fff 0%,#faf9f6 100%);
}

.contactHero:before{
  content:"";
  position:absolute;
  left:-220px;
  bottom:-290px;
  width:550px;
  height:550px;
  border:1px solid rgba(226,28,33,.07);
  border-radius:50%;
  pointer-events:none;
}

.contactHero__layout{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(590px,1.14fr);
  align-items:center;
  gap:82px;
}

.contactHero__content{
  position:relative;
  z-index:3;
}

.contactHero h1{
  max-width:690px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(43px,4vw,64px);
  font-weight:800;
  line-height:1.04;
  letter-spacing:-.052em;
  color:#181716;
}

.contactHero h1 strong{
  display:block;
  color:var(--accent);
}

.contactHero__lead{
  max-width:650px;
  margin:26px 0 0;
  color:#68625e;
  font-size:18px;
  line-height:1.72;
}

.contactHero__actions{
  display:flex;
  align-items:center;
  gap:27px;
  margin-top:32px;
}

.contactHero__button{
  min-height:56px;
  gap:10px;
  padding-inline:25px;
  font-size:16px;
}

.contactHero__button svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .25s ease;
}

.contactHero__button:hover svg{
  transform:translateX(4px);
}

.contactHero__phone{
  display:flex;
  align-items:center;
  gap:12px;
}

.contactHero__phoneIcon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:#fff0f0;
  color:var(--accent);
}

.contactHero__phoneIcon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
}

.contactHero__phone>span:last-child{
  display:grid;
}

.contactHero__phone small{
  color:#8b8580;
  font-size:16px;
  font-weight:700;
}

.contactHero__phone strong{
  margin-top:3px;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.contactHero__details{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:43px;
  padding-top:25px;
  border-top:1px solid #e5e0db;
}

.contactHero__detail{
  display:grid;
  gap:4px;
}

.contactHero__detail span{
  color:#8a847f;
  font-size:16px;
  font-weight:600;
}

.contactHero__detail strong{
  color:#1b1b1b;
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
  line-height:1.45;
}

/* Visual */
.contactHero__visual{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(210px,.6fr);
  gap:17px;
  min-height:650px;
}

.contactHero__side{
  display:grid;
  grid-template-rows:1.15fr .85fr;
  gap:17px;
}

.contactHero__photo{
  position:relative;
  overflow:hidden;
  margin:0;
  background:#e8e4df;
  box-shadow:0 28px 70px rgba(38,29,24,.13);
}

.contactHero__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}

.contactHero__photo:hover img{
  transform:scale(1.035);
}

.contactHero__photo--main{
  border-radius:34px 34px 34px 92px;
}

.contactHero__photo--detail{
  border-radius:26px 72px 26px 26px;
}

.contactHero__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    180deg,
    transparent 50%,
    rgba(18,16,14,.5)
  );
}

.contactHero__photo--main figcaption{
  position:absolute;
  z-index:2;
  left:27px;
  right:27px;
  bottom:26px;
  display:grid;
  color:#fff;
}

.contactHero__photo--main figcaption span{
  margin-bottom:5px;
  font-size:16px;
  font-weight:700;
}

.contactHero__photo--main figcaption strong{
  max-width:430px;
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:800;
  line-height:1.3;
}

/* Contact card */
.contactHero__contactCard{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:25px;
  border-radius:24px;
  background:#171717;
  color:#fff;
  box-shadow:0 24px 55px rgba(0,0,0,.16);
}

.contactHero__contactLabel{
  color:#8d8d8d;
  font-size:16px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.contactHero__contactCard a{
  margin-top:7px;
  color:#ff6468;
  font-size:15px;
  font-weight:800;
  line-height:1.5;
  word-break:break-word;
}

.contactHero__contactLabel--second{
  margin-top:25px;
}

.contactHero__contactCard strong{
  margin-top:7px;
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
  line-height:1.45;
}

/* Responsive */
@media (max-width:1180px){
  .contactHero{
    padding:56px 0 90px;
  }

  .contactHero__layout{
    grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr);
    gap:50px;
  }

  .contactHero__visual{
    min-height:590px;
  }
}

@media (max-width:1024px){
  .contactHero{
    padding:44px 0 82px;
  }

  .contactHero__layout{
    grid-template-columns:1fr;
    gap:46px;
  }

  .contactHero__content{
    max-width:790px;
  }

  .contactHero__visual{
    max-width:850px;
    min-height:620px;
  }
}

@media (max-width:768px){
  .contactHero{
    padding:36px 0 68px;
  }

  .contactHero__lead{
    font-size:17px;
  }

  .contactHero__visual{
    min-height:540px;
  }

  .contactHero__details{
    grid-template-columns:1fr 1fr;
  }

  .contactHero__detail:last-child{
    grid-column:1/-1;
  }
}

@media (max-width:576px){
  .contactHero{
    padding:28px 0 56px;
  }

  .contactHero h1{
    font-size:clamp(36px,10vw,46px);
    line-height:1.07;
  }

  .contactHero__lead{
    font-size:16px;
    line-height:1.65;
  }

  .contactHero__actions{
    align-items:stretch;
    flex-direction:column;
    gap:17px;
  }

  .contactHero__button{
    width:100%;
  }

  .contactHero__phone{
    justify-content:center;
  }

  .contactHero__details{
    grid-template-columns:1fr;
  }

  .contactHero__detail:last-child{
    grid-column:auto;
  }

  .contactHero__visual{
    grid-template-columns:1fr;
    min-height:0;
  }

  .contactHero__photo--main{
    min-height:420px;
    border-radius:22px 22px 22px 58px;
  }

  .contactHero__side{
    grid-template-columns:1fr;
    grid-template-rows:auto;
  }

  .contactHero__photo--detail{
    min-height:270px;
    border-radius:22px;
  }

  .contactHero__contactCard{
    min-height:230px;
  }
}









/* =========================
02 — REQUEST SERVICE / CONTACT FORM
========================= */
.contactFormSection{
  position:relative;
  overflow:hidden;
  padding:112px 0 120px;
  background:
    radial-gradient(circle at 92% 8%,rgba(226,28,33,.06),transparent 24%),
    linear-gradient(180deg,#fff 0%,#f8f7f4 100%);
}

.contactFormSection__header{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);
  align-items:end;
  gap:72px;
  margin-bottom:48px;
}

.contactFormSection h2{
  max-width:760px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}

.contactFormSection h2 strong{
  display:block;
  color:var(--accent);
}

.contactFormSection__intro{
  margin:0;
  color:#6d6763;
  font-size:17px;
  line-height:1.72;
}

/* Layout */
.contactFormSection__layout{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  gap:24px;
  align-items:stretch;
}

/* Form */
.serviceForm{
  padding:30px;
  border:1px solid #e7e3de;
  border-radius:26px;
  background:#fff;
  box-shadow:0 20px 55px rgba(35,27,23,.06);
}

.serviceForm__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.serviceForm__field{
  display:grid;
  gap:8px;
}

.serviceForm__field--full{
  grid-column:1/-1;
}

.serviceForm__field label{
  color:#2a2826;
  font-size:16px;
  font-weight:800;
}

.serviceForm__field input,
.serviceForm__field select,
.serviceForm__field textarea{
  width:100%;
  border:1px solid #ddd8d3;
  border-radius:14px;
  background:#fbfaf8;
  color:#1d1c1b;
  font-family:inherit;
  font-size:16px;
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.serviceForm__field input,
.serviceForm__field select{
  min-height:54px;
  padding:0 15px;
}

.serviceForm__field textarea{
  min-height:160px;
  padding:15px;
  resize:vertical;
  line-height:1.6;
}

.serviceForm__field input::placeholder,
.serviceForm__field textarea::placeholder{
  color:#a09a95;
}

.serviceForm__field input:focus,
.serviceForm__field select:focus,
.serviceForm__field textarea:focus{
  border-color:rgba(226,28,33,.45);
  background:#fff;
  box-shadow:0 0 0 4px rgba(226,28,33,.07);
}

.serviceForm__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:24px;
  padding-top:23px;
  border-top:1px solid #ebe7e3;
}

.serviceForm__footer p{
  max-width:470px;
  margin:0;
  color:#85807b;
  font-size:16px;
  line-height:1.55;
}

.serviceForm__submit{
  min-height:56px;
  flex:0 0 auto;
  gap:10px;
}

.serviceForm__submit svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .25s ease;
}

.serviceForm__submit:hover svg{
  transform:translateX(4px);
}

/* Aside */
.contactFormSection__aside{
  display:grid;
  grid-template-rows:1fr auto;
  gap:14px;
}

.contactFormSection__photo{
  position:relative;
  min-height:530px;
  overflow:hidden;
  margin:0;
  border-radius:28px 28px 70px 28px;
  background:#e7e3de;
  box-shadow:0 22px 55px rgba(35,27,23,.10);
}

.contactFormSection__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}

.contactFormSection__photo:hover img{
  transform:scale(1.035);
}

.contactFormSection__photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 48%,rgba(15,15,15,.55));
}

.contactFormSection__photo figcaption{
  position:absolute;
  z-index:2;
  left:24px;
  right:24px;
  bottom:23px;
  display:grid;
  color:#fff;
}

.contactFormSection__photo figcaption span{
  margin-bottom:5px;
  font-size:16px;
  font-weight:700;
}

.contactFormSection__photo figcaption strong{
  max-width:400px;
  font-family:var(--font-heading);
  font-size:21px;
  font-weight:800;
  line-height:1.3;
}

.contactFormSection__info{
  display:grid;
  gap:1px;
  overflow:hidden;
  border-radius:20px;
  background:#e8e4df;
}

.contactFormSection__infoItem{
  display:grid;
  gap:5px;
  padding:19px 21px;
  background:#171717;
}

.contactFormSection__infoItem span{
  color:#919191;
  font-size:16px;
  font-weight:700;
}

.contactFormSection__infoItem a,
.contactFormSection__infoItem strong{
  color:#fff;
  font-family:var(--font-heading);
  font-size:15px;
  font-weight:800;
  line-height:1.45;
}

.contactFormSection__infoItem a{
  color:#ff6569;
  word-break:break-word;
}

/* Responsive */
@media (max-width:1024px){
  .contactFormSection{
    padding:82px 0 90px;
  }

  .contactFormSection__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .contactFormSection__intro{
    max-width:720px;
  }

  .contactFormSection__layout{
    grid-template-columns:1fr;
  }

  .contactFormSection__aside{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
  }

  .contactFormSection__photo{
    min-height:460px;
  }
}

@media (max-width:768px){
  .contactFormSection{
    padding:68px 0 76px;
  }

  .contactFormSection__intro{
    font-size:16px;
  }

  .contactFormSection__aside{
    grid-template-columns:1fr;
  }
}

@media (max-width:576px){
  .contactFormSection{
    padding:56px 0 62px;
  }

  .contactFormSection h2{
    font-size:clamp(31px,8.6vw,40px);
  }

  .contactFormSection__intro{
    font-size:16px;
    line-height:1.65;
  }

  .serviceForm{
    padding:20px;
    border-radius:20px;
  }

  .serviceForm__grid{
    grid-template-columns:1fr;
  }

  .serviceForm__field--full{
    grid-column:auto;
  }

  .serviceForm__footer{
    align-items:stretch;
    flex-direction:column;
  }

  .serviceForm__submit{
    width:100%;
  }

  .contactFormSection__photo{
    min-height:390px;
    border-radius:22px 22px 55px 22px;
  }
}








/* =========================
03 — QUICK CONTACT / WAYS TO REACH US
========================= */
.contactWays{
  position:relative;
  overflow:hidden;
  padding:112px 0 120px;
  background:
    radial-gradient(circle at 8% 10%,rgba(226,28,33,.06),transparent 24%),
    #171717;
  color:#fff;
}

.contactWays__header{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);
  align-items:end;
  gap:72px;
  margin-bottom:48px;
}

.contactWays .sectionEyebrow{
  color:#ff666a;
}

.contactWays .sectionEyebrow span{
  background:#ff666a;
}

.contactWays h2{
  max-width:760px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}

.contactWays h2 strong{
  display:block;
  color:#ff5a5f;
}

.contactWays__intro{
  margin:0;
  color:#c4c4c4;
  font-size:17px;
  line-height:1.72;
}

.contactWays__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.contactWayCard{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:360px;
  padding:24px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:22px;
  background:#222;
  color:#fff;
  transition:transform .28s ease,border-color .28s ease,background .28s ease;
}

.contactWayCard:hover{
  transform:translateY(-5px);
  border-color:rgba(255,90,95,.28);
  background:#252525;
}

.contactWayCard--accent{
  background:
    radial-gradient(circle at 100% 0%,rgba(226,28,33,.22),transparent 40%),
    #222;
}

.contactWayCard__number{
  position:absolute;
  right:20px;
  top:18px;
  color:#666;
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}

.contactWayCard__icon{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  margin-bottom:36px;
  border-radius:18px;
  background:rgba(226,28,33,.13);
  color:#ff666a;
}

.contactWayCard__icon svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.contactWayCard__label{
  margin-bottom:8px;
  color:#8f8f8f;
  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.contactWayCard h3{
  margin:0;
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.35;
  word-break:break-word;
}

.contactWayCard p{
  margin:12px 0 0;
  color:#b8b8b8;
  font-size:15px;
  line-height:1.65;
}

.contactWayCard__action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-top:auto;
  padding-top:26px;
  color:#ff666a;
  font-size:15px;
  font-weight:800;
}

.contactWayCard__action>span{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.07);
  color:#fff;
}

.contactWayCard__schedule{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08);
}

.contactWayCard__schedule span{
  color:#999;
  font-size:16px;
}

.contactWayCard__schedule strong{
  font-size:16px;
  font-weight:800;
}

.contactWayCard__note{
  display:block;
  margin-top:auto;
  padding-top:24px;
  color:#909090;
  font-size:16px;
  line-height:1.5;
}

/* Responsive */
@media (max-width:1180px){
  .contactWays{
    padding:94px 0 102px;
  }

  .contactWays__header{
    gap:48px;
  }

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

@media (max-width:1024px){
  .contactWays{
    padding:82px 0 90px;
  }

  .contactWays__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .contactWays__intro{
    max-width:720px;
  }
}

@media (max-width:768px){
  .contactWays{
    padding:68px 0 76px;
  }

  .contactWays__intro{
    font-size:16px;
  }
}

@media (max-width:576px){
  .contactWays{
    padding:56px 0 62px;
  }

  .contactWays h2{
    font-size:clamp(31px,8.6vw,40px);
  }

  .contactWays__intro{
    font-size:16px;
    line-height:1.65;
  }

  .contactWays__grid{
    grid-template-columns:1fr;
  }

  .contactWayCard{
    min-height:0;
    padding:21px;
  }

  .contactWayCard__icon{
    margin-bottom:28px;
  }

  .contactWayCard h3{
    font-size:19px;
  }
}









/* =========================
04 — SERVICE AREA / WHERE WE'RE LOCATED
========================= */
.contactLocation{
  position:relative;
  overflow:hidden;
  padding:112px 0 120px;
  background:
    radial-gradient(circle at 92% 10%,rgba(226,28,33,.06),transparent 24%),
    linear-gradient(180deg,#fff 0%,#f8f7f4 100%);
}

.contactLocation__header{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);
  align-items:end;
  gap:72px;
  margin-bottom:48px;
}

.contactLocation h2{
  max-width:760px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}

.contactLocation h2 strong{
  display:block;
  color:var(--accent);
}

.contactLocation__intro{
  margin:0;
  color:#6d6763;
  font-size:17px;
  line-height:1.72;
}

.contactLocation__layout{
  display:grid;
  grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr);
  gap:24px;
  align-items:stretch;
}

/* Left content */
.contactLocation__content{
  display:grid;
  grid-template-rows:auto 1fr;
  gap:14px;
}

.contactLocation__addressCard,
.contactLocation__coverage{
  padding:26px;
  border:1px solid #e7e3de;
  border-radius:22px;
  background:#fff;
  box-shadow:0 16px 42px rgba(35,27,23,.05);
}

.contactLocation__label{
  color:var(--accent);
  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.contactLocation__addressCard h3{
  margin:10px 0 0;
  font-family:var(--font-heading);
  font-size:23px;
  font-weight:800;
}

.contactLocation__addressCard p{
  margin:13px 0 0;
  color:#625d59;
  font-size:16px;
  line-height:1.7;
}

.contactLocation__note{
  display:block;
  margin-top:17px;
  padding-top:16px;
  border-top:1px solid #ece8e4;
  color:#8a847f;
  font-size:16px;
  line-height:1.5;
}

.contactLocation__coverage{
  display:flex;
  flex-direction:column;
}

.contactLocation__coverageTop{
  display:grid;
}

.contactLocation__coverageTop span{
  color:#8a847f;
  font-size:16px;
  font-weight:700;
}

.contactLocation__coverageTop strong{
  margin-top:4px;
  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
  line-height:1.4;
}

.contactLocation__areas{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:21px;
}

.contactLocation__areas span{
  display:inline-flex;
  align-items:center;
  min-height:39px;
  padding:0 13px;
  border-radius:999px;
  background:#f6f3f0;
  color:#4d4946;
  font-size:16px;
  font-weight:700;
}

.contactLocation__link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:max-content;
  margin-top:auto;
  padding-top:25px;
  color:var(--accent);
  font-size:15px;
  font-weight:800;
}

.contactLocation__link svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Map */
.contactLocation__mapWrap{
  min-width:0;
}

.contactLocation__mapCard{
  height:100%;
  min-height:620px;
  display:grid;
  grid-template-rows:1fr auto;
  overflow:hidden;
  border-radius:28px 28px 78px 28px;
  background:#171717;
  box-shadow:0 24px 60px rgba(37,28,23,.12);
}

.contactLocation__mapVisual{
  min-height:540px;
  background:#e8e4df;
}

.contactLocation__mapVisual iframe{
  width:100%;
  height:100%;
  min-height:540px;
  border:0;
  display:block;
}

.contactLocation__mapInfo{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:20px 22px;
  background:#171717;
  color:#fff;
}

.contactLocation__mapInfo div{
  display:grid;
}

.contactLocation__mapInfo span{
  color:#929292;
  font-size:16px;
}

.contactLocation__mapInfo strong{
  margin-top:3px;
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.contactLocation__mapInfo>a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#ff6569;
  font-size:15px;
  font-weight:800;
}

/* Responsive */
@media (max-width:1024px){
  .contactLocation{
    padding:82px 0 90px;
  }

  .contactLocation__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .contactLocation__intro{
    max-width:720px;
  }

  .contactLocation__layout{
    grid-template-columns:1fr;
  }

  .contactLocation__content{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
  }

  .contactLocation__mapCard{
    min-height:520px;
  }

  .contactLocation__mapVisual,
  .contactLocation__mapVisual iframe{
    min-height:450px;
  }
}

@media (max-width:768px){
  .contactLocation{
    padding:68px 0 76px;
  }

  .contactLocation__intro{
    font-size:16px;
  }

  .contactLocation__content{
    grid-template-columns:1fr;
  }
}

@media (max-width:576px){
  .contactLocation{
    padding:56px 0 62px;
  }

  .contactLocation h2{
    font-size:clamp(31px,8.6vw,40px);
  }

  .contactLocation__intro{
    font-size:16px;
    line-height:1.65;
  }

  .contactLocation__addressCard,
  .contactLocation__coverage{
    padding:21px;
  }

  .contactLocation__mapCard{
    min-height:440px;
    border-radius:22px 22px 55px 22px;
  }

  .contactLocation__mapVisual,
  .contactLocation__mapVisual iframe{
    min-height:370px;
  }

  .contactLocation__mapInfo{
    align-items:flex-start;
    flex-direction:column;
  }
}








/* =========================
05 — WHAT HAPPENS NEXT / SIMPLE 3-STEP PROCESS
========================= */
.contactProcess{
  position:relative;
  overflow:hidden;
  padding:112px 0 120px;
  background:
    radial-gradient(circle at 8% 12%,rgba(226,28,33,.06),transparent 24%),
    #171717;
  color:#fff;
}

.contactProcess:before{
  content:"";
  position:absolute;
  right:-220px;
  bottom:-260px;
  width:520px;
  height:520px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:50%;
}

.contactProcess__header{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);
  align-items:end;
  gap:72px;
  margin-bottom:48px;
}

.contactProcess .sectionEyebrow{
  color:#ff666a;
}

.contactProcess .sectionEyebrow span{
  background:#ff666a;
}

.contactProcess h2{
  max-width:760px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}

.contactProcess h2 strong{
  display:block;
  color:#ff5a5f;
}

.contactProcess__intro{
  margin:0;
  color:#c4c4c4;
  font-size:17px;
  line-height:1.72;
}

.contactProcess__layout{
  display:grid;
  grid-template-columns:minmax(430px,.92fr) minmax(0,1.08fr);
  gap:24px;
  align-items:stretch;
}

/* Visual */
.contactProcess__visual{
  display:grid;
  grid-template-rows:1fr auto;
  gap:14px;
}

.contactProcess__photo{
  position:relative;
  min-height:620px;
  overflow:hidden;
  margin:0;
  border-radius:30px 30px 78px 30px;
  background:#292929;
  box-shadow:0 24px 60px rgba(0,0,0,.22);
}

.contactProcess__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}

.contactProcess__photo:hover img{
  transform:scale(1.035);
}

.contactProcess__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    180deg,
    transparent 48%,
    rgba(10,10,10,.58)
  );
}

.contactProcess__photo figcaption{
  position:absolute;
  z-index:2;
  left:25px;
  right:25px;
  bottom:24px;
  display:grid;
}

.contactProcess__photo figcaption span{
  margin-bottom:5px;
  color:#ddd;
  font-size:16px;
  font-weight:700;
}

.contactProcess__photo figcaption strong{
  max-width:450px;
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:800;
  line-height:1.3;
}

.contactProcess__photoNote{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:19px 21px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  background:#222;
}

.contactProcess__photoNote span{
  color:#aaa;
  font-size:16px;
  font-weight:700;
}

.contactProcess__photoNote a{
  color:#ff666a;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

/* Steps */
.contactProcess__steps{
  display:grid;
  gap:14px;
}

.contactStep{
  position:relative;
  display:grid;
  grid-template-columns:120px 1fr;
  gap:26px;
  align-items:center;
  min-height:195px;
  padding:24px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:22px;
  background:#222;
  transition:transform .28s ease,border-color .28s ease,background .28s ease;
}

.contactStep:hover{
  transform:translateX(5px);
  border-color:rgba(255,90,95,.28);
  background:#252525;
}

.contactStep--active{
  background:
    radial-gradient(circle at 100% 0%,rgba(226,28,33,.18),transparent 40%),
    #222;
}

.contactStep__top{
  display:grid;
  justify-items:start;
  gap:18px;
}

.contactStep__number{
  color:#666;
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}

.contactStep--active .contactStep__number{
  color:#ff666a;
}

.contactStep__icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:rgba(226,28,33,.13);
  color:#ff666a;
}

.contactStep__icon svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.contactStep__label{
  display:block;
  margin-bottom:8px;
  color:#ff666a;
  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.contactStep h3{
  margin:0;
  font-family:var(--font-heading);
  font-size:21px;
  font-weight:800;
  line-height:1.32;
}

.contactStep p{
  margin:10px 0 0;
  color:#b9b9b9;
  font-size:15px;
  line-height:1.65;
}

/* Responsive */
@media (max-width:1180px){
  .contactProcess{
    padding:94px 0 102px;
  }

  .contactProcess__header{
    gap:48px;
  }

  .contactProcess__layout{
    grid-template-columns:minmax(380px,.85fr) minmax(0,1.15fr);
  }

  .contactProcess__photo{
    min-height:570px;
  }
}

@media (max-width:1024px){
  .contactProcess{
    padding:82px 0 90px;
  }

  .contactProcess__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .contactProcess__intro{
    max-width:720px;
  }

  .contactProcess__layout{
    grid-template-columns:1fr;
  }

  .contactProcess__visual,
  .contactProcess__steps{
    max-width:850px;
  }

  .contactProcess__photo{
    min-height:500px;
  }
}

@media (max-width:768px){
  .contactProcess{
    padding:68px 0 76px;
  }

  .contactProcess__intro{
    font-size:16px;
  }

  .contactStep{
    grid-template-columns:95px 1fr;
  }
}

@media (max-width:576px){
  .contactProcess{
    padding:56px 0 62px;
  }

  .contactProcess h2{
    font-size:clamp(31px,8.6vw,40px);
  }

  .contactProcess__intro{
    font-size:16px;
    line-height:1.65;
  }

  .contactProcess__photo{
    min-height:390px;
    border-radius:22px 22px 55px 22px;
  }

  .contactProcess__photo figcaption strong{
    font-size:19px;
  }

  .contactProcess__photoNote{
    align-items:flex-start;
    flex-direction:column;
  }

  .contactStep{
    grid-template-columns:1fr;
    gap:20px;
    min-height:0;
    padding:21px;
  }

  .contactStep__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }

  .contactStep h3{
    font-size:19px;
  }
}








/* =========================
06 — BEFORE YOUR APPOINTMENT / HOW TO PREPARE
========================= */
.contactPrepare{
  position:relative;
  overflow:hidden;
  padding:112px 0 120px;
  background:
    radial-gradient(circle at 92% 12%,rgba(226,28,33,.065),transparent 24%),
    linear-gradient(180deg,#fff 0%,#f8f7f4 100%);
}

.contactPrepare:before{
  content:"";
  position:absolute;
  left:-240px;
  bottom:-290px;
  width:540px;
  height:540px;
  border:1px solid rgba(226,28,33,.07);
  border-radius:50%;
}

.contactPrepare__header{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);
  align-items:end;
  gap:72px;
  margin-bottom:48px;
}

.contactPrepare h2{
  max-width:760px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}

.contactPrepare h2 strong{
  display:block;
  color:var(--accent);
}

.contactPrepare__intro{
  margin:0;
  color:#6d6763;
  font-size:17px;
  line-height:1.72;
}

/* Main */
.contactPrepare__layout{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
  gap:26px;
  align-items:stretch;
}

/* Checklist */
.contactPrepare__content{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.prepareItem{
  position:relative;
  min-height:280px;
  display:flex;
  flex-direction:column;
  padding:24px;
  border:1px solid #e7e3de;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 38px rgba(35,27,23,.045);
  transition:
    transform .28s ease,
    border-color .28s ease,
    box-shadow .28s ease;
}

.prepareItem:hover{
  transform:translateY(-5px);
  border-color:rgba(226,28,33,.25);
  box-shadow:0 20px 46px rgba(35,27,23,.07);
}

.prepareItem--featured{
  background:
    radial-gradient(circle at 100% 0%,rgba(226,28,33,.09),transparent 40%),
    #fff;
}

.prepareItem__number{
  color:#c9c3be;
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}

.prepareItem__icon{
  position:absolute;
  right:22px;
  top:21px;
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#fff0f0;
  color:var(--accent);
}

.prepareItem__icon svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.prepareItem__body{
  margin-top:auto;
  padding-top:55px;
}

.prepareItem__label{
  display:block;
  margin-bottom:8px;
  color:var(--accent);
  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;
}

.prepareItem h3{
  margin:0;
  max-width:360px;
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.32;
  letter-spacing:-.018em;
}

.prepareItem p{
  margin:10px 0 0;
  color:#716b67;
  font-size:15px;
  line-height:1.65;
}

/* Photo */
.contactPrepare__visual{
  display:grid;
  grid-template-rows:1fr auto;
  gap:14px;
}

.contactPrepare__photo{
  position:relative;
  min-height:574px;
  overflow:hidden;
  margin:0;
  border-radius:30px 30px 78px 30px;
  background:#e7e3de;
  box-shadow:0 24px 60px rgba(37,28,23,.11);
}

.contactPrepare__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}

.contactPrepare__photo:hover img{
  transform:scale(1.035);
}

.contactPrepare__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      180deg,
      transparent 48%,
      rgba(15,15,15,.58)
    );
}

.contactPrepare__photo figcaption{
  position:absolute;
  z-index:2;
  left:25px;
  right:25px;
  bottom:24px;
  display:grid;
  color:#fff;
}

.contactPrepare__photo figcaption span{
  margin-bottom:5px;
  font-size:16px;
  font-weight:700;
}

.contactPrepare__photo figcaption strong{
  max-width:440px;
  font-family:var(--font-heading);
  font-size:21px;
  font-weight:800;
  line-height:1.3;
}

/* Tip */
.contactPrepare__tip{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:14px;
  align-items:center;
  padding:20px;
  border-radius:20px;
  background:#171717;
  color:#fff;
}

.contactPrepare__tipIcon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:rgba(226,28,33,.15);
  color:#ff666a;
}

.contactPrepare__tipIcon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.contactPrepare__tip>div:last-child{
  display:grid;
}

.contactPrepare__tip span{
  color:#979797;
  font-size:16px;
  font-weight:700;
}

.contactPrepare__tip strong{
  margin-top:3px;
  font-size:15px;
  font-weight:800;
  line-height:1.5;
}

/* Responsive */
@media (max-width:1180px){
  .contactPrepare{
    padding:94px 0 102px;
  }

  .contactPrepare__header{
    gap:48px;
  }

  .contactPrepare__layout{
    grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);
  }

  .contactPrepare__photo{
    min-height:550px;
  }
}

@media (max-width:1024px){
  .contactPrepare{
    padding:82px 0 90px;
  }

  .contactPrepare__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .contactPrepare__intro{
    max-width:720px;
  }

  .contactPrepare__layout{
    grid-template-columns:1fr;
    gap:40px;
  }

  .contactPrepare__visual{
    max-width:820px;
  }

  .contactPrepare__photo{
    min-height:500px;
  }
}

@media (max-width:768px){
  .contactPrepare{
    padding:68px 0 76px;
  }

  .contactPrepare__intro{
    font-size:16px;
  }

  .contactPrepare__content{
    grid-template-columns:1fr;
  }

  .prepareItem{
    min-height:230px;
  }
}

@media (max-width:576px){
  .contactPrepare{
    padding:56px 0 62px;
  }

  .contactPrepare h2{
    font-size:clamp(31px,8.6vw,40px);
  }

  .contactPrepare__intro{
    font-size:16px;
    line-height:1.65;
  }

  .prepareItem{
    min-height:0;
    padding:21px;
  }

  .prepareItem__body{
    padding-top:48px;
  }

  .prepareItem h3{
    font-size:19px;
  }

  .contactPrepare__photo{
    min-height:390px;
    border-radius:22px 22px 55px 22px;
  }

  .contactPrepare__photo figcaption strong{
    font-size:19px;
  }
}








/* =========================
07 — CONTACT FAQ / COMMON QUESTIONS BEFORE YOU REACH OUT
========================= */
.contactFaq{
  position:relative;
  overflow:hidden;
  padding:112px 0 120px;
  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(226,28,33,.06),
      transparent 24%
    ),
    linear-gradient(
      180deg,
      #f8f7f4 0%,
      #fff 100%
    );
}

.contactFaq__layout{
  display:grid;
  grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr);
  align-items:start;
  gap:84px;
}

/* LEFT */
.contactFaq__intro{
  position:sticky;
  top:120px;
}

.contactFaq h2{
  max-width:590px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,49px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}

.contactFaq h2 strong{
  display:block;
  color:var(--accent);
}

.contactFaq__intro>p{
  max-width:560px;
  margin:25px 0 0;
  color:#6d6763;
  font-size:17px;
  line-height:1.72;
}

/* Help box */
.contactFaq__help{
  display:grid;
  margin-top:34px;
  padding:24px;
  border:1px solid #e7e3de;
  border-radius:22px;
  background:#fff;
  box-shadow:0 16px 40px rgba(35,27,23,.05);
}

.contactFaq__help span{
  color:#88817c;
  font-size:16px;
  font-weight:700;
}

.contactFaq__help strong{
  margin-top:4px;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.contactFaq__help a{
  width:max-content;
  margin-top:15px;
  color:var(--accent);
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
}

/* FAQ */
.contactFaq__list{
  display:grid;
  gap:12px;
}

.contactFaqItem{
  overflow:hidden;
  border:1px solid #e7e3de;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 30px rgba(35,27,23,.035);
  transition:
    border-color .25s ease,
    box-shadow .25s ease;
}

.contactFaqItem.is-open{
  border-color:rgba(226,28,33,.22);
  box-shadow:0 18px 42px rgba(35,27,23,.06);
}

.contactFaqItem__button{
  width:100%;
  min-height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:21px 23px;
  border:0;
  background:transparent;
  color:#1d1c1b;
  text-align:left;
  cursor:pointer;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  line-height:1.4;
}

.contactFaqItem__icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:#f5f2ef;
  color:#1b1b1b;
  font-size:21px;
  transition:.25s ease;
}

.contactFaqItem.is-open .contactFaqItem__icon{
  background:var(--accent);
  color:#fff;
}

.contactFaqItem__answer{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .3s ease;
}

.contactFaqItem__answer>div{
  overflow:hidden;
}

.contactFaqItem.is-open .contactFaqItem__answer{
  grid-template-rows:1fr;
}

.contactFaqItem__answer p{
  max-width:760px;
  margin:0;
  padding:0 72px 24px 23px;
  color:#716b67;
  font-size:16px;
  line-height:1.72;
}

/* RESPONSIVE */
@media (max-width:1024px){

  .contactFaq{
    padding:82px 0 90px;
  }

  .contactFaq__layout{
    grid-template-columns:1fr;
    gap:42px;
  }

  .contactFaq__intro{
    position:static;
    max-width:760px;
  }

}

@media (max-width:768px){

  .contactFaq{
    padding:68px 0 76px;
  }

  .contactFaq__intro>p{
    font-size:16px;
  }

  .contactFaqItem__button{
    min-height:78px;
    font-size:17px;
  }

  .contactFaqItem__answer p{
    font-size:16px;
  }

}

@media (max-width:576px){

  .contactFaq{
    padding:56px 0 62px;
  }

  .contactFaq h2{
    font-size:clamp(31px,8.6vw,40px);
  }

  .contactFaq__intro>p{
    font-size:16px;
    line-height:1.65;
  }

  .contactFaq__help{
    padding:20px;
  }

  .contactFaqItem{
    border-radius:17px;
  }

  .contactFaqItem__button{
    min-height:74px;
    padding:18px;
    gap:16px;
    font-size:16px;
  }

  .contactFaqItem__icon{
    width:36px;
    height:36px;
  }

  .contactFaqItem__answer p{
    padding:0 18px 20px;
    font-size:15px;
  }

}








/* =========================
08 — SERVICE GUARANTEE / WHY CONTACT PARKSIDE
========================= */
.contactTrust{
  position:relative;
  overflow:hidden;
  padding:112px 0 120px;
  background:
    radial-gradient(circle at 8% 12%,rgba(226,28,33,.07),transparent 24%),
    #171717;
  color:#fff;
}

.contactTrust:before{
  content:"";
  position:absolute;
  right:-230px;
  bottom:-270px;
  width:520px;
  height:520px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:50%;
}

.contactTrust__layout{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(470px,1.08fr);
  align-items:center;
  gap:74px;
}

/* Content */
.contactTrust .sectionEyebrow{
  color:#ff666a;
}

.contactTrust .sectionEyebrow span{
  background:#ff666a;
}

.contactTrust h2{
  max-width:680px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(36px,3.15vw,50px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}

.contactTrust h2 strong{
  display:block;
  color:#ff5a5f;
}

.contactTrust__lead{
  max-width:640px;
  margin:25px 0 0;
  color:#c2c2c2;
  font-size:17px;
  line-height:1.72;
}

/* Guarantee */
.contactTrust__guarantee{
  display:grid;
  grid-template-columns:120px 1fr;
  align-items:center;
  gap:22px;
  margin-top:34px;
  padding:22px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0%,rgba(226,28,33,.18),transparent 36%),
    #222;
}

.contactTrust__guaranteeBadge{
  width:120px;
  height:120px;
  display:grid;
  place-content:center;
  text-align:center;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 18px 40px rgba(226,28,33,.24);
}

.contactTrust__guaranteeBadge strong{
  font-family:var(--font-heading);
  font-size:45px;
  font-weight:800;
  line-height:.9;
}

.contactTrust__guaranteeBadge span{
  margin-top:4px;
  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.contactTrust__guaranteeText>span{
  color:#ff686c;
  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.contactTrust__guaranteeText h3{
  margin:6px 0 0;
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.3;
}

.contactTrust__guaranteeText p{
  margin:9px 0 0;
  color:#b8b8b8;
  font-size:15px;
  line-height:1.62;
}

/* Points */
.contactTrust__points{
  display:grid;
  gap:11px;
  margin-top:17px;
}

.contactTrustPoint{
  display:grid;
  grid-template-columns:42px 1fr;
  align-items:center;
  gap:14px;
  padding:15px 17px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:#202020;
}

.contactTrustPoint__icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(226,28,33,.14);
  color:#ff666a;
  font-size:17px;
  font-weight:900;
}

.contactTrustPoint div{
  display:grid;
}

.contactTrustPoint strong{
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}

.contactTrustPoint div span{
  margin-top:3px;
  color:#aaa;
  font-size:16px;
  line-height:1.45;
}

/* Visual */
.contactTrust__visual{
  display:grid;
  grid-template-rows:1fr auto;
  gap:14px;
}

.contactTrust__photo{
  position:relative;
  min-height:610px;
  overflow:hidden;
  margin:0;
  border-radius:30px 30px 80px 30px;
  background:#292929;
  box-shadow:0 24px 60px rgba(0,0,0,.22);
}

.contactTrust__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}

.contactTrust__photo:hover img{
  transform:scale(1.035);
}

.contactTrust__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      180deg,
      transparent 50%,
      rgba(10,10,10,.58)
    );
}

.contactTrust__photo figcaption{
  position:absolute;
  z-index:2;
  left:25px;
  right:25px;
  bottom:24px;
  display:grid;
}

.contactTrust__photo figcaption span{
  margin-bottom:5px;
  color:#ddd;
  font-size:16px;
  font-weight:700;
}

.contactTrust__photo figcaption strong{
  max-width:450px;
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:800;
  line-height:1.3;
}

.contactTrust__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:20px 22px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:19px;
  background:#222;
}

.contactTrust__bottom div{
  display:grid;
}

.contactTrust__bottom span{
  color:#999;
  font-size:16px;
  font-weight:700;
}

.contactTrust__bottom strong{
  margin-top:3px;
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}

.contactTrust__bottom a{
  color:#ff666a;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

/* Responsive */
@media (max-width:1180px){
  .contactTrust{
    padding:94px 0 102px;
  }

  .contactTrust__layout{
    grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
    gap:52px;
  }

  .contactTrust__photo{
    min-height:560px;
  }
}

@media (max-width:1024px){
  .contactTrust{
    padding:82px 0 90px;
  }

  .contactTrust__layout{
    grid-template-columns:1fr;
    gap:46px;
  }

  .contactTrust__content,
  .contactTrust__visual{
    max-width:820px;
  }

  .contactTrust__photo{
    min-height:500px;
  }
}

@media (max-width:768px){
  .contactTrust{
    padding:68px 0 76px;
  }

  .contactTrust__lead{
    font-size:16px;
  }
}

@media (max-width:576px){
  .contactTrust{
    padding:56px 0 62px;
  }

  .contactTrust h2{
    font-size:clamp(31px,8.6vw,40px);
  }

  .contactTrust__lead{
    font-size:16px;
    line-height:1.65;
  }

  .contactTrust__guarantee{
    grid-template-columns:1fr;
  }

  .contactTrust__guaranteeBadge{
    width:105px;
    height:105px;
  }

  .contactTrust__guaranteeBadge strong{
    font-size:39px;
  }

  .contactTrust__photo{
    min-height:390px;
    border-radius:22px 22px 55px 22px;
  }

  .contactTrust__photo figcaption strong{
    font-size:19px;
  }

  .contactTrust__bottom{
    align-items:flex-start;
    flex-direction:column;
  }
}






/* =========================
09 — FINAL CTA / CONTACT PARKSIDE TODAY
========================= */
.contactFinal{
  position:relative;
  overflow:hidden;
  padding:112px 0 120px;
  background:
    radial-gradient(circle at 90% 12%,rgba(226,28,33,.16),transparent 26%),
    #171717;
  color:#fff;
}

.contactFinal:before{
  content:"";
  position:absolute;
  left:-220px;
  bottom:-250px;
  width:500px;
  height:500px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:50%;
}

.contactFinal__shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(460px,1fr);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:32px;
  background:#202020;
  box-shadow:0 30px 80px rgba(0,0,0,.26);
}

/* Content */
.contactFinal__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:64px 62px;
}

.contactFinal .sectionEyebrow{
  color:#ff666a;
}

.contactFinal .sectionEyebrow span{
  background:#ff666a;
}

.contactFinal h2{
  max-width:650px;
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.06;
  letter-spacing:-.045em;
}

.contactFinal h2 strong{
  display:block;
  color:#ff5c61;
}

.contactFinal__lead{
  max-width:620px;
  margin:24px 0 0;
  color:#c4c4c4;
  font-size:17px;
  line-height:1.72;
}

.contactFinal__actions{
  display:flex;
  align-items:center;
  gap:25px;
  margin-top:31px;
}

.contactFinal__button{
  min-height:56px;
  gap:10px;
  font-size:16px;
}

.contactFinal__button svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .25s ease;
}

.contactFinal__button:hover svg{
  transform:translateX(4px);
}

.contactFinal__phone{
  display:flex;
  align-items:center;
  gap:12px;
}

.contactFinal__phoneIcon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  background:rgba(255,255,255,.06);
  color:#ff6569;
}

.contactFinal__phoneIcon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
}

.contactFinal__phone>span:last-child{
  display:grid;
}

.contactFinal__phone small{
  color:#aaa;
  font-size:16px;
  font-weight:700;
}

.contactFinal__phone strong{
  margin-top:3px;
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

/* Meta */
.contactFinal__meta{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:38px;
  padding-top:27px;
  border-top:1px solid rgba(255,255,255,.10);
}

.contactFinal__metaItem{
  display:grid;
  gap:4px;
}

.contactFinal__metaItem span{
  color:#929292;
  font-size:16px;
  font-weight:600;
}

.contactFinal__metaItem strong{
  font-size:16px;
  font-weight:800;
  line-height:1.45;
}

/* Visual */
.contactFinal__visual{
  position:relative;
  min-height:620px;
  overflow:hidden;
}

.contactFinal__photo{
  position:absolute;
  inset:0;
  margin:0;
}

.contactFinal__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}

.contactFinal__visual:hover .contactFinal__photo img{
  transform:scale(1.035);
}

.contactFinal__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      180deg,
      rgba(12,12,12,.02) 36%,
      rgba(12,12,12,.62) 100%
    );
}

.contactFinal__photo figcaption{
  position:absolute;
  z-index:2;
  left:28px;
  right:28px;
  bottom:27px;
  display:grid;
}

.contactFinal__photo figcaption span{
  margin-bottom:6px;
  color:#ddd;
  font-size:16px;
  font-weight:700;
}

.contactFinal__photo figcaption strong{
  max-width:430px;
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:800;
  line-height:1.3;
}

.contactFinal__badge{
  position:absolute;
  z-index:3;
  right:24px;
  top:24px;
  width:122px;
  height:122px;
  display:grid;
  place-content:center;
  text-align:center;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 18px 45px rgba(226,28,33,.25);
}

.contactFinal__badge span{
  color:rgba(255,255,255,.8);
  font-size:16px;
  font-weight:700;
}

.contactFinal__badge strong{
  margin-top:3px;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

/* Responsive */
@media (max-width:1180px){
  .contactFinal{
    padding:94px 0 102px;
  }

  .contactFinal__content{
    padding:52px 44px;
  }

  .contactFinal__visual{
    min-height:570px;
  }
}

@media (max-width:1024px){
  .contactFinal{
    padding:82px 0 90px;
  }

  .contactFinal__shell{
    grid-template-columns:1fr;
  }

  .contactFinal__visual{
    min-height:500px;
  }

  .contactFinal__content{
    padding:48px;
  }
}

@media (max-width:768px){
  .contactFinal{
    padding:68px 0 76px;
  }

  .contactFinal__lead{
    font-size:16px;
  }

  .contactFinal__meta{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:576px){
  .contactFinal{
    padding:56px 0 62px;
  }

  .contactFinal__shell{
    border-radius:24px;
  }

  .contactFinal__content{
    padding:34px 22px;
  }

  .contactFinal h2{
    font-size:clamp(32px,8.8vw,42px);
  }

  .contactFinal__lead{
    font-size:16px;
    line-height:1.65;
  }

  .contactFinal__actions{
    align-items:stretch;
    flex-direction:column;
    gap:18px;
  }

  .contactFinal__button{
    width:100%;
  }

  .contactFinal__phone{
    justify-content:center;
  }

  .contactFinal__meta{
    grid-template-columns:1fr;
    gap:15px;
  }

  .contactFinal__visual{
    min-height:390px;
  }

  .contactFinal__badge{
    width:105px;
    height:105px;
    right:16px;
    top:16px;
  }

  .contactFinal__photo figcaption{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .contactFinal__photo figcaption strong{
    font-size:19px;
  }
}































/* =========================
01 — SERVICES HERO / APPLIANCE REPAIR SERVICES
========================= */

.servicesHero{
  position:relative;
  overflow:hidden;

  padding:70px 0 110px;

  background:
    radial-gradient(circle at 92% 6%,rgba(226,28,33,.075),transparent 25%),
    radial-gradient(circle at 6% 76%,rgba(195,177,159,.14),transparent 27%),
    linear-gradient(180deg,#fff 0%,#f8f7f4 100%);
}

.servicesHero:before{
  content:"";

  position:absolute;
  left:-280px;
  bottom:-350px;

  width:620px;
  height:620px;

  border:1px solid rgba(226,28,33,.06);
  border-radius:50%;

  pointer-events:none;
}


/* =========================
TOP
========================= */

.servicesHero__top{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr);

  align-items:end;
  gap:76px;

  margin-bottom:48px;
}

.servicesHero h1{
  max-width:850px;
  margin:0;

  color:#181716;

  font-family:var(--font-heading);
  font-size:clamp(44px,4vw,64px);
  font-weight:800;
  line-height:1.035;
  letter-spacing:-.052em;
}

.servicesHero h1 strong{
  display:block;
  color:var(--accent);
}

.servicesHero__intro p{
  max-width:590px;
  margin:0;

  color:#69635f;

  font-size:18px;
  line-height:1.72;
}

.servicesHero__actions{
  display:flex;
  align-items:center;
  gap:24px;

  margin-top:27px;
}

.servicesHero__button{
  min-height:56px;
  gap:10px;

  padding-inline:25px;

  font-size:16px;
}

.servicesHero__button svg{
  width:18px;
  height:18px;

  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;

  transition:transform .25s ease;
}

.servicesHero__button:hover svg{
  transform:translateX(4px);
}

.servicesHero__phone{
  display:grid;
}

.servicesHero__phone span{
  color:#8b8580;

  font-size:16px;
  font-weight:700;
}

.servicesHero__phone strong{
  margin-top:3px;

  color:#181716;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}


/* =========================
SHOWCASE
========================= */

.servicesHero__showcase{
  position:relative;

  overflow:hidden;

  border-radius:34px;

  background:#151515;

  box-shadow:
    0 35px 90px rgba(28,22,18,.15);
}


/* =========================
GALLERY
========================= */

.servicesHero__gallery{
  display:grid;
  grid-template-columns:minmax(0,1.48fr) minmax(300px,.52fr);

  min-height:610px;
}

.servicesHero__main,
.servicesHero__secondaryPhoto{
  position:relative;

  overflow:hidden;
  min-width:0;
  margin:0;

  background:#ddd8d3;
}

.servicesHero__main{
  border-right:1px solid rgba(255,255,255,.12);
}

.servicesHero__main img,
.servicesHero__secondaryPhoto img{
  display:block;

  width:100%;
  height:100%;

  object-fit:cover;

  transition:
    transform .65s cubic-bezier(.2,.7,.2,1);
}

.servicesHero__main:hover img,
.servicesHero__secondaryPhoto:hover img{
  transform:scale(1.035);
}


/* MAIN SHADE */

.servicesHero__mainShade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.04) 20%,
      rgba(10,10,10,.08) 45%,
      rgba(10,10,10,.72) 100%
    );
}


/* SMALL TOP TAG */

.servicesHero__mainTag{
  position:absolute;
  z-index:3;

  top:24px;
  left:24px;

  display:flex;
  align-items:center;
  gap:9px;

  padding:10px 14px;

  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;

  background:rgba(20,20,20,.40);

  color:#fff;

  font-size:16px;
  font-weight:700;

  backdrop-filter:blur(12px);
}

.servicesHero__mainTag span{
  width:7px;
  height:7px;

  border-radius:50%;

  background:#ff5d62;

  box-shadow:
    0 0 0 5px rgba(255,93,98,.15);
}


/* MAIN CAPTION */

.servicesHero__main figcaption{
  position:absolute;
  z-index:3;

  left:32px;
  right:32px;
  bottom:30px;

  display:grid;

  color:#fff;
}

.servicesHero__main figcaption>span{
  margin-bottom:7px;

  color:#dedede;

  font-size:16px;
  font-weight:700;
}

.servicesHero__main figcaption strong{
  max-width:610px;

  font-family:var(--font-heading);
  font-size:25px;
  font-weight:800;
  line-height:1.28;
}


/* =========================
SECONDARY PHOTOS
========================= */

.servicesHero__secondary{
  display:grid;
  grid-template-rows:1fr 1fr;

  min-width:0;
}

.servicesHero__secondaryPhoto:first-child{
  border-bottom:1px solid rgba(255,255,255,.12);
}

.servicesHero__secondaryShade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.02) 35%,
      rgba(10,10,10,.66) 100%
    );
}

.servicesHero__secondaryPhoto figcaption{
  position:absolute;
  z-index:3;

  left:21px;
  right:21px;
  bottom:20px;

  display:flex;
  align-items:center;
  gap:11px;

  color:#fff;
}

.servicesHero__secondaryPhoto figcaption span{
  width:32px;
  height:32px;

  display:grid;
  place-items:center;

  flex:0 0 auto;

  border:1px solid rgba(255,255,255,.24);
  border-radius:50%;

  background:rgba(255,255,255,.10);

  font-size:16px;
  font-weight:800;

  backdrop-filter:blur(8px);
}

.servicesHero__secondaryPhoto figcaption strong{
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}


/* =========================
INTEGRATED FOOTER PANEL
========================= */

.servicesHero__footerPanel{
  display:grid;
  grid-template-columns:minmax(280px,1.1fr) minmax(0,1.9fr);

  min-height:132px;

  border-top:1px solid rgba(255,255,255,.10);

  background:
    linear-gradient(
      90deg,
      #171717 0%,
      #1c1c1c 100%
    );

  color:#fff;
}


/* STATEMENT */

.servicesHero__statement{
  display:flex;
  align-items:center;
  gap:17px;

  padding:26px 30px;

  border-right:1px solid rgba(255,255,255,.10);
}

.servicesHero__statementMark{
  width:52px;
  height:52px;

  display:grid;
  place-items:center;

  flex:0 0 auto;

  border-radius:16px;

  background:
    linear-gradient(
      135deg,
      #ef3035,
      #c41419
    );

  color:#fff;

  font-family:var(--font-heading);
  font-size:22px;
  font-weight:900;

  box-shadow:
    0 12px 28px rgba(226,28,33,.25);
}

.servicesHero__statement>div:last-child{
  display:grid;
}

.servicesHero__statement span{
  color:#8f8f8f;

  font-size:16px;
  font-weight:700;
}

.servicesHero__statement strong{
  max-width:280px;
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
  line-height:1.4;
}


/* METRICS */

.servicesHero__metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
}

.servicesHero__metric{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:center;

  min-width:0;

  padding:25px 28px;

  border-left:1px solid rgba(255,255,255,.08);
}

.servicesHero__metric:first-child{
  border-left:0;
}

.servicesHero__metric strong{
  color:#fff;

  font-family:var(--font-heading);
  font-size:30px;
  font-weight:800;
  line-height:1;
}

.servicesHero__metric span{
  max-width:150px;
  margin-top:8px;

  color:#969696;

  font-size:16px;
  font-weight:600;
  line-height:1.45;
}

.servicesHero__metric:after{
  content:"";

  position:absolute;

  left:28px;
  bottom:0;

  width:38px;
  height:3px;

  border-radius:4px 4px 0 0;

  background:rgba(255,255,255,.11);
}

.servicesHero__metric--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.18),
      transparent 48%
    );
}

.servicesHero__metric--accent strong{
  color:#ff5d62;
}

.servicesHero__metric--accent:after{
  background:#e21c21;
}


/* =========================
QUICK LINKS
========================= */

.servicesHero__quick{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;

  margin-top:20px;
}

.servicesHero__quickItem{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 32px;

  align-items:center;
  gap:12px;

  min-width:0;
  min-height:76px;

  padding:14px 16px;

  border:1px solid #e7e3de;
  border-radius:16px;

  background:#fff;

  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

.servicesHero__quickItem:hover{
  transform:translateY(-3px);

  border-color:rgba(226,28,33,.25);

  box-shadow:
    0 14px 32px rgba(35,27,23,.06);
}

.servicesHero__quickItem>span{
  width:34px;
  height:34px;

  display:grid;
  place-items:center;

  border-radius:10px;

  background:#f4f1ee;

  color:#8b847f;

  font-size:16px;
  font-weight:800;

  transition:.25s ease;
}

.servicesHero__quickItem:hover>span{
  background:#fff0f0;
  color:var(--accent);
}

.servicesHero__quickItem strong{
  min-width:0;

  color:#1e1d1b;

  font-family:var(--font-heading);
  font-size:15px;
  font-weight:800;
  line-height:1.35;
}

.servicesHero__quickItem b{
  width:32px;
  height:32px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:#f4f1ee;

  color:#1e1d1b;

  font-size:16px;
  font-weight:600;

  transition:.25s ease;
}

.servicesHero__quickItem:hover b{
  background:var(--accent);
  color:#fff;
}


/* =========================
1180
========================= */

@media (max-width:1180px){

  .servicesHero{
    padding:56px 0 94px;
  }

  .servicesHero__top{
    gap:50px;
  }

  .servicesHero__gallery{
    grid-template-columns:
      minmax(0,1.3fr)
      minmax(280px,.7fr);

    min-height:560px;
  }

  .servicesHero__statement{
    padding-inline:23px;
  }

  .servicesHero__metric{
    padding-inline:21px;
  }

  .servicesHero__quick{
    grid-template-columns:1fr 1fr;
  }

}


/* =========================
TABLET
========================= */

@media (max-width:1024px){

  .servicesHero{
    padding:44px 0 82px;
  }

  .servicesHero__top{
    grid-template-columns:1fr;
    gap:22px;
  }

  .servicesHero__intro{
    max-width:720px;
  }

  .servicesHero__showcase{
    border-radius:28px;
  }

  .servicesHero__gallery{
    grid-template-columns:
      minmax(0,1.05fr)
      minmax(260px,.95fr);

    min-height:510px;
  }

  .servicesHero__footerPanel{
    grid-template-columns:1fr;
  }

  .servicesHero__statement{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.10);
  }

  .servicesHero__statement strong{
    max-width:none;
  }

  .servicesHero__metrics{
    grid-template-columns:repeat(3,1fr);
  }

}


/* =========================
SMALL TABLET
========================= */

@media (max-width:820px){

  .servicesHero__gallery{
    grid-template-columns:1fr;
    min-height:0;
  }

  .servicesHero__main{
    min-height:470px;

    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12);
  }

  .servicesHero__secondary{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
  }

  .servicesHero__secondaryPhoto{
    min-height:270px;
  }

  .servicesHero__secondaryPhoto:first-child{
    border-bottom:0;
    border-right:1px solid rgba(255,255,255,.12);
  }

}


/* =========================
MOBILE
========================= */

@media (max-width:576px){

  .servicesHero{
    padding:28px 0 58px;
  }

  .servicesHero h1{
    font-size:clamp(36px,10vw,46px);
    line-height:1.07;
  }

  .servicesHero__intro p{
    font-size:16px;
    line-height:1.65;
  }

  .servicesHero__actions{
    align-items:stretch;
    flex-direction:column;
    gap:17px;
  }

  .servicesHero__button{
    width:100%;
  }

  .servicesHero__phone{
    text-align:center;
  }

  .servicesHero__showcase{
    border-radius:22px;
  }

  .servicesHero__main{
    min-height:400px;
  }

  .servicesHero__mainTag{
    top:15px;
    left:15px;
  }

  .servicesHero__main figcaption{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .servicesHero__main figcaption strong{
    font-size:20px;
  }

  .servicesHero__secondary{
    grid-template-columns:1fr;
  }

  .servicesHero__secondaryPhoto{
    min-height:260px;
  }

  .servicesHero__secondaryPhoto:first-child{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12);
  }

  .servicesHero__statement{
    padding:21px;
  }

  .servicesHero__statementMark{
    width:48px;
    height:48px;
  }

  .servicesHero__statement strong{
    font-size:16px;
  }

  .servicesHero__metrics{
    grid-template-columns:1fr;
  }

  .servicesHero__metric{
    min-height:92px;

    padding:18px 21px;

    border-left:0;
    border-top:1px solid rgba(255,255,255,.09);
  }

  .servicesHero__metric:after{
    display:none;
  }

  .servicesHero__metric strong{
    font-size:26px;
  }

  .servicesHero__metric span{
    max-width:none;
  }

  .servicesHero__quick{
    grid-template-columns:1fr;
    margin-top:15px;
  }

}










/* =========================
02 — APPLIANCE REPAIR SERVICES / PREMIUM SERVICE CATALOG
========================= */

.servicesCatalog{
  position:relative;
  overflow:hidden;

  padding:112px 0 120px;

  background:
    radial-gradient(
      circle at 94% 8%,
      rgba(226,28,33,.055),
      transparent 23%
    ),
    linear-gradient(
      180deg,
      #fff 0%,
      #f8f7f4 100%
    );
}


/* =========================
HEADER
========================= */

.servicesCatalog__header{
  display:grid;
  grid-template-columns:
    minmax(0,1.12fr)
    minmax(340px,.88fr);

  align-items:end;
  gap:72px;

  margin-bottom:46px;
}

.servicesCatalog h2{
  max-width:790px;
  margin:0;

  font-family:var(--font-heading);
  font-size:clamp(36px,3.1vw,50px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}

.servicesCatalog h2 strong{
  display:block;
  color:var(--accent);
}

.servicesCatalog__intro p{
  max-width:600px;
  margin:0;

  color:#6d6763;

  font-size:17px;
  line-height:1.72;
}

.servicesCatalog__introLink{
  display:inline-flex;
  align-items:center;
  gap:10px;

  width:max-content;

  margin-top:19px;

  color:var(--accent);

  font-size:15px;
  font-weight:800;
}

.servicesCatalog__introLink span{
  width:34px;
  height:34px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:#fff0f0;
}


/* =========================
FEATURED SERVICES
========================= */

.servicesCatalog__featured{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}


/* =========================
FEATURE CARD
========================= */

.serviceFeature{
  position:relative;

  overflow:hidden;

  border:1px solid #e7e2dd;
  border-radius:28px;

  background:#fff;

  box-shadow:
    0 20px 52px rgba(35,27,23,.075);

  transition:
    transform .3s ease,
    box-shadow .3s ease,
    border-color .3s ease;
}

.serviceFeature:first-child{
  border-radius:28px 28px 28px 64px;
}

.serviceFeature:last-child{
  border-radius:28px 64px 28px 28px;
}

.serviceFeature:hover{
  transform:translateY(-5px);

  border-color:rgba(226,28,33,.18);

  box-shadow:
    0 28px 65px rgba(35,27,23,.115);
}


/* PHOTO */

.serviceFeature__image{
  position:relative;

  height:390px;

  overflow:hidden;

  background:#dedad5;
}

.serviceFeature__image:after{
  content:"";

  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      transparent 65%,
      rgba(13,13,13,.16)
    );
}

.serviceFeature__image img{
  width:100%;
  height:100%;

  display:block;

  object-fit:cover;

  transition:
    transform .6s cubic-bezier(.2,.7,.2,1);
}

.serviceFeature:hover .serviceFeature__image img{
  transform:scale(1.035);
}


/* INDEX */

.serviceFeature__index{
  position:absolute;
  z-index:3;

  top:20px;
  left:20px;

  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:rgba(255,255,255,.94);

  color:#222;

  font-size:16px;
  font-weight:800;

  box-shadow:
    0 10px 28px rgba(0,0,0,.11);

  backdrop-filter:blur(8px);
}


/* FEATURE CONTENT */

.serviceFeature__content{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;

  min-height:190px;

  padding:27px 28px 28px;
}

.serviceFeature__category{
  display:block;

  margin-bottom:7px;

  color:var(--accent);

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.serviceFeature__content h3{
  margin:0;

  color:#1c1b19;

  font-family:var(--font-heading);
  font-size:25px;
  font-weight:800;
  line-height:1.25;
  letter-spacing:-.025em;
}

.serviceFeature__content p{
  max-width:500px;

  margin:10px 0 0;

  color:#716b67;

  font-size:15px;
  line-height:1.62;
}

.serviceFeature__arrow{
  width:48px;
  height:48px;

  display:grid;
  place-items:center;

  flex:0 0 auto;

  border-radius:50%;

  background:#f4f1ee;

  color:#1d1c1a;

  font-size:18px;

  transition:
    background .25s ease,
    color .25s ease,
    transform .25s ease;
}

.serviceFeature:hover .serviceFeature__arrow{
  transform:rotate(10deg);

  background:var(--accent);
  color:#fff;
}


/* =========================
SECONDARY GRID
========================= */

.servicesCatalog__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;

  margin-top:16px;
}


/* =========================
MINI CARD
========================= */

.serviceMini{
  overflow:hidden;

  border:1px solid #e7e2dd;
  border-radius:22px;

  background:#fff;

  box-shadow:
    0 14px 38px rgba(35,27,23,.055);

  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;
}

.serviceMini:hover{
  transform:translateY(-4px);

  border-color:rgba(226,28,33,.18);

  box-shadow:
    0 22px 48px rgba(35,27,23,.09);
}


/* MINI PHOTO */

.serviceMini__image{
  position:relative;

  height:245px;

  overflow:hidden;

  background:#dedad5;
}

.serviceMini__image img{
  width:100%;
  height:100%;

  display:block;

  object-fit:cover;

  transition:
    transform .6s cubic-bezier(.2,.7,.2,1);
}

.serviceMini:hover .serviceMini__image img{
  transform:scale(1.045);
}

.serviceMini__image>span{
  position:absolute;

  top:16px;
  left:16px;

  width:38px;
  height:38px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:rgba(255,255,255,.93);

  color:#222;

  font-size:16px;
  font-weight:800;

  box-shadow:
    0 8px 22px rgba(0,0,0,.10);
}


/* MINI CONTENT */

.serviceMini__content{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  min-height:112px;

  padding:20px 21px;
}

.serviceMini__content small{
  display:block;

  margin-bottom:5px;

  color:#8a837e;

  font-size:16px;
  font-weight:700;
}

.serviceMini__content h3{
  margin:0;

  color:#1d1c1a;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
  line-height:1.3;
}

.serviceMini__arrow{
  width:38px;
  height:38px;

  display:grid;
  place-items:center;

  flex:0 0 auto;

  border-radius:50%;

  background:#f4f1ee;

  color:#20201e;

  font-size:15px;

  transition:.25s ease;
}

.serviceMini:hover .serviceMini__arrow{
  background:var(--accent);
  color:#fff;

  transform:rotate(10deg);
}


/* =========================
INDIVIDUAL CORNER DETAILS
========================= */

.servicesCatalog__grid
.serviceMini:nth-child(1){
  border-radius:22px 22px 22px 48px;
}

.servicesCatalog__grid
.serviceMini:nth-child(3){
  border-radius:22px 48px 22px 22px;
}

.servicesCatalog__grid
.serviceMini:nth-child(4){
  border-radius:22px 22px 22px 48px;
}

.servicesCatalog__grid
.serviceMini:nth-child(6){
  border-radius:22px 48px 22px 22px;
}


/* =========================
BOTTOM CTA
========================= */

.servicesCatalog__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;

  margin-top:18px;

  padding:25px 28px;

  border-radius:22px;

  background:#171717;

  color:#fff;
}

.servicesCatalog__footer>div{
  display:grid;
}

.servicesCatalog__footer span{
  color:#999;

  font-size:16px;
  font-weight:700;
}

.servicesCatalog__footer strong{
  max-width:650px;

  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
  line-height:1.45;
}


/* =========================
1180
========================= */

@media (max-width:1180px){

  .servicesCatalog{
    padding:94px 0 102px;
  }

  .servicesCatalog__header{
    gap:48px;
  }

  .serviceFeature__image{
    height:350px;
  }

  .servicesCatalog__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .serviceMini__image{
    height:220px;
  }

}


/* =========================
TABLET
========================= */

@media (max-width:1024px){

  .servicesCatalog{
    padding:82px 0 90px;
  }

  .servicesCatalog__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .servicesCatalog__intro{
    max-width:720px;
  }

  .servicesCatalog__featured{
    grid-template-columns:1fr 1fr;
  }

  .serviceFeature__image{
    height:330px;
  }

  .serviceFeature__content{
    min-height:205px;

    padding:23px;
  }

  .serviceFeature__content h3{
    font-size:22px;
  }

  .servicesCatalog__grid{
    grid-template-columns:1fr 1fr;
  }

  .serviceMini__image{
    height:250px;
  }

}


/* =========================
SMALL TABLET
========================= */

@media (max-width:768px){

  .servicesCatalog{
    padding:68px 0 76px;
  }

  .servicesCatalog__intro p{
    font-size:16px;
  }

  .servicesCatalog__featured{
    grid-template-columns:1fr;
  }

  .serviceFeature:first-child,
  .serviceFeature:last-child{
    border-radius:24px;
  }

  .serviceFeature:first-child{
    border-radius:24px 24px 24px 56px;
  }

  .serviceFeature__image{
    height:390px;
  }

  .serviceFeature__content{
    min-height:auto;
  }

  .servicesCatalog__grid{
    grid-template-columns:1fr 1fr;
  }

}


/* =========================
MOBILE
========================= */

@media (max-width:576px){

  .servicesCatalog{
    padding:56px 0 62px;
  }

  .servicesCatalog h2{
    font-size:clamp(31px,8.6vw,40px);
  }

  .servicesCatalog__intro p{
    font-size:16px;
    line-height:1.65;
  }

  .serviceFeature{
    border-radius:20px !important;
  }

  .serviceFeature:first-child{
    border-radius:20px 20px 20px 48px !important;
  }

  .serviceFeature__image{
    height:320px;
  }

  .serviceFeature__content{
    align-items:flex-start;

    padding:21px;
  }

  .serviceFeature__content h3{
    font-size:21px;
  }

  .serviceFeature__content p{
    font-size:15px;
  }

  .serviceFeature__arrow{
    width:42px;
    height:42px;
  }

  .servicesCatalog__grid{
    grid-template-columns:1fr;
  }

  .serviceMini{
    border-radius:20px !important;
  }

  .serviceMini__image{
    height:280px;
  }

  .serviceMini__content{
    min-height:100px;
  }

  .servicesCatalog__footer{
    align-items:flex-start;
    flex-direction:column;

    padding:22px;
  }

  .servicesCatalog__footer .btn{
    width:100%;
  }

}








/* =========================
03 — WHY HOMEOWNERS CHOOSE PARKSIDE / SERVICE ADVANTAGES
========================= */

.servicesWhy{
  position:relative;
  overflow:hidden;

  padding:115px 0;

  background:#171717;
}

.servicesWhy:before{
  content:"";

  position:absolute;
  top:-260px;
  right:-240px;

  width:620px;
  height:620px;

  border:1px solid rgba(255,255,255,.05);
  border-radius:50%;
}

.servicesWhy:after{
  content:"";

  position:absolute;
  left:5%;
  bottom:-320px;

  width:540px;
  height:540px;

  background:
    radial-gradient(
      circle,
      rgba(226,28,33,.12),
      transparent 67%
    );

  pointer-events:none;
}


/* =========================
LAYOUT
========================= */

.servicesWhy__layout{
  position:relative;
  z-index:2;

  display:grid;
  grid-template-columns:minmax(380px,.86fr) minmax(0,1.14fr);

  align-items:center;
  gap:80px;
}


/* =========================
VISUAL
========================= */

.servicesWhy__visual{
  position:relative;

  overflow:hidden;

  min-height:690px;

  border-radius:32px 32px 32px 88px;

  background:#292929;

  box-shadow:
    0 30px 80px rgba(0,0,0,.27);
}

.servicesWhy__visual img{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  object-fit:cover;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.servicesWhy__visual:hover img{
  transform:scale(1.025);
}

.servicesWhy__visualShade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(12,12,12,.02) 25%,
      rgba(12,12,12,.12) 55%,
      rgba(12,12,12,.78) 100%
    );
}


/* BADGE */

.servicesWhy__badge{
  position:absolute;
  z-index:3;

  top:25px;
  right:25px;

  width:105px;
  height:105px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;

  background:rgba(18,18,18,.44);

  color:#fff;

  backdrop-filter:blur(12px);
}

.servicesWhy__badge span{
  color:#c9c9c9;

  font-size:16px;
  font-weight:700;
}

.servicesWhy__badge strong{
  margin-top:3px;

  font-family:var(--font-heading);
  font-size:23px;
  font-weight:800;
}


/* PHOTO CAPTION */

.servicesWhy__caption{
  position:absolute;
  z-index:3;

  left:29px;
  right:29px;
  bottom:28px;

  display:grid;
}

.servicesWhy__caption span{
  margin-bottom:7px;

  color:#ff6469;

  font-size:16px;
  font-weight:800;
}

.servicesWhy__caption strong{
  max-width:470px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:24px;
  font-weight:800;
  line-height:1.32;
}


/* =========================
CONTENT
========================= */

.servicesWhy__content{
  color:#fff;
}

.servicesWhy .sectionEyebrow{
  color:#b9b9b9;
}

.servicesWhy h2{
  max-width:690px;
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(37px,3.3vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.servicesWhy h2 strong{
  display:block;
  color:#ff5d62;
}

.servicesWhy__lead{
  max-width:690px;

  margin:22px 0 0;

  color:#aaa;

  font-size:17px;
  line-height:1.72;
}


/* =========================
ADVANTAGES
========================= */

.servicesWhy__list{
  margin-top:37px;

  border-top:1px solid rgba(255,255,255,.10);
}

.servicesWhy__item{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);

  gap:18px;

  padding:23px 0;

  border-bottom:1px solid rgba(255,255,255,.10);
}

.servicesWhy__number{
  width:39px;
  height:39px;

  display:grid;
  place-items:center;

  border-radius:12px;

  background:#252525;

  color:#ff6267;

  font-size:16px;
  font-weight:800;

  transition:
    background .25s ease,
    color .25s ease;
}

.servicesWhy__item:hover .servicesWhy__number{
  background:var(--accent);
  color:#fff;
}

.servicesWhy__item h3{
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  line-height:1.35;
}

.servicesWhy__item p{
  max-width:610px;

  margin:7px 0 0;

  color:#919191;

  font-size:15px;
  line-height:1.62;
}


/* =========================
BOTTOM
========================= */

.servicesWhy__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;

  margin-top:30px;
}

.servicesWhy__phone{
  display:grid;
}

.servicesWhy__phone span{
  color:#878787;

  font-size:16px;
  font-weight:700;
}

.servicesWhy__phone a{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:21px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .servicesWhy{
    padding:98px 0;
  }

  .servicesWhy__layout{
    gap:55px;
  }

  .servicesWhy__visual{
    min-height:640px;
  }

}


@media (max-width:1024px){

  .servicesWhy{
    padding:82px 0;
  }

  .servicesWhy__layout{
    grid-template-columns:1fr;
    gap:52px;
  }

  .servicesWhy__visual{
    min-height:560px;

    border-radius:28px 28px 28px 70px;
  }

  .servicesWhy__content{
    max-width:800px;
  }

}


@media (max-width:768px){

  .servicesWhy{
    padding:70px 0;
  }

  .servicesWhy__visual{
    min-height:500px;
  }

  .servicesWhy__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .servicesWhy{
    padding:58px 0;
  }

  .servicesWhy__visual{
    min-height:430px;

    border-radius:22px 22px 22px 52px;
  }

  .servicesWhy__badge{
    top:16px;
    right:16px;

    width:88px;
    height:88px;
  }

  .servicesWhy__badge strong{
    font-size:20px;
  }

  .servicesWhy__caption{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .servicesWhy__caption strong{
    font-size:20px;
  }

  .servicesWhy h2{
    font-size:clamp(32px,9vw,42px);
  }

  .servicesWhy__lead{
    font-size:16px;
    line-height:1.66;
  }

  .servicesWhy__item{
    grid-template-columns:42px minmax(0,1fr);
    gap:14px;

    padding:20px 0;
  }

  .servicesWhy__item h3{
    font-size:17px;
  }

  .servicesWhy__item p{
    font-size:16px;
  }

  .servicesWhy__bottom .btn{
    width:100%;
  }

}









/* =========================
04 — BRANDS WE SERVICE / EXPERIENCE ACROSS MAJOR BRANDS
========================= */

.servicesBrands{
  position:relative;
  overflow:hidden;

  padding:112px 0;

  background:
    radial-gradient(
      circle at 12% 18%,
      rgba(226,28,33,.07),
      transparent 28%
    ),
    #f6f4f1;
}


/* =========================
LAYOUT
========================= */

.servicesBrands__layout{
  display:grid;
  grid-template-columns:
    minmax(330px,.78fr)
    minmax(0,1.22fr);

  gap:72px;
  align-items:stretch;
}


/* =========================
LEFT INTRO
========================= */

.servicesBrands__intro{
  display:flex;
  flex-direction:column;
  justify-content:center;

  padding:12px 0;
}

.servicesBrands__intro h2{
  max-width:620px;
  margin:0;

  color:#191817;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.servicesBrands__intro h2 strong{
  display:block;
  color:var(--accent);
}

.servicesBrands__intro>p{
  max-width:570px;

  margin:22px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
HIGHLIGHT
========================= */

.servicesBrands__highlight{
  position:relative;

  max-width:560px;

  margin:32px 0 28px;
  padding:22px 24px 22px 28px;

  border-left:3px solid var(--accent);
  border-radius:0 18px 18px 0;

  background:#fff;

  box-shadow:
    0 14px 35px rgba(34,27,23,.055);
}

.servicesBrands__highlightLabel{
  display:block;

  margin-bottom:5px;

  color:#8c8580;

  font-size:16px;
  font-weight:700;
}

.servicesBrands__highlight strong{
  color:#201e1c;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  line-height:1.45;
}

.servicesBrands__intro .btn{
  width:max-content;
}


/* =========================
RIGHT PANEL
========================= */

.servicesBrands__panel{
  overflow:hidden;

  border-radius:30px;

  background:#171717;

  color:#fff;

  box-shadow:
    0 30px 75px rgba(31,24,20,.14);
}


/* =========================
TOP
========================= */

.servicesBrands__panelTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;

  padding:26px 28px;

  border-bottom:
    1px solid rgba(255,255,255,.10);
}

.servicesBrands__panelTop span{
  color:#aaa;

  font-size:16px;
  font-weight:700;
}

.servicesBrands__panelTop strong{
  color:#ff5d62;

  font-family:var(--font-heading);
  font-size:30px;
  font-weight:800;
}


/* =========================
BRAND GRID
========================= */

.servicesBrands__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.servicesBrands__brand{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:space-between;

  min-height:145px;

  padding:22px;

  border-right:
    1px solid rgba(255,255,255,.08);

  border-bottom:
    1px solid rgba(255,255,255,.08);

  transition:
    background .25s ease,
    transform .25s ease;
}

.servicesBrands__brand:nth-child(3n){
  border-right:0;
}

.servicesBrands__brand:nth-last-child(-n+3){
  border-bottom:0;
}

.servicesBrands__brand:hover{
  background:#222;
}

.servicesBrands__brand span{
  color:#666;

  font-size:16px;
  font-weight:800;

  transition:color .25s ease;
}

.servicesBrands__brand:hover span{
  color:#ff5d62;
}

.servicesBrands__brand strong{
  margin-top:30px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}


/* =========================
DECORATIVE CORNER
========================= */

.servicesBrands__brand:after{
  content:"↗";

  position:absolute;
  top:18px;
  right:18px;

  display:grid;
  place-items:center;

  width:28px;
  height:28px;

  border-radius:50%;

  background:rgba(255,255,255,.055);

  color:#777;

  font-size:16px;

  opacity:0;

  transform:translateY(3px);

  transition:
    opacity .25s ease,
    transform .25s ease,
    background .25s ease,
    color .25s ease;
}

.servicesBrands__brand:hover:after{
  opacity:1;
  transform:translateY(0);

  background:var(--accent);
  color:#fff;
}


/* =========================
BOTTOM
========================= */

.servicesBrands__panelBottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;

  padding:24px 28px;

  border-top:
    1px solid rgba(255,255,255,.10);

  background:#1d1d1d;
}

.servicesBrands__panelBottom p{
  max-width:510px;

  margin:0;

  color:#969696;

  font-size:16px;
  line-height:1.6;
}

.servicesBrands__panelBottom a{
  display:flex;
  align-items:center;
  gap:10px;

  flex:0 0 auto;

  color:#fff;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.servicesBrands__panelBottom a span{
  width:34px;
  height:34px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .servicesBrands{
    padding:96px 0;
  }

  .servicesBrands__layout{
    gap:50px;
  }

  .servicesBrands__brand{
    min-height:135px;
    padding:20px;
  }

}


@media (max-width:1024px){

  .servicesBrands{
    padding:82px 0;
  }

  .servicesBrands__layout{
    grid-template-columns:1fr;
    gap:44px;
  }

  .servicesBrands__intro{
    max-width:760px;
  }

  .servicesBrands__panel{
    border-radius:26px;
  }

}


@media (max-width:768px){

  .servicesBrands{
    padding:70px 0;
  }

  .servicesBrands__grid{
    grid-template-columns:1fr 1fr;
  }

  .servicesBrands__brand:nth-child(3n){
    border-right:
      1px solid rgba(255,255,255,.08);
  }

  .servicesBrands__brand:nth-child(2n){
    border-right:0;
  }

  .servicesBrands__brand:nth-last-child(-n+3){
    border-bottom:
      1px solid rgba(255,255,255,.08);
  }

  .servicesBrands__brand:nth-last-child(-n+2){
    border-bottom:0;
  }

  .servicesBrands__panelBottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .servicesBrands{
    padding:58px 0;
  }

  .servicesBrands__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .servicesBrands__intro>p{
    font-size:16px;
  }

  .servicesBrands__highlight{
    padding:20px;
  }

  .servicesBrands__intro .btn{
    width:100%;
  }

  .servicesBrands__grid{
    grid-template-columns:1fr;
  }

  .servicesBrands__brand{
    min-height:105px;

    border-right:0 !important;
    border-bottom:
      1px solid rgba(255,255,255,.08) !important;
  }

  .servicesBrands__brand:last-child{
    border-bottom:0 !important;
  }

  .servicesBrands__brand strong{
    margin-top:22px;
  }

  .servicesBrands__panelTop,
  .servicesBrands__panelBottom{
    padding:21px;
  }

}






/* =========================
05 — HOW SERVICE WORKS / SIMPLE REPAIR PROCESS
========================= */

.servicesProcess{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 90% 14%,
      rgba(226,28,33,.055),
      transparent 24%
    ),
    #fff;
}


/* =========================
LAYOUT
========================= */

.servicesProcess__layout{
  display:grid;
  grid-template-columns:
    minmax(380px,.9fr)
    minmax(0,1.1fr);

  align-items:center;
  gap:82px;
}


/* =========================
VISUAL
========================= */

.servicesProcess__visual{
  position:relative;

  overflow:hidden;

  min-height:720px;

  border-radius:32px 32px 88px 32px;

  background:#ded9d4;

  box-shadow:
    0 30px 75px rgba(34,27,23,.13);
}

.servicesProcess__visual img{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  object-fit:cover;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.servicesProcess__visual:hover img{
  transform:scale(1.025);
}

.servicesProcess__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(12,12,12,.15) 0%,
      transparent 34%,
      rgba(12,12,12,.08) 53%,
      rgba(12,12,12,.75) 100%
    );
}


/* =========================
VISUAL TOP
========================= */

.servicesProcess__visualTop{
  position:absolute;
  z-index:3;

  top:24px;
  left:24px;
  right:24px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;

  padding:13px 15px;

  border:1px solid rgba(255,255,255,.20);
  border-radius:14px;

  background:rgba(22,22,22,.34);

  color:#fff;

  backdrop-filter:blur(11px);
}

.servicesProcess__visualTop span{
  font-size:16px;
  font-weight:700;
}

.servicesProcess__visualTop strong{
  color:#ff666b;

  font-family:var(--font-heading);
  font-size:15px;
  font-weight:800;
}


/* =========================
VISUAL BOTTOM
========================= */

.servicesProcess__visualBottom{
  position:absolute;
  z-index:3;

  left:28px;
  right:28px;
  bottom:29px;
}

.servicesProcess__visualBottom span{
  display:block;

  margin-bottom:7px;

  color:#ff666b;

  font-size:16px;
  font-weight:800;
}

.servicesProcess__visualBottom strong{
  display:block;

  max-width:500px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:24px;
  font-weight:800;
  line-height:1.32;
}


/* =========================
CONTENT
========================= */

.servicesProcess__content h2{
  max-width:700px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.servicesProcess__content h2 strong{
  display:block;
  color:var(--accent);
}

.servicesProcess__lead{
  max-width:680px;

  margin:21px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
TIMELINE
========================= */

.servicesProcess__steps{
  margin-top:38px;
}

.servicesProcess__step{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);

  gap:19px;
}

.servicesProcess__stepSide{
  position:relative;

  display:flex;
  flex-direction:column;
  align-items:center;
}

.servicesProcess__stepSide span{
  position:relative;
  z-index:2;

  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  flex:0 0 auto;

  border:1px solid #e5ded9;
  border-radius:50%;

  background:#fff;

  color:#8b837e;

  font-size:16px;
  font-weight:800;

  box-shadow:
    0 8px 25px rgba(35,27,23,.07);

  transition:
    background .25s ease,
    color .25s ease,
    border-color .25s ease;
}

.servicesProcess__step:hover
.servicesProcess__stepSide span{
  border-color:var(--accent);

  background:var(--accent);
  color:#fff;
}

.servicesProcess__stepSide i{
  width:1px;
  flex:1;

  min-height:85px;

  margin-top:8px;

  background:
    linear-gradient(
      180deg,
      rgba(226,28,33,.3),
      #e7e1dc
    );
}

.servicesProcess__stepContent{
  padding:0 0 30px;

  border-bottom:1px solid #ebe6e2;
}

.servicesProcess__step + .servicesProcess__step{
  padding-top:24px;
}

.servicesProcess__stepLabel{
  display:block;

  margin-bottom:5px;

  color:#a29a95;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.servicesProcess__stepContent h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
  line-height:1.35;
}

.servicesProcess__stepContent p{
  max-width:600px;

  margin:7px 0 0;

  color:#77706b;

  font-size:15px;
  line-height:1.62;
}

.servicesProcess__step:last-child
.servicesProcess__stepContent{
  padding-bottom:0;
  border-bottom:0;
}


/* =========================
CTA
========================= */

.servicesProcess__cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;

  margin-top:36px;

  padding:20px 22px;

  border:1px solid #e8e2dd;
  border-radius:18px;

  background:#f8f6f3;
}

.servicesProcess__cta>div{
  display:grid;
}

.servicesProcess__cta span{
  color:#8e8782;

  font-size:16px;
  font-weight:700;
}

.servicesProcess__cta strong{
  margin-top:3px;

  color:#1d1b1a;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .servicesProcess{
    padding:96px 0 102px;
  }

  .servicesProcess__layout{
    gap:55px;
  }

  .servicesProcess__visual{
    min-height:680px;
  }

}


@media (max-width:1024px){

  .servicesProcess{
    padding:82px 0 88px;
  }

  .servicesProcess__layout{
    grid-template-columns:1fr;
    gap:48px;
  }

  .servicesProcess__visual{
    min-height:560px;

    border-radius:28px 28px 68px 28px;
  }

  .servicesProcess__content{
    max-width:800px;
  }

}


@media (max-width:768px){

  .servicesProcess{
    padding:68px 0 74px;
  }

  .servicesProcess__visual{
    min-height:500px;
  }

}


@media (max-width:576px){

  .servicesProcess{
    padding:56px 0 62px;
  }

  .servicesProcess__visual{
    min-height:420px;

    border-radius:22px 22px 50px 22px;
  }

  .servicesProcess__visualTop{
    top:15px;
    left:15px;
    right:15px;

    padding:11px 12px;
  }

  .servicesProcess__visualTop span{
    font-size:16px;
  }

  .servicesProcess__visualBottom{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .servicesProcess__visualBottom strong{
    font-size:20px;
  }

  .servicesProcess__content h2{
    font-size:clamp(32px,9vw,42px);
  }

  .servicesProcess__lead{
    font-size:16px;
    line-height:1.66;
  }

  .servicesProcess__step{
    grid-template-columns:40px minmax(0,1fr);
    gap:14px;
  }

  .servicesProcess__stepSide span{
    width:38px;
    height:38px;
  }

  .servicesProcess__stepContent h3{
    font-size:17px;
  }

  .servicesProcess__stepContent p{
    font-size:16px;
  }

  .servicesProcess__cta{
    align-items:flex-start;
    flex-direction:column;
  }

  .servicesProcess__cta .btn{
    width:100%;
  }

}







/* =========================
06 — COMMON APPLIANCE PROBLEMS / SIGNS IT’S TIME FOR SERVICE
========================= */

.servicesProblems{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#f6f4f1;
}

.servicesProblems:before{
  content:"";

  position:absolute;
  top:-250px;
  left:-220px;

  width:560px;
  height:560px;

  border:1px solid rgba(226,28,33,.07);
  border-radius:50%;
}


/* =========================
HEADER
========================= */

.servicesProblems__header{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);

  align-items:end;
  gap:72px;

  margin-bottom:46px;
}

.servicesProblems__header h2{
  max-width:800px;
  margin:0;

  color:#191817;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.servicesProblems__header h2 strong{
  display:block;
  color:var(--accent);
}

.servicesProblems__header>p{
  max-width:590px;
  margin:0;

  color:#706965;

  font-size:17px;
  line-height:1.72;
}


/* =========================
BOARD
========================= */

.servicesProblems__board{
  display:grid;
  grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);

  overflow:hidden;

  border-radius:30px;

  background:#171717;

  box-shadow:
    0 30px 78px rgba(31,24,20,.14);
}


/* =========================
FEATURE
========================= */

.servicesProblems__feature{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:flex-end;

  min-height:610px;

  padding:38px;

  overflow:hidden;

  background:
    radial-gradient(
      circle at 20% 12%,
      rgba(226,28,33,.24),
      transparent 30%
    ),
    linear-gradient(
      145deg,
      #211b1b 0%,
      #151515 65%
    );

  color:#fff;
}

.servicesProblems__feature:before{
  content:"";

  position:absolute;
  top:48px;
  right:-110px;

  width:280px;
  height:280px;

  border:1px solid rgba(255,255,255,.06);
  border-radius:50%;
}

.servicesProblems__feature:after{
  content:"";

  position:absolute;
  top:115px;
  right:-40px;

  width:140px;
  height:140px;

  border:1px solid rgba(255,255,255,.06);
  border-radius:50%;
}

.servicesProblems__featureLabel{
  position:relative;
  z-index:2;

  width:max-content;

  margin-bottom:13px;
  padding:8px 11px;

  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;

  background:rgba(255,255,255,.05);

  color:#ff666b;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.servicesProblems__feature h3{
  position:relative;
  z-index:2;

  max-width:470px;
  margin:0;

  font-family:var(--font-heading);
  font-size:31px;
  font-weight:800;
  line-height:1.18;
  letter-spacing:-.025em;
}

.servicesProblems__feature p{
  position:relative;
  z-index:2;

  max-width:470px;

  margin:17px 0 25px;

  color:#a8a8a8;

  font-size:16px;
  line-height:1.68;
}

.servicesProblems__feature .btn{
  position:relative;
  z-index:2;

  width:max-content;
}


/* =========================
PROBLEM GRID
========================= */

.servicesProblems__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
}

.servicesProblems__item{
  min-width:0;
  min-height:203px;

  padding:29px;

  border-left:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);

  transition:
    background .25s ease;
}

.servicesProblems__item:nth-last-child(-n+2){
  border-bottom:0;
}

.servicesProblems__item:hover{
  background:#202020;
}

.servicesProblems__item>span{
  display:block;

  margin-bottom:28px;

  color:#5f5f5f;

  font-size:16px;
  font-weight:800;

  transition:color .25s ease;
}

.servicesProblems__item:hover>span{
  color:#ff6267;
}

.servicesProblems__item h3{
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  line-height:1.35;
}

.servicesProblems__item p{
  max-width:430px;

  margin:8px 0 0;

  color:#929292;

  font-size:16px;
  line-height:1.62;
}


/* =========================
BOTTOM
========================= */

.servicesProblems__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;

  margin-top:18px;

  padding:24px 27px;

  border:1px solid #e5dfda;
  border-radius:20px;

  background:#fff;
}

.servicesProblems__bottom>span{
  color:#8f8782;

  font-size:16px;
  font-weight:700;
}

.servicesProblems__bottom>div{
  display:flex;
  align-items:center;
  gap:26px;
}

.servicesProblems__bottom strong{
  color:#211f1d;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.servicesProblems__bottom a{
  display:flex;
  align-items:center;
  gap:9px;

  color:var(--accent);

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.servicesProblems__bottom a span{
  width:34px;
  height:34px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:#fff0f0;

  font-size:16px;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .servicesProblems{
    padding:96px 0 102px;
  }

  .servicesProblems__header{
    gap:48px;
  }

  .servicesProblems__feature{
    min-height:590px;
    padding:32px;
  }

  .servicesProblems__item{
    padding:25px;
  }

}


@media (max-width:1024px){

  .servicesProblems{
    padding:82px 0 88px;
  }

  .servicesProblems__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .servicesProblems__header>p{
    max-width:720px;
  }

  .servicesProblems__board{
    grid-template-columns:1fr;
  }

  .servicesProblems__feature{
    min-height:auto;
    padding:40px 34px;
  }

  .servicesProblems__feature h3,
  .servicesProblems__feature p{
    max-width:700px;
  }

  .servicesProblems__item:nth-child(odd){
    border-left:0;
  }

}


@media (max-width:768px){

  .servicesProblems{
    padding:68px 0 74px;
  }

  .servicesProblems__grid{
    grid-template-columns:1fr;
  }

  .servicesProblems__item{
    min-height:auto;

    border-left:0;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
  }

  .servicesProblems__item:last-child{
    border-bottom:0 !important;
  }

  .servicesProblems__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

  .servicesProblems__bottom>div{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }

}


@media (max-width:576px){

  .servicesProblems{
    padding:56px 0 62px;
  }

  .servicesProblems__header h2{
    font-size:clamp(32px,9vw,42px);
  }

  .servicesProblems__header>p{
    font-size:16px;
    line-height:1.66;
  }

  .servicesProblems__board{
    border-radius:22px;
  }

  .servicesProblems__feature{
    padding:29px 22px;
  }

  .servicesProblems__feature h3{
    font-size:25px;
  }

  .servicesProblems__feature p{
    font-size:15px;
  }

  .servicesProblems__feature .btn{
    width:100%;
  }

  .servicesProblems__item{
    padding:24px 21px;
  }

  .servicesProblems__item>span{
    margin-bottom:20px;
  }

  .servicesProblems__item h3{
    font-size:17px;
  }

  .servicesProblems__bottom{
    padding:21px;
  }

}







/* =========================
07 — LOCAL SERVICE AREA / PROUDLY SERVING THE BAY AREA
========================= */

.servicesArea{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 88% 15%,
      rgba(226,28,33,.06),
      transparent 26%
    ),
    linear-gradient(
      180deg,
      #fff 0%,
      #f8f7f4 100%
    );
}


/* =========================
LAYOUT
========================= */

.servicesArea__layout{
  display:grid;
  grid-template-columns:
    minmax(380px,.9fr)
    minmax(0,1.1fr);

  align-items:center;
  gap:76px;
}


/* =========================
VISUAL
========================= */

.servicesArea__visual{
  position:relative;

  overflow:hidden;

  min-height:650px;

  border-radius:32px 32px 84px 32px;

  background:#ddd8d3;

  box-shadow:
    0 30px 76px rgba(34,27,23,.13);
}

.servicesArea__visual img{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.servicesArea__visual:hover img{
  transform:scale(1.025);
}

.servicesArea__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.12) 0%,
      transparent 38%,
      rgba(10,10,10,.08) 58%,
      rgba(10,10,10,.72) 100%
    );
}


/* =========================
VISUAL TOP
========================= */

.servicesArea__visualTop{
  position:absolute;
  z-index:3;

  top:24px;
  left:24px;
  right:24px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  padding:13px 15px;

  border:1px solid rgba(255,255,255,.22);
  border-radius:14px;

  background:rgba(20,20,20,.30);

  color:#fff;

  backdrop-filter:blur(11px);
}

.servicesArea__visualTop span{
  font-size:16px;
  font-weight:700;
}

.servicesArea__visualTop strong{
  color:#ff656a;

  font-family:var(--font-heading);
  font-size:15px;
  font-weight:800;
}


/* =========================
VISUAL BOTTOM
========================= */

.servicesArea__visualBottom{
  position:absolute;
  z-index:3;

  left:28px;
  right:28px;
  bottom:28px;
}

.servicesArea__visualBottom span{
  display:block;

  margin-bottom:7px;

  color:#ff666b;

  font-size:16px;
  font-weight:800;
}

.servicesArea__visualBottom strong{
  display:block;

  max-width:500px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:23px;
  font-weight:800;
  line-height:1.32;
}


/* =========================
CONTENT
========================= */

.servicesArea__content h2{
  max-width:720px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.servicesArea__content h2 strong{
  display:block;
  color:var(--accent);
}

.servicesArea__lead{
  max-width:680px;

  margin:21px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
LOCATIONS
========================= */

.servicesArea__locations{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;

  margin-top:34px;
}

.servicesArea__location{
  display:flex;
  align-items:center;
  gap:15px;

  min-height:78px;

  padding:15px 17px;

  border:1px solid #e7e1dc;
  border-radius:17px;

  background:#fff;

  box-shadow:
    0 12px 28px rgba(35,27,23,.045);

  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

.servicesArea__location:hover{
  transform:translateY(-3px);

  border-color:rgba(226,28,33,.22);

  box-shadow:
    0 18px 38px rgba(35,27,23,.075);
}

.servicesArea__location span{
  width:38px;
  height:38px;

  display:grid;
  place-items:center;

  flex:0 0 auto;

  border-radius:12px;

  background:#f5f2ef;

  color:#938b86;

  font-size:16px;
  font-weight:800;

  transition:.25s ease;
}

.servicesArea__location:hover span{
  background:#fff0f0;
  color:var(--accent);
}

.servicesArea__location strong{
  color:#211f1d;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
BOTTOM NOTE
========================= */

.servicesArea__note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;

  margin-top:18px;

  padding:21px 23px;

  border-radius:18px;

  background:#171717;

  color:#fff;
}

.servicesArea__note>div{
  display:grid;
}

.servicesArea__note>div span{
  color:#8d8d8d;

  font-size:16px;
  font-weight:700;
}

.servicesArea__note>div strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.servicesArea__note>a{
  display:flex;
  align-items:center;
  gap:9px;

  flex:0 0 auto;

  color:#fff;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.servicesArea__note>a span{
  width:34px;
  height:34px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .servicesArea{
    padding:96px 0 102px;
  }

  .servicesArea__layout{
    gap:54px;
  }

  .servicesArea__visual{
    min-height:610px;
  }

}


@media (max-width:1024px){

  .servicesArea{
    padding:82px 0 88px;
  }

  .servicesArea__layout{
    grid-template-columns:1fr;
    gap:46px;
  }

  .servicesArea__visual{
    min-height:540px;

    border-radius:28px 28px 66px 28px;
  }

  .servicesArea__content{
    max-width:820px;
  }

}


@media (max-width:768px){

  .servicesArea{
    padding:68px 0 74px;
  }

  .servicesArea__visual{
    min-height:480px;
  }

}


@media (max-width:576px){

  .servicesArea{
    padding:56px 0 62px;
  }

  .servicesArea__visual{
    min-height:420px;

    border-radius:22px 22px 50px 22px;
  }

  .servicesArea__visualTop{
    top:15px;
    left:15px;
    right:15px;

    padding:11px 12px;
  }

  .servicesArea__visualBottom{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .servicesArea__visualBottom strong{
    font-size:20px;
  }

  .servicesArea__content h2{
    font-size:clamp(32px,9vw,42px);
  }

  .servicesArea__lead{
    font-size:16px;
    line-height:1.66;
  }

  .servicesArea__locations{
    grid-template-columns:1fr;
  }

  .servicesArea__location{
    min-height:72px;
  }

  .servicesArea__note{
    align-items:flex-start;
    flex-direction:column;
  }

}








/* =========================
08 — SERVICE GUARANTEE / REPAIR WITH CONFIDENCE
========================= */

.servicesGuarantee{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#171717;
}

.servicesGuarantee:before{
  content:"";

  position:absolute;
  top:-280px;
  right:-220px;

  width:620px;
  height:620px;

  border:1px solid rgba(255,255,255,.045);
  border-radius:50%;
}

.servicesGuarantee:after{
  content:"";

  position:absolute;
  left:-150px;
  bottom:-260px;

  width:500px;
  height:500px;

  background:
    radial-gradient(
      circle,
      rgba(226,28,33,.13),
      transparent 68%
    );

  pointer-events:none;
}


/* =========================
SHELL
========================= */

.servicesGuarantee__shell{
  position:relative;
  z-index:2;

  display:grid;
  grid-template-columns:minmax(340px,.86fr) minmax(0,1.14fr);

  overflow:hidden;

  border:1px solid rgba(255,255,255,.09);
  border-radius:32px;

  background:#1c1c1c;

  box-shadow:
    0 32px 80px rgba(0,0,0,.22);
}


/* =========================
LEFT
========================= */

.servicesGuarantee__main{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:center;

  min-height:590px;

  padding:52px 48px;

  border-right:1px solid rgba(255,255,255,.09);

  background:
    radial-gradient(
      circle at 20% 15%,
      rgba(226,28,33,.16),
      transparent 30%
    ),
    linear-gradient(
      145deg,
      #211c1c,
      #171717
    );
}

.servicesGuarantee .sectionEyebrow{
  color:#aaa;
}

.servicesGuarantee__main h2{
  max-width:620px;
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.15vw,51px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.servicesGuarantee__main h2 strong{
  display:block;
  color:#ff5d62;
}

.servicesGuarantee__lead{
  max-width:580px;

  margin:21px 0 0;

  color:#a2a2a2;

  font-size:17px;
  line-height:1.72;
}


/* =========================
90 DAY FEATURE
========================= */

.servicesGuarantee__accent{
  display:flex;
  align-items:center;
  gap:20px;

  max-width:520px;

  margin-top:38px;
  padding:22px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;

  background:rgba(255,255,255,.045);
}

.servicesGuarantee__accentNumber{
  width:74px;
  height:74px;

  display:grid;
  place-items:center;

  flex:0 0 auto;

  border-radius:19px;

  background:var(--accent);

  color:#fff;

  font-family:var(--font-heading);
  font-size:30px;
  font-weight:900;

  box-shadow:
    0 13px 30px rgba(226,28,33,.22);
}

.servicesGuarantee__accent>div{
  display:grid;
}

.servicesGuarantee__accent>div span{
  color:#919191;

  font-size:16px;
  font-weight:700;
}

.servicesGuarantee__accent>div strong{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
  line-height:1.4;
}


/* =========================
RIGHT
========================= */

.servicesGuarantee__details{
  display:flex;
  flex-direction:column;
}


/* =========================
ITEM
========================= */

.servicesGuarantee__item{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);

  gap:20px;

  padding:34px 38px;

  border-bottom:1px solid rgba(255,255,255,.08);

  transition:
    background .25s ease;
}

.servicesGuarantee__item:hover{
  background:#212121;
}

.servicesGuarantee__index{
  width:43px;
  height:43px;

  display:grid;
  place-items:center;

  border:1px solid rgba(255,255,255,.10);
  border-radius:13px;

  background:#242424;

  color:#ff6166;

  font-size:16px;
  font-weight:800;

  transition:
    background .25s ease,
    color .25s ease;
}

.servicesGuarantee__item:hover
.servicesGuarantee__index{
  background:var(--accent);
  color:#fff;
}

.servicesGuarantee__item h3{
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.35;
}

.servicesGuarantee__item p{
  max-width:580px;

  margin:8px 0 0;

  color:#939393;

  font-size:15px;
  line-height:1.63;
}


/* =========================
CTA
========================= */

.servicesGuarantee__cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;

  margin-top:auto;
  padding:30px 38px;

  background:#151515;
}

.servicesGuarantee__cta>div{
  display:grid;
}

.servicesGuarantee__cta>div span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.servicesGuarantee__cta>div strong{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.servicesGuarantee__cta>a{
  display:flex;
  align-items:center;
  gap:10px;

  flex:0 0 auto;

  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.servicesGuarantee__cta>a>span{
  width:36px;
  height:36px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .servicesGuarantee{
    padding:96px 0 102px;
  }

  .servicesGuarantee__main{
    padding:42px 36px;
  }

  .servicesGuarantee__item{
    padding:31px 32px;
  }

}


@media (max-width:1024px){

  .servicesGuarantee{
    padding:82px 0 88px;
  }

  .servicesGuarantee__shell{
    grid-template-columns:1fr;

    border-radius:28px;
  }

  .servicesGuarantee__main{
    min-height:auto;

    padding:44px 38px;

    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.09);
  }

  .servicesGuarantee__main h2,
  .servicesGuarantee__lead{
    max-width:760px;
  }

}


@media (max-width:768px){

  .servicesGuarantee{
    padding:68px 0 74px;
  }

  .servicesGuarantee__main{
    padding:36px 30px;
  }

  .servicesGuarantee__item{
    padding:27px 28px;
  }

  .servicesGuarantee__cta{
    align-items:flex-start;
    flex-direction:column;

    padding:27px 28px;
  }

}


@media (max-width:576px){

  .servicesGuarantee{
    padding:56px 0 62px;
  }

  .servicesGuarantee__shell{
    border-radius:22px;
  }

  .servicesGuarantee__main{
    padding:28px 21px;
  }

  .servicesGuarantee__main h2{
    font-size:clamp(32px,9vw,42px);
  }

  .servicesGuarantee__lead{
    font-size:16px;
    line-height:1.66;
  }

  .servicesGuarantee__accent{
    align-items:flex-start;

    margin-top:28px;
    padding:18px;
  }

  .servicesGuarantee__accentNumber{
    width:62px;
    height:62px;

    border-radius:16px;

    font-size:26px;
  }

  .servicesGuarantee__item{
    grid-template-columns:42px minmax(0,1fr);

    gap:14px;

    padding:24px 21px;
  }

  .servicesGuarantee__index{
    width:38px;
    height:38px;
  }

  .servicesGuarantee__item h3{
    font-size:18px;
  }

  .servicesGuarantee__item p{
    font-size:16px;
  }

  .servicesGuarantee__cta{
    padding:23px 21px;
  }

}








/* =========================
09 — CUSTOMER REVIEWS / TRUSTED BY LOCAL HOMEOWNERS
========================= */

.servicesReviews{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(226,28,33,.055),
      transparent 24%
    ),
    #f7f5f2;
}


/* =========================
HEADER
========================= */

.servicesReviews__header{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);
  align-items:end;
  gap:70px;

  margin-bottom:46px;
}

.servicesReviews__header h2{
  max-width:760px;
  margin:0;

  color:#191817;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.servicesReviews__header h2 strong{
  display:block;
  color:var(--accent);
}

.servicesReviews__header>p{
  max-width:590px;
  margin:0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
LAYOUT
========================= */

.servicesReviews__layout{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:16px;
}


/* =========================
FEATURED REVIEW
========================= */

.servicesReviews__featured{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:flex-end;

  min-height:560px;

  overflow:hidden;

  padding:42px;

  border-radius:30px 30px 30px 72px;

  background:
    radial-gradient(
      circle at 18% 15%,
      rgba(226,28,33,.19),
      transparent 28%
    ),
    linear-gradient(
      145deg,
      #221d1d,
      #171717
    );

  color:#fff;

  box-shadow:
    0 28px 70px rgba(32,25,21,.14);
}

.servicesReviews__featured:before{
  content:"";

  position:absolute;
  top:-120px;
  right:-110px;

  width:320px;
  height:320px;

  border:1px solid rgba(255,255,255,.06);
  border-radius:50%;
}

.servicesReviews__quoteMark{
  position:absolute;
  top:24px;
  left:34px;

  color:rgba(255,255,255,.08);

  font-family:Georgia,serif;
  font-size:150px;
  line-height:1;
}

.servicesReviews__stars{
  position:relative;
  z-index:2;

  margin-bottom:18px;

  color:#ff6267;

  font-size:19px;
  letter-spacing:.12em;
}

.servicesReviews__featured blockquote{
  position:relative;
  z-index:2;

  max-width:680px;

  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(27px,2.2vw,36px);
  font-weight:800;
  line-height:1.28;
  letter-spacing:-.025em;
}

.servicesReviews__author{
  position:relative;
  z-index:2;

  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;

  margin-top:34px;
  padding-top:22px;

  border-top:1px solid rgba(255,255,255,.11);
}

.servicesReviews__author>div{
  display:grid;
}

.servicesReviews__author strong{
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}

.servicesReviews__author span{
  margin-top:4px;

  color:#8f8f8f;

  font-size:16px;
  font-weight:600;
}

.servicesReviews__source{
  margin:0 !important;

  padding:8px 11px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;

  background:rgba(255,255,255,.045);

  color:#aaa !important;

  font-size:16px !important;
}


/* =========================
REVIEW STACK
========================= */

.servicesReviews__stack{
  display:grid;
  grid-template-rows:repeat(3,1fr);
  gap:12px;
}

.servicesReviews__card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;

  min-height:0;

  padding:24px 25px;

  border:1px solid #e6e0db;
  border-radius:20px;

  background:#fff;

  box-shadow:
    0 14px 34px rgba(35,27,23,.045);

  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

.servicesReviews__card:hover{
  transform:translateY(-3px);

  border-color:rgba(226,28,33,.20);

  box-shadow:
    0 20px 42px rgba(35,27,23,.075);
}

.servicesReviews__cardTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.servicesReviews__cardTop>span{
  color:#a09994;

  font-size:16px;
  font-weight:800;
}

.servicesReviews__cardTop>div{
  color:#e21c21;

  font-size:16px;
  letter-spacing:.09em;
}

.servicesReviews__card p{
  max-width:520px;

  margin:20px 0;

  color:#514d49;

  font-size:15px;
  line-height:1.65;
}

.servicesReviews__card footer{
  display:grid;

  padding-top:15px;

  border-top:1px solid #eee9e5;
}

.servicesReviews__card footer strong{
  color:#211f1d;

  font-family:var(--font-heading);
  font-size:15px;
  font-weight:800;
}

.servicesReviews__card footer span{
  margin-top:4px;

  color:#96908b;

  font-size:16px;
  font-weight:600;
}


/* =========================
BOTTOM CTA
========================= */

.servicesReviews__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;

  margin-top:18px;

  padding:24px 27px;

  border-radius:20px;

  background:#fff;

  border:1px solid #e6e0db;
}

.servicesReviews__bottom>div:first-child{
  display:grid;
}

.servicesReviews__bottom>div:first-child span{
  color:#8c8580;

  font-size:16px;
  font-weight:700;
}

.servicesReviews__bottom>div:first-child strong{
  margin-top:4px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.servicesReviews__actions{
  display:flex;
  align-items:center;
  gap:21px;
}

.servicesReviews__phone{
  color:#1d1b1a;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .servicesReviews{
    padding:96px 0 102px;
  }

  .servicesReviews__header{
    gap:48px;
  }

  .servicesReviews__featured{
    min-height:535px;
  }

}


@media (max-width:1024px){

  .servicesReviews{
    padding:82px 0 88px;
  }

  .servicesReviews__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .servicesReviews__header>p{
    max-width:720px;
  }

  .servicesReviews__layout{
    grid-template-columns:1fr;
  }

  .servicesReviews__featured{
    min-height:460px;

    border-radius:26px 26px 26px 62px;
  }

  .servicesReviews__stack{
    grid-template-columns:repeat(3,1fr);
    grid-template-rows:auto;
  }

}


@media (max-width:768px){

  .servicesReviews{
    padding:68px 0 74px;
  }

  .servicesReviews__stack{
    grid-template-columns:1fr;
  }

  .servicesReviews__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .servicesReviews{
    padding:56px 0 62px;
  }

  .servicesReviews__header h2{
    font-size:clamp(32px,9vw,42px);
  }

  .servicesReviews__header>p{
    font-size:16px;
    line-height:1.66;
  }

  .servicesReviews__featured{
    min-height:430px;

    padding:28px 22px;

    border-radius:22px 22px 22px 50px;
  }

  .servicesReviews__featured blockquote{
    font-size:25px;
  }

  .servicesReviews__author{
    align-items:flex-start;
    flex-direction:column;
  }

  .servicesReviews__card{
    padding:21px;
  }

  .servicesReviews__bottom{
    padding:21px;
  }

  .servicesReviews__actions{
    width:100%;

    align-items:stretch;
    flex-direction:column;
  }

  .servicesReviews__actions .btn{
    width:100%;
  }

}









/* =========================
10 — APPLIANCE CARE TIPS / HELP YOUR APPLIANCES LAST LONGER
========================= */

.servicesCare{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 8% 14%,
      rgba(226,28,33,.055),
      transparent 24%
    ),
    #fff;
}


/* =========================
LAYOUT
========================= */

.servicesCare__layout{
  display:grid;
  grid-template-columns:minmax(380px,.88fr) minmax(0,1.12fr);

  align-items:center;
  gap:78px;
}


/* =========================
VISUAL
========================= */

.servicesCare__visual{
  position:relative;

  overflow:hidden;

  min-height:650px;

  border-radius:32px 32px 32px 84px;

  background:#ded9d4;

  box-shadow:
    0 30px 76px rgba(34,27,23,.12);
}

.servicesCare__visual img{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:transform .7s cubic-bezier(.2,.7,.2,1);
}

.servicesCare__visual:hover img{
  transform:scale(1.025);
}

.servicesCare__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.05) 22%,
      rgba(10,10,10,.08) 48%,
      rgba(10,10,10,.72) 100%
    );
}


/* =========================
VISUAL TAG
========================= */

.servicesCare__visualTag{
  position:absolute;
  z-index:3;

  top:23px;
  left:23px;

  padding:10px 13px;

  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;

  background:rgba(20,20,20,.34);

  color:#fff;

  font-size:16px;
  font-weight:700;

  backdrop-filter:blur(10px);
}


/* =========================
VISUAL BOTTOM
========================= */

.servicesCare__visualBottom{
  position:absolute;
  z-index:3;

  left:28px;
  right:28px;
  bottom:28px;
}

.servicesCare__visualBottom span{
  display:block;

  margin-bottom:7px;

  color:#ff666b;

  font-size:16px;
  font-weight:800;
}

.servicesCare__visualBottom strong{
  display:block;

  max-width:500px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:23px;
  font-weight:800;
  line-height:1.32;
}


/* =========================
CONTENT
========================= */

.servicesCare__content h2{
  max-width:720px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.servicesCare__content h2 strong{
  display:block;
  color:var(--accent);
}

.servicesCare__lead{
  max-width:680px;

  margin:21px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
TIPS
========================= */

.servicesCare__tips{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;

  margin-top:34px;
}

.servicesCare__tip{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);

  gap:14px;

  padding:20px;

  border:1px solid #e7e1dc;
  border-radius:18px;

  background:#faf9f7;

  transition:
    transform .25s ease,
    border-color .25s ease,
    background .25s ease;
}

.servicesCare__tip:hover{
  transform:translateY(-3px);

  border-color:rgba(226,28,33,.20);

  background:#fff;
}

.servicesCare__tip>span{
  width:38px;
  height:38px;

  display:grid;
  place-items:center;

  border-radius:12px;

  background:#fff;

  color:#99918c;

  font-size:16px;
  font-weight:800;

  box-shadow:
    0 8px 20px rgba(35,27,23,.05);

  transition:.25s ease;
}

.servicesCare__tip:hover>span{
  background:var(--accent);
  color:#fff;
}

.servicesCare__tip h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
  line-height:1.35;
}

.servicesCare__tip p{
  margin:7px 0 0;

  color:#77706b;

  font-size:16px;
  line-height:1.6;
}


/* =========================
BOTTOM
========================= */

.servicesCare__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;

  margin-top:18px;

  padding:21px 23px;

  border-radius:18px;

  background:#171717;

  color:#fff;
}

.servicesCare__bottom>div{
  display:grid;
}

.servicesCare__bottom span{
  color:#8c8c8c;

  font-size:16px;
  font-weight:700;
}

.servicesCare__bottom strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .servicesCare{
    padding:96px 0 102px;
  }

  .servicesCare__layout{
    gap:54px;
  }

  .servicesCare__visual{
    min-height:610px;
  }

}


@media (max-width:1024px){

  .servicesCare{
    padding:82px 0 88px;
  }

  .servicesCare__layout{
    grid-template-columns:1fr;
    gap:46px;
  }

  .servicesCare__visual{
    min-height:540px;

    border-radius:28px 28px 28px 68px;
  }

  .servicesCare__content{
    max-width:820px;
  }

}


@media (max-width:768px){

  .servicesCare{
    padding:68px 0 74px;
  }

  .servicesCare__visual{
    min-height:480px;
  }

}


@media (max-width:576px){

  .servicesCare{
    padding:56px 0 62px;
  }

  .servicesCare__visual{
    min-height:410px;

    border-radius:22px 22px 22px 50px;
  }

  .servicesCare__visualTag{
    top:15px;
    left:15px;

    font-size:16px;
  }

  .servicesCare__visualBottom{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .servicesCare__visualBottom strong{
    font-size:20px;
  }

  .servicesCare__content h2{
    font-size:clamp(32px,9vw,42px);
  }

  .servicesCare__lead{
    font-size:16px;
    line-height:1.66;
  }

  .servicesCare__tips{
    grid-template-columns:1fr;
  }

  .servicesCare__tip{
    padding:18px;
  }

  .servicesCare__bottom{
    align-items:flex-start;
    flex-direction:column;

    padding:21px;
  }

  .servicesCare__bottom .btn{
    width:100%;
  }

}








/* =========================
11 — FAQ / COMMON SERVICE QUESTIONS
========================= */

.servicesFaq{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 8% 12%,
      rgba(226,28,33,.055),
      transparent 23%
    ),
    #f6f4f1;
}


/* =========================
LAYOUT
========================= */

.servicesFaq__layout{
  display:grid;
  grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);

  align-items:start;
  gap:78px;
}


/* =========================
LEFT
========================= */

.servicesFaq__intro{
  position:sticky;
  top:120px;
}

.servicesFaq__intro h2{
  max-width:610px;
  margin:0;

  color:#1c1a19;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.servicesFaq__intro h2 strong{
  display:block;
  color:var(--accent);
}

.servicesFaq__intro>p{
  max-width:550px;

  margin:21px 0 0;

  color:#706a65;

  font-size:17px;
  line-height:1.72;
}


/* =========================
HELP BOX
========================= */

.servicesFaq__help{
  display:grid;

  max-width:480px;

  margin-top:34px;
  padding:23px;

  border-radius:20px;

  background:#171717;

  color:#fff;
}

.servicesFaq__help>span{
  color:#8e8e8e;

  font-size:16px;
  font-weight:700;
}

.servicesFaq__help>strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.servicesFaq__help>a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;

  margin-top:19px;
  padding-top:17px;

  border-top:1px solid rgba(255,255,255,.10);

  color:#fff;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
}

.servicesFaq__help>a span{
  width:34px;
  height:34px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
ACCORDION
========================= */

.servicesFaq__accordion{
  border-top:1px solid #ddd7d2;
}

.servicesFaq__item{
  border-bottom:1px solid #ddd7d2;
}

.servicesFaq__question{
  width:100%;

  display:grid;
  grid-template-columns:46px minmax(0,1fr) 44px;
  align-items:center;
  gap:18px;

  padding:25px 0;

  border:0;
  outline:0;

  background:transparent;

  text-align:left;

  cursor:pointer;
}

.servicesFaq__number{
  color:#9b938e;

  font-size:16px;
  font-weight:800;

  transition:color .25s ease;
}

.servicesFaq__questionText{
  color:#211f1d;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
  line-height:1.38;
}


/* =========================
ICON
========================= */

.servicesFaq__icon{
  position:relative;

  width:42px;
  height:42px;

  border:1px solid #ded8d3;
  border-radius:50%;

  background:#fff;

  transition:
    background .25s ease,
    border-color .25s ease,
    transform .25s ease;
}

.servicesFaq__icon:before,
.servicesFaq__icon:after{
  content:"";

  position:absolute;
  top:50%;
  left:50%;

  width:13px;
  height:1.5px;

  border-radius:2px;

  background:#262421;

  transform:translate(-50%,-50%);

  transition:.25s ease;
}

.servicesFaq__icon:after{
  transform:
    translate(-50%,-50%)
    rotate(90deg);
}


/* OPEN */

.servicesFaq__item.is-open
.servicesFaq__number{
  color:var(--accent);
}

.servicesFaq__item.is-open
.servicesFaq__icon{
  border-color:var(--accent);

  background:var(--accent);
}

.servicesFaq__item.is-open
.servicesFaq__icon:before,
.servicesFaq__item.is-open
.servicesFaq__icon:after{
  background:#fff;
}

.servicesFaq__item.is-open
.servicesFaq__icon:after{
  transform:
    translate(-50%,-50%)
    rotate(0deg);
}


/* =========================
ANSWER
========================= */

.servicesFaq__answer{
  display:grid;
  grid-template-rows:0fr;

  overflow:hidden;

  transition:grid-template-rows .35s ease;
}

.servicesFaq__answer>div{
  overflow:hidden;
}

.servicesFaq__item.is-open
.servicesFaq__answer{
  grid-template-rows:1fr;
}

.servicesFaq__answer p{
  max-width:680px;

  margin:0;
  padding:0 62px 25px 64px;

  color:#756e69;

  font-size:15px;
  line-height:1.7;
}


/* =========================
HOVER
========================= */

.servicesFaq__item:hover
.servicesFaq__number{
  color:var(--accent);
}

.servicesFaq__item:hover
.servicesFaq__icon{
  border-color:rgba(226,28,33,.32);
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .servicesFaq{
    padding:96px 0 102px;
  }

  .servicesFaq__layout{
    gap:54px;
  }

}


@media (max-width:1024px){

  .servicesFaq{
    padding:82px 0 88px;
  }

  .servicesFaq__layout{
    grid-template-columns:1fr;
    gap:46px;
  }

  .servicesFaq__intro{
    position:relative;
    top:auto;

    max-width:760px;
  }

}


@media (max-width:768px){

  .servicesFaq{
    padding:68px 0 74px;
  }

  .servicesFaq__question{
    grid-template-columns:38px minmax(0,1fr) 40px;
    gap:13px;
  }

  .servicesFaq__answer p{
    padding-left:51px;
    padding-right:50px;
  }

}


@media (max-width:576px){

  .servicesFaq{
    padding:56px 0 62px;
  }

  .servicesFaq__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .servicesFaq__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .servicesFaq__help{
    padding:20px;
  }

  .servicesFaq__question{
    grid-template-columns:28px minmax(0,1fr) 38px;

    gap:10px;

    padding:21px 0;
  }

  .servicesFaq__questionText{
    font-size:17px;
  }

  .servicesFaq__icon{
    width:38px;
    height:38px;
  }

  .servicesFaq__answer p{
    padding:
      0
      47px
      21px
      38px;

    font-size:16px;
  }

}






/* =========================
12 — FINAL CTA / READY TO GET YOUR APPLIANCE WORKING AGAIN
========================= */

.servicesFinalCta{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#f7f5f2;
}

.servicesFinalCta__shell{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);

  overflow:hidden;

  border-radius:34px;

  background:#171717;

  box-shadow:
    0 34px 86px rgba(32,25,21,.16);
}


/* =========================
CONTENT
========================= */

.servicesFinalCta__content{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:center;

  min-height:610px;

  padding:54px 52px;

  color:#fff;

  background:
    radial-gradient(
      circle at 15% 12%,
      rgba(226,28,33,.18),
      transparent 28%
    ),
    #171717;
}

.servicesFinalCta .sectionEyebrow{
  color:#aaa;
}

.servicesFinalCta h2{
  max-width:690px;
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(40px,3.5vw,56px);
  font-weight:800;
  line-height:1.06;
  letter-spacing:-.045em;
}

.servicesFinalCta h2 strong{
  display:block;
  color:#ff5d62;
}

.servicesFinalCta__content>p{
  max-width:640px;

  margin:22px 0 0;

  color:#a4a4a4;

  font-size:17px;
  line-height:1.72;
}


/* =========================
ACTIONS
========================= */

.servicesFinalCta__actions{
  display:flex;
  align-items:center;
  gap:25px;

  margin-top:31px;
}

.servicesFinalCta__phone{
  display:grid;
}

.servicesFinalCta__phone span{
  color:#7f7f7f;

  font-size:16px;
  font-weight:700;
}

.servicesFinalCta__phone strong{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
}


/* =========================
META
========================= */

.servicesFinalCta__meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));

  margin-top:42px;
  padding-top:25px;

  border-top:1px solid rgba(255,255,255,.10);
}

.servicesFinalCta__meta>div{
  display:grid;

  padding-right:22px;
}

.servicesFinalCta__meta>div + div{
  padding-left:22px;

  border-left:1px solid rgba(255,255,255,.09);
}

.servicesFinalCta__meta span{
  color:#777;

  font-size:16px;
  font-weight:700;
}

.servicesFinalCta__meta strong{
  margin-top:5px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}


/* =========================
VISUAL
========================= */

.servicesFinalCta__visual{
  position:relative;

  min-height:610px;

  overflow:hidden;

  background:#292929;
}

.servicesFinalCta__visual img{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.servicesFinalCta__visual:hover img{
  transform:scale(1.025);
}

.servicesFinalCta__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.03) 30%,
      rgba(10,10,10,.08) 55%,
      rgba(10,10,10,.68) 100%
    );
}

.servicesFinalCta__visualLabel{
  position:absolute;
  z-index:3;

  left:28px;
  right:28px;
  bottom:28px;

  display:grid;
}

.servicesFinalCta__visualLabel span{
  margin-bottom:6px;

  color:#ff666b;

  font-size:16px;
  font-weight:800;
}

.servicesFinalCta__visualLabel strong{
  max-width:460px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:23px;
  font-weight:800;
  line-height:1.32;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .servicesFinalCta{
    padding:96px 0 102px;
  }

  .servicesFinalCta__content{
    padding:45px 40px;
  }

}


@media (max-width:1024px){

  .servicesFinalCta{
    padding:82px 0 88px;
  }

  .servicesFinalCta__shell{
    grid-template-columns:1fr;
    border-radius:28px;
  }

  .servicesFinalCta__content{
    min-height:auto;
  }

  .servicesFinalCta__visual{
    min-height:520px;
  }

}


@media (max-width:768px){

  .servicesFinalCta{
    padding:68px 0 74px;
  }

  .servicesFinalCta__content{
    padding:38px 30px;
  }

  .servicesFinalCta__visual{
    min-height:460px;
  }

}


@media (max-width:576px){

  .servicesFinalCta{
    padding:56px 0 62px;
  }

  .servicesFinalCta__shell{
    border-radius:22px;
  }

  .servicesFinalCta__content{
    padding:30px 21px;
  }

  .servicesFinalCta h2{
    font-size:clamp(32px,9vw,42px);
  }

  .servicesFinalCta__content>p{
    font-size:16px;
    line-height:1.66;
  }

  .servicesFinalCta__actions{
    align-items:stretch;
    flex-direction:column;
  }

  .servicesFinalCta__actions .btn{
    width:100%;
  }

  .servicesFinalCta__phone{
    text-align:center;
  }

  .servicesFinalCta__meta{
    grid-template-columns:1fr;
    gap:17px;
  }

  .servicesFinalCta__meta>div,
  .servicesFinalCta__meta>div + div{
    padding:0;
    border-left:0;
  }

  .servicesFinalCta__meta>div + div{
    padding-top:17px;
    border-top:1px solid rgba(255,255,255,.09);
  }

  .servicesFinalCta__visual{
    min-height:400px;
  }

  .servicesFinalCta__visualLabel{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .servicesFinalCta__visualLabel strong{
    font-size:20px;
  }

}


























/* =========================
01 — SERVICE HERO / PROFESSIONAL APPLIANCE REPAIR
========================= */

.serviceHero{
  position:relative;
  overflow:hidden;

  padding:68px 0 108px;

  background:
    radial-gradient(
      circle at 92% 8%,
      rgba(226,28,33,.075),
      transparent 25%
    ),
    linear-gradient(
      180deg,
      #fff 0%,
      #f7f5f2 100%
    );
}

.serviceHero:before{
  content:"";

  position:absolute;
  left:-250px;
  bottom:-330px;

  width:600px;
  height:600px;

  border:1px solid rgba(226,28,33,.06);
  border-radius:50%;

  pointer-events:none;
}


/* =========================
SHELL
========================= */

.serviceHero__shell{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);

  overflow:hidden;

  min-height:660px;

  border-radius:34px;

  background:#171717;

  box-shadow:
    0 32px 84px rgba(33,25,21,.15);
}


/* =========================
CONTENT
========================= */

.serviceHero__content{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:center;

  padding:55px 52px;

  color:#fff;

  background:
    radial-gradient(
      circle at 10% 8%,
      rgba(226,28,33,.17),
      transparent 28%
    ),
    #171717;
}

.serviceHero .sectionEyebrow{
  color:#aaa;
}

.serviceHero h1{
  max-width:720px;
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(43px,4vw,62px);
  font-weight:800;
  line-height:1.04;
  letter-spacing:-.052em;
}

.serviceHero h1 strong{
  display:block;
  color:#ff5d62;
}

.serviceHero__lead{
  max-width:650px;

  margin:23px 0 0;

  color:#a4a4a4;

  font-size:17px;
  line-height:1.72;
}


/* =========================
ACTIONS
========================= */

.serviceHero__actions{
  display:flex;
  align-items:center;
  gap:25px;

  margin-top:31px;
}

.serviceHero__phone{
  display:grid;
}

.serviceHero__phone span{
  color:#777;

  font-size:16px;
  font-weight:700;
}

.serviceHero__phone strong{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
}


/* =========================
FACTS
========================= */

.serviceHero__facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));

  margin-top:42px;
  padding-top:24px;

  border-top:1px solid rgba(255,255,255,.10);
}

.serviceHero__facts>div{
  display:grid;

  padding-right:22px;
}

.serviceHero__facts>div + div{
  padding-left:22px;

  border-left:1px solid rgba(255,255,255,.09);
}

.serviceHero__facts span{
  color:#707070;

  font-size:16px;
  font-weight:700;
}

.serviceHero__facts strong{
  margin-top:5px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}


/* =========================
VISUAL
========================= */

.serviceHero__visual{
  position:relative;

  overflow:hidden;

  min-height:660px;

  background:#292929;
}

.serviceHero__visual img{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.serviceHero__visual:hover img{
  transform:scale(1.025);
}

.serviceHero__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.12) 0%,
      transparent 38%,
      rgba(10,10,10,.12) 58%,
      rgba(10,10,10,.70) 100%
    );
}


/* =========================
VISUAL TOP
========================= */

.serviceHero__visualTop{
  position:absolute;
  z-index:3;

  top:23px;
  left:23px;
  right:23px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  padding:12px 14px;

  border:1px solid rgba(255,255,255,.20);
  border-radius:14px;

  background:rgba(20,20,20,.34);

  backdrop-filter:blur(11px);
}

.serviceHero__visualTop span{
  color:#fff;

  font-size:16px;
  font-weight:700;
}

.serviceHero__visualTop strong{
  color:#ff6267;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
VISUAL BOTTOM
========================= */

.serviceHero__visualBottom{
  position:absolute;
  z-index:3;

  left:28px;
  right:28px;
  bottom:28px;

  display:grid;
}

.serviceHero__visualBottom span{
  margin-bottom:7px;

  color:#ff666b;

  font-size:16px;
  font-weight:800;
}

.serviceHero__visualBottom strong{
  max-width:500px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:23px;
  font-weight:800;
  line-height:1.32;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .serviceHero{
    padding:56px 0 94px;
  }

  .serviceHero__shell{
    grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);
  }

  .serviceHero__content{
    padding:46px 40px;
  }

}


@media (max-width:1024px){

  .serviceHero{
    padding:44px 0 82px;
  }

  .serviceHero__shell{
    grid-template-columns:1fr;

    min-height:0;

    border-radius:28px;
  }

  .serviceHero__content{
    min-height:auto;
  }

  .serviceHero__visual{
    min-height:540px;
  }

}


@media (max-width:768px){

  .serviceHero__content{
    padding:38px 30px;
  }

  .serviceHero__visual{
    min-height:480px;
  }

}


@media (max-width:576px){

  .serviceHero{
    padding:28px 0 58px;
  }

  .serviceHero__shell{
    border-radius:22px;
  }

  .serviceHero__content{
    padding:30px 21px;
  }

  .serviceHero h1{
    font-size:clamp(36px,10vw,46px);
    line-height:1.07;
  }

  .serviceHero__lead{
    font-size:16px;
    line-height:1.66;
  }

  .serviceHero__actions{
    align-items:stretch;
    flex-direction:column;
    gap:17px;
  }

  .serviceHero__actions .btn{
    width:100%;
  }

  .serviceHero__phone{
    text-align:center;
  }

  .serviceHero__facts{
    grid-template-columns:1fr;
    gap:17px;
  }

  .serviceHero__facts>div,
  .serviceHero__facts>div + div{
    padding:0;
    border-left:0;
  }

  .serviceHero__facts>div + div{
    padding-top:17px;

    border-top:1px solid rgba(255,255,255,.09);
  }

  .serviceHero__visual{
    min-height:410px;
  }

  .serviceHero__visualTop{
    top:15px;
    left:15px;
    right:15px;
  }

  .serviceHero__visualBottom{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .serviceHero__visualBottom strong{
    font-size:20px;
  }

}






/* =========================
02 — SERVICE EXPERTISE / WHAT WE CAN HELP WITH
========================= */

.serviceExpertise{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 94% 10%,
      rgba(226,28,33,.055),
      transparent 24%
    ),
    #f7f5f2;
}


/* =========================
HEADER
========================= */

.serviceExpertise__header{
  display:grid;
  grid-template-columns:
    minmax(0,1.1fr)
    minmax(340px,.9fr);

  align-items:end;
  gap:72px;

  margin-bottom:44px;
}

.serviceExpertise__header h2{
  max-width:780px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.serviceExpertise__header h2 strong{
  display:block;
  color:var(--accent);
}

.serviceExpertise__intro{
  max-width:600px;
  margin:0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
LIST
========================= */

.serviceExpertise__list{
  display:grid;
  gap:14px;
}


/* =========================
ITEM
========================= */

.serviceExpertise__item{
  display:grid;
  grid-template-columns:
    minmax(260px,.42fr)
    minmax(0,1.58fr);

  overflow:hidden;

  width:100%;
  min-height:230px;

  border:1px solid #e5dfda;
  border-radius:24px;

  background:#fff;

  box-shadow:
    0 15px 40px rgba(35,27,23,.055);

  transition:
    transform .28s ease,
    border-color .28s ease,
    box-shadow .28s ease;
}

.serviceExpertise__item:hover{
  transform:translateY(-4px);

  border-color:rgba(226,28,33,.20);

  box-shadow:
    0 24px 52px rgba(35,27,23,.09);
}


/* =========================
INDIVIDUAL SHAPES
========================= */

.serviceExpertise__item:nth-child(1){
  border-radius:24px 24px 24px 58px;
}

.serviceExpertise__item:nth-child(2){
  border-radius:24px;
}

.serviceExpertise__item:nth-child(3){
  border-radius:24px;
}

.serviceExpertise__item:nth-child(4){
  border-radius:24px 58px 24px 24px;
}


/* =========================
IMAGE
========================= */

.serviceExpertise__image{
  position:relative;

  overflow:hidden;

  min-width:0;
  min-height:230px;

  background:#ddd8d3;
}

.serviceExpertise__image:after{
  content:"";

  position:absolute;
  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(10,10,10,.01),
      rgba(10,10,10,.06)
    );

  pointer-events:none;
}

.serviceExpertise__image img{
  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .6s cubic-bezier(.2,.7,.2,1);
}

.serviceExpertise__item:hover
.serviceExpertise__image img{
  transform:scale(1.04);
}


/* =========================
CONTENT
========================= */

.serviceExpertise__content{
  display:grid;
  grid-template-columns:
    50px
    minmax(0,1fr)
    48px;

  align-items:center;
  gap:24px;

  min-width:0;

  padding:27px 28px;
}

.serviceExpertise__number{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  flex:0 0 auto;

  border-radius:13px;

  background:#f5f2ef;

  color:#918983;

  font-size:16px;
  font-weight:800;

  transition:
    background .25s ease,
    color .25s ease;
}

.serviceExpertise__item:hover
.serviceExpertise__number{
  background:#fff0f0;
  color:var(--accent);
}

.serviceExpertise__category{
  display:block;

  margin-bottom:5px;

  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.serviceExpertise__content h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:22px;
  font-weight:800;
  line-height:1.3;
}

.serviceExpertise__content p{
  max-width:660px;

  margin:8px 0 0;

  color:#746d68;

  font-size:15px;
  line-height:1.62;
}


/* =========================
ARROW
========================= */

.serviceExpertise__arrow{
  width:44px;
  height:44px;

  display:grid;
  place-items:center;

  flex:0 0 auto;

  border-radius:50%;

  background:#f4f1ee;

  color:#20201e;

  font-size:17px;

  transition:
    background .25s ease,
    color .25s ease,
    transform .25s ease;
}

.serviceExpertise__item:hover
.serviceExpertise__arrow{
  transform:rotate(10deg);

  background:var(--accent);
  color:#fff;
}


/* =========================
1180
========================= */

@media (max-width:1180px){

  .serviceExpertise{
    padding:96px 0 102px;
  }

  .serviceExpertise__header{
    gap:48px;
  }

  .serviceExpertise__item{
    grid-template-columns:
      minmax(240px,.42fr)
      minmax(0,1.58fr);
  }

  .serviceExpertise__content{
    gap:20px;
    padding:24px;
  }

}


/* =========================
TABLET
========================= */

@media (max-width:1024px){

  .serviceExpertise{
    padding:82px 0 88px;
  }

  .serviceExpertise__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .serviceExpertise__intro{
    max-width:720px;
  }

  .serviceExpertise__item{
    grid-template-columns:
      minmax(250px,310px)
      minmax(0,1fr);
  }

  .serviceExpertise__item:nth-child(1){
    border-radius:22px 22px 22px 48px;
  }

  .serviceExpertise__item:nth-child(4){
    border-radius:22px 48px 22px 22px;
  }

}


/* =========================
SMALL TABLET
========================= */

@media (max-width:768px){

  .serviceExpertise{
    padding:68px 0 74px;
  }

  .serviceExpertise__item{
    grid-template-columns:1fr;
  }

  .serviceExpertise__image{
    min-height:300px;
  }

  .serviceExpertise__content{
    grid-template-columns:
      46px
      minmax(0,1fr)
      44px;

    gap:17px;

    padding:23px;
  }

}


/* =========================
MOBILE
========================= */

@media (max-width:576px){

  .serviceExpertise{
    padding:56px 0 62px;
  }

  .serviceExpertise__header h2{
    font-size:clamp(32px,9vw,42px);
  }

  .serviceExpertise__intro{
    font-size:16px;
    line-height:1.66;
  }

  .serviceExpertise__item,
  .serviceExpertise__item:nth-child(1),
  .serviceExpertise__item:nth-child(2),
  .serviceExpertise__item:nth-child(3),
  .serviceExpertise__item:nth-child(4){
    border-radius:20px;
  }

  .serviceExpertise__item:nth-child(1){
    border-radius:20px 20px 20px 46px;
  }

  .serviceExpertise__image{
    min-height:250px;
  }

  .serviceExpertise__content{
    grid-template-columns:
      40px
      minmax(0,1fr)
      40px;

    gap:13px;

    padding:20px;
  }

  .serviceExpertise__number{
    width:38px;
    height:38px;
  }

  .serviceExpertise__arrow{
    width:38px;
    height:38px;

    font-size:15px;
  }

  .serviceExpertise__content h3{
    font-size:19px;
  }

  .serviceExpertise__content p{
    font-size:16px;
  }

}







/* =========================
03 — WHY CHOOSE PARKSIDE / A BETTER SERVICE EXPERIENCE
========================= */

.serviceWhy{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#f7f5f2;
}


/* =========================
SHELL
========================= */

.serviceWhy__shell{
  display:grid;
  grid-template-columns:
    minmax(320px,.78fr)
    minmax(0,1.22fr);

  overflow:hidden;

  border-radius:32px;

  background:#171717;

  color:#fff;

  box-shadow:
    0 30px 78px rgba(31,24,20,.14);
}


/* =========================
INTRO
========================= */

.serviceWhy__intro{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:center;

  min-height:560px;

  padding:48px;

  border-right:
    1px solid rgba(255,255,255,.09);

  background:
    radial-gradient(
      circle at 14% 12%,
      rgba(226,28,33,.18),
      transparent 30%
    ),
    #171717;
}

.serviceWhy .sectionEyebrow{
  color:#aaa;
}

.serviceWhy__intro h2{
  max-width:620px;
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.serviceWhy__intro h2 strong{
  display:block;

  color:#ff5d62;
}

.serviceWhy__intro>p{
  max-width:560px;

  margin:22px 0 0;

  color:#a0a0a0;

  font-size:17px;
  line-height:1.72;
}


/* =========================
CALLOUT
========================= */

.serviceWhy__callout{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;

  gap:20px;

  margin-top:38px;
  padding-top:23px;

  border-top:
    1px solid rgba(255,255,255,.10);
}

.serviceWhy__callout span{
  color:#808080;

  font-size:16px;
  font-weight:700;
}

.serviceWhy__callout strong{
  color:#ff5d62;

  font-family:var(--font-heading);
  font-size:34px;
  font-weight:800;
  line-height:1;
}


/* =========================
GRID
========================= */

.serviceWhy__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
}


/* =========================
ITEM
========================= */

.serviceWhy__item{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:space-between;

  min-height:280px;

  padding:32px;

  border-right:
    1px solid rgba(255,255,255,.08);

  border-bottom:
    1px solid rgba(255,255,255,.08);

  background:#1b1b1b;

  transition:
    background .25s ease;
}

.serviceWhy__item:nth-child(2n){
  border-right:0;
}

.serviceWhy__item:nth-last-child(-n+2){
  border-bottom:0;
}

.serviceWhy__item:hover{
  background:#202020;
}

.serviceWhy__number{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  border-radius:13px;

  background:#242424;

  color:#ff6267;

  font-size:16px;
  font-weight:800;

  transition:
    background .25s ease,
    color .25s ease;
}

.serviceWhy__item:hover
.serviceWhy__number{
  background:var(--accent);
  color:#fff;
}

.serviceWhy__item h3{
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.35;
}

.serviceWhy__item p{
  max-width:420px;

  margin:9px 0 0;

  color:#929292;

  font-size:15px;
  line-height:1.62;
}


/* =========================
ACCENT ITEM
========================= */

.serviceWhy__item--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.18),
      transparent 46%
    ),
    #1b1b1b;
}

.serviceWhy__item--accent
.serviceWhy__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .serviceWhy{
    padding:96px 0 102px;
  }

  .serviceWhy__intro{
    padding:40px;
  }

  .serviceWhy__item{
    padding:28px;
  }

}


@media (max-width:1024px){

  .serviceWhy{
    padding:82px 0 88px;
  }

  .serviceWhy__shell{
    grid-template-columns:1fr;

    border-radius:28px;
  }

  .serviceWhy__intro{
    min-height:auto;

    border-right:0;
    border-bottom:
      1px solid rgba(255,255,255,.09);
  }

  .serviceWhy__intro h2,
  .serviceWhy__intro>p{
    max-width:760px;
  }

}


@media (max-width:768px){

  .serviceWhy{
    padding:68px 0 74px;
  }

  .serviceWhy__grid{
    grid-template-columns:1fr;
  }

  .serviceWhy__item{
    min-height:auto;

    border-right:0;
    border-bottom:
      1px solid rgba(255,255,255,.08) !important;
  }

  .serviceWhy__item:last-child{
    border-bottom:0 !important;
  }

}


@media (max-width:576px){

  .serviceWhy{
    padding:56px 0 62px;
  }

  .serviceWhy__shell{
    border-radius:22px;
  }

  .serviceWhy__intro{
    padding:28px 21px;
  }

  .serviceWhy__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .serviceWhy__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .serviceWhy__callout{
    align-items:flex-start;
    flex-direction:column;
    gap:9px;
  }

  .serviceWhy__item{
    padding:24px 21px;
  }

  .serviceWhy__item h3{
    margin-top:30px;

    font-size:18px;
  }

  .serviceWhy__item p{
    font-size:16px;
  }

}







/* =========================
04 — WHAT TO EXPECT / DURING YOUR SERVICE VISIT
========================= */

.serviceVisit{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(226,28,33,.055),
      transparent 24%
    ),
    #f7f5f2;
}


/* =========================
HEADER
========================= */

.serviceVisit__header{
  display:grid;
  grid-template-columns:
    minmax(0,1.1fr)
    minmax(340px,.9fr);

  align-items:end;
  gap:72px;

  margin-bottom:44px;
}

.serviceVisit__header h2{
  max-width:780px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.serviceVisit__header h2 strong{
  display:block;
  color:var(--accent);
}

.serviceVisit__intro{
  max-width:600px;
  margin:0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
MEDIA
========================= */

.serviceVisit__media{
  position:relative;

  overflow:hidden;

  min-height:510px;

  border-radius:30px;

  background:#ddd8d3;

  box-shadow:
    0 28px 72px rgba(35,27,23,.11);
}

.serviceVisit__media img{
  position:absolute;
  inset:0;

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.serviceVisit__media:hover img{
  transform:scale(1.025);
}

.serviceVisit__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.12) 0%,
      rgba(10,10,10,.01) 38%,
      rgba(10,10,10,.10) 58%,
      rgba(10,10,10,.72) 100%
    );
}


/* =========================
MEDIA TOP
========================= */

.serviceVisit__mediaTop{
  position:absolute;
  z-index:3;

  top:23px;
  left:23px;
  right:23px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;

  padding:12px 14px;

  border:1px solid rgba(255,255,255,.22);
  border-radius:14px;

  background:rgba(18,18,18,.30);

  color:#fff;

  backdrop-filter:blur(10px);
}

.serviceVisit__mediaTop span{
  font-size:16px;
  font-weight:700;
}

.serviceVisit__mediaTop strong{
  color:#ff6267;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
MEDIA BOTTOM
========================= */

.serviceVisit__mediaBottom{
  position:absolute;
  z-index:3;

  left:29px;
  right:29px;
  bottom:28px;
}

.serviceVisit__mediaBottom>span{
  display:block;

  margin-bottom:7px;

  color:#ff656a;

  font-size:16px;
  font-weight:800;
}

.serviceVisit__mediaBottom>strong{
  display:block;

  max-width:720px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:25px;
  font-weight:800;
  line-height:1.32;
}


/* =========================
STEPS
========================= */

.serviceVisit__steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;

  margin-top:16px;
}

.serviceVisit__step{
  position:relative;

  min-width:0;

  padding:25px 25px 27px;

  border:1px solid #e5dfda;
  border-radius:22px;

  background:#fff;

  box-shadow:
    0 14px 36px rgba(35,27,23,.05);

  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

.serviceVisit__step:hover{
  transform:translateY(-4px);

  border-color:rgba(226,28,33,.20);

  box-shadow:
    0 22px 48px rgba(35,27,23,.08);
}

.serviceVisit__stepTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  margin-bottom:28px;
}

.serviceVisit__number{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  border-radius:13px;

  background:#f4f1ee;

  color:#8f8781;

  font-size:16px;
  font-weight:800;
}

.serviceVisit__label{
  color:#a09994;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.serviceVisit__step h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.35;
}

.serviceVisit__step p{
  margin:9px 0 0;

  color:#756e69;

  font-size:15px;
  line-height:1.62;
}


/* =========================
ACCENT STEP
========================= */

.serviceVisit__step--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.10),
      transparent 44%
    ),
    #fff;
}

.serviceVisit__step--accent
.serviceVisit__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
BOTTOM
========================= */

.serviceVisit__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:30px;

  margin-top:16px;

  padding:23px 25px;

  border-radius:20px;

  background:#171717;

  color:#fff;
}

.serviceVisit__bottom>div:first-child{
  display:grid;
}

.serviceVisit__bottom>div:first-child span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.serviceVisit__bottom>div:first-child strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.serviceVisit__actions{
  display:flex;
  align-items:center;
  gap:22px;
}

.serviceVisit__phone{
  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .serviceVisit{
    padding:96px 0 102px;
  }

  .serviceVisit__header{
    gap:48px;
  }

  .serviceVisit__media{
    min-height:470px;
  }

}


@media (max-width:1024px){

  .serviceVisit{
    padding:82px 0 88px;
  }

  .serviceVisit__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .serviceVisit__intro{
    max-width:720px;
  }

  .serviceVisit__media{
    min-height:440px;
    border-radius:26px;
  }

  .serviceVisit__steps{
    grid-template-columns:1fr 1fr;
  }

  .serviceVisit__step:last-child{
    grid-column:1/-1;
  }

}


@media (max-width:768px){

  .serviceVisit{
    padding:68px 0 74px;
  }

  .serviceVisit__media{
    min-height:400px;
  }

  .serviceVisit__steps{
    grid-template-columns:1fr;
  }

  .serviceVisit__step:last-child{
    grid-column:auto;
  }

  .serviceVisit__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .serviceVisit{
    padding:56px 0 62px;
  }

  .serviceVisit__header h2{
    font-size:clamp(32px,9vw,42px);
  }

  .serviceVisit__intro{
    font-size:16px;
    line-height:1.66;
  }

  .serviceVisit__media{
    min-height:380px;

    border-radius:22px;
  }

  .serviceVisit__mediaTop{
    top:15px;
    left:15px;
    right:15px;

    align-items:flex-start;
    flex-direction:column;

    gap:3px;
  }

  .serviceVisit__mediaBottom{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .serviceVisit__mediaBottom>strong{
    font-size:20px;
  }

  .serviceVisit__step{
    padding:21px;
  }

  .serviceVisit__step h3{
    font-size:18px;
  }

  .serviceVisit__step p{
    font-size:16px;
  }

  .serviceVisit__actions{
    width:100%;

    align-items:stretch;
    flex-direction:column;
  }

  .serviceVisit__actions .btn{
    width:100%;
  }

}






/* =========================
05 — COMMON ISSUES / PROBLEMS WE DIAGNOSE
========================= */

.serviceIssues{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 8% 8%,
      rgba(226,28,33,.055),
      transparent 23%
    ),
    #f7f5f2;
}


/* =========================
HEADER
========================= */

.serviceIssues__header{
  display:grid;
  grid-template-columns:
    minmax(0,1.1fr)
    minmax(340px,.9fr);

  align-items:end;
  gap:72px;

  margin-bottom:44px;
}

.serviceIssues__header h2{
  max-width:790px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.serviceIssues__header h2 strong{
  display:block;
  color:var(--accent);
}

.serviceIssues__intro{
  max-width:610px;
  margin:0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
BOARD
========================= */

.serviceIssues__board{
  display:grid;
  grid-template-columns:
    minmax(310px,.76fr)
    minmax(0,1.24fr);

  overflow:hidden;

  border-radius:32px;

  background:#171717;

  box-shadow:
    0 30px 80px rgba(31,24,20,.14);
}


/* =========================
FEATURE
========================= */

.serviceIssues__feature{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:flex-end;

  min-height:610px;

  padding:38px;

  overflow:hidden;

  border-right:
    1px solid rgba(255,255,255,.08);

  background:
    radial-gradient(
      circle at 18% 12%,
      rgba(226,28,33,.22),
      transparent 28%
    ),
    linear-gradient(
      145deg,
      #211c1c,
      #151515
    );

  color:#fff;
}

.serviceIssues__feature:before{
  content:"";

  position:absolute;
  top:55px;
  right:-105px;

  width:280px;
  height:280px;

  border:1px solid rgba(255,255,255,.05);
  border-radius:50%;
}

.serviceIssues__feature:after{
  content:"";

  position:absolute;
  top:125px;
  right:-35px;

  width:140px;
  height:140px;

  border:1px solid rgba(255,255,255,.05);
  border-radius:50%;
}

.serviceIssues__featureLabel{
  position:relative;
  z-index:2;

  width:max-content;

  margin-bottom:14px;
  padding:8px 11px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;

  background:rgba(255,255,255,.04);

  color:#ff6267;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.serviceIssues__feature h3{
  position:relative;
  z-index:2;

  max-width:500px;
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:31px;
  font-weight:800;
  line-height:1.18;
  letter-spacing:-.03em;
}

.serviceIssues__feature>p{
  position:relative;
  z-index:2;

  max-width:480px;

  margin:17px 0 28px;

  color:#a2a2a2;

  font-size:16px;
  line-height:1.68;
}


/* =========================
FEATURE BOTTOM
========================= */

.serviceIssues__featureBottom{
  position:relative;
  z-index:2;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:24px;

  padding-top:22px;

  border-top:
    1px solid rgba(255,255,255,.10);
}

.serviceIssues__featureBottom>div{
  display:grid;
}

.serviceIssues__featureBottom span{
  color:#777;

  font-size:16px;
  font-weight:700;
}

.serviceIssues__featureBottom strong{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}


/* =========================
ISSUES GRID
========================= */

.serviceIssues__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
}


/* =========================
ISSUE
========================= */

.serviceIssues__item{
  position:relative;

  min-width:0;
  min-height:203px;

  padding:27px;

  border-right:
    1px solid rgba(255,255,255,.08);

  border-bottom:
    1px solid rgba(255,255,255,.08);

  background:#1a1a1a;

  transition:
    background .25s ease;
}

.serviceIssues__item:nth-child(2n){
  border-right:0;
}

.serviceIssues__item:nth-last-child(-n+2){
  border-bottom:0;
}

.serviceIssues__item:hover{
  background:#202020;
}


/* =========================
TOP
========================= */

.serviceIssues__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;

  margin-bottom:30px;
}

.serviceIssues__number{
  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  border-radius:12px;

  background:#242424;

  color:#ff6267;

  font-size:16px;
  font-weight:800;

  transition:.25s ease;
}

.serviceIssues__item:hover
.serviceIssues__number{
  background:var(--accent);
  color:#fff;
}

.serviceIssues__type{
  color:#626262;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}


/* =========================
TEXT
========================= */

.serviceIssues__item h3{
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
  line-height:1.35;
}

.serviceIssues__item p{
  max-width:430px;

  margin:8px 0 0;

  color:#919191;

  font-size:16px;
  line-height:1.62;
}


/* =========================
ACCENT
========================= */

.serviceIssues__item--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.15),
      transparent 44%
    ),
    #1a1a1a;
}

.serviceIssues__item--accent
.serviceIssues__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .serviceIssues{
    padding:96px 0 102px;
  }

  .serviceIssues__header{
    gap:48px;
  }

  .serviceIssues__feature{
    padding:32px;
  }

  .serviceIssues__item{
    padding:24px;
  }

}


@media (max-width:1024px){

  .serviceIssues{
    padding:82px 0 88px;
  }

  .serviceIssues__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .serviceIssues__intro{
    max-width:720px;
  }

  .serviceIssues__board{
    grid-template-columns:1fr;

    border-radius:28px;
  }

  .serviceIssues__feature{
    min-height:auto;

    padding:38px 34px;

    border-right:0;
    border-bottom:
      1px solid rgba(255,255,255,.08);
  }

  .serviceIssues__feature h3,
  .serviceIssues__feature>p{
    max-width:720px;
  }

}


@media (max-width:768px){

  .serviceIssues{
    padding:68px 0 74px;
  }

  .serviceIssues__grid{
    grid-template-columns:1fr;
  }

  .serviceIssues__item{
    min-height:auto;

    border-right:0;
    border-bottom:
      1px solid rgba(255,255,255,.08) !important;
  }

  .serviceIssues__item:last-child{
    border-bottom:0 !important;
  }

}


@media (max-width:576px){

  .serviceIssues{
    padding:56px 0 62px;
  }

  .serviceIssues__header h2{
    font-size:clamp(32px,9vw,42px);
  }

  .serviceIssues__intro{
    font-size:16px;
    line-height:1.66;
  }

  .serviceIssues__board{
    border-radius:22px;
  }

  .serviceIssues__feature{
    padding:28px 21px;
  }

  .serviceIssues__feature h3{
    font-size:25px;
  }

  .serviceIssues__feature>p{
    font-size:15px;
  }

  .serviceIssues__featureBottom{
    align-items:flex-start;
    flex-direction:column;
  }

  .serviceIssues__featureBottom .btn{
    width:100%;
  }

  .serviceIssues__item{
    padding:23px 21px;
  }

  .serviceIssues__top{
    margin-bottom:22px;
  }

  .serviceIssues__item h3{
    font-size:18px;
  }

  .serviceIssues__item p{
    font-size:16px;
  }

}








/* =========================
06 — BRANDS WE SERVICE / FAMILIAR WITH MAJOR APPLIANCE BRANDS
========================= */

.serviceBrands{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 8%,
      rgba(226,28,33,.055),
      transparent 24%
    ),
    #fff;
}


/* =========================
HEADER
========================= */

.serviceBrands__header{
  display:grid;
  grid-template-columns:
    minmax(0,1.1fr)
    minmax(340px,.9fr);

  align-items:end;
  gap:72px;

  margin-bottom:44px;
}

.serviceBrands__header h2{
  max-width:780px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.serviceBrands__header h2 strong{
  display:block;
  color:var(--accent);
}

.serviceBrands__intro p{
  max-width:600px;
  margin:0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}

.serviceBrands__introLink{
  display:inline-flex;
  align-items:center;
  gap:10px;

  width:max-content;

  margin-top:18px;

  color:var(--accent);

  font-size:15px;
  font-weight:800;
}

.serviceBrands__introLink>span{
  width:32px;
  height:32px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:#fff0f0;
}


/* =========================
SHELL
========================= */

.serviceBrands__shell{
  overflow:hidden;

  border:1px solid #e5dfda;
  border-radius:30px;

  background:#f8f6f3;

  box-shadow:
    0 24px 62px rgba(35,27,23,.07);
}


/* =========================
TOP
========================= */

.serviceBrands__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;

  padding:27px 30px;

  border-bottom:1px solid #e6e0db;

  background:#fff;
}

.serviceBrands__top>div:first-child{
  display:grid;
}

.serviceBrands__top>div:first-child span{
  color:#918984;

  font-size:16px;
  font-weight:700;
}

.serviceBrands__top>div:first-child strong{
  margin-top:4px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.serviceBrands__count{
  display:grid;

  text-align:right;
}

.serviceBrands__count span{
  color:#918984;

  font-size:16px;
  font-weight:700;
}

.serviceBrands__count strong{
  margin-top:2px;

  color:var(--accent);

  font-family:var(--font-heading);
  font-size:29px;
  font-weight:800;
  line-height:1;
}


/* =========================
GRID
========================= */

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


/* =========================
ITEM
========================= */

.serviceBrands__item{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:space-between;

  min-height:145px;

  padding:21px;

  border-right:1px solid #e5dfda;
  border-bottom:1px solid #e5dfda;

  background:#faf8f5;

  transition:
    background .25s ease,
    transform .25s ease;
}

.serviceBrands__item:nth-child(4n){
  border-right:0;
}

.serviceBrands__item:nth-last-child(-n+4){
  border-bottom:0;
}

.serviceBrands__item:hover{
  background:#fff;
}

.serviceBrands__item>span{
  color:#a09892;

  font-size:16px;
  font-weight:800;

  transition:color .25s ease;
}

.serviceBrands__item:hover>span{
  color:var(--accent);
}

.serviceBrands__item strong{
  margin-top:30px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.serviceBrands__item:after{
  content:"↗";

  position:absolute;
  top:17px;
  right:17px;

  width:29px;
  height:29px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:#f0ece8;

  color:#8d8580;

  font-size:16px;

  opacity:0;

  transform:translateY(4px);

  transition:
    opacity .25s ease,
    transform .25s ease,
    background .25s ease,
    color .25s ease;
}

.serviceBrands__item:hover:after{
  opacity:1;
  transform:translateY(0);

  background:var(--accent);
  color:#fff;
}


/* =========================
BOTTOM
========================= */

.serviceBrands__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:30px;

  padding:24px 28px;

  border-top:1px solid #e5dfda;

  background:#171717;

  color:#fff;
}

.serviceBrands__bottom>div{
  display:grid;
}

.serviceBrands__bottom>div span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.serviceBrands__bottom>div strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.serviceBrands__bottom>a{
  display:flex;
  align-items:center;
  gap:10px;

  flex:0 0 auto;

  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.serviceBrands__bottom>a>span{
  width:35px;
  height:35px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .serviceBrands{
    padding:96px 0 102px;
  }

  .serviceBrands__header{
    gap:48px;
  }

}


@media (max-width:1024px){

  .serviceBrands{
    padding:82px 0 88px;
  }

  .serviceBrands__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .serviceBrands__intro{
    max-width:720px;
  }

  .serviceBrands__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .serviceBrands__item:nth-child(4n){
    border-right:1px solid #e5dfda;
  }

  .serviceBrands__item:nth-child(3n){
    border-right:0;
  }

  .serviceBrands__item:nth-last-child(-n+4){
    border-bottom:1px solid #e5dfda;
  }

  .serviceBrands__item:nth-last-child(-n+3){
    border-bottom:0;
  }

}


@media (max-width:768px){

  .serviceBrands{
    padding:68px 0 74px;
  }

  .serviceBrands__grid{
    grid-template-columns:1fr 1fr;
  }

  .serviceBrands__item:nth-child(3n){
    border-right:1px solid #e5dfda;
  }

  .serviceBrands__item:nth-child(2n){
    border-right:0;
  }

  .serviceBrands__item:nth-last-child(-n+3){
    border-bottom:1px solid #e5dfda;
  }

  .serviceBrands__item:nth-last-child(-n+2){
    border-bottom:0;
  }

}


@media (max-width:576px){

  .serviceBrands{
    padding:56px 0 62px;
  }

  .serviceBrands__header h2{
    font-size:clamp(32px,9vw,42px);
  }

  .serviceBrands__intro p{
    font-size:16px;
    line-height:1.66;
  }

  .serviceBrands__shell{
    border-radius:22px;
  }

  .serviceBrands__top{
    align-items:flex-start;
    flex-direction:column;

    padding:22px;
  }

  .serviceBrands__count{
    text-align:left;
  }

  .serviceBrands__grid{
    grid-template-columns:1fr;
  }

  .serviceBrands__item{
    min-height:105px;

    border-right:0 !important;
    border-bottom:1px solid #e5dfda !important;
  }

  .serviceBrands__item:last-child{
    border-bottom:0 !important;
  }

  .serviceBrands__item strong{
    margin-top:22px;
  }

  .serviceBrands__bottom{
    align-items:flex-start;
    flex-direction:column;

    padding:21px;
  }

}








/* =========================
07 — SERVICE PROMISE / WHAT YOU CAN EXPECT FROM PARKSIDE
========================= */

.servicePromise{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(226,28,33,.055),
      transparent 24%
    ),
    #f7f5f2;
}


/* =========================
HEADER
========================= */

.servicePromise__header{
  display:grid;
  grid-template-columns:
    minmax(0,1.1fr)
    minmax(340px,.9fr);

  align-items:end;
  gap:72px;

  margin-bottom:44px;
}

.servicePromise__header h2{
  max-width:790px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.servicePromise__header h2 strong{
  display:block;

  color:var(--accent);
}

.servicePromise__intro{
  max-width:610px;
  margin:0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
MEDIA
========================= */

.servicePromise__media{
  position:relative;

  overflow:hidden;

  min-height:520px;

  border-radius:30px;

  background:#dcd7d2;

  box-shadow:
    0 28px 72px rgba(35,27,23,.11);
}

.servicePromise__media img{
  position:absolute;
  inset:0;

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.servicePromise__media:hover img{
  transform:scale(1.025);
}

.servicePromise__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.08) 0%,
      rgba(10,10,10,.02) 40%,
      rgba(10,10,10,.12) 62%,
      rgba(10,10,10,.72) 100%
    );
}


/* =========================
MEDIA TAG
========================= */

.servicePromise__mediaTag{
  position:absolute;
  z-index:3;

  top:22px;
  left:22px;

  padding:10px 13px;

  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;

  background:rgba(18,18,18,.34);

  color:#fff;

  font-size:16px;
  font-weight:700;

  backdrop-filter:blur(10px);
}


/* =========================
MEDIA CONTENT
========================= */

.servicePromise__mediaContent{
  position:absolute;
  z-index:3;

  left:29px;
  right:29px;
  bottom:28px;

  display:grid;
}

.servicePromise__mediaContent>span{
  margin-bottom:7px;

  color:#ff656a;

  font-size:16px;
  font-weight:800;
}

.servicePromise__mediaContent>strong{
  max-width:760px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:26px;
  font-weight:800;
  line-height:1.3;
}


/* =========================
GRID
========================= */

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

  gap:12px;

  margin-top:16px;
}


/* =========================
ITEM
========================= */

.servicePromise__item{
  min-width:0;

  padding:23px;

  border:1px solid #e5dfda;
  border-radius:20px;

  background:#fff;

  box-shadow:
    0 14px 34px rgba(35,27,23,.045);

  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

.servicePromise__item:hover{
  transform:translateY(-4px);

  border-color:rgba(226,28,33,.20);

  box-shadow:
    0 22px 46px rgba(35,27,23,.075);
}

.servicePromise__number{
  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  margin-bottom:25px;

  border-radius:12px;

  background:#f4f1ee;

  color:#8f8781;

  font-size:16px;
  font-weight:800;

  transition:.25s ease;
}

.servicePromise__item:hover
.servicePromise__number{
  background:#fff0f0;
  color:var(--accent);
}

.servicePromise__item h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  line-height:1.35;
}

.servicePromise__item p{
  margin:8px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.62;
}


/* =========================
ACCENT ITEM
========================= */

.servicePromise__item--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.10),
      transparent 45%
    ),
    #fff;
}

.servicePromise__item--accent
.servicePromise__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
BOTTOM
========================= */

.servicePromise__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:30px;

  margin-top:16px;

  padding:23px 25px;

  border-radius:20px;

  background:#171717;

  color:#fff;
}

.servicePromise__bottom>div:first-child{
  display:grid;
}

.servicePromise__bottom>div:first-child span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.servicePromise__bottom>div:first-child strong{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.servicePromise__actions{
  display:flex;
  align-items:center;
  gap:22px;
}

.servicePromise__phone{
  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .servicePromise{
    padding:96px 0 102px;
  }

  .servicePromise__header{
    gap:48px;
  }

  .servicePromise__grid{
    grid-template-columns:1fr 1fr;
  }

}


@media (max-width:1024px){

  .servicePromise{
    padding:82px 0 88px;
  }

  .servicePromise__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .servicePromise__intro{
    max-width:720px;
  }

  .servicePromise__media{
    min-height:470px;

    border-radius:26px;
  }

}


@media (max-width:768px){

  .servicePromise{
    padding:68px 0 74px;
  }

  .servicePromise__media{
    min-height:430px;
  }

  .servicePromise__grid{
    grid-template-columns:1fr;
  }

  .servicePromise__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .servicePromise{
    padding:56px 0 62px;
  }

  .servicePromise__header h2{
    font-size:clamp(32px,9vw,42px);
  }

  .servicePromise__intro{
    font-size:16px;
    line-height:1.66;
  }

  .servicePromise__media{
    min-height:390px;

    border-radius:22px;
  }

  .servicePromise__mediaTag{
    top:15px;
    left:15px;

    font-size:16px;
  }

  .servicePromise__mediaContent{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .servicePromise__mediaContent>strong{
    font-size:20px;
  }

  .servicePromise__item{
    padding:21px;
  }

  .servicePromise__item h3{
    font-size:17px;
  }

  .servicePromise__bottom{
    padding:21px;
  }

  .servicePromise__actions{
    width:100%;

    align-items:stretch;
    flex-direction:column;
  }

  .servicePromise__actions .btn{
    width:100%;
  }

}









/* =========================
08 — SERVICE AREA / LOCAL APPLIANCE REPAIR ACROSS THE BAY AREA
========================= */

.serviceArea{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(226,28,33,.055),
      transparent 24%
    ),
    #f7f5f2;
}


/* =========================
HEADER
========================= */

.serviceArea__header{
  display:grid;
  grid-template-columns:
    minmax(0,1.1fr)
    minmax(340px,.9fr);

  align-items:end;
  gap:72px;

  margin-bottom:44px;
}

.serviceArea__header h2{
  max-width:790px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.serviceArea__header h2 strong{
  display:block;
  color:var(--accent);
}

.serviceArea__intro{
  max-width:610px;
  margin:0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
SHELL
========================= */

.serviceArea__shell{
  display:grid;
  grid-template-columns:
    minmax(420px,.95fr)
    minmax(0,1.05fr);

  overflow:hidden;

  border:1px solid #e4ded9;
  border-radius:30px;

  background:#fff;

  box-shadow:
    0 28px 72px rgba(35,27,23,.09);
}


/* =========================
VISUAL
========================= */

.serviceArea__visual{
  position:relative;

  min-height:610px;

  overflow:hidden;

  background:#ddd8d3;
}

.serviceArea__visual img{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  display:block;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.serviceArea__visual:hover img{
  transform:scale(1.025);
}

.serviceArea__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.08) 0%,
      rgba(10,10,10,.02) 38%,
      rgba(10,10,10,.12) 58%,
      rgba(10,10,10,.72) 100%
    );
}


/* =========================
VISUAL TOP
========================= */

.serviceArea__visualTop{
  position:absolute;
  z-index:3;

  top:22px;
  left:22px;

  padding:10px 13px;

  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;

  background:rgba(18,18,18,.34);

  color:#fff;

  font-size:16px;
  font-weight:700;

  backdrop-filter:blur(10px);
}


/* =========================
VISUAL BOTTOM
========================= */

.serviceArea__visualBottom{
  position:absolute;
  z-index:3;

  left:28px;
  right:28px;
  bottom:28px;

  display:grid;
}

.serviceArea__visualBottom span{
  margin-bottom:7px;

  color:#ff656a;

  font-size:16px;
  font-weight:800;
}

.serviceArea__visualBottom strong{
  max-width:560px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:24px;
  font-weight:800;
  line-height:1.3;
}


/* =========================
CONTENT
========================= */

.serviceArea__content{
  display:flex;
  flex-direction:column;

  min-width:0;

  padding:34px;
}

.serviceArea__contentTop{
  padding-bottom:27px;

  border-bottom:1px solid #e9e3df;
}

.serviceArea__label{
  display:block;

  margin-bottom:7px;

  color:var(--accent);

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.serviceArea__contentTop>strong{
  display:block;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:24px;
  font-weight:800;
  line-height:1.3;
}

.serviceArea__contentTop p{
  max-width:590px;

  margin:11px 0 0;

  color:#756e69;

  font-size:15px;
  line-height:1.65;
}


/* =========================
LOCATIONS
========================= */

.serviceArea__locations{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:11px;

  margin-top:24px;
}

.serviceArea__location{
  display:flex;
  align-items:center;
  gap:14px;

  min-height:72px;

  padding:14px 16px;

  border:1px solid #e7e1dc;
  border-radius:16px;

  background:#faf8f5;

  transition:
    transform .25s ease,
    border-color .25s ease,
    background .25s ease;
}

.serviceArea__location:hover{
  transform:translateY(-3px);

  border-color:rgba(226,28,33,.20);

  background:#fff;
}

.serviceArea__location>span{
  width:36px;
  height:36px;

  display:grid;
  place-items:center;

  flex:0 0 auto;

  border-radius:11px;

  background:#fff;

  color:#928a85;

  font-size:16px;
  font-weight:800;

  box-shadow:
    0 7px 18px rgba(35,27,23,.045);
}

.serviceArea__location strong{
  color:#211f1d;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}

.serviceArea__location--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.09),
      transparent 50%
    ),
    #faf8f5;
}

.serviceArea__location--accent>span{
  background:var(--accent);
  color:#fff;
}


/* =========================
CONTACT
========================= */

.serviceArea__contact{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:24px;

  margin-top:auto;
  padding-top:26px;
}

.serviceArea__contact>div{
  display:grid;
}

.serviceArea__contact>div span{
  color:#8e8782;

  font-size:16px;
  font-weight:700;
}

.serviceArea__contact>div strong{
  margin-top:4px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.serviceArea__contact>a{
  display:flex;
  align-items:center;
  gap:9px;

  flex:0 0 auto;

  color:#1e1d1b;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.serviceArea__contact>a>span{
  width:35px;
  height:35px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  color:#fff;

  font-size:16px;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .serviceArea{
    padding:96px 0 102px;
  }

  .serviceArea__header{
    gap:48px;
  }

  .serviceArea__shell{
    grid-template-columns:
      minmax(380px,.9fr)
      minmax(0,1.1fr);
  }

}


@media (max-width:1024px){

  .serviceArea{
    padding:82px 0 88px;
  }

  .serviceArea__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .serviceArea__intro{
    max-width:720px;
  }

  .serviceArea__shell{
    grid-template-columns:1fr;

    border-radius:26px;
  }

  .serviceArea__visual{
    min-height:500px;
  }

  .serviceArea__content{
    padding:30px;
  }

}


@media (max-width:768px){

  .serviceArea{
    padding:68px 0 74px;
  }

  .serviceArea__visual{
    min-height:450px;
  }

}


@media (max-width:576px){

  .serviceArea{
    padding:56px 0 62px;
  }

  .serviceArea__header h2{
    font-size:clamp(32px,9vw,42px);
  }

  .serviceArea__intro{
    font-size:16px;
    line-height:1.66;
  }

  .serviceArea__shell{
    border-radius:22px;
  }

  .serviceArea__visual{
    min-height:390px;
  }

  .serviceArea__visualTop{
    top:15px;
    left:15px;

    font-size:16px;
  }

  .serviceArea__visualBottom{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .serviceArea__visualBottom strong{
    font-size:20px;
  }

  .serviceArea__content{
    padding:22px 20px;
  }

  .serviceArea__locations{
    grid-template-columns:1fr;
  }

  .serviceArea__contact{
    align-items:flex-start;
    flex-direction:column;
  }

}








/* =========================
09 — BEFORE YOUR APPOINTMENT / HOW TO PREPARE
========================= */

.servicePrep{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 8% 12%,
      rgba(226,28,33,.055),
      transparent 24%
    ),
    #fff;
}


/* =========================
LAYOUT
========================= */

.servicePrep__layout{
  display:grid;
  grid-template-columns:
    minmax(320px,.78fr)
    minmax(0,1.22fr);

  align-items:start;
  gap:76px;
}


/* =========================
INTRO
========================= */

.servicePrep__intro{
  position:sticky;
  top:120px;
}

.servicePrep__intro h2{
  max-width:620px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.servicePrep__intro h2 strong{
  display:block;
  color:var(--accent);
}

.servicePrep__intro>p{
  max-width:560px;

  margin:22px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
HELP
========================= */

.servicePrep__help{
  display:grid;

  max-width:500px;

  margin-top:34px;
  padding:22px;

  border-radius:20px;

  background:#171717;

  color:#fff;
}

.servicePrep__help>span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.servicePrep__help>strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.servicePrep__help>a{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:18px;

  margin-top:18px;
  padding-top:17px;

  border-top:
    1px solid rgba(255,255,255,.10);

  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.servicePrep__help>a>span{
  width:34px;
  height:34px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
GRID
========================= */

.servicePrep__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}


/* =========================
ITEM
========================= */

.servicePrep__item{
  position:relative;

  min-height:270px;

  padding:25px;

  border:1px solid #e5dfda;
  border-radius:22px;

  background:#f9f7f4;

  transition:
    transform .25s ease,
    border-color .25s ease,
    background .25s ease,
    box-shadow .25s ease;
}

.servicePrep__item:hover{
  transform:translateY(-4px);

  border-color:rgba(226,28,33,.20);

  background:#fff;

  box-shadow:
    0 22px 48px rgba(35,27,23,.07);
}

.servicePrep__number{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  margin-bottom:34px;

  border-radius:13px;

  background:#fff;

  color:#8e8681;

  font-size:16px;
  font-weight:800;

  box-shadow:
    0 8px 20px rgba(35,27,23,.05);

  transition:.25s ease;
}

.servicePrep__item:hover
.servicePrep__number{
  background:#fff0f0;
  color:var(--accent);
}

.servicePrep__label{
  display:block;

  margin-bottom:6px;

  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;
}

.servicePrep__item h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.35;
}

.servicePrep__item p{
  margin:9px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.65;
}


/* =========================
ACCENT
========================= */

.servicePrep__item--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.10),
      transparent 45%
    ),
    #f9f7f4;
}

.servicePrep__item--accent
.servicePrep__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .servicePrep{
    padding:96px 0 102px;
  }

  .servicePrep__layout{
    gap:52px;
  }

}


@media (max-width:1024px){

  .servicePrep{
    padding:82px 0 88px;
  }

  .servicePrep__layout{
    grid-template-columns:1fr;
    gap:44px;
  }

  .servicePrep__intro{
    position:relative;
    top:auto;

    max-width:760px;
  }

}


@media (max-width:768px){

  .servicePrep{
    padding:68px 0 74px;
  }

  .servicePrep__grid{
    grid-template-columns:1fr;
  }

  .servicePrep__item{
    min-height:auto;
  }

}


@media (max-width:576px){

  .servicePrep{
    padding:56px 0 62px;
  }

  .servicePrep__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .servicePrep__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .servicePrep__help{
    padding:20px;
  }

  .servicePrep__item{
    padding:21px;
  }

  .servicePrep__number{
    margin-bottom:26px;
  }

  .servicePrep__item h3{
    font-size:18px;
  }

}





/* =========================
10 — FAQ / COMMON SERVICE QUESTIONS
========================= */

.serviceFaq{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 8% 10%,
      rgba(226,28,33,.055),
      transparent 23%
    ),
    #f7f5f2;
}


/* =========================
LAYOUT
========================= */

.serviceFaq__layout{
  display:grid;
  grid-template-columns:
    minmax(320px,.76fr)
    minmax(0,1.24fr);

  align-items:start;
  gap:78px;
}


/* =========================
INTRO
========================= */

.serviceFaq__intro{
  position:sticky;
  top:120px;
}

.serviceFaq__intro h2{
  max-width:620px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.serviceFaq__intro h2 strong{
  display:block;
  color:var(--accent);
}

.serviceFaq__intro>p{
  max-width:560px;

  margin:22px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
HELP
========================= */

.serviceFaq__help{
  display:grid;

  max-width:490px;

  margin-top:34px;
  padding:22px;

  border-radius:20px;

  background:#171717;

  color:#fff;
}

.serviceFaq__help>span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.serviceFaq__help>strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.serviceFaq__help>a{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:18px;

  margin-top:18px;
  padding-top:17px;

  border-top:
    1px solid rgba(255,255,255,.10);

  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.serviceFaq__help>a>span{
  width:34px;
  height:34px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
ACCORDION
========================= */

.serviceFaq__accordion{
  border-top:1px solid #ddd7d2;
}

.serviceFaq__item{
  border-bottom:1px solid #ddd7d2;
}

.serviceFaq__question{
  width:100%;

  display:grid;
  grid-template-columns:
    46px
    minmax(0,1fr)
    44px;

  align-items:center;
  gap:18px;

  padding:25px 0;

  border:0;
  outline:0;

  background:transparent;

  text-align:left;

  cursor:pointer;
}

.serviceFaq__number{
  color:#9b938e;

  font-size:16px;
  font-weight:800;

  transition:color .25s ease;
}

.serviceFaq__questionText{
  color:#211f1d;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
  line-height:1.38;
}


/* =========================
ICON
========================= */

.serviceFaq__icon{
  position:relative;

  width:42px;
  height:42px;

  border:1px solid #ded8d3;
  border-radius:50%;

  background:#fff;

  transition:
    background .25s ease,
    border-color .25s ease;
}

.serviceFaq__icon:before,
.serviceFaq__icon:after{
  content:"";

  position:absolute;
  top:50%;
  left:50%;

  width:13px;
  height:1.5px;

  border-radius:2px;

  background:#262421;

  transform:translate(-50%,-50%);

  transition:transform .25s ease;
}

.serviceFaq__icon:after{
  transform:
    translate(-50%,-50%)
    rotate(90deg);
}


/* =========================
OPEN
========================= */

.serviceFaq__item.is-open
.serviceFaq__number{
  color:var(--accent);
}

.serviceFaq__item.is-open
.serviceFaq__icon{
  border-color:var(--accent);

  background:var(--accent);
}

.serviceFaq__item.is-open
.serviceFaq__icon:before,
.serviceFaq__item.is-open
.serviceFaq__icon:after{
  background:#fff;
}

.serviceFaq__item.is-open
.serviceFaq__icon:after{
  transform:
    translate(-50%,-50%)
    rotate(0deg);
}


/* =========================
ANSWER
========================= */

.serviceFaq__answer{
  display:grid;
  grid-template-rows:0fr;

  overflow:hidden;

  transition:grid-template-rows .35s ease;
}

.serviceFaq__answer>div{
  overflow:hidden;
}

.serviceFaq__item.is-open
.serviceFaq__answer{
  grid-template-rows:1fr;
}

.serviceFaq__answer p{
  max-width:680px;

  margin:0;

  padding:
    0
    62px
    25px
    64px;

  color:#756e69;

  font-size:15px;
  line-height:1.7;
}


/* =========================
HOVER
========================= */

.serviceFaq__item:hover
.serviceFaq__number{
  color:var(--accent);
}

.serviceFaq__item:hover
.serviceFaq__icon{
  border-color:rgba(226,28,33,.32);
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .serviceFaq{
    padding:96px 0 102px;
  }

  .serviceFaq__layout{
    gap:54px;
  }

}


@media (max-width:1024px){

  .serviceFaq{
    padding:82px 0 88px;
  }

  .serviceFaq__layout{
    grid-template-columns:1fr;
    gap:46px;
  }

  .serviceFaq__intro{
    position:relative;
    top:auto;

    max-width:760px;
  }

}


@media (max-width:768px){

  .serviceFaq{
    padding:68px 0 74px;
  }

  .serviceFaq__question{
    grid-template-columns:
      38px
      minmax(0,1fr)
      40px;

    gap:13px;
  }

  .serviceFaq__answer p{
    padding-left:51px;
    padding-right:50px;
  }

}


@media (max-width:576px){

  .serviceFaq{
    padding:56px 0 62px;
  }

  .serviceFaq__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .serviceFaq__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .serviceFaq__help{
    padding:20px;
  }

  .serviceFaq__question{
    grid-template-columns:
      28px
      minmax(0,1fr)
      38px;

    gap:10px;

    padding:21px 0;
  }

  .serviceFaq__questionText{
    font-size:17px;
  }

  .serviceFaq__icon{
    width:38px;
    height:38px;
  }

  .serviceFaq__answer p{
    padding:
      0
      47px
      21px
      38px;

    font-size:16px;
  }

}






/* =========================
11 — FINAL CTA / READY TO GET YOUR APPLIANCE WORKING AGAIN
========================= */

.serviceFinal{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#f7f5f2;
}


/* =========================
SHELL
========================= */

.serviceFinal__shell{
  display:grid;
  grid-template-columns:
    minmax(0,1.05fr)
    minmax(390px,.95fr);

  overflow:hidden;

  border-radius:34px;

  background:#171717;

  box-shadow:
    0 34px 86px rgba(32,25,21,.16);
}


/* =========================
CONTENT
========================= */

.serviceFinal__content{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:center;

  min-height:610px;

  padding:54px 52px;

  color:#fff;

  background:
    radial-gradient(
      circle at 14% 10%,
      rgba(226,28,33,.18),
      transparent 28%
    ),
    #171717;
}

.serviceFinal .sectionEyebrow{
  color:#aaa;
}

.serviceFinal__content h2{
  max-width:690px;
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(40px,3.5vw,56px);
  font-weight:800;
  line-height:1.06;
  letter-spacing:-.045em;
}

.serviceFinal__content h2 strong{
  display:block;
  color:#ff5d62;
}

.serviceFinal__content>p{
  max-width:640px;

  margin:22px 0 0;

  color:#a4a4a4;

  font-size:17px;
  line-height:1.72;
}


/* =========================
ACTIONS
========================= */

.serviceFinal__actions{
  display:flex;
  align-items:center;
  gap:25px;

  margin-top:31px;
}

.serviceFinal__phone{
  display:grid;
}

.serviceFinal__phone span{
  color:#7f7f7f;

  font-size:16px;
  font-weight:700;
}

.serviceFinal__phone strong{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
}


/* =========================
META
========================= */

.serviceFinal__meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));

  margin-top:42px;
  padding-top:25px;

  border-top:
    1px solid rgba(255,255,255,.10);
}

.serviceFinal__meta>div{
  display:grid;

  padding-right:22px;
}

.serviceFinal__meta>div + div{
  padding-left:22px;

  border-left:
    1px solid rgba(255,255,255,.09);
}

.serviceFinal__meta span{
  color:#777;

  font-size:16px;
  font-weight:700;
}

.serviceFinal__meta strong{
  margin-top:5px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}


/* =========================
VISUAL
========================= */

.serviceFinal__visual{
  position:relative;

  min-height:610px;

  overflow:hidden;

  background:#292929;
}

.serviceFinal__visual img{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  display:block;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.serviceFinal__visual:hover img{
  transform:scale(1.025);
}

.serviceFinal__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.03) 28%,
      rgba(10,10,10,.08) 55%,
      rgba(10,10,10,.68) 100%
    );
}


/* =========================
VISUAL LABEL
========================= */

.serviceFinal__visualLabel{
  position:absolute;
  z-index:3;

  left:28px;
  right:28px;
  bottom:28px;

  display:grid;
}

.serviceFinal__visualLabel span{
  margin-bottom:6px;

  color:#ff666b;

  font-size:16px;
  font-weight:800;
}

.serviceFinal__visualLabel strong{
  max-width:460px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:23px;
  font-weight:800;
  line-height:1.32;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .serviceFinal{
    padding:96px 0 102px;
  }

  .serviceFinal__content{
    padding:45px 40px;
  }

}


@media (max-width:1024px){

  .serviceFinal{
    padding:82px 0 88px;
  }

  .serviceFinal__shell{
    grid-template-columns:1fr;

    border-radius:28px;
  }

  .serviceFinal__content{
    min-height:auto;
  }

  .serviceFinal__visual{
    min-height:500px;
  }

}


@media (max-width:768px){

  .serviceFinal{
    padding:68px 0 74px;
  }

  .serviceFinal__content{
    padding:38px 30px;
  }

  .serviceFinal__visual{
    min-height:450px;
  }

}


@media (max-width:576px){

  .serviceFinal{
    padding:56px 0 62px;
  }

  .serviceFinal__shell{
    border-radius:22px;
  }

  .serviceFinal__content{
    padding:30px 21px;
  }

  .serviceFinal__content h2{
    font-size:clamp(32px,9vw,42px);
  }

  .serviceFinal__content>p{
    font-size:16px;
    line-height:1.66;
  }

  .serviceFinal__actions{
    align-items:stretch;
    flex-direction:column;

    gap:17px;
  }

  .serviceFinal__actions .btn{
    width:100%;
  }

  .serviceFinal__phone{
    text-align:center;
  }

  .serviceFinal__meta{
    grid-template-columns:1fr;

    gap:17px;
  }

  .serviceFinal__meta>div,
  .serviceFinal__meta>div + div{
    padding:0;
    border-left:0;
  }

  .serviceFinal__meta>div + div{
    padding-top:17px;

    border-top:
      1px solid rgba(255,255,255,.09);
  }

  .serviceFinal__visual{
    min-height:390px;
  }

  .serviceFinal__visualLabel{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .serviceFinal__visualLabel strong{
    font-size:20px;
  }

}





























/* =========================
01 — LOCATIONS HERO / APPLIANCE REPAIR ACROSS THE BAY AREA
========================= */

.locationsHero{
  position:relative;
  overflow:hidden;

  padding:68px 0 108px;

  background:
    radial-gradient(
      circle at 92% 8%,
      rgba(226,28,33,.075),
      transparent 25%
    ),
    linear-gradient(
      180deg,
      #fff 0%,
      #f7f5f2 100%
    );
}

.locationsHero:before{
  content:"";

  position:absolute;
  left:-260px;
  bottom:-340px;

  width:620px;
  height:620px;

  border:1px solid rgba(226,28,33,.06);
  border-radius:50%;

  pointer-events:none;
}


/* =========================
SHELL
========================= */

.locationsHero__shell{
  display:grid;
  grid-template-columns:
    minmax(0,1.03fr)
    minmax(420px,.97fr);

  overflow:hidden;

  min-height:660px;

  border-radius:34px;

  background:#171717;

  box-shadow:
    0 32px 84px rgba(33,25,21,.15);
}


/* =========================
CONTENT
========================= */

.locationsHero__content{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:center;

  padding:55px 52px;

  color:#fff;

  background:
    radial-gradient(
      circle at 12% 8%,
      rgba(226,28,33,.18),
      transparent 29%
    ),
    #171717;
}

.locationsHero .sectionEyebrow{
  color:#aaa;
}

.locationsHero h1{
  max-width:730px;
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(43px,4vw,62px);
  font-weight:800;
  line-height:1.04;
  letter-spacing:-.052em;
}

.locationsHero h1 strong{
  display:block;

  color:#ff5d62;
}

.locationsHero__lead{
  max-width:650px;

  margin:23px 0 0;

  color:#a4a4a4;

  font-size:17px;
  line-height:1.72;
}


/* =========================
ACTIONS
========================= */

.locationsHero__actions{
  display:flex;
  align-items:center;
  gap:25px;

  margin-top:31px;
}

.locationsHero__phone{
  display:grid;
}

.locationsHero__phone span{
  color:#777;

  font-size:16px;
  font-weight:700;
}

.locationsHero__phone strong{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
}


/* =========================
AREA CHIPS
========================= */

.locationsHero__areas{
  display:flex;
  flex-wrap:wrap;
  gap:9px;

  margin-top:38px;
  padding-top:23px;

  border-top:
    1px solid rgba(255,255,255,.10);
}

.locationsHero__areas span{
  padding:9px 12px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;

  background:rgba(255,255,255,.045);

  color:#aaa;

  font-size:16px;
  font-weight:700;

  transition:
    background .25s ease,
    color .25s ease,
    border-color .25s ease;
}

.locationsHero__areas span:hover{
  border-color:rgba(255,93,98,.28);

  background:rgba(226,28,33,.10);

  color:#fff;
}


/* =========================
VISUAL
========================= */

.locationsHero__visual{
  position:relative;

  overflow:hidden;

  min-height:660px;

  background:#292929;
}

.locationsHero__visual img{
  position:absolute;
  inset:0;

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.locationsHero__visual:hover img{
  transform:scale(1.025);
}

.locationsHero__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.12) 0%,
      rgba(10,10,10,.02) 38%,
      rgba(10,10,10,.12) 60%,
      rgba(10,10,10,.72) 100%
    );
}


/* =========================
VISUAL TOP
========================= */

.locationsHero__visualTop{
  position:absolute;
  z-index:3;

  top:23px;
  left:23px;
  right:23px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  padding:12px 14px;

  border:1px solid rgba(255,255,255,.20);
  border-radius:14px;

  background:rgba(20,20,20,.34);

  color:#fff;

  backdrop-filter:blur(11px);
}

.locationsHero__visualTop span{
  font-size:16px;
  font-weight:700;
}

.locationsHero__visualTop strong{
  color:#ff6267;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
VISUAL BOTTOM
========================= */

.locationsHero__visualBottom{
  position:absolute;
  z-index:3;

  left:28px;
  right:28px;
  bottom:28px;

  display:grid;
}

.locationsHero__visualBottom span{
  margin-bottom:7px;

  color:#ff666b;

  font-size:16px;
  font-weight:800;
}

.locationsHero__visualBottom strong{
  max-width:500px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:23px;
  font-weight:800;
  line-height:1.32;
}


/* =========================
FACTS
========================= */

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

  gap:10px;

  margin-top:18px;
}

.locationsHero__fact{
  display:flex;
  align-items:center;
  gap:14px;

  min-height:82px;

  padding:15px 17px;

  border:1px solid #e6e0db;
  border-radius:17px;

  background:#fff;

  box-shadow:
    0 12px 28px rgba(35,27,23,.045);
}

.locationsHero__fact>span{
  width:36px;
  height:36px;

  display:grid;
  place-items:center;

  flex:0 0 auto;

  border-radius:11px;

  background:#f4f1ee;

  color:#938b86;

  font-size:16px;
  font-weight:800;
}

.locationsHero__fact>div{
  display:grid;
}

.locationsHero__fact small{
  color:#99918c;

  font-size:16px;
  font-weight:700;
}

.locationsHero__fact strong{
  margin-top:3px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationsHero{
    padding:56px 0 94px;
  }

  .locationsHero__shell{
    grid-template-columns:
      minmax(0,1fr)
      minmax(390px,.9fr);
  }

  .locationsHero__content{
    padding:46px 40px;
  }

  .locationsHero__facts{
    grid-template-columns:1fr 1fr;
  }

}


@media (max-width:1024px){

  .locationsHero{
    padding:44px 0 82px;
  }

  .locationsHero__shell{
    grid-template-columns:1fr;

    min-height:0;

    border-radius:28px;
  }

  .locationsHero__content{
    min-height:auto;
  }

  .locationsHero__visual{
    min-height:520px;
  }

}


@media (max-width:768px){

  .locationsHero__content{
    padding:38px 30px;
  }

  .locationsHero__visual{
    min-height:470px;
  }

}


@media (max-width:576px){

  .locationsHero{
    padding:28px 0 58px;
  }

  .locationsHero__shell{
    border-radius:22px;
  }

  .locationsHero__content{
    padding:30px 21px;
  }

  .locationsHero h1{
    font-size:clamp(36px,10vw,46px);
    line-height:1.07;
  }

  .locationsHero__lead{
    font-size:16px;
    line-height:1.66;
  }

  .locationsHero__actions{
    align-items:stretch;
    flex-direction:column;

    gap:17px;
  }

  .locationsHero__actions .btn{
    width:100%;
  }

  .locationsHero__phone{
    text-align:center;
  }

  .locationsHero__areas{
    gap:7px;
  }

  .locationsHero__areas span{
    padding:8px 10px;

    font-size:16px;
  }

  .locationsHero__visual{
    min-height:400px;
  }

  .locationsHero__visualTop{
    top:15px;
    left:15px;
    right:15px;
  }

  .locationsHero__visualBottom{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .locationsHero__visualBottom strong{
    font-size:20px;
  }

  .locationsHero__facts{
    grid-template-columns:1fr;
  }

}









/* =========================
02 — AREAS WE SERVE / LOCAL COVERAGE
========================= */

.locationsCoverage{
  position:relative;
  /* overflow:hidden; */

  padding:112px 0 118px;

  background:#fff;
}


/* =========================
LAYOUT
========================= */

.locationsCoverage__layout{
  display:grid;
  grid-template-columns:
    minmax(320px,.72fr)
    minmax(0,1.28fr);

  align-items:start;
  gap:76px;
}


/* =========================
INTRO
========================= */

.locationsCoverage__intro{
  position:sticky;
  top:120px;
}

.locationsCoverage__intro h2{
  max-width:620px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.locationsCoverage__intro h2 strong{
  display:block;
  color:var(--accent);
}

.locationsCoverage__intro>p{
  max-width:540px;

  margin:22px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
NOTE
========================= */

.locationsCoverage__note{
  display:grid;

  max-width:500px;

  margin:33px 0 24px;
  padding:20px 22px;

  border-left:3px solid var(--accent);
  border-radius:0 17px 17px 0;

  background:#f7f5f2;
}

.locationsCoverage__note span{
  color:#8f8782;

  font-size:16px;
  font-weight:700;
}

.locationsCoverage__note strong{
  margin-top:4px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
  line-height:1.4;
}


/* =========================
GRID
========================= */

.locationsCoverage__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}


/* =========================
CARD
========================= */

.locationsCoverage__card{
  position:relative;

  display:grid;
  grid-template-columns:46px minmax(0,1fr) 42px;
  align-items:start;
  gap:16px;

  min-height:210px;

  padding:24px;

  border:1px solid #e5dfda;
  border-radius:22px;

  background:#f9f7f4;

  box-shadow:
    0 14px 34px rgba(35,27,23,.045);

  transition:
    transform .25s ease,
    border-color .25s ease,
    background .25s ease,
    box-shadow .25s ease;
}

.locationsCoverage__card:hover{
  transform:translateY(-4px);

  border-color:rgba(226,28,33,.20);

  background:#fff;

  box-shadow:
    0 22px 48px rgba(35,27,23,.075);
}


/* =========================
NUMBER
========================= */

.locationsCoverage__number{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  border-radius:13px;

  background:#fff;

  color:#918983;

  font-size:16px;
  font-weight:800;

  box-shadow:
    0 8px 20px rgba(35,27,23,.05);

  transition:
    background .25s ease,
    color .25s ease;
}

.locationsCoverage__card:hover
.locationsCoverage__number{
  background:#fff0f0;
  color:var(--accent);
}


/* =========================
TEXT
========================= */

.locationsCoverage__card small{
  display:block;

  margin-bottom:5px;

  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.locationsCoverage__card h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:21px;
  font-weight:800;
  line-height:1.3;
}

.locationsCoverage__card p{
  margin:9px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.62;
}


/* =========================
ARROW
========================= */

.locationsCoverage__arrow{
  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:#f1eeeb;

  color:#1e1d1b;

  font-size:15px;

  transition:
    background .25s ease,
    color .25s ease,
    transform .25s ease;
}

.locationsCoverage__card:hover
.locationsCoverage__arrow{
  transform:rotate(10deg);

  background:var(--accent);
  color:#fff;
}


/* =========================
ACCENT CARD
========================= */

.locationsCoverage__card--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.10),
      transparent 46%
    ),
    #f9f7f4;
}

.locationsCoverage__card--accent
.locationsCoverage__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationsCoverage{
    padding:96px 0 102px;
  }

  .locationsCoverage__layout{
    gap:52px;
  }

}


@media (max-width:1024px){

  .locationsCoverage{
    padding:82px 0 88px;
  }

  .locationsCoverage__layout{
    grid-template-columns:1fr;
    gap:44px;
  }

  .locationsCoverage__intro{
    position:relative;
    top:auto;

    max-width:760px;
  }

}


@media (max-width:768px){

  .locationsCoverage{
    padding:68px 0 74px;
  }

  .locationsCoverage__grid{
    grid-template-columns:1fr;
  }

  .locationsCoverage__card{
    min-height:auto;
  }

}


@media (max-width:576px){

  .locationsCoverage{
    padding:56px 0 62px;
  }

  .locationsCoverage__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .locationsCoverage__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .locationsCoverage__card{
    grid-template-columns:40px minmax(0,1fr) 38px;
    gap:12px;

    padding:20px;

    border-radius:20px;
  }

  .locationsCoverage__number{
    width:38px;
    height:38px;
  }

  .locationsCoverage__arrow{
    width:38px;
    height:38px;
  }

  .locationsCoverage__card h3{
    font-size:19px;
  }

}






/* =========================
03 — WHY LOCAL SERVICE MATTERS / BUILT AROUND BAY AREA HOMES
========================= */

.locationsLocal{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 90% 12%,
      rgba(226,28,33,.055),
      transparent 24%
    ),
    #f7f5f2;
}


/* =========================
LAYOUT
========================= */

.locationsLocal__layout{
  display:grid;
  grid-template-columns:
    minmax(380px,.9fr)
    minmax(0,1.1fr);

  align-items:center;
  gap:76px;
}


/* =========================
VISUAL
========================= */

.locationsLocal__visual{
  position:relative;

  overflow:hidden;

  min-height:650px;

  border-radius:32px 32px 82px 32px;

  background:#ddd8d3;

  box-shadow:
    0 30px 76px rgba(34,27,23,.12);
}

.locationsLocal__visual img{
  position:absolute;
  inset:0;

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.locationsLocal__visual:hover img{
  transform:scale(1.025);
}

.locationsLocal__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.06) 18%,
      rgba(10,10,10,.02) 44%,
      rgba(10,10,10,.12) 62%,
      rgba(10,10,10,.72) 100%
    );
}


/* =========================
TAG
========================= */

.locationsLocal__tag{
  position:absolute;
  z-index:3;

  top:22px;
  left:22px;
  right:22px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  padding:12px 14px;

  border:1px solid rgba(255,255,255,.20);
  border-radius:14px;

  background:rgba(18,18,18,.32);

  color:#fff;

  backdrop-filter:blur(10px);
}

.locationsLocal__tag span{
  font-size:16px;
  font-weight:700;
}

.locationsLocal__tag strong{
  color:#ff6267;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
CAPTION
========================= */

.locationsLocal__caption{
  position:absolute;
  z-index:3;

  left:28px;
  right:28px;
  bottom:28px;

  display:grid;
}

.locationsLocal__caption span{
  margin-bottom:7px;

  color:#ff656a;

  font-size:16px;
  font-weight:800;
}

.locationsLocal__caption strong{
  max-width:520px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:23px;
  font-weight:800;
  line-height:1.32;
}


/* =========================
CONTENT
========================= */

.locationsLocal__content h2{
  max-width:700px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.locationsLocal__content h2 strong{
  display:block;
  color:var(--accent);
}

.locationsLocal__lead{
  max-width:670px;

  margin:21px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
POINTS
========================= */

.locationsLocal__points{
  margin-top:34px;

  border-top:1px solid #e2dcd7;
}

.locationsLocal__point{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);

  gap:17px;

  padding:23px 0;

  border-bottom:1px solid #e2dcd7;
}

.locationsLocal__point>span{
  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  border-radius:12px;

  background:#fff;

  color:#918983;

  font-size:16px;
  font-weight:800;

  box-shadow:
    0 8px 20px rgba(35,27,23,.045);

  transition:.25s ease;
}

.locationsLocal__point:hover>span{
  background:var(--accent);
  color:#fff;
}

.locationsLocal__point h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  line-height:1.35;
}

.locationsLocal__point p{
  max-width:610px;

  margin:7px 0 0;

  color:#756e69;

  font-size:15px;
  line-height:1.62;
}


/* =========================
BOTTOM
========================= */

.locationsLocal__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;

  margin-top:26px;

  padding:21px 23px;

  border-radius:18px;

  background:#171717;

  color:#fff;
}

.locationsLocal__bottom>div{
  display:grid;
}

.locationsLocal__bottom>div span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.locationsLocal__bottom>div strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.locationsLocal__bottom>a{
  display:flex;
  align-items:center;
  gap:9px;

  flex:0 0 auto;

  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.locationsLocal__bottom>a>span{
  width:35px;
  height:35px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationsLocal{
    padding:96px 0 102px;
  }

  .locationsLocal__layout{
    gap:54px;
  }

  .locationsLocal__visual{
    min-height:610px;
  }

}


@media (max-width:1024px){

  .locationsLocal{
    padding:82px 0 88px;
  }

  .locationsLocal__layout{
    grid-template-columns:1fr;
    gap:46px;
  }

  .locationsLocal__visual{
    min-height:520px;

    border-radius:28px 28px 64px 28px;
  }

  .locationsLocal__content{
    max-width:820px;
  }

}


@media (max-width:768px){

  .locationsLocal{
    padding:68px 0 74px;
  }

  .locationsLocal__visual{
    min-height:460px;
  }

}


@media (max-width:576px){

  .locationsLocal{
    padding:56px 0 62px;
  }

  .locationsLocal__visual{
    min-height:400px;

    border-radius:22px 22px 50px 22px;
  }

  .locationsLocal__tag{
    top:15px;
    left:15px;
    right:15px;

    align-items:flex-start;
    flex-direction:column;

    gap:3px;
  }

  .locationsLocal__caption{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .locationsLocal__caption strong{
    font-size:20px;
  }

  .locationsLocal__content h2{
    font-size:clamp(32px,9vw,42px);
  }

  .locationsLocal__lead{
    font-size:16px;
    line-height:1.66;
  }

  .locationsLocal__point{
    grid-template-columns:40px minmax(0,1fr);

    gap:13px;
  }

  .locationsLocal__point h3{
    font-size:17px;
  }

  .locationsLocal__point p{
    font-size:16px;
  }

  .locationsLocal__bottom{
    align-items:flex-start;
    flex-direction:column;

    padding:21px;
  }

}








/* =========================
04 — SERVICES AVAILABLE ACROSS OUR LOCATIONS / WHAT WE REPAIR
========================= */

.locationsServices{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#f7f5f2;
}


/* =========================
SHELL
========================= */

.locationsServices__shell{
  display:grid;
  grid-template-columns:
    minmax(320px,.74fr)
    minmax(0,1.26fr);

  overflow:hidden;

  border-radius:32px;

  background:#171717;

  box-shadow:
    0 32px 82px rgba(31,24,20,.15);
}


/* =========================
INTRO
========================= */

.locationsServices__intro{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:center;

  padding:48px;

  border-right:1px solid rgba(255,255,255,.08);

  color:#fff;

  background:
    radial-gradient(
      circle at 12% 9%,
      rgba(226,28,33,.18),
      transparent 29%
    ),
    #171717;
}

.locationsServices .sectionEyebrow{
  color:#aaa;
}

.locationsServices__intro h2{
  max-width:610px;
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.locationsServices__intro h2 strong{
  display:block;

  color:#ff5d62;
}

.locationsServices__intro>p{
  max-width:540px;

  margin:22px 0 0;

  color:#9d9d9d;

  font-size:17px;
  line-height:1.72;
}


/* =========================
TRUST
========================= */

.locationsServices__trust{
  display:grid;
  grid-template-columns:1fr 1fr;

  margin:34px 0 28px;
  padding-top:23px;

  border-top:1px solid rgba(255,255,255,.10);
}

.locationsServices__trust>div{
  display:grid;
}

.locationsServices__trust>div + div{
  padding-left:24px;

  border-left:1px solid rgba(255,255,255,.09);
}

.locationsServices__trust span{
  color:#707070;

  font-size:16px;
  font-weight:700;
}

.locationsServices__trust strong{
  margin-top:5px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
}

.locationsServices__intro .btn{
  width:max-content;
}


/* =========================
LIST
========================= */

.locationsServices__list{
  display:grid;

  background:#1a1a1a;
}


/* =========================
ITEM
========================= */

.locationsServices__item{
  position:relative;

  display:grid;
  grid-template-columns:190px minmax(0,1fr) 46px;

  align-items:center;
  gap:25px;

  min-width:0;
  min-height:230px;

  padding:20px 24px 20px 20px;

  border-bottom:1px solid rgba(255,255,255,.08);

  background:#1a1a1a;

  transition:
    background .25s ease;
}

.locationsServices__item:last-child{
  border-bottom:0;
}

.locationsServices__item:hover{
  background:#202020;
}


/* =========================
IMAGE
========================= */

.locationsServices__image{
  position:relative;

  overflow:hidden;

  height:190px;

  border-radius:18px;

  background:#292929;
}

.locationsServices__image:after{
  content:"";

  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.02),
      rgba(10,10,10,.18)
    );
}

.locationsServices__image img{
  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}

.locationsServices__item:hover
.locationsServices__image img{
  transform:scale(1.045);
}

.locationsServices__image>span{
  position:absolute;
  z-index:3;

  top:13px;
  left:13px;

  width:37px;
  height:37px;

  display:grid;
  place-items:center;

  border-radius:11px;

  background:rgba(255,255,255,.92);

  color:#211f1d;

  font-size:16px;
  font-weight:800;

  backdrop-filter:blur(8px);
}


/* =========================
CONTENT
========================= */

.locationsServices__content{
  min-width:0;
}

.locationsServices__category{
  display:block;

  margin-bottom:6px;

  color:#ff6267;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;
}

.locationsServices__content h3{
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:21px;
  font-weight:800;
  line-height:1.3;
}

.locationsServices__content p{
  max-width:570px;

  margin:8px 0 0;

  color:#929292;

  font-size:16px;
  line-height:1.62;
}


/* =========================
SMALL SERVICE LABELS
========================= */

.locationsServices__links{
  display:flex;
  flex-wrap:wrap;
  gap:7px;

  margin-top:15px;
}

.locationsServices__links span{
  padding:6px 9px;

  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;

  background:rgba(255,255,255,.035);

  color:#888;

  font-size:16px;
  font-weight:700;
}


/* =========================
ARROW
========================= */

.locationsServices__arrow{
  width:43px;
  height:43px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:#272727;

  color:#fff;

  font-size:16px;

  transition:
    transform .25s ease,
    background .25s ease;
}

.locationsServices__item:hover
.locationsServices__arrow{
  transform:rotate(10deg);

  background:var(--accent);
}


/* =========================
ACCENT ITEM
========================= */

.locationsServices__item--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.11),
      transparent 46%
    ),
    #1a1a1a;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationsServices{
    padding:96px 0 102px;
  }

  .locationsServices__intro{
    padding:39px;
  }

  .locationsServices__item{
    grid-template-columns:170px minmax(0,1fr) 44px;

    gap:20px;
  }

  .locationsServices__image{
    height:175px;
  }

}


@media (max-width:1024px){

  .locationsServices{
    padding:82px 0 88px;
  }

  .locationsServices__shell{
    grid-template-columns:1fr;

    border-radius:28px;
  }

  .locationsServices__intro{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.08);
  }

  .locationsServices__intro h2,
  .locationsServices__intro>p{
    max-width:760px;
  }

  .locationsServices__item{
    grid-template-columns:220px minmax(0,1fr) 44px;
  }

}


@media (max-width:768px){

  .locationsServices{
    padding:68px 0 74px;
  }

  .locationsServices__item{
    grid-template-columns:170px minmax(0,1fr);

    padding:18px;
  }

  .locationsServices__arrow{
    grid-column:2;
    justify-self:end;
  }

}


@media (max-width:576px){

  .locationsServices{
    padding:56px 0 62px;
  }

  .locationsServices__shell{
    border-radius:22px;
  }

  .locationsServices__intro{
    padding:28px 21px;
  }

  .locationsServices__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .locationsServices__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .locationsServices__trust{
    grid-template-columns:1fr;

    gap:17px;
  }

  .locationsServices__trust>div + div{
    padding:17px 0 0;

    border-left:0;
    border-top:1px solid rgba(255,255,255,.08);
  }

  .locationsServices__intro .btn{
    width:100%;
  }

  .locationsServices__item{
    grid-template-columns:1fr;

    gap:18px;

    padding:18px;
  }

  .locationsServices__image{
    height:250px;

    border-radius:16px;
  }

  .locationsServices__content h3{
    font-size:19px;
  }

  .locationsServices__arrow{
    grid-column:auto;

    justify-self:start;
  }

}








/* =========================
05 — HOW LOCAL SERVICE WORKS / FROM YOUR AREA TO YOUR APPOINTMENT
========================= */

.locationsProcess{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(226,28,33,.055),
      transparent 24%
    ),
    #fff;
}


/* =========================
HEADER
========================= */

.locationsProcess__header{
  display:grid;
  grid-template-columns:
    minmax(0,1.1fr)
    minmax(340px,.9fr);

  align-items:end;
  gap:72px;

  margin-bottom:44px;
}

.locationsProcess__header h2{
  max-width:790px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.locationsProcess__header h2 strong{
  display:block;
  color:var(--accent);
}

.locationsProcess__intro{
  max-width:610px;
  margin:0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
TRACK
========================= */

.locationsProcess__track{
  position:relative;

  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));

  gap:12px;
}

.locationsProcess__track:before{
  content:"";

  position:absolute;
  top:46px;
  left:7%;
  right:7%;

  height:1px;

  background:
    linear-gradient(
      90deg,
      rgba(226,28,33,.20),
      #ddd6d0 24%,
      #ddd6d0 76%,
      rgba(226,28,33,.20)
    );

  z-index:0;
}


/* =========================
STEP
========================= */

.locationsProcess__step{
  position:relative;
  z-index:1;

  min-width:0;
  min-height:300px;

  padding:24px;

  border:1px solid #e5dfda;
  border-radius:22px;

  background:#f8f6f3;

  box-shadow:
    0 14px 34px rgba(35,27,23,.045);

  transition:
    transform .25s ease,
    border-color .25s ease,
    background .25s ease,
    box-shadow .25s ease;
}

.locationsProcess__step:hover{
  transform:translateY(-4px);

  border-color:rgba(226,28,33,.20);

  background:#fff;

  box-shadow:
    0 22px 48px rgba(35,27,23,.075);
}


/* =========================
TOP
========================= */

.locationsProcess__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;

  margin-bottom:38px;
}

.locationsProcess__number{
  width:44px;
  height:44px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:#fff;

  color:#908883;

  font-size:16px;
  font-weight:800;

  box-shadow:
    0 8px 22px rgba(35,27,23,.055);

  transition:.25s ease;
}

.locationsProcess__step:hover
.locationsProcess__number{
  background:#fff0f0;
  color:var(--accent);
}

.locationsProcess__label{
  color:#9b938e;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}


/* =========================
TEXT
========================= */

.locationsProcess__step h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.35;
}

.locationsProcess__step p{
  margin:9px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.65;
}


/* =========================
ACCENT
========================= */

.locationsProcess__step--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.10),
      transparent 46%
    ),
    #f8f6f3;
}

.locationsProcess__step--accent
.locationsProcess__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
BOTTOM
========================= */

.locationsProcess__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:30px;

  margin-top:16px;

  padding:23px 25px;

  border-radius:20px;

  background:#171717;

  color:#fff;
}

.locationsProcess__bottom>div:first-child{
  display:grid;
}

.locationsProcess__bottom>div:first-child span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.locationsProcess__bottom>div:first-child strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.locationsProcess__actions{
  display:flex;
  align-items:center;
  gap:22px;
}

.locationsProcess__phone{
  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationsProcess{
    padding:96px 0 102px;
  }

  .locationsProcess__header{
    gap:48px;
  }

  .locationsProcess__track{
    grid-template-columns:1fr 1fr;
  }

  .locationsProcess__track:before{
    display:none;
  }

  .locationsProcess__step{
    min-height:250px;
  }

}


@media (max-width:1024px){

  .locationsProcess{
    padding:82px 0 88px;
  }

  .locationsProcess__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .locationsProcess__intro{
    max-width:720px;
  }

}


@media (max-width:768px){

  .locationsProcess{
    padding:68px 0 74px;
  }

  .locationsProcess__track{
    grid-template-columns:1fr;
  }

  .locationsProcess__step{
    min-height:auto;
  }

  .locationsProcess__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .locationsProcess{
    padding:56px 0 62px;
  }

  .locationsProcess__header h2{
    font-size:clamp(32px,9vw,42px);
  }

  .locationsProcess__intro{
    font-size:16px;
    line-height:1.66;
  }

  .locationsProcess__step{
    padding:21px;
    border-radius:20px;
  }

  .locationsProcess__top{
    margin-bottom:28px;
  }

  .locationsProcess__step h3{
    font-size:18px;
  }

  .locationsProcess__actions{
    width:100%;
    align-items:stretch;
    flex-direction:column;
  }

  .locationsProcess__actions .btn{
    width:100%;
  }

}








/* =========================
06 — LOCAL TRUST / WHY HOMEOWNERS CHOOSE PARKSIDE
========================= */

.locationsTrust{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(226,28,33,.055),
      transparent 24%
    ),
    #f7f5f2;
}


/* =========================
LAYOUT
========================= */

.locationsTrust__layout{
  display:grid;
  grid-template-columns:
    minmax(320px,.76fr)
    minmax(0,1.24fr);

  gap:76px;
  align-items:start;
}


/* =========================
INTRO
========================= */

.locationsTrust__intro{
  position:sticky;
  top:120px;
}

.locationsTrust__intro h2{
  max-width:630px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.locationsTrust__intro h2 strong{
  display:block;
  color:var(--accent);
}

.locationsTrust__intro>p{
  max-width:560px;

  margin:22px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
STATEMENT
========================= */

.locationsTrust__statement{
  display:grid;

  max-width:520px;

  margin-top:34px;
  padding:22px;

  border-left:3px solid var(--accent);
  border-radius:0 18px 18px 0;

  background:#fff;

  box-shadow:
    0 14px 34px rgba(35,27,23,.05);
}

.locationsTrust__statement span{
  color:#8e8782;

  font-size:16px;
  font-weight:700;
}

.locationsTrust__statement strong{
  margin-top:5px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  line-height:1.45;
}


/* =========================
GRID
========================= */

.locationsTrust__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}


/* =========================
CARD
========================= */

.locationsTrust__card{
  position:relative;

  min-height:260px;

  padding:24px;

  border:1px solid #e5dfda;
  border-radius:22px;

  background:#fff;

  box-shadow:
    0 14px 34px rgba(35,27,23,.045);

  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

.locationsTrust__card:hover{
  transform:translateY(-4px);

  border-color:rgba(226,28,33,.20);

  box-shadow:
    0 22px 48px rgba(35,27,23,.075);
}

.locationsTrust__number{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  margin-bottom:34px;

  border-radius:13px;

  background:#f4f1ee;

  color:#908883;

  font-size:16px;
  font-weight:800;
}

.locationsTrust__card small{
  display:block;

  margin-bottom:5px;

  color:#9b938e;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;
}

.locationsTrust__card strong{
  display:block;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:21px;
  font-weight:800;
  line-height:1.3;
}

.locationsTrust__card p{
  margin:9px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.65;
}


/* =========================
ACCENT
========================= */

.locationsTrust__card--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.10),
      transparent 45%
    ),
    #fff;
}

.locationsTrust__card--accent
.locationsTrust__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
CALL
========================= */

.locationsTrust__call{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:18px;

  margin-top:22px;
  padding-top:17px;

  border-top:1px solid #ece6e2;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.locationsTrust__call>span{
  width:34px;
  height:34px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);
  color:#fff;

  font-size:16px;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationsTrust{
    padding:96px 0 102px;
  }

  .locationsTrust__layout{
    gap:52px;
  }

}


@media (max-width:1024px){

  .locationsTrust{
    padding:82px 0 88px;
  }

  .locationsTrust__layout{
    grid-template-columns:1fr;
    gap:44px;
  }

  .locationsTrust__intro{
    position:relative;
    top:auto;

    max-width:760px;
  }

}


@media (max-width:768px){

  .locationsTrust{
    padding:68px 0 74px;
  }

  .locationsTrust__grid{
    grid-template-columns:1fr;
  }

  .locationsTrust__card{
    min-height:auto;
  }

}


@media (max-width:576px){

  .locationsTrust{
    padding:56px 0 62px;
  }

  .locationsTrust__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .locationsTrust__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .locationsTrust__statement{
    padding:20px;
  }

  .locationsTrust__card{
    padding:21px;
    border-radius:20px;
  }

  .locationsTrust__number{
    margin-bottom:26px;
  }

  .locationsTrust__card strong{
    font-size:19px;
  }

}







/* =========================
07 — NEIGHBORHOOD EXPERIENCE / SERVICE FOR DIFFERENT TYPES OF BAY AREA HOMES
========================= */

.locationsHomes{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#fff;
}


/* =========================
HEADER
========================= */

.locationsHomes__header{
  display:grid;
  grid-template-columns:
    minmax(0,1.1fr)
    minmax(340px,.9fr);

  align-items:end;
  gap:72px;

  margin-bottom:44px;
}

.locationsHomes__header h2{
  max-width:790px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.locationsHomes__header h2 strong{
  display:block;
  color:var(--accent);
}

.locationsHomes__intro{
  max-width:610px;
  margin:0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
MEDIA
========================= */

.locationsHomes__media{
  position:relative;

  overflow:hidden;

  min-height:500px;

  border-radius:30px;

  background:#ddd8d3;

  box-shadow:
    0 28px 72px rgba(35,27,23,.10);
}

.locationsHomes__media img{
  position:absolute;
  inset:0;

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.locationsHomes__media:hover img{
  transform:scale(1.025);
}

.locationsHomes__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.06) 15%,
      rgba(10,10,10,.02) 42%,
      rgba(10,10,10,.14) 62%,
      rgba(10,10,10,.72) 100%
    );
}


/* =========================
MEDIA TAG
========================= */

.locationsHomes__mediaTag{
  position:absolute;
  z-index:3;

  top:22px;
  left:22px;

  padding:10px 13px;

  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;

  background:rgba(18,18,18,.34);

  color:#fff;

  font-size:16px;
  font-weight:700;

  backdrop-filter:blur(10px);
}


/* =========================
MEDIA BOTTOM
========================= */

.locationsHomes__mediaBottom{
  position:absolute;
  z-index:3;

  left:29px;
  right:29px;
  bottom:28px;

  display:grid;
}

.locationsHomes__mediaBottom span{
  margin-bottom:7px;

  color:#ff656a;

  font-size:16px;
  font-weight:800;
}

.locationsHomes__mediaBottom strong{
  max-width:760px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:25px;
  font-weight:800;
  line-height:1.3;
}


/* =========================
GRID
========================= */

.locationsHomes__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));

  gap:14px;

  margin-top:16px;
}


/* =========================
CARD
========================= */

.locationsHomes__card{
  min-width:0;

  padding:24px;

  border:1px solid #e5dfda;
  border-radius:22px;

  background:#f9f7f4;

  box-shadow:
    0 14px 34px rgba(35,27,23,.045);

  transition:
    transform .25s ease,
    border-color .25s ease,
    background .25s ease,
    box-shadow .25s ease;
}

.locationsHomes__card:hover{
  transform:translateY(-4px);

  border-color:rgba(226,28,33,.20);

  background:#fff;

  box-shadow:
    0 22px 48px rgba(35,27,23,.075);
}

.locationsHomes__number{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  margin-bottom:30px;

  border-radius:13px;

  background:#fff;

  color:#918983;

  font-size:16px;
  font-weight:800;

  box-shadow:
    0 8px 20px rgba(35,27,23,.045);
}

.locationsHomes__card small{
  display:block;

  margin-bottom:6px;

  color:#9b938e;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;
}

.locationsHomes__card h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.35;
}

.locationsHomes__card p{
  margin:9px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.65;
}


/* =========================
ACCENT CARD
========================= */

.locationsHomes__card--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.10),
      transparent 45%
    ),
    #f9f7f4;
}

.locationsHomes__card--accent
.locationsHomes__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
BOTTOM
========================= */

.locationsHomes__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:30px;

  margin-top:16px;

  padding:23px 25px;

  border-radius:20px;

  background:#171717;

  color:#fff;
}

.locationsHomes__bottom>div{
  display:grid;
}

.locationsHomes__bottom span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.locationsHomes__bottom strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationsHomes{
    padding:96px 0 102px;
  }

  .locationsHomes__header{
    gap:48px;
  }

}


@media (max-width:1024px){

  .locationsHomes{
    padding:82px 0 88px;
  }

  .locationsHomes__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .locationsHomes__intro{
    max-width:720px;
  }

  .locationsHomes__media{
    min-height:450px;

    border-radius:26px;
  }

  .locationsHomes__grid{
    grid-template-columns:1fr 1fr;
  }

  .locationsHomes__card:last-child{
    grid-column:1/-1;
  }

}


@media (max-width:768px){

  .locationsHomes{
    padding:68px 0 74px;
  }

  .locationsHomes__media{
    min-height:410px;
  }

  .locationsHomes__grid{
    grid-template-columns:1fr;
  }

  .locationsHomes__card:last-child{
    grid-column:auto;
  }

  .locationsHomes__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .locationsHomes{
    padding:56px 0 62px;
  }

  .locationsHomes__header h2{
    font-size:clamp(32px,9vw,42px);
  }

  .locationsHomes__intro{
    font-size:16px;
    line-height:1.66;
  }

  .locationsHomes__media{
    min-height:380px;

    border-radius:22px;
  }

  .locationsHomes__mediaTag{
    top:15px;
    left:15px;

    font-size:16px;
  }

  .locationsHomes__mediaBottom{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .locationsHomes__mediaBottom strong{
    font-size:20px;
  }

  .locationsHomes__card{
    padding:21px;

    border-radius:20px;
  }

  .locationsHomes__card h3{
    font-size:18px;
  }

  .locationsHomes__bottom{
    padding:21px;
  }

  .locationsHomes__bottom .btn{
    width:100%;
  }

}








/* =========================
08 — LOCAL COVERAGE DETAILS / MORE THAN ONE NEIGHBORHOOD
========================= */

.locationsCoverageDetails{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#f7f5f2;
}


/* =========================
SHELL
========================= */

.locationsCoverageDetails__shell{
  display:grid;
  grid-template-columns:
    minmax(320px,.76fr)
    minmax(0,1.24fr);

  overflow:hidden;

  border-radius:32px;

  background:#171717;

  box-shadow:
    0 32px 82px rgba(31,24,20,.15);
}


/* =========================
INTRO
========================= */

.locationsCoverageDetails__intro{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:center;

  min-height:610px;

  padding:48px;

  border-right:
    1px solid rgba(255,255,255,.08);

  background:
    radial-gradient(
      circle at 12% 9%,
      rgba(226,28,33,.18),
      transparent 29%
    ),
    #171717;

  color:#fff;
}

.locationsCoverageDetails .sectionEyebrow{
  color:#aaa;
}

.locationsCoverageDetails__intro h2{
  max-width:620px;
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.locationsCoverageDetails__intro h2 strong{
  display:block;
  color:#ff5d62;
}

.locationsCoverageDetails__intro>p{
  max-width:560px;

  margin:22px 0 0;

  color:#9d9d9d;

  font-size:17px;
  line-height:1.72;
}


/* =========================
HIGHLIGHT
========================= */

.locationsCoverageDetails__highlight{
  display:grid;

  margin:34px 0 27px;
  padding:20px 0 0;

  border-top:
    1px solid rgba(255,255,255,.10);
}

.locationsCoverageDetails__highlight span{
  color:#767676;

  font-size:16px;
  font-weight:700;
}

.locationsCoverageDetails__highlight strong{
  margin-top:5px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
}

.locationsCoverageDetails__intro .btn{
  width:max-content;
}


/* =========================
LIST
========================= */

.locationsCoverageDetails__list{
  display:grid;
  grid-template-columns:1fr 1fr;
}


/* =========================
ITEM
========================= */

.locationsCoverageDetails__item{
  position:relative;

  min-height:203px;

  padding:27px;

  border-right:
    1px solid rgba(255,255,255,.08);

  border-bottom:
    1px solid rgba(255,255,255,.08);

  background:#1a1a1a;

  transition:
    background .25s ease;
}

.locationsCoverageDetails__item:nth-child(2n){
  border-right:0;
}

.locationsCoverageDetails__item:nth-last-child(-n+2){
  border-bottom:0;
}

.locationsCoverageDetails__item:hover{
  background:#202020;
}

.locationsCoverageDetails__item>span{
  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  margin-bottom:28px;

  border-radius:12px;

  background:#242424;

  color:#ff6267;

  font-size:16px;
  font-weight:800;

  transition:.25s ease;
}

.locationsCoverageDetails__item:hover>span{
  background:var(--accent);
  color:#fff;
}

.locationsCoverageDetails__item small{
  display:block;

  margin-bottom:5px;

  color:#646464;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.locationsCoverageDetails__item h3{
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
  line-height:1.35;
}

.locationsCoverageDetails__item p{
  max-width:420px;

  margin:8px 0 0;

  color:#909090;

  font-size:16px;
  line-height:1.62;
}


/* =========================
ACCENT
========================= */

.locationsCoverageDetails__item--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.14),
      transparent 45%
    ),
    #1a1a1a;
}

.locationsCoverageDetails__item--accent>span{
  background:var(--accent);
  color:#fff;
}


/* =========================
BOTTOM
========================= */

.locationsCoverageDetails__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:28px;

  margin-top:16px;

  padding:23px 25px;

  border:1px solid #e5dfda;
  border-radius:20px;

  background:#fff;
}

.locationsCoverageDetails__bottom>div{
  display:grid;
}

.locationsCoverageDetails__bottom>div span{
  color:#8d8580;

  font-size:16px;
  font-weight:700;
}

.locationsCoverageDetails__bottom>div strong{
  margin-top:4px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.locationsCoverageDetails__bottom>a{
  display:flex;
  align-items:center;
  gap:10px;

  flex:0 0 auto;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.locationsCoverageDetails__bottom>a>span{
  width:35px;
  height:35px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  color:#fff;

  font-size:16px;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationsCoverageDetails{
    padding:96px 0 102px;
  }

  .locationsCoverageDetails__intro{
    padding:40px;
  }

}


@media (max-width:1024px){

  .locationsCoverageDetails{
    padding:82px 0 88px;
  }

  .locationsCoverageDetails__shell{
    grid-template-columns:1fr;

    border-radius:28px;
  }

  .locationsCoverageDetails__intro{
    min-height:auto;

    border-right:0;
    border-bottom:
      1px solid rgba(255,255,255,.08);
  }

  .locationsCoverageDetails__intro h2,
  .locationsCoverageDetails__intro>p{
    max-width:760px;
  }

}


@media (max-width:768px){

  .locationsCoverageDetails{
    padding:68px 0 74px;
  }

  .locationsCoverageDetails__list{
    grid-template-columns:1fr;
  }

  .locationsCoverageDetails__item{
    min-height:auto;

    border-right:0;
    border-bottom:
      1px solid rgba(255,255,255,.08) !important;
  }

  .locationsCoverageDetails__item:last-child{
    border-bottom:0 !important;
  }

  .locationsCoverageDetails__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .locationsCoverageDetails{
    padding:56px 0 62px;
  }

  .locationsCoverageDetails__shell{
    border-radius:22px;
  }

  .locationsCoverageDetails__intro{
    padding:28px 21px;
  }

  .locationsCoverageDetails__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .locationsCoverageDetails__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .locationsCoverageDetails__intro .btn{
    width:100%;
  }

  .locationsCoverageDetails__item{
    padding:23px 21px;
  }

  .locationsCoverageDetails__item h3{
    font-size:18px;
  }

  .locationsCoverageDetails__bottom{
    padding:21px;
  }

}








/* =========================
09 — FAQ / LOCATION & SERVICE AREA QUESTIONS
========================= */

.locationsFaq{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 8% 10%,
      rgba(226,28,33,.055),
      transparent 23%
    ),
    #fff;
}


/* =========================
LAYOUT
========================= */

.locationsFaq__layout{
  display:grid;
  grid-template-columns:
    minmax(320px,.76fr)
    minmax(0,1.24fr);

  align-items:start;
  gap:78px;
}


/* =========================
INTRO
========================= */

.locationsFaq__intro{
  position:sticky;
  top:120px;
}

.locationsFaq__intro h2{
  max-width:620px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.locationsFaq__intro h2 strong{
  display:block;
  color:var(--accent);
}

.locationsFaq__intro>p{
  max-width:560px;

  margin:22px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
HELP
========================= */

.locationsFaq__help{
  display:grid;

  max-width:490px;

  margin-top:34px;
  padding:22px;

  border-radius:20px;

  background:#171717;

  color:#fff;
}

.locationsFaq__help>span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.locationsFaq__help>strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.locationsFaq__help>a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  margin-top:18px;
  padding-top:17px;

  border-top:
    1px solid rgba(255,255,255,.10);

  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.locationsFaq__help>a>span{
  width:34px;
  height:34px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
ACCORDION
========================= */

.locationsFaq__accordion{
  border-top:1px solid #ddd7d2;
}

.locationsFaq__item{
  border-bottom:1px solid #ddd7d2;
}

.locationsFaq__question{
  width:100%;

  display:grid;
  grid-template-columns:
    46px
    minmax(0,1fr)
    44px;

  align-items:center;
  gap:18px;

  padding:25px 0;

  border:0;
  outline:0;

  background:transparent;

  text-align:left;

  cursor:pointer;
}

.locationsFaq__number{
  color:#9b938e;

  font-size:16px;
  font-weight:800;

  transition:color .25s ease;
}

.locationsFaq__questionText{
  color:#211f1d;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
  line-height:1.38;
}


/* =========================
ICON
========================= */

.locationsFaq__icon{
  position:relative;

  width:42px;
  height:42px;

  border:1px solid #ded8d3;
  border-radius:50%;

  background:#fff;

  transition:
    background .25s ease,
    border-color .25s ease;
}

.locationsFaq__icon:before,
.locationsFaq__icon:after{
  content:"";

  position:absolute;
  top:50%;
  left:50%;

  width:13px;
  height:1.5px;

  border-radius:2px;

  background:#262421;

  transform:translate(-50%,-50%);

  transition:transform .25s ease;
}

.locationsFaq__icon:after{
  transform:
    translate(-50%,-50%)
    rotate(90deg);
}


/* =========================
OPEN
========================= */

.locationsFaq__item.is-open
.locationsFaq__number{
  color:var(--accent);
}

.locationsFaq__item.is-open
.locationsFaq__icon{
  border-color:var(--accent);
  background:var(--accent);
}

.locationsFaq__item.is-open
.locationsFaq__icon:before,
.locationsFaq__item.is-open
.locationsFaq__icon:after{
  background:#fff;
}

.locationsFaq__item.is-open
.locationsFaq__icon:after{
  transform:
    translate(-50%,-50%)
    rotate(0deg);
}


/* =========================
ANSWER
========================= */

.locationsFaq__answer{
  display:grid;
  grid-template-rows:0fr;

  overflow:hidden;

  transition:grid-template-rows .35s ease;
}

.locationsFaq__answer>div{
  overflow:hidden;
}

.locationsFaq__item.is-open
.locationsFaq__answer{
  grid-template-rows:1fr;
}

.locationsFaq__answer p{
  max-width:680px;

  margin:0;

  padding:
    0
    62px
    25px
    64px;

  color:#756e69;

  font-size:15px;
  line-height:1.7;
}


/* =========================
HOVER
========================= */

.locationsFaq__item:hover
.locationsFaq__number{
  color:var(--accent);
}

.locationsFaq__item:hover
.locationsFaq__icon{
  border-color:rgba(226,28,33,.32);
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationsFaq{
    padding:96px 0 102px;
  }

  .locationsFaq__layout{
    gap:54px;
  }

}


@media (max-width:1024px){

  .locationsFaq{
    padding:82px 0 88px;
  }

  .locationsFaq__layout{
    grid-template-columns:1fr;
    gap:46px;
  }

  .locationsFaq__intro{
    position:relative;
    top:auto;

    max-width:760px;
  }

}


@media (max-width:768px){

  .locationsFaq{
    padding:68px 0 74px;
  }

  .locationsFaq__question{
    grid-template-columns:
      38px
      minmax(0,1fr)
      40px;

    gap:13px;
  }

  .locationsFaq__answer p{
    padding-left:51px;
    padding-right:50px;
  }

}


@media (max-width:576px){

  .locationsFaq{
    padding:56px 0 62px;
  }

  .locationsFaq__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .locationsFaq__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .locationsFaq__help{
    padding:20px;
  }

  .locationsFaq__question{
    grid-template-columns:
      28px
      minmax(0,1fr)
      38px;

    gap:10px;

    padding:21px 0;
  }

  .locationsFaq__questionText{
    font-size:17px;
  }

  .locationsFaq__icon{
    width:38px;
    height:38px;
  }

  .locationsFaq__answer p{
    padding:
      0
      47px
      21px
      38px;

    font-size:16px;
  }

}








/* =========================
10 — FINAL CTA / CHECK YOUR AREA & REQUEST SERVICE
========================= */

.locationsFinal{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#f7f5f2;
}


/* =========================
SHELL
========================= */

.locationsFinal__shell{
  display:grid;
  grid-template-columns:
    minmax(0,1.05fr)
    minmax(390px,.95fr);

  overflow:hidden;

  border-radius:34px;

  background:#171717;

  box-shadow:
    0 34px 86px rgba(32,25,21,.16);
}


/* =========================
CONTENT
========================= */

.locationsFinal__content{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:center;

  min-height:610px;

  padding:54px 52px;

  color:#fff;

  background:
    radial-gradient(
      circle at 14% 10%,
      rgba(226,28,33,.18),
      transparent 28%
    ),
    #171717;
}

.locationsFinal .sectionEyebrow{
  color:#aaa;
}

.locationsFinal__content h2{
  max-width:690px;
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(40px,3.5vw,56px);
  font-weight:800;
  line-height:1.06;
  letter-spacing:-.045em;
}

.locationsFinal__content h2 strong{
  display:block;
  color:#ff5d62;
}

.locationsFinal__content>p{
  max-width:640px;

  margin:22px 0 0;

  color:#a4a4a4;

  font-size:17px;
  line-height:1.72;
}


/* =========================
ACTIONS
========================= */

.locationsFinal__actions{
  display:flex;
  align-items:center;
  gap:25px;

  margin-top:31px;
}

.locationsFinal__phone{
  display:grid;
}

.locationsFinal__phone span{
  color:#7f7f7f;

  font-size:16px;
  font-weight:700;
}

.locationsFinal__phone strong{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
}


/* =========================
META
========================= */

.locationsFinal__meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));

  margin-top:42px;
  padding-top:25px;

  border-top:
    1px solid rgba(255,255,255,.10);
}

.locationsFinal__meta>div{
  display:grid;

  padding-right:22px;
}

.locationsFinal__meta>div + div{
  padding-left:22px;

  border-left:
    1px solid rgba(255,255,255,.09);
}

.locationsFinal__meta span{
  color:#777;

  font-size:16px;
  font-weight:700;
}

.locationsFinal__meta strong{
  margin-top:5px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}


/* =========================
VISUAL
========================= */

.locationsFinal__visual{
  position:relative;

  min-height:610px;

  overflow:hidden;

  background:#292929;
}

.locationsFinal__visual img{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  display:block;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.locationsFinal__visual:hover img{
  transform:scale(1.025);
}

.locationsFinal__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.04) 28%,
      rgba(10,10,10,.08) 54%,
      rgba(10,10,10,.70) 100%
    );
}


/* =========================
VISUAL LABEL
========================= */

.locationsFinal__visualLabel{
  position:absolute;
  z-index:3;

  left:28px;
  right:28px;
  bottom:28px;

  display:grid;
}

.locationsFinal__visualLabel span{
  margin-bottom:6px;

  color:#ff666b;

  font-size:16px;
  font-weight:800;
}

.locationsFinal__visualLabel strong{
  max-width:480px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:23px;
  font-weight:800;
  line-height:1.32;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationsFinal{
    padding:96px 0 102px;
  }

  .locationsFinal__content{
    padding:45px 40px;
  }

}


@media (max-width:1024px){

  .locationsFinal{
    padding:82px 0 88px;
  }

  .locationsFinal__shell{
    grid-template-columns:1fr;

    border-radius:28px;
  }

  .locationsFinal__content{
    min-height:auto;
  }

  .locationsFinal__visual{
    min-height:500px;
  }

}


@media (max-width:768px){

  .locationsFinal{
    padding:68px 0 74px;
  }

  .locationsFinal__content{
    padding:38px 30px;
  }

  .locationsFinal__visual{
    min-height:450px;
  }

}


@media (max-width:576px){

  .locationsFinal{
    padding:56px 0 62px;
  }

  .locationsFinal__shell{
    border-radius:22px;
  }

  .locationsFinal__content{
    padding:30px 21px;
  }

  .locationsFinal__content h2{
    font-size:clamp(32px,9vw,42px);
  }

  .locationsFinal__content>p{
    font-size:16px;
    line-height:1.66;
  }

  .locationsFinal__actions{
    align-items:stretch;
    flex-direction:column;

    gap:17px;
  }

  .locationsFinal__actions .btn{
    width:100%;
  }

  .locationsFinal__phone{
    text-align:center;
  }

  .locationsFinal__meta{
    grid-template-columns:1fr;

    gap:17px;
  }

  .locationsFinal__meta>div,
  .locationsFinal__meta>div + div{
    padding:0;
    border-left:0;
  }

  .locationsFinal__meta>div + div{
    padding-top:17px;

    border-top:
      1px solid rgba(255,255,255,.09);
  }

  .locationsFinal__visual{
    min-height:390px;
  }

  .locationsFinal__visualLabel{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .locationsFinal__visualLabel strong{
    font-size:20px;
  }

}














































/* =========================
01 — LOCATION HERO / APPLIANCE REPAIR IN SAN FRANCISCO
========================= */

.locationHero{
  position:relative;
  overflow:hidden;

  padding:68px 0 108px;

  background:
    radial-gradient(
      circle at 92% 8%,
      rgba(226,28,33,.075),
      transparent 25%
    ),
    linear-gradient(
      180deg,
      #fff 0%,
      #f7f5f2 100%
    );
}

.locationHero:before{
  content:"";

  position:absolute;
  left:-250px;
  bottom:-330px;

  width:600px;
  height:600px;

  border:1px solid rgba(226,28,33,.06);
  border-radius:50%;

  pointer-events:none;
}


/* =========================
SHELL
========================= */

.locationHero__shell{
  display:grid;
  grid-template-columns:
    minmax(0,1.02fr)
    minmax(420px,.98fr);

  overflow:hidden;

  min-height:660px;

  border-radius:34px;

  background:#171717;

  box-shadow:
    0 32px 84px rgba(33,25,21,.15);
}


/* =========================
CONTENT
========================= */

.locationHero__content{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:center;

  padding:55px 52px;

  color:#fff;

  background:
    radial-gradient(
      circle at 12% 8%,
      rgba(226,28,33,.18),
      transparent 29%
    ),
    #171717;
}

.locationHero .sectionEyebrow{
  color:#aaa;
}

.locationHero h1{
  max-width:730px;
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(43px,4vw,62px);
  font-weight:800;
  line-height:1.04;
  letter-spacing:-.052em;
}

.locationHero h1 strong{
  display:block;
  color:#ff5d62;
}

.locationHero__lead{
  max-width:650px;

  margin:23px 0 0;

  color:#a4a4a4;

  font-size:17px;
  line-height:1.72;
}


/* =========================
ACTIONS
========================= */

.locationHero__actions{
  display:flex;
  align-items:center;
  gap:25px;

  margin-top:31px;
}

.locationHero__phone{
  display:grid;
}

.locationHero__phone span{
  color:#777;

  font-size:16px;
  font-weight:700;
}

.locationHero__phone strong{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
}


/* =========================
NEIGHBORHOODS
========================= */

.locationHero__areas{
  display:flex;
  flex-wrap:wrap;
  gap:9px;

  margin-top:38px;
  padding-top:23px;

  border-top:
    1px solid rgba(255,255,255,.10);
}

.locationHero__areas span{
  padding:9px 12px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;

  background:rgba(255,255,255,.045);

  color:#aaa;

  font-size:16px;
  font-weight:700;
}


/* =========================
VISUAL
========================= */

.locationHero__visual{
  position:relative;

  overflow:hidden;

  min-height:660px;

  background:#292929;
}

.locationHero__visual img{
  position:absolute;
  inset:0;

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.locationHero__visual:hover img{
  transform:scale(1.025);
}

.locationHero__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.12) 0%,
      rgba(10,10,10,.02) 38%,
      rgba(10,10,10,.12) 60%,
      rgba(10,10,10,.72) 100%
    );
}


/* =========================
VISUAL TOP
========================= */

.locationHero__visualTop{
  position:absolute;
  z-index:3;

  top:23px;
  left:23px;
  right:23px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  padding:12px 14px;

  border:1px solid rgba(255,255,255,.20);
  border-radius:14px;

  background:rgba(20,20,20,.34);

  color:#fff;

  backdrop-filter:blur(11px);
}

.locationHero__visualTop span{
  font-size:16px;
  font-weight:700;
}

.locationHero__visualTop strong{
  color:#ff6267;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
VISUAL BOTTOM
========================= */

.locationHero__visualBottom{
  position:absolute;
  z-index:3;

  left:28px;
  right:28px;
  bottom:28px;

  display:grid;
}

.locationHero__visualBottom span{
  margin-bottom:7px;

  color:#ff666b;

  font-size:16px;
  font-weight:800;
}

.locationHero__visualBottom strong{
  max-width:500px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:23px;
  font-weight:800;
  line-height:1.32;
}


/* =========================
FACTS
========================= */

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

  gap:10px;

  margin-top:18px;
}

.locationHero__fact{
  display:flex;
  align-items:center;
  gap:14px;

  min-height:82px;

  padding:15px 17px;

  border:1px solid #e6e0db;
  border-radius:17px;

  background:#fff;

  box-shadow:
    0 12px 28px rgba(35,27,23,.045);
}

.locationHero__fact>span{
  width:36px;
  height:36px;

  display:grid;
  place-items:center;

  flex:0 0 auto;

  border-radius:11px;

  background:#f4f1ee;

  color:#938b86;

  font-size:16px;
  font-weight:800;
}

.locationHero__fact>div{
  display:grid;
}

.locationHero__fact small{
  color:#99918c;

  font-size:16px;
  font-weight:700;
}

.locationHero__fact strong{
  margin-top:3px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationHero{
    padding:56px 0 94px;
  }

  .locationHero__shell{
    grid-template-columns:
      minmax(0,1fr)
      minmax(390px,.9fr);
  }

  .locationHero__content{
    padding:46px 40px;
  }

  .locationHero__facts{
    grid-template-columns:1fr 1fr;
  }

}


@media (max-width:1024px){

  .locationHero{
    padding:44px 0 82px;
  }

  .locationHero__shell{
    grid-template-columns:1fr;

    min-height:0;

    border-radius:28px;
  }

  .locationHero__content{
    min-height:auto;
  }

  .locationHero__visual{
    min-height:520px;
  }

}


@media (max-width:768px){

  .locationHero__content{
    padding:38px 30px;
  }

  .locationHero__visual{
    min-height:470px;
  }

}


@media (max-width:576px){

  .locationHero{
    padding:28px 0 58px;
  }

  .locationHero__shell{
    border-radius:22px;
  }

  .locationHero__content{
    padding:30px 21px;
  }

  .locationHero h1{
    font-size:clamp(36px,10vw,46px);
    line-height:1.07;
  }

  .locationHero__lead{
    font-size:16px;
    line-height:1.66;
  }

  .locationHero__actions{
    align-items:stretch;
    flex-direction:column;

    gap:17px;
  }

  .locationHero__actions .btn{
    width:100%;
  }

  .locationHero__phone{
    text-align:center;
  }

  .locationHero__areas{
    gap:7px;
  }

  .locationHero__areas span{
    padding:8px 10px;

    font-size:16px;
  }

  .locationHero__visual{
    min-height:400px;
  }

  .locationHero__visualTop{
    top:15px;
    left:15px;
    right:15px;
  }

  .locationHero__visualBottom{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .locationHero__visualBottom strong{
    font-size:20px;
  }

  .locationHero__facts{
    grid-template-columns:1fr;
  }

}









/* =========================
02 — LOCAL SERVICE / BUILT AROUND SAN FRANCISCO HOMES
========================= */

.locationLocal{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(226,28,33,.055),
      transparent 24%
    ),
    #fff;
}


/* =========================
LAYOUT
========================= */

.locationLocal__layout{
  display:grid;
  grid-template-columns:
    minmax(380px,.9fr)
    minmax(0,1.1fr);

  align-items:center;
  gap:76px;
}


/* =========================
VISUAL
========================= */

.locationLocal__visual{
  position:relative;

  overflow:hidden;

  min-height:650px;

  border-radius:32px 32px 82px 32px;

  background:#ddd8d3;

  box-shadow:
    0 30px 76px rgba(34,27,23,.12);
}

.locationLocal__visual img{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  display:block;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.locationLocal__visual:hover img{
  transform:scale(1.025);
}

.locationLocal__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.05) 18%,
      rgba(10,10,10,.02) 45%,
      rgba(10,10,10,.12) 62%,
      rgba(10,10,10,.72) 100%
    );
}


/* =========================
TAG
========================= */

.locationLocal__tag{
  position:absolute;
  z-index:3;

  top:22px;
  left:22px;
  right:22px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  padding:12px 14px;

  border:1px solid rgba(255,255,255,.20);
  border-radius:14px;

  background:rgba(18,18,18,.32);

  color:#fff;

  backdrop-filter:blur(10px);
}

.locationLocal__tag span{
  font-size:16px;
  font-weight:700;
}

.locationLocal__tag strong{
  color:#ff6267;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
CAPTION
========================= */

.locationLocal__caption{
  position:absolute;
  z-index:3;

  left:28px;
  right:28px;
  bottom:28px;

  display:grid;
}

.locationLocal__caption span{
  margin-bottom:7px;

  color:#ff656a;

  font-size:16px;
  font-weight:800;
}

.locationLocal__caption strong{
  max-width:520px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:23px;
  font-weight:800;
  line-height:1.32;
}


/* =========================
CONTENT
========================= */

.locationLocal__content h2{
  max-width:700px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.locationLocal__content h2 strong{
  display:block;
  color:var(--accent);
}

.locationLocal__lead{
  max-width:670px;

  margin:21px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
POINTS
========================= */

.locationLocal__points{
  margin-top:34px;

  border-top:1px solid #e2dcd7;
}

.locationLocal__point{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);

  gap:17px;

  padding:23px 0;

  border-bottom:1px solid #e2dcd7;
}

.locationLocal__point>span{
  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  border-radius:12px;

  background:#f4f1ee;

  color:#918983;

  font-size:16px;
  font-weight:800;

  transition:
    background .25s ease,
    color .25s ease;
}

.locationLocal__point:hover>span{
  background:var(--accent);
  color:#fff;
}

.locationLocal__point h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  line-height:1.35;
}

.locationLocal__point p{
  max-width:610px;

  margin:7px 0 0;

  color:#756e69;

  font-size:15px;
  line-height:1.62;
}


/* =========================
BOTTOM
========================= */

.locationLocal__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;

  margin-top:26px;

  padding:21px 23px;

  border-radius:18px;

  background:#171717;

  color:#fff;
}

.locationLocal__bottom>div{
  display:grid;
}

.locationLocal__bottom>div span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.locationLocal__bottom>div strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.locationLocal__bottom>a{
  display:flex;
  align-items:center;
  gap:9px;

  flex:0 0 auto;

  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.locationLocal__bottom>a>span{
  width:35px;
  height:35px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationLocal{
    padding:96px 0 102px;
  }

  .locationLocal__layout{
    gap:54px;
  }

  .locationLocal__visual{
    min-height:610px;
  }

}


@media (max-width:1024px){

  .locationLocal{
    padding:82px 0 88px;
  }

  .locationLocal__layout{
    grid-template-columns:1fr;
    gap:46px;
  }

  .locationLocal__visual{
    min-height:520px;

    border-radius:28px 28px 64px 28px;
  }

  .locationLocal__content{
    max-width:820px;
  }

}


@media (max-width:768px){

  .locationLocal{
    padding:68px 0 74px;
  }

  .locationLocal__visual{
    min-height:460px;
  }

}


@media (max-width:576px){

  .locationLocal{
    padding:56px 0 62px;
  }

  .locationLocal__visual{
    min-height:400px;

    border-radius:22px 22px 50px 22px;
  }

  .locationLocal__tag{
    top:15px;
    left:15px;
    right:15px;

    align-items:flex-start;
    flex-direction:column;

    gap:3px;
  }

  .locationLocal__caption{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .locationLocal__caption strong{
    font-size:20px;
  }

  .locationLocal__content h2{
    font-size:clamp(32px,9vw,42px);
  }

  .locationLocal__lead{
    font-size:16px;
    line-height:1.66;
  }

  .locationLocal__point{
    grid-template-columns:40px minmax(0,1fr);
    gap:13px;
  }

  .locationLocal__point h3{
    font-size:17px;
  }

  .locationLocal__point p{
    font-size:16px;
  }

  .locationLocal__bottom{
    align-items:flex-start;
    flex-direction:column;

    padding:21px;
  }

}









/* =========================
03 — APPLIANCE REPAIR SERVICES / WHAT WE SERVICE IN SAN FRANCISCO
========================= */

.locationServices{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 8%,
      rgba(226,28,33,.055),
      transparent 24%
    ),
    #f7f5f2;
}


/* =========================
HEADER
========================= */

.locationServices__header{
  display:grid;
  grid-template-columns:
    minmax(0,1.1fr)
    minmax(340px,.9fr);

  align-items:end;
  gap:72px;

  margin-bottom:44px;
}

.locationServices__header h2{
  max-width:790px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.locationServices__header h2 strong{
  display:block;
  color:var(--accent);
}

.locationServices__intro{
  max-width:610px;
  margin:0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
LIST
========================= */

.locationServices__list{
  display:grid;
  gap:14px;
}


/* =========================
ITEM
========================= */

.locationServices__item{
  display:grid;
  grid-template-columns:
    minmax(240px,.42fr)
    minmax(0,1fr)
    48px;

  align-items:center;
  gap:26px;

  min-width:0;

  padding:18px 22px 18px 18px;

  border:1px solid #e5dfda;
  border-radius:24px;

  background:#fff;

  box-shadow:
    0 15px 40px rgba(35,27,23,.055);

  transition:
    transform .28s ease,
    border-color .28s ease,
    box-shadow .28s ease;
}

.locationServices__item:hover{
  transform:translateY(-4px);

  border-color:rgba(226,28,33,.20);

  box-shadow:
    0 24px 52px rgba(35,27,23,.09);
}


/* =========================
IMAGE
========================= */

.locationServices__image{
  position:relative;

  overflow:hidden;

  min-height:220px;

  border-radius:18px;

  background:#ddd8d3;
}

.locationServices__image img{
  position:absolute;
  inset:0;

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .6s cubic-bezier(.2,.7,.2,1);
}

.locationServices__item:hover
.locationServices__image img{
  transform:scale(1.04);
}


/* =========================
NUMBER
========================= */

.locationServices__number{
  position:absolute;
  z-index:2;

  top:14px;
  left:14px;

  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  border-radius:12px;

  background:rgba(255,255,255,.94);

  color:#211f1d;

  font-size:16px;
  font-weight:800;

  box-shadow:
    0 8px 20px rgba(0,0,0,.08);
}


/* =========================
CONTENT
========================= */

.locationServices__content{
  min-width:0;
}

.locationServices__category{
  display:block;

  margin-bottom:6px;

  color:var(--accent);

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;
}

.locationServices__content h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:22px;
  font-weight:800;
  line-height:1.3;
}

.locationServices__content p{
  max-width:650px;

  margin:9px 0 0;

  color:#756e69;

  font-size:15px;
  line-height:1.62;
}


/* =========================
TAGS
========================= */

.locationServices__tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;

  margin-top:16px;
}

.locationServices__tags span{
  padding:6px 9px;

  border:1px solid #ebe5e0;
  border-radius:999px;

  background:#f8f6f3;

  color:#817974;

  font-size:16px;
  font-weight:700;
}


/* =========================
ARROW
========================= */

.locationServices__arrow{
  width:44px;
  height:44px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:#f4f1ee;

  color:#20201e;

  font-size:17px;

  transition:
    transform .25s ease,
    background .25s ease,
    color .25s ease;
}

.locationServices__item:hover
.locationServices__arrow{
  transform:rotate(10deg);

  background:var(--accent);
  color:#fff;
}


/* =========================
ACCENT
========================= */

.locationServices__item--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.08),
      transparent 38%
    ),
    #fff;
}


/* =========================
BOTTOM
========================= */

.locationServices__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;

  margin-top:16px;

  padding:23px 25px;

  border-radius:20px;

  background:#171717;

  color:#fff;
}

.locationServices__bottom>div{
  display:grid;
}

.locationServices__bottom span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.locationServices__bottom strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationServices{
    padding:96px 0 102px;
  }

  .locationServices__header{
    gap:48px;
  }

}


@media (max-width:1024px){

  .locationServices{
    padding:82px 0 88px;
  }

  .locationServices__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .locationServices__intro{
    max-width:720px;
  }

  .locationServices__item{
    grid-template-columns:
      220px
      minmax(0,1fr)
      44px;
  }

}


@media (max-width:768px){

  .locationServices{
    padding:68px 0 74px;
  }

  .locationServices__item{
    grid-template-columns:1fr;
    gap:19px;

    padding:18px;
  }

  .locationServices__image{
    min-height:300px;
  }

  .locationServices__arrow{
    justify-self:start;
  }

  .locationServices__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .locationServices{
    padding:56px 0 62px;
  }

  .locationServices__header h2{
    font-size:clamp(32px,9vw,42px);
  }

  .locationServices__intro{
    font-size:16px;
    line-height:1.66;
  }

  .locationServices__item{
    border-radius:20px;
  }

  .locationServices__image{
    min-height:250px;

    border-radius:16px;
  }

  .locationServices__content h3{
    font-size:19px;
  }

  .locationServices__content p{
    font-size:16px;
  }

  .locationServices__bottom{
    padding:21px;
  }

  .locationServices__bottom .btn{
    width:100%;
  }

}







/* =========================
04 — COMMON APPLIANCE PROBLEMS / WHEN SAN FRANCISCO HOMEOWNERS CALL US
========================= */

.locationIssues{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#f7f5f2;
}


/* =========================
SHELL
========================= */

.locationIssues__shell{
  display:grid;
  grid-template-columns:
    minmax(320px,.76fr)
    minmax(0,1.24fr);

  overflow:hidden;

  border-radius:32px;

  background:#171717;

  box-shadow:
    0 32px 82px rgba(31,24,20,.15);
}


/* =========================
INTRO
========================= */

.locationIssues__intro{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:center;

  min-height:610px;

  padding:48px;

  border-right:
    1px solid rgba(255,255,255,.08);

  color:#fff;

  background:
    radial-gradient(
      circle at 12% 9%,
      rgba(226,28,33,.18),
      transparent 29%
    ),
    #171717;
}

.locationIssues .sectionEyebrow{
  color:#aaa;
}

.locationIssues__intro h2{
  max-width:620px;
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.locationIssues__intro h2 strong{
  display:block;
  color:#ff5d62;
}

.locationIssues__intro>p{
  max-width:560px;

  margin:22px 0 0;

  color:#9d9d9d;

  font-size:17px;
  line-height:1.72;
}


/* =========================
CALLOUT
========================= */

.locationIssues__callout{
  display:grid;

  margin-top:34px;
  padding-top:22px;

  border-top:
    1px solid rgba(255,255,255,.10);
}

.locationIssues__callout>span{
  color:#777;

  font-size:16px;
  font-weight:700;
}

.locationIssues__callout>strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.locationIssues__callout>a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  margin-top:18px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
}

.locationIssues__callout>a>span{
  width:35px;
  height:35px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
GRID
========================= */

.locationIssues__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
}


/* =========================
ITEM
========================= */

.locationIssues__item{
  min-height:205px;

  padding:27px;

  border-right:
    1px solid rgba(255,255,255,.08);

  border-bottom:
    1px solid rgba(255,255,255,.08);

  background:#1a1a1a;

  transition:
    background .25s ease;
}

.locationIssues__item:nth-child(2n){
  border-right:0;
}

.locationIssues__item:nth-last-child(-n+2){
  border-bottom:0;
}

.locationIssues__item:hover{
  background:#202020;
}

.locationIssues__number{
  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  margin-bottom:28px;

  border-radius:12px;

  background:#242424;

  color:#ff6267;

  font-size:16px;
  font-weight:800;

  transition:.25s ease;
}

.locationIssues__item:hover
.locationIssues__number{
  background:var(--accent);
  color:#fff;
}

.locationIssues__item small{
  display:block;

  margin-bottom:5px;

  color:#656565;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.locationIssues__item h3{
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
  line-height:1.35;
}

.locationIssues__item p{
  max-width:420px;

  margin:8px 0 0;

  color:#909090;

  font-size:16px;
  line-height:1.62;
}


/* =========================
ACCENT
========================= */

.locationIssues__item--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.14),
      transparent 45%
    ),
    #1a1a1a;
}

.locationIssues__item--accent
.locationIssues__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationIssues{
    padding:96px 0 102px;
  }

  .locationIssues__intro{
    padding:40px;
  }

}


@media (max-width:1024px){

  .locationIssues{
    padding:82px 0 88px;
  }

  .locationIssues__shell{
    grid-template-columns:1fr;

    border-radius:28px;
  }

  .locationIssues__intro{
    min-height:auto;

    border-right:0;
    border-bottom:
      1px solid rgba(255,255,255,.08);
  }

  .locationIssues__intro h2,
  .locationIssues__intro>p{
    max-width:760px;
  }

}


@media (max-width:768px){

  .locationIssues{
    padding:68px 0 74px;
  }

  .locationIssues__grid{
    grid-template-columns:1fr;
  }

  .locationIssues__item{
    min-height:auto;

    border-right:0;
    border-bottom:
      1px solid rgba(255,255,255,.08) !important;
  }

  .locationIssues__item:last-child{
    border-bottom:0 !important;
  }

}


@media (max-width:576px){

  .locationIssues{
    padding:56px 0 62px;
  }

  .locationIssues__shell{
    border-radius:22px;
  }

  .locationIssues__intro{
    padding:28px 21px;
  }

  .locationIssues__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .locationIssues__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .locationIssues__item{
    padding:23px 21px;
  }

  .locationIssues__item h3{
    font-size:18px;
  }

}








/* =========================
05 — NEIGHBORHOODS WE SERVE / SAN FRANCISCO COVERAGE
========================= */

.locationNeighborhoods{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(226,28,33,.055),
      transparent 24%
    ),
    #fff;
}


/* =========================
LAYOUT
========================= */

.locationNeighborhoods__layout{
  display:grid;
  grid-template-columns:
    minmax(320px,.76fr)
    minmax(0,1.24fr);

  align-items:start;
  gap:76px;
}


/* =========================
INTRO
========================= */

.locationNeighborhoods__intro{
  position:sticky;
  top:120px;
}

.locationNeighborhoods__intro h2{
  max-width:630px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.locationNeighborhoods__intro h2 strong{
  display:block;
  color:var(--accent);
}

.locationNeighborhoods__intro>p{
  max-width:560px;

  margin:22px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
NOTE
========================= */

.locationNeighborhoods__note{
  display:grid;

  max-width:500px;

  margin:34px 0 24px;
  padding:20px 22px;

  border-left:3px solid var(--accent);
  border-radius:0 18px 18px 0;

  background:#f7f5f2;
}

.locationNeighborhoods__note span{
  color:#8e8782;

  font-size:16px;
  font-weight:700;
}

.locationNeighborhoods__note strong{
  margin-top:4px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}


/* =========================
GRID
========================= */

.locationNeighborhoods__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}


/* =========================
CARD
========================= */

.locationNeighborhoods__card{
  position:relative;

  min-width:0;
  min-height:245px;

  padding:24px;

  border:1px solid #e5dfda;
  border-radius:22px;

  background:#f9f7f4;

  box-shadow:
    0 14px 34px rgba(35,27,23,.045);

  transition:
    transform .25s ease,
    border-color .25s ease,
    background .25s ease,
    box-shadow .25s ease;
}

.locationNeighborhoods__card:hover{
  transform:translateY(-4px);

  border-color:rgba(226,28,33,.20);

  background:#fff;

  box-shadow:
    0 22px 48px rgba(35,27,23,.075);
}


/* =========================
NUMBER
========================= */

.locationNeighborhoods__number{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  margin-bottom:31px;

  border-radius:13px;

  background:#fff;

  color:#918983;

  font-size:16px;
  font-weight:800;

  box-shadow:
    0 8px 20px rgba(35,27,23,.045);

  transition:
    background .25s ease,
    color .25s ease;
}

.locationNeighborhoods__card:hover
.locationNeighborhoods__number{
  background:#fff0f0;
  color:var(--accent);
}


/* =========================
TEXT
========================= */

.locationNeighborhoods__card small{
  display:block;

  margin-bottom:5px;

  color:#9b938e;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;
}

.locationNeighborhoods__card h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.35;
}

.locationNeighborhoods__card p{
  margin:9px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.65;
}


/* =========================
ACCENT
========================= */

.locationNeighborhoods__card--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.10),
      transparent 45%
    ),
    #f9f7f4;
}

.locationNeighborhoods__card--accent
.locationNeighborhoods__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationNeighborhoods{
    padding:96px 0 102px;
  }

  .locationNeighborhoods__layout{
    gap:52px;
  }

}


@media (max-width:1024px){

  .locationNeighborhoods{
    padding:82px 0 88px;
  }

  .locationNeighborhoods__layout{
    grid-template-columns:1fr;
    gap:44px;
  }

  .locationNeighborhoods__intro{
    position:relative;
    top:auto;

    max-width:760px;
  }

}


@media (max-width:768px){

  .locationNeighborhoods{
    padding:68px 0 74px;
  }

  .locationNeighborhoods__grid{
    grid-template-columns:1fr;
  }

  .locationNeighborhoods__card{
    min-height:auto;
  }

}


@media (max-width:576px){

  .locationNeighborhoods{
    padding:56px 0 62px;
  }

  .locationNeighborhoods__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .locationNeighborhoods__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .locationNeighborhoods__note{
    padding:19px 20px;
  }

  .locationNeighborhoods__card{
    padding:21px;

    border-radius:20px;
  }

  .locationNeighborhoods__number{
    margin-bottom:25px;
  }

  .locationNeighborhoods__card h3{
    font-size:18px;
  }

}








/* =========================
06 — WHY HOMEOWNERS CHOOSE PARKSIDE / LOCAL EXPERIENCE THAT MATTERS
========================= */

.locationTrust{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(226,28,33,.055),
      transparent 24%
    ),
    #f7f5f2;
}


/* =========================
HEADER
========================= */

.locationTrust__header{
  display:grid;
  grid-template-columns:
    minmax(0,1.1fr)
    minmax(340px,.9fr);

  align-items:end;
  gap:72px;

  margin-bottom:44px;
}

.locationTrust__header h2{
  max-width:790px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.locationTrust__header h2 strong{
  display:block;
  color:var(--accent);
}

.locationTrust__intro{
  max-width:610px;
  margin:0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
MEDIA
========================= */

.locationTrust__media{
  position:relative;

  overflow:hidden;

  min-height:520px;

  border-radius:30px;

  background:#dcd7d2;

  box-shadow:
    0 28px 72px rgba(35,27,23,.11);
}

.locationTrust__media img{
  position:absolute;
  inset:0;

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.locationTrust__media:hover img{
  transform:scale(1.025);
}

.locationTrust__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.08) 0%,
      rgba(10,10,10,.02) 40%,
      rgba(10,10,10,.12) 62%,
      rgba(10,10,10,.72) 100%
    );
}


/* =========================
MEDIA TOP
========================= */

.locationTrust__mediaTop{
  position:absolute;
  z-index:3;

  top:22px;
  left:22px;
  right:22px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  padding:12px 14px;

  border:1px solid rgba(255,255,255,.20);
  border-radius:14px;

  background:rgba(18,18,18,.32);

  color:#fff;

  backdrop-filter:blur(10px);
}

.locationTrust__mediaTop span{
  font-size:16px;
  font-weight:700;
}

.locationTrust__mediaTop strong{
  color:#ff6267;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
MEDIA BOTTOM
========================= */

.locationTrust__mediaBottom{
  position:absolute;
  z-index:3;

  left:29px;
  right:29px;
  bottom:28px;

  display:grid;
}

.locationTrust__mediaBottom span{
  margin-bottom:7px;

  color:#ff656a;

  font-size:16px;
  font-weight:800;
}

.locationTrust__mediaBottom strong{
  max-width:760px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:25px;
  font-weight:800;
  line-height:1.3;
}


/* =========================
GRID
========================= */

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

  gap:12px;

  margin-top:16px;
}


/* =========================
CARD
========================= */

.locationTrust__card{
  min-width:0;

  padding:23px;

  border:1px solid #e5dfda;
  border-radius:20px;

  background:#fff;

  box-shadow:
    0 14px 34px rgba(35,27,23,.045);

  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

.locationTrust__card:hover{
  transform:translateY(-4px);

  border-color:rgba(226,28,33,.20);

  box-shadow:
    0 22px 46px rgba(35,27,23,.075);
}

.locationTrust__number{
  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  margin-bottom:25px;

  border-radius:12px;

  background:#f4f1ee;

  color:#8f8781;

  font-size:16px;
  font-weight:800;

  transition:
    background .25s ease,
    color .25s ease;
}

.locationTrust__card:hover
.locationTrust__number{
  background:#fff0f0;
  color:var(--accent);
}

.locationTrust__card small{
  display:block;

  margin-bottom:5px;

  color:#9b938e;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.locationTrust__card h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  line-height:1.35;
}

.locationTrust__card p{
  margin:8px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.62;
}


/* =========================
ACCENT
========================= */

.locationTrust__card--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.10),
      transparent 45%
    ),
    #fff;
}

.locationTrust__card--accent
.locationTrust__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
BOTTOM
========================= */

.locationTrust__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:30px;

  margin-top:16px;

  padding:23px 25px;

  border-radius:20px;

  background:#171717;

  color:#fff;
}

.locationTrust__bottom>div:first-child{
  display:grid;
}

.locationTrust__bottom>div:first-child span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.locationTrust__bottom>div:first-child strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.locationTrust__actions{
  display:flex;
  align-items:center;
  gap:22px;
}

.locationTrust__phone{
  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationTrust{
    padding:96px 0 102px;
  }

  .locationTrust__header{
    gap:48px;
  }

  .locationTrust__grid{
    grid-template-columns:1fr 1fr;
  }

}


@media (max-width:1024px){

  .locationTrust{
    padding:82px 0 88px;
  }

  .locationTrust__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .locationTrust__intro{
    max-width:720px;
  }

  .locationTrust__media{
    min-height:470px;

    border-radius:26px;
  }

}


@media (max-width:768px){

  .locationTrust{
    padding:68px 0 74px;
  }

  .locationTrust__media{
    min-height:430px;
  }

  .locationTrust__grid{
    grid-template-columns:1fr;
  }

  .locationTrust__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .locationTrust{
    padding:56px 0 62px;
  }

  .locationTrust__header h2{
    font-size:clamp(32px,9vw,42px);
  }

  .locationTrust__intro{
    font-size:16px;
    line-height:1.66;
  }

  .locationTrust__media{
    min-height:390px;

    border-radius:22px;
  }

  .locationTrust__mediaTop{
    top:15px;
    left:15px;
    right:15px;

    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }

  .locationTrust__mediaBottom{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .locationTrust__mediaBottom strong{
    font-size:20px;
  }

  .locationTrust__card{
    padding:21px;
  }

  .locationTrust__card h3{
    font-size:17px;
  }

  .locationTrust__bottom{
    padding:21px;
  }

  .locationTrust__actions{
    width:100%;

    align-items:stretch;
    flex-direction:column;
  }

  .locationTrust__actions .btn{
    width:100%;
  }

}






/* =========================
07 — BRANDS WE SERVICE / MAJOR APPLIANCE BRANDS IN SAN FRANCISCO HOMES
========================= */

.locationBrands{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(226,28,33,.055),
      transparent 24%
    ),
    #fff;
}


/* =========================
HEADER
========================= */

.locationBrands__header{
  display:grid;
  grid-template-columns:
    minmax(0,1.1fr)
    minmax(340px,.9fr);

  align-items:end;
  gap:72px;

  margin-bottom:44px;
}

.locationBrands__header h2{
  max-width:790px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.locationBrands__header h2 strong{
  display:block;
  color:var(--accent);
}

.locationBrands__intro p{
  max-width:610px;
  margin:0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}

.locationBrands__introLink{
  display:inline-flex;
  align-items:center;
  gap:10px;

  width:max-content;

  margin-top:18px;

  color:var(--accent);

  font-size:15px;
  font-weight:800;
}

.locationBrands__introLink>span{
  width:32px;
  height:32px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:#fff0f0;
}


/* =========================
SHELL
========================= */

.locationBrands__shell{
  overflow:hidden;

  border:1px solid #e5dfda;
  border-radius:30px;

  background:#f8f6f3;

  box-shadow:
    0 24px 62px rgba(35,27,23,.07);
}


/* =========================
TOP
========================= */

.locationBrands__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;

  padding:27px 30px;

  border-bottom:1px solid #e6e0db;

  background:#fff;
}

.locationBrands__top>div:first-child{
  display:grid;
}

.locationBrands__top>div:first-child span{
  color:#918984;

  font-size:16px;
  font-weight:700;
}

.locationBrands__top>div:first-child strong{
  margin-top:4px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.locationBrands__count{
  display:none;
  text-align:right;
}

.locationBrands__count span{
  color:#918984;

  font-size:16px;
  font-weight:700;
}

.locationBrands__count strong{
  margin-top:2px;

  color:var(--accent);

  font-family:var(--font-heading);
  font-size:29px;
  font-weight:800;
  line-height:1;
}


/* =========================
GRID
========================= */

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


/* =========================
ITEM
========================= */

.locationBrands__item{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:space-between;

  min-height:145px;

  padding:21px;

  border-right:1px solid #e5dfda;
  border-bottom:1px solid #e5dfda;

  background:#faf8f5;

  transition:
    background .25s ease,
    transform .25s ease;
}

.locationBrands__item:nth-child(4n){
  border-right:0;
}

.locationBrands__item:nth-last-child(-n+4){
  border-bottom:0;
}

.locationBrands__item:hover{
  background:#fff;
}

.locationBrands__item>span{
  color:#a09892;

  font-size:16px;
  font-weight:800;

  transition:color .25s ease;
}

.locationBrands__item:hover>span{
  color:var(--accent);
}

.locationBrands__item strong{
  margin-top:30px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.locationBrands__item:after{
  content:"↗";

  position:absolute;
  top:17px;
  right:17px;

  width:29px;
  height:29px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:#f0ece8;

  color:#8d8580;

  font-size:16px;

  opacity:0;
  transform:translateY(4px);

  transition:
    opacity .25s ease,
    transform .25s ease,
    background .25s ease,
    color .25s ease;
}

.locationBrands__item:hover:after{
  opacity:1;
  transform:translateY(0);

  background:var(--accent);
  color:#fff;
}


/* =========================
BOTTOM
========================= */

.locationBrands__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:30px;

  padding:24px 28px;

  border-top:1px solid #e5dfda;

  background:#171717;

  color:#fff;
}

.locationBrands__bottom>div{
  display:grid;
}

.locationBrands__bottom>div span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.locationBrands__bottom>div strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.locationBrands__bottom>a{
  display:flex;
  align-items:center;
  gap:10px;

  flex:0 0 auto;

  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.locationBrands__bottom>a>span{
  width:35px;
  height:35px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationBrands{
    padding:96px 0 102px;
  }

  .locationBrands__header{
    gap:48px;
  }

}


@media (max-width:1024px){

  .locationBrands{
    padding:82px 0 88px;
  }

  .locationBrands__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .locationBrands__intro{
    max-width:720px;
  }

  .locationBrands__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .locationBrands__item:nth-child(4n){
    border-right:1px solid #e5dfda;
  }

  .locationBrands__item:nth-child(3n){
    border-right:0;
  }

  .locationBrands__item:nth-last-child(-n+4){
    border-bottom:1px solid #e5dfda;
  }

  .locationBrands__item:nth-last-child(-n+3){
    border-bottom:0;
  }

}


@media (max-width:768px){

  .locationBrands{
    padding:68px 0 74px;
  }

  .locationBrands__grid{
    grid-template-columns:1fr 1fr;
  }

  .locationBrands__item:nth-child(3n){
    border-right:1px solid #e5dfda;
  }

  .locationBrands__item:nth-child(2n){
    border-right:0;
  }

  .locationBrands__item:nth-last-child(-n+3){
    border-bottom:1px solid #e5dfda;
  }

  .locationBrands__item:nth-last-child(-n+2){
    border-bottom:0;
  }

  .locationBrands__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .locationBrands{
    padding:56px 0 62px;
  }

  .locationBrands__header h2{
    font-size:clamp(32px,9vw,42px);
  }

  .locationBrands__intro p{
    font-size:16px;
    line-height:1.66;
  }

  .locationBrands__shell{
    border-radius:22px;
  }

  .locationBrands__top{
    align-items:flex-start;
    flex-direction:column;

    padding:22px;
  }

  .locationBrands__count{
    text-align:left;
  }

  .locationBrands__grid{
    grid-template-columns:1fr;
  }

  .locationBrands__item{
    min-height:105px;

    border-right:0 !important;
    border-bottom:1px solid #e5dfda !important;
  }

  .locationBrands__item:last-child{
    border-bottom:0 !important;
  }

  .locationBrands__item strong{
    margin-top:22px;
  }

  .locationBrands__bottom{
    padding:21px;
  }

}






/* =========================
08 — WHAT TO EXPECT / YOUR SAN FRANCISCO SERVICE VISIT
========================= */

.locationVisit{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 8% 90%,
      rgba(226,28,33,.05),
      transparent 25%
    ),
    #f7f5f2;
}


/* =========================
LAYOUT
========================= */

.locationVisit__layout{
  display:grid;
  grid-template-columns:
    minmax(0,1.05fr)
    minmax(390px,.95fr);

  align-items:stretch;
  gap:72px;
}


/* =========================
CONTENT
========================= */

.locationVisit__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.locationVisit__content h2{
  max-width:750px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.locationVisit__content h2 strong{
  display:block;
  color:var(--accent);
}

.locationVisit__lead{
  max-width:670px;

  margin:21px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
STEPS
========================= */

.locationVisit__steps{
  margin-top:34px;

  border-top:1px solid #e1dbd6;
}

.locationVisit__step{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);

  gap:17px;

  padding:22px 0;

  border-bottom:1px solid #e1dbd6;
}

.locationVisit__step>span{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  border-radius:12px;

  background:#fff;

  color:#8e8781;

  font-size:16px;
  font-weight:800;

  box-shadow:
    0 8px 20px rgba(35,27,23,.05);

  transition:
    background .25s ease,
    color .25s ease;
}

.locationVisit__step:hover>span{
  background:var(--accent);
  color:#fff;
}

.locationVisit__step small{
  display:block;

  margin-bottom:4px;

  color:#9b938e;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.locationVisit__step h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  line-height:1.35;
}

.locationVisit__step p{
  max-width:650px;

  margin:7px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.64;
}


/* =========================
BOTTOM
========================= */

.locationVisit__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;

  margin-top:26px;

  padding:21px 22px;

  border-radius:18px;

  background:#171717;

  color:#fff;
}

.locationVisit__bottom>div{
  display:grid;
}

.locationVisit__bottom span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.locationVisit__bottom strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}


/* =========================
VISUAL
========================= */

.locationVisit__visual{
  position:relative;

  overflow:hidden;

  min-height:720px;

  border-radius:30px 30px 30px 82px;

  background:#d8d3ce;

  box-shadow:
    0 30px 76px rgba(35,27,23,.12);
}

.locationVisit__visual img{
  position:absolute;
  inset:0;

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.locationVisit__visual:hover img{
  transform:scale(1.025);
}

.locationVisit__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.06) 0%,
      rgba(10,10,10,.01) 38%,
      rgba(10,10,10,.12) 62%,
      rgba(10,10,10,.74) 100%
    );
}


/* =========================
BADGE
========================= */

.locationVisit__badge{
  position:absolute;
  z-index:3;

  top:20px;
  left:20px;
  right:20px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;

  padding:12px 14px;

  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;

  background:rgba(18,18,18,.34);

  color:#fff;

  backdrop-filter:blur(10px);
}

.locationVisit__badge span{
  font-size:16px;
  font-weight:700;
}

.locationVisit__badge strong{
  color:#ff6267;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
CAPTION
========================= */

.locationVisit__caption{
  position:absolute;
  z-index:3;

  left:27px;
  right:27px;
  bottom:27px;

  display:grid;
}

.locationVisit__caption span{
  margin-bottom:7px;

  color:#ff656a;

  font-size:16px;
  font-weight:800;
}

.locationVisit__caption strong{
  max-width:500px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:23px;
  font-weight:800;
  line-height:1.32;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationVisit{
    padding:96px 0 102px;
  }

  .locationVisit__layout{
    gap:52px;
  }

  .locationVisit__visual{
    min-height:680px;
  }

}


@media (max-width:1024px){

  .locationVisit{
    padding:82px 0 88px;
  }

  .locationVisit__layout{
    grid-template-columns:1fr;
    gap:44px;
  }

  .locationVisit__visual{
    min-height:540px;

    border-radius:28px 28px 28px 62px;
  }

}


@media (max-width:768px){

  .locationVisit{
    padding:68px 0 74px;
  }

  .locationVisit__visual{
    min-height:470px;
  }

  .locationVisit__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .locationVisit{
    padding:56px 0 62px;
  }

  .locationVisit__content h2{
    font-size:clamp(32px,9vw,42px);
  }

  .locationVisit__lead{
    font-size:16px;
    line-height:1.66;
  }

  .locationVisit__step{
    grid-template-columns:40px minmax(0,1fr);
    gap:13px;
  }

  .locationVisit__step h3{
    font-size:17px;
  }

  .locationVisit__visual{
    min-height:410px;

    border-radius:22px 22px 22px 48px;
  }

  .locationVisit__badge{
    top:15px;
    left:15px;
    right:15px;

    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }

  .locationVisit__caption{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .locationVisit__caption strong{
    font-size:20px;
  }

  .locationVisit__bottom{
    padding:20px;
  }

  .locationVisit__bottom .btn{
    width:100%;
  }

}








/* =========================
09 — FAQ / SAN FRANCISCO APPLIANCE REPAIR QUESTIONS
========================= */

.locationFaq{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 91% 8%,
      rgba(226,28,33,.05),
      transparent 24%
    ),
    #fff;
}


/* =========================
LAYOUT
========================= */

.locationFaq__layout{
  display:grid;
  grid-template-columns:
    minmax(320px,.78fr)
    minmax(0,1.22fr);

  align-items:start;
  gap:78px;
}


/* =========================
INTRO
========================= */

.locationFaq__intro{
  position:sticky;
  top:120px;
}

.locationFaq__intro h2{
  max-width:640px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.locationFaq__intro h2 strong{
  display:block;
  color:var(--accent);
}

.locationFaq__intro>p{
  max-width:550px;

  margin:22px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
CONTACT
========================= */

.locationFaq__contact{
  display:grid;

  margin-top:34px;
  padding:21px 22px;

  border-radius:18px;

  background:#171717;

  color:#fff;
}

.locationFaq__contact>span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.locationFaq__contact>strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.locationFaq__contact>a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  margin-top:18px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
}

.locationFaq__contact>a>span{
  width:35px;
  height:35px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
LIST
========================= */

.locationFaq__list{
  border-top:1px solid #e2dcd7;
}


/* =========================
ITEM
========================= */

.locationFaq__item{
  border-bottom:1px solid #e2dcd7;
}


/* =========================
QUESTION
========================= */

.locationFaq__question{
  width:100%;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;

  padding:25px 0;

  border:0;
  outline:0;

  background:transparent;

  text-align:left;

  cursor:pointer;
}

.locationFaq__question>span{
  display:flex;
  align-items:center;
  gap:15px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
  line-height:1.35;
}

.locationFaq__question small{
  width:38px;
  height:38px;

  display:grid;
  place-items:center;

  flex:0 0 auto;

  border-radius:11px;

  background:#f4f1ee;

  color:#938b86;

  font-family:inherit;
  font-size:16px;
  font-weight:800;

  transition:
    background .25s ease,
    color .25s ease;
}


/* =========================
ICON
========================= */

.locationFaq__question i{
  position:relative;

  width:38px;
  height:38px;

  flex:0 0 auto;

  border-radius:50%;

  background:#f4f1ee;

  transition:
    background .25s ease,
    transform .25s ease;
}

.locationFaq__question i:before,
.locationFaq__question i:after{
  content:"";

  position:absolute;
  top:50%;
  left:50%;

  width:12px;
  height:2px;

  border-radius:10px;

  background:#211f1d;

  transform:translate(-50%,-50%);

  transition:
    transform .25s ease,
    background .25s ease;
}

.locationFaq__question i:after{
  transform:
    translate(-50%,-50%)
    rotate(90deg);
}


/* =========================
ANSWER
========================= */

.locationFaq__answer{
  display:grid;
  grid-template-rows:0fr;

  transition:
    grid-template-rows .3s ease;
}

.locationFaq__answer>p{
  overflow:hidden;

  max-width:690px;

  margin:0;

  color:#756e69;

  font-size:15px;
  line-height:1.68;
}

.locationFaq__item.is-open
.locationFaq__answer{
  grid-template-rows:1fr;
}

.locationFaq__item.is-open
.locationFaq__answer>p{
  padding:0 60px 24px 53px;
}


/* =========================
ACTIVE
========================= */

.locationFaq__item.is-open
.locationFaq__question small{
  background:var(--accent);
  color:#fff;
}

.locationFaq__item.is-open
.locationFaq__question i{
  background:#171717;
}

.locationFaq__item.is-open
.locationFaq__question i:before,
.locationFaq__item.is-open
.locationFaq__question i:after{
  background:#fff;
}

.locationFaq__item.is-open
.locationFaq__question i:after{
  transform:
    translate(-50%,-50%)
    rotate(0deg);
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationFaq{
    padding:96px 0 102px;
  }

  .locationFaq__layout{
    gap:54px;
  }

}


@media (max-width:1024px){

  .locationFaq{
    padding:82px 0 88px;
  }

  .locationFaq__layout{
    grid-template-columns:1fr;
    gap:44px;
  }

  .locationFaq__intro{
    position:relative;
    top:auto;

    max-width:760px;
  }

}


@media (max-width:768px){

  .locationFaq{
    padding:68px 0 74px;
  }

  .locationFaq__question>span{
    font-size:18px;
  }

}


@media (max-width:576px){

  .locationFaq{
    padding:56px 0 62px;
  }

  .locationFaq__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .locationFaq__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .locationFaq__question{
    align-items:flex-start;
    gap:13px;

    padding:21px 0;
  }

  .locationFaq__question>span{
    align-items:flex-start;
    gap:11px;

    font-size:16px;
  }

  .locationFaq__question small{
    width:34px;
    height:34px;
  }

  .locationFaq__question i{
    width:34px;
    height:34px;
  }

  .locationFaq__item.is-open
  .locationFaq__answer>p{
    padding:0 0 21px 45px;

    font-size:16px;
  }

}






/* =========================
10 — FINAL CTA / REQUEST APPLIANCE SERVICE IN SAN FRANCISCO
========================= */

.locationFinal{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 88% 15%,
      rgba(226,28,33,.06),
      transparent 25%
    ),
    #f7f5f2;
}


/* =========================
SHELL
========================= */

.locationFinal__shell{
  display:grid;
  grid-template-columns:
    minmax(0,1.02fr)
    minmax(420px,.98fr);

  overflow:hidden;

  min-height:610px;

  border-radius:34px;

  background:#171717;

  box-shadow:
    0 34px 86px rgba(31,24,20,.16);
}


/* =========================
CONTENT
========================= */

.locationFinal__content{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:center;

  padding:52px;

  color:#fff;

  background:
    radial-gradient(
      circle at 10% 10%,
      rgba(226,28,33,.18),
      transparent 28%
    ),
    #171717;
}

.locationFinal .sectionEyebrow{
  color:#aaa;
}

.locationFinal__content h2{
  max-width:690px;
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(40px,3.7vw,58px);
  font-weight:800;
  line-height:1.05;
  letter-spacing:-.05em;
}

.locationFinal__content h2 strong{
  display:block;
  color:#ff5d62;
}

.locationFinal__lead{
  max-width:620px;

  margin:22px 0 0;

  color:#9d9d9d;

  font-size:17px;
  line-height:1.72;
}


/* =========================
ACTIONS
========================= */

.locationFinal__actions{
  display:flex;
  align-items:center;
  gap:25px;

  margin-top:31px;
}

.locationFinal__phone{
  display:grid;
}

.locationFinal__phone span{
  color:#777;

  font-size:16px;
  font-weight:700;
}

.locationFinal__phone strong{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
}


/* =========================
META
========================= */

.locationFinal__meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));

  gap:10px;

  margin-top:38px;
  padding-top:22px;

  border-top:1px solid rgba(255,255,255,.10);
}

.locationFinal__meta>div{
  display:grid;

  min-width:0;
}

.locationFinal__meta span{
  color:#727272;

  font-size:16px;
  font-weight:700;
}

.locationFinal__meta strong{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
VISUAL
========================= */

.locationFinal__visual{
  position:relative;

  overflow:hidden;

  min-height:610px;

  background:#2b2b2b;
}

.locationFinal__visual img{
  position:absolute;
  inset:0;

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.locationFinal__visual:hover img{
  transform:scale(1.025);
}

.locationFinal__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.08) 0%,
      rgba(10,10,10,.02) 40%,
      rgba(10,10,10,.15) 62%,
      rgba(10,10,10,.76) 100%
    );
}


/* =========================
VISUAL TOP
========================= */

.locationFinal__visualTop{
  position:absolute;
  z-index:3;

  top:22px;
  left:22px;
  right:22px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  padding:12px 14px;

  border:1px solid rgba(255,255,255,.20);
  border-radius:14px;

  background:rgba(18,18,18,.34);

  color:#fff;

  backdrop-filter:blur(10px);
}

.locationFinal__visualTop span{
  font-size:16px;
  font-weight:700;
}

.locationFinal__visualTop strong{
  color:#ff6267;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
VISUAL BOTTOM
========================= */

.locationFinal__visualBottom{
  position:absolute;
  z-index:3;

  left:28px;
  right:28px;
  bottom:28px;

  display:grid;
}

.locationFinal__visualBottom span{
  margin-bottom:7px;

  color:#ff656a;

  font-size:16px;
  font-weight:800;
}

.locationFinal__visualBottom strong{
  max-width:500px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:24px;
  font-weight:800;
  line-height:1.32;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationFinal{
    padding:96px 0 102px;
  }

  .locationFinal__content{
    padding:44px 40px;
  }

}


@media (max-width:1024px){

  .locationFinal{
    padding:82px 0 88px;
  }

  .locationFinal__shell{
    grid-template-columns:1fr;

    min-height:0;

    border-radius:28px;
  }

  .locationFinal__visual{
    min-height:500px;
  }

}


@media (max-width:768px){

  .locationFinal{
    padding:68px 0 74px;
  }

  .locationFinal__content{
    padding:38px 30px;
  }

  .locationFinal__meta{
    grid-template-columns:1fr 1fr;
  }

  .locationFinal__visual{
    min-height:450px;
  }

}


@media (max-width:576px){

  .locationFinal{
    padding:56px 0 62px;
  }

  .locationFinal__shell{
    border-radius:22px;
  }

  .locationFinal__content{
    padding:30px 21px;
  }

  .locationFinal__content h2{
    font-size:clamp(34px,9vw,44px);
  }

  .locationFinal__lead{
    font-size:16px;
    line-height:1.66;
  }

  .locationFinal__actions{
    align-items:stretch;
    flex-direction:column;

    gap:17px;
  }

  .locationFinal__actions .btn{
    width:100%;
  }

  .locationFinal__phone{
    text-align:center;
  }

  .locationFinal__meta{
    grid-template-columns:1fr;
  }

  .locationFinal__visual{
    min-height:390px;
  }

  .locationFinal__visualTop{
    top:15px;
    left:15px;
    right:15px;

    align-items:flex-start;
    flex-direction:column;

    gap:3px;
  }

  .locationFinal__visualBottom{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .locationFinal__visualBottom strong{
    font-size:20px;
  }

}








/* =========================
11 — BEFORE YOUR APPOINTMENT / A FEW SIMPLE THINGS THAT HELP
========================= */

.locationPrep{
  position:relative;
  overflow:hidden;

  padding:96px 0 112px;

  background:#fff;
}


/* =========================
SHELL
========================= */

.locationPrep__shell{
  overflow:hidden;

  border:1px solid #e4ded9;
  border-radius:30px;

  background:#f7f5f2;

  box-shadow:
    0 24px 58px rgba(35,27,23,.055);
}


/* =========================
INTRO
========================= */

.locationPrep__intro{
  display:grid;
  grid-template-columns:
    minmax(0,1.05fr)
    minmax(320px,.95fr);

  align-items:end;
  gap:60px;

  padding:42px 42px 38px;

  border-bottom:1px solid #e3ddd8;
}

.locationPrep__intro h2{
  max-width:740px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(36px,3vw,50px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}

.locationPrep__intro h2 strong{
  display:block;
  color:var(--accent);
}

.locationPrep__intro>p{
  max-width:590px;
  margin:0;

  color:#6f6964;

  font-size:17px;
  line-height:1.7;
}


/* =========================
GRID
========================= */

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


/* =========================
ITEM
========================= */

.locationPrep__item{
  min-width:0;

  padding:28px 24px 30px;

  border-right:1px solid #e3ddd8;

  background:#faf8f5;

  transition:
    background .25s ease,
    transform .25s ease;
}

.locationPrep__item:last-child{
  border-right:0;
}

.locationPrep__item:hover{
  background:#fff;
}

.locationPrep__number{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  margin-bottom:28px;

  border-radius:12px;

  background:#fff;

  color:#8e8781;

  font-size:16px;
  font-weight:800;

  box-shadow:
    0 8px 20px rgba(35,27,23,.045);

  transition:
    background .25s ease,
    color .25s ease;
}

.locationPrep__item:hover
.locationPrep__number{
  background:var(--accent);
  color:#fff;
}

.locationPrep__item small{
  display:block;

  margin-bottom:5px;

  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.locationPrep__item h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  line-height:1.35;
}

.locationPrep__item p{
  margin:8px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.64;
}


/* =========================
BOTTOM
========================= */

.locationPrep__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;

  padding:24px 28px;

  border-top:1px solid #e3ddd8;

  background:#171717;

  color:#fff;
}

.locationPrep__bottom>div{
  display:grid;
}

.locationPrep__bottom>div span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.locationPrep__bottom>div strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.locationPrep__bottom>a{
  display:flex;
  align-items:center;
  gap:10px;

  flex:0 0 auto;

  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.locationPrep__bottom>a>span{
  width:35px;
  height:35px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .locationPrep{
    padding:84px 0 96px;
  }

  .locationPrep__intro{
    gap:44px;
  }

  .locationPrep__grid{
    grid-template-columns:1fr 1fr;
  }

  .locationPrep__item{
    border-bottom:1px solid #e3ddd8;
  }

  .locationPrep__item:nth-child(2n){
    border-right:0;
  }

  .locationPrep__item:nth-last-child(-n+2){
    border-bottom:0;
  }

}


@media (max-width:768px){

  .locationPrep{
    padding:68px 0 78px;
  }

  .locationPrep__intro{
    grid-template-columns:1fr;
    gap:20px;

    padding:34px 28px 30px;
  }

  .locationPrep__grid{
    grid-template-columns:1fr;
  }

  .locationPrep__item{
    border-right:0;
    border-bottom:1px solid #e3ddd8 !important;
  }

  .locationPrep__item:last-child{
    border-bottom:0 !important;
  }

  .locationPrep__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .locationPrep{
    padding:56px 0 64px;
  }

  .locationPrep__shell{
    border-radius:22px;
  }

  .locationPrep__intro{
    padding:28px 21px 25px;
  }

  .locationPrep__intro h2{
    font-size:clamp(31px,9vw,41px);
  }

  .locationPrep__intro>p{
    font-size:16px;
    line-height:1.65;
  }

  .locationPrep__item{
    padding:23px 21px;
  }

  .locationPrep__item h3{
    font-size:17px;
  }

  .locationPrep__bottom{
    padding:21px;
  }

}




































/* =========================
01 — BRANDS HERO / APPLIANCE BRANDS WE SERVICE
========================= */

.brandsHero{
  position:relative;
  overflow:hidden;

  padding:76px 0 118px;

  background:
    radial-gradient(
      circle at 12% 12%,
      rgba(226,28,33,.06),
      transparent 24%
    ),
    radial-gradient(
      circle at 90% 30%,
      rgba(226,28,33,.035),
      transparent 25%
    ),
    #f7f5f2;
}


/* =========================
TOP
========================= */

.brandsHero__top{
  max-width:990px;

  margin:0 auto 46px;

  text-align:center;
}

.brandsHero__top .sectionEyebrow{
  justify-content:center;
}

.brandsHero__top h1{
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(48px,5.2vw,76px);
  font-weight:800;
  line-height:.99;
  letter-spacing:-.055em;
}

.brandsHero__top h1 strong{
  display:block;

  color:var(--accent);
}

.brandsHero__lead{
  max-width:710px;

  margin:24px auto 0;

  color:#6f6964;

  font-size:18px;
  line-height:1.72;
}


/* =========================
ACTIONS
========================= */

.brandsHero__actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:27px;

  margin-top:30px;
}

.brandsHero__phone{
  display:grid;

  text-align:left;
}

.brandsHero__phone span{
  color:#97908b;

  font-size:16px;
  font-weight:700;
}

.brandsHero__phone strong{
  margin-top:3px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
}


/* =========================
STAGE
========================= */

.brandsHero__stage{
  position:relative;

  padding-bottom:115px;
}


/* =========================
MEDIA
========================= */

.brandsHero__media{
  position:relative;

  overflow:hidden;

  min-height:580px;

  border-radius:32px;

  background:#d9d5d0;

  box-shadow:
    0 34px 86px rgba(33,25,21,.13);
}

.brandsHero__media img{
  position:absolute;
  inset:0;

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .8s cubic-bezier(.2,.7,.2,1);
}

.brandsHero__media:hover img{
  transform:scale(1.025);
}

.brandsHero__mediaShade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(14,14,14,.02) 0%,
      rgba(14,14,14,.02) 48%,
      rgba(14,14,14,.42) 100%
    );
}


/* =========================
MEDIA LABEL
========================= */

.brandsHero__mediaLabel{
  position:absolute;
  z-index:3;

  top:22px;
  left:22px;

  display:grid;

  padding:12px 15px;

  border:1px solid rgba(255,255,255,.22);
  border-radius:14px;

  background:rgba(18,18,18,.34);

  backdrop-filter:blur(12px);

  color:#fff;
}

.brandsHero__mediaLabel span{
  color:#bbb;

  font-size:16px;
  font-weight:700;
}

.brandsHero__mediaLabel strong{
  margin-top:3px;

  font-family:var(--font-heading);
  font-size:15px;
  font-weight:800;
}


/* =========================
FLOATING PANEL
========================= */

.brandsHero__panel{
  position:absolute;
  z-index:5;

  left:50%;
  bottom:0;

  width:calc(100% - 96px);

  padding:25px;

  transform:translateX(-50%);

  border:1px solid #e3ddd8;
  border-radius:24px;

  background:rgba(255,255,255,.97);

  box-shadow:
    0 24px 60px rgba(35,27,23,.14);

  backdrop-filter:blur(15px);
}


/* =========================
PANEL HEAD
========================= */

.brandsHero__panelHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
}

.brandsHero__panelHead>div{
  display:grid;
}

.brandsHero__panelHead>div span{
  color:#9a928c;

  font-size:16px;
  font-weight:700;
}

.brandsHero__panelHead>div strong{
  margin-top:3px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.brandsHero__panelHead>a{
  display:flex;
  align-items:center;
  gap:9px;

  color:#211f1d;

  font-size:16px;
  font-weight:800;
}

.brandsHero__panelHead>a span{
  width:31px;
  height:31px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  color:#fff;
}


/* =========================
BRANDS
========================= */

.brandsHero__brands{
  display:flex;
  flex-wrap:wrap;

  gap:8px;

  margin-top:20px;
}

.brandsHero__brands span{
  padding:9px 13px;

  border:1px solid #e7e1dc;
  border-radius:999px;

  background:#f8f6f3;

  color:#494541;

  font-size:16px;
  font-weight:800;

  transition:
    background .25s ease,
    border-color .25s ease,
    color .25s ease,
    transform .25s ease;
}

.brandsHero__brands span:hover{
  transform:translateY(-2px);

  border-color:rgba(226,28,33,.22);

  background:#fff0f0;

  color:var(--accent);
}


/* =========================
FACTS
========================= */

.brandsHero__facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));

  gap:10px;

  margin-top:20px;
  padding-top:18px;

  border-top:1px solid #e5dfda;
}

.brandsHero__facts>div{
  display:grid;
}

.brandsHero__facts small{
  color:#9a928c;

  font-size:16px;
  font-weight:700;
}

.brandsHero__facts strong{
  margin-top:3px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:15px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .brandsHero{
    padding:64px 0 104px;
  }

  .brandsHero__media{
    min-height:540px;
  }

}


@media (max-width:1024px){

  .brandsHero{
    padding:54px 0 94px;
  }

  .brandsHero__top{
    max-width:820px;
  }

  .brandsHero__media{
    min-height:500px;

    border-radius:28px;
  }

  .brandsHero__stage{
    padding-bottom:150px;
  }

  .brandsHero__panel{
    width:calc(100% - 50px);
  }

}


@media (max-width:768px){

  .brandsHero{
    padding:44px 0 82px;
  }

  .brandsHero__top{
    margin-bottom:36px;
  }

  .brandsHero__lead{
    font-size:17px;
  }

  .brandsHero__media{
    min-height:460px;
  }

  .brandsHero__stage{
    padding-bottom:210px;
  }

  .brandsHero__panel{
    width:calc(100% - 30px);

    padding:21px;
  }

  .brandsHero__facts{
    grid-template-columns:1fr 1fr;
  }

}


@media (max-width:576px){

  .brandsHero{
    padding:32px 0 66px;
  }

  .brandsHero__top{
    margin-bottom:30px;
  }

  .brandsHero__top h1{
    font-size:clamp(38px,11vw,50px);
    line-height:1.03;
  }

  .brandsHero__lead{
    font-size:16px;
    line-height:1.65;
  }

  .brandsHero__actions{
    align-items:stretch;
    flex-direction:column;

    gap:16px;
  }

  .brandsHero__actions .btn{
    width:100%;
  }

  .brandsHero__phone{
    text-align:center;
  }

  .brandsHero__media{
    min-height:390px;

    border-radius:22px;
  }

  .brandsHero__mediaLabel{
    top:15px;
    left:15px;
  }

  .brandsHero__stage{
    padding-bottom:300px;
  }

  .brandsHero__panel{
    width:calc(100% - 18px);

    padding:19px;

    border-radius:20px;
  }

  .brandsHero__panelHead{
    align-items:flex-start;
  }

  .brandsHero__brands{
    gap:6px;
  }

  .brandsHero__brands span{
    padding:7px 10px;

    font-size:16px;
  }

  .brandsHero__facts{
    grid-template-columns:1fr;

    gap:13px;
  }

}






/* =========================
02 — BRAND CATEGORIES / FIND THE RIGHT BRAND FASTER
========================= */

.brandsCategories{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#fff;
}


/* =========================
LAYOUT
========================= */

.brandsCategories__layout{
  display:grid;
  grid-template-columns:
    minmax(320px,.78fr)
    minmax(0,1.22fr);

  align-items:start;
  gap:76px;
}


/* =========================
INTRO
========================= */

.brandsCategories__intro{
  position:sticky;
  top:120px;
}

.brandsCategories__intro h2{
  max-width:640px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.brandsCategories__intro h2 strong{
  display:block;
  color:var(--accent);
}

.brandsCategories__intro>p{
  max-width:560px;

  margin:22px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
NOTE
========================= */

.brandsCategories__note{
  display:grid;

  margin-top:34px;
  padding:20px 22px;

  border-left:3px solid var(--accent);
  border-radius:0 18px 18px 0;

  background:#f7f5f2;
}

.brandsCategories__note span{
  color:#918984;

  font-size:16px;
  font-weight:700;
}

.brandsCategories__note strong{
  margin-top:4px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.brandsCategories__phone{
  display:inline-flex;
  align-items:center;
  gap:10px;

  margin-top:18px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
}

.brandsCategories__phone span{
  width:34px;
  height:34px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);
  color:#fff;

  font-size:16px;
}


/* =========================
GRID
========================= */

.brandsCategories__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}


/* =========================
CARD
========================= */

.brandsCategories__card{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:space-between;

  min-height:300px;

  padding:25px;

  overflow:hidden;

  border:1px solid #e5dfda;
  border-radius:24px;

  background:#f8f6f3;

  box-shadow:
    0 15px 38px rgba(35,27,23,.045);

  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

.brandsCategories__card:hover{
  transform:translateY(-5px);

  border-color:rgba(226,28,33,.18);

  box-shadow:
    0 24px 50px rgba(35,27,23,.08);
}


/* =========================
TOP
========================= */

.brandsCategories__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.brandsCategories__top>span{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  border-radius:12px;

  background:#fff;

  color:#938b85;

  font-size:16px;
  font-weight:800;
}

.brandsCategories__top small{
  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;

  text-align:right;
}


/* =========================
TEXT
========================= */

.brandsCategories__card h3{
  margin:34px 0 0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:22px;
  font-weight:800;
  line-height:1.3;
}

.brandsCategories__card p{
  margin:9px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.65;
}


/* =========================
TAGS
========================= */

.brandsCategories__tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;

  margin-top:22px;
}

.brandsCategories__tags span{
  padding:7px 9px;

  border:1px solid #e5dfda;
  border-radius:999px;

  background:#fff;

  color:#77706b;

  font-size:16px;
  font-weight:700;
}


/* =========================
ARROW
========================= */

.brandsCategories__card>i{
  position:absolute;

  right:18px;
  bottom:18px;

  width:38px;
  height:38px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:#efebe7;

  color:#211f1d;

  font-style:normal;
  font-size:16px;

  transition:
    background .25s ease,
    color .25s ease,
    transform .25s ease;
}

.brandsCategories__card:hover>i{
  transform:translateY(2px);

  background:var(--accent);
  color:#fff;
}


/* =========================
DARK CARD
========================= */

.brandsCategories__card--dark{
  border-color:#252525;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.14),
      transparent 42%
    ),
    #171717;
}

.brandsCategories__card--dark h3{
  color:#fff;
}

.brandsCategories__card--dark p{
  color:#979797;
}

.brandsCategories__card--dark .brandsCategories__top>span{
  background:#262626;
  color:#ff6267;
}

.brandsCategories__card--dark .brandsCategories__top small{
  color:#707070;
}

.brandsCategories__card--dark .brandsCategories__tags span{
  border-color:rgba(255,255,255,.09);

  background:rgba(255,255,255,.045);

  color:#aaa;
}

.brandsCategories__card--dark>i{
  background:#282828;
  color:#fff;
}


/* =========================
ACCENT CARD
========================= */

.brandsCategories__card--accent{
  border-color:rgba(226,28,33,.14);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.13),
      transparent 48%
    ),
    #fff8f7;
}

.brandsCategories__card--accent
.brandsCategories__top>span{
  background:var(--accent);
  color:#fff;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .brandsCategories{
    padding:96px 0 102px;
  }

  .brandsCategories__layout{
    gap:52px;
  }

}


@media (max-width:1024px){

  .brandsCategories{
    padding:82px 0 88px;
  }

  .brandsCategories__layout{
    grid-template-columns:1fr;
    gap:44px;
  }

  .brandsCategories__intro{
    position:relative;
    top:auto;

    max-width:760px;
  }

}


@media (max-width:768px){

  .brandsCategories{
    padding:68px 0 74px;
  }

  .brandsCategories__grid{
    grid-template-columns:1fr;
  }

  .brandsCategories__card{
    min-height:260px;
  }

}


@media (max-width:576px){

  .brandsCategories{
    padding:56px 0 62px;
  }

  .brandsCategories__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .brandsCategories__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .brandsCategories__card{
    min-height:240px;

    padding:21px;

    border-radius:20px;
  }

  .brandsCategories__card h3{
    margin-top:28px;

    font-size:19px;
  }

  .brandsCategories__card p{
    font-size:16px;
  }

  .brandsCategories__card>i{
    right:15px;
    bottom:15px;
  }

}







/* =========================
03 — ALL BRANDS / COMPLETE APPLIANCE BRAND DIRECTORY
========================= */

.brandsDirectory{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 8%,
      rgba(226,28,33,.05),
      transparent 24%
    ),
    #f7f5f2;
}


/* =========================
HEADER
========================= */

.brandsDirectory__header{
  display:grid;
  grid-template-columns:
    minmax(0,1.1fr)
    minmax(340px,.9fr);

  align-items:end;
  gap:72px;

  margin-bottom:44px;
}

.brandsDirectory__header h2{
  max-width:780px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.brandsDirectory__header h2 strong{
  display:block;

  color:var(--accent);
}

.brandsDirectory__intro{
  max-width:610px;
  margin:0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
GRID
========================= */

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

  gap:12px;
}


/* =========================
CARD
========================= */

.brandsDirectory__card{
  position:relative;

  display:flex;
  flex-direction:column;

  min-width:0;
  min-height:240px;

  padding:22px;

  overflow:hidden;

  border:1px solid #e4ded9;
  border-radius:21px;

  background:#fff;

  box-shadow:
    0 13px 32px rgba(35,27,23,.04);

  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease,
    background .25s ease;
}

.brandsDirectory__card:hover{
  transform:translateY(-5px);

  border-color:rgba(226,28,33,.18);

  box-shadow:
    0 23px 48px rgba(35,27,23,.075);
}


/* =========================
NUMBER
========================= */

.brandsDirectory__number{
  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  flex:0 0 auto;

  margin-bottom:35px;

  border-radius:12px;

  background:#f5f2ef;

  color:#938b85;

  font-size:16px;
  font-weight:800;

  transition:
    background .25s ease,
    color .25s ease;
}

.brandsDirectory__card:hover
.brandsDirectory__number{
  background:#fff0f0;
  color:var(--accent);
}


/* =========================
TEXT
========================= */

.brandsDirectory__card small{
  display:block;

  margin-bottom:5px;

  color:#9b938e;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;
}

.brandsDirectory__card h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:21px;
  font-weight:800;
  line-height:1.3;
}

.brandsDirectory__card p{
  max-width:280px;

  margin:9px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.62;
}


/* =========================
ARROW
========================= */

.brandsDirectory__card>i{
  position:absolute;

  top:20px;
  right:20px;

  width:35px;
  height:35px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:#f3efec;

  color:#8c847f;

  font-style:normal;
  font-size:16px;

  opacity:.55;

  transition:
    opacity .25s ease,
    transform .25s ease,
    background .25s ease,
    color .25s ease;
}

.brandsDirectory__card:hover>i{
  opacity:1;

  transform:rotate(8deg);

  background:var(--accent);
  color:#fff;
}


/* =========================
DARK CARD
========================= */

.brandsDirectory__card--dark{
  border-color:#242424;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.14),
      transparent 45%
    ),
    #171717;
}

.brandsDirectory__card--dark
.brandsDirectory__number{
  background:#262626;

  color:#ff6267;
}

.brandsDirectory__card--dark small{
  color:#707070;
}

.brandsDirectory__card--dark h3{
  color:#fff;
}

.brandsDirectory__card--dark p{
  color:#959595;
}

.brandsDirectory__card--dark>i{
  background:#292929;
  color:#fff;
}


/* =========================
ACCENT CARD
========================= */

.brandsDirectory__card--accent{
  border-color:rgba(226,28,33,.14);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.11),
      transparent 47%
    ),
    #fff8f7;
}

.brandsDirectory__card--accent
.brandsDirectory__number{
  background:var(--accent);

  color:#fff;
}


/* =========================
BOTTOM
========================= */

.brandsDirectory__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:30px;

  margin-top:16px;

  padding:23px 25px;

  border-radius:20px;

  background:#171717;

  color:#fff;
}

.brandsDirectory__bottom>div:first-child{
  display:grid;
}

.brandsDirectory__bottom>div:first-child span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.brandsDirectory__bottom>div:first-child strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.brandsDirectory__actions{
  display:flex;
  align-items:center;
  gap:22px;
}

.brandsDirectory__phone{
  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .brandsDirectory{
    padding:96px 0 102px;
  }

  .brandsDirectory__header{
    gap:48px;
  }

  .brandsDirectory__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

}


@media (max-width:1024px){

  .brandsDirectory{
    padding:82px 0 88px;
  }

  .brandsDirectory__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .brandsDirectory__intro{
    max-width:720px;
  }

}


@media (max-width:768px){

  .brandsDirectory{
    padding:68px 0 74px;
  }

  .brandsDirectory__grid{
    grid-template-columns:1fr 1fr;
  }

  .brandsDirectory__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .brandsDirectory{
    padding:56px 0 62px;
  }

  .brandsDirectory__header h2{
    font-size:clamp(32px,9vw,42px);
  }

  .brandsDirectory__intro{
    font-size:16px;
    line-height:1.66;
  }

  .brandsDirectory__grid{
    grid-template-columns:1fr;
  }

  .brandsDirectory__card{
    min-height:200px;

    padding:21px;

    border-radius:19px;
  }

  .brandsDirectory__number{
    margin-bottom:28px;
  }

  .brandsDirectory__card h3{
    font-size:19px;
  }

  .brandsDirectory__bottom{
    padding:21px;
  }

  .brandsDirectory__actions{
    width:100%;

    align-items:stretch;
    flex-direction:column;
  }

  .brandsDirectory__actions .btn{
    width:100%;
  }

}






/* =========================
04 — MAJOR + PREMIUM BRANDS / SERVICE ACROSS DIFFERENT APPLIANCE TYPES
========================= */

.brandsRange{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 7% 88%,
      rgba(226,28,33,.045),
      transparent 24%
    ),
    #fff;
}


/* =========================
LAYOUT
========================= */

.brandsRange__layout{
  display:grid;
  grid-template-columns:
    minmax(0,1.12fr)
    minmax(390px,.88fr);

  align-items:stretch;
  gap:70px;
}


/* =========================
CONTENT
========================= */

.brandsRange__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.brandsRange__content h2{
  max-width:790px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.brandsRange__content h2 strong{
  display:block;

  color:var(--accent);
}

.brandsRange__lead{
  max-width:690px;

  margin:21px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
GROUPS
========================= */

.brandsRange__groups{
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:13px;

  margin-top:34px;
}


/* =========================
GROUP
========================= */

.brandsRange__group{
  min-width:0;

  padding:23px;

  border:1px solid #e5dfda;
  border-radius:22px;

  background:#f8f6f3;

  box-shadow:
    0 14px 34px rgba(35,27,23,.045);
}

.brandsRange__groupTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
}

.brandsRange__groupTop>span{
  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  border-radius:12px;

  background:#fff;

  color:#938b85;

  font-size:16px;
  font-weight:800;
}

.brandsRange__groupTop small{
  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;

  text-align:right;
}

.brandsRange__group h3{
  margin:28px 0 0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.35;
}

.brandsRange__group p{
  margin:9px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.64;
}


/* =========================
TAGS
========================= */

.brandsRange__tags{
  display:flex;
  flex-wrap:wrap;

  gap:6px;

  margin-top:19px;
}

.brandsRange__tags span{
  padding:7px 9px;

  border:1px solid #e4ded9;
  border-radius:999px;

  background:#fff;

  color:#77706b;

  font-size:16px;
  font-weight:700;
}


/* =========================
DARK GROUP
========================= */

.brandsRange__group--dark{
  border-color:#242424;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.13),
      transparent 45%
    ),
    #171717;
}

.brandsRange__group--dark
.brandsRange__groupTop>span{
  background:#262626;

  color:#ff6267;
}

.brandsRange__group--dark
.brandsRange__groupTop small{
  color:#707070;
}

.brandsRange__group--dark h3{
  color:#fff;
}

.brandsRange__group--dark p{
  color:#969696;
}

.brandsRange__group--dark
.brandsRange__tags span{
  border-color:rgba(255,255,255,.09);

  background:rgba(255,255,255,.045);

  color:#aaa;
}


/* =========================
BOTTOM
========================= */

.brandsRange__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:25px;

  margin-top:14px;
  padding:21px 22px;

  border-radius:18px;

  background:#171717;

  color:#fff;
}

.brandsRange__bottom>div{
  display:grid;
}

.brandsRange__bottom span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.brandsRange__bottom strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}


/* =========================
VISUAL
========================= */

.brandsRange__visual{
  position:relative;

  overflow:hidden;

  min-height:700px;

  border-radius:34px 34px 76px 34px;

  background:#dad5d0;

  box-shadow:
    0 30px 76px rgba(35,27,23,.12);
}

.brandsRange__visual img{
  position:absolute;
  inset:0;

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.brandsRange__visual:hover img{
  transform:scale(1.025);
}

.brandsRange__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.06) 0%,
      rgba(10,10,10,.01) 42%,
      rgba(10,10,10,.12) 62%,
      rgba(10,10,10,.75) 100%
    );
}


/* =========================
VISUAL TOP
========================= */

.brandsRange__visualTop{
  position:absolute;
  z-index:3;

  top:20px;
  left:20px;
  right:20px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;

  padding:12px 14px;

  border:1px solid rgba(255,255,255,.19);
  border-radius:14px;

  background:rgba(18,18,18,.32);

  color:#fff;

  backdrop-filter:blur(10px);
}

.brandsRange__visualTop span{
  font-size:16px;
  font-weight:700;
}

.brandsRange__visualTop strong{
  color:#ff6267;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
VISUAL BOTTOM
========================= */

.brandsRange__visualBottom{
  position:absolute;
  z-index:3;

  left:27px;
  right:27px;
  bottom:27px;

  display:grid;
}

.brandsRange__visualBottom span{
  margin-bottom:7px;

  color:#ff656a;

  font-size:16px;
  font-weight:800;
}

.brandsRange__visualBottom strong{
  max-width:500px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:23px;
  font-weight:800;
  line-height:1.32;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .brandsRange{
    padding:96px 0 102px;
  }

  .brandsRange__layout{
    gap:52px;
  }

  .brandsRange__visual{
    min-height:660px;
  }

}


@media (max-width:1024px){

  .brandsRange{
    padding:82px 0 88px;
  }

  .brandsRange__layout{
    grid-template-columns:1fr;
    gap:44px;
  }

  .brandsRange__visual{
    min-height:540px;

    border-radius:28px 28px 60px 28px;
  }

}


@media (max-width:768px){

  .brandsRange{
    padding:68px 0 74px;
  }

  .brandsRange__groups{
    grid-template-columns:1fr;
  }

  .brandsRange__visual{
    min-height:470px;
  }

}


@media (max-width:576px){

  .brandsRange{
    padding:56px 0 62px;
  }

  .brandsRange__content h2{
    font-size:clamp(32px,9vw,42px);
  }

  .brandsRange__lead{
    font-size:16px;
    line-height:1.66;
  }

  .brandsRange__group{
    padding:21px;

    border-radius:20px;
  }

  .brandsRange__group h3{
    font-size:18px;
  }

  .brandsRange__bottom{
    align-items:flex-start;
    flex-direction:column;

    padding:20px;
  }

  .brandsRange__bottom .btn{
    width:100%;
  }

  .brandsRange__visual{
    min-height:410px;

    border-radius:22px 22px 48px 22px;
  }

  .brandsRange__visualTop{
    top:15px;
    left:15px;
    right:15px;

    align-items:flex-start;
    flex-direction:column;

    gap:3px;
  }

  .brandsRange__visualBottom{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .brandsRange__visualBottom strong{
    font-size:20px;
  }

}











/* =========================
06 — BRAND-SPECIFIC SERVICE / HOW WE APPROACH DIFFERENT MANUFACTURERS
========================= */

.brandsProcess{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(226,28,33,.05),
      transparent 24%
    ),
    #fff;
}


/* =========================
HEADER
========================= */

.brandsProcess__header{
  display:grid;
  grid-template-columns:
    minmax(0,1.1fr)
    minmax(340px,.9fr);

  align-items:end;
  gap:72px;

  margin-bottom:42px;
}

.brandsProcess__header h2{
  max-width:780px;

  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.brandsProcess__header h2 strong{
  display:block;

  color:var(--accent);
}

.brandsProcess__lead{
  max-width:610px;

  margin:0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
MEDIA
========================= */

.brandsProcess__media{
  position:relative;

  overflow:hidden;

  min-height:560px;

  border-radius:30px;

  background:#d8d3ce;

  box-shadow:
    0 30px 76px rgba(35,27,23,.11);
}

.brandsProcess__media img{
  position:absolute;
  inset:0;

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.brandsProcess__media:hover img{
  transform:scale(1.025);
}

.brandsProcess__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.08) 0%,
      rgba(10,10,10,.02) 40%,
      rgba(10,10,10,.12) 62%,
      rgba(10,10,10,.76) 100%
    );
}


/* =========================
MEDIA TOP
========================= */

.brandsProcess__mediaTop{
  position:absolute;
  z-index:3;

  top:22px;
  left:22px;
  right:22px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.brandsProcess__mediaTop>div{
  display:grid;

  padding:12px 14px;

  border:1px solid rgba(255,255,255,.20);
  border-radius:14px;

  background:rgba(18,18,18,.34);

  color:#fff;

  backdrop-filter:blur(10px);
}

.brandsProcess__mediaTop>div span{
  color:#b9b9b9;

  font-size:16px;
  font-weight:700;
}

.brandsProcess__mediaTop>div strong{
  margin-top:3px;

  font-family:var(--font-heading);
  font-size:15px;
  font-weight:800;
}

.brandsProcess__mediaMark{
  display:inline-flex;
  align-items:center;

  padding:10px 13px;

  border-radius:999px;

  background:var(--accent);

  color:#fff;

  font-size:16px;
  font-weight:800;
}


/* =========================
MEDIA BOTTOM
========================= */

.brandsProcess__mediaBottom{
  position:absolute;
  z-index:3;

  left:29px;
  right:29px;
  bottom:28px;

  display:grid;
}

.brandsProcess__mediaBottom span{
  margin-bottom:7px;

  color:#ff656a;

  font-size:16px;
  font-weight:800;
}

.brandsProcess__mediaBottom strong{
  max-width:730px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:26px;
  font-weight:800;
  line-height:1.3;
}


/* =========================
STEPS
========================= */

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

  gap:12px;

  margin-top:16px;
}


/* =========================
STEP
========================= */

.brandsProcess__step{
  min-width:0;

  padding:23px;

  border:1px solid #e5dfda;
  border-radius:20px;

  background:#f8f6f3;

  box-shadow:
    0 14px 34px rgba(35,27,23,.045);

  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

.brandsProcess__step:hover{
  transform:translateY(-4px);

  border-color:rgba(226,28,33,.20);

  box-shadow:
    0 22px 46px rgba(35,27,23,.075);
}

.brandsProcess__number{
  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  margin-bottom:25px;

  border-radius:12px;

  background:#fff;

  color:#908882;

  font-size:16px;
  font-weight:800;

  transition:
    background .25s ease,
    color .25s ease;
}

.brandsProcess__step:hover
.brandsProcess__number{
  background:#fff0f0;
  color:var(--accent);
}

.brandsProcess__step small{
  display:block;

  margin-bottom:5px;

  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.brandsProcess__step h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  line-height:1.35;
}

.brandsProcess__step p{
  margin:8px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.63;
}


/* =========================
ACCENT STEP
========================= */

.brandsProcess__step--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.10),
      transparent 45%
    ),
    #fff;
}

.brandsProcess__step--accent
.brandsProcess__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
BOTTOM
========================= */

.brandsProcess__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:30px;

  margin-top:16px;

  padding:23px 25px;

  border-radius:20px;

  background:#171717;

  color:#fff;
}

.brandsProcess__bottom>div:first-child{
  display:grid;
}

.brandsProcess__bottom>div:first-child span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.brandsProcess__bottom>div:first-child strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.brandsProcess__actions{
  display:flex;
  align-items:center;

  gap:22px;
}

.brandsProcess__phone{
  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .brandsProcess{
    padding:96px 0 102px;
  }

  .brandsProcess__header{
    gap:48px;
  }

  .brandsProcess__steps{
    grid-template-columns:1fr 1fr;
  }

}


@media (max-width:1024px){

  .brandsProcess{
    padding:82px 0 88px;
  }

  .brandsProcess__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .brandsProcess__lead{
    max-width:720px;
  }

  .brandsProcess__media{
    min-height:500px;

    border-radius:27px;
  }

}


@media (max-width:768px){

  .brandsProcess{
    padding:68px 0 74px;
  }

  .brandsProcess__media{
    min-height:450px;
  }

  .brandsProcess__steps{
    grid-template-columns:1fr;
  }

  .brandsProcess__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .brandsProcess{
    padding:56px 0 62px;
  }

  .brandsProcess__header h2{
    font-size:clamp(32px,9vw,42px);
  }

  .brandsProcess__lead{
    font-size:16px;
    line-height:1.66;
  }

  .brandsProcess__media{
    min-height:390px;

    border-radius:22px;
  }

  .brandsProcess__mediaTop{
    top:15px;
    left:15px;
    right:15px;

    align-items:flex-start;
    flex-direction:column;
  }

  .brandsProcess__mediaBottom{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .brandsProcess__mediaBottom strong{
    font-size:20px;
  }

  .brandsProcess__step{
    padding:21px;
  }

  .brandsProcess__step h3{
    font-size:17px;
  }

  .brandsProcess__bottom{
    padding:21px;
  }

  .brandsProcess__actions{
    width:100%;

    align-items:stretch;
    flex-direction:column;
  }

  .brandsProcess__actions .btn{
    width:100%;
  }

}








/* =========================
07 — APPLIANCES BY BRAND / WHAT WE COMMONLY SERVICE
========================= */

.brandsAppliances{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 8%,
      rgba(226,28,33,.05),
      transparent 24%
    ),
    #f7f5f2;
}


/* =========================
HEADER
========================= */

.brandsAppliances__header{
  display:grid;
  grid-template-columns:
    minmax(0,1.1fr)
    minmax(340px,.9fr);

  align-items:end;
  gap:72px;

  margin-bottom:44px;
}

.brandsAppliances__header h2{
  max-width:780px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.brandsAppliances__header h2 strong{
  display:block;
  color:var(--accent);
}

.brandsAppliances__intro{
  max-width:610px;
  margin:0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
GRID
========================= */

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


/* =========================
CARD
========================= */

.brandsAppliances__card{
  overflow:hidden;

  border:1px solid #e4ded9;
  border-radius:24px;

  background:#fff;

  box-shadow:
    0 14px 36px rgba(35,27,23,.05);

  transition:
    transform .28s ease,
    border-color .28s ease,
    box-shadow .28s ease;
}

.brandsAppliances__card:hover{
  transform:translateY(-5px);

  border-color:rgba(226,28,33,.20);

  box-shadow:
    0 24px 50px rgba(35,27,23,.085);
}


/* =========================
IMAGE
========================= */

.brandsAppliances__image{
  position:relative;

  overflow:hidden;

  min-height:265px;

  background:#d9d5d0;
}

.brandsAppliances__image img{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .6s cubic-bezier(.2,.7,.2,1);
}

.brandsAppliances__card:hover
.brandsAppliances__image img{
  transform:scale(1.04);
}

.brandsAppliances__number{
  position:absolute;

  top:15px;
  left:15px;

  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  border-radius:12px;

  background:rgba(255,255,255,.94);

  color:#211f1d;

  font-size:16px;
  font-weight:800;

  box-shadow:
    0 8px 20px rgba(0,0,0,.08);
}


/* =========================
CONTENT
========================= */

.brandsAppliances__content{
  padding:23px;
}

.brandsAppliances__content small{
  display:block;

  margin-bottom:5px;

  color:#9b938e;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.brandsAppliances__content h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:21px;
  font-weight:800;
  line-height:1.32;
}

.brandsAppliances__content p{
  margin:9px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.64;
}


/* =========================
LINK
========================= */

.brandsAppliances__link{
  display:flex;
  align-items:center;
  justify-content:space-between;

  margin-top:20px;
  padding-top:16px;

  border-top:1px solid #e7e1dc;

  color:#211f1d;

  font-size:16px;
  font-weight:800;
}

.brandsAppliances__link i{
  width:32px;
  height:32px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:#f2efec;

  font-style:normal;

  transition:
    background .25s ease,
    color .25s ease;
}

.brandsAppliances__card:hover
.brandsAppliances__link i{
  background:var(--accent);
  color:#fff;
}


/* =========================
DARK CARD
========================= */

.brandsAppliances__card--dark{
  border-color:#242424;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.12),
      transparent 44%
    ),
    #171717;
}

.brandsAppliances__card--dark
.brandsAppliances__content small{
  color:#707070;
}

.brandsAppliances__card--dark
.brandsAppliances__content h3{
  color:#fff;
}

.brandsAppliances__card--dark
.brandsAppliances__content p{
  color:#969696;
}

.brandsAppliances__card--dark
.brandsAppliances__link{
  border-color:rgba(255,255,255,.09);
  color:#fff;
}

.brandsAppliances__card--dark
.brandsAppliances__link i{
  background:#292929;
}


/* =========================
BOTTOM
========================= */

.brandsAppliances__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;

  margin-top:16px;

  padding:23px 25px;

  border-radius:20px;

  background:#171717;

  color:#fff;
}

.brandsAppliances__bottom>div{
  display:grid;
}

.brandsAppliances__bottom span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.brandsAppliances__bottom strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .brandsAppliances{
    padding:96px 0 102px;
  }

  .brandsAppliances__header{
    gap:48px;
  }

}


@media (max-width:1024px){

  .brandsAppliances{
    padding:82px 0 88px;
  }

  .brandsAppliances__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .brandsAppliances__grid{
    grid-template-columns:1fr 1fr;
  }

}


@media (max-width:768px){

  .brandsAppliances{
    padding:68px 0 74px;
  }

  .brandsAppliances__grid{
    grid-template-columns:1fr;
  }

  .brandsAppliances__image{
    min-height:320px;
  }

  .brandsAppliances__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .brandsAppliances{
    padding:56px 0 62px;
  }

  .brandsAppliances__header h2{
    font-size:clamp(32px,9vw,42px);
  }

  .brandsAppliances__intro{
    font-size:16px;
    line-height:1.66;
  }

  .brandsAppliances__card{
    border-radius:20px;
  }

  .brandsAppliances__image{
    min-height:260px;
  }

  .brandsAppliances__content{
    padding:21px;
  }

  .brandsAppliances__content h3{
    font-size:19px;
  }

  .brandsAppliances__bottom{
    padding:21px;
  }

  .brandsAppliances__bottom .btn{
    width:100%;
  }

}







/* =========================
08 — WHY HOMEOWNERS CHOOSE PARKSIDE / TRUSTED ACROSS BRANDS
========================= */

.brandsTrust{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#fff;
}


/* =========================
SHELL
========================= */

.brandsTrust__shell{
  display:grid;
  grid-template-columns:
    minmax(0,1.28fr)
    minmax(380px,.72fr);

  overflow:hidden;

  border-radius:34px;

  background:#171717;

  box-shadow:
    0 34px 86px rgba(31,24,20,.16);
}


/* =========================
CONTENT
========================= */

.brandsTrust__content{
  position:relative;

  padding:50px;

  color:#fff;

  background:
    radial-gradient(
      circle at 10% 8%,
      rgba(226,28,33,.18),
      transparent 29%
    ),
    #171717;
}

.brandsTrust .sectionEyebrow{
  color:#aaa;
}

.brandsTrust__content h2{
  max-width:760px;
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.brandsTrust__content h2 strong{
  display:block;

  color:#ff5d62;
}

.brandsTrust__lead{
  max-width:690px;

  margin:22px 0 0;

  color:#9b9b9b;

  font-size:17px;
  line-height:1.72;
}


/* =========================
GRID
========================= */

.brandsTrust__grid{
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:10px;

  margin-top:34px;
}


/* =========================
ITEM
========================= */

.brandsTrust__item{
  min-width:0;

  padding:21px;

  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;

  background:#1d1d1d;

  transition:
    background .25s ease,
    border-color .25s ease,
    transform .25s ease;
}

.brandsTrust__item:hover{
  transform:translateY(-3px);

  border-color:rgba(226,28,33,.22);

  background:#222;
}

.brandsTrust__item>span{
  width:38px;
  height:38px;

  display:grid;
  place-items:center;

  margin-bottom:22px;

  border-radius:11px;

  background:#292929;

  color:#ff6267;

  font-size:16px;
  font-weight:800;
}

.brandsTrust__item small{
  display:block;

  margin-bottom:4px;

  color:#686868;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.brandsTrust__item h3{
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  line-height:1.35;
}

.brandsTrust__item p{
  margin:8px 0 0;

  color:#929292;

  font-size:16px;
  line-height:1.62;
}


/* =========================
ACCENT
========================= */

.brandsTrust__item--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.15),
      transparent 45%
    ),
    #1d1d1d;
}

.brandsTrust__item--accent>span{
  background:var(--accent);
  color:#fff;
}


/* =========================
BOTTOM
========================= */

.brandsTrust__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;

  margin-top:14px;
  padding:20px 21px;

  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;

  background:#202020;
}

.brandsTrust__bottom>div{
  display:grid;
}

.brandsTrust__bottom>div span{
  color:#777;

  font-size:16px;
  font-weight:700;
}

.brandsTrust__bottom>div strong{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.brandsTrust__bottom>a{
  display:flex;
  align-items:center;
  gap:10px;

  flex:0 0 auto;

  color:#fff;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.brandsTrust__bottom>a>span{
  width:35px;
  height:35px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
VISUAL
========================= */

.brandsTrust__visual{
  position:relative;

  overflow:hidden;

  min-height:700px;

  background:#2a2a2a;
}

.brandsTrust__visual img{
  position:absolute;
  inset:0;

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.brandsTrust__visual:hover img{
  transform:scale(1.025);
}

.brandsTrust__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.08) 0%,
      rgba(10,10,10,.02) 42%,
      rgba(10,10,10,.14) 63%,
      rgba(10,10,10,.78) 100%
    );
}


/* =========================
BADGE
========================= */

.brandsTrust__badge{
  position:absolute;
  z-index:3;

  top:20px;
  left:20px;
  right:20px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;

  padding:12px 14px;

  border:1px solid rgba(255,255,255,.19);
  border-radius:14px;

  background:rgba(18,18,18,.34);

  color:#fff;

  backdrop-filter:blur(10px);
}

.brandsTrust__badge span{
  font-size:16px;
  font-weight:700;
}

.brandsTrust__badge strong{
  color:#ff6267;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
CAPTION
========================= */

.brandsTrust__caption{
  position:absolute;
  z-index:3;

  left:26px;
  right:26px;
  bottom:27px;

  display:grid;
}

.brandsTrust__caption span{
  margin-bottom:7px;

  color:#ff656a;

  font-size:16px;
  font-weight:800;
}

.brandsTrust__caption strong{
  max-width:470px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:23px;
  font-weight:800;
  line-height:1.32;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .brandsTrust{
    padding:96px 0 102px;
  }

  .brandsTrust__content{
    padding:42px;
  }

}


@media (max-width:1024px){

  .brandsTrust{
    padding:82px 0 88px;
  }

  .brandsTrust__shell{
    grid-template-columns:1fr;

    border-radius:28px;
  }

  .brandsTrust__visual{
    min-height:520px;
  }

}


@media (max-width:768px){

  .brandsTrust{
    padding:68px 0 74px;
  }

  .brandsTrust__grid{
    grid-template-columns:1fr;
  }

  .brandsTrust__visual{
    min-height:460px;
  }

}


@media (max-width:576px){

  .brandsTrust{
    padding:56px 0 62px;
  }

  .brandsTrust__shell{
    border-radius:22px;
  }

  .brandsTrust__content{
    padding:29px 21px;
  }

  .brandsTrust__content h2{
    font-size:clamp(32px,9vw,42px);
  }

  .brandsTrust__lead{
    font-size:16px;
    line-height:1.66;
  }

  .brandsTrust__item{
    padding:20px;
  }

  .brandsTrust__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

  .brandsTrust__visual{
    min-height:400px;
  }

  .brandsTrust__badge{
    top:15px;
    left:15px;
    right:15px;

    align-items:flex-start;
    flex-direction:column;

    gap:3px;
  }

  .brandsTrust__caption{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .brandsTrust__caption strong{
    font-size:20px;
  }

}








/* =========================
09 — FAQ / QUESTIONS ABOUT APPLIANCE BRANDS
========================= */

.brandsFaq{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 8%,
      rgba(226,28,33,.05),
      transparent 24%
    ),
    #f7f5f2;
}


/* =========================
LAYOUT
========================= */

.brandsFaq__layout{
  display:grid;
  grid-template-columns:
    minmax(320px,.78fr)
    minmax(0,1.22fr);

  align-items:start;
  gap:78px;
}


/* =========================
INTRO
========================= */

.brandsFaq__intro{
  position:sticky;
  top:120px;
}

.brandsFaq__intro h2{
  max-width:620px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.brandsFaq__intro h2 strong{
  display:block;
  color:var(--accent);
}

.brandsFaq__intro>p{
  max-width:550px;

  margin:22px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
CONTACT
========================= */

.brandsFaq__contact{
  display:grid;

  margin-top:34px;
  padding:21px 22px;

  border-radius:18px;

  background:#171717;

  color:#fff;
}

.brandsFaq__contact>span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.brandsFaq__contact>strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.brandsFaq__contact>a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  margin-top:18px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
}

.brandsFaq__contact>a>span{
  width:35px;
  height:35px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
LIST
========================= */

.brandsFaq__list{
  border-top:1px solid #e2dcd7;
}


/* =========================
ITEM
========================= */

.brandsFaq__item{
  border-bottom:1px solid #e2dcd7;
}


/* =========================
QUESTION
========================= */

.brandsFaq__question{
  width:100%;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;

  padding:25px 0;

  border:0;
  outline:0;

  background:transparent;

  text-align:left;

  cursor:pointer;
}

.brandsFaq__question>span{
  display:flex;
  align-items:center;
  gap:15px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
  line-height:1.35;
}

.brandsFaq__question small{
  width:38px;
  height:38px;

  display:grid;
  place-items:center;

  flex:0 0 auto;

  border-radius:11px;

  background:#fff;

  color:#938b86;

  font-family:inherit;
  font-size:16px;
  font-weight:800;

  box-shadow:
    0 7px 18px rgba(35,27,23,.045);

  transition:
    background .25s ease,
    color .25s ease;
}


/* =========================
ICON
========================= */

.brandsFaq__question i{
  position:relative;

  width:38px;
  height:38px;

  flex:0 0 auto;

  border-radius:50%;

  background:#fff;

  box-shadow:
    0 7px 18px rgba(35,27,23,.045);

  transition:
    background .25s ease,
    transform .25s ease;
}

.brandsFaq__question i:before,
.brandsFaq__question i:after{
  content:"";

  position:absolute;
  top:50%;
  left:50%;

  width:12px;
  height:2px;

  border-radius:10px;

  background:#211f1d;

  transform:translate(-50%,-50%);

  transition:
    transform .25s ease,
    background .25s ease;
}

.brandsFaq__question i:after{
  transform:
    translate(-50%,-50%)
    rotate(90deg);
}


/* =========================
ANSWER
========================= */

.brandsFaq__answer{
  display:grid;
  grid-template-rows:0fr;

  transition:
    grid-template-rows .3s ease;
}

.brandsFaq__answer>p{
  overflow:hidden;

  max-width:690px;

  margin:0;

  color:#756e69;

  font-size:15px;
  line-height:1.68;
}

.brandsFaq__item.is-open
.brandsFaq__answer{
  grid-template-rows:1fr;
}

.brandsFaq__item.is-open
.brandsFaq__answer>p{
  padding:0 60px 24px 53px;
}


/* =========================
ACTIVE
========================= */

.brandsFaq__item.is-open
.brandsFaq__question small{
  background:var(--accent);
  color:#fff;
}

.brandsFaq__item.is-open
.brandsFaq__question i{
  background:#171717;
}

.brandsFaq__item.is-open
.brandsFaq__question i:before,
.brandsFaq__item.is-open
.brandsFaq__question i:after{
  background:#fff;
}

.brandsFaq__item.is-open
.brandsFaq__question i:after{
  transform:
    translate(-50%,-50%)
    rotate(0deg);
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .brandsFaq{
    padding:96px 0 102px;
  }

  .brandsFaq__layout{
    gap:54px;
  }

}


@media (max-width:1024px){

  .brandsFaq{
    padding:82px 0 88px;
  }

  .brandsFaq__layout{
    grid-template-columns:1fr;
    gap:44px;
  }

  .brandsFaq__intro{
    position:relative;
    top:auto;

    max-width:760px;
  }

}


@media (max-width:768px){

  .brandsFaq{
    padding:68px 0 74px;
  }

  .brandsFaq__question>span{
    font-size:18px;
  }

}


@media (max-width:576px){

  .brandsFaq{
    padding:56px 0 62px;
  }

  .brandsFaq__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .brandsFaq__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .brandsFaq__question{
    align-items:flex-start;
    gap:13px;

    padding:21px 0;
  }

  .brandsFaq__question>span{
    align-items:flex-start;
    gap:11px;

    font-size:16px;
  }

  .brandsFaq__question small,
  .brandsFaq__question i{
    width:34px;
    height:34px;
  }

  .brandsFaq__item.is-open
  .brandsFaq__answer>p{
    padding:0 0 21px 45px;

    font-size:16px;
  }

}







/* =========================
10 — FINAL CTA / TELL US YOUR BRAND
========================= */

.brandsFinal{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(226,28,33,.055),
      transparent 26%
    ),
    #fff;
}


/* =========================
SHELL
========================= */

.brandsFinal__shell{
  overflow:hidden;

  border-radius:34px;

  background:#171717;

  box-shadow:
    0 34px 86px rgba(31,24,20,.16);
}


/* =========================
MEDIA
========================= */

.brandsFinal__media{
  position:relative;

  overflow:hidden;

  min-height:360px;

  background:#292929;
}

.brandsFinal__media img{
  position:absolute;
  inset:0;

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.brandsFinal__media:hover img{
  transform:scale(1.025);
}

.brandsFinal__mediaShade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.05) 0%,
      rgba(10,10,10,.08) 55%,
      rgba(10,10,10,.62) 100%
    );
}


/* =========================
MEDIA LABEL
========================= */

.brandsFinal__mediaLabel{
  position:absolute;
  z-index:3;

  left:24px;
  bottom:22px;

  display:flex;
  align-items:center;
  gap:13px;

  padding:11px 14px;

  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;

  background:rgba(18,18,18,.38);

  color:#fff;

  backdrop-filter:blur(10px);
}

.brandsFinal__mediaLabel span{
  color:#c3c3c3;

  font-size:16px;
  font-weight:700;
}

.brandsFinal__mediaLabel strong{
  color:#ff6267;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
CONTENT
========================= */

.brandsFinal__content{
  max-width:940px;

  margin:0 auto;

  padding:58px 34px 48px;

  text-align:center;

  color:#fff;
}

.brandsFinal .sectionEyebrow{
  justify-content:center;

  color:#aaa;
}

.brandsFinal__content h2{
  max-width:860px;

  margin:0 auto;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(40px,4.2vw,60px);
  font-weight:800;
  line-height:1.05;
  letter-spacing:-.05em;
}

.brandsFinal__content h2 strong{
  display:block;

  color:#ff5d62;
}

.brandsFinal__content>p{
  max-width:680px;

  margin:22px auto 0;

  color:#9d9d9d;

  font-size:17px;
  line-height:1.72;
}


/* =========================
ACTIONS
========================= */

.brandsFinal__actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:26px;

  margin-top:31px;
}

.brandsFinal__phone{
  display:grid;

  text-align:left;
}

.brandsFinal__phone span{
  color:#777;

  font-size:16px;
  font-weight:700;
}

.brandsFinal__phone strong{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
}


/* =========================
FACTS
========================= */

.brandsFinal__facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));

  max-width:760px;

  margin:39px auto 0;
  padding-top:23px;

  border-top:1px solid rgba(255,255,255,.10);
}

.brandsFinal__facts>div{
  display:grid;

  padding:4px 20px;

  border-right:1px solid rgba(255,255,255,.09);
}

.brandsFinal__facts>div:last-child{
  border-right:0;
}

.brandsFinal__facts span{
  color:#737373;

  font-size:16px;
  font-weight:700;
}

.brandsFinal__facts strong{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .brandsFinal{
    padding:96px 0 102px;
  }

}


@media (max-width:1024px){

  .brandsFinal{
    padding:82px 0 88px;
  }

  .brandsFinal__shell{
    border-radius:28px;
  }

  .brandsFinal__media{
    min-height:330px;
  }

}


@media (max-width:768px){

  .brandsFinal{
    padding:68px 0 74px;
  }

  .brandsFinal__media{
    min-height:300px;
  }

  .brandsFinal__facts{
    grid-template-columns:1fr;
    gap:14px;
  }

  .brandsFinal__facts>div{
    border-right:0;
  }

}


@media (max-width:576px){

  .brandsFinal{
    padding:56px 0 62px;
  }

  .brandsFinal__shell{
    border-radius:22px;
  }

  .brandsFinal__media{
    min-height:260px;
  }

  .brandsFinal__mediaLabel{
    left:15px;
    right:15px;
    bottom:15px;

    align-items:flex-start;
    flex-direction:column;

    border-radius:16px;
  }

  .brandsFinal__content{
    padding:42px 21px 38px;
  }

  .brandsFinal__content h2{
    font-size:clamp(34px,9vw,44px);
  }

  .brandsFinal__content>p{
    font-size:16px;
    line-height:1.66;
  }

  .brandsFinal__actions{
    align-items:stretch;
    flex-direction:column;

    gap:17px;
  }

  .brandsFinal__actions .btn{
    width:100%;
  }

  .brandsFinal__phone{
    text-align:center;
  }

}




































/* =========================
01 — BRAND HERO / BOSCH APPLIANCE REPAIR
========================= */

.brandHero{
  position:relative;
  overflow:hidden;

  padding:72px 0 110px;

  background:
    radial-gradient(
      circle at 85% 5%,
      rgba(226,28,33,.055),
      transparent 24%
    ),
    #f7f5f2;
}


/* =========================
SHELL
========================= */

.brandHero__shell{
  display:grid;
  grid-template-columns:
    92px
    minmax(0,1.18fr)
    minmax(360px,.82fr);

  min-height:690px;

  overflow:hidden;

  border:1px solid #e4ded9;
  border-radius:32px;

  background:#fff;

  box-shadow:
    0 32px 82px rgba(35,27,23,.10);
}


/* =========================
BRAND RAIL
========================= */

.brandHero__brandRail{
  position:relative;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;

  padding:24px 0;

  border-right:1px solid #e5dfda;

  background:#f1eeea;
}

.brandHero__railNumber{
  color:#a69e98;

  font-size:16px;
  font-weight:800;
}

.brandHero__railWord{
  position:absolute;
  top:50%;
  left:50%;

  color:#d9d3ce;

  font-family:var(--font-heading);
  font-size:68px;
  font-weight:900;
  letter-spacing:-.07em;

  white-space:nowrap;

  transform:
    translate(-50%,-50%)
    rotate(-90deg);

  transform-origin:center;
}

.brandHero__railLabel{
  color:var(--accent);

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;

  writing-mode:vertical-rl;
  transform:rotate(180deg);
}


/* =========================
VISUAL
========================= */

.brandHero__visual{
  position:relative;

  overflow:hidden;

  min-height:690px;

  background:#d8d3ce;
}

.brandHero__visual img{
  position:absolute;
  inset:0;

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .75s cubic-bezier(.2,.7,.2,1);
}

.brandHero__visual:hover img{
  transform:scale(1.025);
}

.brandHero__visualShade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.03) 0%,
      rgba(10,10,10,.01) 45%,
      rgba(10,10,10,.12) 65%,
      rgba(10,10,10,.72) 100%
    );
}


/* =========================
VISUAL BADGE
========================= */

.brandHero__visualBadge{
  position:absolute;
  z-index:3;

  top:20px;
  left:20px;

  display:flex;
  align-items:center;
  gap:12px;

  padding:10px 13px;

  border:1px solid rgba(255,255,255,.20);
  border-radius:999px;

  background:rgba(18,18,18,.32);

  backdrop-filter:blur(10px);

  color:#fff;
}

.brandHero__visualBadge span{
  color:#c1c1c1;

  font-size:16px;
  font-weight:700;
}

.brandHero__visualBadge strong{
  color:#ff6469;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
VISUAL NOTE
========================= */

.brandHero__visualNote{
  position:absolute;
  z-index:3;

  left:24px;
  right:24px;
  bottom:25px;

  display:grid;
}

.brandHero__visualNote span{
  margin-bottom:6px;

  color:#ff676c;

  font-size:16px;
  font-weight:800;
}

.brandHero__visualNote strong{
  max-width:560px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:23px;
  font-weight:800;
  line-height:1.32;
}


/* =========================
CONTENT
========================= */

.brandHero__content{
  display:flex;
  flex-direction:column;
  justify-content:center;

  padding:46px 42px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.06),
      transparent 32%
    ),
    #fff;
}

.brandHero__content h1{
  max-width:560px;

  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(40px,3.8vw,58px);
  font-weight:800;
  line-height:1.04;
  letter-spacing:-.05em;
}

.brandHero__content h1 strong{
  display:block;

  color:var(--accent);
}

.brandHero__lead{
  max-width:560px;

  margin:21px 0 0;

  color:#6f6964;

  font-size:16px;
  line-height:1.7;
}


/* =========================
APPLIANCES
========================= */

.brandHero__appliances{
  display:flex;
  flex-wrap:wrap;

  gap:7px;

  margin-top:28px;
}

.brandHero__appliances span{
  padding:8px 10px;

  border:1px solid #e7e1dc;
  border-radius:999px;

  background:#f8f6f3;

  color:#766f6a;

  font-size:16px;
  font-weight:700;
}


/* =========================
FACTS
========================= */

.brandHero__facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));

  gap:8px;

  margin-top:28px;
  padding-top:21px;

  border-top:1px solid #e5dfda;
}

.brandHero__facts>div{
  display:grid;

  min-width:0;
}

.brandHero__facts small{
  color:#9a928d;

  font-size:16px;
  font-weight:700;
}

.brandHero__facts strong{
  margin-top:4px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:15px;
  font-weight:800;
}


/* =========================
ACTIONS
========================= */

.brandHero__actions{
  display:flex;
  align-items:center;

  gap:23px;

  margin-top:29px;
}

.brandHero__phone{
  display:grid;
}

.brandHero__phone span{
  color:#9a928d;

  font-size:16px;
  font-weight:700;
}

.brandHero__phone strong{
  margin-top:3px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .brandHero{
    padding:60px 0 96px;
  }

  .brandHero__shell{
    grid-template-columns:
      76px
      minmax(0,1fr)
      minmax(330px,.8fr);
  }

  .brandHero__railWord{
    font-size:58px;
  }

  .brandHero__content{
    padding:40px 34px;
  }

}


@media (max-width:1024px){

  .brandHero{
    padding:50px 0 84px;
  }

  .brandHero__shell{
    grid-template-columns:72px 1fr;
  }

  .brandHero__content{
    grid-column:1 / -1;

    padding:38px 36px;

    border-top:1px solid #e5dfda;
  }

  .brandHero__visual{
    min-height:520px;
  }

}


@media (max-width:768px){

  .brandHero{
    padding:42px 0 72px;
  }

  .brandHero__shell{
    grid-template-columns:1fr;

    border-radius:26px;
  }

  .brandHero__brandRail{
    display:none;
  }

  .brandHero__visual{
    min-height:460px;
  }

  .brandHero__content{
    grid-column:auto;
  }

}


@media (max-width:576px){

  .brandHero{
    padding:30px 0 60px;
  }

  .brandHero__shell{
    border-radius:21px;
  }

  .brandHero__visual{
    min-height:390px;
  }

  .brandHero__visualBadge{
    top:14px;
    left:14px;
    right:14px;

    justify-content:space-between;
  }

  .brandHero__visualNote{
    left:19px;
    right:19px;
    bottom:19px;
  }

  .brandHero__visualNote strong{
    font-size:19px;
  }

  .brandHero__content{
    padding:30px 21px;
  }

  .brandHero__content h1{
    font-size:clamp(36px,10vw,46px);
  }

  .brandHero__lead{
    font-size:16px;
    line-height:1.65;
  }

  .brandHero__facts{
    grid-template-columns:1fr;
    gap:13px;
  }

  .brandHero__actions{
    align-items:stretch;
    flex-direction:column;

    gap:16px;
  }

  .brandHero__actions .btn{
    width:100%;
  }

  .brandHero__phone{
    text-align:center;
  }

}







/* =========================
02 — BOSCH APPLIANCES WE SERVICE / KITCHEN + LAUNDRY COVERAGE
========================= */

.brandAppliances{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 8%,
      rgba(226,28,33,.045),
      transparent 24%
    ),
    #fff;
}


/* =========================
LAYOUT
========================= */

.brandAppliances__layout{
  display:grid;
  grid-template-columns:
    minmax(320px,.78fr)
    minmax(0,1.22fr);

  align-items:start;
  gap:76px;
}


/* =========================
INTRO
========================= */

.brandAppliances__intro{
  position:sticky;
  top:120px;
}

.brandAppliances__intro h2{
  max-width:650px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.brandAppliances__intro h2 strong{
  display:block;
  color:var(--accent);
}

.brandAppliances__intro>p{
  max-width:560px;

  margin:22px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
NOTE
========================= */

.brandAppliances__note{
  display:grid;

  margin:34px 0 24px;
  padding:20px 22px;

  border-left:3px solid var(--accent);
  border-radius:0 18px 18px 0;

  background:#f7f5f2;
}

.brandAppliances__note span{
  color:#918984;

  font-size:16px;
  font-weight:700;
}

.brandAppliances__note strong{
  margin-top:4px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}


/* =========================
GRID
========================= */

.brandAppliances__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}


/* =========================
CARD
========================= */

.brandAppliances__card{
  position:relative;

  min-height:220px;

  padding:24px;

  border:1px solid #e5dfda;
  border-radius:22px;

  background:#f8f6f3;

  box-shadow:
    0 14px 34px rgba(35,27,23,.045);

  transition:
    transform .25s ease,
    border-color .25s ease,
    background .25s ease,
    box-shadow .25s ease;
}

.brandAppliances__card:hover{
  transform:translateY(-4px);

  border-color:rgba(226,28,33,.20);

  background:#fff;

  box-shadow:
    0 22px 46px rgba(35,27,23,.075);
}


/* =========================
NUMBER
========================= */

.brandAppliances__number{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  margin-bottom:29px;

  border-radius:12px;

  background:#fff;

  color:#918983;

  font-size:16px;
  font-weight:800;

  box-shadow:
    0 8px 20px rgba(35,27,23,.045);
}


/* =========================
TEXT
========================= */

.brandAppliances__card small{
  display:block;

  margin-bottom:5px;

  color:#9b938e;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.brandAppliances__card h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.35;
}

.brandAppliances__card p{
  margin:8px 0 0;

  max-width:420px;

  color:#756e69;

  font-size:16px;
  line-height:1.64;
}


/* =========================
ARROW
========================= */

.brandAppliances__card>i{
  position:absolute;

  top:20px;
  right:20px;

  width:36px;
  height:36px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:#efebe7;

  color:#211f1d;

  font-style:normal;
  font-size:16px;

  transition:
    transform .25s ease,
    background .25s ease,
    color .25s ease;
}

.brandAppliances__card:hover>i{
  transform:rotate(8deg);

  background:var(--accent);
  color:#fff;
}


/* =========================
ACCENT CARD
========================= */

.brandAppliances__card--accent{
  border-color:rgba(226,28,33,.14);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.10),
      transparent 46%
    ),
    #fff8f7;
}

.brandAppliances__card--accent
.brandAppliances__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .brandAppliances{
    padding:96px 0 102px;
  }

  .brandAppliances__layout{
    gap:52px;
  }

}


@media (max-width:1024px){

  .brandAppliances{
    padding:82px 0 88px;
  }

  .brandAppliances__layout{
    grid-template-columns:1fr;
    gap:44px;
  }

  .brandAppliances__intro{
    position:relative;
    top:auto;

    max-width:760px;
  }

}


@media (max-width:768px){

  .brandAppliances{
    padding:68px 0 74px;
  }

  .brandAppliances__grid{
    grid-template-columns:1fr;
  }

  .brandAppliances__card{
    min-height:auto;
  }

}


@media (max-width:576px){

  .brandAppliances{
    padding:56px 0 62px;
  }

  .brandAppliances__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .brandAppliances__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .brandAppliances__card{
    padding:21px;

    border-radius:20px;
  }

  .brandAppliances__card h3{
    font-size:18px;
  }

  .brandAppliances__number{
    margin-bottom:25px;
  }

}








/* =========================
03 — WHY BOSCH EXPERIENCE MATTERS / BRAND-SPECIFIC KNOWLEDGE
========================= */

.brandExperience{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 8%,
      rgba(226,28,33,.05),
      transparent 24%
    ),
    #f7f5f2;
}


/* =========================
HEADER
========================= */

.brandExperience__header{
  display:grid;
  grid-template-columns:
    minmax(0,1.1fr)
    minmax(340px,.9fr);

  align-items:end;
  gap:72px;

  margin-bottom:42px;
}

.brandExperience__header h2{
  max-width:790px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.brandExperience__header h2 strong{
  display:block;
  color:var(--accent);
}

.brandExperience__intro{
  max-width:610px;
  margin:0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
MEDIA
========================= */

.brandExperience__media{
  position:relative;

  overflow:hidden;

  min-height:520px;

  border-radius:30px;

  background:#d8d3ce;

  box-shadow:
    0 30px 76px rgba(35,27,23,.11);
}

.brandExperience__media img{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  display:block;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.brandExperience__media:hover img{
  transform:scale(1.025);
}

.brandExperience__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.05) 0%,
      rgba(10,10,10,.01) 42%,
      rgba(10,10,10,.12) 62%,
      rgba(10,10,10,.74) 100%
    );
}


/* =========================
MEDIA TOP
========================= */

.brandExperience__mediaTop{
  position:absolute;
  z-index:3;

  top:22px;
  left:22px;
  right:22px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  padding:12px 14px;

  border:1px solid rgba(255,255,255,.20);
  border-radius:14px;

  background:rgba(18,18,18,.34);

  color:#fff;

  backdrop-filter:blur(10px);
}

.brandExperience__mediaTop span{
  font-size:16px;
  font-weight:700;
}

.brandExperience__mediaTop strong{
  color:#ff6267;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
MEDIA BOTTOM
========================= */

.brandExperience__mediaBottom{
  position:absolute;
  z-index:3;

  left:28px;
  right:28px;
  bottom:27px;

  display:grid;
}

.brandExperience__mediaBottom span{
  margin-bottom:7px;

  color:#ff656a;

  font-size:16px;
  font-weight:800;
}

.brandExperience__mediaBottom strong{
  max-width:720px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:25px;
  font-weight:800;
  line-height:1.3;
}


/* =========================
GRID
========================= */

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

  gap:12px;

  margin-top:16px;
}


/* =========================
CARD
========================= */

.brandExperience__card{
  min-width:0;

  padding:23px;

  border:1px solid #e5dfda;
  border-radius:20px;

  background:#fff;

  box-shadow:
    0 14px 34px rgba(35,27,23,.045);

  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

.brandExperience__card:hover{
  transform:translateY(-4px);

  border-color:rgba(226,28,33,.20);

  box-shadow:
    0 22px 46px rgba(35,27,23,.075);
}

.brandExperience__number{
  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  margin-bottom:25px;

  border-radius:12px;

  background:#f4f1ee;

  color:#918983;

  font-size:16px;
  font-weight:800;
}

.brandExperience__card small{
  display:block;

  margin-bottom:5px;

  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.brandExperience__card h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  line-height:1.35;
}

.brandExperience__card p{
  margin:8px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.63;
}


/* =========================
ACCENT
========================= */

.brandExperience__card--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.10),
      transparent 45%
    ),
    #fff8f7;
}

.brandExperience__card--accent
.brandExperience__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
BOTTOM
========================= */

.brandExperience__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;

  margin-top:16px;

  padding:23px 25px;

  border-radius:20px;

  background:#171717;

  color:#fff;
}

.brandExperience__bottom>div{
  display:grid;
}

.brandExperience__bottom span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.brandExperience__bottom strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .brandExperience{
    padding:96px 0 102px;
  }

  .brandExperience__header{
    gap:48px;
  }

  .brandExperience__grid{
    grid-template-columns:1fr 1fr;
  }

}


@media (max-width:1024px){

  .brandExperience{
    padding:82px 0 88px;
  }

  .brandExperience__header{
    grid-template-columns:1fr;
    gap:22px;
  }

  .brandExperience__media{
    min-height:480px;

    border-radius:27px;
  }

}


@media (max-width:768px){

  .brandExperience{
    padding:68px 0 74px;
  }

  .brandExperience__media{
    min-height:430px;
  }

  .brandExperience__grid{
    grid-template-columns:1fr;
  }

  .brandExperience__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .brandExperience{
    padding:56px 0 62px;
  }

  .brandExperience__header h2{
    font-size:clamp(32px,9vw,42px);
  }

  .brandExperience__intro{
    font-size:16px;
    line-height:1.66;
  }

  .brandExperience__media{
    min-height:380px;

    border-radius:22px;
  }

  .brandExperience__mediaTop{
    top:15px;
    left:15px;
    right:15px;

    align-items:flex-start;
    flex-direction:column;

    gap:3px;
  }

  .brandExperience__mediaBottom{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .brandExperience__mediaBottom strong{
    font-size:20px;
  }

  .brandExperience__card{
    padding:21px;
  }

  .brandExperience__bottom{
    padding:21px;
  }

  .brandExperience__bottom .btn{
    width:100%;
  }

}







/* =========================
04 — COMMON BOSCH PROBLEMS / ISSUES WE OFTEN SEE
========================= */

.brandProblems{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#f7f5f2;
}


/* =========================
SHELL
========================= */

.brandProblems__shell{
  display:grid;
  grid-template-columns:
    minmax(320px,.76fr)
    minmax(0,1.24fr);

  overflow:hidden;

  border-radius:32px;

  background:#171717;

  box-shadow:
    0 32px 82px rgba(31,24,20,.15);
}


/* =========================
INTRO
========================= */

.brandProblems__intro{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:center;

  min-height:620px;

  padding:48px;

  border-right:
    1px solid rgba(255,255,255,.08);

  color:#fff;

  background:
    radial-gradient(
      circle at 10% 8%,
      rgba(226,28,33,.18),
      transparent 30%
    ),
    #171717;
}

.brandProblems .sectionEyebrow{
  color:#aaa;
}

.brandProblems__intro h2{
  max-width:620px;

  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.brandProblems__intro h2 strong{
  display:block;

  color:#ff5d62;
}

.brandProblems__intro>p{
  max-width:560px;

  margin:22px 0 0;

  color:#9d9d9d;

  font-size:17px;
  line-height:1.72;
}


/* =========================
CONTACT
========================= */

.brandProblems__contact{
  display:grid;

  margin-top:34px;
  padding-top:22px;

  border-top:
    1px solid rgba(255,255,255,.10);
}

.brandProblems__contact>span{
  color:#777;

  font-size:16px;
  font-weight:700;
}

.brandProblems__contact>strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.brandProblems__contact>a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  margin-top:18px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
}

.brandProblems__contact>a>span{
  width:35px;
  height:35px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
GRID
========================= */

.brandProblems__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
}


/* =========================
ITEM
========================= */

.brandProblems__item{
  min-height:205px;

  padding:27px;

  border-right:
    1px solid rgba(255,255,255,.08);

  border-bottom:
    1px solid rgba(255,255,255,.08);

  background:#1a1a1a;

  transition:
    background .25s ease;
}

.brandProblems__item:nth-child(2n){
  border-right:0;
}

.brandProblems__item:nth-last-child(-n+2){
  border-bottom:0;
}

.brandProblems__item:hover{
  background:#202020;
}


/* =========================
NUMBER
========================= */

.brandProblems__number{
  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  margin-bottom:28px;

  border-radius:12px;

  background:#242424;

  color:#ff6267;

  font-size:16px;
  font-weight:800;

  transition:
    background .25s ease,
    color .25s ease;
}

.brandProblems__item:hover
.brandProblems__number{
  background:var(--accent);

  color:#fff;
}


/* =========================
TEXT
========================= */

.brandProblems__item small{
  display:block;

  margin-bottom:5px;

  color:#656565;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.brandProblems__item h3{
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
  line-height:1.35;
}

.brandProblems__item p{
  max-width:430px;

  margin:8px 0 0;

  color:#909090;

  font-size:16px;
  line-height:1.62;
}


/* =========================
ACCENT
========================= */

.brandProblems__item--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.15),
      transparent 45%
    ),
    #1a1a1a;
}

.brandProblems__item--accent
.brandProblems__number{
  background:var(--accent);

  color:#fff;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .brandProblems{
    padding:96px 0 102px;
  }

  .brandProblems__intro{
    padding:40px;
  }

}


@media (max-width:1024px){

  .brandProblems{
    padding:82px 0 88px;
  }

  .brandProblems__shell{
    grid-template-columns:1fr;

    border-radius:28px;
  }

  .brandProblems__intro{
    min-height:auto;

    border-right:0;

    border-bottom:
      1px solid rgba(255,255,255,.08);
  }

  .brandProblems__intro h2,
  .brandProblems__intro>p{
    max-width:760px;
  }

}


@media (max-width:768px){

  .brandProblems{
    padding:68px 0 74px;
  }

  .brandProblems__grid{
    grid-template-columns:1fr;
  }

  .brandProblems__item{
    min-height:auto;

    border-right:0;

    border-bottom:
      1px solid rgba(255,255,255,.08) !important;
  }

  .brandProblems__item:last-child{
    border-bottom:0 !important;
  }

}


@media (max-width:576px){

  .brandProblems{
    padding:56px 0 62px;
  }

  .brandProblems__shell{
    border-radius:22px;
  }

  .brandProblems__intro{
    padding:28px 21px;
  }

  .brandProblems__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .brandProblems__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .brandProblems__item{
    padding:23px 21px;
  }

  .brandProblems__item h3{
    font-size:18px;
  }

}






/* =========================
05 — BOSCH SERVICE VISIT / CAREFUL IN-HOME DIAGNOSTICS
========================= */

.brandVisit{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(226,28,33,.045),
      transparent 24%
    ),
    #fff;
}


/* =========================
LAYOUT
========================= */

.brandVisit__layout{
  display:grid;
  grid-template-columns:
    minmax(420px,1fr)
    minmax(0,.92fr);

  align-items:stretch;
  gap:72px;
}


/* =========================
VISUAL
========================= */

.brandVisit__visual{
  position:relative;

  overflow:hidden;

  min-height:680px;

  border-radius:32px 32px 78px 32px;

  background:#d8d3ce;

  box-shadow:
    0 30px 76px rgba(35,27,23,.12);
}

.brandVisit__visual img{
  position:absolute;
  inset:0;

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.brandVisit__visual:hover img{
  transform:scale(1.025);
}

.brandVisit__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.06) 0%,
      rgba(10,10,10,.01) 42%,
      rgba(10,10,10,.12) 62%,
      rgba(10,10,10,.76) 100%
    );
}


/* =========================
BADGE
========================= */

.brandVisit__badge{
  position:absolute;
  z-index:3;

  top:20px;
  left:20px;
  right:20px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;

  padding:12px 14px;

  border:1px solid rgba(255,255,255,.20);
  border-radius:14px;

  background:rgba(18,18,18,.34);

  color:#fff;

  backdrop-filter:blur(10px);
}

.brandVisit__badge span{
  font-size:16px;
  font-weight:700;
}

.brandVisit__badge strong{
  color:#ff6267;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
CAPTION
========================= */

.brandVisit__caption{
  position:absolute;
  z-index:3;

  left:27px;
  right:27px;
  bottom:27px;

  display:grid;
}

.brandVisit__caption span{
  margin-bottom:7px;

  color:#ff656a;

  font-size:16px;
  font-weight:800;
}

.brandVisit__caption strong{
  max-width:540px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:24px;
  font-weight:800;
  line-height:1.32;
}


/* =========================
CONTENT
========================= */

.brandVisit__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.brandVisit__content h2{
  max-width:700px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.brandVisit__content h2 strong{
  display:block;
  color:var(--accent);
}

.brandVisit__lead{
  max-width:640px;

  margin:21px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
STEPS
========================= */

.brandVisit__steps{
  margin-top:34px;

  border-top:1px solid #e2dcd7;
}

.brandVisit__step{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);

  gap:17px;

  padding:22px 0;

  border-bottom:1px solid #e2dcd7;
}

.brandVisit__step>span{
  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  border-radius:12px;

  background:#f4f1ee;

  color:#918983;

  font-size:16px;
  font-weight:800;

  transition:
    background .25s ease,
    color .25s ease;
}

.brandVisit__step:hover>span{
  background:var(--accent);
  color:#fff;
}

.brandVisit__step small{
  display:block;

  margin-bottom:4px;

  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.brandVisit__step h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  line-height:1.35;
}

.brandVisit__step p{
  max-width:600px;

  margin:7px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.63;
}


/* =========================
BOTTOM
========================= */

.brandVisit__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;

  margin-top:26px;

  padding:21px 22px;

  border-radius:18px;

  background:#171717;

  color:#fff;
}

.brandVisit__bottom>div{
  display:grid;
}

.brandVisit__bottom span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.brandVisit__bottom strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .brandVisit{
    padding:96px 0 102px;
  }

  .brandVisit__layout{
    gap:52px;
  }

  .brandVisit__visual{
    min-height:640px;
  }

}


@media (max-width:1024px){

  .brandVisit{
    padding:82px 0 88px;
  }

  .brandVisit__layout{
    grid-template-columns:1fr;
    gap:44px;
  }

  .brandVisit__visual{
    min-height:520px;

    border-radius:28px 28px 60px 28px;
  }

}


@media (max-width:768px){

  .brandVisit{
    padding:68px 0 74px;
  }

  .brandVisit__visual{
    min-height:460px;
  }

  .brandVisit__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .brandVisit{
    padding:56px 0 62px;
  }

  .brandVisit__visual{
    min-height:400px;

    border-radius:22px 22px 48px 22px;
  }

  .brandVisit__badge{
    top:15px;
    left:15px;
    right:15px;

    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }

  .brandVisit__caption{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .brandVisit__caption strong{
    font-size:20px;
  }

  .brandVisit__content h2{
    font-size:clamp(32px,9vw,42px);
  }

  .brandVisit__lead{
    font-size:16px;
    line-height:1.66;
  }

  .brandVisit__step{
    grid-template-columns:40px minmax(0,1fr);
    gap:13px;
  }

  .brandVisit__step h3{
    font-size:17px;
  }

  .brandVisit__bottom{
    padding:20px;
  }

  .brandVisit__bottom .btn{
    width:100%;
  }

}










/* =========================
06 — BOSCH REPAIR PROMISE / WHY HOMEOWNERS CHOOSE PARKSIDE
========================= */

.brandPromise{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(226,28,33,.045),
      transparent 24%
    ),
    #f7f5f2;
}


/* =========================
LAYOUT
========================= */

.brandPromise__layout{
  display:grid;
  grid-template-columns:
    minmax(320px,.78fr)
    minmax(0,1.22fr);

  align-items:start;
  gap:76px;
}


/* =========================
INTRO
========================= */

.brandPromise__intro{
  position:sticky;
  top:120px;
}

.brandPromise__intro h2{
  max-width:650px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.brandPromise__intro h2 strong{
  display:block;
  color:var(--accent);
}

.brandPromise__intro>p{
  max-width:560px;

  margin:22px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
NOTE
========================= */

.brandPromise__note{
  display:grid;

  margin-top:34px;
  padding:20px 22px;

  border-left:3px solid var(--accent);
  border-radius:0 18px 18px 0;

  background:#fff;
}

.brandPromise__note span{
  color:#918984;

  font-size:16px;
  font-weight:700;
}

.brandPromise__note strong{
  margin-top:4px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}


/* =========================
PHONE
========================= */

.brandPromise__phone{
  display:inline-flex;
  align-items:center;
  gap:10px;

  margin-top:18px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
}

.brandPromise__phone>span{
  width:34px;
  height:34px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);
  color:#fff;

  font-size:16px;
}


/* =========================
GRID
========================= */

.brandPromise__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}


/* =========================
CARD
========================= */

.brandPromise__card{
  min-height:245px;

  padding:24px;

  border:1px solid #e5dfda;
  border-radius:22px;

  background:#fff;

  box-shadow:
    0 14px 34px rgba(35,27,23,.045);

  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

.brandPromise__card:hover{
  transform:translateY(-4px);

  border-color:rgba(226,28,33,.20);

  box-shadow:
    0 22px 46px rgba(35,27,23,.075);
}


/* =========================
NUMBER
========================= */

.brandPromise__number{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  margin-bottom:31px;

  border-radius:12px;

  background:#f4f1ee;

  color:#918983;

  font-size:16px;
  font-weight:800;

  transition:
    background .25s ease,
    color .25s ease;
}

.brandPromise__card:hover
.brandPromise__number{
  background:#fff0f0;
  color:var(--accent);
}


/* =========================
TEXT
========================= */

.brandPromise__card small{
  display:block;

  margin-bottom:5px;

  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.brandPromise__card h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.35;
}

.brandPromise__card p{
  margin:9px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.64;
}


/* =========================
ACCENT
========================= */

.brandPromise__card--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.10),
      transparent 45%
    ),
    #fff8f7;
}

.brandPromise__card--accent
.brandPromise__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
BOTTOM
========================= */

.brandPromise__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;

  margin-top:16px;

  padding:23px 25px;

  border-radius:20px;

  background:#171717;

  color:#fff;
}

.brandPromise__bottom>div{
  display:grid;
}

.brandPromise__bottom span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.brandPromise__bottom strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .brandPromise{
    padding:96px 0 102px;
  }

  .brandPromise__layout{
    gap:52px;
  }

}


@media (max-width:1024px){

  .brandPromise{
    padding:82px 0 88px;
  }

  .brandPromise__layout{
    grid-template-columns:1fr;
    gap:44px;
  }

  .brandPromise__intro{
    position:relative;
    top:auto;

    max-width:760px;
  }

}


@media (max-width:768px){

  .brandPromise{
    padding:68px 0 74px;
  }

  .brandPromise__grid{
    grid-template-columns:1fr;
  }

  .brandPromise__card{
    min-height:auto;
  }

  .brandPromise__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .brandPromise{
    padding:56px 0 62px;
  }

  .brandPromise__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .brandPromise__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .brandPromise__card{
    padding:21px;

    border-radius:20px;
  }

  .brandPromise__card h3{
    font-size:18px;
  }

  .brandPromise__bottom{
    padding:21px;
  }

  .brandPromise__bottom .btn{
    width:100%;
  }

}






/* =========================
07 — BOSCH FAQ / COMMON QUESTIONS BEFORE SERVICE
========================= */

.brandFaq{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#fff;
}


/* =========================
LAYOUT
========================= */

.brandFaq__layout{
  display:grid;
  grid-template-columns:
    minmax(320px,.78fr)
    minmax(0,1.22fr);

  align-items:start;
  gap:78px;
}


/* =========================
INTRO
========================= */

.brandFaq__intro{
  position:sticky;
  top:120px;
}

.brandFaq__intro h2{
  max-width:630px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.brandFaq__intro h2 strong{
  display:block;
  color:var(--accent);
}

.brandFaq__intro>p{
  max-width:550px;

  margin:22px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
CONTACT
========================= */

.brandFaq__contact{
  display:grid;

  margin-top:34px;
  padding:21px 22px;

  border-radius:18px;

  background:#171717;

  color:#fff;
}

.brandFaq__contact>span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.brandFaq__contact>strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
}

.brandFaq__contact>a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  margin-top:18px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
}

.brandFaq__contact>a>span{
  width:35px;
  height:35px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
LIST
========================= */

.brandFaq__list{
  border-top:1px solid #e2dcd7;
}


/* =========================
ITEM
========================= */

.brandFaq__item{
  border-bottom:1px solid #e2dcd7;
}


/* =========================
QUESTION
========================= */

.brandFaq__question{
  width:100%;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:25px;

  padding:25px 0;

  border:0;
  outline:0;

  background:transparent;

  text-align:left;

  cursor:pointer;
}

.brandFaq__question>span{
  display:flex;
  align-items:center;
  gap:15px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
  line-height:1.35;
}

.brandFaq__question small{
  width:38px;
  height:38px;

  display:grid;
  place-items:center;

  flex:0 0 auto;

  border-radius:11px;

  background:#f4f1ee;

  color:#938b86;

  font-family:inherit;
  font-size:16px;
  font-weight:800;

  transition:
    background .25s ease,
    color .25s ease;
}


/* =========================
ICON
========================= */

.brandFaq__question i{
  position:relative;

  width:38px;
  height:38px;

  flex:0 0 auto;

  border-radius:50%;

  background:#f4f1ee;

  transition:
    background .25s ease,
    transform .25s ease;
}

.brandFaq__question i:before,
.brandFaq__question i:after{
  content:"";

  position:absolute;
  top:50%;
  left:50%;

  width:12px;
  height:2px;

  border-radius:10px;

  background:#211f1d;

  transform:translate(-50%,-50%);

  transition:
    transform .25s ease,
    background .25s ease;
}

.brandFaq__question i:after{
  transform:
    translate(-50%,-50%)
    rotate(90deg);
}


/* =========================
ANSWER
========================= */

.brandFaq__answer{
  display:grid;
  grid-template-rows:0fr;

  transition:
    grid-template-rows .3s ease;
}

.brandFaq__answer>p{
  overflow:hidden;

  max-width:690px;

  margin:0;

  color:#756e69;

  font-size:15px;
  line-height:1.68;
}

.brandFaq__item.is-open
.brandFaq__answer{
  grid-template-rows:1fr;
}

.brandFaq__item.is-open
.brandFaq__answer>p{
  padding:0 60px 24px 53px;
}


/* =========================
ACTIVE
========================= */

.brandFaq__item.is-open
.brandFaq__question small{
  background:var(--accent);
  color:#fff;
}

.brandFaq__item.is-open
.brandFaq__question i{
  background:#171717;
}

.brandFaq__item.is-open
.brandFaq__question i:before,
.brandFaq__item.is-open
.brandFaq__question i:after{
  background:#fff;
}

.brandFaq__item.is-open
.brandFaq__question i:after{
  transform:
    translate(-50%,-50%)
    rotate(0);
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .brandFaq{
    padding:96px 0 102px;
  }

  .brandFaq__layout{
    gap:54px;
  }

}


@media (max-width:1024px){

  .brandFaq{
    padding:82px 0 88px;
  }

  .brandFaq__layout{
    grid-template-columns:1fr;
    gap:44px;
  }

  .brandFaq__intro{
    position:relative;
    top:auto;

    max-width:760px;
  }

}


@media (max-width:768px){

  .brandFaq{
    padding:68px 0 74px;
  }

  .brandFaq__question>span{
    font-size:18px;
  }

}


@media (max-width:576px){

  .brandFaq{
    padding:56px 0 62px;
  }

  .brandFaq__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .brandFaq__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .brandFaq__question{
    align-items:flex-start;

    gap:13px;

    padding:21px 0;
  }

  .brandFaq__question>span{
    align-items:flex-start;

    gap:11px;

    font-size:16px;
  }

  .brandFaq__question small,
  .brandFaq__question i{
    width:34px;
    height:34px;
  }

  .brandFaq__item.is-open
  .brandFaq__answer>p{
    padding:0 0 21px 45px;

    font-size:16px;
  }

}





/* =========================
08 — BRAND SEO / SINGLE CONTENT BLOCK
========================= */

.brandSeo{
  position:relative;
  overflow:hidden;

  padding:110px 0 116px;

  background:#f7f6f3;
}

.brandSeo__block{
  max-width:1080px;

  margin:0 auto;
  padding:54px 58px;

  border:1px solid #e6dfd8;
  border-radius:28px;

  background:#fff;

  box-shadow:0 24px 70px rgba(27,26,24,.07);
}

.brandSeo__block h2{
  max-width:780px;

  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.25vw,56px);
  font-weight:800;
  line-height:1.06;
  letter-spacing:-.045em;
}

.brandSeo__block h2 strong{
  display:block;
  color:var(--accent);
}

.brandSeo__block p{
  margin:25px 0 0;

  color:#625d58;

  font-size:18px;
  line-height:1.84;
}

.brandSeo__block p:first-of-type{
  margin-top:32px;
}

@media (max-width:768px){
  .brandSeo{
    padding:78px 0 84px;
  }

  .brandSeo__block{
    padding:36px 28px;
    border-radius:22px;
  }
}

@media (max-width:520px){
  .brandSeo__block{
    padding:30px 22px;
  }

  .brandSeo__block h2{
    font-size:34px;
  }

  .brandSeo__block p{
    font-size:16px;
    line-height:1.76;
  }
}





/* =========================
08 — FINAL BOSCH CTA / REQUEST SERVICE FOR YOUR BOSCH APPLIANCE
========================= */

.brandFinal{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(226,28,33,.05),
      transparent 26%
    ),
    #f7f5f2;
}


/* =========================
SHELL
========================= */

.brandFinal__shell{
  overflow:hidden;

  border-radius:34px;

  background:#171717;

  box-shadow:
    0 34px 86px rgba(31,24,20,.16);
}


/* =========================
MEDIA
========================= */

.brandFinal__media{
  position:relative;

  overflow:hidden;

  min-height:420px;

  background:#292929;
}

.brandFinal__media img{
  position:absolute;
  inset:0;

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .7s cubic-bezier(.2,.7,.2,1);
}

.brandFinal__media:hover img{
  transform:scale(1.025);
}

.brandFinal__shade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(10,10,10,.05) 0%,
      rgba(10,10,10,.02) 42%,
      rgba(10,10,10,.14) 62%,
      rgba(10,10,10,.75) 100%
    );
}


/* =========================
MEDIA TOP
========================= */

.brandFinal__mediaTop{
  position:absolute;
  z-index:3;

  top:22px;
  left:22px;
  right:22px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  padding:12px 14px;

  border:1px solid rgba(255,255,255,.20);
  border-radius:14px;

  background:rgba(18,18,18,.34);

  color:#fff;

  backdrop-filter:blur(10px);
}

.brandFinal__mediaTop span{
  font-size:16px;
  font-weight:700;
}

.brandFinal__mediaTop strong{
  color:#ff6267;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
MEDIA BOTTOM
========================= */

.brandFinal__mediaBottom{
  position:absolute;
  z-index:3;

  left:28px;
  right:28px;
  bottom:28px;

  display:grid;
}

.brandFinal__mediaBottom span{
  margin-bottom:7px;

  color:#ff656a;

  font-size:16px;
  font-weight:800;
}

.brandFinal__mediaBottom strong{
  max-width:720px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:25px;
  font-weight:800;
  line-height:1.3;
}


/* =========================
CONTENT
========================= */

.brandFinal__content{
  max-width:900px;

  margin:0 auto;

  padding:56px 34px 48px;

  text-align:center;

  color:#fff;
}

.brandFinal .sectionEyebrow{
  justify-content:center;
  color:#aaa;
}

.brandFinal__content h2{
  max-width:820px;

  margin:0 auto;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(40px,4.2vw,60px);
  font-weight:800;
  line-height:1.05;
  letter-spacing:-.05em;
}

.brandFinal__content h2 strong{
  display:block;

  color:#ff5d62;
}

.brandFinal__content>p{
  max-width:680px;

  margin:22px auto 0;

  color:#9d9d9d;

  font-size:17px;
  line-height:1.72;
}


/* =========================
ACTIONS
========================= */

.brandFinal__actions{
  display:flex;
  align-items:center;
  justify-content:center;

  gap:26px;

  margin-top:31px;
}

.brandFinal__phone{
  display:grid;

  text-align:left;
}

.brandFinal__phone span{
  color:#777;

  font-size:16px;
  font-weight:700;
}

.brandFinal__phone strong{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
}


/* =========================
FACTS
========================= */

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

  max-width:840px;

  margin:40px auto 0;
  padding-top:23px;

  border-top:1px solid rgba(255,255,255,.10);
}

.brandFinal__facts>div{
  display:grid;

  padding:4px 18px;

  border-right:1px solid rgba(255,255,255,.09);
}

.brandFinal__facts>div:last-child{
  border-right:0;
}

.brandFinal__facts small{
  color:#737373;

  font-size:16px;
  font-weight:700;
}

.brandFinal__facts strong{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .brandFinal{
    padding:96px 0 102px;
  }

}


@media (max-width:1024px){

  .brandFinal{
    padding:82px 0 88px;
  }

  .brandFinal__shell{
    border-radius:28px;
  }

  .brandFinal__media{
    min-height:380px;
  }

  .brandFinal__facts{
    grid-template-columns:1fr 1fr;

    gap:16px;
  }

  .brandFinal__facts>div{
    border-right:0;
  }

}


@media (max-width:768px){

  .brandFinal{
    padding:68px 0 74px;
  }

  .brandFinal__media{
    min-height:340px;
  }

}


@media (max-width:576px){

  .brandFinal{
    padding:56px 0 62px;
  }

  .brandFinal__shell{
    border-radius:22px;
  }

  .brandFinal__media{
    min-height:300px;
  }

  .brandFinal__mediaTop{
    top:15px;
    left:15px;
    right:15px;

    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }

  .brandFinal__mediaBottom{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .brandFinal__mediaBottom strong{
    font-size:20px;
  }

  .brandFinal__content{
    padding:42px 21px 38px;
  }

  .brandFinal__content h2{
    font-size:clamp(34px,9vw,44px);
  }

  .brandFinal__content>p{
    font-size:16px;
    line-height:1.66;
  }

  .brandFinal__actions{
    align-items:stretch;
    flex-direction:column;

    gap:17px;
  }

  .brandFinal__actions .btn{
    width:100%;
  }

  .brandFinal__phone{
    text-align:center;
  }

  .brandFinal__facts{
    grid-template-columns:1fr;
  }

}





























/* =========================
01 — PRIVACY POLICY HERO / CLEAR, SIMPLE, TRANSPARENT
========================= */

.privacyHero{
  position:relative;
  overflow:hidden;

  padding:72px 0 108px;

  background:
    radial-gradient(
      circle at 88% 10%,
      rgba(226,28,33,.05),
      transparent 24%
    ),
    #f7f5f2;
}


/* =========================
SHELL
========================= */

.privacyHero__shell{
  display:grid;
  grid-template-columns:
    minmax(0,1.2fr)
    minmax(340px,.8fr);

  overflow:hidden;

  border:1px solid #e5dfda;
  border-radius:32px;

  background:#fff;

  box-shadow:
    0 30px 74px rgba(35,27,23,.09);
}


/* =========================
CONTENT
========================= */

.privacyHero__content{
  padding:56px 52px;

  border-right:1px solid #e7e1dc;
}

.privacyHero__content h1{
  max-width:850px;

  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(46px,4.5vw,68px);
  font-weight:800;
  line-height:1.02;
  letter-spacing:-.052em;
}

.privacyHero__content h1 strong{
  display:block;

  color:var(--accent);
}

.privacyHero__lead{
  max-width:700px;

  margin:23px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
META
========================= */

.privacyHero__meta{
  display:grid;
  grid-template-columns:
    .9fr
    1.2fr
    .8fr;

  gap:10px;

  margin-top:40px;
  padding-top:22px;

  border-top:1px solid #e5dfda;
}

.privacyHero__meta>div{
  display:grid;
}

.privacyHero__meta span{
  color:#9a928d;

  font-size:16px;
  font-weight:700;
}

.privacyHero__meta strong{
  margin-top:4px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:15px;
  font-weight:800;
}


/* =========================
SIDE
========================= */

.privacyHero__side{
  display:flex;
  flex-direction:column;

  background:#171717;

  color:#fff;
}


/* =========================
SIDE CARD
========================= */

.privacyHero__sideCard{
  flex:1;

  display:flex;
  flex-direction:column;
  justify-content:center;

  padding:44px 40px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.14),
      transparent 38%
    ),
    #171717;
}

.privacyHero__index{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  margin-bottom:34px;

  border-radius:12px;

  background:#242424;

  color:#ff6267;

  font-size:16px;
  font-weight:800;
}

.privacyHero__sideCard small{
  display:block;

  margin-bottom:7px;

  color:#6d6d6d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.privacyHero__sideCard h2{
  max-width:430px;

  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:28px;
  font-weight:800;
  line-height:1.22;
  letter-spacing:-.025em;
}

.privacyHero__sideCard p{
  max-width:430px;

  margin:16px 0 0;

  color:#929292;

  font-size:15px;
  line-height:1.66;
}


/* =========================
CONTACT
========================= */

.privacyHero__contact{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;

  padding:22px 24px;

  border-top:1px solid rgba(255,255,255,.08);

  background:#202020;
}

.privacyHero__contact>div{
  display:grid;
}

.privacyHero__contact>div span{
  color:#777;

  font-size:16px;
  font-weight:700;
}

.privacyHero__contact>div strong{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:15px;
  font-weight:800;
}

.privacyHero__contact>a{
  display:flex;
  align-items:center;
  gap:9px;

  flex:0 0 auto;

  color:#fff;

  font-size:16px;
  font-weight:800;
}

.privacyHero__contact>a>span{
  width:32px;
  height:32px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .privacyHero{
    padding:60px 0 94px;
  }

  .privacyHero__content{
    padding:48px 42px;
  }

}


@media (max-width:1024px){

  .privacyHero{
    padding:50px 0 82px;
  }

  .privacyHero__shell{
    grid-template-columns:1fr;

    border-radius:28px;
  }

  .privacyHero__content{
    border-right:0;
    border-bottom:1px solid #e7e1dc;
  }

  .privacyHero__sideCard{
    min-height:360px;
  }

}


@media (max-width:768px){

  .privacyHero{
    padding:42px 0 72px;
  }

  .privacyHero__meta{
    grid-template-columns:1fr 1fr;
  }

}


@media (max-width:576px){

  .privacyHero{
    padding:30px 0 60px;
  }

  .privacyHero__shell{
    border-radius:22px;
  }

  .privacyHero__content{
    padding:31px 21px;
  }

  .privacyHero__content h1{
    font-size:clamp(36px,10vw,46px);
    line-height:1.05;
  }

  .privacyHero__lead{
    font-size:16px;
    line-height:1.66;
  }

  .privacyHero__meta{
    grid-template-columns:1fr;
    gap:15px;
  }

  .privacyHero__sideCard{
    min-height:auto;

    padding:32px 22px;
  }

  .privacyHero__sideCard h2{
    font-size:24px;
  }

  .privacyHero__contact{
    align-items:flex-start;
    flex-direction:column;

    padding:20px 22px;
  }

}





/* =========================
02 — INFORMATION WE COLLECT / WHAT YOU MAY SHARE WITH PARKSIDE
========================= */

.privacyCollect{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#fff;
}


/* =========================
LAYOUT
========================= */

.privacyCollect__layout{
  display:grid;
  grid-template-columns:
    minmax(320px,.78fr)
    minmax(0,1.22fr);

  align-items:start;
  gap:76px;
}


/* =========================
INTRO
========================= */

.privacyCollect__intro{
  position:sticky;
  top:120px;
}

.privacyCollect__intro h2{
  max-width:640px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.privacyCollect__intro h2 strong{
  display:block;

  color:var(--accent);
}

.privacyCollect__intro>p{
  max-width:550px;

  margin:22px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
NOTE
========================= */

.privacyCollect__note{
  display:grid;

  margin-top:34px;
  padding:20px 22px;

  border-left:3px solid var(--accent);
  border-radius:0 18px 18px 0;

  background:#f7f5f2;
}

.privacyCollect__note span{
  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;
}

.privacyCollect__note strong{
  max-width:500px;

  margin-top:5px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
  line-height:1.48;
}


/* =========================
GRID
========================= */

.privacyCollect__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}


/* =========================
CARD
========================= */

.privacyCollect__card{
  min-height:255px;

  padding:24px;

  border:1px solid #e5dfda;
  border-radius:22px;

  background:#f8f6f3;

  box-shadow:
    0 14px 34px rgba(35,27,23,.045);

  transition:
    transform .25s ease,
    border-color .25s ease,
    background .25s ease,
    box-shadow .25s ease;
}

.privacyCollect__card:hover{
  transform:translateY(-4px);

  border-color:rgba(226,28,33,.18);

  background:#fff;

  box-shadow:
    0 22px 46px rgba(35,27,23,.075);
}


/* =========================
NUMBER
========================= */

.privacyCollect__number{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  margin-bottom:31px;

  border-radius:12px;

  background:#fff;

  color:#918983;

  font-size:16px;
  font-weight:800;

  box-shadow:
    0 8px 20px rgba(35,27,23,.045);
}


/* =========================
TEXT
========================= */

.privacyCollect__card small{
  display:block;

  margin-bottom:5px;

  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.privacyCollect__card h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.35;
}

.privacyCollect__card p{
  max-width:430px;

  margin:9px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.66;
}


/* =========================
ACCENT
========================= */

.privacyCollect__card--accent{
  border-color:rgba(226,28,33,.13);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.10),
      transparent 44%
    ),
    #fff8f7;
}

.privacyCollect__card--accent
.privacyCollect__number{
  background:var(--accent);

  color:#fff;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .privacyCollect{
    padding:96px 0 102px;
  }

  .privacyCollect__layout{
    gap:52px;
  }

}


@media (max-width:1024px){

  .privacyCollect{
    padding:82px 0 88px;
  }

  .privacyCollect__layout{
    grid-template-columns:1fr;
    gap:44px;
  }

  .privacyCollect__intro{
    position:relative;
    top:auto;

    max-width:760px;
  }

}


@media (max-width:768px){

  .privacyCollect{
    padding:68px 0 74px;
  }

  .privacyCollect__grid{
    grid-template-columns:1fr;
  }

  .privacyCollect__card{
    min-height:auto;
  }

}


@media (max-width:576px){

  .privacyCollect{
    padding:56px 0 62px;
  }

  .privacyCollect__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .privacyCollect__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .privacyCollect__card{
    padding:21px;

    border-radius:20px;
  }

  .privacyCollect__card h3{
    font-size:18px;
  }

  .privacyCollect__number{
    margin-bottom:25px;
  }

}









/* =========================
03 — HOW WE USE INFORMATION / WHY WE NEED IT
========================= */

.privacyUse{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#f7f5f2;
}


/* =========================
SHELL
========================= */

.privacyUse__shell{
  display:grid;
  grid-template-columns:
    minmax(320px,.76fr)
    minmax(0,1.24fr);

  overflow:hidden;

  border-radius:32px;

  background:#171717;

  box-shadow:
    0 32px 82px rgba(31,24,20,.15);
}


/* =========================
INTRO
========================= */

.privacyUse__intro{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:center;

  min-height:620px;

  padding:48px;

  border-right:
    1px solid rgba(255,255,255,.08);

  background:
    radial-gradient(
      circle at 10% 8%,
      rgba(226,28,33,.18),
      transparent 30%
    ),
    #171717;

  color:#fff;
}

.privacyUse .sectionEyebrow{
  color:#aaa;
}

.privacyUse__intro h2{
  max-width:620px;
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.privacyUse__intro h2 strong{
  display:block;

  color:#ff5d62;
}

.privacyUse__intro>p{
  max-width:560px;

  margin:22px 0 0;

  color:#9d9d9d;

  font-size:17px;
  line-height:1.72;
}


/* =========================
CALLOUT
========================= */

.privacyUse__callout{
  display:grid;

  margin-top:34px;
  padding:21px 22px;

  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;

  background:#202020;
}

.privacyUse__callout span{
  color:#777;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;
}

.privacyUse__callout strong{
  max-width:500px;

  margin-top:6px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
  line-height:1.5;
}


/* =========================
GRID
========================= */

.privacyUse__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
}


/* =========================
ITEM
========================= */

.privacyUse__item{
  min-height:205px;

  padding:27px;

  border-right:
    1px solid rgba(255,255,255,.08);

  border-bottom:
    1px solid rgba(255,255,255,.08);

  background:#1a1a1a;

  transition:
    background .25s ease;
}

.privacyUse__item:nth-child(2n){
  border-right:0;
}

.privacyUse__item:nth-last-child(-n+2){
  border-bottom:0;
}

.privacyUse__item:hover{
  background:#202020;
}


/* =========================
NUMBER
========================= */

.privacyUse__number{
  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  margin-bottom:28px;

  border-radius:12px;

  background:#242424;

  color:#ff6267;

  font-size:16px;
  font-weight:800;

  transition:
    background .25s ease,
    color .25s ease;
}

.privacyUse__item:hover
.privacyUse__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
TEXT
========================= */

.privacyUse__item small{
  display:block;

  margin-bottom:5px;

  color:#656565;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.privacyUse__item h3{
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
  line-height:1.35;
}

.privacyUse__item p{
  max-width:430px;

  margin:8px 0 0;

  color:#909090;

  font-size:16px;
  line-height:1.64;
}


/* =========================
ACCENT
========================= */

.privacyUse__item--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.15),
      transparent 45%
    ),
    #1a1a1a;
}

.privacyUse__item--accent
.privacyUse__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .privacyUse{
    padding:96px 0 102px;
  }

  .privacyUse__intro{
    padding:40px;
  }

}


@media (max-width:1024px){

  .privacyUse{
    padding:82px 0 88px;
  }

  .privacyUse__shell{
    grid-template-columns:1fr;

    border-radius:28px;
  }

  .privacyUse__intro{
    min-height:auto;

    border-right:0;

    border-bottom:
      1px solid rgba(255,255,255,.08);
  }

  .privacyUse__intro h2,
  .privacyUse__intro>p{
    max-width:760px;
  }

}


@media (max-width:768px){

  .privacyUse{
    padding:68px 0 74px;
  }

  .privacyUse__grid{
    grid-template-columns:1fr;
  }

  .privacyUse__item{
    min-height:auto;

    border-right:0;

    border-bottom:
      1px solid rgba(255,255,255,.08) !important;
  }

  .privacyUse__item:last-child{
    border-bottom:0 !important;
  }

}


@media (max-width:576px){

  .privacyUse{
    padding:56px 0 62px;
  }

  .privacyUse__shell{
    border-radius:22px;
  }

  .privacyUse__intro{
    padding:28px 21px;
  }

  .privacyUse__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .privacyUse__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .privacyUse__item{
    padding:23px 21px;
  }

  .privacyUse__item h3{
    font-size:18px;
  }

}






/* =========================
04 — COOKIES & WEBSITE TECHNOLOGIES / HOW THE WEBSITE WORKS
========================= */

.privacyCookies{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 92% 8%,
      rgba(226,28,33,.045),
      transparent 24%
    ),
    #fff;
}


/* =========================
LAYOUT
========================= */

.privacyCookies__layout{
  display:grid;
  grid-template-columns:
    minmax(320px,.78fr)
    minmax(0,1.22fr);

  align-items:start;
  gap:76px;
}


/* =========================
INTRO
========================= */

.privacyCookies__intro{
  position:sticky;
  top:120px;
}

.privacyCookies__intro h2{
  max-width:650px;
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.privacyCookies__intro h2 strong{
  display:block;
  color:var(--accent);
}

.privacyCookies__intro>p{
  max-width:560px;

  margin:22px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
NOTE
========================= */

.privacyCookies__note{
  display:grid;

  margin-top:34px;
  padding:20px 22px;

  border-left:3px solid var(--accent);
  border-radius:0 18px 18px 0;

  background:#f7f5f2;
}

.privacyCookies__note span{
  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;
}

.privacyCookies__note strong{
  max-width:500px;

  margin-top:5px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
  line-height:1.48;
}


/* =========================
CONTENT
========================= */

.privacyCookies__content{
  display:grid;
  gap:14px;
}


/* =========================
CARD
========================= */

.privacyCookies__card{
  padding:26px;

  border:1px solid #e5dfda;
  border-radius:22px;

  background:#f8f6f3;

  box-shadow:
    0 14px 34px rgba(35,27,23,.045);
}

.privacyCookies__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;

  margin-bottom:27px;
}

.privacyCookies__top>span{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  border-radius:12px;

  background:#fff;

  color:#918983;

  font-size:16px;
  font-weight:800;
}

.privacyCookies__top small{
  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.privacyCookies__card h3{
  max-width:650px;

  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:22px;
  font-weight:800;
  line-height:1.34;
}

.privacyCookies__card p{
  max-width:690px;

  margin:10px 0 0;

  color:#756e69;

  font-size:15px;
  line-height:1.67;
}


/* =========================
DARK CARD
========================= */

.privacyCookies__card--dark{
  border-color:#252525;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.14),
      transparent 42%
    ),
    #171717;
}

.privacyCookies__card--dark
.privacyCookies__top>span{
  background:#272727;
  color:#ff6267;
}

.privacyCookies__card--dark
.privacyCookies__top small{
  color:#707070;
}

.privacyCookies__card--dark h3{
  color:#fff;
}

.privacyCookies__card--dark p{
  color:#969696;
}


/* =========================
BOTTOM
========================= */

.privacyCookies__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;

  padding:22px 24px;

  border-radius:18px;

  background:#171717;

  color:#fff;
}

.privacyCookies__bottom>div{
  display:grid;
}

.privacyCookies__bottom>div span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.privacyCookies__bottom>div strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.privacyCookies__bottom>a{
  display:flex;
  align-items:center;
  gap:10px;

  color:#fff;

  font-size:16px;
  font-weight:800;
}

.privacyCookies__bottom>a>span{
  width:34px;
  height:34px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .privacyCookies{
    padding:96px 0 102px;
  }

  .privacyCookies__layout{
    gap:52px;
  }

}


@media (max-width:1024px){

  .privacyCookies{
    padding:82px 0 88px;
  }

  .privacyCookies__layout{
    grid-template-columns:1fr;
    gap:44px;
  }

  .privacyCookies__intro{
    position:relative;
    top:auto;

    max-width:760px;
  }

}


@media (max-width:768px){

  .privacyCookies{
    padding:68px 0 74px;
  }

  .privacyCookies__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .privacyCookies{
    padding:56px 0 62px;
  }

  .privacyCookies__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .privacyCookies__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .privacyCookies__card{
    padding:21px;

    border-radius:20px;
  }

  .privacyCookies__card h3{
    font-size:19px;
  }

  .privacyCookies__card p{
    font-size:16px;
  }

  .privacyCookies__bottom{
    padding:20px;
  }

  .privacyCookies__bottom>a{
    align-items:flex-start;
    word-break:break-word;
  }

}









/* =========================
05 — SHARING & DISCLOSURE / WHEN INFORMATION MAY BE SHARED
========================= */

.privacySharing{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#f7f5f2;
}


/* =========================
LAYOUT
========================= */

.privacySharing__layout{
  display:grid;
  grid-template-columns:
    minmax(320px,.78fr)
    minmax(0,1.22fr);

  align-items:start;
  gap:76px;
}


/* =========================
INTRO
========================= */

.privacySharing__intro{
  position:sticky;
  top:120px;
}

.privacySharing__intro h2{
  max-width:640px;

  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.privacySharing__intro h2 strong{
  display:block;
  color:var(--accent);
}

.privacySharing__intro>p{
  max-width:560px;

  margin:22px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
NOTE
========================= */

.privacySharing__note{
  display:grid;

  margin-top:34px;
  padding:20px 22px;

  border-left:3px solid var(--accent);
  border-radius:0 18px 18px 0;

  background:#fff;
}

.privacySharing__note span{
  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;
}

.privacySharing__note strong{
  max-width:500px;

  margin-top:5px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
  line-height:1.48;
}


/* =========================
GRID
========================= */

.privacySharing__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}


/* =========================
CARD
========================= */

.privacySharing__card{
  min-height:255px;

  padding:24px;

  border:1px solid #e5dfda;
  border-radius:22px;

  background:#fff;

  box-shadow:
    0 14px 34px rgba(35,27,23,.045);

  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

.privacySharing__card:hover{
  transform:translateY(-4px);

  border-color:rgba(226,28,33,.18);

  box-shadow:
    0 22px 46px rgba(35,27,23,.075);
}


/* =========================
NUMBER
========================= */

.privacySharing__number{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  margin-bottom:31px;

  border-radius:12px;

  background:#f4f1ee;

  color:#918983;

  font-size:16px;
  font-weight:800;
}


/* =========================
TEXT
========================= */

.privacySharing__card small{
  display:block;

  margin-bottom:5px;

  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.privacySharing__card h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.35;
}

.privacySharing__card p{
  max-width:430px;

  margin:9px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.66;
}


/* =========================
ACCENT
========================= */

.privacySharing__card--accent{
  border-color:rgba(226,28,33,.13);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.10),
      transparent 44%
    ),
    #fff8f7;
}

.privacySharing__card--accent
.privacySharing__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
BOTTOM
========================= */

.privacySharing__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:28px;

  margin-top:16px;

  padding:23px 25px;

  border-radius:20px;

  background:#171717;

  color:#fff;
}

.privacySharing__bottom>div{
  display:grid;
}

.privacySharing__bottom>div span{
  color:#858585;

  font-size:16px;
  font-weight:700;
}

.privacySharing__bottom>div strong{
  margin-top:4px;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}

.privacySharing__bottom>a{
  display:flex;
  align-items:center;
  gap:10px;

  flex:0 0 auto;

  color:#fff;

  font-size:16px;
  font-weight:800;
}

.privacySharing__bottom>a>span{
  width:34px;
  height:34px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:var(--accent);

  font-size:16px;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .privacySharing{
    padding:96px 0 102px;
  }

  .privacySharing__layout{
    gap:52px;
  }

}


@media (max-width:1024px){

  .privacySharing{
    padding:82px 0 88px;
  }

  .privacySharing__layout{
    grid-template-columns:1fr;
    gap:44px;
  }

  .privacySharing__intro{
    position:relative;
    top:auto;

    max-width:760px;
  }

}


@media (max-width:768px){

  .privacySharing{
    padding:68px 0 74px;
  }

  .privacySharing__grid{
    grid-template-columns:1fr;
  }

  .privacySharing__card{
    min-height:auto;
  }

  .privacySharing__bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .privacySharing{
    padding:56px 0 62px;
  }

  .privacySharing__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .privacySharing__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .privacySharing__card{
    padding:21px;

    border-radius:20px;
  }

  .privacySharing__card h3{
    font-size:18px;
  }

  .privacySharing__bottom{
    padding:20px;
  }

  .privacySharing__bottom>a{
    align-items:flex-start;
    word-break:break-word;
  }

}









/* =========================
06 — DATA SECURITY & RETENTION / HOW WE PROTECT INFORMATION
========================= */

.privacySecurity{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#fff;
}


/* =========================
SHELL
========================= */

.privacySecurity__shell{
  display:grid;
  grid-template-columns:
    minmax(320px,.8fr)
    minmax(0,1.2fr);

  overflow:hidden;

  border-radius:32px;

  background:#171717;

  box-shadow:
    0 32px 82px rgba(31,24,20,.15);
}


/* =========================
INTRO
========================= */

.privacySecurity__intro{
  display:flex;
  flex-direction:column;
  justify-content:center;

  min-height:560px;

  padding:48px;

  border-right:
    1px solid rgba(255,255,255,.08);

  background:
    radial-gradient(
      circle at 10% 8%,
      rgba(226,28,33,.18),
      transparent 30%
    ),
    #171717;

  color:#fff;
}

.privacySecurity .sectionEyebrow{
  color:#aaa;
}

.privacySecurity__intro h2{
  max-width:640px;

  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.privacySecurity__intro h2 strong{
  display:block;

  color:#ff5d62;
}

.privacySecurity__intro>p{
  max-width:560px;

  margin:22px 0 0;

  color:#9d9d9d;

  font-size:17px;
  line-height:1.72;
}


/* =========================
NOTE
========================= */

.privacySecurity__note{
  display:grid;

  margin-top:34px;
  padding:21px 22px;

  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;

  background:#202020;
}

.privacySecurity__note span{
  color:#777;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.privacySecurity__note strong{
  max-width:510px;

  margin-top:6px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
  line-height:1.48;
}


/* =========================
GRID
========================= */

.privacySecurity__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
}


/* =========================
ITEM
========================= */

.privacySecurity__item{
  min-height:280px;

  padding:28px;

  border-right:
    1px solid rgba(255,255,255,.08);

  border-bottom:
    1px solid rgba(255,255,255,.08);

  background:#1a1a1a;

  transition:
    background .25s ease;
}

.privacySecurity__item:nth-child(2n){
  border-right:0;
}

.privacySecurity__item:nth-last-child(-n+2){
  border-bottom:0;
}

.privacySecurity__item:hover{
  background:#202020;
}


/* =========================
NUMBER
========================= */

.privacySecurity__number{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  margin-bottom:34px;

  border-radius:12px;

  background:#242424;

  color:#ff6267;

  font-size:16px;
  font-weight:800;

  transition:
    background .25s ease,
    color .25s ease;
}

.privacySecurity__item:hover
.privacySecurity__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
TEXT
========================= */

.privacySecurity__item small{
  display:block;

  margin-bottom:5px;

  color:#666;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.privacySecurity__item h3{
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.35;
}

.privacySecurity__item p{
  max-width:430px;

  margin:9px 0 0;

  color:#909090;

  font-size:16px;
  line-height:1.66;
}


/* =========================
ACCENT ITEM
========================= */

.privacySecurity__item--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.15),
      transparent 45%
    ),
    #1a1a1a;
}

.privacySecurity__item--accent
.privacySecurity__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .privacySecurity{
    padding:96px 0 102px;
  }

  .privacySecurity__intro{
    padding:40px;
  }

}


@media (max-width:1024px){

  .privacySecurity{
    padding:82px 0 88px;
  }

  .privacySecurity__shell{
    grid-template-columns:1fr;

    border-radius:28px;
  }

  .privacySecurity__intro{
    min-height:auto;

    border-right:0;

    border-bottom:
      1px solid rgba(255,255,255,.08);
  }

  .privacySecurity__intro h2,
  .privacySecurity__intro>p{
    max-width:760px;
  }

}


@media (max-width:768px){

  .privacySecurity{
    padding:68px 0 74px;
  }

  .privacySecurity__grid{
    grid-template-columns:1fr;
  }

  .privacySecurity__item{
    min-height:auto;

    border-right:0;

    border-bottom:
      1px solid rgba(255,255,255,.08) !important;
  }

  .privacySecurity__item:last-child{
    border-bottom:0 !important;
  }

}


@media (max-width:576px){

  .privacySecurity{
    padding:56px 0 62px;
  }

  .privacySecurity__shell{
    border-radius:22px;
  }

  .privacySecurity__intro{
    padding:28px 21px;
  }

  .privacySecurity__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .privacySecurity__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .privacySecurity__item{
    padding:23px 21px;
  }

  .privacySecurity__item h3{
    font-size:18px;
  }

}







/* =========================
07 — YOUR PRIVACY CHOICES & RIGHTS / ACCESS, UPDATES & REQUESTS
========================= */

.privacyRights{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 8% 14%,
      rgba(226,28,33,.045),
      transparent 24%
    ),
    #f7f5f2;
}


/* =========================
HEAD
========================= */

.privacyRights__head{
  max-width:860px;
}

.privacyRights__head h2{
  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(40px,3.7vw,56px);
  font-weight:800;
  line-height:1.06;
  letter-spacing:-.045em;
}

.privacyRights__head h2 strong{
  color:var(--accent);
}

.privacyRights__head>p{
  max-width:720px;

  margin:22px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
BODY
========================= */

.privacyRights__body{
  display:grid;
  grid-template-columns:
    minmax(320px,.8fr)
    minmax(0,1.2fr);

  gap:18px;

  margin-top:48px;
}


/* =========================
STATEMENT
========================= */

.privacyRights__statement{
  min-height:560px;

  display:flex;
  flex-direction:column;
  justify-content:space-between;

  padding:32px;

  border-radius:28px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.16),
      transparent 42%
    ),
    #171717;

  color:#fff;
}

.privacyRights__index{
  width:48px;
  height:48px;

  display:grid;
  place-items:center;

  border-radius:14px;

  background:#252525;

  color:#ff6267;

  font-size:16px;
  font-weight:800;
}

.privacyRights__statement small{
  display:block;

  margin-bottom:8px;

  color:#707070;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.privacyRights__statement h3{
  max-width:510px;

  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:30px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.025em;
}

.privacyRights__statement p{
  max-width:500px;

  margin:15px 0 0;

  color:#969696;

  font-size:15px;
  line-height:1.68;
}


/* =========================
LIST
========================= */

.privacyRights__list{
  display:grid;

  border-top:1px solid #ddd6d1;
}

.privacyRights__item{
  display:grid;
  grid-template-columns:48px 1fr;

  gap:20px;

  padding:25px 4px;

  border-bottom:1px solid #ddd6d1;
}

.privacyRights__item>span{
  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  border-radius:12px;

  background:#fff;

  color:#918983;

  font-size:16px;
  font-weight:800;

  box-shadow:
    0 8px 20px rgba(35,27,23,.05);

  transition:
    background .25s ease,
    color .25s ease;
}

.privacyRights__item:hover>span{
  background:var(--accent);
  color:#fff;
}

.privacyRights__item small{
  display:block;

  margin-bottom:4px;

  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.privacyRights__item h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1.35;
}

.privacyRights__item p{
  max-width:650px;

  margin:8px 0 0;

  color:#756e69;

  font-size:16px;
  line-height:1.66;
}


/* =========================
CONTACT
========================= */

.privacyRights__contact{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:28px;

  margin-top:18px;
  padding:22px 24px;

  border:1px solid #e4ddd8;
  border-radius:20px;

  background:#fff;
}

.privacyRights__contact>div:first-child{
  display:grid;
}

.privacyRights__contact>div:first-child span{
  color:#918983;

  font-size:16px;
  font-weight:700;
}

.privacyRights__contact>div:first-child strong{
  margin-top:4px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}


/* =========================
ACTIONS
========================= */

.privacyRights__actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.privacyRights__actions a{
  display:flex;
  align-items:center;
  gap:9px;

  min-height:44px;

  padding:0 17px;

  border:1px solid #e4ddd8;
  border-radius:12px;

  color:#211f1d;

  font-size:16px;
  font-weight:800;

  background:#f8f6f3;

  transition:
    border-color .25s ease,
    background .25s ease,
    color .25s ease;
}

.privacyRights__actions a:first-child{
  border-color:var(--accent);

  background:var(--accent);
  color:#fff;
}

.privacyRights__actions a:first-child:hover{
  background:#c9191e;
}

.privacyRights__actions a:last-child:hover{
  border-color:#cbc3bd;
  background:#fff;
}

.privacyRights__actions a>span{
  font-size:16px;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .privacyRights{
    padding:96px 0 102px;
  }

}


@media (max-width:1024px){

  .privacyRights{
    padding:82px 0 88px;
  }

  .privacyRights__body{
    grid-template-columns:1fr;
  }

  .privacyRights__statement{
    min-height:390px;
  }

}


@media (max-width:768px){

  .privacyRights{
    padding:68px 0 74px;
  }

  .privacyRights__contact{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media (max-width:576px){

  .privacyRights{
    padding:56px 0 62px;
  }

  .privacyRights__head h2{
    font-size:clamp(32px,9vw,42px);
  }

  .privacyRights__head>p{
    font-size:16px;
    line-height:1.66;
  }

  .privacyRights__body{
    margin-top:36px;
  }

  .privacyRights__statement{
    min-height:360px;

    padding:24px 21px;

    border-radius:22px;
  }

  .privacyRights__statement h3{
    font-size:25px;
  }

  .privacyRights__item{
    grid-template-columns:40px 1fr;

    gap:14px;

    padding:21px 0;
  }

  .privacyRights__item>span{
    width:36px;
    height:36px;
  }

  .privacyRights__item h3{
    font-size:18px;
  }

  .privacyRights__contact{
    padding:20px;
  }

  .privacyRights__actions{
    width:100%;

    align-items:stretch;
    flex-direction:column;
  }

  .privacyRights__actions a{
    justify-content:center;
  }

}








/* =========================
08 — CHILDREN’S PRIVACY & THIRD-PARTY LINKS
========================= */

.privacyAdditional{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#fff;
}


/* =========================
LAYOUT
========================= */

.privacyAdditional__layout{
  display:grid;
  grid-template-columns:
    minmax(320px,.82fr)
    minmax(0,1.18fr);

  gap:18px;
}


/* =========================
STATEMENT
========================= */

.privacyAdditional__statement{
  min-height:560px;

  display:flex;
  flex-direction:column;

  padding:34px;

  border:1px solid #e5dfda;
  border-radius:28px;

  background:
    radial-gradient(
      circle at 0% 0%,
      rgba(226,28,33,.07),
      transparent 30%
    ),
    #f7f5f2;
}

.privacyAdditional__statement h2{
  max-width:600px;

  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.privacyAdditional__statement h2 strong{
  display:block;
  color:var(--accent);
}

.privacyAdditional__statement>p{
  max-width:520px;

  margin:22px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
BADGE
========================= */

.privacyAdditional__badge{
  display:flex;
  align-items:center;
  gap:13px;

  margin-top:auto;
  padding-top:32px;

  border-top:1px solid #ddd6d1;
}

.privacyAdditional__badge>span{
  width:44px;
  height:44px;

  display:grid;
  place-items:center;

  flex:0 0 auto;

  border-radius:13px;

  background:var(--accent);
  color:#fff;

  font-size:16px;
  font-weight:800;
}

.privacyAdditional__badge strong{
  color:#211f1d;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
}


/* =========================
PANELS
========================= */

.privacyAdditional__panels{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:18px;
}


/* =========================
PANEL
========================= */

.privacyAdditional__panel{
  padding:30px;

  border:1px solid #e5dfda;
  border-radius:28px;

  background:#f8f6f3;

  box-shadow:
    0 14px 34px rgba(35,27,23,.04);
}

.privacyAdditional__panelTop{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:20px;

  margin-bottom:32px;
}

.privacyAdditional__number{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  border-radius:12px;

  background:#fff;

  color:#918983;

  font-size:16px;
  font-weight:800;
}

.privacyAdditional__panelTop small{
  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.privacyAdditional__panel h3{
  max-width:650px;

  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:24px;
  font-weight:800;
  line-height:1.28;
  letter-spacing:-.02em;
}

.privacyAdditional__panel p{
  max-width:690px;

  margin:12px 0 0;

  color:#756e69;

  font-size:15px;
  line-height:1.67;
}


/* =========================
DARK PANEL
========================= */

.privacyAdditional__panel--dark{
  border-color:#252525;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.14),
      transparent 44%
    ),
    #171717;
}

.privacyAdditional__panel--dark
.privacyAdditional__number{
  background:#272727;
  color:#ff6267;
}

.privacyAdditional__panel--dark
.privacyAdditional__panelTop small{
  color:#6e6e6e;
}

.privacyAdditional__panel--dark h3{
  color:#fff;
}

.privacyAdditional__panel--dark p{
  color:#969696;
}


/* =========================
BOTTOM NOTE
========================= */

.privacyAdditional__bottom{
  margin-top:18px;

  padding:20px 24px;

  border-left:3px solid var(--accent);
  border-radius:0 18px 18px 0;

  background:#f7f5f2;
}

.privacyAdditional__bottom span{
  color:#6d6762;

  font-size:16px;
  line-height:1.65;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .privacyAdditional{
    padding:96px 0 102px;
  }

}


@media (max-width:1024px){

  .privacyAdditional{
    padding:82px 0 88px;
  }

  .privacyAdditional__layout{
    grid-template-columns:1fr;
  }

  .privacyAdditional__statement{
    min-height:390px;
  }

}


@media (max-width:768px){

  .privacyAdditional{
    padding:68px 0 74px;
  }

}


@media (max-width:576px){

  .privacyAdditional{
    padding:56px 0 62px;
  }

  .privacyAdditional__statement{
    min-height:350px;

    padding:25px 21px;

    border-radius:22px;
  }

  .privacyAdditional__statement h2{
    font-size:clamp(32px,9vw,42px);
  }

  .privacyAdditional__statement>p{
    font-size:16px;
    line-height:1.66;
  }

  .privacyAdditional__panel{
    padding:23px 21px;

    border-radius:22px;
  }

  .privacyAdditional__panelTop{
    margin-bottom:25px;
  }

  .privacyAdditional__panel h3{
    font-size:21px;
  }

  .privacyAdditional__panel p{
    font-size:16px;
  }

  .privacyAdditional__bottom{
    padding:18px 20px;
  }

}






/* =========================
09 — POLICY UPDATES / CHANGES TO THIS PRIVACY POLICY
========================= */

.privacyUpdates{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(226,28,33,.045),
      transparent 25%
    ),
    #f7f5f2;
}


/* =========================
LAYOUT
========================= */

.privacyUpdates__layout{
  display:grid;
  grid-template-columns:
    minmax(320px,.8fr)
    minmax(0,1.2fr);

  gap:76px;
  align-items:start;
}


/* =========================
INTRO
========================= */

.privacyUpdates__intro{
  position:sticky;
  top:120px;
}

.privacyUpdates__intro h2{
  max-width:620px;

  margin:0;

  color:#1b1a18;

  font-family:var(--font-heading);
  font-size:clamp(38px,3.2vw,52px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
}

.privacyUpdates__intro h2 strong{
  display:block;
  color:var(--accent);
}

.privacyUpdates__intro > p{
  max-width:540px;

  margin:22px 0 0;

  color:#6f6964;

  font-size:17px;
  line-height:1.72;
}


/* =========================
DATE
========================= */

.privacyUpdates__date{
  display:grid;

  margin-top:34px;
  padding:20px 22px;

  border-left:3px solid var(--accent);
  border-radius:0 18px 18px 0;

  background:#fff;
}

.privacyUpdates__date span{
  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;
}

.privacyUpdates__date strong{
  margin-top:5px;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
}


/* =========================
CONTENT
========================= */

.privacyUpdates__content{
  display:grid;
  gap:16px;
}


/* =========================
ITEM
========================= */

.privacyUpdates__item{
  padding:26px 28px 28px;

  border:1px solid #e5dfda;
  border-radius:24px;

  background:#fff;

  box-shadow:
    0 14px 34px rgba(35,27,23,.045);

  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease,
    background .25s ease;
}

.privacyUpdates__item:hover{
  transform:translateY(-4px);

  border-color:rgba(226,28,33,.16);

  box-shadow:
    0 22px 46px rgba(35,27,23,.07);
}


/* =========================
ITEM HEAD
========================= */

.privacyUpdates__head{
  display:flex;
  align-items:center;
  gap:14px;

  margin-bottom:22px;
}

.privacyUpdates__number{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  flex:0 0 auto;

  border-radius:12px;

  background:#f4f1ee;
  color:#918983;

  font-size:16px;
  font-weight:800;
}

.privacyUpdates__head small{
  color:#9a928d;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}


/* =========================
TEXT
========================= */

.privacyUpdates__item h3{
  margin:0;

  color:#211f1d;

  font-family:var(--font-heading);
  font-size:24px;
  font-weight:800;
  line-height:1.28;
  letter-spacing:-.02em;
}

.privacyUpdates__item p{
  max-width:680px;

  margin:12px 0 0;

  color:#756e69;

  font-size:15px;
  line-height:1.67;
}


/* =========================
ACCENT ITEM
========================= */

.privacyUpdates__item--accent{
  border-color:rgba(226,28,33,.12);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.10),
      transparent 44%
    ),
    #fff8f7;
}

.privacyUpdates__item--accent .privacyUpdates__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .privacyUpdates{
    padding:96px 0 102px;
  }

  .privacyUpdates__layout{
    gap:52px;
  }

}


@media (max-width:1024px){

  .privacyUpdates{
    padding:82px 0 88px;
  }

  .privacyUpdates__layout{
    grid-template-columns:1fr;
    gap:44px;
  }

  .privacyUpdates__intro{
    position:relative;
    top:auto;

    max-width:760px;
  }

}


@media (max-width:768px){

  .privacyUpdates{
    padding:68px 0 74px;
  }

  .privacyUpdates__item{
    padding:24px;
  }

  .privacyUpdates__item h3{
    font-size:21px;
  }

}


@media (max-width:576px){

  .privacyUpdates{
    padding:56px 0 62px;
  }

  .privacyUpdates__intro h2{
    font-size:clamp(32px,9vw,42px);
  }

  .privacyUpdates__intro > p{
    font-size:16px;
    line-height:1.66;
  }

  .privacyUpdates__item{
    padding:21px 19px;

    border-radius:20px;
  }

  .privacyUpdates__head{
    align-items:flex-start;
    gap:11px;

    margin-bottom:18px;
  }

  .privacyUpdates__number{
    width:36px;
    height:36px;

    border-radius:10px;

    font-size:16px;
  }

  .privacyUpdates__item h3{
    font-size:18px;
  }

  .privacyUpdates__item p{
    font-size:16px;
  }

}






/* =========================
10 — CONTACT US ABOUT PRIVACY / QUESTIONS & REQUESTS
========================= */

.privacyContact{
  position:relative;
  overflow:hidden;

  padding:112px 0 118px;

  background:#f7f5f2;
}


/* =========================
SHELL
========================= */

.privacyContact__shell{
  overflow:hidden;

  border-radius:32px;

  background:
    radial-gradient(
      circle at 8% 8%,
      rgba(226,28,33,.17),
      transparent 27%
    ),
    #171717;

  box-shadow:
    0 32px 82px rgba(31,24,20,.15);

  color:#fff;
}


/* =========================
INTRO
========================= */

.privacyContact__intro{
  max-width:890px;

  margin:0 auto;

  padding:60px 34px 48px;

  text-align:center;
}

.privacyContact .sectionEyebrow{
  justify-content:center;

  color:#aaa;
}

.privacyContact__intro h2{
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:clamp(42px,4.2vw,60px);
  font-weight:800;
  line-height:1.05;
  letter-spacing:-.05em;
}

.privacyContact__intro h2 strong{
  display:block;

  color:#ff5d62;
}

.privacyContact__intro>p{
  max-width:680px;

  margin:22px auto 0;

  color:#9d9d9d;

  font-size:17px;
  line-height:1.72;
}


/* =========================
ACTIONS
========================= */

.privacyContact__actions{
  display:flex;
  align-items:center;
  justify-content:center;

  gap:28px;

  margin-top:31px;
}

.privacyContact__phone{
  display:grid;

  text-align:left;
}

.privacyContact__phone span{
  color:#777;

  font-size:16px;
  font-weight:700;
}

.privacyContact__phone strong{
  margin-top:4px;

  color:#fff;

  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
}


/* =========================
DETAILS
========================= */

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

  border-top:
    1px solid rgba(255,255,255,.08);

  border-bottom:
    1px solid rgba(255,255,255,.08);
}


/* =========================
DETAIL
========================= */

.privacyContact__detail{
  min-height:245px;

  padding:28px;

  border-right:
    1px solid rgba(255,255,255,.08);

  background:#1a1a1a;
}

.privacyContact__detail:last-child{
  border-right:0;
}

.privacyContact__number{
  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  margin-bottom:31px;

  border-radius:12px;

  background:#242424;

  color:#ff6267;

  font-size:16px;
  font-weight:800;
}

.privacyContact__detail small{
  display:block;

  margin-bottom:7px;

  color:#686868;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.privacyContact__detail a,
.privacyContact__detail strong{
  color:#fff;

  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
  line-height:1.45;
}

.privacyContact__detail address{
  margin:0;

  color:#fff;

  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
  line-height:1.55;
  font-style:normal;
}

.privacyContact__detail p{
  margin:9px 0 0;

  color:#8e8e8e;

  font-size:16px;
  line-height:1.62;
}


/* =========================
MAIL NOTE
========================= */

.privacyContact__mailNote{
  display:block;

  margin-top:9px;

  color:#757575;

  font-size:16px;
  font-weight:700;
}


/* =========================
ACCENT DETAIL
========================= */

.privacyContact__detail--accent{
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,28,33,.17),
      transparent 46%
    ),
    #1a1a1a;
}

.privacyContact__detail--accent
.privacyContact__number{
  background:var(--accent);
  color:#fff;
}


/* =========================
BOTTOM
========================= */

.privacyContact__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:24px;

  padding:21px 28px;

  background:#141414;
}

.privacyContact__bottom span{
  color:#ff6267;

  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.privacyContact__bottom strong{
  color:#757575;

  font-size:16px;
  font-weight:700;
}


/* =========================
RESPONSIVE
========================= */

@media (max-width:1180px){

  .privacyContact{
    padding:96px 0 102px;
  }

  .privacyContact__details{
    grid-template-columns:1fr 1fr;
  }

  .privacyContact__detail:nth-child(2){
    border-right:0;
  }

  .privacyContact__detail:nth-child(-n+2){
    border-bottom:
      1px solid rgba(255,255,255,.08);
  }

}


@media (max-width:1024px){

  .privacyContact{
    padding:82px 0 88px;
  }

  .privacyContact__shell{
    border-radius:28px;
  }

}


@media (max-width:768px){

  .privacyContact{
    padding:68px 0 74px;
  }

  .privacyContact__actions{
    align-items:stretch;
    flex-direction:column;

    gap:18px;
  }

  .privacyContact__actions .btn{
    width:100%;
  }

  .privacyContact__phone{
    text-align:center;
  }

  .privacyContact__bottom{
    align-items:flex-start;
    flex-direction:column;

    gap:7px;
  }

}


@media (max-width:576px){

  .privacyContact{
    padding:56px 0 62px;
  }

  .privacyContact__shell{
    border-radius:22px;
  }

  .privacyContact__intro{
    padding:42px 21px 35px;
  }

  .privacyContact__intro h2{
    font-size:clamp(34px,9vw,44px);
  }

  .privacyContact__intro>p{
    font-size:16px;
    line-height:1.66;
  }

  .privacyContact__details{
    grid-template-columns:1fr;
  }

  .privacyContact__detail{
    min-height:auto;

    padding:23px 21px;

    border-right:0;
    border-bottom:
      1px solid rgba(255,255,255,.08) !important;
  }

  .privacyContact__detail:last-child{
    border-bottom:0 !important;
  }

  .privacyContact__detail a,
  .privacyContact__detail strong{
    font-size:16px;
  }

  .privacyContact__bottom{
    padding:19px 21px;
  }

}
