/* ============================================================
   TELESCOP — AI VISIBILITY BENCHMARK v3
   Dedicated layout + commercial UI
============================================================ */

body.benchmark-page{
  overflow-x:hidden;
}


/* ------------------------------------------------------------
   GENERAL TYPOGRAPHY / RHYTHM
------------------------------------------------------------ */

.benchmark-page .research-section{
  padding-top:6.5rem;
  padding-bottom:6.5rem;
}

.benchmark-page .research-section h2{
  max-width:850px;
}

.benchmark-page .research-intro{
  max-width:820px;
  font-size:1.08rem;
}

.benchmark-page strong{
  font-weight:750;
}


/* ------------------------------------------------------------
   HERO
------------------------------------------------------------ */

.benchmark-hero-v2{
  padding-top:7.5rem;
  padding-bottom:5.8rem;
}

.benchmark-hero-v2 .benchmark-hero-grid{
  gap:5rem;
}

.benchmark-hero-v2 h1{
  max-width:760px;
}

.benchmark-hero-v2 .benchmark-hero-grid > div:first-child > p{
  max-width:760px;
}

.benchmark-hero-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.benchmark-microcopy{
  max-width:620px;
}

.price-card-v2{
  padding:2.2rem 2rem;
}

.price-card-v2 small{
  margin-bottom:.65rem;
}

.price-card-v2 > strong{
  font-size:3.25rem;
}

.price-includes{
  display:grid;
  grid-template-columns:1fr;
  gap:.15rem;
}

.price-check{
  line-height:1.45;
}


/* ------------------------------------------------------------
   PROOF STRIP
------------------------------------------------------------ */

.proof-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.8rem;
}

.proof-item{
  min-height:112px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.proof-item strong{
  font-size:1.05rem;
}


/* ------------------------------------------------------------
   IMAGES
------------------------------------------------------------ */

.benchmark-image-section{
  position:relative;
  padding:3rem 0 6rem;
  overflow:hidden;
}

.benchmark-image-section--hero{
  margin-top:-1px;
  padding-top:0;
  background:
    linear-gradient(
      180deg,
      #f1f2f7 0%,
      #fff 100%
    );
}

.benchmark-image-section--ecosystems{
  background:
    linear-gradient(
      180deg,
      #fff 0%,
      #fafbfe 100%
    );
}

.benchmark-image-copy{
  max-width:760px;
  margin-bottom:2.2rem;
}

.benchmark-image-copy h2{
  margin-bottom:1rem;
  font-size:clamp(2rem,4vw,3rem);
}

.benchmark-image-copy p{
  max-width:720px;
  color:var(--gray-600);
  font-size:1.05rem;
}

.benchmark-figure{
  width:100%;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(226,232,240,.9);
  border-radius:26px;
  background:#fff;
  box-shadow:
    0 24px 55px -22px rgba(15,23,42,.24),
    0 10px 22px -16px rgba(15,23,42,.18);
}

.benchmark-figure img{
  display:block;
  width:100%;
  height:auto;
  margin:0;
}

.benchmark-methodology-figure{
  grid-column:1 / -1;
  margin:0 0 2rem;
  overflow:hidden;
  border-radius:22px;
  border:1px solid var(--gray-200);
  box-shadow:var(--shadow);
}

.benchmark-methodology-figure img{
  display:block;
  width:100%;
  height:auto;
}


/* ------------------------------------------------------------
   PROBLEM SECTION
------------------------------------------------------------ */

.benchmark-problem-section{
  background:#fff;
}

.problem-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:1.15rem !important;
  margin-top:2.7rem !important;
}

.problem-card{
  min-height:260px;
  display:flex;
  flex-direction:column;
  padding:1.65rem !important;
  border:1px solid var(--gray-200) !important;
  border-radius:18px !important;
  background:
    linear-gradient(
      180deg,
      #fff,
      #fbfbfd
    ) !important;
  box-shadow:
    0 4px 14px -8px rgba(15,23,42,.14);
}

.problem-card:hover{
  transform:translateY(-4px);
  border-color:rgba(108,86,255,.30) !important;
  box-shadow:var(--shadow-lg);
}

.problem-icon{
  flex:0 0 auto;
  display:flex !important;
  width:42px !important;
  height:42px !important;
  align-items:center;
  justify-content:center;
  margin-bottom:1.25rem;
  border-radius:12px;
  background:var(--primary-light);
  color:var(--primary-dark);
  font-size:.75rem;
  font-weight:900;
}

.problem-card h3{
  margin:0 0 .75rem !important;
  color:var(--dark);
  font-size:1.05rem !important;
  line-height:1.35;
}

.problem-card p{
  margin:0 !important;
  color:var(--gray-600);
  font-size:.9rem !important;
  line-height:1.65;
}


/* ------------------------------------------------------------
   BENEFITS
------------------------------------------------------------ */

.benchmark-benefits-section{
  background:#fff;
}

.benefit-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1.2rem !important;
  margin-top:2.8rem !important;
}

.benefit-card{
  position:relative;
  min-height:320px;
  display:flex;
  flex-direction:column;
  padding:1.8rem !important;
  overflow:hidden;
  border:1px solid var(--gray-200) !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:
    0 8px 26px -18px rgba(15,23,42,.22);
}

