:root {
  --primary:#6C56FF;
  --primary-dark:#5440D9;
  --primary-darker:#4230B3;
  --primary-light:rgba(108,86,255,.08);
  --secondary:#FDE047;
  --secondary-dark:#FACC15;

  --dark:#0F172A;
  --dark-light:#1E293B;

  --white:#fff;

  --gray-50:#F8FAFC;
  --gray-100:#F1F5F9;
  --gray-200:#E2E8F0;
  --gray-300:#CBD5E1;
  --gray-400:#94A3B8;
  --gray-500:#64748B;
  --gray-600:#475569;
  --gray-700:#334155;

  --success:#10B981;

  --shadow-sm:
    0 1px 2px rgba(15,23,42,.05);

  --shadow:
    0 4px 6px -1px rgba(15,23,42,.08),
    0 2px 4px -2px rgba(15,23,42,.05);

  --shadow-lg:
    0 10px 25px -3px rgba(15,23,42,.10),
    0 8px 10px -6px rgba(15,23,42,.08);

  --shadow-xl:
    0 20px 40px -8px rgba(15,23,42,.14);

  --radius:12px;
  --radius-lg:16px;
  --radius-xl:22px;
  --radius-2xl:28px;

  --max:1280px;
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body.research-page,
body.benchmark-page{
  margin:0;
  color:var(--gray-700);
  background:#fff;
  font-family:
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    sans-serif;
  line-height:1.65;
}

.research-container{
  width:100%;
  max-width:var(--max);
  margin:auto;
  padding:0 2rem;
}

.research-section{
  padding:6.8rem 0;
  position:relative;
}

.research-section.soft{
  background:
    linear-gradient(
      135deg,
      var(--gray-50),
      #fff
    );
}

.research-section.alt{
  background:
    linear-gradient(
      180deg,
      #fff 0%,
      #fbfbfe 100%
    );
}

.research-label{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.48rem .9rem;
  margin-bottom:1.15rem;

  border-radius:999px;

  background:var(--primary-light);
  color:var(--primary-dark);

  font-size:.79rem;
  line-height:1;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.research-section h2{
  margin:0 0 1.2rem;

  max-width:900px;

  color:var(--dark);

  font-size:
    clamp(2rem,4vw,3.15rem);

  line-height:1.08;
  letter-spacing:-.035em;
}

.research-intro{
  max-width:820px;
  margin:0;

  color:var(--gray-600);

  font-size:1.13rem;
  line-height:1.8;
}


/* ============================================================
 * HERO
 * ============================================================ */

.research-hero{
  position:relative;
  overflow:hidden;

  padding:7.5rem 0 7rem;

  background:
    radial-gradient(
      circle at 84% 24%,
      rgba(253,224,71,.22),
      transparent 24rem
    ),
    radial-gradient(
      circle at 12% 36%,
      rgba(108,86,255,.10),
      transparent 30rem
    ),
    linear-gradient(
      165deg,
      #FAFBFC,
      #F3F4F8 60%,
      #EEF0F6
    );
}

.research-hero::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:100px;

  background:
    linear-gradient(
      to bottom,
      transparent,
      rgba(255,255,255,.75)
    );
}

.research-hero-inner{
  position:relative;
  z-index:2;

  display:grid;
  grid-template-columns:
    minmax(0,1.15fr)
    minmax(330px,.85fr);

  gap:4rem;
  align-items:center;
}

.research-hero h1{
  margin:0 0 1.5rem;

  max-width:850px;

  color:var(--dark);

  font-size:
    clamp(3rem,6vw,5.25rem);

  line-height:.98;
  letter-spacing:-.055em;
}

.research-hero-copy{
  max-width:760px;

  color:var(--gray-600);

  font-size:1.25rem;
  line-height:1.75;
}

.research-hero-copy strong{
  color:var(--primary-dark);
}

.research-thesis{
  margin-top:2rem;

  max-width:760px;

  padding:1.2rem 1.35rem;

  border-left:4px solid var(--primary);
  border-radius:0 14px 14px 0;

  background:
    rgba(255,255,255,.74);

  box-shadow:var(--shadow-sm);

  color:var(--dark);

  font-size:1.04rem;
}

.hero-orbit{
  min-height:410px;

  position:relative;

  display:flex;
  align-items:center;
  justify-content:center;
}

.hero-orbit::before{
  content:'';

  position:absolute;

  width:330px;
  height:330px;

  border-radius:50%;

  border:
    1px dashed
    rgba(108,86,255,.22);

  animation:
    orbitSpin 30s linear infinite;
}

.hero-orbit::after{
  content:'';

  position:absolute;

  width:235px;
  height:235px;

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(253,224,71,.40),
      rgba(253,224,71,.08) 46%,
      transparent 70%
    );
}

