*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  font-family:Inter, sans-serif;
  background:linear-gradient(
    90deg,
    #031926 0%,
    #06283d 40%,
    #06283d 60%,
    #031926 100%
  );
  color:white;
  overflow-x:hidden;
}

/* HEADER */

.site-header{
  position:relative;
  z-index:20;
}

.nav{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:92px;
  padding:18px 8vw;
  z-index:5;
}

.nav::before,
.nav::after{
  content:"";
  position:absolute;
  bottom:0;
  height:1px;
  background:rgba(255,255,255,0.08);
  width:calc(50% - 165px);
}

.nav::before{
  left:0;
}

.nav::after{
  right:0;
}

.nav-left,
.nav-right{
  display:flex;
  align-items:center;
  gap:36px;
  flex:1;
}

.nav-right{
  justify-content:flex-end;
}

.nav a{
  color:#d7e3ee;
  font-size:15px;
  font-weight:500;
  text-decoration:none;
  cursor:pointer;
}

.nav a.active{
  border-bottom:2px solid #6faedf;
  padding-bottom:8px;
}

/* CENTER LOGO */

.logo-wrap{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -38%);
  z-index:30;
  pointer-events:none;
}

.logo{
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:auto;
}

.logo img{
  height:190px;
  width:auto;
  display:block;
}

/* BUTTONS */

.btn-primary{
  background:linear-gradient(
    180deg,
    #78b5e6,
    #5a97c8
  );
  border:none;
  padding:14px 24px;
  border-radius:10px;
  color:white;
  font-size:15px;
  font-weight:600;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(84,145,194,.20);
}

.btn-outline{
  background:transparent;
  border:1px solid rgba(255,255,255,0.24);
  padding:14px 24px;
  border-radius:10px;
  color:white;
  font-size:15px;
  font-weight:500;
  margin-left:12px;
  cursor:pointer;
}

/* HERO */

.hero{
  display:flex;
  align-items:center;
  min-height:86vh;
  padding-left:8vw;
  overflow:hidden;
  position:relative;
}

.hero-content{
  max-width:620px;
  padding:95px 0 60px;
  z-index:2;
}

.hero h1{
  font-family:"Playfair Display", serif;
  font-size:78px;
  line-height:.98;
  margin-bottom:26px;
}

.hero h1 span{
  color:#8cbbe7;
}

.hero p{
  color:#d2ddea;
  margin-bottom:24px;
  font-size:17px;
  line-height:1.65;
}

.hero ul{
  list-style:none;
  padding:0;
  margin:0 0 24px 0;
}

.hero li{
  margin-bottom:12px;
  color:#cfe4f6;
  font-size:16px;
}

.buttons{
  display:flex;
  gap:12px;
  margin-bottom:24px;
}

/* HERO IMAGE */

.hero-image{
  position:absolute;
  top:0;
  right:0;
  width:50%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.hero-image img{
  height:92%;
  object-fit:cover;
  -webkit-mask-image:linear-gradient(
    to left,
    rgba(0,0,0,1) 65%,
    rgba(0,0,0,0) 100%
  );
  mask-image:linear-gradient(
    to left,
    rgba(0,0,0,1) 65%,
    rgba(0,0,0,0) 100%
  );
}

/* SERVICES */

.services-section{
  padding:120px 8% 110px;
  background:
    radial-gradient(circle at top left, rgba(90,170,255,.08), transparent 30%),
    linear-gradient(180deg, #03253d, #062d49 45%, #04263e);
}

.services-container{
  max-width:1350px;
  margin:auto;
}

.services-heading{
  text-align:center;
  max-width:900px;
  margin:0 auto 65px;
}

.services-eyebrow{
  font-size:1.8rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7fb8f3;
  margin-bottom:18px;
  font-weight:700;
}

.services-heading h2{
  font-size:4rem;
  font-family:"Playfair Display", serif;
  margin-bottom:22px;
}

.services-subtext{
  color:rgba(255,255,255,.75);
  font-size:1.05rem;
  line-height:1.7;
}

.services-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:24px;
}

.service-card{
  background:linear-gradient(
    180deg,
    rgba(120,172,227,.12),
    rgba(255,255,255,.04)
  );
  border:1px solid rgba(140,192,246,.15);
  border-radius:22px;
  padding:30px 24px;
  transition:.25s;
  height:100%;
}

.service-card:hover{
  transform:translateY(-6px);
  border-color:rgba(140,192,246,.35);
}

.service-icon{
  width:78px;
  height:78px;
  margin-bottom:22px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(
    180deg,
    rgba(157,207,255,.24),
    rgba(157,207,255,.08)
  );
  border:1px solid rgba(170,214,255,.22);
}

.service-icon img{
  width:46px;
  height:46px;
  object-fit:contain;
}

.service-card h3{
  font-size:1.8rem;
  margin-bottom:18px;
}

.service-card ul{
  padding:0;
  margin:0;
}

.service-card li{
  margin-bottom:12px;
  color:rgba(255,255,255,.85);
  list-style:none;
  position:relative;
  padding-left:20px;
}

.service-card li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#8ec5ff;
}

/* COVERAGE SECTION */

.coverage-section{
  padding:10px 8% 110px;
  background:
    radial-gradient(circle at top right, rgba(120,181,230,.08), transparent 30%),
    linear-gradient(180deg, #04263e 0%, #052c46 50%, #031f33 100%);
}

.coverage-container{
  max-width:1350px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:stretch;
}

.coverage-card{
  background:linear-gradient(
    180deg,
    rgba(120,172,227,.10),
    rgba(255,255,255,.035)
  );
  border:1px solid rgba(140,192,246,.14);
  border-radius:24px;
  padding:42px 38px;
  box-shadow:0 18px 45px rgba(0,0,0,.20);
  backdrop-filter:blur(4px);
  display:flex;
  flex-direction:column;
}

.coverage-eyebrow{
  font-size:.95rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#7fb8f3;
  font-weight:700;
  margin-bottom:16px;
}

.coverage-card h2{
  font-family:"Playfair Display", serif;
  font-size:2.5rem;
  line-height:1.1;
  margin-bottom:20px;
  color:#ffffff;
}

.coverage-text{
  color:rgba(255,255,255,.80);
  font-size:1.06rem;
  line-height:1.8;
  margin-bottom:28px;
}

.coverage-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:auto;
}

.coverage-tags span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border-radius:999px;
  background:linear-gradient(
    180deg,
    rgba(123,184,243,.22),
    rgba(123,184,243,.10)
  );
  border:1px solid rgba(140,197,255,.22);
  color:#dcecff;
  font-size:.95rem;
  font-weight:600;
}

.coverage-list{
  list-style:none;
  padding:0;
  margin:6px 0 0 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 22px;
}

.coverage-list li{
  position:relative;
  padding-left:22px;
  color:rgba(255,255,255,.88);
  font-size:1rem;
  line-height:1.5;
}

.coverage-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#8ec5ff;
  font-weight:700;
}

/* PROCESS SECTION */

.process-section{
  padding:20px 8% 120px;
  background:
    radial-gradient(circle at center top, rgba(120,181,230,.08), transparent 28%),
    linear-gradient(180deg, #031f33 0%, #052740 45%, #031c2d 100%);
}

.process-container{
  max-width:1350px;
  margin:0 auto;
}

.process-heading{
  text-align:center;
  max-width:860px;
  margin:0 auto 60px;
}

.process-eyebrow{
  font-size:.95rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#7fb8f3;
  font-weight:700;
  margin-bottom:16px;
}

.process-heading h2{
  font-family:"Playfair Display", serif;
  font-size:3.8rem;
  line-height:1.1;
  color:#ffffff;
  margin-bottom:18px;
}

.process-subtext{
  color:rgba(255,255,255,.76);
  font-size:1.05rem;
  line-height:1.75;
}

.process-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
}

