@charset "UTF-8";
/* 고우리 전용. 기존 1280px 본문 폭 / 안티에이징 색상 유지. */
.ys-page {
    --ys-accent: #c6756e;
    --ys-pale: #fff6f2;
    --ys-text: #303637;
    position: relative;
    width: 100%;
    background: #fff;
    color: var(--ys-text);
    font-family: inherit;
    font-size: 20px;
    line-height: 1.75;
    text-align: left;
    word-break: keep-all;
    overflow-wrap: break-word;
}

.ys-page *, .ys-page *::before, .ys-page *::after {
    box-sizing: border-box;
}

.ys-page h1,.ys-page h2,.ys-page h3,.ys-page p,.ys-page ul,.ys-page ol {
    margin: 0;
    padding: 0;
}

.ys-page ul,.ys-page ol {
    list-style: none;
}

.ys-page img {
    display: block;
    max-width: 100%;
    border: 0;
}

.ys-page em {
    color: var(--ys-accent);
    font-style: normal;
}

.ys-page strong {
    font-weight: 700;
}

.ys-page .ys-section {
    position: relative;
    min-height: 980px;
    display: flex;
    align-items: center;
    padding: 90px 0;
}

.ys-page--pc {
    min-width: 1280px;
}

.ys-page--pc .ys-section {
    height: 980px;
}

.ys-page .ys-inner {
    position: relative;
    width: 1280px;
    margin: 0 auto;
}

.ys-page .ys-heading {
    text-align: center;
    margin-bottom: 85px;
}

.ys-page .ys-eyebrow {
    color: var(--ys-accent);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 4px;
    margin-bottom: 24px;
}

.ys-page h2 {
    color: #222;
    font-size: 52px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -2px;
}

.ys-page h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -.8px;
}

.ys-page .ys-subtitle {
    margin-top: 22px;
    font-size: 21px;
    color: #666;
}

.ys-page .ys-body {
    font-size: 23px;
    line-height: 1.9;
    color: #555;
    letter-spacing: -.5px;
}

.ys-page .ys-note {
    margin-top: 42px;
    font-size: 15px;
    line-height: 1.6;
    color: #777;
    text-align: center;
}

.ys-page .ys-icon {
    width: 70px;
    height: 70px;
    flex-shrink: 0;
}

.ys-page .ys-hero {
    overflow: hidden;
    background: #f4e9df;
}

.ys-page .ys-hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center 43%;
}

.ys-page .ys-hero-copy {
    position: relative;
    width: 600px;
}

.ys-page .ys-kicker {
    color: #555;
    font-size: 24px;
    letter-spacing: -.8px;
    margin-bottom: 24px;
}

.ys-page h1 {
    font-family: 'NanumMyeongjo','Batang',serif;
    font-size: 148px;
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: 5px;
    color: #2c2927;
}

.ys-page .ys-wordmark {
    margin: 18px 0 48px 10px;
    color: var(--ys-accent);
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 9px;
}

.ys-page .ys-hero-description {
    font-size: 27px;
    line-height: 1.65;
    letter-spacing: -1px;
}

.ys-page .ys-keywords {
    display: flex;
    gap: 20px;
    margin-top: 52px;
    font-size: 17px;
    color: #666;
}

.ys-page .ys-keywords li+li {
    padding-left: 20px;
    border-left: 1px solid #c8aaa2;
}

.ys-page .ys-intro-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 60px;
}

.ys-page .ys-intro-copy {
    padding-left: 60px;
}

.ys-page .ys-intro .ys-heading {
    text-align: left;
    margin-bottom: 35px;
}

.ys-page .ys-liquid {
    width: 600px;
}

.ys-page .ys-liquid img {
    width: 100%;
}

.ys-page .ys-intro-benefits {
    margin-top: 36px;
    border-left: 3px solid var(--ys-accent);
    padding-left: 23px;
    font-size: 20px;
    color: #7f5b56;
    line-height: 1.95;
}

.ys-page .ys-special,.ys-page .ys-results,.ys-page .ys-information {
    background: var(--ys-pale);
}

.ys-page .ys-points {
    display: grid;
    grid-template-columns: repeat(4,1fr);
}

.ys-page .ys-points li {
    text-align: center;
    padding: 10px 20px;
}

.ys-page .ys-points li+li {
    border-left: 1px solid #e7cec8;
}

.ys-page .ys-icon-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    color: var(--ys-accent);
    background: #fff;
    margin: 0 auto 37px;
}

.ys-page .ys-points h3 {
    font-size: 24px;
}

.ys-page .ys-points p {
    margin-top: 18px;
    font-size: 20px;
    line-height: 1.7;
    color: #666;
}

.ys-page .ys-steps {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 45px;
}

.ys-page .ys-steps li {
    position: relative;
    min-width: 0;
}

.ys-page .ys-steps li+li::before {
    content: '›';
    position: absolute;
    left: -33px;
    top: 112px;
    color: var(--ys-accent);
    font-size: 46px;
    line-height: 1;
}

.ys-page .ys-step-image {
    position: relative;
    height: 295px;
    overflow: hidden;
    background: #fff;
}

.ys-page .ys-step-image img {
    position: absolute;
    max-width: none;
    width: 306%;
    height: auto;
    top: 50%;
    transform: translateY(-50%);
}

.ys-page .ys-step-image--1 img {
    left: 0;
}

.ys-page .ys-step-image--2 img {
    left: -103%;
}