.hero-core{
  position:relative;
  z-index:2;

  width:180px;
  height:180px;

  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;

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

  background:
    linear-gradient(
      180deg,
      #FFE96E,
      #F6D911
    );

  color:var(--dark);

  box-shadow:
    0 26px 55px
    rgba(245,211,31,.28);

  text-align:center;
}

.hero-core strong{
  font-size:2.5rem;
  line-height:1;
}

.hero-core span{
  margin-top:.35rem;
  font-size:.76rem;
  font-weight:800;
  text-transform:uppercase;
}

.orbit-pill{
  position:absolute;
  z-index:3;

  min-width:130px;

  padding:.75rem 1rem;

  border:1px solid var(--gray-200);
  border-radius:999px;

  background:#fff;

  box-shadow:var(--shadow);

  color:var(--dark);

  font-weight:800;
  font-size:.82rem;

  text-align:center;
}

.orbit-pill.p1{
  top:35px;
  left:50%;
  transform:translateX(-50%);
}

.orbit-pill.p2{
  right:5px;
  top:48%;
}

.orbit-pill.p3{
  bottom:25px;
  left:50%;
  transform:translateX(-50%);
}

.orbit-pill.p4{
  left:5px;
  top:48%;
}

@keyframes orbitSpin{
  to{
    transform:rotate(360deg);
  }
}


/* ============================================================
 * HERO STATS
 * ============================================================ */

.research-stats{
  display:grid;
  grid-template-columns:
    repeat(4,1fr);

  gap:1rem;

  margin-top:3rem;
}

.research-stat{
  padding:1.45rem;

  border:1px solid
    rgba(226,232,240,.92);

  border-radius:var(--radius-lg);

  background:
    rgba(255,255,255,.82);

  box-shadow:var(--shadow-sm);
}

.research-stat strong{
  display:block;

  color:var(--dark);

  font-size:1.9rem;
  line-height:1;
  letter-spacing:-.035em;
}

.research-stat span{
  display:block;

  margin-top:.45rem;

  color:var(--gray-500);

  font-size:.83rem;
}


/* ============================================================
 * FINDINGS
 * ============================================================ */

.findings-grid{
  display:grid;
  grid-template-columns:
    repeat(4,1fr);

  gap:1rem;

  margin-top:3rem;
}

.finding-card{
  padding:2rem 1.7rem;

  border:1px solid var(--gray-200);
  border-radius:var(--radius-xl);

  background:#fff;

  box-shadow:var(--shadow-sm);

  transition:.3s ease;
}

.finding-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow-lg);
  border-color:
    rgba(108,86,255,.28);
}

.finding-value{
  display:block;

  margin-bottom:1rem;

  color:var(--primary-dark);

  font-size:
    clamp(2.25rem,5vw,3.6rem);

  line-height:1;
  font-weight:850;
  letter-spacing:-.055em;
}

.finding-card h3{
  margin:0 0 .75rem;

  color:var(--dark);

  font-size:1rem;
  line-height:1.35;
}

.finding-card p{
  margin:0;

  color:var(--gray-600);

  font-size:.91rem;
}


/* ============================================================
 * CHART
 * ============================================================ */