.process-card{
  position:relative;
  min-height:360px;
  padding:38px 30px 34px;
  border-radius:24px;
  background:linear-gradient(
    180deg,
    rgba(120,172,227,.11),
    rgba(255,255,255,.035)
  );
  border:1px solid rgba(140,192,246,.14);
  box-shadow:0 18px 45px rgba(0,0,0,.20);
  overflow:hidden;
  transition:.25s;
}

.process-card:hover{
  transform:translateY(-6px);
  border-color:rgba(140,192,246,.28);
}

.process-number{
  position:absolute;
  top:18px;
  right:22px;
  font-size:7rem;
  line-height:1;
  font-weight:700;
  color:rgba(127,184,243,.13);
  pointer-events:none;
  font-family:"Playfair Display", serif;
}

.process-card h3{
  position:relative;
  z-index:2;
  max-width:260px;
  font-size:2rem;
  line-height:1.18;
  color:#8ec5ff;
  margin-bottom:24px;
  font-weight:600;
}

.process-card p{
  position:relative;
  z-index:2;
  color:rgba(255,255,255,.82);
  font-size:1.03rem;
  line-height:1.85;
  max-width:95%;
}

/* RESPONSIVE */

@media (max-width:1100px){
  .services-grid{
    grid-template-columns:repeat(3,1fr);
  }

  .logo img{
    height:155px;
  }

  .logo-wrap{
    transform:translate(-50%, -34%);
  }

  .coverage-container{
    grid-template-columns:1fr;
  }

  .process-grid{
    grid-template-columns:1fr;
  }

  .process-card{
    min-height:auto;
  }
}

@media (max-width:860px){
  .nav{
    min-height:auto;
    padding:18px 6vw 14px;
    flex-direction:column;
    gap:18px;
  }

  .nav-left,
  .nav-right{
    justify-content:center;
    flex:none;
    width:100%;
    gap:24px;
  }

  .logo-wrap{
    position:relative;
    left:auto;
    top:auto;
    transform:none;
    order:-1;
    margin-bottom:6px;
    pointer-events:auto;
  }

  .logo img{
    height:125px;
  }

  .hero{
    flex-direction:column;
    padding:40px 8vw 60px;
  }

  .hero-content{
    padding:40px 0 30px;
  }

  .hero h1{
    font-size:58px;
  }

  .hero-image{
    position:relative;
    width:100%;
    margin-top:20px;
    height:auto;
  }

  .hero-image img{
    width:100%;
    height:auto;
    mask-image:none;
    -webkit-mask-image:none;
  }

  .coverage-card h2{
    font-size:2.1rem;
  }

  .process-heading h2{
    font-size:3rem;
  }
}

@media (max-width:700px){
  .services-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .hero h1{
    font-size:46px;
  }

  .services-heading h2{
    font-size:2.8rem;
  }

  .services-eyebrow{
    font-size:1.4rem;
  }

  .coverage-section{
    padding:10px 8% 90px;
  }

  .coverage-card{
    padding:30px 24px;
  }

  .coverage-card h2{
    font-size:1.8rem;
  }

  .coverage-text{
    font-size:1rem;
  }

  .coverage-list{
    grid-template-columns:1fr;
  }

  .process-section{
    padding:10px 8% 95px;
  }

  .process-heading{
    margin-bottom:40px;
  }

  .process-heading h2{
    font-size:2.4rem;
  }

  .process-card{
    padding:30px 24px 28px;
  }

  .process-number{
    font-size:5.4rem;
    top:16px;
    right:18px;
  }

  .process-card h3{
    font-size:1.65rem;
    max-width:220px;
  }

  .process-card p{
    font-size:1rem;
    max-width:100%;
  }
}

@media (max-width:500px){
  .services-grid{
    grid-template-columns:1fr;
  }

  .nav-left,
  .nav-right{
    gap:18px;
    flex-wrap:wrap;
  }

  .logo img{
    height:105px;
  }

  .hero h1{
    font-size:38px;
  }

  .btn-primary,
  .btn-outline{
    padding:12px 18px;
    font-size:14px;
  }

  .buttons{
    flex-direction:column;
    align-items:flex-start;
  }

  .btn-outline{
    margin-left:0;
  }

  .process-heading h2{
    font-size:2rem;
  }

  .process-number{
    font-size:4.6rem;
  }
}
/* BRANDS + PARTS SECTION */

.brands-parts-section{
  padding: 20px 8% 120px;
  background:
    radial-gradient(circle at top left, rgba(120,181,230,.08), transparent 30%),
    linear-gradient(180deg, #031c2d 0%, #05263d 45%, #031926 100%);
}

.brands-parts-container{
  max-width: 1350px;
  margin: 0 auto;
}

.brands-parts-card{
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 28px;
  align-items: stretch;
  background: linear-gradient(
    180deg,
    rgba(120,172,227,.10),
    rgba(255,255,255,.03)
  );
  border: 1px solid rgba(140,192,246,.14);
  border-radius: 28px;
  padding: 34px;
  box-shadow: 0 18px 45px rgba(0,0,0,.20);
}

.brands-parts-text{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 6px 4px;
}

.brands-parts-eyebrow{
  font-size: .95rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #7fb8f3;
  font-weight: 700;
  margin-bottom: 16px;
}

.brands-parts-text h2{
  font-family: "Playfair Display", serif;
  font-size: 3rem;
  line-height: 1.08;
  color: #ffffff;
  margin-bottom: 22px;
  max-width: 650px;
}

.brands-parts-description{
  color: rgba(255,255,255,.82);
  font-size: 1.05rem;
  line-height: 1.82;
  margin-bottom: 18px;
  max-width: 92%;
}

.brands-parts-badges{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 10px;
}

.brands-parts-badges span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 16px;
  border-radius: 999px;
  background: linear-gradient(
    180deg,
    rgba(123,184,243,.22),
    rgba(123,184,243,.10)
  );
  border: 1px solid rgba(140,197,255,.22);
  color: #dcecff;
  font-size: .94rem;
  font-weight: 600;
}

.brands-parts-image-wrap{
  display: flex;
  align-items: center;
  justify-content: center;
}

.brands-parts-image{
  width: 100%;
  max-width: 100%;
  display: block;
  border-radius: 22px;
  background: #ffffff;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
}

/* RESPONSIVE */

@media (max-width: 1100px){
  .brands-parts-card{
    grid-template-columns: 1fr;
  }

  .brands-parts-text h2{
    max-width: 100%;
  }

  .brands-parts-description{
    max-width: 100%;
  }
}

@media (max-width: 700px){
  .brands-parts-section{
    padding: 10px 8% 95px;
  }

  .brands-parts-card{
    padding: 24px;
  }

  .brands-parts-text h2{
    font-size: 2.2rem;
  }

  .brands-parts-description{
    font-size: 1rem;
  }

  .brands-parts-image{
    padding: 12px;
  }
}

@media (max-width: 500px){
  .brands-parts-text h2{
    font-size: 1.85rem;
  }

  .brands-parts-card{
    padding: 20px;
  }
}

/* ABOUT PAGE */

.about-hero{
  position: relative;
  padding: 90px 8% 90px;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(120,181,230,.08), transparent 30%),
    linear-gradient(180deg, #031926 0%, #052740 50%, #031f33 100%);
}