.ys-page .ys-step-image--3 img {
    left: -206%;
}

.ys-page .ys-step-text {
    display: flex;
    gap: 17px;
    margin-top: 28px;
}

.ys-page .ys-number {
    width: 43px;
    height: 43px;
    background: var(--ys-accent);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 19px;
    flex-shrink: 0;
}

.ys-page .ys-step-text p {
    margin-top: 10px;
    font-size: 19px;
    color: #666;
}

.ys-page .ys-result-list {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 16px;
}

.ys-page .ys-result-list li {
    min-width: 0;
    text-align: center;
}

.ys-page .ys-detail {
    position: relative;
    overflow: hidden;
    height: 320px;
}

.ys-page .ys-detail img {
    position: absolute;
    top: 0;
    width: 500%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}

.ys-page .ys-detail--1 img {
    left: 0;
}

.ys-page .ys-detail--2 img {
    left: -100%;
}

.ys-page .ys-detail--3 img {
    left: -200%;
}

.ys-page .ys-detail--4 img {
    left: -300%;
}

.ys-page .ys-detail--5 img {
    left: -400%;
}

/* 기존 모바일 #wrap img의 max-width 제한이 설명 이미지 분할을 막지 않도록 범위를 한정합니다. */
#ys-page .ys-step-image img, #ys-page .ys-detail img {
    max-width: none;
}

.ys-page .ys-result-list h3 {
    font-size: 22px;
    margin-top: 27px;
}

.ys-page .ys-recommend-layout {
    display: grid;
    grid-template-columns: 490px 1fr;
    gap: 70px;
    align-items: center;
}

.ys-page .ys-recommend-photo {
    overflow: hidden;
    height: 440px;
}

.ys-page .ys-recommend-photo img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: 92% center;
}

.ys-page .ys-check-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.ys-page .ys-check-list li {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    font-size: 21px;
    line-height: 1.65;
    color: #555;
}

.ys-page .ys-check-list .ys-icon {
    color: var(--ys-accent);
    width: 29px;
    height: 29px;
    margin-top: 3px;
}

.ys-page .ys-info-list {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    padding: 55px 20px;
    background: #fff;
}

.ys-page .ys-info-list li {
    padding: 0 20px;
    text-align: center;
}

.ys-page .ys-info-list li+li {
    border-left: 1px solid #e7dbd7;
}

.ys-page .ys-info-list .ys-icon {
    color: var(--ys-accent);
    width: 60px;
    height: 60px;
    margin-bottom: 22px;
}

.ys-page .ys-info-list h3 {
    font-size: 20px;
    font-weight: 400;
    color: #666;
}

.ys-page .ys-info-list p {
    margin-top: 15px;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.6;
}

.ys-page .ys-faq-list {
    display: grid;
    grid-template-columns: repeat(3,1fr);
}

.ys-page .ys-faq-list article {
    padding: 10px 38px;
}

.ys-page .ys-faq-list article+article {
    border-left: 1px solid #ddd;
}

.ys-page .ys-faq-number {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 54px;
    height: 54px;
    color: white;
    background: var(--ys-accent);
    border-radius: 50%;
    font-size: 20px;
    margin-bottom: 26px;
}

.ys-page .ys-faq-list h3 {
    font-size: 23px;
    min-height: 72px;
}

.ys-page .ys-faq-list p {
    position: relative;
    padding-left: 40px;
    margin-top: 28px;
    font-size: 19px;
    line-height: 1.85;
    color: #666;
}

.ys-page .ys-answer {
    position: absolute;
    left: 0;
    top: 2px;
    width: 28px;
    height: 28px;
    text-align: center;
    line-height: 28px;
    background: #f1eeed;
    color: #666;
    border-radius: 50%;
    font-size: 16px;
}

.ys-page .ys-closing {
    overflow: hidden;
    background: #f4e9df;
}

.ys-page .ys-closing-image {
    position: absolute;
    width: 100%;
    height: 100%;
    max-width: none;
    inset: 0;
    object-fit: cover;
    object-position: 50% 35%;
}

.ys-page .ys-closing-copy {
    width: 640px;
}

.ys-page .ys-closing h2 {
    font-size: 42px;
    line-height: 1.65;
    letter-spacing: -1.8px;
}

.ys-page .ys-cta {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    padding: 16px 35px;
    min-width: 250px;
    margin-top: 42px;
    border-radius: 40px;
    background: var(--ys-accent);
    color: #fff;
    text-decoration: none;
    font-size: 21px;
    font-weight: 700;
    transition: background .2s;
}

.ys-page .ys-cta:hover {
    background: #ad605a;
}

.ys-page .ys-cta:focus-visible {
    outline: 3px solid #633e39;
    outline-offset: 5px;
}

@media (prefers-reduced-motion:reduce) {
    .ys-page .ys-cta {
        transition: none;
    }

}

.ys-page.ys-theme-blue {
    --ys-accent: #1474c6;
    --ys-pale: #f2f7fb
}

.ys-page .ys-soft,.ys-page .ys-ending {
    background: var(--ys-pale)
}

.ys-page h1 {
    font-size: 92px;
    letter-spacing: -2px
}

.ys-page.ys-slug-gouri h1 {
    font-size: 148px;
    letter-spacing: 5px
}

.ys-page.ys-slug-re20 h1 {
    font-size: 128px
}

.ys-page .ys-hero-small {
    display: inline-block;
    font-size: 21px;
    margin-top: 18px;
    line-height: 1.8
}

