@charset "utf-8";

@import url("../../../fonts/SUIT/SUIT.css");
@import url("../../../fonts/NanumMyeongjo/NanumMyeongjo.css");
@import url("../../../fonts/Paperlogy/Paperlogy.css");

#content * {box-sizing: border-box;}
.br-pc {display: block;}
.br-mo {display: none;}

@media screen and (max-width: 1024px) {
    .br-pc {display: none;}
    .br-mo {display: block;}
}


/* ==== SECTION - TOP BANNER ==== */
.top_banner .inner {position: relative;}
.top_banner .inner .mo_ver {display: none;}
.top_banner .inner .pc_ver {width: 100%; padding-top: calc(562/1920 * 100%); position: relative; background-repeat: no-repeat; background-position: center; background-size: cover;}
.top_banner .inner .pc_ver iframe {width: 100%; height: 100%; position: absolute; top: 0; left: 0; right: 0; bottom: 0;}
.top_banner .inner img {width: 100%;}
.top_banner .inner .text_box {display: grid; gap: clamp(15px, 3vw, 20px); width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fff; text-align: center;}
.top_banner .inner h2 {font-family: 'Paperlogy', sans-serif; font-size: clamp(42px, 9vw, 90px); line-height: 1em; letter-spacing: -1px;}
.top_banner .inner p {font-family: 'SUIT'; font-size: clamp(14px, 5vw, 28px); line-height: 1em; letter-spacing: -1px; color: #fff;}

@media screen and (max-width: 768px) {
    .top_banner .inner .mo_ver {display: block;}
    .top_banner .inner .pc_ver {display: none;}
}


/* ==== SECTION - PHILOSOPHY ==== */
.philosophy {background-color: #fff;}
.philosophy .inner {padding-top: 80px;
}
.philosophy__title {display: flex; align-items: center; justify-content: center; gap: clamp(15px, 3vw, 50px); padding: clamp(27px, 5vw, 75px) 0; margin: 0 auto 50px; width: 90%; max-width: 1088px; border-radius: 9999px; background: linear-gradient(to right, #48B8E0, #0575DD);}
.philosophy__title .philosophy__label {font-family: 'Paperlogy', sans-serif; font-size: clamp(35px, 8.7vw, 120px); font-weight: 700; color: #fff;}
.philosophy__title .philosophy__slogan {font-family: 'SUIT', sans-serif; font-size: clamp(15px, 3.6vw, 50px); font-weight: 800; line-height: 1.3; letter-spacing: -1px; color: #fff;}
.philosophy__title .philosophy__slogan .highlight {color: #FFF298;}

.philosophy__catchphrase {text-align: center; letter-spacing: -1px; font-family: 'NanumMyeongjo', sans-serif; font-size: clamp(17px, 3.8vw, 60px); font-weight: 800; color: #385EAF;}

.philosophy__body {position: relative; margin: 50px auto 0; max-width: 1400px;}
.philosophy__body .philosophy__doctor {position: relative; width: 711px; height: auto;}
.philosophy__body .philosophy__doctor-img {display: block; aspect-ratio: auto; width: 100%; height: auto;}
.philosophy__body .philosophy__doctor-img.fade-right {--mask-property: linear-gradient(to right, black 70%, transparent 90%, transparent 100%); -webkit-mask-image: var(--mask-property); mask-image: var(--mask-property);}

.philosophy__details {position: absolute; top: 42px; right: 0; width: 832px;}
.philosophy__details .philosophy__list {margin-bottom: 30px; display: grid; align-content: start; gap: 10px; width: 100%;}
.philosophy__details .philosophy__list .philosophy__item {position: relative; width: 100%; padding: 30px 35px; display: flex; align-items: center; gap: 15px; letter-spacing: -1px; font-family: 'NanumMyeongjo', sans-serif; font-size: clamp(18px, 4vw, 39px); border: 1px solid #41CFFE; border-radius: 9999px; background-color: #fff; box-shadow: rgba(0, 0, 0, .1) 0 5px 10px;}
.philosophy__details .philosophy__list .philosophy__item::before {content: ''; display: block; aspect-ratio: 35 / 39; width: clamp(15px, 3vw, 35px); background: url(../images/icon_check.png) center / contain;}
.philosophy__details .philosophy__description {padding-left: 40px; text-align: left; letter-spacing: -1px; line-height: 1.4; font-family: 'SUIT'; font-size: clamp(18px, 4vw, 43px);}

.philosophy__signature {
    width: 100%; height: 98px;
    /* background-image: url(../images/gangnam/img_signature.png); */
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
    display: block;
}
.philosophy__signature--pc {margin-top: 16px; background-position: right 75px bottom;}
.philosophy__signature--mo {display: none; position: absolute; right: 0; bottom: 0; background-position: right 9% bottom;}

@media screen and (max-width: 1600px) {
    .philosophy .inner {padding: 60px 8%;}

    .philosophy__body {display: block; padding: 0;}
    .philosophy__body .philosophy__doctor {margin: 0 auto; width: 100%;}
    .philosophy__body .philosophy__doctor-img {object-fit: cover; object-position: top;}
    .philosophy__body .philosophy__doctor-img.fade-right {--mask-property: 0;}

    .philosophy__details {position: static; width: auto;}
    .philosophy__details .philosophy__list .philosophy__item {width: auto;}
    .philosophy__details .philosophy__description {padding-left: 0; text-align: center;}

    .philosophy__signature--pc {display: none !important;}
    .philosophy__signature--mo {display: block !important;}
}

@media screen and (max-width: 1024px) {
    .philosophy .inner {padding: 50px 8%;}

    .philosophy__signature {height: 70px;}

    .philosophy__details .philosophy__list .philosophy__item {padding: 27px 40px; gap: 5px;}
}

@media screen and (max-width: 768px) {
    .philosophy__title {margin-bottom: 15px; width: 100%;}

    .philosophy__body {margin-top: 20px;}

    .philosophy__signature {height: 35px;}

    .philosophy__details .philosophy__list {margin-bottom: 15px;}
    .philosophy__details .philosophy__list .philosophy__item {padding: 3.6% 4%;}
}


/* ==== SECTION - 플란치과의 3원칙 ==== */
.principles {background-color: #BFDBFF;}
.principles .inner {padding-block: 70px;}

.principles__header {margin-bottom: 30px; font-family: 'Paperlogy', sans-serif; text-align: center; color: #0F4092;}
.principles__header .principles__subtitle {font-family: inherit; font-size: clamp(17px, 3vw, 35px);}
.principles__header .principles__title {font-family: inherit; font-size: clamp(40px, 7vw, 105px);}

.principles__label {display: block; width: clamp(208px, 50%, 558px); margin-inline: auto; text-align: center; padding-block: 10px; font-family: 'SUIT'; font-size: clamp(20px, 4.5vw, 55px); font-weight: 600; border-radius: 9999px; color: #fff; background-color: #2B7BFF;}

.principles .overlap {display: flex; flex-direction: row; justify-content: center; align-items: center; padding-block: 50px;}
.principles .overlap__item {width: clamp(115px, 29vw, 320px); aspect-ratio: 1 / 1; border-radius: 50%; display: flex; justify-content: center; align-items: center; position: relative; margin-left: clamp(-30px, -5vw, -20px); border: 5px solid rgba(15, 64, 146, .15); background-clip: padding-box; color: #2B7BFF; background-color: #fff;}
.principles .overlap__item--left {z-index: 3; margin-left: 0;}
.principles .overlap__item--center {z-index: 2;}
.principles .overlap__item--right {z-index: 1;}
.principles .overlap__text {font-family: 'Paperlogy', sans-serif; font-size: clamp(28px, 8vw, 80px); font-weight: 700; text-align: center; word-break: keep-all;}

/* 애니메이션 전 (기본) */
.principles .overlap__item {opacity: 0; transform: translateY(50px); transition: transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.6s ease;}

/* 애니메이션 활성화 */
.principles.is-active .overlap .overlap__item {opacity: 1; transform: translateY(0);}

.principles__description {line-height: 1.5; text-align: center; font-family: 'SUIT', sans-serif; font-size: clamp(18px, 4.4vw, 45px); color: #0F4092;}
.principles__description .mark {padding-inline: 5px; color: #fff; background-color: #0F4092;}

@media screen and (max-width: 768px) {
    .principles .inner {padding-block: 35px;}
    .principles__header {margin-bottom: 15px;}

    .principles__label {padding-block: 4px;}

    .principles .overlap {padding-block: 25px;}
    .principles .overlap__item {border-width: 2px;}
}


/* ==== SECTION - 제로를 향한 끝없는 도전! ==== */
.zero {background-color: #fff;}
.zero .inner {max-width: 1600px; margin: 0 auto; padding-block: 100px;}

.zero__title {text-align: center; font-family: 'Paperlogy', sans-serif; font-size: clamp(28px, 7vw, 90px); font-weight: 700; color: #0F4092;}
.zero .highlight {color: #0C82FE;}

.zero .network {padding: 70px 0 100px; overflow: hidden;}
.zero .network__container {display: flex; align-items: center; justify-content: center; gap: clamp(5px, 2vw, 50px); width: 100%; max-width: 1400px; margin: 0 auto; position: relative; font-family: 'Paperlogy', sans-serif;}
.zero .network__side {display: flex; flex-direction: column; gap: clamp(20px, 4vw, 100px); position: relative;}
.zero .network__core {position: relative; width: clamp(80px, 23vw, 344px); aspect-ratio: 1 / 1; display: flex; justify-content: center; align-items: center; border-radius: 9999px; font-size: clamp(20px, 5vw, 90px); font-weight: 800; z-index: 2; border: 20px solid #DEE6FE; color: #242424; background: #F2F5FF;}
.zero .network__item {position: relative; z-index: 1; padding-block: 22px; width: 342px; text-align: center; font-size: clamp(18px, 4vw, 45px); font-weight: 700; border-radius: 9999px; color: #242424; background-color: #E5F2FF;}
.zero .network__item::before {content: ''; position: absolute; top: 50%; width: 50%; height: 5px; background-color: #DEE6FE; z-index: -1;}

.zero .network__side--left .network__item::before {left: 100%;}
.zero .network__side--right .network__item::before {right: 100%;}
.zero .network__side .network__item:first-child::before {transform: rotate(20deg); transform-origin: left;}
.zero .network__side .network__item:last-child::before {transform: rotate(-20deg); transform-origin: left;}
.zero .network__side--right .network__item:first-child::before {transform: rotate(-20deg); transform-origin: right;}
.zero .network__side--right .network__item:last-child::before {transform: rotate(20deg); transform-origin: right;}

.zero .info-grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; max-width: 1400px; margin: 0 auto; padding-inline: 35px;}
.zero .info-card {overflow: hidden; border-radius: 10px;}
.zero .info-card__header {padding: 12px 0; background-color: #0F4092; color: #fff; text-align: center; font-family: 'Paperlogy', sans-serif; font-weight: 700; font-size: clamp(18px, 3.5vw, 45px);}
.zero .info-card__header .highlight {color: #FF8419;}
.zero .info-card__body {padding: clamp(10px, 2vw, 15px) 5px; background-color: #F0F4FF; color: #242424; text-align: center; font-family: 'SUIT', sans-serif; font-size: clamp(14px, 3vw, 33px); font-weight: 600; line-height: 1.3; display: flex; align-items: center; justify-content: center;}

@media screen and (max-width: 1024px) {
    .zero .inner {padding-inline: 60px;}

    .zero .network {padding-block: 80px;}
    .zero .network__side {width: 100%;}
    .zero .network__item {width: 100%;}

    .zero .info-grid {grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 0;}
}

@media screen and (max-width: 768px) {
    .zero .inner {padding: 45px 20px;}

    .zero .network {padding-block: 35px;}
    .zero .network__core {border-width: 3px;}
    .zero .network__item {padding-block: 5px;}
    .zero .network__item::before {height: 3px;}

    .zero .info-card__header {padding: 7px 0;}
    .zero .info-card {overflow: hidden; border-radius: 10px;}
}


/* ==== SECTION - FEATURES ==== */
.features .features__list .features__item {height: 987px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; grid-template-areas: "left right"; align-items: center; justify-content: center; background: #fff top / cover no-repeat;}
.features .features__list .features__item.reverse {grid-template-areas: "right left"; justify-items: end;}
.features .features__list .features__item:nth-child(1) {background-image: url(../images/img_features_bg_01.png);}
.features .features__list .features__item:nth-child(2) {background-image: url(../images/img_features_bg_02.png);}
.features .features__list .features__item:nth-child(3) {background-image: url(../images/img_features_bg_03.png);}
.features .features__list .features__item .empty {grid-area: left;}

.features .features__list .features__content {display: grid; gap: 35px; grid-area: right;}
.features .features__list .features__content .features__title {font-family: 'Paperlogy', sans-serif; font-size: 85px; font-weight: 700; color: #0A68CC;}
.features .features__list .features__content .features__label {padding-bottom: 7px; letter-spacing: -1px; line-height: 1.3; font-family: 'NanumMyeongjo', sans-serif; font-size: 65px; font-weight: 700; color: #2B7BFF;}
.features .features__list .features__content .features__label .underline {--underline-height: 20px; padding-bottom: 5px; background: url(../images/img_underline_01.png) bottom / 100% var(--underline-height) no-repeat;}
.features .features__list .features__content .features__desc {display: grid; gap: 40px; line-height: 1.3; letter-spacing: -1px; font-family: 'SUIT', sans-serif; font-size: 40px;}

@media screen and (max-width:1540px) {
    .features .features__list .features__item {height: 750px;}

    .features .features__list .features__content .features__desc {gap: 20px;}
    .features .features__list .features__content .features__title {font-size: 70px;}
    .features .features__list .features__content .features__label {font-size: 45px;}
    .features .features__list .features__content .features__desc {font-size: 29px;}
}

@media screen and (max-width:1440px) {
    .features .features__list .features__item {height: 620px;}

    .features .features__list .features__content .features__title {font-size: 55px;}
    .features .features__list .features__content .features__label {font-size: 35px;}
    .features .features__list .features__content .features__desc {font-size: 22px;}
}

@media screen and (max-width: 1024px) {
    .features .features__list .features__item {display: block; height: auto; padding: 62% 0 100px; background-size: 100%;}
    .features .features__list .features__item.reverse {grid-template-areas: none; justify-items: normal;}
    .features .features__list .features__item:nth-child(1) {background-image: url(../images/img_features_bg_01_mo.png);}
    .features .features__list .features__item:nth-child(2) {background-image: url(../images/img_features_bg_02_mo.png);}
    .features .features__list .features__item:nth-child(3) {background-image: url(../images/img_features_bg_03_mo.png);}
    .features .features__list .features__item .empty {display: none;}

    .features .features__list .features__content {gap: 20px; padding-inline: 70px;}
    .features .features__list .features__content .features__title {font-size: clamp(30px, 8vw, 75px);}
    .features .features__list .features__content .features__label {font-size: clamp(25px, 6vw, 60px);}
    .features .features__list .features__content .features__desc {font-size: clamp(18px, 4vw, 30px); letter-spacing: -0.5px;}
}

@media screen and (max-width: 768px) {
    .features .features__list .features__item {padding-bottom: 50px;}

    .features .features__list .features__content {gap: 9px; padding-inline: 41px;}
    .features .features__list .features__content .features__label .underline {--underline-height: 12px; padding-bottom: 0;}
}

@media screen and (max-width: 425px) {
    .features .features__list .features__content .features__label .underline {--underline-height: 7px;}
}


/* ==== SECTION - 플란치과 통합 진료 시스템 ==== */
.system {background-color: #F5F5F5;}
.system .inner {padding-block: 100px;}

.system__title {margin-bottom: 50px; text-align: center; font-family: 'Paperlogy', sans-serif; font-size: clamp(42px, 9vw, 90px); color: #0F4092;}

.system__content {position: relative; display: grid; grid-template-columns: auto 1fr; margin: 0 auto; max-width: 1300px;}
.system__content .system__core {display: flex; align-items: center; justify-content: center; width: 584px;}
.system__content .system__core .system__core-img {display: block; width: 100%; aspect-ratio: auto;}

.system__list {--primary-color: #C8E3FF; --border-width: 5px; z-index: 1; position: relative; display: grid; gap: 30px; align-content: space-between;}
.system__list .system__item {display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 30px; border: var(--border-width) solid var(--primary-color); border-radius: 9999px; overflow: hidden; background-color: #fff;}
.system__list .system__item .system__step-thumb {margin: calc(var(--border-width) * -1); width: 180px; border: var(--border-width) solid var(--primary-color); border-radius: 9999px; overflow: hidden;}
.system__list .system__item .system__step-thumb img {display: block; width: 100%; height: 100%; aspect-ratio: auto;}
.system__list .system__item .system__step-info {display: grid; gap: 10px;}
.system__list .system__item .system__step-info .system__step-title {position: relative; padding-left: 40px; letter-spacing: -1px; font-family: 'Paperlogy', sans-serif; font-size: 40px; color: #FF8419;}
.system__list .system__item .system__step-info .system__step-desc {letter-spacing: -1px; font-family: 'SUIT', sans-serif; font-size: 29px;}

/* 활성화 (점등) */
.system__list .system__item.is-active {--primary-color: #0C82FE;}

.system__step-title::before {--circle-size: 20px; content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: var(--circle-size); height: var(--circle-size); background-color: var(--primary-color); border-radius: 50%; box-shadow: 0 0 0 4px #fff, 0 0 0 6px var(--primary-color);;}


@media screen and (max-width:1440px) {
    .system__content {display: block; padding-inline: 150px;}
    .system__content .system__core {margin-inline: auto; width: 250px;}

    .system__list {padding-top: 50px;}
    .system__list::before {z-index: -1; content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); display: block; width: var(--border-width); height: 100%; background-color: #D6EAFF;}
    .system__list .system__item .system__step-thumb {width: 210px;}
}

@media screen and (max-width: 1024px) {
    .system__content {padding-inline: 80px;}

    .system__list .system__item .system__step-info .system__step-title {font-size: clamp(18px, 5vw, 33px);}
    .system__list .system__item .system__step-info .system__step-desc {font-size: clamp(15px, 3.5vw, 23px);}
    .system__list .system__item .system__step-thumb {width: 180px;}
}

@media screen and (max-width: 768px) {
    .system .inner {padding-block: 50px;}

    .system__title {margin-bottom: 20px;}

    .system__content {padding-inline: 20px;}
    .system__content .system__core {width: 34%;}

    .system__list {--border-width: 3px; padding-top: 20px; gap: 17px;}
    .system__list .system__item {gap: 20px;}
    .system__list .system__item .system__step-thumb {width: clamp(78px, 22vw, 150px);}
    .system__list .system__item .system__step-info {gap: 2px;}
    .system__list .system__item .system__step-info .system__step-title {padding-left: 30px;}

    .system__step-title::before {--circle-size: 15px;}
}

@media screen and (max-width: 425px) {
    .system__list {--border-width: 2px;}
    .system__list .system__item .system__step-info .system__step-title {padding-left: 19px;}

    .system__step-title::before {--circle-size: 8px; box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--primary-color);}
}



/* ==== SECTION - 안심하고 방문하세요 ==== */
.safe {background-color: #D4EAFF;}
.safe .inner {padding-bottom: 120px; max-width: 1400px; margin: 0 auto;}

.safe__visual-wrap {position: relative; width: 100%; aspect-ratio: 1446 / 906; overflow: hidden;}
.safe__video {position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; overflow: hidden; /* mix-blend-mode: screen; 검은색 배경을 투명하게 날림 */}
.safe__video::after { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; box-shadow: inset 0 0 0 2px #D4EAFF;  pointer-events: none; z-index: 10;}
.safe__video video {position: relative; display: block; width: 100%; height: 100%; object-fit: cover;}
.safe__people {position: absolute; bottom: 13%; left: 50%; transform: translateX(-50%); width: 100%; z-index: 2; pointer-events: none;}
.safe__people-img {display: block; width: 100%; height: auto;}

.safe__title {position: relative; z-index: 3; padding: 0.25em 0.8em; margin: -2em auto 0; width: fit-content; text-align: center; font-family: 'NanumMyeongjo', sans-serif; font-size: clamp(22px, 7vw, 100px); border-radius: 9999px; color: #294B94; background-color: #fff;}

.safe__description {margin-block: 1.2em; text-align: center; line-height: 1.4; font-family: 'SUIT', sans-serif; font-size: clamp(18px, 3.5vw, 45px); font-weight: 700; color: #1A1A1A;}
.safe__description .highlight {color: #294B94;}

.system-outro {text-align: center; font-family: 'Paperlogy', sans-serif;}
.system-outro__slogan {font-size: clamp(17px, 4.5vw, 75px); color: #191919;}
.system-outro__brand {font-size: clamp(28px, 7.5vw, 100px); font-weight: 700; color: #0C82FE;}

@media screen and (max-width: 1024px) {
    .safe .inner {padding: 20px 0 100px;}

    .system-outro__slogan {margin-bottom: 5px;}
}

@media screen and (max-width: 768px) {
    .safe .inner {padding: 10px 0 40px; padding-inline: 25px;}
}