.about-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to bottom,
    rgba(3,25,38,0.96) 0%,
    rgba(3,25,38,0.72) 10%,
    rgba(3,25,38,0.18) 24%,
    rgba(3,25,38,0) 38%
  );
  pointer-events:none;
  z-index:1;
}

.about-hero-container{
  position: relative;
  z-index: 2;
  max-width: 1350px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 40px;
  align-items: center;
}

.about-hero-text{
  max-width: 760px;
  position: relative;
  z-index: 3;
}

.about-eyebrow,
.about-section-eyebrow{
  font-size: .95rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #7fb8f3;
  font-weight: 700;
  margin-bottom: 16px;
}

.about-hero-text h1{
  font-family: "Playfair Display", serif;
  font-size: 4.8rem;
  line-height: 1.02;
  margin-bottom: 26px;
  color: #ffffff;
}

.about-hero-text h1 span{
  color: #8ec5ff;
}

.about-hero-description{
  color: rgba(255,255,255,.82);
  font-size: 1.08rem;
  line-height: 1.85;
  margin-bottom: 24px;
  max-width: 92%;
}

.about-hero-badges{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.about-hero-badges span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 16px;
  border-radius: 999px;
  background: linear-gradient(
    180deg,
    rgba(123,184,243,.22),
    rgba(123,184,243,.10)
  );
  border: 1px solid rgba(140,197,255,.22);
  color: #dcecff;
  font-size: .94rem;
  font-weight: 600;
}

.about-hero-image{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-height:520px;
}

.about-hero-image img{
  width:100%;
  max-width:640px;
  height:auto;
  display:block;
  object-fit:cover;
  border-radius:0;
  border:none;
  box-shadow:none;
  -webkit-mask-image:
    linear-gradient(to left, rgba(0,0,0,1) 62%, rgba(0,0,0,0) 100%),
    linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 18%, rgba(0,0,0,1) 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(to left, rgba(0,0,0,1) 62%, rgba(0,0,0,0) 100%),
    linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 18%, rgba(0,0,0,1) 100%);
  mask-composite: intersect;
}

/* STORY */

.about-story-section{
  padding: 20px 8% 110px;
  background:
    radial-gradient(circle at top left, rgba(120,181,230,.08), transparent 30%),
    linear-gradient(180deg, #031f33 0%, #052c46 50%, #031c2d 100%);
}

.about-story-container{
  max-width: 1350px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 28px;
  align-items: stretch;
}

.about-story-card,
.about-side-card,
.about-serve-card,
.about-cta-container{
  background: linear-gradient(
    180deg,
    rgba(120,172,227,.10),
    rgba(255,255,255,.035)
  );
  border: 1px solid rgba(140,192,246,.14);
  border-radius: 24px;
  padding: 42px 38px;
  box-shadow: 0 18px 45px rgba(0,0,0,.20);
}

.about-story-card h2,
.about-serve-card h2,
.about-cta-container h2{
  font-family: "Playfair Display", serif;
  font-size: 2.5rem;
  line-height: 1.12;
  margin-bottom: 22px;
  color: #ffffff;
}

.about-story-card p,
.about-side-card p,
.about-serve-text,
.about-cta-text{
  color: rgba(255,255,255,.82);
  font-size: 1.05rem;
  line-height: 1.85;
  margin-bottom: 18px;
}

.about-side-card h3{
  font-size: 2rem;
  line-height: 1.2;
  margin-bottom: 22px;
  color: #8ec5ff;
  max-width: 320px;
}

.about-check-list{
  list-style: none;
  padding: 0;
  margin: 0;
}

.about-check-list li{
  position: relative;
  padding-left: 22px;
  margin-bottom: 14px;
  color: rgba(255,255,255,.88);
  line-height: 1.6;
}

.about-check-list li::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #8ec5ff;
  font-weight: 700;
}

/* VALUES */

.about-values-section{
  padding: 20px 8% 110px;
  background:
    radial-gradient(circle at center top, rgba(120,181,230,.08), transparent 28%),
    linear-gradient(180deg, #031c2d 0%, #05263d 45%, #031926 100%);
}

.about-values-container{
  max-width: 1350px;
  margin: 0 auto;
}

.about-heading{
  text-align: center;
  max-width: 860px;
  margin: 0 auto 60px;
}

.about-heading h2{
  font-family: "Playfair Display", serif;
  font-size: 3.6rem;
  line-height: 1.1;
  margin-bottom: 18px;
  color: #ffffff;
}

.about-section-subtext{
  color: rgba(255,255,255,.76);
  font-size: 1.05rem;
  line-height: 1.75;
}

.about-values-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.about-value-card{
  background: linear-gradient(
    180deg,
    rgba(120,172,227,.11),
    rgba(255,255,255,.035)
  );
  border: 1px solid rgba(140,192,246,.14);
  border-radius: 24px;
  padding: 32px 26px;
  box-shadow: 0 18px 45px rgba(0,0,0,.20);
  transition: .25s;
}

.about-value-card:hover{
  transform: translateY(-6px);
  border-color: rgba(140,192,246,.28);
}

.about-value-card h3{
  font-size: 1.5rem;
  line-height: 1.2;
  color: #8ec5ff;
  margin-bottom: 16px;
}

.about-value-card p{
  color: rgba(255,255,255,.82);
  font-size: 1rem;
  line-height: 1.75;
}

/* WHO WE SERVE */

.about-serve-section{
  padding: 10px 8% 110px;
  background:
    radial-gradient(circle at top right, rgba(120,181,230,.08), transparent 30%),
    linear-gradient(180deg, #031926 0%, #052740 55%, #031f33 100%);
}

.about-serve-container,
.about-cta-container-wrap{
  max-width: 1350px;
  margin: 0 auto;
}

.about-serve-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
}

.about-serve-tags span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 999px;
  background: linear-gradient(
    180deg,
    rgba(123,184,243,.22),
    rgba(123,184,243,.10)
  );
  border: 1px solid rgba(140,197,255,.22);
  color: #dcecff;
  font-size: .95rem;
  font-weight: 600;
}

/* CTA */