.data-panel{
  margin-top:2.5rem;

  padding:2.25rem;

  border:1px solid var(--gray-200);
  border-radius:var(--radius-xl);

  background:#fff;

  box-shadow:
    0 12px 30px -6px
    rgba(15,23,42,.08);
}

.panel-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;

  gap:1rem;

  margin-bottom:1.8rem;
}

.panel-head h3{
  margin:0;

  color:var(--dark);

  font-size:1.32rem;
}

.panel-head span{
  color:var(--gray-500);
  font-size:.82rem;
}

.bar-list{
  display:flex;
  flex-direction:column;
  gap:1.15rem;
}

.bar-row{
  display:grid;

  grid-template-columns:
    190px
    1fr
    78px;

  gap:1rem;
  align-items:center;
}

.bar-label{
  color:var(--gray-700);

  font-size:.9rem;
  font-weight:700;
}

.bar-track{
  height:14px;

  overflow:hidden;

  border-radius:999px;

  background:var(--gray-100);
}

.bar-fill{
  height:100%;

  border-radius:999px;

  background:
    linear-gradient(
      90deg,
      var(--primary),
      #8B5CF6
    );
}

.bar-fill.yellow{
  background:
    linear-gradient(
      90deg,
      #F6D911,
      #FDE047
    );
}

.bar-value{
  text-align:right;

  color:var(--dark);

  font-size:.94rem;
  font-weight:850;

  font-variant-numeric:
    tabular-nums;
}


/* ============================================================
 * MEANING BOX
 * ============================================================ */

.meaning-box{
  position:relative;

  margin-top:1.5rem;

  overflow:hidden;

  border:
    1px solid
    rgba(108,86,255,.14);

  border-radius:var(--radius-lg);

  background:
    linear-gradient(
      135deg,
      rgba(108,86,255,.055),
      rgba(253,224,71,.075)
    );
}

.meaning-box::before{
  content:'';

  position:absolute;
  left:0;
  top:0;
  bottom:0;

  width:4px;

  background:
    linear-gradient(
      180deg,
      var(--primary),
      var(--secondary)
    );
}

.meaning-inner{
  display:grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:0;

  padding:
    1.3rem
    1.4rem
    1.35rem
    1.6rem;
}

.meaning-item{
  padding:0 1.2rem;

  border-right:
    1px solid
    rgba(108,86,255,.12);
}

.meaning-item:first-child{
  padding-left:0;
}

.meaning-item:last-child{
  border-right:0;
  padding-right:0;
}

