
/* =====================================================
   01. HERO BASE
===================================================== */
.km-hero{position:relative;width:100%;min-height:calc(100vh - 50px);display:flex;align-items:center;overflow:hidden;background:linear-gradient(90deg,rgba(255,255,255,.60) 0%,rgba(255,255,255,.42) 46%,rgba(247,251,255,.20) 100%),url('/img/km_hero_soft_medical_bg.jpg') center center/cover no-repeat;font-family:'Pretendard','Noto Sans KR',Arial,sans-serif;color:#101b33;box-sizing:border-box;isolation:isolate;}
.km-hero *{box-sizing:border-box;}
.km-hero:before{content:"";position:absolute;left:-10%;bottom:-35%;width:75%;height:95%;border-radius:50%;background:radial-gradient(ellipse,rgba(185,210,232,.25),transparent 67%);pointer-events:none;z-index:-1;}
.km-hero-inner{position:relative;width:100%;max-width:1400px;margin:0 auto;padding:110px 0px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);align-items:center;gap:90px;}
/* =====================================================
   02. FIXED COPY
===================================================== */
.km-hero-copy{min-width:0;}
.km-hero-eyebrow{display:inline-flex;align-items:center;padding:7px 15px;margin-bottom:24px;border-radius:50px;background:#e3edf8;color:#13528f;font-size:13px;font-weight:700;letter-spacing:.1px;}
.km-hero-title{margin:0 0 24px;font-size:clamp(36px,3.7vw,58px);font-weight:800;line-height:1.13;letter-spacing:-2px;word-break:keep-all;color:#111;}
.km-hero-description{max-width:540px;margin:0;color:#666;font-size:18px;line-height:1.8;word-break:keep-all;}
.km-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
.km-hero-btn{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:0 23px;border:1px solid #14549b;border-radius:9px;background:#14549b;color:#fff!important;text-decoration:none!important;font-size:14px;font-weight:700;transition:background .2s,border-color .2s,color .2s;}
.km-hero-btn:hover{background:#0c3f78;border-color:#0c3f78;color:#fff!important;}
.km-hero-btn-outline{background:rgba(255,255,255,.85);color:#14549b!important;}
.km-hero-btn-outline:hover{background:#e9f2fa;border-color:#14549b;color:#14549b!important;}
/* =====================================================
   03. NINE-IMAGE SLIDER
===================================================== */
.km-hero-media{position:relative;min-width:0;padding:0 0 32px 0;}
.km-hero-slider{width:100%;overflow:hidden;border-radius:17px;background:#fff;box-shadow:0 28px 65px rgba(24,60,100,.12);}
.km-hero-slide{position:relative;width:100%;aspect-ratio:1000/550;overflow:hidden;background:#fff;}
.km-hero-slide img{display:block;width:100%;height:100%;object-fit:contain;}
.km-hero-info{position:absolute;left:-22px;bottom:0;width:285px;max-width:calc(100% - 18px);padding:20px 23px;border:1px solid rgba(255,255,255,.75);border-radius:13px;background:rgba(255,255,255,.91);box-shadow:0 15px 40px rgba(24,60,100,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:2;pointer-events:none;}
.km-hero-info strong{display:block;margin:0 0 7px;color:#14549b;font-size:22px;line-height:1.25;font-weight:800;letter-spacing:-.5px;}
.km-hero-info p{margin:0;color:#687689;font-size:12px;line-height:1.6;}
.km-hero-pagination{position:absolute!important;left:auto!important;right:8px!important;bottom:8px!important;width:auto!important;display:flex;align-items:center;gap:6px;z-index:3;}
.km-hero-pagination .swiper-pagination-bullet{width:7px;height:7px;margin:0!important;background:#a6bbcf;opacity:.65;}
.km-hero-pagination .swiper-pagination-bullet-active{width:20px;border-radius:6px;background:#14549b;opacity:1;}


/* =====================================================
   MAIN VISUAL - MOBILE (1020px)
===================================================== */
@media(max-width:1020px){
    .km-hero{min-height:auto;display:block;background-position:center center;}
    .km-hero-inner{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:100%;gap:40px;padding:70px 25px 85px;box-sizing:border-box;}
    .km-hero-copy{order:1;width:100%;min-width:0;text-align:left;}
    .km-hero-title{font-size:clamp(30px,5vw,50px);line-height:1.2;letter-spacing:-1.2px;word-break:keep-all;}
    .km-hero-description{width:100%;max-width:100%;font-size:25px;line-height:1.8;word-break:keep-all;}
    .km-hero-actions{margin-top:25px;}
    .km-hero-media{order:2;width:100%;max-width:100%;min-width:0;margin:0;padding-bottom:55px;}
    .km-hero-slider{width:100%;border-radius:14px;}
    .km-hero-info{left:12px;bottom:0;}
}

@media(max-width:520px){
    .km-hero-inner{gap:30px;padding:50px 18px 65px;}
    .km-hero-title{font-size:32px;}
    .km-hero-description{font-size:14px;}
    .km-hero-btn{min-height:44px;padding:0 16px;font-size:12px;}
    .km-hero-info{width:240px;padding:15px 17px;}
    .km-hero-info strong{font-size:18px;}
}





/* 01. SECTION BASE */
.km-feature{width:100%;padding:125px 24px 135px;background:#fff;font-family:'Pretendard','Noto Sans KR',Arial,sans-serif;color:#16243c;box-sizing:border-box;overflow:hidden;}
.km-feature *{box-sizing:border-box;}
.km-feature-inner{width:100%;max-width:1400px;margin:0 auto;}
/* 02. TITLE */
.km-feature-head{margin:0 0 48px;}
.km-feature-label{display:block;margin:0 0 15px;color:#14549b;font-size:13px;font-weight:700;letter-spacing:1.5px;}
.km-feature-title{margin:0;color:#222;font-size:clamp(28px,3vw,46px);font-weight:800;line-height:1.35;letter-spacing:-1.7px;word-break:keep-all;}
.km-feature-title em{font-style:normal;color:#14549b;}
.km-feature-lead{margin:18px 0 0;color:#666;font-size:18px;line-height:1.8;word-break:keep-all;}
/* 03. CARDS */
.km-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;}
.km-feature-item{display:block;min-width:0;color:inherit;text-decoration:none!important;}
.km-feature-image{position:relative;width:100%;aspect-ratio:1/1.05;overflow:hidden;background:#edf3f8;}
.km-feature-image img{display:block;width:100%;height:100%;object-fit:cover;}
.km-feature-num{position:absolute;left:22px;top:22px;color:#fff;font-size:14px;font-weight:700;letter-spacing:1px;text-shadow:0 1px 8px rgba(0,0,0,.4);}
.km-feature-body{padding:25px 4px 0;text-align:center;}
.km-feature-name{margin:0 0 12px;color:#111;font-size:27px;font-weight:800;letter-spacing:-.7px;}
.km-feature-desc{max-width:360px;margin:0 auto;color:#666;font-size:17px;line-height:1.8;word-break:keep-all;}
/* 04. RESPONSIVE */
@media(max-width:900px){.km-feature{padding:90px 24px 100px;}.km-feature-grid{gap:18px;}.km-feature-name{font-size:19px;}.km-feature-desc{font-size:13px;}}
@media(max-width:650px){.km-feature{padding:70px 18px 80px;}.km-feature-head{margin-bottom:32px;}.km-feature-title{font-size:30px;}.km-feature-lead{font-size:14px;}.km-feature-grid{grid-template-columns:1fr;gap:40px;}.km-feature-image{aspect-ratio:1.3/1;}.km-feature-body{padding-top:18px;}.km-feature-name{font-size:21px;}.km-feature-desc{font-size:14px;}}




/* =====================================================
   KOREA MEDENT - PARALLAX (PUREAL STYLE)
===================================================== */
/* 01. BASE & BACKGROUND */
.km_parallax{position:relative;width:100%;min-height:800px;overflow:hidden;isolation:isolate;background:#071c31;font-family:'Pretendard','Noto Sans KR',sans-serif;color:#fff;}
.km_parallax *{box-sizing:border-box;}
.km_parallax_bg{position:absolute;inset:-18% 0;background:url('/img/km_parallax_bg.jpg') center center/cover no-repeat;z-index:0;clip-path:circle(10% at 50% 20%);transition:clip-path 1.5s ease;will-change:transform;}
.km_parallax.aos-animate .km_parallax_bg{clip-path:circle(150% at 50% 50%);}
.km_parallax_dim{position:absolute;inset:0;background:rgba(3,18,33,.48);z-index:1;pointer-events:none;}
.km_parallax_inner{position:relative;z-index:2;width:100%;max-width:1400px;margin:0 auto;padding:115px 100px 105px; text-align:center;}
/* 02. TITLE */
.km_parallax_text{position:relative;color:#fff;}
.km_parallax_label{display:block;margin-bottom:18px;font-size:13px;font-weight:700;letter-spacing:3px;color:#b5ddff;}
.km_parallax_text h2{margin:0;font-size:clamp(38px,4.5vw,64px);font-weight:800;line-height:1.2;letter-spacing:-1.5px;color:#fff;}
.km_parallax_text p{margin:25px 0 0;font-size:17px;font-weight:500;line-height:1.9;color:rgba(255,255,255,.95);word-break:keep-all;}
/* 03. OVERLAPPING CIRCLES */
.km_parallax_circles{display:flex;align-items:center;justify-content:center;width:100%;margin:65px auto 0;}
.km_circle_item{position:relative;flex:0 0 25%;width:25%;aspect-ratio:1/1;margin:0 -2.5%;border-radius:50%;background:rgba(255,255,255,.10);display:flex;align-items:center;justify-content:center;transition:background .35s;will-change:transform;}
.km_circle_item:hover{background:rgba(255,255,255,.19);}
.km_circle_inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;padding:16px;color:#fff;}
.km_circle_inner svg{display:block;width:62px;height:62px;margin-bottom:21px;color:#fff;}
.km_circle_inner strong{display:block;font-size:clamp(16px,1.7vw,24px);font-weight:700;line-height:1.3;color:#fff;white-space:nowrap;}
.km_circle_inner span{display:block;margin-top:8px;font-size:14px;color:rgba(255,255,255,.88);}
/* 04. LINK */
.km_parallax_more{display:inline-flex;align-items:center;gap:12px;margin-top:65px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.6);font-size:13px;font-weight:700;letter-spacing:2px;color:#fff!important;text-decoration:none!important;transition:gap .3s;}
.km_parallax_more svg{width:21px;height:21px;}
.km_parallax_more:hover{gap:22px;}
/* 05. TABLET */
@media(max-width:1100px){
.km_parallax_inner{padding:100px 25px 90px;}
.km_parallax_circles{margin-top:55px;}
.km_circle_inner svg{width:50px;height:50px;margin-bottom:14px;}
.km_circle_inner strong{font-size:17px;}
.km_circle_inner span{font-size:12px;}
}
/* 06. MOBILE */
@media(max-width:768px){
.km_parallax{min-height:auto;}
.km_parallax_inner{padding:85px 18px 75px;}
.km_parallax_text h2{font-size:36px;letter-spacing:-1px;}
.km_parallax_text p{font-size:14px;line-height:1.85;}
.km_parallax_text p br{display:none;}
.km_parallax_circles{flex-wrap:wrap;gap:8px 0;margin-top:45px;}
.km_circle_item{flex:0 0 32%;width:32%;margin:0 -.5%;}
.km_circle_inner{padding:7px;}
.km_circle_inner svg{width:35px;height:35px;margin-bottom:8px;}
.km_circle_inner strong{font-size:clamp(11px,2.7vw,15px);}
.km_circle_inner span{margin-top:4px;font-size:10px;}
.km_parallax_more{margin-top:42px;}
}
@media(max-width:380px){.km_circle_item{flex-basis:33%;width:33%;}.km_circle_inner svg{width:29px;height:29px;}.km_circle_inner strong{font-size:11px;}.km_circle_inner span{font-size:9px;}}
@media(prefers-reduced-motion:reduce){.km_parallax_bg{clip-path:none!important;transition:none;will-change:auto;}.km_circle_item{will-change:auto;transition:none;}}



/* =====================================================
   ABOUT KOREA MEDENT
===================================================== */
.km-about{position:relative;width:100%;padding:140px 24px;background:#fff;box-sizing:border-box;overflow:hidden;}
.km-about *{box-sizing:border-box;}
.km-about-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px;width:100%;max-width:1400px;margin:0 auto;}
.km-about-content{min-width:0;}
.km-about-label{display:block;margin-bottom:25px;color:#1262ad;font-size:17px;font-weight:700;letter-spacing:-.3px;}
.km-about-title{margin:0 0 30px;color:#111;font-size:clamp(38px,3.5vw,56px);font-weight:800;line-height:1.3;letter-spacing:-2px;word-break:keep-all;}
.km-about-description{max-width:570px;margin:0;color:#666;font-size:17px;line-height:1.95;letter-spacing:-.4px;word-break:keep-all;}
.km-about-button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;min-width:240px;height:58px;margin-top:55px;padding:0 25px;border:1px solid #222;border-radius:40px;color:#222;font-size:15px;font-weight:600;text-decoration:none!important;transition:background .3s,color .3s,border-color .3s;}
.km-about-button:hover{background:#1262ad;border-color:#1262ad;color:#fff;}
.km-about-button svg{flex-shrink:0;transition:transform .3s;}
.km-about-button:hover svg{transform:translateX(5px);}
.km-about-image{width:100%;height:640px;overflow:hidden;}
.km-about-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}

/* =====================================================
   ABOUT - TABLET / MOBILE
===================================================== */
@media(max-width:1020px){
.km-about{padding:90px 25px;}
.km-about-inner{grid-template-columns:1fr;gap:45px;}
.km-about-label{margin-bottom:18px;font-size:16px;}
.km-about-title{font-size:clamp(32px,4.5vw,44px);letter-spacing:-1.5px;}
.km-about-description{max-width:100%;font-size:17px;line-height:1.85;}
.km-about-button{margin-top:35px;}
.km-about-image{height:500px;}
}

@media(max-width:520px){
.km-about{padding:75px 20px;}
.km-about-inner{gap:35px;}
.km-about-label{font-size:14px;}
.km-about-title{font-size:32px;letter-spacing:-1px;}
.km-about-description{font-size:15px;}
.km-about-button{min-width:210px;height:52px;margin-top:30px;font-size:14px;}
.km-about-image{height:380px;}
}