@charset "utf-8";

/* hero (main visual) */
.main_vis{display:flex;position:relative;z-index:1;align-items:center;justify-content:center;height:100vh;padding:0;--x:50%;--y:50%;}
.vis_img{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;pointer-events:none;}
.vis_img img{position:absolute;width:100%;height:100%;object-fit:cover;}
.vis_img .back{z-index:1;filter:brightness(0.6);}
.vis_img .front{z-index:2;filter:brightness(0.25);-webkit-mask-image:radial-gradient(circle 500px at var(--x) var(--y), transparent 0%, black 80%);mask-image:radial-gradient(circle 500px at var(--x) var(--y), transparent 0%, black 80%);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;}
.vis_txt{position:relative;z-index:10;max-width:80rem;padding:0 1.5rem;margin:0 auto;text-align:center;}
.vis_badge{display:inline-block;padding:0.375rem 1rem;margin-bottom:2.5rem;border:1px solid rgba(92,177,189,0.4);border-radius:9999px;background:rgba(92,177,189,0.05);font-size:12px;font-weight:700;letter-spacing:0.4em;text-transform:uppercase;color:var(--teal);}
.vis_tit{margin-bottom:2.5rem;font-size:3rem;font-weight:700;line-height:1.1;letter-spacing:-0.05em;color:var(--white);}
.vis_desc{max-width:56rem;margin:0 auto 4rem;font-size:1.125rem;font-weight:300;line-height:1.625;color:#9CA3AF;}
@media (min-width:768px){
.vis_tit{font-size:4.5rem;}
.vis_desc{font-size:1.25rem;}
}

/* identity */
.iden_sec{background:rgba(255,255,255,0.01);}
.iden_sec .sec_in{text-align:center;}
.iden_box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3rem;margin-bottom:4rem;}
.iden_item{display:flex;flex:1;flex-direction:column;align-items:center;width:100%;}
.iden_word{display:flex;position:relative;align-items:center;justify-content:center;height:8rem;}
.iden_word strong{font-size:4.5rem;font-weight:700;line-height:1;letter-spacing:-0.025em;color:var(--white);}
.iden_word em{position:absolute;bottom:-1.25rem;font-size:10px;font-style:normal;font-weight:700;letter-spacing:0.25em;text-transform:uppercase;white-space:nowrap;color:var(--teal);}
.iden_plus{padding:1rem 2rem;font-size:3rem;font-weight:300;color:var(--white);opacity:0.4;}
.iden_desc{margin-top:2rem;font-size:1rem;line-height:1.625;color:#9CA3AF;}
.iden_desc span{font-size:1.125rem;font-weight:700;color:var(--white);}
.iden_line{width:6rem;height:1px;margin:6rem auto 4rem;background:rgba(255,255,255,0.1);}
.iden_txt{max-width:56rem;margin:0 auto;font-size:1.25rem;font-weight:300;line-height:1.625;color:#9CA3AF;}
.iden_txt strong{font-weight:700;color:var(--white);}
@media (min-width:768px){
.iden_box{flex-direction:row;gap:0;}
.iden_plus{padding:1rem 4rem;font-size:3.75rem;}
.iden_word strong{font-size:6rem;}
.iden_desc{font-size:1.125rem;}
.iden_desc span{font-size:1.25rem;}
.iden_txt{font-size:1.5rem;}
}
@media (min-width:1024px){
.iden_word strong{font-size:8rem;}
.iden_desc span{font-size:1.5rem;}
}

/* hipology product cards */
.prod_list{display:grid;grid-template-columns:1fr;gap:2.5rem;}
.prod_card{display:flex;overflow:hidden;flex-direction:column;min-height:300px;border:1px solid rgba(255,255,255,0.08);border-radius:2.5rem;background:rgba(255,255,255,0.03);transition:var(--motion);cursor:pointer;}
.prod_card:hover{border-color:var(--teal);background:rgba(255,255,255,0.06);transform:translateY(-10px);}
.card_info{display:flex;flex:1.2;flex-direction:column;justify-content:center;padding:3.5rem;border-bottom:1px solid rgba(255,255,255,0.05);}
.card_vis{display:flex;position:relative;flex:1;align-items:center;justify-content:center;height:180px;background:rgba(255,255,255,0.01);}
.card_vis svg{width:5rem;height:5rem;color:var(--teal);opacity:0.2;}
.card_label{margin-bottom:1rem;font-size:0.7rem;font-weight:800;letter-spacing:0.3em;text-transform:uppercase;color:var(--teal);}
.card_tit{margin-bottom:1rem;font-size:2.5rem;font-weight:800;}
.card_txt{font-size:1rem;font-weight:300;line-height:1.6;color:var(--txt_gray);}
@media (min-width:768px){
.prod_card{flex-direction:row;}
.card_info{border-right:1px solid rgba(255,255,255,0.05);border-bottom:none;}
.card_vis{height:auto;}
}
@media (min-width:1024px){
.prod_list{grid-template-columns:1fr 1fr;}
}

/* demo cta */
.demo_sec .sec_in{text-align:center;}
.demo_box{display:inline-block;width:100%;padding:3rem;border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius_lg);background:var(--glass_bg);transition:var(--motion);}
.demo_box:hover{border-color:var(--teal);background:rgba(255,255,255,0.05);transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,0.4);}
.demo_tit{margin-bottom:2rem;font-size:2.25rem;font-style:italic;font-weight:700;line-height:1;color:var(--white);}
.demo_txt{max-width:42rem;margin:0 auto 4rem;font-size:1.125rem;font-weight:300;line-height:1.625;color:#9CA3AF;}
@media (min-width:768px){
.demo_box{padding:6rem;}
.demo_tit{font-size:3.75rem;}
.demo_txt{font-size:1.25rem;}
}

/* final banner */
.final_sec .sec_in{text-align:center;}
.final_tit{margin-bottom:2rem;font-size:2.25rem;font-weight:700;line-height:1.1;letter-spacing:-0.025em;color:var(--white);}
.final_txt{margin-bottom:4rem;font-size:1.125rem;font-weight:300;color:#9CA3AF;}
@media (min-width:768px){
.final_tit{font-size:3.75rem;}
.final_txt{font-size:1.25rem;}
}
@media (min-width:1024px){
.final_tit{font-size:4.5rem;}
}