.meaning-item strong{
  display:block;

  margin-bottom:.4rem;

  color:var(--dark);

  font-size:.83rem;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.meaning-item p{
  margin:0;

  color:var(--gray-600);

  font-size:.88rem;
  line-height:1.65;
}


/* ============================================================
 * HONEYCOMB RESEARCH
 * ============================================================ */

.honeycomb-section{
  overflow:hidden;

  background:
    radial-gradient(
      circle at 50% 48%,
      rgba(253,224,71,.18),
      transparent 31rem
    ),
    linear-gradient(
      180deg,
      #fff,
      #FAFBFE
    );
}

.research-honeycomb-wrap{
  display:grid;

  grid-template-columns:
    minmax(0,1.2fr)
    minmax(340px,.8fr);

  gap:4.5rem;
  align-items:center;

  margin-top:2.5rem;
}

.research-honeycomb{
  position:relative;

  width:100%;
  min-height:650px;
}

.hc-svg{
  width:100%;
  height:650px;

  display:block;

  overflow:visible;
}

.hc-cell{
  filter:
    drop-shadow(
      0 12px 16px
      rgba(15,23,42,.09)
    );
}

.hc-yellow{
  fill:#F6D911;
  stroke:#fff;
  stroke-width:6;
}

.hc-white{
  fill:#fff;
  stroke:#E2E8F0;
  stroke-width:4;
}

.hc-dark{
  fill:#0F172A;
  stroke:#fff;
  stroke-width:5;
}

.hc-purple{
  fill:#6C56FF;
  stroke:#fff;
  stroke-width:5;
}

.hc-text-dark{
  fill:#0F172A;
  font-weight:850;
}

.hc-text-light{
  fill:#fff;
  font-weight:850;
}

.hc-small{
  font-size:15px;
}

.hc-engine{
  font-size:17px;
}

.hc-center{
  font-size:18px;
  font-weight:950;
}

.hc-animate{
  transform-box:fill-box;
  transform-origin:center;

  animation:
    hcPulse
    7s ease-in-out infinite;
}

.hc-animate:nth-of-type(2){
  animation-delay:1.2s;
}

.hc-animate:nth-of-type(3){
  animation-delay:2.2s;
}

@keyframes hcPulse{
  0%,100%{
    opacity:1;
  }

  50%{
    opacity:.82;
  }
}

.honeycomb-copy h3{
  margin:0 0 1rem;

  color:var(--dark);

  font-size:2rem;
  line-height:1.15;
}

.honeycomb-copy p{
  color:var(--gray-600);
  font-size:1.05rem;
  line-height:1.8;
}

.divergence-pill{
  display:flex;

  align-items:center;
  justify-content:space-between;

  gap:1rem;

  margin-top:.8rem;
  padding:.85rem 1rem;

  border:1px solid var(--gray-200);
  border-radius:14px;

  background:#fff;

  box-shadow:var(--shadow-sm);

  font-size:.88rem;
}

.divergence-pill strong{
  color:var(--primary-dark);
}


/* ============================================================
 * TOP BRAND
 * ============================================================ */

.ranking-grid{
  display:grid;
  grid-template-columns:
    repeat(4,1fr);

  gap:1rem;

  margin-top:2.5rem;
}

.ranking-card{
  overflow:hidden;

  border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);

  background:#fff;

  box-shadow:var(--shadow-sm);
}

.ranking-card h3{
  margin:0;

  padding:1.1rem 1.15rem;

  border-bottom:
    1px solid var(--gray-200);

  color:var(--dark);

  font-size:.98rem;
}

.ranking-row{
  display:grid;

  grid-template-columns:
    24px
    1fr
    auto;

  gap:.5rem;

  padding:.72rem 1rem;

  border-bottom:
    1px solid var(--gray-100);

  font-size:.84rem;
}

.ranking-row:last-child{
  border:0;
}

.ranking-num{
  color:var(--gray-400);
}

.ranking-value{
  color:var(--primary-dark);
  font-weight:800;
}


/* ============================================================
 * TWO COLUMN
 * ============================================================ */

.two-column{
  display:grid;

  grid-template-columns:
    1fr 1fr;

  gap:1rem;

  margin-top:2.5rem;
}

.metric-card{
  padding:2rem;

  border:1px solid var(--gray-200);
  border-radius:var(--radius-xl);

  background:#fff;

  box-shadow:var(--shadow-sm);
}

.metric-card h3{
  margin:0 0 1.15rem;

  color:var(--dark);
}


/* ============================================================
 * SOURCE PILLS
 * ============================================================ */

.source-groups{
  display:flex;
  flex-direction:column;
  gap:1.35rem;
}

.source-group strong{
  color:var(--dark);
}

.source-pills{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;

  margin-top:.7rem;
}

.source-pill{
  padding:.48rem .72rem;

  border:1px solid var(--gray-200);
  border-radius:999px;

  background:var(--gray-50);

  color:var(--gray-700);

  font-size:.77rem;
  font-weight:700;
}


/* ============================================================
 * TABLE
 * ============================================================ */

.table-wrap{
  overflow:auto;

  margin-top:2rem;

  border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);

  background:#fff;
}

.research-table{
  width:100%;
  border-collapse:collapse;
}

.research-table th,
.research-table td{
  padding:.95rem 1rem;

  border-bottom:
    1px solid var(--gray-200);

  text-align:left;
  white-space:nowrap;

  font-size:.87rem;
}