.about-cta-section{
  padding: 10px 8% 120px;
  background:
    radial-gradient(circle at center top, rgba(120,181,230,.08), transparent 28%),
    linear-gradient(180deg, #031f33 0%, #052c46 50%, #031926 100%);
}

.about-cta-container{
  max-width: 1350px;
  margin: 0 auto;
  text-align: center;
}

.about-cta-container h2{
  margin-bottom: 18px;
}

.about-cta-text{
  max-width: 820px;
  margin: 0 auto 28px;
}

.about-cta-container .buttons{
  justify-content: center;
}

.about-link-btn{
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ABOUT RESPONSIVE */

@media (max-width: 1100px){
  .about-hero-container,
  .contact-hero-container,
  .about-story-container{
    grid-template-columns: 1fr;
  }

  .about-values-grid{
    grid-template-columns: repeat(2, 1fr);
  }

  .about-hero-text h1{
    font-size: 4rem;
  }

  .about-hero-image,
  .contact-hero-image{
    min-height:auto;
    justify-content:center;
    margin-top:20px;
  }

  .about-hero-image img,
  .contact-hero-image img{
    max-width:520px;
  }
}

@media (max-width: 860px){
  .about-hero{
    padding: 60px 8% 70px;
  }

  .about-hero-text h1{
    font-size: 3.2rem;
  }

  .about-hero-image img,
  .contact-hero-image img{
    width:100%;
    max-width:100%;
    -webkit-mask-image:none;
    mask-image:none;
  }

  .about-story-card h2,
  .about-serve-card h2,
  .about-cta-container h2{
    font-size: 2.1rem;
  }

  .about-heading h2{
    font-size: 2.8rem;
  }
}

@media (max-width: 700px){
  .about-values-grid{
    grid-template-columns: 1fr;
  }

  .about-story-card,
  .about-side-card,
  .about-serve-card,
  .about-cta-container{
    padding: 30px 24px;
  }

  .about-hero-text h1{
    font-size: 2.6rem;
  }

  .about-heading h2{
    font-size: 2.2rem;
  }

  .about-story-card h2,
  .about-serve-card h2,
  .about-cta-container h2{
    font-size: 1.85rem;
  }

  .about-hero-description,
  .about-story-card p,
  .about-side-card p,
  .about-serve-text,
  .about-cta-text{
    font-size: 1rem;
  }
}

@media (max-width: 500px){
  .about-hero-text h1{
    font-size: 2.2rem;
  }

  .about-side-card h3{
    font-size: 1.6rem;
  }
}/* BUTTON LINKS */

.nav-btn-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

.contact-link-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

/* CONTACT PAGE */

.contact-hero{
  position: relative;
  padding:90px 8% 90px;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(120,181,230,.08), transparent 30%),
    linear-gradient(180deg, #031926 0%, #052740 50%, #031f33 100%);
}

.contact-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to bottom,
    rgba(3,25,38,0.96) 0%,
    rgba(3,25,38,0.72) 10%,
    rgba(3,25,38,0.18) 24%,
    rgba(3,25,38,0) 38%
  );
  pointer-events:none;
  z-index:1;
}

.about-hero-container,
.contact-hero-container{
  position: relative;
  z-index: 2;
}

.contact-hero-container{
  max-width:1350px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:40px;
  align-items:center;
}

.contact-hero-text{
  max-width:760px;
  position: relative;
  z-index: 3;
}

.contact-eyebrow,
.contact-section-eyebrow{
  font-size:.95rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#7fb8f3;
  font-weight:700;
  margin-bottom:16px;
}

.contact-hero-text h1{
  font-family:"Playfair Display", serif;
  font-size:4.7rem;
  line-height:1.02;
  margin-bottom:26px;
  color:#ffffff;
}

.contact-hero-text h1 span{
  color:#8ec5ff;
}

.contact-hero-description{
  color:rgba(255,255,255,.82);
  font-size:1.08rem;
  line-height:1.85;
  margin-bottom:24px;
  max-width:92%;
}

.contact-hero-badges{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:28px;
}

.contact-hero-badges span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 16px;
  border-radius:999px;
  background:linear-gradient(
    180deg,
    rgba(123,184,243,.22),
    rgba(123,184,243,.10)
  );
  border:1px solid rgba(140,197,255,.22);
  color:#dcecff;
  font-size:.94rem;
  font-weight:600;
}

.contact-hero-image{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-height:520px;
}

.contact-hero-image img{
  width:100%;
  max-width:640px;
  height:auto;
  display:block;
  object-fit:cover;
  border-radius:0;
  border:none;
  box-shadow:none;
  -webkit-mask-image:
    linear-gradient(to left, rgba(0,0,0,1) 62%, rgba(0,0,0,0) 100%),
    linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 18%, rgba(0,0,0,1) 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(to left, rgba(0,0,0,1) 62%, rgba(0,0,0,0) 100%),
    linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 18%, rgba(0,0,0,1) 100%);
  mask-composite: intersect;
}

/* CONTACT MAIN */

