.product_hero{

  width:min(1200px, 90%);

  margin:20px auto 0;

  padding:60px;

  background:#f7f7f7;

  border-radius:8px;

  box-sizing:border-box;
}


.product_hero_inner{
  display:flex;
  align-items:center;
  justify-content:flex-start;

  gap:30px;
}

.product_hero_text{
  width:55%;
}

.product_hero_img{
  width:50%;
}

.product_hero_img img{
  max-width:100%;
  height:auto;
}

.product_category{
  color:#d6001c;

  font-size:14px;
  font-weight:700;

  margin-bottom:16px;

  letter-spacing:0.08em;
}

.product_title{

  font-size:clamp(34px, 4vw, 56px);

  line-height:1.1;

  margin:0 0 24px;

  font-weight:800;

  color:#111;

}

.product_lead{
  font-size:18px;
  line-height:1.9;

  color:#444;

  margin-bottom:40px;
}

.product_buttons{
  display:flex;
  gap:16px;
}

.btn_red{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  height:52px;

  padding:0 28px;

  background:#d6001c;
  color:#fff;

  border-radius:8px;

  text-decoration:none;

  font-weight:700;
}

.btn_line{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  height:52px;

  padding:0 28px;

  border:1px solid #d6001c;

  color:#d6001c;

  border-radius:8px;

  text-decoration:none;

  font-weight:700;
}

main,
.container,
article{
  margin-top:0 !important;
  padding-top:0 !important;
}


/* =========================================
   SECTION
========================================= */

.product_section{
  max-width:1200px;

  margin:40px auto 0;

  background:#f7f7f7;

  border-radius:8px;

  overflow:hidden;
}


/* =========================================
   FEATURE BANNER
========================================= */

.category_banner{
  line-height:0;
}

.category_banner img{
  width:100%;

  display:block;
}


/* =========================================
   FEATURE GRID
========================================= */

.feature_grid{
  display:grid;

  grid-template-columns:repeat(4, 1fr);

  gap:24px;

  padding:32px 40px 40px;
}


/* =========================================
   FEATURE CARD
========================================= */

.feature_grid .card{
  min-height:unset !important;

  padding:20px 18px !important;

  border-radius:10px;
}

.feature_grid .card p{
  margin:0 !important;
}

.feature_grid .card h3{
  margin:0 0 10px;

  font-size:18px;

  line-height:1.4;
}

.feature_grid .card p{
  font-size:14px;

  line-height:1.8;

  margin:0;
}

.contact_cta{

  padding:40px 20px 90px;

  text-align:center;

  margin-top:-30px;

}
.contact_cta h2{

  font-size:56px;

  font-weight:700;

  line-height:1.2;

  color:#c40018;

  margin-bottom:30px;

  letter-spacing:0.03em;

}

.contact_cta p{

  font-size:18px;

  line-height:2;

  max-width:900px;

  margin:0 auto 30px;

  color:#222;

  text-align:center;

}
.contact_cta .btn_red {
    display: inline-block;
}

.product_buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin-top: 30px;
}

.product_buttons .btn_red,
.product_buttons .btn_line {
    min-width: 180px;
    height: 52px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 24px;
    line-height: 1;
    box-sizing: border-box;
}

/* =========================================
   DETAIL NAVIGATION
========================================= */
.detail_panel{
  width:min(1200px, 90%);
  margin:40px auto 80px;
  background:#fff;
  border:1px solid #e5e5e5;
  border-radius:24px;
  overflow:hidden;
}

.detail_nav_section{
  margin:0;
  padding:0;
  border-bottom:1px solid #e5e5e5;
}

.detail_nav{
  display:flex;
  justify-content:center;
  gap:0;
}

.detail_nav a{
  flex:1;
  padding:22px 20px;
  border-right:1px solid #e5e5e5;
  background:#fff;
  color:#111;
  font-weight:700;
  text-align:center;
  text-decoration:none;
  border-radius:0;
}

.detail_nav a:last-child{
  border-right:none;
}

.detail_nav a.active{
  background:#d9001b;
  color:#fff;
}

/* =========================================
   DETAIL CONTENT
========================================= */

.detail_section{

  width:calc(100% - 80px);

  margin:40px auto;

  padding:60px;

  background:#f7f7f7;

  border-radius:24px;

  box-sizing:border-box;
}

.gray_bg{
  background:#efefef;
}

.detail_container{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  gap:60px;
}

.detail_container.reverse{
  flex-direction:row-reverse;
}

.detail_text{
  flex:1.2;
}

.detail_label{
  color:#d9001b;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.1em;
  margin-bottom:16px;
}

.detail_text h2{
  font-size:24px;
  line-height:1.6;
  margin-bottom:24px;
  font-weight:700;
  text-align:left;
  letter-spacing:0;
  word-spacing:0;
}
.detail_text p{
  font-size:18px;
  line-height:2;
  color:#444;
  margin-bottom:20px;
  text-align:left;
}

.detail_image{
  flex:1;
  text-align:center;
}

