/* =========================================================
   AIRTIGHTNESS PAGE
   ========================================================= */

.airtight-page{overflow:hidden}
.airtight-green{color:var(--green-dark)}
.hero {
  background-image: url("images/membrane-desktop.png");
  background-size: cover;
  background-position: center;
}

@media (max-width: 768px) {
  .hero {
    background-image: url("images/membrane-mobile.png");
    background-position: center top;
    min-height: 100svh;
  }
}
.airtight-hero{
  position:relative;min-height:735px;display:grid;align-items:center;
  overflow:hidden;background:#10271d
}
.airtight-hero-image{
  position:absolute;inset:0;
  background:url("images/airt.png") center/cover no-repeat;
  transform:scale(1.02)
}


.airtight-hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(7,27,19,.97) 0%,rgba(7,27,19,.88) 48%,rgba(7,27,19,.3) 100%),
    linear-gradient(180deg,transparent 54%,rgba(7,27,19,.45))
}
.airtight-hero-inner{
  position:relative;z-index:2;display:grid;
  grid-template-columns:minmax(0,1fr) 380px;
  gap:70px;align-items:end;padding:110px 0 105px
}
.airtight-hero-copy{max-width:820px;color:#fff}
.airtight-hero-copy h1{
  max-width:820px;margin:0;color:#fff;
  font-size:clamp(3.3rem,6.3vw,6.25rem);
  line-height:.96;letter-spacing:-.055em
}
.airtight-hero-copy p{
  max-width:700px;margin:28px 0 0;color:rgba(255,255,255,.82);
  font-size:clamp(1.05rem,1.55vw,1.23rem);line-height:1.75
}
.airtight-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.airtight-hero-panel{
  padding:30px;border:1px solid rgba(255,255,255,.2);
  border-radius:0;background:rgba(255,255,255,.11);
  color:#fff;backdrop-filter:blur(15px);box-shadow:0 22px 65px rgba(0,0,0,.2)
}
.airtight-panel-label{
  display:block;margin-bottom:18px;color:rgba(255,255,255,.62);
  font-size:.75rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase
}
.airtight-hero-panel>div{
  display:grid;grid-template-columns:55px 1fr;gap:15px;align-items:start;
  padding:18px 0;border-top:1px solid rgba(255,255,255,.16)
}
.airtight-hero-panel strong{color:var(--green);font-size:1.65rem;line-height:1}
.airtight-hero-panel p{margin:0;color:rgba(255,255,255,.76);line-height:1.55}

.airtight-intro{padding:115px 0;background:#fff}
.airtight-intro-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);
  gap:clamp(55px,8vw,120px);align-items:start
}
.airtight-intro h2{
  max-width:760px;margin:18px 0 0;color:var(--charcoal);
  font-size:clamp(2.5rem,4.5vw,4.6rem);line-height:1.04;letter-spacing:-.045em
}
.airtight-intro-copy{padding-top:30px}
.airtight-intro-copy p{margin:0 0 20px;color:#5f6963;font-size:1.02rem;line-height:1.85}
.airtight-intro-copy .airtight-lead{
  color:var(--green-dark);font-size:1.3rem;line-height:1.62;font-weight:700
}

.airtight-service{padding:115px 0}
.airtight-membranes{background:var(--off)}
.airtight-openings{background:#fff}
.airtight-details{background:#eef3eb}
.airtight-service-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  gap:clamp(55px,8vw,115px);align-items:center
}
.airtight-service-grid-reverse{grid-template-columns:minmax(0,.92fr) minmax(0,1fr)}
.airtight-service-image{
  position:relative;min-height:620px;overflow:hidden;border-radius:0;
  background:#dfe7dd;box-shadow:var(--shadow)
}
.airtight-service-image img{width:100%;height:620px;object-fit:cover}
.airtight-image-badge{
  position:absolute;right:24px;bottom:24px;max-width:300px;
  padding:22px 25px;border-radius:0;background:var(--green-dark);
  color:#fff;box-shadow:var(--shadow)
}
.airtight-image-badge span{
  display:block;margin-bottom:6px;color:rgba(255,255,255,.66);
  font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase
}
.airtight-image-badge strong{display:block;font-size:1.45rem}
.airtight-service-copy h2{
  margin:17px 0 25px;color:var(--charcoal);
  font-size:clamp(2.5rem,4.2vw,4.4rem);line-height:1.05;letter-spacing:-.045em
}
.airtight-service-copy p{margin:0 0 19px;color:var(--muted);line-height:1.84}
.airtight-service-copy .airtight-service-lead{
  color:var(--green-dark);font-size:1.25rem;line-height:1.62;font-weight:700
}
.airtight-list{display:grid;gap:13px;margin:29px 0 32px;padding:0;list-style:none}
.airtight-list li{position:relative;padding-left:33px;color:var(--green-dark);font-weight:800}
.airtight-list li::before{
  content:"✓";position:absolute;left:0;top:0;width:21px;height:21px;
  display:grid;place-items:center;border-radius:0;background:var(--green-dark);
  color:#fff;font-size:.7rem
}

.airtight-benefits{padding:110px 0;background:#11291f;color:#fff}
.airtight-benefits .section-head h2{color:#fff}
.airtight-benefits .section-head p{color:rgba(255,255,255,.67)}
.airtight-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.airtight-benefit-grid article{
  min-height:300px;display:flex;flex-direction:column;padding:30px;
  border:1px solid rgba(255,255,255,.14);border-radius:0;
  background:rgba(255,255,255,.035);transition:.25s ease
}
.airtight-benefit-grid article:hover{transform:translateY(-5px);background:rgba(255,255,255,.075)}
.airtight-benefit-grid span{
  margin-bottom:auto;color:var(--green);font-size:.8rem;font-weight:900;letter-spacing:.14em
}
.airtight-benefit-grid h3{margin:45px 0 12px;color:#fff;font-size:1.4rem}
.airtight-benefit-grid p{margin:0;color:rgba(255,255,255,.63);line-height:1.72}

.airtight-process{padding:110px 0;background:var(--charcoal);color:#fff}
.airtight-process-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);
  gap:clamp(70px,10vw,145px);align-items:center
}
.airtight-process-copy h2{
  margin:18px 0 25px;color:#fff;font-size:clamp(2.6rem,4.5vw,4.8rem);
  line-height:1.03;letter-spacing:-.05em
}
.airtight-process-copy p{max-width:720px;margin:0 0 20px;color:rgba(255,255,255,.7);line-height:1.8}
.airtight-process-copy .btn{margin-top:16px}
.airtight-process-steps{border-top:1px solid rgba(255,255,255,.2)}
.airtight-process-steps>div{padding:27px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.airtight-process-steps strong{display:block;margin-bottom:8px;color:#fff;font-size:1.12rem}
.airtight-process-steps span{display:block;color:rgba(255,255,255,.61);line-height:1.65}


@media(max-width:1050px){
  .airtight-hero-inner{grid-template-columns:1fr;gap:35px}
  .airtight-hero-panel{max-width:500px}
  .airtight-intro-grid,
  .airtight-service-grid,
  .airtight-service-grid-reverse,
  .airtight-process-grid{grid-template-columns:1fr}
  .airtight-openings .airtight-service-image{order:-1}
  .airtight-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .airtight-service-image,
  .airtight-service-image img{min-height:500px;height:500px}
}

@media(max-width:760px){
  .airtight-hero{min-height:auto}
  .airtight-hero-image{background-position:58% center}
  .airtight-hero-overlay{background:rgba(7,27,19,.84)}
  .airtight-hero-inner{padding:95px 0 70px}
  .airtight-hero-actions{display:grid}
  .airtight-hero-actions .btn{width:100%}
  .airtight-intro,
  .airtight-service,
  .airtight-benefits,
  .airtight-process{padding:75px 0}
  .airtight-intro-grid,
  .airtight-service-grid,
  .airtight-service-grid-reverse{gap:38px}
  .airtight-intro-copy{padding-top:0}
  .airtight-benefit-grid{grid-template-columns:1fr}
  .airtight-benefit-grid article{min-height:250px}
  .airtight-service-image,
  .airtight-service-image img{min-height:360px;height:360px}
  .airtight-image-badge{
    right:14px;bottom:14px;max-width:calc(100% - 28px);padding:18px 20px
  }
  .airtight-service-copy h2{font-size:clamp(2.2rem,10vw,3.2rem)}
}

/* Square corners everywhere on the Airtightness page (overrides styles.css too) */
.airtight-page *,
.airtight-page *::before,
.airtight-page *::after,
.header .cta,
.quote-tab {
  border-radius: 0 !important;
}

/* Tighter spacing at the top of the Airtightness hero */
.airtight-hero {
  min-height: 0;
}

.airtight-hero-inner {
  align-items: start;
  padding: 8px 0 60px;
}

.airtight-hero-copy > :first-child,
.airtight-hero-panel {
  margin-top: 0;
}

@media (max-width: 760px) {
  .airtight-hero-inner {
    padding: 6px 0 45px;
  }
}