.ys-page .ys-hero--portrait {
    background: #f1f4f5
}

.ys-page .ys-hero--portrait .ys-hero-image {
    left: 50%;
    width: 50%;
    object-position: center 20%
}

.ys-page .ys-split {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 72px;
    align-items: center
}

.ys-page .ys-split .ys-heading {
    text-align: left;
    margin-bottom: 35px
}

.ys-page .ys-prose {
    font-size: 21px;
    line-height: 1.9;
    color: #555
}

.ys-page .ys-prose p+p {
    margin-top: 20px
}

.ys-page .ys-visual {
    margin: 0;
    min-width: 0
}

.ys-page .ys-visual img {
    width: 100%;
    height: 460px;
    object-fit: contain
}

.ys-page.ys-theme-blue .ys-visual img {
    object-fit: cover;
    object-position: 85% center
}

.ys-page.ys-slug-early-scar #ys-about .ys-visual img {
    object-fit: contain
}

.ys-page .ys-portrait img {
    height: 640px;
    object-fit: cover;
    object-position: center 20%
}

.ys-page .ys-split .ys-check-list {
    margin-top: 30px;
    gap: 17px
}

.ys-page .ys-product-name {
    font-size: 32px;
    letter-spacing: 3px;
    color: var(--ys-accent);
    margin-top: 40px
}

.ys-page .ys-result-list--4 {
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 24px
}

.ys-page .ys-result-list p {
    font-size: 18px;
    line-height: 1.7;
    color: #666;
    margin-top: 14px
}

.ys-page .ys-center .ys-prose {
    max-width: 1080px;
    margin: 0 auto;
    text-align: center
}

.ys-page .ys-concept-trio {
    display: flex;
    justify-content: center;
    gap: 45px;
    margin-top: 65px
}

.ys-page .ys-concept-trio>div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 275px;
    height: 275px;
    border-radius: 50%;
    border: 1px solid #e2dcd9;
    background: var(--ys-pale);
    text-align: center;
    padding: 28px
}

.ys-page .ys-concept-trio span {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--ys-accent)
}

.ys-page .ys-concept-trio p {
    margin-top: 20px;
    font-size: 20px;
    color: #666
}

.ys-page .ys-two-prose {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 90px;
    align-items: center
}

.ys-page .ys-two-prose+.ys-prose {
    margin-top: 48px
}

.ys-page .ys-flow {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 28px;
    margin: 65px 0
}

.ys-page .ys-flow li {
    position: relative;
    text-align: center;
    padding: 30px 15px;
    border-top: 2px solid var(--ys-accent);
    background: var(--ys-pale)
}

.ys-page .ys-flow li+li:before {
    content: '›';
    position: absolute;
    left: -23px;
    top: 58px;
    font-size: 30px;
    color: var(--ys-accent)
}

.ys-page .ys-flow span {
    font-size: 30px;
    letter-spacing: 2px;
    color: var(--ys-accent)
}

.ys-page .ys-flow h3 {
    font-size: 21px;
    margin-top: 16px
}

.ys-page .ys-type-list article {
    display: grid;
    grid-template-columns: 60px 310px 1fr;
    align-items: center;
    gap: 25px;
    border-bottom: 1px solid #ddd;
    padding: 26px 20px
}

.ys-page .ys-type-list article:first-child {
    border-top: 1px solid #ddd
}

.ys-page .ys-type-list article>span {
    color: var(--ys-accent);
    font-size: 24px
}

.ys-page .ys-type-list p {
    font-size: 20px;
    color: #666
}

.ys-page .ys-scar-types {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 20px;
    margin-top: 60px
}

.ys-page .ys-scar-types article {
    background: white;
    padding: 32px 20px;
    text-align: center;
    min-width: 0
}

.ys-page .ys-scar-types .ys-icon {
    color: var(--ys-accent);
    width: 60px;
    height: 60px;
    margin-bottom: 20px
}

.ys-page .ys-scar-types h3 {
    font-size: 21px;
    min-height: 65px
}

.ys-page .ys-scar-types p {
    font-size: 18px;
    color: #666;
    line-height: 1.75;
    margin-top: 15px
}

.ys-page .ys-experience {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center
}

.ys-page .ys-experience>div:first-child {
    text-align: center;
    color: var(--ys-accent)
}

.ys-page .ys-experience strong {
    display: block;
    font-size: 138px;
    line-height: 1.3;
    letter-spacing: -7px
}

.ys-page .ys-experience span {
    font-size: 24px;
    letter-spacing: 5px
}

.ys-page .ys-word-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    margin-top: 65px;
    font-size: 30px;
    color: var(--ys-accent)
}

.ys-page .ys-word-row b {
    font-size: 24px;
    font-weight: 400;
    color: #bbb
}

.ys-page .ys-ending {
    text-align: center
}

.ys-page .ys-ending .ys-heading {
    margin-bottom: 35px
}

.ys-page .ys-ending .ys-prose {
    max-width: 980px;
    margin: auto
}

.ys-page .ys-ending .ys-note {
    max-width: 1050px;
    margin-left: auto;
    margin-right: auto
}

.ys-page .ys-cta:hover {
    filter: brightness(.9);
    background: var(--ys-accent)
}

.ys-page.ys-theme-blue .ys-hero {
    background: #f0f4f6
}

/* 2026-10-02: 내용 밀도, 진단 항목, 상담 구간, 스크롤 모션 개선 */
.ys-page.ys-refined {
    --ys-deep: #87514d;
}