.benefit-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:
    linear-gradient(
      90deg,
      var(--primary),
      #8B5CF6,
      var(--secondary)
    );
}

.benefit-num{
  display:block;
  margin-bottom:1rem;
  color:var(--primary-dark);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.08em;
}

.benefit-card h3{
  margin:0 0 .8rem;
  color:var(--dark);
  font-size:1.13rem;
  line-height:1.35;
}

.benefit-card > p{
  margin:0;
  color:var(--gray-600);
  font-size:.9rem;
  line-height:1.65;
}

.benefit-outcome{
  margin-top:auto !important;
  padding-top:1.15rem !important;
  border-top:1px solid var(--gray-200);
  color:var(--gray-600);
  font-size:.84rem;
  line-height:1.55;
}

.benefit-outcome strong{
  display:block;
  margin-bottom:.4rem;
  color:var(--primary-dark);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}


/* ------------------------------------------------------------
   DELIVERABLES
------------------------------------------------------------ */

.deliverables-v2{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1rem !important;
}

.deliverables-v2 .deliverable{
  min-height:175px;
  padding:1.55rem;
  background:#fff;
  transition:.25s ease;
}

.deliverables-v2 .deliverable:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
  border-color:rgba(108,86,255,.25);
}

.deliverables-v2 .deliverable strong{
  font-size:1rem;
}

.decision-box{
  margin-top:1.6rem;
}


/* ------------------------------------------------------------
   VALUE SECTION
------------------------------------------------------------ */

.benchmark-value-section{
  background:#fff;
}

.value-box{
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr) !important;
  gap:2.6rem !important;
  padding:2.7rem !important;
}

.value-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.value-copy h2{
  font-size:clamp(2rem,4vw,3rem);
}

.value-copy p{
  font-size:.98rem;
  line-height:1.75;
}

.value-question{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:100%;
}

.value-question .benchmark-button{
  align-self:flex-start;
}


/* ------------------------------------------------------------
   FIT
------------------------------------------------------------ */

.fit-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:1rem !important;
  margin-top:2.4rem !important;
}

.fit-card{
  min-height:130px;
  padding:1.4rem !important;
  background:#fff;
  box-shadow:var(--shadow-sm);
}

.fit-card strong{
  font-size:.97rem;
}

.not-for{
  max-width:900px;
  margin-top:1.5rem !important;
  background:rgba(255,255,255,.65);
}


/* ------------------------------------------------------------
   RESEARCH PROOF
------------------------------------------------------------ */

.benchmark-proof-section{
  background:#fff;
}

.research-proof{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(300px,.58fr) !important;
  gap:3.5rem !important;
  align-items:center !important;
}

.research-proof > div:first-child{
  min-width:0;
}

.research-proof-kpis{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:.9rem !important;
}

.research-proof-kpis div{
  min-height:125px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}


/* ------------------------------------------------------------
   FORM
------------------------------------------------------------ */

.benchmark-form-grid{
  gap:4rem !important;
}

.form-side{
  max-width:450px;
}

.form-side > p{
  font-size:.96rem;
}

.form-process li{
  margin-bottom:1.15rem !important;
}

.benchmark-form{
  padding:2.1rem !important;
}

.benchmark-form .field{
  margin-bottom:1.15rem;
}

.form-submit{
  min-height:52px;
  font-size:.96rem;
}

.form-reassurance{
  max-width:500px;
  margin:.8rem auto 0 !important;
}


/* ------------------------------------------------------------
   FINAL CTA
------------------------------------------------------------ */

.benchmark-final-cta{
  padding-top:6.5rem;
  padding-bottom:6.5rem;
}

.benchmark-final-cta .research-container{
  max-width:1050px;
}

.benchmark-final-cta h2{
  max-width:950px;
  font-size:clamp(2.2rem,4vw,3.35rem);
}


/* ------------------------------------------------------------
   RESPONSIVE
------------------------------------------------------------ */

@media(max-width:1100px){

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

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

  .research-proof{
    grid-template-columns:1fr !important;
  }

  .benchmark-methodology-figure{
    grid-column:auto;
  }
}

@media(max-width:900px){

  .benchmark-hero-v2 .benchmark-hero-grid,
  .value-box,
  .benchmark-form-grid{
    grid-template-columns:1fr !important;
  }

  .price-card-v2{
    max-width:620px;
  }

  .proof-strip{
    grid-template-columns:1fr;
  }

  .deliverables-v2{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .form-side{
    max-width:none;
  }
}

@media(max-width:650px){

  .benchmark-page .research-section{
    padding-top:4.6rem;
    padding-bottom:4.6rem;
  }

  .benchmark-hero-v2{
    padding-top:5.4rem;
  }

  .problem-grid,
  .benefit-grid,
  .deliverables-v2,
  .fit-grid,
  .research-proof-kpis{
    grid-template-columns:1fr !important;
  }

  .problem-card,
  .benefit-card{
    min-height:auto;
  }

  .value-box{
    padding:1.4rem !important;
  }

  .benchmark-image-section{
    padding-bottom:4rem;
  }

  .benchmark-figure{
    border-radius:18px;
  }

  .benchmark-form{
    padding:1.25rem !important;
  }
}