.contact-main-section{
  padding:20px 8% 110px;
  background:
    radial-gradient(circle at top left, rgba(120,181,230,.08), transparent 30%),
    linear-gradient(180deg, #031f33 0%, #052c46 50%, #031c2d 100%);
}

.contact-main-container{
  max-width:1350px;
  margin:0 auto;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:28px;
  align-items:start;
}

.contact-info-column{
  display:flex;
  flex-direction:column;
  gap:28px;
}

.contact-info-card,
.contact-help-card,
.contact-form-card,
.contact-cta-container{
  background:linear-gradient(
    180deg,
    rgba(120,172,227,.10),
    rgba(255,255,255,.035)
  );
  border:1px solid rgba(140,192,246,.14);
  border-radius:24px;
  padding:42px 38px;
  box-shadow:0 18px 45px rgba(0,0,0,.20);
}

.contact-info-card h2,
.contact-form-card h2,
.contact-cta-container h2{
  font-family:"Playfair Display", serif;
  font-size:2.4rem;
  line-height:1.12;
  margin-bottom:22px;
  color:#ffffff;
}

.contact-help-card h3{
  font-size:1.9rem;
  line-height:1.2;
  margin-bottom:22px;
  color:#8ec5ff;
  max-width:320px;
}

.contact-info-list{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.contact-info-item h3{
  font-size:1rem;
  color:#8ec5ff;
  margin-bottom:8px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.contact-info-item p{
  color:rgba(255,255,255,.86);
  font-size:1.04rem;
  line-height:1.75;
}

.contact-info-item a{
  color:#dcecff;
  text-decoration:none;
}

.contact-info-item a:hover{
  text-decoration:underline;
}

.contact-check-list{
  list-style:none;
  padding:0;
  margin:0;
}

.contact-check-list li{
  position:relative;
  padding-left:22px;
  margin-bottom:14px;
  color:rgba(255,255,255,.88);
  line-height:1.6;
}

.contact-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#8ec5ff;
  font-weight:700;
}

.contact-form-intro{
  color:rgba(255,255,255,.80);
  font-size:1.02rem;
  line-height:1.8;
  margin-bottom:24px;
}

/* FORM */

.service-form{
  width:100%;
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.form-group{
  display:flex;
  flex-direction:column;
}

.form-group-full{
  grid-column:1 / -1;
}

.form-group label{
  margin-bottom:10px;
  color:#dcecff;
  font-size:.96rem;
  font-weight:600;
}

.form-group input,
.form-group select,
.form-group textarea{
  width:100%;
  padding:15px 16px;
  border-radius:14px;
  border:1px solid rgba(140,192,246,.16);
  background:rgba(255,255,255,.05);
  color:#ffffff;
  font-size:15px;
  font-family:Inter, sans-serif;
  outline:none;
}

/* fixes dropdown visibility */
.form-group select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;

  background:
    linear-gradient(45deg, transparent 50%, #dcecff 50%) calc(100% - 22px) calc(50% - 3px) / 7px 7px no-repeat,
    linear-gradient(135deg, #dcecff 50%, transparent 50%) calc(100% - 16px) calc(50% - 3px) / 7px 7px no-repeat,
    rgba(255,255,255,.05);

  padding-right:44px;
  cursor:pointer;
}

.form-group select option{
  background:#0b2233;
  color:#ffffff;
}

.form-group select:invalid{
  color:rgba(255,255,255,.55);
}

.form-group input::placeholder,
.form-group textarea::placeholder{
  color:rgba(255,255,255,.52);
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  border-color:rgba(140,192,246,.42);
  box-shadow:0 0 0 3px rgba(111,174,223,.12);
}

.form-group textarea{
  resize:vertical;
  min-height:140px;
}

.form-group small{
  margin-top:8px;
  color:rgba(255,255,255,.60);
  font-size:.88rem;
  line-height:1.5;
}

.form-submit-btn{
  margin-top:24px;
}

/* TRUST */

.contact-trust-section{
  padding:20px 8% 110px;
  background:
    radial-gradient(circle at center top, rgba(120,181,230,.08), transparent 28%),
    linear-gradient(180deg, #031c2d 0%, #05263d 45%, #031926 100%);
}

.contact-trust-container{
  max-width:1350px;
  margin:0 auto;
}

.contact-heading{
  text-align:center;
  max-width:860px;
  margin:0 auto 60px;
}

.contact-heading h2{
  font-family:"Playfair Display", serif;
  font-size:3.4rem;
  line-height:1.1;
  margin-bottom:18px;
  color:#ffffff;
}

.contact-section-subtext{
  color:rgba(255,255,255,.76);
  font-size:1.05rem;
  line-height:1.75;
}

.contact-trust-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
}

.contact-trust-card{
  background:linear-gradient(
    180deg,
    rgba(120,172,227,.11),
    rgba(255,255,255,.035)
  );
  border:1px solid rgba(140,192,246,.14);
  border-radius:24px;
  padding:32px 26px;
  box-shadow:0 18px 45px rgba(0,0,0,.20);
  transition:.25s;
}

.contact-trust-card:hover{
  transform:translateY(-6px);
  border-color:rgba(140,192,246,.28);
}

.contact-trust-card h3{
  font-size:1.5rem;
  line-height:1.2;
  color:#8ec5ff;
  margin-bottom:16px;
}

.contact-trust-card p{
  color:rgba(255,255,255,.82);
  font-size:1rem;
  line-height:1.75;
}

/* CTA */

.contact-cta-section{
  padding:10px 8% 120px;
  background:
    radial-gradient(circle at center top, rgba(120,181,230,.08), transparent 28%),
    linear-gradient(180deg, #031f33 0%, #052c46 50%, #031926 100%);
}

.contact-cta-container{
  max-width:1350px;
  margin:0 auto;
  text-align:center;
}

.contact-cta-text{
  max-width:820px;
  margin:0 auto 28px;
  color:rgba(255,255,255,.82);
  font-size:1.05rem;
  line-height:1.8;
}

/* RESPONSIVE */

@media (max-width:1100px){
  .contact-hero-container,
  .contact-main-container{
    grid-template-columns:1fr;
  }

  .contact-trust-grid{
    grid-template-columns:repeat(2, 1fr);
  }

  .contact-hero-text h1{
    font-size:4rem;
  }
}

@media (max-width:860px){
  .contact-hero{
    padding:60px 8% 70px;
  }

  .contact-hero-text h1{
    font-size:3.2rem;
  }

  .contact-info-card h2,
  .contact-form-card h2,
  .contact-cta-container h2{
    font-size:2rem;
  }

  .contact-heading h2{
    font-size:2.7rem;
  }

  .form-grid{
    grid-template-columns:1fr;
  }

  .form-group-full{
    grid-column:auto;
  }
}

@media (max-width:700px){
  .contact-trust-grid{
    grid-template-columns:1fr;
  }

  .contact-info-card,
  .contact-help-card,
  .contact-form-card,
  .contact-cta-container{
    padding:30px 24px;
  }

  .contact-hero-text h1{
    font-size:2.6rem;
  }

  .contact-heading h2{
    font-size:2.2rem;
  }

  .contact-hero-description,
  .contact-form-intro,
  .contact-cta-text{
    font-size:1rem;
  }
}

@media (max-width:500px){
  .contact-hero-text h1{
    font-size:2.2rem;
  }

  .contact-help-card h3{
    font-size:1.55rem;
  }
}
.service-card-link{
text-decoration:none;
display:block;
color:inherit;
}

.service-card-link:hover .service-card{
transform:translateY(-6px);
border-color:rgba(140,192,246,.35);
cursor:pointer;
}

/* FAQ SECTION */

.faq-section{
  padding:20px 8% 120px;
  background:
    radial-gradient(circle at top left, rgba(120,181,230,.08), transparent 30%),
    linear-gradient(180deg, #031926 0%, #052740 45%, #031f33 100%);
}

.faq-container{
  max-width:1350px;
  margin:0 auto;
}

.faq-heading{
  text-align:center;
  max-width:860px;
  margin:0 auto 60px;
}

.faq-eyebrow{
  font-size:.95rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#7fb8f3;
  font-weight:700;
  margin-bottom:16px;
}

.faq-heading h2{
  font-family:"Playfair Display", serif;
  font-size:3.4rem;
  line-height:1.1;
  color:#ffffff;
  margin-bottom:18px;
}

.faq-subtext{
  color:rgba(255,255,255,.76);
  font-size:1.05rem;
  line-height:1.75;
}

.faq-list{
  max-width:950px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:18px;
}

.faq-item{
  background:linear-gradient(
    180deg,
    rgba(120,172,227,.10),
    rgba(255,255,255,.035)
  );
  border:1px solid rgba(140,192,246,.14);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(0,0,0,.20);
}

.faq-question{
  width:100%;
  background:transparent;
  border:none;
  color:#ffffff;
  padding:24px 26px;
  text-align:left;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-size:1.15rem;
  font-weight:600;
  cursor:pointer;
}

.faq-question:hover{
  background:rgba(255,255,255,.02);
}

.faq-icon{
  font-size:1.8rem;
  line-height:1;
  color:#8ec5ff;
  flex-shrink:0;
}

.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .3s ease;
}

.faq-answer p{
  padding:0 26px 24px;
  color:rgba(255,255,255,.82);
  font-size:1rem;
  line-height:1.8;
}

.faq-item.active .faq-answer{
  max-height:220px;
}

.faq-item.active .faq-icon{
  content:"−";
}

@media (max-width:700px){
  .faq-section{
    padding:10px 8% 95px;
  }

  .faq-heading{
    margin-bottom:40px;
  }

  .faq-heading h2{
    font-size:2.4rem;
  }

  .faq-subtext{
    font-size:1rem;
  }

  .faq-question{
    padding:20px 20px;
    font-size:1.02rem;
  }

  .faq-answer p{
    padding:0 20px 20px;
  }
}

/* =========================================
   SHARED APPLIANCE REPAIR PAGES
   washer / dryer / fridge / stove / dishwasher
========================================= */

.appliance-link-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

/* HERO */

.appliance-hero{
  position:relative;
  padding:90px 8% 90px;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(120,181,230,.08), transparent 30%),
    linear-gradient(180deg, #031926 0%, #052740 50%, #031f33 100%);
}

.appliance-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to bottom,
    rgba(3,25,38,0.96) 0%,
    rgba(3,25,38,0.72) 10%,
    rgba(3,25,38,0.18) 24%,
    rgba(3,25,38,0) 38%
  );
  pointer-events:none;
  z-index:1;
}

.appliance-hero-container{
  position:relative;
  z-index:2;
  max-width:1350px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:40px;
  align-items:center;
}

.appliance-hero-text{
  max-width:760px;
  position:relative;
  z-index:3;
}

.appliance-eyebrow,
.appliance-section-eyebrow{
  font-size:.95rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#7fb8f3;
  font-weight:700;
  margin-bottom:16px;
}

.appliance-hero-text h1{
  font-family:"Playfair Display", serif;
  font-size:4.7rem;
  line-height:1.02;
  margin-bottom:26px;
  color:#ffffff;
}

.appliance-hero-text h1 span{
  color:#8ec5ff;
}

.appliance-hero-description{
  color:rgba(255,255,255,.82);
  font-size:1.08rem;
  line-height:1.85;
  margin-bottom:24px;
  max-width:92%;
}

.appliance-hero-badges{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:28px;
}

.appliance-hero-badges span,
.appliance-tags span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 16px;
  border-radius:999px;
  background:linear-gradient(
    180deg,
    rgba(123,184,243,.22),
    rgba(123,184,243,.10)
  );
  border:1px solid rgba(140,197,255,.22);
  color:#dcecff;
  font-size:.94rem;
  font-weight:600;
}

.appliance-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:14px;
}

.appliance-hero-image{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-height:520px;
}

.appliance-hero-image img{
  width:100%;
  max-width:640px;
  height:auto;
  display:block;
  object-fit:cover;
  border-radius:0;
  border:none;
  box-shadow:none;
  -webkit-mask-image:
    linear-gradient(to left, rgba(0,0,0,1) 62%, rgba(0,0,0,0) 100%),
    linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 18%, rgba(0,0,0,1) 100%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to left, rgba(0,0,0,1) 62%, rgba(0,0,0,0) 100%),
    linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 18%, rgba(0,0,0,1) 100%);
  mask-composite:intersect;
}