.ys-page.ys-refined.ys-theme-blue {
    --ys-deep: #174a74;
}

.ys-refined.ys-page--pc .ys-section {
    height: auto;
    min-height: 800px;
    padding: 100px 0;
}

.ys-refined.ys-page--pc .ys-hero {
    height: 980px;
}

.ys-refined .ys-heading {
    margin-bottom: 55px;
}

.ys-refined .ys-visual img {
    object-position: center;
}

.ys-refined.ys-theme-blue .ys-visual img {
    object-position: center;
}

.ys-refined .ys-five-focus,.ys-refined .ys-review-grid,.ys-refined .ys-care-grid,.ys-refined .ys-planning-grid,.ys-refined .ys-recommend-cards {
    display: grid;
    gap: 20px;
}

.ys-refined .ys-five-focus {
    grid-template-columns: repeat(5,minmax(0,1fr));
    margin-bottom: 38px;
}

.ys-refined .ys-five-focus li {
    position: relative;
    padding: 35px 18px 30px;
    background: #fff;
    text-align: center;
    border-bottom: 3px solid var(--ys-accent);
}

.ys-refined .ys-card-index {
    display: block;
    color: var(--ys-accent);
    font-size: 15px;
    letter-spacing: 2px;
    font-weight: 700;
}

.ys-refined .ys-five-focus .ys-icon {
    display: block;
    color: var(--ys-accent);
    margin: 22px auto;
    width: 62px;
    height: 62px;
}

.ys-refined .ys-five-focus h3 {
    font-size: 22px;
}

.ys-refined .ys-five-focus p {
    font-size: 16px;
    color: #718392;
    margin-top: 9px;
}

.ys-refined .ys-research-copy {
    display: grid;
    grid-template-columns: 1fr 1.65fr;
    gap: 48px;
    font-size: 18px;
    color: #596874;
    line-height: 1.85;
}

.ys-refined .ys-summary {
    margin-top: 32px;
    border-top: 1px solid #d1e0ec;
    padding-top: 26px;
    text-align: center;
    font-size: 19px;
    color: #294e6c;
}

.ys-refined .ys-review-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
}

.ys-refined .ys-review-grid li {
    position: relative;
    padding: 28px 30px 28px 110px;
    min-height: 175px;
    background: var(--ys-pale);
    border: 1px solid #dae6ef;
}

.ys-refined .ys-review-grid .ys-icon {
    position: absolute;
    left: 28px;
    top: 60px;
    width: 52px;
    height: 52px;
    color: var(--ys-accent);
}

.ys-refined .ys-review-grid h3 {
    margin-top: 10px;
    font-size: 23px;
}

.ys-refined .ys-review-grid p {
    margin-top: 10px;
    color: #657581;
    font-size: 17px;
}

.ys-refined.ys-page--pc.ys-slug-daily-scar #ys-care {
    min-height: 620px;
    padding: 90px 0;
}

.ys-refined .ys-care-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 28px;
}

.ys-refined .ys-care-grid li {
    padding: 32px;
    background: white;
    border-top: 3px solid var(--ys-accent);
}

.ys-refined .ys-care-grid .ys-icon {
    display: block;
    width: 64px;
    height: 64px;
    margin: 22px 0;
    color: var(--ys-accent);
}

.ys-refined .ys-care-grid h3 {
    font-size: 27px;
    color: var(--ys-deep);
    line-height: 1.5;
}

.ys-refined .ys-care-grid p {
    margin-top: 20px;
    font-size: 18px;
    line-height: 1.85;
    color: #5c6973;
}

.ys-refined .ys-balanced-checks {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 45px;
}

.ys-refined .ys-balanced-checks .ys-recommend-photo {
    height: 445px;
}

.ys-refined .ys-balanced-checks .ys-recommend-photo img {
    object-position: center;
}

.ys-refined .ys-balanced-checks .ys-check-list {
    gap: 12px;
}

.ys-refined .ys-balanced-checks .ys-check-list li {
    align-items: center;
    gap: 20px;
    min-height: 78px;
    padding: 18px 22px;
    background: var(--ys-pale);
    font-size: 20px;
}

.ys-refined .ys-row-number {
    color: var(--ys-accent);
    font-size: 20px;
    font-weight: 700;
    flex-shrink: 0;
}

.ys-refined .ys-recovery-timeline {
    padding: 40px 45px;
    background: var(--ys-pale);
}

.ys-refined .ys-mini-label {
    color: var(--ys-accent);
    letter-spacing: 3px;
    font-size: 13px;
    margin-bottom: 25px;
}

.ys-refined .ys-recovery-timeline>div {
    position: relative;
    border-left: 1px solid #bdd2e3;
    padding: 15px 0 28px 58px;
}

.ys-refined .ys-recovery-timeline>div:last-child {
    padding-bottom: 10px;
}

.ys-refined .ys-recovery-timeline>div>span {
    position: absolute;
    left: -19px;
    top: 15px;
    background: var(--ys-accent);
    color: white;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    text-align: center;
    line-height: 38px;
    font-size: 15px;
}

.ys-refined .ys-recovery-timeline h3 {
    color: var(--ys-deep);
    font-size: 26px;
}

.ys-refined .ys-recovery-timeline>div>p {
    margin-top: 7px;
    color: #687987;
    font-size: 18px;
}

.ys-refined.ys-slug-thermage #ys-mechanism .ys-flow h3 {
    font-size: 23px;
    line-height: 1.6;
}

