:root{
  --top-band: #cfcfc8;     /* the darker band */
  --bottom-band: #EDEAE6;  /* the lighter band */
  --accent: #bfe3dd;       /* button color */
}



body{
  margin:0;
  font-family: 'Times New Roman', Times, serif;
  font-weight: 400;
  font-style: normal;
  background: var(--bottom-band);
  color:#111;
}

.color::before {
  content: "";
  position: fixed; /* stays still when scrolling */
  inset: 0;        /* top:0 right:0 bottom:0 left:0 */

  background-image: url("blue.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; /* one giant image */

  opacity: 0.09; /* 99.2% transparent = 0.8% visible */
  z-index: -1;    /* sits behind everything */
  pointer-events: none; /* prevents blocking clicks */
}

/* The overall hero wrapper */
.hero{
  position: relative;
  overflow: hidden;
  ;
}

/* This creates the two-tone background */
.hero__topBand{
  height: 415px;
  background: var(--top-band);
}
.hero__bottomBand{
  height: 180px;
  background: var(--bottom-band);
}

/* Content layout on top of the bands */
.hero__content{
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  align-items: start;
  gap: 40px;

  /* ✅ Smooth behavior: padding shrinks with screen until it hits 0, then content starts to compress */
  padding: 35px clamp(0px, 15vw, 23em);

  pointer-events: none; /* so only buttons/links need to re-enable */
}

.hero__left{
  pointer-events: auto;
  max-width: 520px;
}

.hero__left h1{
  padding: 25px 0 0 0;
  margin: 0 0 10px;
  font-size: 64px;
  line-height: 1.05;
  font-weight: 700;
}

.hero__left p{
  padding: 15px 0 0 0;
  font-size: 20px;
  margin: 0 0 22px;
  max-width: 420px;
  line-height: 1.5;
  opacity: .85;
}

.btn{
  display: inline-block;
  padding: 14px 28px;
  border-radius: 999px;
  background: var(--accent);
  color: #0b2b2a;
  font-weight: 200;
  text-decoration: none;
  box-shadow: 0 8px 10px rgba(0,0,0,.12);
  
}

/* ===== HEX IMAGE ===== */
.hex{
  pointer-events: auto;
  justify-self: center;
  align-self: start;
  border-radius: 50px;

  width: 500px;
  aspect-ratio: 1 / 1;
  position: relative;

  /* This controls where it overlaps (push it down into the lighter band) */
  margin-top: 0px;
}

/* The border + shadow layer */
.hex::before{
  content:"";
  position:absolute;
  inset:-10px;
  background:#000;

  clip-path: polygon(
    50% 0%,
    93.3% 25%,
    93.3% 75%,
    50% 100%,
    6.7% 75%,
    6.7% 25%
  );
  filter: drop-shadow(0 12px 16px rgba(0,0,0,.25));
  z-index:0;
}

.hex img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius: 50px;

  clip-path: polygon(
    50% 0%,
    93.3% 25%,
    93.3% 75%,
    50% 100%,
    6.7% 75%,
    6.7% 25%
  );

  outline: 6px solid rgba(255,255,255,.25);
  outline-offset: -10px;
  z-index:1;
}


.stack{
  display: flex;
  flex-direction: column;
  align-items: center;
}

.center{
  position: relative;
  overflow: hidden;

  width: 65%;
  min-height: 400px;

  border: 2px solid #000;
  border-radius: 90px;

  margin: 0 auto;              /* centers the box on the page */
  display: flex;
  justify-content: center;
  align-items: center;
}

.pimg{
  position: absolute;
  inset: -60%;                 /* extra image so it can move */

  background-image: url('blue.jpg');
  background-size: cover;
  background-position: center; /* centers the image */
  
  transform: translateY(-90px); /* starts higher */
  will-change: transform;
}
#serv h1{
  text-align: center;
  justify-content: center;
  font-size: 7em;
}

.services-container{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 40px;
  padding: 50px;
  
  margin: 70px;
  flex-direction: row;
  
  
}

.services-container:first-child{
  padding-left: 0px;
}

.service-card{

  border-radius: 90px;
  padding: 20px;
 height: auto;
 
  transition: transform 0.3s ease-in-out;
}

.service-card img{
  width: 10em;
  height: auto;
   display: block;
  max-width: 100%;
}
.service-text h2{
  text-align: left;
  font-size: 3.6em;
  margin-top: 15px;
}

.service-text p{
  text-align: left;
  font-size: 1.4em;
  margin-top: 10px;
 

}

.servButton{
  background-color: rgba(237, 234, 230);
            color: black;
            padding: 0.9375em 1.875em;
            border: none;
            border-radius: 0.3125em;
            cursor: pointer;
            font-size: 18px;
            
            transition: background-color 0.3s ease, transform 0.3s ease;
}

.installText{
  text-align: left;
  font-size: 1.4em;
  
  
  max-width: 50vw;
}
/* Responsive */
@media (max-width: 1200px){

  .stack{
    font-size: .8em;
    padding-top: 6em;
  }
  #tag{
  font-size: 2em;
}
  .hero__content{
    grid-template-columns: 1fr;
    /* ✅ keep clamp behavior (no padding override here) */
    gap: 22px;
  }

  .installText{
    font-size: .2em;
  }

  .hex{
    width: 250px;
    margin-top: 25px;
    margin-bottom: 20px;
    justify-self: start;

  }

  .hero__topBand{
    height: 750px;
  }

  .hero__bottomBand{
    height: 80px;
  }

  .hero__left h1{ font-size: 38px;}

  .hero__left {
    text-align: center;
    max-width: 100%;
  }

  .btn {
    margin: 0 auto;          /* centers button */
  }

  .hex {
    justify-self: center;    /* centers the hex */
  }
}


body {
  cursor: url("cross2.png") 16 16, auto;
}