.research-table th{
  background:var(--gray-50);

  color:var(--gray-500);

  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.research-table td strong{
  color:var(--dark);
}


/* ============================================================
 * METHOD
 * ============================================================ */

.method-grid{
  display:grid;
  grid-template-columns:
    repeat(3,1fr);

  gap:1rem;

  margin-top:2.5rem;
}

.method-card{
  padding:1.6rem;

  border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);

  background:#fff;
}

.method-card strong{
  display:block;

  margin-bottom:.45rem;

  color:var(--dark);

  font-size:1.05rem;
}

.method-card p{
  margin:0;

  color:var(--gray-600);

  font-size:.89rem;
}


/* ============================================================
 * BENCHMARK CTA
 * ============================================================ */

.benchmark-cta{
  position:relative;
  overflow:hidden;

  margin-top:3rem;

  padding:2.3rem;

  border:
    1px solid
    rgba(108,86,255,.20);

  border-radius:var(--radius-xl);

  background:
    radial-gradient(
      circle at 88% 20%,
      rgba(253,224,71,.32),
      transparent 16rem
    ),
    linear-gradient(
      135deg,
      #F8F7FF,
      #fff
    );
}

.benchmark-cta h3{
  margin:0 0 .75rem;

  max-width:700px;

  color:var(--dark);

  font-size:1.75rem;
  line-height:1.15;
}

.benchmark-cta p{
  max-width:700px;

  margin:0;

  color:var(--gray-600);
}

.benchmark-button{
  display:inline-flex;
  align-items:center;
  gap:.55rem;

  margin-top:1.2rem;

  padding:.9rem 1.2rem;

  border-radius:12px;

  background:
    linear-gradient(
      135deg,
      var(--primary),
      var(--primary-dark)
    );

  color:#fff;

  text-decoration:none;
  font-weight:800;

  box-shadow:
    0 12px 26px
    rgba(108,86,255,.21);
}

.benchmark-button.yellow{
  background:
    linear-gradient(
      135deg,
      var(--secondary),
      var(--secondary-dark)
    );

  color:var(--dark);

  box-shadow:
    0 12px 26px
    rgba(253,224,71,.30);
}


/* ============================================================
 * FINAL CTA
 * ============================================================ */

.research-final-cta{
  position:relative;
  overflow:hidden;

  padding:7rem 0;

  background:
    radial-gradient(
      circle at 30% 20%,
      rgba(108,86,255,.18),
      transparent 28rem
    ),
    linear-gradient(
      135deg,
      #0F172A,
      #1E293B
    );

  color:#fff;
}

.research-final-cta h2{
  color:#fff;
}

.research-final-cta p{
  max-width:750px;

  color:
    rgba(255,255,255,.76);

  font-size:1.12rem;
}


/* ============================================================
 * BENCHMARK LANDING
 * ============================================================ */

.benchmark-hero{
  padding:7rem 0 6rem;

  background:
    radial-gradient(
      circle at 80% 25%,
      rgba(253,224,71,.22),
      transparent 25rem
    ),
    radial-gradient(
      circle at 15% 20%,
      rgba(108,86,255,.10),
      transparent 30rem
    ),
    linear-gradient(
      165deg,
      #FAFBFC,
      #F0F1F6
    );
}

.benchmark-hero-grid{
  display:grid;

  grid-template-columns:
    1.1fr .9fr;

  gap:4rem;
  align-items:center;
}

.benchmark-hero h1{
  margin:0 0 1.5rem;

  color:var(--dark);

  font-size:
    clamp(3rem,5vw,4.8rem);

  line-height:1;
  letter-spacing:-.05em;
}

.benchmark-hero p{
  max-width:720px;

  color:var(--gray-600);

  font-size:1.2rem;
  line-height:1.75;
}

.price-card{
  padding:2.2rem;

  border:1px solid var(--gray-200);
  border-radius:var(--radius-xl);

  background:#fff;

  box-shadow:var(--shadow-xl);
}