.ys-refined.ys-slug-thermage #ys-mechanism .ys-prose {
    max-width: 1140px;
}

.ys-refined .ys-impact-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 28px;
    margin-top: 48px;
}

.ys-refined .ys-impact-grid>div {
    position: relative;
    padding: 28px 18px;
    text-align: center;
    background: white;
    border: 1px solid #ebcdc6;
    box-shadow: 0 14px 26px rgba(122,68,57,.05);
}

.ys-refined .ys-impact-grid>div+div:before {
    content: '+';
    position: absolute;
    left: -25px;
    top: 45%;
    width: 22px;
    font-size: 25px;
    color: var(--ys-accent);
}

.ys-refined .ys-impact-grid .ys-icon {
    display: block;
    margin: 0 auto 18px;
    color: var(--ys-accent);
    width: 68px;
    height: 68px;
}

.ys-refined .ys-impact-grid h3 {
    font-size: 35px;
    color: var(--ys-deep);
}

.ys-refined .ys-impact-grid span {
    display: block;
    margin-top: 10px;
    letter-spacing: 2px;
    font-size: 12px;
    color: #a97d74;
}

.ys-refined .ys-planning-grid {
    grid-template-columns: repeat(4,minmax(0,1fr));
}

.ys-refined .ys-planning-grid li {
    background: var(--ys-pale);
    padding: 30px 25px;
    border-top: 2px solid var(--ys-accent);
}

.ys-refined .ys-planning-grid .ys-icon {
    color: var(--ys-accent);
    margin: 28px 0;
}

.ys-refined .ys-planning-grid h3 {
    font-size: 23px;
}

.ys-refined .ys-planning-grid p {
    margin-top: 15px;
    font-size: 18px;
    color: #736764;
}

.ys-refined.ys-page--pc .ys-planning-section {
    min-height: 690px;
}

.ys-refined .ys-recommend-cards {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 24px;
}

.ys-refined .ys-recommend-cards li {
    position: relative;
    padding: 30px 28px;
    background: var(--ys-pale);
    min-height: 235px;
    border-bottom: 2px solid #deb3ac;
}

.ys-refined .ys-recommend-cards .ys-icon {
    color: var(--ys-accent);
    width: 45px;
    height: 45px;
    margin: 18px 0;
}

.ys-refined .ys-recommend-cards h3 {
    font-size: 21px;
    font-weight: 500;
    line-height: 1.6;
}

.ys-refined.ys-page--pc .ys-ending {
    height: auto;
    min-height: 540px;
    padding: 95px 0;
    background: var(--ys-deep);
}

.ys-refined .ys-ending h2,.ys-refined .ys-ending h2 em {
    color: #fff;
}

.ys-refined .ys-ending .ys-eyebrow {
    color: #e6cbc4;
}

.ys-refined.ys-theme-blue .ys-ending .ys-eyebrow {
    color: #a6d4f5;
}

.ys-refined .ys-ending .ys-prose,.ys-refined .ys-ending .ys-note {
    color: rgba(255,255,255,.8);
}

.ys-refined .ys-ending .ys-cta {
    background: white;
    color: var(--ys-deep);
    border-radius: 0;
}

.ys-refined .ys-ending .ys-cta:hover {
    background: white;
}

.ys-refined .ys-ending .ys-heading {
    margin-bottom: 28px;
}

.ys-refined .ys-ending h2 {
    font-size: 44px;
}

.ys-refined .ys-ending .ys-note {
    margin-top: 27px;
}

.ys-refined .ys-ending .ys-cta {
    margin-top: 30px;
}

/* JS가 실패하거나 모션을 줄이는 설정에서도 본문은 항상 읽을 수 있습니다. */
.ys-refined .ys-reveal {
    transition: opacity .65s ease,transform .65s cubic-bezier(.2,.65,.3,1);
}

.ys-refined .ys-reveal.is-pending {
    opacity: 0;
    transform: translateY(22px);
}

.ys-refined .ys-reveal.is-visible {
    opacity: 1;
    transform: none;
}

@media(prefers-reduced-motion:reduce) {
    .ys-refined .ys-reveal {
        transition: none;
        opacity: 1;
        transform: none;
    }

}

/* 2026-10-02: 픽토그램은 페이지마다 한 단락만 사용합니다. */
.ys-editorial .ys-type-number {
    display: block;
    margin: 0 auto 30px;
    font-size: 54px;
    line-height: 1;
    font-weight: 300;
    letter-spacing: -2px;
    color: var(--ys-accent);
}

.ys-editorial .ys-check-list li {
    gap: 0;
}

.ys-editorial #ys-about .ys-check-list li {
    padding: 12px 0;
    border-bottom: 1px solid #e8d9d5;
}

.ys-editorial .ys-care-grid h3 {
    margin-top: 22px;
}

.ys-editorial .ys-care-grid .ys-card-index {
    font-size: 42px;
    font-weight: 300;
    letter-spacing: -1px;
}

.ys-editorial .ys-review-grid li {
    padding: 28px 32px;
}

.ys-editorial .ys-review-grid .ys-card-index {
    font-size: 30px;
    font-weight: 300;
    margin-bottom: 16px;
}

.ys-editorial.ys-page--pc .ys-editorial-recommend {
    min-height: 620px;
    padding: 110px 0;
}

.ys-editorial .ys-recommend-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1.2fr);
    gap: 100px;
    align-items: start;
}