.detail_image img{
  width:100%;
  max-width:380px;
  border-radius:12px;
}

.lineup_images{

  display:flex;
  flex-direction:column;

  gap:30px;
    margin-top:100px;

}


/* =========================================
   RESPONSIVE
========================================= */

@media screen and (max-width: 900px){

  .detail_section{
    padding:40px 24px;
  }

  .detail_container,
  .detail_container.reverse{
    flex-direction:column;
  }

  .detail_text h2{
    font-size:32px;
  }

  .detail_text p{
    font-size:16px;
  }

}

.back_link{
  display:block;

  width:min(1200px, 90%);

  margin:12px auto 12px;

  font-size:14px;
  font-weight:500;

  color:#666;

  text-decoration:none;

  transition:0.2s;
}

.back_link:hover{
  color:#d9001b;
}

.image_note{
  margin-top:12px;

  font-size:13px;
  color:#777;

  text-align:center;
}
.overview_heading{
  margin-bottom:40px;
}

.overview_heading h2{
  font-size:42px;
  line-height:1.4;
  font-weight:700;
  color:#111;
  margin:0;
  text-align:left;
}

.overview_content{
  display:flex;
  align-items:flex-start;
  gap:50px;
}

.overview_image{
  flex:0 0 45%;
}

.overview_image img{
  width:100%;
  max-width:480px;
  display:block;
}

.overview_text{
  flex:1;
}

.overview_text p{
  font-size:18px;
  line-height:2;
  color:#444;
  margin-bottom:16px;
  text-align:left;
}
.dash_list{
  list-style:none;

  padding-left:0;

  margin:20px 0;
}

.dash_list li{
  position:relative;

  list-style:none;

  padding-left:1.4em;

  margin-bottom:10px;

  line-height:2;
}

.dash_list li::before{
  content:"-";

  position:absolute;

  left:0;

  color:#444;

  font-weight:700;
}

.overview_text li{
  position:relative;

  padding-left:1.4em;

  margin-bottom:10px;

  font-size:18px;
  line-height:2;
  color:#444;
}

.overview_text li::before{
  content:"-";

  position:absolute;

  left:0;

  color:#444;

  font-weight:700;
}

.pe-hard{
  width:100%;
}

.pe-hard h2{
  font-size:32px;
  line-height:1.4;
  font-weight:700;
  margin-bottom:40px;
  color:#111;
}

.pe-hard_grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
}

.pe-hard_item{
  background:#fff;
  border-radius:18px;
  padding:28px;
  box-shadow:0 10px 30px rgba(0,0,0,0.06);
}

.pe-hard_item h3{
  font-size:18px;
  font-weight:700;
  margin-bottom:20px;
  color:#111;
}

.pe-hard_item img{
  width:100%;
  height:auto;
  display:block;
}

.pe-hard_item-wide{
  grid-column:1 / -1;
}

.pe-hard .image_note{
  margin-top:24px;
  text-align:center;
}
.pe-hard_item{
  display:flex;
  flex-direction:column;
}

.pe-hard_item .image_note{
  margin-top:16px;
}


/* =========================================
   SMARTPHONE ONLY
========================================= */

@media screen and (max-width:768px){

  .product_hero{
    padding:40px 24px;
  }

  .product_hero_inner{
    flex-direction:column;
    gap:30px;
  }

  .product_hero_text,
  .product_hero_img{
    width:100%;
  }

 

.product_lead{
  font-size:18px;
  line-height:1.9;

  color:#444;

  margin-bottom:40px;

  max-width:680px;
}

  .product_buttons{
    flex-direction:column;
  }

  .product_buttons .btn_red,
  .product_buttons .btn_line{
    width:100%;
  }

  .detail_section{
    width:calc(100% - 32px);
    padding:32px 20px;
    margin:24px auto;
  }

  .overview_content{
    flex-direction:column;
    gap:30px;
  }

  .overview_image{
    width:100%;
  }

  .overview_heading h2{
    font-size:30px;
    line-height:1.4;
  }

  .overview_text p{
    font-size:16px;
    line-height:1.9;
  }

  .detail_nav{
    overflow-x:auto;
  }

  .detail_nav .tab_btn{
    min-width:160px;
    white-space:nowrap;
  }

  .pe-hard_grid{
    grid-template-columns:1fr;
  }

  .feature_grid{
    grid-template-columns:1fr;
    padding:24px;
  }

  .detail_image img{
    width:100%;
    max-width:100%;
  }

}

@media screen and (max-width:1100px){

  .product_hero_inner{
    flex-direction:column;

    align-items:flex-start;

    gap:24px;
  }

  .product_hero_text,
  .product_hero_img{
    width:100%;
  }

  .product_hero_img img{
    max-width:100%;

    height:auto;

    display:block;

    margin:0 auto;
  }
.product_title{

  font-size:clamp(34px, 4vw, 56px);

  line-height:1.1;

  margin:0 0 24px;

  font-weight:800;

  color:#111;

}
}