.price-card small{
  display:block;

  color:var(--gray-500);

  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.price-card strong{
  display:block;

  margin:.55rem 0;

  color:var(--dark);

  font-size:3rem;
  line-height:1;
}

.price-card p{
  margin:.7rem 0 0;

  font-size:.93rem;
}

.deliverables{
  display:grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:1rem;

  margin-top:2.5rem;
}

.deliverable{
  padding:1.6rem;

  border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);

  background:#fff;
}

.deliverable strong{
  display:block;

  margin-bottom:.45rem;

  color:var(--dark);
}

.deliverable p{
  margin:0;

  color:var(--gray-600);

  font-size:.89rem;
}


/* ============================================================
 * FORM
 * ============================================================ */

.benchmark-form-grid{
  display:grid;

  grid-template-columns:
    .82fr 1.18fr;

  gap:3rem;
  align-items:start;

  margin-top:2.8rem;
}

.form-side{
  position:sticky;
  top:110px;
}

.form-side h3{
  margin:0 0 .8rem;

  color:var(--dark);

  font-size:1.6rem;
}

.form-side p{
  color:var(--gray-600);
}

.form-process{
  margin:1.5rem 0 0;
  padding:0;
  list-style:none;
}

.form-process li{
  display:flex;
  gap:.75rem;

  margin-bottom:1rem;

  color:var(--gray-600);

  font-size:.91rem;
}

.form-process span{
  flex:0 0 28px;

  width:28px;
  height:28px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;

  background:var(--primary-light);
  color:var(--primary);

  font-size:.75rem;
  font-weight:900;
}

.benchmark-form{
  padding:2rem;

  border:1px solid var(--gray-200);
  border-radius:var(--radius-xl);

  background:#fff;

  box-shadow:var(--shadow-lg);
}

.form-row{
  display:grid;

  grid-template-columns:
    1fr 1fr;

  gap:1rem;
}

.field{
  margin-bottom:1rem;
}

.field label{
  display:block;

  margin-bottom:.4rem;

  color:var(--dark);

  font-size:.83rem;
  font-weight:750;
}

.field input,
.field select,
.field textarea{
  width:100%;

  padding:.86rem .95rem;

  border:1px solid var(--gray-300);
  border-radius:10px;

  background:#fff;

  color:var(--gray-700);

  font:inherit;

  transition:.2s ease;
}

.field textarea{
  min-height:120px;
  resize:vertical;
}

.field input:focus,
.field select:focus,
.field textarea:focus{
  outline:none;

  border-color:var(--primary);

  box-shadow:
    0 0 0 4px
    var(--primary-light);
}

.privacy-row{
  display:flex;
  align-items:flex-start;

  gap:.65rem;

  margin:1rem 0;

  color:var(--gray-600);

  font-size:.8rem;
}

.privacy-row input{
  margin-top:.23rem;
}

.form-submit{
  width:100%;

  padding:1rem 1.25rem;

  border:0;
  border-radius:11px;

  background:
    linear-gradient(
      135deg,
      var(--primary),
      var(--primary-dark)
    );

  color:#fff;

  font:inherit;
  font-weight:850;

  cursor:pointer;
}

.form-message{
  margin-bottom:1.25rem;

  padding:1rem;

  border-radius:10px;

  font-size:.9rem;
}

.form-message.success{
  border:1px solid #A7F3D0;
  background:#ECFDF5;
  color:#047857;
}

.form-message.error{
  border:1px solid #FECACA;
  background:#FEF2F2;
  color:#B91C1C;
}

.hp-field{
  position:absolute!important;

  left:-10000px!important;

  width:1px!important;
  height:1px!important;

  overflow:hidden!important;
}


/* ============================================================
 * MOBILE
 * ============================================================ */

@media(max-width:1020px){

  .research-hero-inner,
  .research-honeycomb-wrap,
  .benchmark-hero-grid,
  .benchmark-form-grid{
    grid-template-columns:1fr;
  }

  .hero-orbit{
    min-height:360px;
  }

  .form-side{
    position:static;
  }

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

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

  .method-grid,
  .deliverables{
    grid-template-columns:
      1fr 1fr;
  }
}