.ys-editorial .ys-recommend-layout .ys-heading {
    text-align: left;
    margin: 0;
}

.ys-editorial .ys-recommend-layout h2 {
    font-size: 43px;
    line-height: 1.55;
}

.ys-editorial .ys-recommend-layout h2 em {
    display: block;
}

.ys-editorial .ys-editorial-list {
    border-top: 1px solid #d8b7af;
}

.ys-editorial .ys-editorial-list li {
    display: grid;
    grid-template-columns: 40px minmax(0,1fr);
    gap: 20px;
    align-items: start;
    padding: 25px 0;
    border-bottom: 1px solid #e4d9d5;
}

.ys-editorial .ys-editorial-list li>span {
    color: var(--ys-accent);
    font-size: 15px;
    letter-spacing: 2px;
    padding-top: 5px;
}

.ys-editorial .ys-editorial-list p {
    font-size: 21px;
    line-height: 1.7;
    color: #4c4643;
}

.ys-editorial .ys-rf-stages {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 24px;
    margin-bottom: 48px;
}

.ys-editorial .ys-rf-stages li {
    text-align: left;
}

.ys-editorial .ys-rf-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1/1;
    background: #fff4ed;
    border-radius: 70px 0 0 0;
}

.ys-editorial .ys-rf-image img {
    position: absolute;
    top: 0;
    width: 500%;
    max-width: none;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.ys-editorial .ys-rf-image--1 img {
    left: 0;
}

.ys-editorial .ys-rf-image--2 img {
    left: -100%;
}

.ys-editorial .ys-rf-image--3 img {
    left: -200%;
}

.ys-editorial .ys-rf-image--4 img {
    left: -300%;
}

.ys-editorial .ys-rf-image--5 img {
    left: -400%;
}

.ys-editorial .ys-stage-number {
    display: block;
    font-size: 14px;
    letter-spacing: 2px;
    color: var(--ys-accent);
    margin: 24px 0 10px;
}

.ys-editorial .ys-rf-stages h3 {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.65;
}

.ys-editorial .ys-rf-section .ys-note {
    margin-top: 18px;
}

.ys-editorial.ys-slug-thermage #ys-difference {
    background: #fcf3ef;
}

.ys-editorial .ys-type-impact {
    gap: 0;
    background: var(--ys-deep);
    padding: 42px 20px;
    margin-top: 45px;
}

.ys-editorial .ys-type-impact>div {
    border: 0;
    padding: 12px 10px;
    background: none;
    box-shadow: none;
}

.ys-editorial .ys-type-impact>div+div {
    border-left: 1px solid rgba(255,255,255,.25);
}

.ys-editorial .ys-type-impact>div+div:before {
    display: none;
}

.ys-editorial .ys-type-impact h3 {
    font-size: 37px;
    color: white;
    font-weight: 500;
}

.ys-editorial .ys-type-impact span {
    color: #ead4cd;
    font-size: 11px;
    letter-spacing: 2px;
    margin-top: 16px;
}

.ys-editorial .ys-consultation {
    grid-template-columns: minmax(0,1fr) minmax(0,1.05fr);
    gap: 90px;
    align-items: center;
}

.ys-editorial .ys-consultation-photo {
    margin: 0;
    height: 690px;
    overflow: hidden;
    border-radius: 0 120px 0 0;
}

.ys-editorial .ys-consultation-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ys-editorial .ys-consultation .ys-heading {
    text-align: left;
    margin-bottom: 34px;
}

.ys-editorial .ys-consultation h2 {
    font-size: 42px;
}

.ys-editorial .ys-consultation-list {
    border-top: 1px solid #d7c0b8;
}

.ys-editorial .ys-consultation-list li {
    position: relative;
    padding: 22px 0 22px 45px;
    border-bottom: 1px solid #eadfda;
}

.ys-editorial .ys-consultation-list .ys-card-index {
    position: absolute;
    top: 26px;
    left: 0;
    font-size: 13px;
}

.ys-editorial .ys-consultation-list h3 {
    font-size: 22px;
    font-weight: 500;
}

.ys-editorial .ys-consultation-list p {
    margin-top: 8px;
    font-size: 17px;
    color: #776b66;
}

.ys-editorial.ys-slug-thermage .ys-ending {
    background: linear-gradient(125deg,#ede0d9,#fffaf6 55%,#e8d4cf);
}

.ys-editorial.ys-slug-thermage .ys-ending h2 {
    color: #352e2b;
}

.ys-editorial.ys-slug-thermage .ys-ending h2 em {
    color: var(--ys-deep);
}

.ys-editorial.ys-slug-thermage .ys-ending .ys-eyebrow {
    color: var(--ys-accent);
}

.ys-editorial.ys-slug-thermage .ys-ending .ys-prose {
    color: #74625b;
}

.ys-editorial.ys-slug-thermage .ys-ending .ys-cta {
    background: var(--ys-deep);
    color: white;
}

/* 최종 공통 디자인: 사진·원리 그림·추천 카드의 흐름을 통일합니다. */
.ys-final.ys-page--pc .ys-target-section {
    min-height: 0;
    padding: 100px 0;
}

.ys-final .ys-target-section .ys-heading {
    text-align: center;
    margin-bottom: 48px;
}

.ys-final .ys-target-section h2 {
    font-size: 42px;
}

.ys-final .ys-target-cards {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 18px;
}

.ys-final .ys-target-cards--6 {
    grid-template-columns: repeat(6,minmax(0,1fr));
}

.ys-final .ys-target-cards li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    border-radius: 22px;
    padding: 28px 18px;
    min-height: 195px;
    background: #f5f0ed;
    text-align: center;
}