/* SHARED SECTION LAYOUT */

.appliance-container{
  max-width:1350px;
  margin:0 auto;
}

.appliance-heading{
  text-align:center;
  max-width:860px;
  margin:0 auto 60px;
}

.appliance-heading h2{
  font-family:"Playfair Display", serif;
  font-size:3.4rem;
  line-height:1.1;
  color:#ffffff;
  margin-bottom:18px;
}

.appliance-section-subtext,
.appliance-body-text,
.appliance-card p,
.appliance-feature-text p,
.appliance-wide-text,
.appliance-cta-text{
  color:rgba(255,255,255,.80);
  font-size:1.03rem;
  line-height:1.8;
}

/* CARD BASE */

.appliance-card,
.appliance-feature-card,
.appliance-split-card,
.appliance-wide-card,
.appliance-cta-card{
  background:linear-gradient(
    180deg,
    rgba(120,172,227,.10),
    rgba(255,255,255,.035)
  );
  border:1px solid rgba(140,192,246,.14);
  border-radius:24px;
  box-shadow:0 18px 45px rgba(0,0,0,.20);
}

.appliance-card{
  padding:32px 26px;
  transition:.25s;
}

.appliance-card:hover,
.appliance-split-card:hover{
  transform:translateY(-6px);
  border-color:rgba(140,192,246,.28);
}

.appliance-card h3,
.appliance-feature-text h2,
.appliance-split-card h2,
.appliance-wide-card h2,
.appliance-cta-card h2{
  color:#ffffff;
}

.appliance-card h3{
  font-size:1.5rem;
  line-height:1.2;
  color:#8ec5ff;
  margin-bottom:16px;
}

/* COMMON PROBLEMS */

.appliance-problems-section{
  padding:20px 8% 110px;
  background:
    radial-gradient(circle at top left, rgba(120,181,230,.08), transparent 30%),
    linear-gradient(180deg, #031f33 0%, #052c46 50%, #031c2d 100%);
}

.appliance-problems-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}

/* FEATURE */

.appliance-feature-section{
  padding:10px 8% 110px;
  background:
    radial-gradient(circle at center top, rgba(120,181,230,.08), transparent 28%),
    linear-gradient(180deg, #031c2d 0%, #05263d 45%, #031926 100%);
}

.appliance-feature-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:stretch;
  padding:24px;
}

.appliance-feature-image-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
}

.appliance-feature-image{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  display:block;
  border-radius:20px;
}

.appliance-feature-text{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:10px 6px;
}

.appliance-feature-text h2{
  font-family:"Playfair Display", serif;
  font-size:2.8rem;
  line-height:1.08;
  margin-bottom:22px;
  max-width:680px;
}

.appliance-feature-text p{
  margin-bottom:18px;
}

/* BRANDS / SPLIT */

.appliance-brands-section{
  padding:10px 8% 110px;
  background:
    radial-gradient(circle at top right, rgba(120,181,230,.08), transparent 30%),
    linear-gradient(180deg, #031926 0%, #052740 55%, #031f33 100%);
}

.appliance-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}

.appliance-split-card{
  padding:42px 38px;
  transition:.25s;
}

.appliance-split-card h2{
  font-family:"Playfair Display", serif;
  font-size:2.35rem;
  line-height:1.12;
  margin-bottom:20px;
}

.appliance-list{
  list-style:none;
  padding:0;
  margin:20px 0 0 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 22px;
}

.appliance-list li{
  position:relative;
  padding-left:22px;
  color:rgba(255,255,255,.88);
  font-size:1rem;
  line-height:1.5;
}

.appliance-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#8ec5ff;
  font-weight:700;
}

/* AREA */

.appliance-area-section{
  padding:10px 8% 110px;
  background:
    radial-gradient(circle at top left, rgba(120,181,230,.08), transparent 30%),
    linear-gradient(180deg, #031f33 0%, #052c46 50%, #031c2d 100%);
}

.appliance-wide-card{
  padding:42px 38px;
  text-align:center;
}

.appliance-wide-card h2{
  font-family:"Playfair Display", serif;
  font-size:2.7rem;
  line-height:1.1;
  margin-bottom:18px;
}

.appliance-wide-text{
  max-width:860px;
  margin:0 auto 24px;
}

/* FAQ */

.appliance-faq-section{
  padding:20px 8% 110px;
  background:
    radial-gradient(circle at center top, rgba(120,181,230,.08), transparent 28%),
    linear-gradient(180deg, #031c2d 0%, #05263d 45%, #031926 100%);
}

.appliance-faq-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:24px;
}

/* CTA */

.appliance-cta-section{
  padding:10px 8% 120px;
  background:
    radial-gradient(circle at center top, rgba(120,181,230,.08), transparent 28%),
    linear-gradient(180deg, #031f33 0%, #052c46 50%, #031926 100%);
}

.appliance-cta-card{
  max-width:1350px;
  margin:0 auto;
  text-align:center;
  padding:42px 38px;
}

.appliance-cta-card h2{
  font-family:"Playfair Display", serif;
  font-size:2.5rem;
  line-height:1.12;
  margin-bottom:18px;
}

.appliance-cta-text{
  max-width:820px;
  margin:0 auto 28px;
}

/* RESPONSIVE */

@media (max-width:1100px){
  .appliance-hero-container,
  .appliance-feature-card,
  .appliance-split{
    grid-template-columns:1fr;
  }

  .appliance-problems-grid{
    grid-template-columns:repeat(2, 1fr);
  }

  .appliance-hero-text h1{
    font-size:4rem;
  }

  .appliance-hero-image{
    min-height:auto;
    justify-content:center;
    margin-top:20px;
  }

  .appliance-hero-image img{
    max-width:520px;
  }

  .appliance-feature-text h2{
    max-width:100%;
  }
}

@media (max-width:860px){
  .appliance-hero{
    padding:60px 8% 70px;
  }

  .appliance-hero-text h1{
    font-size:3.2rem;
  }

  .appliance-hero-image img{
    width:100%;
    max-width:100%;
    -webkit-mask-image:none;
    mask-image:none;
  }

  .appliance-heading h2{
    font-size:2.8rem;
  }

  .appliance-feature-text h2,
  .appliance-split-card h2,
  .appliance-wide-card h2,
  .appliance-cta-card h2{
    font-size:2rem;
  }
}

@media (max-width:700px){
  .appliance-problems-grid,
  .appliance-faq-grid,
  .appliance-list{
    grid-template-columns:1fr;
  }

  .appliance-feature-card,
  .appliance-split-card,
  .appliance-wide-card,
  .appliance-cta-card{
    padding:30px 24px;
  }

  .appliance-card{
    padding:28px 22px;
  }

  .appliance-hero-text h1{
    font-size:2.6rem;
  }

  .appliance-heading{
    margin-bottom:40px;
  }

  .appliance-heading h2{
    font-size:2.25rem;
  }

  .appliance-feature-text h2,
  .appliance-split-card h2,
  .appliance-wide-card h2,
  .appliance-cta-card h2{
    font-size:1.8rem;
  }

  .appliance-feature-image{
    min-height:280px;
  }

  .appliance-section-subtext,
  .appliance-body-text,
  .appliance-card p,
  .appliance-feature-text p,
  .appliance-wide-text,
  .appliance-cta-text{
    font-size:1rem;
  }
}

@media (max-width:500px){
  .appliance-hero-text h1{
    font-size:2.2rem;
  }

  .appliance-hero-badges,
  .appliance-tags{
    gap:10px;
  }

  .appliance-hero-badges span,
  .appliance-tags span{
    font-size:.88rem;
    padding:10px 14px;
  }
}

/* FOOTER */

.site-footer{
  position: relative;
  margin-top: 0;
  padding: 95px 6% 40px;
  background:
    radial-gradient(circle at top left, rgba(120,181,230,.10), transparent 28%),
    radial-gradient(circle at top right, rgba(120,181,230,.07), transparent 24%),
    linear-gradient(180deg, #031c2d 0%, #05263d 45%, #031926 100%);
  border-top: 1px solid rgba(140,192,246,.10);
  overflow: hidden;
}

.site-footer::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(142,197,255,.35) 20%,
    rgba(142,197,255,.15) 50%,
    rgba(142,197,255,.35) 80%,
    transparent 100%
  );
}

.site-footer::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    rgba(255,255,255,.025) 0%,
    rgba(255,255,255,0) 20%
  );
}