@media(max-width:720px){

  .research-container{
    padding:0 1.25rem;
  }

  .research-section{
    padding:5rem 0;
  }

  .research-hero{
    padding:5.5rem 0 5rem;
  }

  .research-hero h1,
  .benchmark-hero h1{
    font-size:2.8rem;
  }

  .research-stats,
  .findings-grid,
  .ranking-grid,
  .two-column,
  .method-grid,
  .deliverables,
  .form-row,
  .meaning-inner{
    grid-template-columns:1fr;
  }

  .meaning-item{
    padding:.8rem 0;

    border-right:0;
    border-bottom:
      1px solid
      rgba(108,86,255,.12);
  }

  .meaning-item:last-child{
    border-bottom:0;
  }

  .bar-row{
    grid-template-columns:
      115px
      1fr
      62px;
  }

  .research-honeycomb{
    min-height:460px;
  }

  .hc-svg{
    height:460px;
  }

  .benchmark-form{
    padding:1.3rem;
  }
}

@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
  }
}

/* ============================================================
 * BENCHMARK COPY V2
 * ============================================================ */

.benchmark-hero-v2 strong{
  color:var(--dark);
}

.benchmark-hero-actions{
  margin-top:1.8rem;
}

.benchmark-microcopy{
  display:block;
  max-width:650px;
  margin-top:.8rem;
  color:var(--gray-500);
  font-size:.82rem;
  line-height:1.55;
}

.proof-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.75rem;
  margin-top:2.2rem;
}

.proof-item{
  padding:1rem;
  border:1px solid rgba(108,86,255,.12);
  border-radius:14px;
  background:rgba(255,255,255,.72);
  box-shadow:var(--shadow-sm);
}

.proof-item strong{
  display:block;
  margin-bottom:.25rem;
  color:var(--primary-dark);
  font-size:1rem;
}

.proof-item span{
  display:block;
  color:var(--gray-600);
  font-size:.76rem;
  line-height:1.5;
}

.price-card-v2{
  position:relative;
  overflow:hidden;
}

.price-card-v2::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(
    90deg,
    var(--primary),
    #8B5CF6,
    var(--secondary)
  );
}

.price-vat{
  margin-top:-.2rem;
  color:var(--gray-500);
  font-size:.82rem;
  font-weight:700;
}

.price-includes{
  margin-top:1.4rem;
  padding-top:1.2rem;
  border-top:1px solid var(--gray-200);
}

.price-check{
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  margin:.65rem 0;
  color:var(--gray-700);
  font-size:.86rem;
}

.price-check span{
  color:var(--success);
  font-weight:900;
}

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

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

.problem-card{
  padding:1.65rem;
  border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);
  background:var(--gray-50);
  transition:.25s ease;
}

.problem-card:hover{
  transform:translateY(-4px);
  border-color:rgba(108,86,255,.28);
  background:#fff;
  box-shadow:var(--shadow);
}

.problem-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  margin-bottom:1.1rem;
  border-radius:10px;
  background:var(--primary-light);
  color:var(--primary-dark);
  font-size:.75rem;
  font-weight:900;
}

.problem-card h3{
  margin:0 0 .65rem;
  color:var(--dark);
  font-size:1rem;
  line-height:1.35;
}

.problem-card p{
  margin:0;
  color:var(--gray-600);
  font-size:.87rem;
}

.benefit-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin-top:2.7rem;
}

.benefit-card{
  position:relative;
  padding:1.8rem;
  border:1px solid var(--gray-200);
  border-radius:var(--radius-xl);
  background:#fff;
  box-shadow:var(--shadow-sm);
}

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

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

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

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

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

.deliverables-v2 .deliverable{
  min-height:165px;
}

.decision-box{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  margin-top:1.5rem;
  padding:1.35rem 1.5rem;
  border:1px solid rgba(108,86,255,.16);
  border-radius:16px;
  background:linear-gradient(
    135deg,
    rgba(108,86,255,.06),
    rgba(253,224,71,.08)
  );
}