.ys-final .ys-target-check {
    display: grid;
    place-items: center;
    width: 29px;
    height: 29px;
    margin-bottom: 18px;
    border-radius: 50%;
    background: var(--ys-deep);
    color: white;
    font-size: 17px;
    line-height: 1;
}

.ys-final .ys-target-cards p {
    color: #433c39;
    font-size: 18px;
    line-height: 1.65;
    word-break: keep-all;
    text-wrap: balance;
}

.ys-final .ys-target-cards .ys-word {
    white-space: nowrap;
}

.ys-final .ys-review-grid li,.ys-final .ys-care-grid li,.ys-final .ys-five-focus li {
    border-radius: 20px;
}

.ys-final .ys-review-grid li {
    border: 0;
    background: var(--ys-pale);
}

.ys-final .ys-care-grid li {
    border-top: 0;
}

.ys-final .ys-balanced-checks .ys-check-list li {
    border-radius: 14px;
    gap: 18px;
}

.ys-final .ys-visual,.ys-final .ys-recommend-photo {
    overflow: hidden;
    border-radius: 0 60px 0 0;
}

.ys-final.ys-page--pc .ys-ending {
    background: linear-gradient(125deg,#ede0d9,#fffaf6 55%,#e8d4cf);
}

.ys-final.ys-page--pc.ys-theme-blue .ys-ending {
    background: linear-gradient(125deg,#dce9f2,#f6fafd 55%,#d2e2ef);
}

.ys-final .ys-ending h2 {
    color: #352e2b;
}

.ys-final.ys-theme-blue .ys-ending h2 {
    color: #233a4d;
}

.ys-final .ys-ending h2 em {
    color: var(--ys-deep);
}

.ys-final .ys-ending .ys-eyebrow {
    color: var(--ys-accent);
}

.ys-final.ys-theme-blue .ys-ending .ys-eyebrow {
    color: var(--ys-accent);
}

.ys-final .ys-ending .ys-prose,.ys-final .ys-ending .ys-note {
    color: #74625b;
}

.ys-final.ys-theme-blue .ys-ending .ys-prose,.ys-final.ys-theme-blue .ys-ending .ys-note {
    color: #526a7c;
}

.ys-final .ys-ending .ys-cta,.ys-final .ys-ending .ys-cta:hover {
    background: var(--ys-deep);
    color: white;
}

.ys-final .ys-cta {
    transition: background-color .3s ease,box-shadow .3s ease;
}

.ys-final .ys-cta:hover {
    box-shadow: 0 8px 22px rgba(60,40,35,.12);
}

@media (prefers-reduced-motion:reduce) {
    .ys-final * {
        animation: none !important;
        transition: none !important;
    }

}

@media print {
    .ys-final * {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }

}

/* Explanatory photographs and skin diagrams restored from the supplied plans. */
.ys-page.ys-final .ys-medical-section {
    min-height: 0;
    padding: 110px 0;
}

.ys-page .ys-medical-crop {
    position: relative;
    overflow: hidden;
    aspect-ratio: var(--ratio, 1);
    width: 100%;
    background: #fff4ee;
}

.ys-page .ys-medical-crop img {
    display: block;
    position: absolute;
    top: 0;
    left: var(--offset);
    width: calc(var(--panels) * 100%);
    height: 100%;
    max-width: none;
    object-fit: fill;
}

.ys-page .ys-scar-comparison {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
    text-align: left;
}

.ys-page .ys-scar-comparison article {
    overflow: hidden;
    border: 1px solid #dce6ed;
    border-radius: 18px;
    background: #fff;
}

.ys-page .ys-scar-comparison header {
    min-height: 180px;
    padding: 23px 19px 17px;
}

.ys-page .ys-medical-index {
    display: block;
    color: #3684bb;
    font-size: 13px;
    letter-spacing: .15em;
    margin-bottom: 13px;
}

.ys-page .ys-scar-comparison h3 {
    font-size: 20px;
    line-height: 1.45;
    color: #183a54;
    margin: 0 0 10px;
    word-break: keep-all;
}

.ys-page .ys-scar-comparison header p {
    font-size: 15px;
    line-height: 1.65;
    color: #71808c;
    margin: 0;
    word-break: keep-all;
}

.ys-page .ys-treatment-copy {
    padding: 22px 19px 27px;
}

.ys-page .ys-treatment-copy h4 {
    color: #287caf;
    font-size: 15px;
    padding-bottom: 12px;
    margin: 0 0 13px;
    border-bottom: 1px solid #e2ebf1;
}

.ys-page .ys-treatment-copy p {
    margin: 0;
    color: #526470;
    font-size: 16px;
    line-height: 1.85;
    word-break: keep-all;
}

.ys-page .ys-medical-series {
    display: grid;
    padding: 0;
    margin: 42px 0 0;
    list-style: none;
    gap: 25px;
    text-align: center;
}

.ys-page .ys-medical-series--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ys-page .ys-medical-series--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ys-page .ys-medical-series .ys-medical-crop {
    border-radius: 18px;
}

.ys-page .ys-medical-caption {
    padding: 22px 12px 0;
}

.ys-page .ys-medical-caption > span {
    display: block;
    font-size: 13px;
    letter-spacing: .15em;
    color: #3584b9;
    margin-bottom: 10px;
}

.ys-page .ys-medical-caption h3 {
    font-size: 24px;
    line-height: 1.45;
    margin: 0 0 12px;
    color: #163c58;
}

.ys-page .ys-medical-caption p {
    margin: 0;
    font-size: 18px;
    line-height: 1.7;
    color: #677d8b;
    word-break: keep-all;
}

.ys-page .ys-recovery-intro {
    display: grid;
    grid-template-columns: 1fr;
}

.ys-page .ys-recovery-intro > div {
    display: grid;
    grid-template-columns: 1fr 1.12fr;
    gap: 65px;
    align-items: start;
}

.ys-page .ys-recovery-intro .ys-heading {
    margin-bottom: 0;
}

.ys-page .ys-recovery-intro .ys-prose {
    margin: 0;
}

.ys-page.ys-final.ys-slug-early-scar #ys-about {
    min-height: 0;
    padding: 110px 0;
}

.ys-page.ys-final.ys-slug-early-scar #ys-about .ys-medical-series {
    margin-top: 60px;
}