/* LAYOUT */

.footer-container{
  position: relative;
  z-index: 1;
  max-width: 1500px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.45fr 1fr 1fr 1fr;
  gap: 70px;
  align-items: start;
}

/* COLUMNS */

.footer-col{
  min-width: 0;
}

.footer-col h3{
  margin-bottom: 22px;
  color: #8ec5ff;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  position: relative;
  padding-bottom: 12px;
}

.footer-col h3::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:44px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(
    90deg,
    #8ec5ff 0%,
    rgba(142,197,255,.15) 100%
  );
}

.footer-col p,
.footer-col a,
.footer-col li{
  color: rgba(255,255,255,.80);
  font-size: 0.98rem;
  line-height: 1.9;
  text-decoration: none;
}

.footer-col a{
  transition: color .2s ease, opacity .2s ease, transform .2s ease;
}

.footer-col a:hover{
  color: #8ec5ff;
}

.footer-col ul{
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-col li{
  margin-bottom: 10px;
}

.footer-col li a{
  display: inline-block;
}

.footer-col li a:hover{
  transform: translateX(3px);
}

/* BRAND COLUMN */

.footer-logo{
  width: 175px;
  height: auto;
  display: block;
  margin-bottom: 26px;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.18));
}

.footer-description{
  max-width: 390px;
  margin-bottom: 16px;
  color: rgba(255,255,255,.76);
}

.since{
  display: inline-block;
  margin-top: 6px;
  color: #dcecff;
  font-size: .93rem;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 999px;
  background: linear-gradient(
    180deg,
    rgba(123,184,243,.18),
    rgba(123,184,243,.08)
  );
  border: 1px solid rgba(140,197,255,.16);
}

/* CONTACT / SERVICE TEXT SPACING */

.footer-col p + p{
  margin-top: 10px;
}

/* BOTTOM */

.footer-bottom{
  position: relative;
  z-index: 1;
  max-width: 1500px;
  margin: 72px auto 0;
  padding-top: 24px;
  text-align: center;
  font-size: .9rem;
  color: rgba(255,255,255,.55);
  border-top: 1px solid rgba(140,192,246,.08);
}

/* RESPONSIVE */

@media (max-width: 1200px){
  .footer-container{
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 50px;
  }
}

@media (max-width: 950px){
  .footer-container{
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }

  .footer-bottom{
    margin-top: 50px;
  }
}

@media (max-width: 700px){
  .site-footer{
    padding: 75px 8% 34px;
  }

  .footer-container{
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .footer-logo{
    width: 150px;
  }

  .footer-col h3{
    margin-bottom: 18px;
  }

  .footer-bottom{
    margin-top: 40px;
    padding-top: 20px;
  }

  
}

.footer-icon-line{
display:flex;
align-items:flex-start;
gap:10px;
margin-bottom:10px;
}

.footer-icon{
width:20px;
height:20px;
min-width:20px;
color:#7fb8f3;
display:inline-flex;
align-items:center;
justify-content:center;
margin-top:2px;
}

.footer-icon svg{
width:20px;
height:20px;
display:block;
}

/* =========================
   REVIEWS PAGE
========================= */

.reviews-container{
  max-width:1350px;
  margin:0 auto;
}

.reviews-hero{
  position:relative;
  padding:90px 8% 70px;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(120,181,230,.08), transparent 30%),
    linear-gradient(180deg, #031926 0%, #052740 50%, #031f33 100%);
}

.reviews-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to bottom,
    rgba(3,25,38,0.96) 0%,
    rgba(3,25,38,0.72) 10%,
    rgba(3,25,38,0.18) 24%,
    rgba(3,25,38,0) 38%
  );
  pointer-events:none;
  z-index:1;
}

.reviews-hero .reviews-container{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:900px;
}

.reviews-eyebrow{
  font-size:.95rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#7fb8f3;
  font-weight:700;
  margin-bottom:16px;
}

.reviews-hero h1{
  font-family:"Playfair Display", serif;
  font-size:4.2rem;
  line-height:1.05;
  color:#ffffff;
  margin-bottom:20px;
}

.reviews-intro{
  color:rgba(255,255,255,.80);
  font-size:1.08rem;
  line-height:1.8;
  max-width:760px;
  margin:0 auto;
}