.decision-box-icon{
  flex:0 0 38px;
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:var(--primary);
  color:#fff;
  font-weight:900;
}

.decision-box strong{
  color:var(--dark);
}

.decision-box p{
  margin:.35rem 0 0;
  color:var(--gray-600);
  font-size:.9rem;
}

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

.value-box{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:2rem;
  padding:2.4rem;
  border:1px solid var(--gray-200);
  border-radius:var(--radius-2xl);
  background:
    radial-gradient(
      circle at 85% 20%,
      rgba(253,224,71,.18),
      transparent 22rem
    ),
    linear-gradient(
      135deg,
      #fff,
      #F9FAFF
    );
  box-shadow:var(--shadow-lg);
}

.value-copy p{
  max-width:720px;
  color:var(--gray-600);
}

.value-emphasis{
  padding:1rem 1.1rem;
  border-left:4px solid var(--primary);
  background:var(--primary-light);
  color:var(--dark)!important;
  font-weight:700;
}

.value-question{
  padding:1.7rem;
  border-radius:var(--radius-xl);
  background:var(--dark);
  color:#fff;
}

.value-question > span{
  display:block;
  margin-bottom:.9rem;
  color:var(--secondary);
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.value-question > strong{
  display:block;
  color:#fff;
  font-size:1.18rem;
  line-height:1.55;
}

.value-question p{
  color:rgba(255,255,255,.70);
  font-size:.87rem;
}

.fit-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
  margin-top:2.4rem;
}

.fit-card{
  display:flex;
  align-items:flex-start;
  gap:.85rem;
  padding:1.35rem;
  border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);
  background:#fff;
}

.fit-card > span{
  flex:0 0 30px;
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#ECFDF5;
  color:#059669;
  font-weight:900;
}

.fit-card strong{
  display:block;
  color:var(--dark);
}

.fit-card p{
  margin:.3rem 0 0;
  color:var(--gray-600);
  font-size:.86rem;
}

.not-for{
  margin-top:1.4rem;
  padding:1.3rem 1.5rem;
  border:1px dashed var(--gray-300);
  border-radius:var(--radius-lg);
}

.not-for strong{
  color:var(--dark);
}

.not-for p{
  margin:.35rem 0 0;
  color:var(--gray-600);
  font-size:.88rem;
}

.research-proof{
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:3rem;
  align-items:center;
}

.research-proof p{
  max-width:720px;
  color:var(--gray-600);
  font-size:1rem;
}

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

.research-proof-kpis div{
  padding:1.25rem;
  border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);
  background:var(--gray-50);
  text-align:center;
}

.research-proof-kpis strong{
  display:block;
  color:var(--primary-dark);
  font-size:1.75rem;
  line-height:1;
}

.research-proof-kpis span{
  display:block;
  margin-top:.35rem;
  color:var(--gray-500);
  font-size:.76rem;
}

.benchmark-button-secondary{
  background:#fff;
  color:var(--primary-dark);
  border:1px solid rgba(108,86,255,.25);
  box-shadow:var(--shadow-sm);
}

.form-side strong{
  color:var(--dark);
}

.form-reassurance{
  margin:.7rem 0 0;
  color:var(--gray-500);
  text-align:center;
  font-size:.76rem;
  line-height:1.45;
}

.benchmark-final-cta h2{
  max-width:950px;
}

.final-microcopy{
  margin-top:1rem!important;
  color:rgba(255,255,255,.55)!important;
  font-size:.78rem!important;
}


/* responsive */

@media(max-width:1020px){

  .problem-grid,
  .benefit-grid{
    grid-template-columns:1fr 1fr;
  }

  .value-box,
  .research-proof{
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){

  .proof-strip,
  .problem-grid,
  .benefit-grid,
  .fit-grid,
  .research-proof-kpis{
    grid-template-columns:1fr;
  }

  .value-box{
    padding:1.3rem;
  }

  .benchmark-hero-actions .benchmark-button{
    width:100%;
    justify-content:center;
  }
}