.ys-page.ys-final.ys-slug-early-scar #ys-about .ys-medical-crop {
    aspect-ratio: 1;
}

.ys-page .ys-ecm-figure {
    position: relative;
    width: 100%;
    max-width: 1060px;
    margin: 42px auto 34px;
    border-radius: 28px;
    overflow: hidden;
}

.ys-page .ys-ecm-figure img {
    display: block;
    width: 100%;
    height: 470px;
    object-fit: cover;
}

.ys-page .ys-ecm-figure figcaption {
    display: flex;
    gap: 25px;
    justify-content: center;
    align-items: center;
    padding: 22px;
    background: #fff7f2;
    font-size: 18px;
    color: #89665e;
}

.ys-page .ys-ecm-figure figcaption strong {
    color: #a7625c;
}

@media (max-width: 1000px) {
    .ys-page .ys-scar-comparison {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ys-page .ys-medical-series--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ys-page .ys-recovery-intro > div {
        grid-template-columns: 1fr;
        gap: 22px;
    }

}


/* 써마지 FLX: 첫 화면과 실제 장비 */
.ys-page.ys-slug-thermage .ys-hero { background:#eee4d8; }
.ys-page.ys-slug-thermage .ys-hero-copy { max-width:590px; }
.ys-page.ys-slug-thermage .ys-kicker { font-size:26px; line-height:1.55; letter-spacing:-.035em; font-weight:400; }
.ys-page.ys-slug-thermage .ys-hero-description { font-size:18px; line-height:1.9; letter-spacing:-.025em; font-weight:400; }
.ys-page.ys-slug-thermage #ys-clinic .ys-visual img { object-fit:cover; max-height:620px; }
.ys-page.ys-slug-re20 .ys-hero--portrait > .ys-hero-image { object-fit:contain; object-position:right center; background:#edf1f3; }


/* 써마지 FLX 기술 */
.ys-flx-technology { padding:100px 28px 64px; background:radial-gradient(ellipse at 30% 65%,#71524b 0,#352b2b 46%,#292426 100%); color:#f8f0e9; }
.ys-flx-technology .ys-flx-inner { max-width:1280px; margin:auto; }
.ys-flx-technology header { text-align:center; }
.ys-flx-technology header > p { margin:0 0 22px; font-size:12px; line-height:1.6; letter-spacing:.23em; font-weight:400; color:#dcbda6; }
.ys-flx-technology h2 { margin:0; font-size:45px; line-height:1.4; letter-spacing:-.05em; font-weight:500; color:#fff8ee; }
.ys-flx-technology h2 em { color:#e5bfa7; font-style:normal; }
.ys-flx-technology .ys-flx-layout { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; margin-top:52px; }
.ys-flx-technology figure { margin:0; text-align:center; }
.ys-flx-technology figure img { display:block; width:100%; max-width:400px; height:510px; object-fit:contain; margin:0 auto; filter:drop-shadow(0 30px 36px #0004); }
.ys-flx-technology article { padding:25px 0; border-top:1px solid #ffffff30; }
.ys-flx-technology article > span { color:#dcbda6; font-size:12px; line-height:1.6; letter-spacing:.12em; font-weight:400; }
.ys-flx-technology h3 { margin:12px 0; color:#fff8ee; font-size:24px; line-height:1.5; letter-spacing:-.03em; font-weight:500; }
.ys-flx-technology article p { margin:0; max-width:500px; color:#d6ccca; font-size:17px; line-height:1.9; letter-spacing:-.02em; font-weight:400; word-break:keep-all; }
.ys-flx-technology .ys-flx-note { text-align:center; margin:40px 0 0; color:#bfb2ae; font-size:13px; line-height:1.7; letter-spacing:-.02em; font-weight:400; }
@media (max-width:800px) {
    .ys-page.ys-slug-thermage .ys-kicker { font-size:19px; }
    .ys-page.ys-slug-thermage .ys-hero-description { font-size:15px; }
    .ys-page.ys-slug-thermage .ys-hero-description br { display:none; }
    .ys-flx-technology { padding:64px 22px 42px; }
    .ys-flx-technology h2 { font-size:30px; }
    .ys-flx-technology .ys-flx-layout { grid-template-columns:1fr; gap:20px; margin-top:30px; }
    .ys-flx-technology figure img { height:320px; }
    .ys-flx-technology h3 { font-size:21px; }
    .ys-flx-technology article p { font-size:15px; }
}