.reviews-summary-section{
  padding:20px 8% 20px;
  background:
    radial-gradient(circle at top left, rgba(120,181,230,.08), transparent 30%),
    linear-gradient(180deg, #031f33 0%, #052c46 50%, #031c2d 100%);
}

.reviews-summary-card{
  background:linear-gradient(
    180deg,
    rgba(120,172,227,.10),
    rgba(255,255,255,.035)
  );
  border:1px solid rgba(140,192,246,.14);
  border-radius:24px;
  padding:38px 34px;
  box-shadow:0 18px 45px rgba(0,0,0,.20);
  display:grid;
  grid-template-columns:260px 1fr;
  gap:30px;
  align-items:center;
}

.reviews-summary-left{
  text-align:center;
  border-right:1px solid rgba(255,255,255,.08);
  padding-right:24px;
}

.reviews-score{
  font-size:3.6rem;
  line-height:1;
  font-weight:800;
  color:#ffffff;
  margin-bottom:10px;
}

.large-stars{
  font-size:1.5rem;
  letter-spacing:.08em;
}

.reviews-stars{
  color:#fbbc04;
  margin-bottom:10px;
}

.reviews-count{
  color:rgba(255,255,255,.70);
  font-size:.98rem;
}

.reviews-summary-right{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.rating-row{
  display:grid;
  grid-template-columns:20px 1fr;
  gap:14px;
  align-items:center;
  color:#dcecff;
  font-weight:600;
}

.rating-bar{
  height:11px;
  background:rgba(255,255,255,.10);
  border-radius:999px;
  overflow:hidden;
}

.rating-fill{
  height:100%;
  background:linear-gradient(90deg, #4285f4, #6aa9ff);
  border-radius:999px;
}

.w-92{ width:92%; }
.w-06{ width:6%; }
.w-02{ width:2%; }
.w-00{ width:0%; }

.reviews-list-section{
  padding:20px 8% 110px;
  background:
    radial-gradient(circle at center top, rgba(120,181,230,.08), transparent 28%),
    linear-gradient(180deg, #031c2d 0%, #05263d 45%, #031926 100%);
}

.reviews-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:24px;
}

.google-review-card{
  background:#ffffff;
  border-radius:22px;
  padding:24px;
  box-shadow:0 18px 40px rgba(0,0,0,.18);
  border:1px solid rgba(66,133,244,.12);
  transition:.25s;
}

.google-review-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 50px rgba(0,0,0,.22);
}

.review-top{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:16px;
}

.review-avatar{
  width:48px;
  height:48px;
  border-radius:50%;
  background:linear-gradient(135deg, #1e4d88, #2f7fe0);
  color:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:1rem;
  flex-shrink:0;
}

.review-meta h3{
  margin:0;
  font-size:1rem;
  color:#111827;
}

.review-meta p{
  margin:4px 0 0;
  font-size:.9rem;
  color:#6b7280;
}

.google-badge{
  margin-left:auto;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#f1f5fb;
  color:#4285f4;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:1rem;
  border:1px solid #dbe6f3;
}

.google-review-card p{
  margin:0;
  color:#3b4655;
  line-height:1.75;
  font-size:.98rem;
}

.reviews-cta{
  padding:0 8% 120px;
  background:
    radial-gradient(circle at center top, rgba(120,181,230,.08), transparent 28%),
    linear-gradient(180deg, #031f33 0%, #052c46 50%, #031926 100%);
}

.reviews-cta-box{
  background:linear-gradient(
    180deg,
    rgba(120,172,227,.12),
    rgba(255,255,255,.04)
  );
  border:1px solid rgba(140,192,246,.14);
  border-radius:24px;
  padding:42px 38px;
  text-align:center;
  box-shadow:0 18px 45px rgba(0,0,0,.20);
}

.reviews-cta-box h2{
  font-family:"Playfair Display", serif;
  font-size:2.6rem;
  line-height:1.1;
  color:#ffffff;
  margin-bottom:18px;
}

.reviews-cta-box p{
  color:rgba(255,255,255,.82);
  font-size:1.05rem;
  line-height:1.8;
  max-width:780px;
  margin:0 auto 28px;
}

.reviews-buttons{
  justify-content:center;
}

@media (max-width:1100px){
  .reviews-summary-card{
    grid-template-columns:1fr;
  }

  .reviews-summary-left{
    border-right:none;
    border-bottom:1px solid rgba(255,255,255,.08);
    padding-right:0;
    padding-bottom:22px;
  }

  .reviews-grid{
    grid-template-columns:1fr;
  }

  .reviews-hero h1{
    font-size:3.6rem;
  }
}

@media (max-width:860px){
  .reviews-hero{
    padding:60px 8% 60px;
  }

  .reviews-hero h1{
    font-size:3rem;
  }

  .reviews-cta-box h2{
    font-size:2.1rem;
  }
}

@media (max-width:700px){
  .reviews-summary-card,
  .reviews-cta-box{
    padding:30px 24px;
  }

  .reviews-hero h1{
    font-size:2.4rem;
  }

  .reviews-intro,
  .reviews-cta-box p{
    font-size:1rem;
  }
}

@media (max-width:500px){
  .reviews-hero h1{
    font-size:2.1rem;
  }

  .reviews-score{
    font-size:3rem;
  }
}

.review-name-row{
  display:flex;
  align-items:center;
  gap:10px;
}

.review-stars-inline{
  color:#fbbc04;
  font-size:0.9rem;
  letter-spacing:2px;
  transform:translateY(-1px);
}

.logo img{
  transition:transform .4s ease;
}

.logo img:hover{
  transform:scale(1.02);
}

.nav a{
  position:relative;
  transition:color .2s ease;
}

.nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:0;
  height:2px;
  background:#6faedf;
  transition:width .25s ease;
}

.nav a:hover::after{
  width:100%;
}

.btn-primary{
  background:linear-gradient(180deg,#78b5e6,#5a97c8);
  border:none;
  padding:14px 24px;
  border-radius:10px;
  color:white;
  font-size:15px;
  font-weight:600;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(84,145,194,.20);
  transition:all .25s ease;
}

.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(84,145,194,.35);
  filter:brightness(1.05);
}

.services-section{
box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}

.language-switch{
display:flex;
align-items:center;
gap:6px;
margin:0 12px;
font-weight:500;
}

.lang-btn{
text-decoration:none;
color:rgba(255,255,255,.65);
font-size:14px;
transition:.2s;
}

.lang-btn:hover{
color:#7fb8f3;
}

.active-lang{
color:#7fb8f3;
font-weight:600;
}

.lang-separator{
color:rgba(255,255,255,.35);
font-size:14px;
}

/* THANK YOU PAGE */

.thank-you-section{
  min-height:calc(100vh - 110px);
  padding:100px 8% 120px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at top right, rgba(120,181,230,.08), transparent 30%),
    linear-gradient(180deg, #031926 0%, #052740 50%, #031f33 100%);
}

.thank-you-container{
  width:100%;
  max-width:1100px;
  margin:0 auto;
}

.thank-you-card{
  background:linear-gradient(
    180deg,
    rgba(120,172,227,.10),
    rgba(255,255,255,.035)
  );
  border:1px solid rgba(140,192,246,.14);
  border-radius:28px;
  padding:56px 46px;
  box-shadow:0 18px 45px rgba(0,0,0,.20);
  text-align:center;
}

.thank-you-icon-wrap{
  display:flex;
  justify-content:center;
  margin-bottom:22px;
}

.thank-you-icon{
  width:82px;
  height:82px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2rem;
  font-weight:700;
  color:#ffffff;
  background:linear-gradient(
    180deg,
    #78b5e6,
    #5a97c8
  );
  box-shadow:0 10px 24px rgba(84,145,194,.20);
}

.thank-you-eyebrow{
  font-size:.95rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#7fb8f3;
  font-weight:700;
  margin-bottom:16px;
}

.thank-you-card h1{
  font-family:"Playfair Display", serif;
  font-size:4.2rem;
  line-height:1.05;
  color:#ffffff;
  margin-bottom:22px;
}

.thank-you-card h1 span{
  color:#8ec5ff;
}

.thank-you-text{
  max-width:760px;
  margin:0 auto 26px;
  color:rgba(255,255,255,.82);
  font-size:1.08rem;
  line-height:1.85;
}

.thank-you-badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-bottom:30px;
}

.thank-you-badges span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 16px;
  border-radius:999px;
  background:linear-gradient(
    180deg,
    rgba(123,184,243,.22),
    rgba(123,184,243,.10)
  );
  border:1px solid rgba(140,197,255,.22);
  color:#dcecff;
  font-size:.94rem;
  font-weight:600;
}

.thank-you-buttons{
  justify-content:center;
}

@media (max-width:860px){
  .thank-you-section{
    padding:70px 8% 90px;
  }

  .thank-you-card{
    padding:38px 26px;
  }

  .thank-you-card h1{
    font-size:3rem;
  }

  .thank-you-text{
    font-size:1rem;
  }
}

@media (max-width:500px){
  .thank-you-card h1{
    font-size:2.3rem;
  }

  .thank-you-icon{
    width:68px;
    height:68px;
    font-size:1.6rem;
  }
}