@import url('https://fonts.googleapis.com/css2?family=Marcellus&display=swap');

/* 공통 서브 본문: 헤더의 타이틀 및 메뉴 탭 다음 영역 */

.snow_sub {
    --snow-sub-motion-distance: 36px;
    width:100%;
    max-width:1600px;
    margin-right:auto;
    margin-left:auto;
    color:var(--snow-text);
    font-family:'Pretendard',sans-serif;
    font-size:18px;
    line-height:1.75;
    letter-spacing:-0.02em;
    word-break:keep-all;
    overflow-wrap:break-word;
}

.snow_sub * {
    box-sizing:border-box;
}

.snow_sub :where(h2, h3, p, figure, blockquote) {
    margin:0;
}

.snow_sub img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.snow_sub em {
    font-style:normal;
    color:var(--snow-primary-dark);
}

.snow_sub_eyebrow {
    color:var(--snow-primary-dark);
    font-family:'Marcellus',serif;
    font-size:20px;
    letter-spacing:0;
    line-height:1.4;
}

.snow_sub_intro {
    position:relative;
    padding:12px 0 76px;
    text-align:center;
}

.snow_sub_intro h2 {
    margin-top:24px;
    font-size:clamp(36px,3.5vw,50px);
    font-weight:700;
    line-height:1.3;
    letter-spacing:-0.02em;
}

.snow_sub_desc {
    color:var(--snow-text-sub);
    font-size:18px;
    line-height:1.75;
}

.snow_sub_intro .snow_sub_desc {
    margin-top:28px;
}

.snow_sub_crystal {
    position:absolute;
    top:58px;
    right:4%;
    width:100px;
    height:100px;
    color:var(--snow-primary);
    opacity:0.27;
    pointer-events:none;
}

.snow_sub_crystal svg {
    width:100%;
    height:100%;
    animation:snow_sub_rotate 45s linear infinite;
}

/* 0101 병원소개 */

.snow_about_visual {
    position:relative;
    height:620px;
    overflow:hidden;
    border-radius:70px 12px 70px 12px;
    background:var(--snow-bg);
}

.snow_about_visual img {
    object-position:center 43%;
}

.snow_about_visual::after {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,rgba(20,43,64,.45),transparent 65%);
}

.snow_about_visual figcaption {
    position:absolute;
    z-index:1;
    left:6%;
    bottom:44px;
    color:#fff;
    font-family:'Marcellus',serif;
    font-size:clamp(30px,3.4vw,52px);
    line-height:1.2;
    letter-spacing:-0.02em;
}

.snow_about_visual figcaption span {
    display:block;
}

.snow_about_visual figcaption span+span {
    margin-left:80px;
}

.snow_about_story {
    display:flex;
    align-items:flex-start;
    gap:9%;
    padding:120px 0 130px;
}

.snow_about_story_head {
    position:sticky;
    top:140px;
    flex:0 0 36%;
}

.snow_about_story h2,.snow_about_values h2,.snow_about_closing h2 {
    margin:20px 0 30px 0;
    font-size:clamp(28px,2.65vw,42px);
    font-weight:700;
    line-height:1.3;
    letter-spacing:-0.02em;
}

.snow_about_name {
    margin-top:28px;
    color:var(--snow-text-sub);
    font-size: 20px;
    font-weight: 500;
}

.snow_about_word {
    margin-top:75px;
    color:var(--snow-primary-light);
    font-family:'Marcellus',serif;
    font-size:100px;
    line-height:1;
    letter-spacing:-0.02em;
}

.snow_about_word span {
    display:block;
    margin-top:10px;
    font-size:28px;
    letter-spacing:0;
}

.snow_about_letter {
    flex:1;
    min-width:0;
    color:var(--snow-text-sub);
}

.snow_about_letter>p+p {
    margin-top:26px;
}

.snow_about_hello {
    margin-bottom:30px!important;
    color:var(--snow-text);
    font-size:23px;
    line-height:1.7;
}

.snow_about_hello strong {
    font-weight:600;
}

.snow_about_letter blockquote {
    margin:38px 0;
    padding:8px 0 8px 24px;
    border-left:2px solid var(--snow-primary);
    color:var(--snow-primary-dark);
    font-size:23px;
    font-weight:500;
    line-height:1.7;
}

.snow_about_signature {
    padding-top:20px;
    text-align:right;
    color:var(--snow-text);
    font-size:15px;
}

.snow_about_signature strong {
    display:inline-block;
    margin-left:14px;
    font-size:25px;
    font-weight:600;
    letter-spacing:0.12em;
}

.snow_about_values {
    display:flex;
    gap:8%;
    padding:80px 80px;
    border-radius:12px 70px 12px 70px;
    background:var(--snow-bg);
}

.snow_about_values_intro {
    flex:0 0 39%;
}

.snow_about_values_intro .snow_sub_desc {
    margin-top:24px;
    font-weight: 500;
    font-size: 20px;
}

.snow_about_value_list {
    flex:1;
    min-width:0;
    margin:0;
    padding:0;
    list-style:none;
}

.snow_about_value_list li {
    display:flex;
    gap:45px;
    padding:30px 0;
    border-top:1px solid var(--snow-border);
}

.snow_about_value_list li:first-child {
    padding-top:0;
    border-top:0;
}

.snow_about_value_list li:last-child {
    padding-bottom:0;
}

.snow_about_value_num {
    flex:0 0 30px;
    color:var(--snow-primary-dark);
    font-family:'Marcellus',serif;
    font-size:23px;
    line-height:1.4;
}

.snow_about_value_en {
    color:var(--snow-primary-dark);
    font-family:'Marcellus',serif;
    font-size:18px;
    line-height:1.4;
    letter-spacing:0;
}

.snow_about_value_list h3 {
    margin-top:9px;
    font-size:26px;
    font-weight:700;
    line-height:1.5;
}

.snow_about_value_list h3+p {
    margin-top:14px;
    color:var(--snow-text-sub);
    font-size:18px;
}

.snow_about_closing {
    display:flex;
    align-items:center;
    gap:8%;
    padding:120px 0 20px;
}

.snow_about_closing_photo {
    flex:0 0 47%;
    height:470px;
    overflow:hidden;
    border-radius:12px 60px 12px 60px;
    background:var(--snow-bg);
}

.snow_about_closing_copy {
    flex:1;
    min-width:0;
}

.snow_about_closing_copy h2+p {
    margin-top:26px;
    color:var(--snow-text-sub);
    font-size: 20px;
    font-weight: 500;
}

.snow_about_closing_en {
    display:block;
    margin-top:42px;
    color:var(--snow-primary-dark);
    font-family:'Marcellus',serif;
    font-size:30px;
    letter-spacing:0;
}

/* 서브페이지 스크롤 모션: 모바일 이동 거리 축소 */
.snow_sub [data-aos="fade-up"] {
    transform: translate3d(0, var(--snow-sub-motion-distance), 0);
}

.snow_sub [data-aos="fade-left"] {
    transform: translate3d(var(--snow-sub-motion-distance), 0, 0);
}

.snow_sub [data-aos="fade-right"] {
    transform: translate3d(calc(-1 * var(--snow-sub-motion-distance)), 0, 0);
}

.snow_sub [data-aos="fade-up"].aos-animate,
.snow_sub [data-aos="fade-left"].aos-animate,
.snow_sub [data-aos="fade-right"].aos-animate {
    transform: none;
}

@keyframes snow_sub_rotate {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 1100px) {
    .snow_sub_crystal {
        right: 0;
        width: 75px;
        height: 75px;
    }
    .snow_about_story {
        gap: 6%;
    }
    .snow_about_values {
        gap: 5%;
        padding: 60px 45px;
    }
    .snow_about_value_list h3 {
        font-size: 21px;
    }
    .snow_about_closing {
        gap: 6%;
    }
}

@media (max-width: 768px) {
    .snow_sub {
        --snow-sub-motion-distance: 20px;
        font-size: 16px;
    }
    .snow_sub_intro {
        padding: 0 0 45px;
    }
    .snow_sub_intro h2 {
        margin-top: 18px;
        font-size: 34px;
    }
    .snow_sub_eyebrow {
        font-size: 17px;
    }
    .snow_sub_desc {
        font-size: 16px;
    }
    .snow_sub_crystal {
        top: -40px;
        right: 0;
        width: 45px;
        height: 45px;
    }
    .snow_about_visual {
        height: 340px;
        border-radius: 38px 8px 38px 8px;
    }
    .snow_about_visual figcaption {
        left: 7%;
        bottom: 28px;
        font-size: 32px;
    }
    .snow_about_visual figcaption span+span {
        margin-left: 28px;
    }
    .snow_about_story {
        flex-direction: column;
        gap: 38px;
        padding: 70px 0;
    }
    .snow_about_story_head {
        position: static;
        flex-basis: auto;
    }
    .snow_about_story h2,
    .snow_about_values h2,
    .snow_about_closing h2 {
        margin-top: 16px;
        font-size: 29px;
    }
    .snow_about_name {
        margin-top: 20px;
    }
    .snow_about_word {
        display: none;
    }
    .snow_about_hello {
        font-size: 21px;
    }
    .snow_about_letter blockquote {
        margin: 30px 0;
        padding-left: 18px;
        font-size: 20px;
    }
    .snow_about_signature {
        font-size: 14px;
    }
    .snow_about_signature strong {
        font-size: 23px;
    }
    .snow_about_values {
        flex-direction: column;
        gap: 36px;
        padding: 40px 24px;
        border-radius: 8px 38px 8px 38px;
    }
    .snow_about_value_list li {
        gap: 15px;
        padding: 26px 0;
    }
    .snow_about_value_list h3 {
        font-size: 21px;
    }
    .snow_about_closing {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding-top: 70px;
    }
    .snow_about_closing_photo {
        flex-basis: auto;
        height: 350px;
        border-radius: 8px 38px 8px 38px;
    }
    .snow_about_closing_en {
        margin-top: 28px;
        font-size: 26px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .snow_sub [data-aos^="fade-"] {
        opacity: 1;
        transform: none;
        transition: none;
    }
    .snow_sub_crystal svg {
        animation: none;
    }
}


/* 0102 의료진 소개 — 공통 style.css 하단에 추가 */

.snow_staff_profile {
    display:flex;
    align-items:center;
    gap:8%;
    padding-bottom:110px;
}

.snow_staff_photo {
    flex:0 0 46%;
    height:650px;
    overflow:hidden;
    border-radius:70px 12px 70px 12px;
    background:var(--snow-bg);
}

.snow_staff_photo img {
    object-position:center top;
}

.snow_staff_photo_empty {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    height:100%;
    padding:30px;
    text-align:center;
}

.snow_staff_photo_empty>span {
    color:var(--snow-primary-dark);
    font-family:'Marcellus',serif;
    font-size:32px;
    letter-spacing:0;
}

.snow_staff_photo_empty p {
    margin-top:25px;
    font-size:28px;
    font-weight:700;
}

.snow_staff_photo_empty small {
    margin-top:12px;
    color:var(--snow-text-sub);
    font-size:16px;
}

.snow_staff_identity {
    flex:1;
    min-width:0;
}

.snow_staff_identity h2 {
    display:flex;
    align-items:baseline;
    gap:20px;
    margin-top:22px;
    line-height:1.3;
}

.snow_staff_identity h2 strong {
    font-size:50px;
    font-weight:700;
    letter-spacing:-0.02em;
}

.snow_staff_identity h2 span {
    font-size:22px;
    font-weight:500;
}

.snow_staff_message {
    margin-top:36px!important;
    color:var(--snow-primary-dark);
    font-size:28px;
    font-weight:500;
    line-height:1.6;
}

.snow_staff_summary {
    max-width:580px;
    margin-top:28px!important;
    color:var(--snow-text-sub);
    font-size:18px;
    line-height:1.75;
}

.snow_staff_word {
    display:block;
    margin-top:40px;
    color:var(--snow-primary);
    font-family:'Marcellus',serif;
    font-size:42px;
    letter-spacing:0;
    line-height:1.3;
}

.snow_staff_details {
    display:flex;
    align-items:flex-start;
    gap:8%;
    padding:0 0 110px;
}

.snow_staff_history {
    flex:0 0 54%;
    min-width:0;
}

.snow_staff_societies {
    flex:1;
    min-width:0;
}

.snow_staff_section_head {
    padding-bottom:30px;
    border-bottom:2px solid var(--snow-text);
}

.snow_staff_section_head h2 {
    margin-top:14px;
    font-size:32px;
    font-weight:700;
    line-height:1.3;
}

.snow_staff_timeline {
    margin:0;
    padding:0;
}

.snow_staff_timeline>div {
    display:flex;
    gap:28px;
    padding:26px 0;
    border-bottom:1px solid var(--snow-border);
}

.snow_staff_timeline dt {
    flex:0 0 150px;
    color:var(--snow-primary-dark);
    font-family:'Marcellus',serif;
    font-size:19px;
    letter-spacing:0;
}

.snow_staff_timeline dd {
    flex:1;
    min-width:0;
    margin:0;
    font-size:18px;
    font-weight:500;
    line-height:1.75;
}

.snow_staff_timeline dd span {
    display:block;
    margin-top:8px;
    color:var(--snow-text-sub);
    font-size:16px;
    font-weight:400;
}

.snow_staff_society_list {
    margin:0;
    padding:0;
    list-style:none;
}

.snow_staff_society_list li {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:16px;
    padding:19px 0;
    border-bottom:1px solid var(--snow-border);
    font-size:18px;
    font-weight:500;
}

.snow_staff_society_list li span {
    flex-shrink:0;
    color:var(--snow-text-sub);
    font-size:16px;
    font-weight:400;
}

.snow_staff_promise {
    padding:75px 40px;
    text-align:center;
    border-radius:12px 70px 12px 70px;
    background:var(--snow-bg);
}

.snow_staff_promise h2 {
    margin-top:22px;
    font-size:clamp(28px,2.65vw,42px);
    font-weight:700;
    line-height:1.3;
}

.snow_staff_promise h2+p {
    margin-top:28px;
    color:var(--snow-text-sub);
    font-size:18px;
    line-height:1.75;
}

@media (max-width: 1100px) {
    .snow_staff_profile {
        gap: 5%;
    }
    .snow_staff_photo {
        height: 570px;
    }
    .snow_staff_message {
        font-size: 24px;
    }
    .snow_staff_details {
        gap: 5%;
    }
    .snow_staff_timeline>div {
        gap: 18px;
    }
    .snow_staff_timeline dt {
        flex-basis: 125px;
        font-size: 17px;
    }
}

@media (max-width: 768px) {
    .snow_staff_profile {
        flex-direction: column;
        align-items: stretch;
        gap: 36px;
        padding-bottom: 70px;
    }
    .snow_staff_photo {
        flex-basis: auto;
        height: clamp(380px, 115vw, 600px);
        border-radius: 38px 8px 38px 8px;
    }
    .snow_staff_identity h2 strong {
        font-size: 38px;
    }
    .snow_staff_identity h2 span {
        font-size: 20px;
    }
    .snow_staff_message {
        margin-top: 26px!important;
        font-size: 23px;
    }
    .snow_staff_summary {
        font-size: 16px;
    }
    .snow_staff_word {
        margin-top: 28px;
        font-size: 34px;
    }
    .snow_staff_details {
        flex-direction: column;
        align-items: stretch;
        gap: 50px;
        padding-bottom: 70px;
    }
    .snow_staff_section_head {
        padding-bottom: 24px;
    }
    .snow_staff_section_head h2 {
        font-size: 28px;
    }
    .snow_staff_timeline>div {
        flex-direction: column;
        gap: 8px;
        padding: 20px 0;
    }
    .snow_staff_timeline dt {
        flex-basis: auto;
    }
    .snow_staff_timeline dd,
    .snow_staff_society_list li {
        font-size: 16px;
    }
    .snow_staff_society_list li span {
        font-size: 14px;
    }
    .snow_staff_promise {
        padding: 45px 24px;
        border-radius: 8px 38px 8px 38px;
    }
    .snow_staff_promise h2 {
        font-size: 29px;
    }
    .snow_staff_promise h2+p {
        font-size: 16px;
    }
}


/* 0104 오시는 길 — 공통 style.css 하단에 추가 */

.snow_location_map {
    min-height:480px;
    overflow:hidden;
    border:1px solid var(--snow-border);
    border-radius:50px 12px 50px 12px;
    background:var(--snow-bg);
}

.snow_location_map_intro {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:480px;
    padding:55px 28px;
    text-align:center;
}

.snow_location_map_intro svg {
    width:58px;
    height:58px;
    margin-bottom:20px;
    color:var(--snow-primary-dark);
}

.snow_location_map_intro h2 {
    margin-top:18px;
    font-size:32px;
    font-weight:700;
    line-height:1.3;
}

.snow_location_map_intro h2+p {
    margin-top:18px;
    color:var(--snow-text-sub);
    font-size:18px;
}

.snow_location_map_intro .snow_location_button {
    margin-top:28px;
}

.snow_location_map iframe {
    display:block;
    width:100%;
    height:480px;
    border:0;
}

.snow_location_map .root_daum_roughmap {
    width:100%;
    max-width:none;
}

.snow_location_info {
    display:flex;
    align-items:stretch;
    gap:7%;
    padding:65px 0 80px;
}

.snow_location_address {
    flex:1;
    min-width:0;
}

.snow_location_info h2 {
    margin-top:16px;
    font-size:32px;
    font-weight:700;
    line-height:1.3;
}

.snow_location_address_text {
    margin-top:26px!important;
    font-size:24px;
    font-weight:500;
    line-height:1.6;
}

.snow_location_links {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:30px;
}

.snow_location_button {
    position:relative;
    isolation:isolate;
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:32px;
    min-height:52px;
    padding:12px 24px;
    overflow:hidden;
    border:1px solid var(--snow-primary-dark);
    border-radius:4px;
    background:transparent;
    color:var(--snow-primary-dark);
    font-size:16px;
    font-weight:500;
    line-height:1.5;
    text-decoration:none;
    transition:color .25s;
}

.snow_location_button::before {
    content:'';
    position:absolute;
    z-index:-1;
    inset:0;
    background:var(--snow-primary-dark);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .25s;
}

.snow_location_button:hover,.snow_location_button:focus-visible {
    color:#fff;
}

.snow_location_button:hover::before,.snow_location_button:focus-visible::before {
    transform:scaleX(1);
}

.snow_location_button:focus-visible {
    outline:2px solid var(--snow-primary-dark);
    outline-offset:4px;
}

.snow_location_contact {
    flex:0 0 41%;
    min-width:0;
    padding-left:6%;
    border-left:1px solid var(--snow-border);
}

.snow_location_tel {
    display:inline-block;
    margin-top:22px;
    color:var(--snow-primary-dark);
    font-size:clamp(30px,3vw,46px);
    font-weight:700;
    line-height:1.3;
    letter-spacing:-0.02em;
}

.snow_location_contact>a+p {
    margin-top:18px;
    color:var(--snow-text-sub);
    font-size:18px;
    line-height:1.75;
}

.snow_location_contact dl {
    margin:25px 0 0;
    padding:0;
    color:var(--snow-text-sub);
    font-size:16px;
}

.snow_location_contact dl div {
    display:flex;
    gap:20px;
}

.snow_location_contact dd {
    margin:0;
}

.snow_location_note {
    padding:45px 24px;
    text-align:center;
    border-top:1px solid var(--snow-border);
}

.snow_location_note p {
    font-size:22px;
    font-weight:500;
}

.snow_location_note span {
    display:block;
    margin-top:14px;
    color:var(--snow-primary-dark);
    font-family:'Marcellus',serif;
    font-size:28px;
    letter-spacing:0;
}

.root_daum_roughmap .cont .section.lst{
    display: none;
}

@media (max-width: 768px) {
    .snow_location_map {
        min-height: 360px;
        border-radius: 30px 8px 30px 8px;
    }
    .snow_location_map_intro {
        min-height: 360px;
        padding: 40px 24px;
    }
    .snow_location_map_intro h2 {
        font-size: 27px;
    }
    .snow_location_map_intro h2+p {
        font-size: 16px;
    }
    .snow_location_map iframe {
        height: 360px;
    }
    .snow_location_info {
        flex-direction: column;
        gap: 40px;
        padding: 45px 0 50px;
    }
    .snow_location_info h2 {
        font-size: 28px;
    }
    .snow_location_address_text {
        font-size: 20px;
    }
    .snow_location_links {
        gap: 10px;
    }
    .snow_location_button {
        gap: 22px;
        padding: 12px 18px;
    }
    .snow_location_contact {
        flex-basis: auto;
        padding: 35px 0 0;
        border-top: 1px solid var(--snow-border);
        border-left: 0;
    }
    .snow_location_contact>a+p {
        font-size: 16px;
    }
    .snow_location_note p {
        font-size: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .snow_location_button,
    .snow_location_button::before {
        transition: none;
    }
}


/* 0201 노안 리디자인: 기존 0201 CSS 전체를 이 내용으로 교체 */

.snow_presbyopia {
    --snow-presbyopia-care-bg:#376B92;
}

.snow_presbyopia h2 {
    font-size:clamp(28px,2.65vw,42px);
    font-weight:700;
    line-height:1.3;
    letter-spacing:-0.02em;
}

.snow_presbyopia .snow_sub_intro h2 {
    font-size:clamp(36px,3.5vw,50px);
}

.snow_presbyopia_hero {
    display:flex;
    align-items:center;
    gap:8%;
    padding:10px 0 110px;
}

.snow_presbyopia_hero_image {
    flex:0 0 48%;
    height:570px;
    overflow:hidden;
    border-radius:140px 16px 80px 16px;
    background:var(--snow-bg);
}

.snow_presbyopia_hero_copy {
    flex:1;
    min-width:0;
}

.snow_presbyopia_hero_copy h2 {
    margin-top:18px;
}

.snow_presbyopia_lead {
    margin-top:26px!important;
    color:var(--snow-primary-dark);
    font-size:24px;
    font-weight:500;
    line-height:1.6;
}

.snow_presbyopia_hero_copy>p:not(.snow_sub_eyebrow):not(.snow_presbyopia_lead) {
    margin-top:22px;
    color:var(--snow-text-sub);
    font-size:18px;
    line-height:1.75;
}

.snow_presbyopia_hero_en {
    display:block;
    margin-top:34px;
    color:var(--snow-primary);
    font-family:'Marcellus',serif;
    font-size:clamp(32px,3.4vw,52px);
    line-height:1.12;
    letter-spacing:0;
}

.snow_presbyopia_heading {
    margin:0 auto 40px;
    text-align:center;
}

.snow_presbyopia_heading h2 {
    margin-top:18px;
}

.snow_presbyopia_heading h2+p {
    margin-top:22px;
    color:var(--snow-text-sub);
    font-size:18px;
    line-height:1.75;
}

.snow_presbyopia_vision {
    padding-bottom:110px;
}

.snow_presbyopia_compare {
    --snow-compare-position:50%;
    position:relative;
    height:470px;
    overflow:hidden;
    border-radius:28px;
    background:var(--snow-bg);
}

.snow_presbyopia_compare>img,.snow_presbyopia_compare_blur,.snow_presbyopia_compare_blur img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}

.snow_presbyopia_compare_blur {
    clip-path:inset(0 calc(100% - var(--snow-compare-position)) 0 0);
    pointer-events:none;
}

.snow_presbyopia_compare_blur img {
    filter:blur(5px);
}

.snow_presbyopia_compare_label {
    position:absolute;
    z-index:2;
    top:24px;
    padding:10px 18px;
    border-radius:30px;
    background:rgba(255,255,255,.92);
    color:var(--snow-text);
    font-size:15px;
    line-height:1.5;
    pointer-events:none;
}

.snow_presbyopia_compare_label.is_blur {
    left:24px;
}

.snow_presbyopia_compare_label.is_clear {
    right:24px;
}

.snow_presbyopia_compare_line {
    position:absolute;
    z-index:2;
    top:0;
    bottom:0;
    left:var(--snow-compare-position);
    width:2px;
    background:#fff;
    transform:translateX(-50%);
    pointer-events:none;
}

.snow_presbyopia_compare_line span {
    position:absolute;
    top:50%;
    left:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    width:58px;
    height:58px;
    border:1px solid var(--snow-border);
    border-radius:50%;
    background:#fff;
    color:var(--snow-primary-dark);
    font-size:28px;
    transform:translate(-50%,-50%);
}

.snow_presbyopia_compare_range {
    position:absolute;
    z-index:3;
    inset:0;
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    opacity:0;
    cursor:ew-resize;
    touch-action:pan-y;
}

.snow_presbyopia_compare:focus-within {
    outline:3px solid var(--snow-primary-dark);
    outline-offset:5px;
}

.snow_presbyopia_note {
    margin-top:22px!important;
    color:var(--snow-text-sub);
    font-size:15px;
    line-height:1.75;
    text-align:center;
}

@media (max-width: 1100px) {
    .snow_presbyopia_hero {
        gap: 5%;
    }
    .snow_presbyopia_hero_image {
        height: 560px;
    }

}

@media (max-width: 768px) {
    .snow_presbyopia h2 {
        font-size: 29px;
    }
    .snow_presbyopia .snow_sub_intro h2 {
        font-size: 34px;
    }
    .snow_presbyopia_hero {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 0 0 70px;
    }
    .snow_presbyopia_hero_image {
        flex-basis: auto;
        height: 380px;
        border-radius: 80px 12px 45px 12px;
    }
    .snow_presbyopia_lead {
        font-size: 21px;
    }
    .snow_presbyopia_hero_copy>p:not(.snow_sub_eyebrow):not(.snow_presbyopia_lead),
    .snow_presbyopia_heading h2+p {
        font-size: 16px;
    }
    .snow_presbyopia_hero_en {
        font-size: 38px;
    }
    .snow_presbyopia_heading {
        margin-bottom: 30px;
    }
    .snow_presbyopia_vision {
        padding-bottom: 70px;
    }
    .snow_presbyopia_compare {
        height: 320px;
        border-radius: 18px;
    }
    .snow_presbyopia_compare_label {
        top: 16px;
        padding: 8px 10px;
        font-size: 12px;
    }
    .snow_presbyopia_compare_label.is_blur {
        left: 12px;
    }
    .snow_presbyopia_compare_label.is_clear {
        right: 12px;
    }
    .snow_presbyopia_compare_line span {
        width: 46px;
        height: 46px;
        font-size: 24px;
    }
    .snow_presbyopia_note {
        font-size: 14px;
    }

}

/* 0201 증상 안내: 사진 및 롤링 없는 고정 목록 */

.snow_presbyopia_check {
    display:flex;
    align-items:flex-start;
    gap:9%;
    padding:0 0 110px;
}

.snow_presbyopia_check_intro {
    flex:0 0 33%;
    min-width:0;
}

.snow_presbyopia_check_intro h2 {
    margin-top:18px;
}

.snow_presbyopia_check_intro>p:not(.snow_sub_eyebrow) {
    margin-top:24px;
    color:var(--snow-text-sub);
    font-size:18px;
    line-height:1.75;
}

.snow_presbyopia_check_intro>span {
    display:block;
    margin-top:35px;
    color:var(--snow-primary);
    font-family:'Marcellus',serif;
    font-size:35px;
    line-height:1.2;
    letter-spacing:0;
}

.snow_presbyopia_check_content {
    flex:1;
    min-width:0;
}

.snow_presbyopia_check_list {
    margin:0;
    padding:0;
    list-style:none;
    border-top:2px solid var(--snow-text);
}

.snow_presbyopia_check_list li {
    display:flex;
    align-items:center;
    gap:24px;
    padding:26px 0;
    border-bottom:1px solid var(--snow-border);
}

.snow_presbyopia_check_num {
    flex:0 0 32px;
    color:var(--snow-primary-dark);
    font-family:'Marcellus',serif;
    font-size:22px;
    letter-spacing:0;
}

.snow_presbyopia_check_list p {
    flex:1;
    font-size:20px;
    font-weight:500;
    line-height:1.6;
}

.snow_presbyopia_check_mark {
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 32px;
    height:32px;
    border-radius:50%;
    background:var(--snow-bg);
    color:var(--snow-primary-dark);
    font-size:17px;
}

.snow_presbyopia_check_content .snow_presbyopia_note {
    text-align:left;
}

/* 치료방법: 내용은 1600px 기준, 배경은 화면 전체 폭 */

.snow_presbyopia_care {
    position:relative;
    isolation:isolate;
    padding:85px 0;
    color:#fff;
    background:var(--snow-presbyopia-care-bg);
}

.snow_presbyopia_care::before {
    content:'';
    position:absolute;
    z-index:-1;
    top:0;
    bottom:0;
    left:calc(50% - 50vw);
    width:100vw;
    background:var(--snow-presbyopia-care-bg);
    background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M50%203v94M9.3%2026.5l81.4%2047M9.3%2073.5l81.4-47M36%2012l14%2014%2014-14M36%2088l14-14%2014%2014M10%2043l19-5-5-19M76%2081l-5-19%2019-5M10%2057l19%205-5%2019M76%2019l-5%2019%2019%205%22%20stroke%3D%22white%22%20stroke-opacity%3D%22.065%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E"), url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M50%203v94M9.3%2026.5l81.4%2047M9.3%2073.5l81.4-47M36%2012l14%2014%2014-14M36%2088l14-14%2014%2014M10%2043l19-5-5-19M76%2081l-5-19%2019-5M10%2057l19%205-5%2019M76%2019l-5%2019%2019%205%22%20stroke%3D%22white%22%20stroke-opacity%3D%22.065%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E");
    background-position:right -130px bottom -140px, left -65px top -65px;
    background-size:500px 500px, 280px 280px;
    background-repeat:no-repeat;
    pointer-events:none;
}

.snow_presbyopia_care .snow_sub_eyebrow {
    color:#D8EEFF;
}

.snow_presbyopia_care .snow_presbyopia_heading h2+p,.snow_presbyopia_care .snow_presbyopia_note {
    color:#E2EEF7;
}

.snow_presbyopia_care_list {
    margin:0;
    padding:0;
    list-style:none;
    border-top:1px solid rgba(255,255,255,.3);
}

.snow_presbyopia_care_list li {
    display:flex;
    align-items:center;
    gap:35px;
    padding:38px 0;
    border-bottom:1px solid rgba(255,255,255,.2);
}

.snow_presbyopia_care_num {
    flex:0 0 65px;
    color:#D8EEFF;
    font-family:'Marcellus',serif;
    font-size:38px;
    line-height:1.3;
    letter-spacing:0;
}

.snow_presbyopia_care_name {
    flex:0 0 30%;
    min-width:0;
}

.snow_presbyopia_care_en {
    color:#D8EEFF;
    font-family:'Marcellus',serif;
    font-size:19px;
    letter-spacing:0;
    line-height:1.5;
}

.snow_presbyopia_care_name h3 {
    margin-top:10px;
    font-size:26px;
    font-weight:700;
    line-height:1.5;
}

.snow_presbyopia_care_list li>p {
    flex:1;
    min-width:0;
    color:#EAF3FA;
    font-size:18px;
    line-height:1.75;
}

.snow_presbyopia_care .snow_presbyopia_note {
    margin-top:30px!important;
}

@media (max-width: 1100px) {
    .snow_presbyopia_check {
        gap: 6%;
    }
    .snow_presbyopia_care_list li {
        gap: 24px;
    }
    .snow_presbyopia_care_num {
        flex-basis: 50px;
    }
    .snow_presbyopia_care_name {
        flex-basis: 32%;
    }
}

@media (max-width: 768px) {
    .snow_presbyopia_check {
        flex-direction: column;
        gap: 32px;
        padding-bottom: 70px;
    }
    .snow_presbyopia_check_intro {
        flex-basis: auto;
    }
    .snow_presbyopia_check_intro>p:not(.snow_sub_eyebrow) {
        font-size: 16px;
    }
    .snow_presbyopia_check_intro>span {
        margin-top: 24px;
        font-size: 28px;
    }
    .snow_presbyopia_check_content {
        width: 100%;
    }
    .snow_presbyopia_check_list li {
        gap: 14px;
        padding: 22px 0;
    }
    .snow_presbyopia_check_list p {
        font-size: 18px;
    }
    .snow_presbyopia_check_mark {
        flex-basis: 28px;
        height: 28px;
    }
    .snow_presbyopia_care {
        padding: 55px 0;
    }
    .snow_presbyopia_care_list li {
        flex-wrap: wrap;
        gap: 16px;
        padding: 28px 0;
    }
    .snow_presbyopia_care_num {
        flex-basis: 40px;
        font-size: 30px;
    }
    .snow_presbyopia_care_name {
        flex-basis: calc(100% - 56px);
    }
    .snow_presbyopia_care_name h3 {
        font-size: 23px;
    }
    .snow_presbyopia_care_list li>p {
        flex-basis: 100%;
        font-size: 16px;
    }
}

/* 0201에서만 푸터 앞 공통 컨테이너 여백 제거 */
#container.snow_container_sub.snow_presbyopia_container {
    margin-bottom: 0;
}


/* 0202 백내장 — 공통 style.css 하단에 추가 */

.snow_cataract {
    --snow-cataract-care-bg:#376B92;
}

.snow_cataract h2 {
    font-size:clamp(28px,2.65vw,42px);
    font-weight:700;
    line-height:1.3;
    letter-spacing:-0.02em;
}

.snow_cataract .snow_sub_intro h2 {
    font-size:clamp(36px,3.5vw,50px);
}

.snow_cataract_intro {
    display:flex;
    align-items:center;
    gap:8%;
    padding:10px 0 110px;
}

.snow_cataract_intro_copy {
    flex:1;
    min-width:0;
}

.snow_cataract_intro_copy h2 {
    margin-top:18px;
}

.snow_cataract_lead {
    margin-top:26px!important;
    color:var(--snow-primary-dark);
    font-size:24px;
    font-weight:500;
    line-height:1.6;
}

.snow_cataract_intro_copy>p:not(.snow_sub_eyebrow):not(.snow_cataract_lead) {
    margin-top:24px;
    color:var(--snow-text-sub);
    font-size:18px;
    line-height:1.75;
}

.snow_cataract_intro_photo {
    flex:0 0 48%;
    height:540px;
    overflow:hidden;
    border-radius:16px 100px 16px 70px;
    background:var(--snow-bg);
}

.snow_cataract_keywords {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:30px;
}

.snow_cataract_keywords span {
    padding:10px 18px;
    border:1px solid var(--snow-border);
    border-radius:30px;
    color:var(--snow-primary-dark);
    font-size:16px;
}

.snow_cataract_heading {
    margin:0 auto 40px;
    text-align:center;
}

.snow_cataract_heading h2 {
    margin-top:18px;
}

.snow_cataract_heading h2+p {
    margin-top:22px;
    color:var(--snow-text-sub);
    font-size:18px;
    line-height:1.75;
}

.snow_cataract_vision {
    padding-bottom:110px;
}

.snow_cataract_compare {
    --snow-cataract-position:50%;
    position:relative;
    height:470px;
    overflow:hidden;
    border-radius:28px;
    background:var(--snow-bg);
}

.snow_cataract_compare>img,.snow_cataract_compare_cloud,.snow_cataract_compare_cloud img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}

.snow_cataract_compare_cloud {
    clip-path:inset(0 calc(100% - var(--snow-cataract-position)) 0 0);
    pointer-events:none;
}

.snow_cataract_compare_cloud img {
    filter:blur(5px) contrast(.72) saturate(.65);
}

.snow_cataract_compare_cloud::after {
    content:'';
    position:absolute;
    inset:0;
    background:rgba(245,237,217,.22);
}

.snow_cataract_compare_label {
    position:absolute;
    z-index:2;
    top:24px;
    padding:10px 18px;
    border-radius:30px;
    background:rgba(255,255,255,.92);
    color:var(--snow-text);
    font-size:15px;
    line-height:1.5;
    pointer-events:none;
}

.snow_cataract_compare_label.is_cloud {
    left:24px;
}

.snow_cataract_compare_label.is_clear {
    right:24px;
}

.snow_cataract_compare_line {
    position:absolute;
    z-index:2;
    top:0;
    bottom:0;
    left:var(--snow-cataract-position);
    width:2px;
    background:#fff;
    transform:translateX(-50%);
    pointer-events:none;
}

.snow_cataract_compare_line span {
    position:absolute;
    top:50%;
    left:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    width:58px;
    height:58px;
    border:1px solid var(--snow-border);
    border-radius:50%;
    background:#fff;
    color:var(--snow-primary-dark);
    font-size:28px;
    transform:translate(-50%,-50%);
}

.snow_cataract_range {
    position:absolute;
    z-index:3;
    inset:0;
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    opacity:0;
    cursor:ew-resize;
    touch-action:pan-y;
}

.snow_cataract_compare:focus-within {
    outline:3px solid var(--snow-primary-dark);
    outline-offset:5px;
}

.snow_cataract_note {
    margin-top:24px!important;
    color:var(--snow-text-sub);
    font-size:15px;
    line-height:1.75;
    text-align:center;
}

.snow_cataract_treatment {
    position:relative;
    isolation:isolate;
    padding:85px 0;
    color:#fff;
    background:var(--snow-cataract-care-bg);
}

.snow_cataract_treatment::before {
    content:'';
    position:absolute;
    z-index:-1;
    top:0;
    bottom:0;
    left:calc(50% - 50vw);
    width:100vw;
    background-color:var(--snow-cataract-care-bg);
    background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M50%203v94M9.3%2026.5l81.4%2047M9.3%2073.5l81.4-47M36%2012l14%2014%2014-14M36%2088l14-14%2014%2014M10%2043l19-5-5-19M76%2081l-5-19%2019-5M10%2057l19%205-5%2019M76%2019l-5%2019%2019%205%22%20stroke%3D%22white%22%20stroke-opacity%3D%22.065%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E"),url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M50%203v94M9.3%2026.5l81.4%2047M9.3%2073.5l81.4-47M36%2012l14%2014%2014-14M36%2088l14-14%2014%2014M10%2043l19-5-5-19M76%2081l-5-19%2019-5M10%2057l19%205-5%2019M76%2019l-5%2019%2019%205%22%20stroke%3D%22white%22%20stroke-opacity%3D%22.065%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E");
    background-position:right -130px bottom -140px,left -65px top -65px;
    background-size:500px 500px,280px 280px;
    background-repeat:no-repeat;
    pointer-events:none;
}

.snow_cataract_treatment .snow_sub_eyebrow {
    color:#D8EEFF;
}

.snow_cataract_treatment .snow_cataract_heading h2+p,.snow_cataract_treatment .snow_cataract_note {
    color:#E2EEF7;
}

.snow_cataract_treatment_list {
    border-top:1px solid rgba(255,255,255,.3);
}

.snow_cataract_treatment_list article {
    display:flex;
    align-items:flex-start;
    gap:8%;
    padding:38px 0;
    border-bottom:1px solid rgba(255,255,255,.2);
}

.snow_cataract_treatment_name {
    display:flex;
    gap:30px;
    flex:0 0 34%;
    min-width:0;
}

.snow_cataract_treatment_name>span {
    color:#D8EEFF;
    font-family:'Marcellus',serif;
    font-size:38px;
    line-height:1.3;
    letter-spacing:0;
}

.snow_cataract_treatment_name>div>p {
    color:#D8EEFF;
    font-family:'Marcellus',serif;
    font-size:19px;
    letter-spacing:0;
}

.snow_cataract_treatment_name h3 {
    margin-top:10px;
    font-size:26px;
    font-weight:700;
    line-height:1.5;
}

.snow_cataract_treatment_copy {
    flex:1;
    min-width:0;
}

.snow_cataract_treatment_copy>p {
    color:#EAF3FA;
    font-size:18px;
    line-height:1.75;
}

.snow_cataract_treatment_copy strong {
    display:block;
    margin-top:18px;
    color:#fff;
    font-size:18px;
    font-weight:500;
}

.snow_cataract_surgery {
    display:flex;
    flex-wrap:wrap;
    gap:50px 6%;
    padding:110px 0;
}

.snow_cataract_surgery_heading {
    flex:0 0 26%;
    min-width:0;
}

.snow_cataract_surgery_heading h2 {
    margin-top:16px;
    font-size:34px;
    line-height:1.3;
    font-weight:700;
}

.snow_cataract_surgery_heading h2+p {
    margin-top:20px;
    color:var(--snow-sub-muted, #657C8D);
    font-size:18px;
    line-height:1.75;
}

.snow_cataract_steps {
    display:flex;
    flex:1;
    gap:24px;
    min-width:0;
    margin:0;
    padding:0;
    list-style:none;
}

.snow_cataract_steps li {
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-height:250px;
    padding:32px 26px;
    border:1px solid #DCEAF4;
    border-radius:22px;
    background:#F1F8FD;
}

.snow_cataract_steps li>span {
    color:#3787BD;
    font-family:'Marcellus',serif;
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:5px 13px;
    border-radius:30px;
    background:#DFEFFB;
    font-size:17px;
    letter-spacing:0;
}

.snow_cataract_steps h4 {
    margin:26px 0 0;
    font-size:22px;
    font-weight:700;
    line-height:1.5;
}

.snow_cataract_steps h4+p {
    margin-top:12px;
    color:#657C8D;
    font-size:17px;
    line-height:1.65;
}

.snow_cataract_surgery > .snow_cataract_note {
    flex:0 0 100%;
    margin:0;
}

#container.snow_container_sub.snow_cataract_container {
    margin-bottom:0;
}

@media (max-width: 1100px) {
    .snow_cataract_intro {
        gap: 5%;
    }
    .snow_cataract_surgery {
        flex-direction: column;
        gap: 30px;
    }
}

@media (max-width: 768px) {
    .snow_cataract h2 {
        font-size: 29px;
    }
    .snow_cataract .snow_sub_intro h2 {
        font-size: 34px;
    }
    .snow_cataract_intro {
        flex-direction: column-reverse;
        align-items: stretch;
        gap: 32px;
        padding: 0 0 70px;
    }
    .snow_cataract_intro_photo {
        flex-basis: auto;
        height: 360px;
        border-radius: 12px 70px 12px 45px;
    }
    .snow_cataract_lead {
        font-size: 21px;
    }
    .snow_cataract_intro_copy>p:not(.snow_sub_eyebrow):not(.snow_cataract_lead),
    .snow_cataract_heading h2+p,
    .snow_cataract_treatment_copy>p,
    .snow_cataract_surgery_heading h2+p {
        font-size: 16px;
    }
    .snow_cataract_keywords {
        gap: 8px;
    }
    .snow_cataract_keywords span {
        padding: 8px 14px;
        font-size: 14px;
    }
    .snow_cataract_heading {
        margin-bottom: 30px;
    }
    .snow_cataract_vision {
        padding-bottom: 70px;
    }
    .snow_cataract_compare {
        height: 320px;
        border-radius: 18px;
    }
    .snow_cataract_compare_label {
        top: 16px;
        padding: 8px 10px;
        font-size: 12px;
    }
    .snow_cataract_compare_label.is_cloud {
        left: 12px;
    }
    .snow_cataract_compare_label.is_clear {
        right: 12px;
    }
    .snow_cataract_compare_line span {
        width: 46px;
        height: 46px;
        font-size: 24px;
    }
    .snow_cataract_note {
        font-size: 14px;
    }
    .snow_cataract_treatment {
        padding: 55px 0;
    }
    .snow_cataract_treatment_list article {
        flex-direction: column;
        gap: 22px;
        padding: 28px 0;
    }
    .snow_cataract_treatment_name {
        flex-basis: auto;
        gap: 20px;
    }
    .snow_cataract_treatment_name>span {
        font-size: 30px;
    }
    .snow_cataract_treatment_name h3,
    .snow_cataract_surgery_heading h2 {
        font-size: 24px;
    }
    .snow_cataract_treatment_copy strong {
        font-size: 16px;
    }
    .snow_cataract_surgery {
        padding: 70px 0;
    }
    .snow_cataract_steps {
        flex-direction: column;
        gap: 16px;
    }
    .snow_cataract_steps li {
        flex:auto;
        min-height:0;
        padding:26px 24px;
        border-radius:18px;
    }
    .snow_cataract_steps h4 {
        margin-top: 20px;
        font-size: 21px;
    }
}


/* 0203 인공수정체 — 공통 style.css 하단에 한 번 추가 */
.snow_iol {
    color: #233F52;
    font-size: 18px;
    line-height: 1.75;
    letter-spacing: -0.02em;
}

.snow_iol h2 {
    font-size: clamp(28px, 2.65vw, 42px);
    font-weight: 700;
    line-height: 1.3;
}

.snow_iol .snow_sub_intro h2 {
    font-size: clamp(36px, 3.5vw, 50px);
}

.snow_iol_intro {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 10px 0 110px;
}

.snow_iol_photo {
    flex: 0 0 48%;
    min-width: 0;
    overflow: hidden;
    border-radius: 90px 16px 70px 16px;
    background: #F0F8FD;
    aspect-ratio: 4 / 3;
}

.snow_iol_photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.snow_iol_intro_copy {
    flex: 1;
    min-width: 0;
}

.snow_iol_intro_copy h2 {
    margin-top: 18px;
}

.snow_iol_lead {
    margin-top: 28px;
    color: #3787BD;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
}

.snow_iol_intro_copy > p:not(.snow_sub_eyebrow):not(.snow_iol_lead) {
    margin-top: 22px;
    color: #657C8D;
}

.snow_iol_signature {
    display: block;
    margin-top: 32px;
    color: #72B4E5;
    font-family: 'Marcellus', serif;
    font-size: clamp(30px, 3vw, 48px);
    line-height: 1.1;
    letter-spacing: 0;
}

.snow_iol_types {
    padding-bottom: 110px;
}

.snow_iol_heading {
    margin-bottom: 48px;
    text-align: center;
}

.snow_iol_heading h2 {
    margin-top: 18px;
}

.snow_iol_heading h2 + p {
    margin-top: 22px;
    color: #657C8D;
}

.snow_iol_cards {
    display: flex;
    gap: 24px;
}

.snow_iol_card {
    flex: 1;
    min-width: 0;
    padding: 38px 32px;
    border: 1px solid #203F57;
    border-radius: 26px;
    background: #19364D;
    color: #FFFFFF;
}

.snow_iol_card_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: #9BD1F5;
    font-family: 'Marcellus', serif;
    letter-spacing: 0;
}

.snow_iol_card_top > span {
    font-size: 38px;
    line-height: 1;
}

.snow_iol_card_top > p {
    font-size: 17px;
}

.snow_iol_card h3 {
    margin-top: 32px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
}

.snow_iol_card_lead {
    margin-top: 18px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
}

.snow_iol_focus {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    min-height: 86px;
    margin: 26px 0;
    padding: 18px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.snow_iol_focus span {
    padding: 5px 11px;
    border-radius: 30px;
    background: #2A4C66;
    color: #C5E7FF;
    font-size: 15px;
}

.snow_iol_focus i {
    color: #8AB1CB;
    font-style: normal;
}

.snow_iol_card dl {
    margin: 0;
}

.snow_iol_card dt {
    margin-top: 24px;
    font-size: 18px;
    font-weight: 700;
}

.snow_iol_card dt:first-child {
    margin-top: 0;
}

.snow_iol_card dd {
    margin: 10px 0 0;
    color: #C2D5E3;
    font-size: 17px;
    line-height: 1.75;
}

.snow_iol_types > .snow_iol_note {
    margin-top: 36px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

.snow_iol_choice {
    display: flex;
    align-items: flex-start;
    gap: 8%;
    margin-bottom: 0;
    padding: 70px;
    border-radius: 22px 90px 22px 22px;
    background: #EDF6FC;
}

.snow_iol_choice_title {
    flex: 0 0 38%;
    min-width: 0;
}

.snow_iol_choice_title h2 {
    margin-top: 20px;
}

.snow_iol_choice_title h2 + p {
    margin-top: 26px;
    color: #657C8D;
}

.snow_iol_choice_list {
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.snow_iol_choice_list li {
    display: flex;
    gap: 24px;
    padding: 28px 0;
    border-bottom: 1px solid #D2E3EF;
}

.snow_iol_choice_list li:first-child {
    padding-top: 0;
}

.snow_iol_choice_list li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.snow_iol_choice_list li > span {
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 28px;
    line-height: 1.4;
    letter-spacing: 0;
}

.snow_iol_choice_list h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_iol_choice_list h3 + p {
    margin-top: 12px;
    color: #657C8D;
}

@media (max-width: 1100px) {
    .snow_iol_cards {
        gap: 16px;
    }
    .snow_iol_card {
        padding: 30px 22px;
    }
    .snow_iol_card_top {
        align-items: flex-start;
        flex-direction: column;
    }
    .snow_iol_card h3 {
        font-size: 24px;
    }
    .snow_iol_choice {
        gap: 5%;
        padding: 45px;
    }
}

@media (max-width: 768px) {
    .snow_iol {
        font-size: 16px;
    }
    .snow_iol h2 {
        font-size: 29px;
    }
    .snow_iol .snow_sub_intro h2 {
        font-size: 34px;
    }
    .snow_iol_intro {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 0 0 70px;
    }
    .snow_iol_photo {
        flex-basis: auto;
        border-radius: 60px 12px 45px 12px;
    }
    .snow_iol_lead {
        font-size: 21px;
    }
    .snow_iol_heading {
        margin-bottom: 30px;
    }
    .snow_iol_types {
        padding-bottom: 70px;
    }
    .snow_iol_cards {
        flex-direction: column;
    }
    .snow_iol_card {
        flex: auto;
        padding: 30px 24px;
        border-radius: 20px;
    }
    .snow_iol_card_top {
        flex-direction: row;
        align-items: center;
    }
    .snow_iol_card_lead {
        font-size: 19px;
    }
    .snow_iol_focus {
        min-height: 0;
    }
    .snow_iol_card dd {
        font-size: 16px;
    }
    .snow_iol_choice {
        flex-direction: column;
        gap: 36px;
        padding: 36px 24px;
        border-radius: 18px 55px 18px 18px;
    }
    .snow_iol_choice_title {
        flex-basis: auto;
    }
    .snow_iol_choice_list {
        width: 100%;
    }
    .snow_iol_choice_list li {
        gap: 18px;
    }
    .snow_iol_choice_list h3 {
        font-size: 21px;
    }
}




/* 0301 사시 — 공통 style.css 하단에 한 번 추가 */
.snow_strabismus {
    color: #233F52;
    font-size: 18px;
    line-height: 1.75;
    letter-spacing: -0.02em;
}

.snow_strabismus h2 {
    font-size: clamp(28px, 2.65vw, 42px);
    font-weight: 700;
    line-height: 1.3;
}

.snow_strabismus .snow_sub_intro h2 {
    font-size: clamp(36px, 3.5vw, 50px);
}

.snow_strabismus_intro {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 10px 0 110px;
}

.snow_strabismus_intro_copy {
    flex: 1;
    min-width: 0;
}

.snow_strabismus_intro_copy h2 {
    margin-top: 18px;
}

.snow_strabismus_lead {
    margin-top: 28px;
    color: #3787BD;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
}

.snow_strabismus_intro_copy > p:not(.snow_sub_eyebrow):not(.snow_strabismus_lead) {
    margin-top: 22px;
    color: #657C8D;
}

.snow_strabismus_signature {
    display: block;
    margin-top: 32px;
    color: #72B4E5;
    font-family: 'Marcellus', serif;
    font-size: clamp(30px, 3vw, 48px);
    line-height: 1.1;
    letter-spacing: 0;
}

.snow_strabismus_photo {
    flex: 0 0 48%;
    min-width: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 18px 90px 18px 70px;
    background: #F0F8FD;
}

.snow_strabismus_photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.snow_strabismus_observe {
    display: flex;
    align-items: flex-start;
    gap: 8%;
    padding-bottom: 110px;
}

.snow_strabismus_side {
    flex: 0 0 34%;
    min-width: 0;
}

.snow_strabismus_side h2 {
    margin-top: 18px;
}

.snow_strabismus_side h2 + p {
    margin-top: 25px;
    color: #657C8D;
}

.snow_strabismus_observe_list {
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 2px solid #7898AE;
}

.snow_strabismus_observe_list li {
    display: flex;
    gap: 28px;
    padding: 30px 0;
    border-bottom: 1px solid #DCE8F0;
}

.snow_strabismus_observe_list li > span {
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 28px;
    line-height: 1.4;
    letter-spacing: 0;
}

.snow_strabismus_observe_list h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_strabismus_observe_list h3 + p {
    margin-top: 12px;
    color: #657C8D;
}

.snow_strabismus_attention {
    display: flex;
    align-items: center;
    gap: 6%;
    padding: 80px 65px;
    border-radius: 24px;
    background: #19364D;
    color: #FFFFFF;
}

.snow_strabismus_attention_title {
    flex: 0 0 35%;
    min-width: 0;
    text-align: left;
}

.snow_strabismus_attention .snow_sub_eyebrow {
    color: #9BD1F5;
}

.snow_strabismus_attention_title h2 {
    margin-top: 24px;
}

.snow_strabismus_attention_title::after {
    content: "Growing Together";
    display: block;
    margin-top: 48px;
    color: #7197B0;
    font-family: 'Marcellus', serif;
    font-size: clamp(24px, 2.2vw, 36px);
    line-height: 1.3;
    letter-spacing: 0;
}

.snow_strabismus_attention_cards {
    display: flex;
    flex: 1;
    gap: 22px;
    min-width: 0;
    counter-reset: snow-attention;
}

.snow_strabismus_attention_cards article {
    position: relative;
    flex: 1;
    min-width: 0;
    padding: 36px 28px;
    border: 1px solid #406078;
    border-radius: 20px;
    background: #23465F;
    counter-increment: snow-attention;
}

.snow_strabismus_attention_cards article:nth-child(2) {
    margin-top: 48px;
    margin-bottom: -24px;
    background: #DDEEF9;
    border-color: #DDEEF9;
    color: #233F52;
}

.snow_strabismus_attention_cards article::before {
    content: "0" counter(snow-attention);
    display: block;
    margin-bottom: 28px;
    color: #9BD1F5;
    font-family: 'Marcellus', serif;
    font-size: 64px;
    line-height: 1;
    letter-spacing: 0;
}

.snow_strabismus_attention_cards article > span {
    display: block;
    color: #9BD1F5;
    font-family: 'Marcellus', serif;
    font-size: 18px;
    letter-spacing: 0;
}

.snow_strabismus_attention_cards h3 {
    margin-top: 16px;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.5;
    word-break: keep-all;
}

.snow_strabismus_attention_cards h3 + p {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    color: #C2D5E3;
    font-size: 17px;
}

.snow_strabismus_attention_cards article:nth-child(2)::before,
.snow_strabismus_attention_cards article:nth-child(2) > span {
    color: #3787BD;
}

.snow_strabismus_attention_cards article:nth-child(2) h3 + p {
    border-color: #BBD3E3;
    color: #57758A;
}

.snow_strabismus_care {
    padding-top: 110px;
}

.snow_strabismus_heading {
    margin-bottom: 45px;
    text-align: center;
}

.snow_strabismus_heading h2 {
    margin-top: 18px;
}

.snow_strabismus_heading h2 + p {
    margin-top: 25px;
    color: #657C8D;
}

.snow_strabismus_care_list {
    border-top: 1px solid #BBD3E3;
}

.snow_strabismus_care_list article {
    display: flex;
    align-items: center;
    gap: 30px;
    padding: 32px 0;
    border-bottom: 1px solid #DCE8F0;
}

.snow_strabismus_care_list article > span {
    flex: 0 0 55px;
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 36px;
    line-height: 1.3;
    letter-spacing: 0;
}

.snow_strabismus_care_list article > div {
    flex: 0 0 30%;
    min-width: 0;
}

.snow_strabismus_care_list article > div > p {
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 18px;
    letter-spacing: 0;
}

.snow_strabismus_care_list h3 {
    margin-top: 8px;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_strabismus_care_list article > p {
    flex: 1;
    min-width: 0;
    color: #657C8D;
}

.snow_strabismus_care > .snow_strabismus_note {
    margin-top: 30px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 1100px) {
    .snow_strabismus_attention {
        flex-direction: column;
        align-items: stretch;
        gap: 40px;
        padding: 55px 45px;
    }
    .snow_strabismus_attention_title::after {
        margin-top: 24px;
    }
    .snow_strabismus_attention_cards {
        gap: 30px;
    }
}

@media (max-width: 768px) {
    .snow_strabismus {
        font-size: 16px;
    }
    .snow_strabismus h2 {
        font-size: 29px;
    }
    .snow_strabismus .snow_sub_intro h2 {
        font-size: 34px;
    }
    .snow_strabismus_intro {
        flex-direction: column-reverse;
        align-items: stretch;
        gap: 32px;
        padding: 0 0 70px;
    }
    .snow_strabismus_photo {
        flex-basis: auto;
        border-radius: 12px 60px 12px 45px;
    }
    .snow_strabismus_lead {
        font-size: 21px;
    }
    .snow_strabismus_observe {
        flex-direction: column;
        gap: 30px;
        padding-bottom: 70px;
    }
    .snow_strabismus_side {
        flex-basis: auto;
    }
    .snow_strabismus_observe_list {
        width: 100%;
    }
    .snow_strabismus_observe_list li {
        gap: 20px;
        padding: 24px 0;
    }
    .snow_strabismus_observe_list h3 {
        font-size: 21px;
    }
    .snow_strabismus_attention {
        padding: 40px 24px;
        border-radius: 18px;
    }
    .snow_strabismus_attention_cards {
        flex-direction: column;
        gap: 20px;
    }
    .snow_strabismus_attention_cards article {
        flex: auto;
        padding: 30px 24px;
    }
    .snow_strabismus_attention_cards article:nth-child(2) {
        margin: 0;
    }
    .snow_strabismus_attention_cards article::before {
        font-size: 52px;
        margin-bottom: 22px;
    }
    .snow_strabismus_attention_cards h3 {
        font-size: 24px;
    }
    .snow_strabismus_attention_cards h3 + p {
        font-size: 16px;
    }
    .snow_strabismus_care {
        padding-top: 70px;
    }
    .snow_strabismus_care_list article {
        flex-wrap: wrap;
        gap: 16px;
        padding: 26px 0;
    }
    .snow_strabismus_care_list article > span {
        flex-basis: 40px;
        font-size: 30px;
    }
    .snow_strabismus_care_list article > div {
        flex: 1;
    }
    .snow_strabismus_care_list article > p {
        flex: 0 0 100%;
    }
    .snow_strabismus_care_list h3 {
        font-size: 22px;
    }
}



/* 0302 근시 — 공통 style.css 하단에 한 번 추가 */
.snow_myopia {
    color: #233F52;
    font-size: 18px;
    line-height: 1.75;
    letter-spacing: -0.02em;
}

.snow_myopia h2 {
    font-size: clamp(28px, 2.65vw, 42px);
    font-weight: 700;
    line-height: 1.3;
}

.snow_myopia .snow_sub_intro h2 {
    font-size: clamp(36px, 3.5vw, 50px);
}

.snow_myopia_intro {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 10px 0 110px;
}

.snow_myopia_intro_copy {
    flex: 1;
    min-width: 0;
}

.snow_myopia_intro_copy h2 {
    margin-top: 18px;
}

.snow_myopia_lead {
    margin-top: 28px;
    color: #3787BD;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
}

.snow_myopia_intro_copy > p:not(.snow_sub_eyebrow):not(.snow_myopia_lead) {
    margin-top: 22px;
    color: #657C8D;
}

.snow_myopia_signature {
    display: block;
    margin-top: 32px;
    color: #72B4E5;
    font-family: 'Marcellus', serif;
    font-size: clamp(30px, 3vw, 48px);
    line-height: 1.1;
    letter-spacing: 0;
}

.snow_myopia_photo {
    flex: 0 0 48%;
    min-width: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 18px 90px 18px 70px;
    background: #F0F8FD;
}

.snow_myopia_photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.snow_myopia_observe {
    display: flex;
    align-items: flex-start;
    gap: 8%;
    padding-bottom: 110px;
}

.snow_myopia_side {
    flex: 0 0 34%;
    min-width: 0;
}

.snow_myopia_side h2 {
    margin-top: 18px;
}

.snow_myopia_side h2 + p {
    margin-top: 25px;
    color: #657C8D;
}

.snow_myopia_observe_list {
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 2px solid #7898AE;
}

.snow_myopia_observe_list li {
    display: flex;
    gap: 28px;
    padding: 30px 0;
    border-bottom: 1px solid #DCE8F0;
}

.snow_myopia_observe_list li > span {
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 28px;
    line-height: 1.4;
    letter-spacing: 0;
}

.snow_myopia_observe_list h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_myopia_observe_list h3 + p {
    margin-top: 12px;
    color: #657C8D;
}

.snow_myopia_attention {
    display: flex;
    align-items: center;
    gap: 6%;
    padding: 80px 65px;
    border-radius: 24px;
    background: #19364D;
    color: #FFFFFF;
}

.snow_myopia_attention_title {
    flex: 0 0 35%;
    min-width: 0;
    text-align: left;
}

.snow_myopia_attention .snow_sub_eyebrow {
    color: #9BD1F5;
}

.snow_myopia_attention_title h2 {
    margin-top: 24px;
}

.snow_myopia_attention_title::after {
    content: "Understanding Vision";
    display: block;
    margin-top: 48px;
    color: #7197B0;
    font-family: 'Marcellus', serif;
    font-size: clamp(24px, 2.2vw, 36px);
    line-height: 1.3;
    letter-spacing: 0;
}

.snow_myopia_attention_cards {
    display: flex;
    flex: 1;
    gap: 22px;
    min-width: 0;
    counter-reset: snow-attention;
}

.snow_myopia_attention_cards article {
    position: relative;
    flex: 1;
    min-width: 0;
    padding: 36px 28px;
    border: 1px solid #406078;
    border-radius: 20px;
    background: #23465F;
    counter-increment: snow-attention;
}

.snow_myopia_attention_cards article:nth-child(2) {
    margin-top: 48px;
    margin-bottom: -24px;
    background: #DDEEF9;
    border-color: #DDEEF9;
    color: #233F52;
}

.snow_myopia_attention_cards article::before {
    content: "0" counter(snow-attention);
    display: block;
    margin-bottom: 28px;
    color: #9BD1F5;
    font-family: 'Marcellus', serif;
    font-size: 64px;
    line-height: 1;
    letter-spacing: 0;
}

.snow_myopia_attention_cards article > span {
    display: block;
    color: #9BD1F5;
    font-family: 'Marcellus', serif;
    font-size: 18px;
    letter-spacing: 0;
}

.snow_myopia_attention_cards h3 {
    margin-top: 16px;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.5;
    word-break: keep-all;
}

.snow_myopia_attention_cards h3 + p {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    color: #C2D5E3;
    font-size: 17px;
}

.snow_myopia_attention_cards article:nth-child(2)::before,
.snow_myopia_attention_cards article:nth-child(2) > span {
    color: #3787BD;
}

.snow_myopia_attention_cards article:nth-child(2) h3 + p {
    border-color: #BBD3E3;
    color: #57758A;
}

.snow_myopia_care {
    padding-top: 110px;
}

.snow_myopia_heading {
    margin-bottom: 45px;
    text-align: center;
}

.snow_myopia_heading h2 {
    margin-top: 18px;
}

.snow_myopia_heading h2 + p {
    margin-top: 25px;
    color: #657C8D;
}

.snow_myopia_care_list {
    border-top: 1px solid #BBD3E3;
}

.snow_myopia_care_list article {
    display: flex;
    align-items: center;
    gap: 30px;
    padding: 32px 0;
    border-bottom: 1px solid #DCE8F0;
}

.snow_myopia_care_list article > span {
    flex: 0 0 55px;
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 36px;
    line-height: 1.3;
    letter-spacing: 0;
}

.snow_myopia_care_list article > div {
    flex: 0 0 30%;
    min-width: 0;
}

.snow_myopia_care_list article > div > p {
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 18px;
    letter-spacing: 0;
}

.snow_myopia_care_list h3 {
    margin-top: 8px;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_myopia_care_list article > p {
    flex: 1;
    min-width: 0;
    color: #657C8D;
}

.snow_myopia_care > .snow_myopia_note {
    margin-top: 30px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 1100px) {
    .snow_myopia_attention {
        flex-direction: column;
        align-items: stretch;
        gap: 40px;
        padding: 55px 45px;
    }
    .snow_myopia_attention_title::after {
        margin-top: 24px;
    }
    .snow_myopia_attention_cards {
        gap: 30px;
    }
}

@media (max-width: 768px) {
    .snow_myopia {
        font-size: 16px;
    }
    .snow_myopia h2 {
        font-size: 29px;
    }
    .snow_myopia .snow_sub_intro h2 {
        font-size: 34px;
    }
    .snow_myopia_intro {
        flex-direction: column-reverse;
        align-items: stretch;
        gap: 32px;
        padding: 0 0 70px;
    }
    .snow_myopia_photo {
        flex-basis: auto;
        border-radius: 12px 60px 12px 45px;
    }
    .snow_myopia_lead {
        font-size: 21px;
    }
    .snow_myopia_observe {
        flex-direction: column;
        gap: 30px;
        padding-bottom: 70px;
    }
    .snow_myopia_side {
        flex-basis: auto;
    }
    .snow_myopia_observe_list {
        width: 100%;
    }
    .snow_myopia_observe_list li {
        gap: 20px;
        padding: 24px 0;
    }
    .snow_myopia_observe_list h3 {
        font-size: 21px;
    }
    .snow_myopia_attention {
        padding: 40px 24px;
        border-radius: 18px;
    }
    .snow_myopia_attention_cards {
        flex-direction: column;
        gap: 20px;
    }
    .snow_myopia_attention_cards article {
        flex: auto;
        padding: 30px 24px;
    }
    .snow_myopia_attention_cards article:nth-child(2) {
        margin: 0;
    }
    .snow_myopia_attention_cards article::before {
        font-size: 52px;
        margin-bottom: 22px;
    }
    .snow_myopia_attention_cards h3 {
        font-size: 24px;
    }
    .snow_myopia_attention_cards h3 + p {
        font-size: 16px;
    }
    .snow_myopia_care {
        padding-top: 70px;
    }
    .snow_myopia_care_list article {
        flex-wrap: wrap;
        gap: 16px;
        padding: 26px 0;
    }
    .snow_myopia_care_list article > span {
        flex-basis: 40px;
        font-size: 30px;
    }
    .snow_myopia_care_list article > div {
        flex: 1;
    }
    .snow_myopia_care_list article > p {
        flex: 0 0 100%;
    }
    .snow_myopia_care_list h3 {
        font-size: 22px;
    }
}



/* 0303 근시억제치료 — 공통 style.css 하단에 한 번 추가 */
.snow_control {
    color: #233F52;
    font-size: 18px;
    line-height: 1.75;
    letter-spacing: -0.02em;
}

.snow_control h2 {
    font-size: clamp(28px,2.65vw,42px);
    font-weight: 700;
    line-height: 1.3;
}

.snow_control .snow_sub_intro h2 {
    font-size: clamp(36px,3.5vw,50px);
}

.snow_control_intro {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 10px 0 110px;
}

.snow_control_photo {
    flex: 0 0 48%;
    min-width: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 24px;
    background: #F0F8FD;
}

.snow_control_photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.snow_control_intro_copy {
    flex: 1;
    min-width: 0;
}

.snow_control_intro_copy h2 {
    margin-top: 18px;
}

.snow_control_lead {
    margin-top: 28px;
    color: #3787BD;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
}

.snow_control_intro_copy > p:not(.snow_sub_eyebrow):not(.snow_control_lead) {
    margin-top: 22px;
    color: #657C8D;
}

.snow_control_signature {
    display: block;
    margin-top: 32px;
    color: #72B4E5;
    font-family: "Marcellus",serif;
    font-size: clamp(30px,3vw,48px);
    line-height: 1.1;
    letter-spacing: 0;
}

.snow_control_methods {
    padding-bottom: 110px;
}

.snow_control_heading {
    margin-bottom: 45px;
    text-align: center;
}

.snow_control_heading h2 {
    margin-top: 18px;
}

.snow_control_heading h2 + p {
    margin-top: 24px;
    color: #657C8D;
}

.snow_control_cards {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.snow_control_cards article {
    display: flex;
    flex-direction: column;
    flex: 0 0 calc((100% - 24px) / 2);
    min-width: 0;
    box-sizing: border-box;
    padding: 40px;
    border: 1px solid #D5E6F2;
    border-radius: 24px;
    background: #F1F8FD;
}

.snow_control_card_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #3787BD;
    font-family: "Marcellus",serif;
    letter-spacing: 0;
}

.snow_control_card_top > span {
    font-size: 42px;
    line-height: 1;
}

.snow_control_card_top > p {
    font-size: 19px;
}

.snow_control_tag {
    align-self: flex-start;
    margin-top: 30px;
    padding: 4px 12px;
    border-radius: 30px;
    background: #DFEFFB;
    color: #367AA8;
    font-size: 14px;
}

.snow_control_cards h3 {
    margin-top: 16px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    word-break: keep-all;
}

.snow_control_cards h3 + p {
    margin-top: 20px;
    margin-bottom: 30px;
    color: #657C8D;
}

.snow_control_card_bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: auto;
    padding-top: 22px;
    border-top: 1px solid #CFE2F0;
    font-size: 16px;
}

.snow_control_card_bottom > span {
    color: #7A91A2;
}

.snow_control_card_bottom strong {
    font-weight: 500;
    color: #367AA8;
}

.snow_control_methods > .snow_control_note {
    margin-top: 32px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

.snow_control_follow {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 65px;
    border-radius: 24px;
    background: #19364D;
    color: #FFFFFF;
}

.snow_control_follow_title {
    flex: 1;
    min-width: 0;
}

.snow_control_follow .snow_sub_eyebrow {
    color: #9BD1F5;
}

.snow_control_follow_title h2 {
    margin-top: 20px;
}

.snow_control_follow_title h2 + p {
    margin-top: 26px;
    color: #C2D5E3;
}

.snow_control_axial {
    flex: 0 0 43%;
    box-sizing: border-box;
    min-width: 0;
    padding: 36px;
    border: 1px solid #406078;
    border-radius: 20px;
    background: #23465F;
}

.snow_control_axial > span {
    color: #9BD1F5;
    font-family: "Marcellus",serif;
    font-size: 25px;
    letter-spacing: 0;
}

.snow_control_axial h3 {
    margin-top: 10px;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
}

.snow_control_axial h3 + p {
    margin-top: 12px;
    color: #C2D5E3;
}

.snow_control_axial_line {
    display: flex;
    align-items: center;
    margin: 28px 0;
}

.snow_control_axial_line i {
    width: 10px;
    height: 10px;
    border: 2px solid #9BD1F5;
    border-radius: 50%;
}

.snow_control_axial_line span {
    flex: 1;
    height: 1px;
    background: #9BD1F5;
}

.snow_control_axial > .snow_control_axial_desc {
    color: #C2D5E3;
    font-size: 17px;
}

@media (max-width: 768px) {
    .snow_control {
        font-size: 16px;
    }

    .snow_control h2 {
        font-size: 29px;
    }

    .snow_control .snow_sub_intro h2 {
        font-size: 34px;
    }

    .snow_control_intro {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 0 0 70px;
    }

    .snow_control_photo {
        flex-basis: auto;
        border-radius: 18px;
    }

    .snow_control_lead {
        font-size: 21px;
    }

    .snow_control_methods {
        padding-bottom: 70px;
    }

    .snow_control_heading {
        margin-bottom: 30px;
    }

    .snow_control_cards {
        gap: 18px;
    }

    .snow_control_cards article {
        flex-basis: 100%;
        padding: 30px 24px;
        border-radius: 18px;
    }

    .snow_control_card_top > p {
        font-size: 17px;
    }

    .snow_control_cards h3 {
        font-size: 24px;
    }

    .snow_control_follow {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 40px 24px;
        border-radius: 18px;
    }

    .snow_control_axial {
        flex-basis: auto;
        padding: 28px 24px;
    }

    .snow_control_axial > .snow_control_axial_desc {
        font-size: 16px;
    }
}



/* 0304 드림렌즈 — 공통 style.css 하단에 한 번 추가 */
.snow_dream {
    color: #233F52;
    font-size: 18px;
    line-height: 1.75;
    letter-spacing: -0.02em;
}

.snow_dream h2 {
    font-size: clamp(28px,2.65vw,42px);
    font-weight: 700;
    line-height: 1.3;
}

.snow_dream .snow_sub_intro h2 {
    font-size: clamp(36px,3.5vw,50px);
}

.snow_dream_intro {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 10px 0 110px;
}

.snow_dream_photo {
    flex: 0 0 48%;
    min-width: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 24px;
    background: #F0F8FD;
}

.snow_dream_photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.snow_dream_intro_copy {
    flex: 1;
    min-width: 0;
}

.snow_dream_intro_copy h2 {
    margin-top: 18px;
}

.snow_dream_lead {
    margin-top: 28px;
    color: #3787BD;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
}

.snow_dream_intro_copy > p:not(.snow_sub_eyebrow):not(.snow_dream_lead) {
    margin-top: 22px;
    color: #657C8D;
}

.snow_dream_signature {
    display: block;
    margin-top: 32px;
    color: #72B4E5;
    font-family: "Marcellus",serif;
    font-size: clamp(30px,3vw,48px);
    line-height: 1.1;
    letter-spacing: 0;
}

.snow_dream_methods {
    padding-bottom: 110px;
}

.snow_dream_heading {
    margin-bottom: 45px;
    text-align: center;
}

.snow_dream_heading h2 {
    margin-top: 18px;
}

.snow_dream_heading h2 + p {
    margin-top: 24px;
    color: #657C8D;
}

.snow_dream_cards {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.snow_dream_cards article {
    display: flex;
    flex-direction: column;
    flex: 0 0 calc((100% - 24px) / 2);
    min-width: 0;
    box-sizing: border-box;
    padding: 40px;
    border: 1px solid #D5E6F2;
    border-radius: 24px;
    background: #F1F8FD;
}

.snow_dream_card_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #3787BD;
    font-family: "Marcellus",serif;
    letter-spacing: 0;
}

.snow_dream_card_top > span {
    font-size: 42px;
    line-height: 1;
}

.snow_dream_card_top > p {
    font-size: 19px;
}

.snow_dream_tag {
    align-self: flex-start;
    margin-top: 30px;
    padding: 4px 12px;
    border-radius: 30px;
    background: #DFEFFB;
    color: #367AA8;
    font-size: 14px;
}

.snow_dream_cards h3 {
    margin-top: 16px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    word-break: keep-all;
}

.snow_dream_cards h3 + p {
    margin-top: 20px;
    margin-bottom: 30px;
    color: #657C8D;
}

.snow_dream_card_bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: auto;
    padding-top: 22px;
    border-top: 1px solid #CFE2F0;
    font-size: 16px;
}

.snow_dream_card_bottom > span {
    color: #7A91A2;
}

.snow_dream_card_bottom strong {
    font-weight: 500;
    color: #367AA8;
}

.snow_dream_methods > .snow_dream_note {
    margin-top: 32px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_dream {
        font-size: 16px;
    }

    .snow_dream h2 {
        font-size: 29px;
    }

    .snow_dream .snow_sub_intro h2 {
        font-size: 34px;
    }

    .snow_dream_intro {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 0 0 70px;
    }

    .snow_dream_photo {
        flex-basis: auto;
        border-radius: 18px;
    }

    .snow_dream_lead {
        font-size: 21px;
    }

    .snow_dream_methods {
        padding-bottom: 70px;
    }

    .snow_dream_heading {
        margin-bottom: 30px;
    }

    .snow_dream_cards {
        gap: 18px;
    }

    .snow_dream_cards article {
        flex-basis: 100%;
        padding: 30px 24px;
        border-radius: 18px;
    }

    .snow_dream_card_top > p {
        font-size: 17px;
    }

    .snow_dream_cards h3 {
        font-size: 24px;
    }



}

.snow_dream_fit {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 65px;
    border-radius: 24px;
    background: #19364D;
    color: #FFFFFF;
}

.snow_dream_fit_title {
    flex: 1;
    min-width: 0;
}

.snow_dream_fit .snow_sub_eyebrow {
    color: #9BD1F5;
}

.snow_dream_fit h2 {
    margin-top: 20px;
}

.snow_dream_fit_title h2 + p {
    margin-top: 26px;
    color: #C2D5E3;
}

.snow_dream_fit_copy {
    flex: 0 0 43%;
    min-width: 0;
    padding-left: 40px;
    border-left: 1px solid #406078;
}

.snow_dream_fit_copy > span {
    color: #9BD1F5;
    font-family: 'Marcellus', serif;
    font-size: 22px;
    letter-spacing: 0;
}

.snow_dream_fit_copy h3 {
    margin-top: 18px;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
}

.snow_dream_fit_copy > p {
    margin-top: 24px;
    color: #C2D5E3;
}

.snow_dream_manage {
    padding-top: 110px;
}

.snow_dream_manage_list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #BBD3E3;
}

.snow_dream_manage_list li {
    display: flex;
    gap: 32px;
    padding: 30px 0;
    border-bottom: 1px solid #DCE8F0;
}

.snow_dream_manage_list li > span {
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 32px;
    line-height: 1.4;
    letter-spacing: 0;
}

.snow_dream_manage_list h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_dream_manage_list h3 + p {
    margin-top: 12px;
    color: #657C8D;
}

.snow_dream_manage > .snow_dream_note {
    margin-top: 30px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_dream_fit {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 40px 24px;
        border-radius: 18px;
    }
    .snow_dream_fit_copy {
        flex-basis: auto;
        padding: 28px 0 0;
        border-left: 0;
        border-top: 1px solid #406078;
    }
    .snow_dream_fit_copy h3 {
        font-size: 25px;
    }
    .snow_dream_manage {
        padding-top: 70px;
    }
    .snow_dream_manage_list li {
        gap: 20px;
        padding: 24px 0;
    }
    .snow_dream_manage_list h3 {
        font-size: 21px;
    }
}



/* 0401 황반변성 — 공통 style.css 하단에 한 번 추가 */
.snow_macula {
    color: #233F52;
    font-size: 18px;
    line-height: 1.75;
    letter-spacing: -0.02em;
}

.snow_macula h2 {
    font-size: clamp(28px,2.65vw,42px);
    font-weight: 700;
    line-height: 1.3;
}

.snow_macula .snow_sub_intro h2 {
    font-size: clamp(36px,3.5vw,50px);
}

.snow_macula_intro {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 10px 0 110px;
}

.snow_macula_photo {
    flex: 0 0 48%;
    min-width: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 24px;
    background: #F0F8FD;
}

.snow_macula_photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.snow_macula_intro_copy {
    flex: 1;
    min-width: 0;
}

.snow_macula_intro_copy h2 {
    margin-top: 18px;
}

.snow_macula_lead {
    margin-top: 28px;
    color: #3787BD;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
}

.snow_macula_intro_copy > p:not(.snow_sub_eyebrow):not(.snow_macula_lead) {
    margin-top: 22px;
    color: #657C8D;
}

.snow_macula_signature {
    display: block;
    margin-top: 32px;
    color: #72B4E5;
    font-family: "Marcellus",serif;
    font-size: clamp(30px,3vw,48px);
    line-height: 1.1;
    letter-spacing: 0;
}

.snow_macula_methods {
    padding-bottom: 110px;
}

.snow_macula_heading {
    margin-bottom: 45px;
    text-align: center;
}

.snow_macula_heading h2 {
    margin-top: 18px;
}

.snow_macula_heading h2 + p {
    margin-top: 24px;
    color: #657C8D;
}

.snow_macula_cards {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.snow_macula_cards article {
    display: flex;
    flex-direction: column;
    flex: 0 0 calc((100% - 24px) / 2);
    min-width: 0;
    box-sizing: border-box;
    padding: 40px;
    border: 1px solid #D5E6F2;
    border-radius: 24px;
    background: #F1F8FD;
}

.snow_macula_card_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #3787BD;
    font-family: "Marcellus",serif;
    letter-spacing: 0;
}

.snow_macula_card_top > span {
    font-size: 42px;
    line-height: 1;
}

.snow_macula_card_top > p {
    font-size: 19px;
}

.snow_macula_tag {
    align-self: flex-start;
    margin-top: 30px;
    padding: 4px 12px;
    border-radius: 30px;
    background: #DFEFFB;
    color: #367AA8;
    font-size: 14px;
}

.snow_macula_cards h3 {
    margin-top: 16px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    word-break: keep-all;
}

.snow_macula_cards h3 + p {
    margin-top: 20px;
    margin-bottom: 30px;
    color: #657C8D;
}

.snow_macula_card_bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: auto;
    padding-top: 22px;
    border-top: 1px solid #CFE2F0;
    font-size: 16px;
}

.snow_macula_card_bottom > span {
    color: #7A91A2;
}

.snow_macula_card_bottom strong {
    font-weight: 500;
    color: #367AA8;
}

.snow_macula_methods > .snow_macula_note {
    margin-top: 32px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_macula {
        font-size: 16px;
    }

    .snow_macula h2 {
        font-size: 29px;
    }

    .snow_macula .snow_sub_intro h2 {
        font-size: 34px;
    }

    .snow_macula_intro {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 0 0 70px;
    }

    .snow_macula_photo {
        flex-basis: auto;
        border-radius: 18px;
    }

    .snow_macula_lead {
        font-size: 21px;
    }

    .snow_macula_methods {
        padding-bottom: 70px;
    }

    .snow_macula_heading {
        margin-bottom: 30px;
    }

    .snow_macula_cards {
        gap: 18px;
    }

    .snow_macula_cards article {
        flex-basis: 100%;
        padding: 30px 24px;
        border-radius: 18px;
    }

    .snow_macula_card_top > p {
        font-size: 17px;
    }

    .snow_macula_cards h3 {
        font-size: 24px;
    }



}

.snow_macula_fit {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 65px;
    border-radius: 24px;
    background: #19364D;
    color: #FFFFFF;
}

.snow_macula_fit_title {
    flex: 1;
    min-width: 0;
}

.snow_macula_fit .snow_sub_eyebrow {
    color: #9BD1F5;
}

.snow_macula_fit h2 {
    margin-top: 20px;
}

.snow_macula_fit_title h2 + p {
    margin-top: 26px;
    color: #C2D5E3;
}

.snow_macula_fit_copy {
    flex: 0 0 43%;
    min-width: 0;
    padding-left: 40px;
    border-left: 1px solid #406078;
}

.snow_macula_fit_copy > span {
    color: #9BD1F5;
    font-family: 'Marcellus', serif;
    font-size: 22px;
    letter-spacing: 0;
}

.snow_macula_fit_copy h3 {
    margin-top: 18px;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
}

.snow_macula_fit_copy > p {
    margin-top: 24px;
    color: #C2D5E3;
}

.snow_macula_manage {
    padding-top: 110px;
}

.snow_macula_manage_list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #BBD3E3;
}

.snow_macula_manage_list li {
    display: flex;
    gap: 32px;
    padding: 30px 0;
    border-bottom: 1px solid #DCE8F0;
}

.snow_macula_manage_list li > span {
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 32px;
    line-height: 1.4;
    letter-spacing: 0;
}

.snow_macula_manage_list h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_macula_manage_list h3 + p {
    margin-top: 12px;
    color: #657C8D;
}

.snow_macula_manage > .snow_macula_note {
    margin-top: 30px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_macula_fit {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 40px 24px;
        border-radius: 18px;
    }
    .snow_macula_fit_copy {
        flex-basis: auto;
        padding: 28px 0 0;
        border-left: 0;
        border-top: 1px solid #406078;
    }
    .snow_macula_fit_copy h3 {
        font-size: 25px;
    }
    .snow_macula_manage {
        padding-top: 70px;
    }
    .snow_macula_manage_list li {
        gap: 20px;
        padding: 24px 0;
    }
    .snow_macula_manage_list h3 {
        font-size: 21px;
    }
}

.snow_macula_notice {
    display: flex;
    align-items: center;
    gap: 10%;
    padding-bottom: 110px;
}

.snow_macula_notice_copy {
    flex: 1;
    min-width: 0;
}

.snow_macula_notice_copy h2 {
    margin-top: 18px;
}

.snow_macula_notice_copy h2 + p {
    margin-top: 26px;
    color: #657C8D;
}

.snow_macula_notice_copy ul {
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #CFE2F0;
}

.snow_macula_notice_copy li {
    display: flex;
    align-items: flex-start;
    gap: 28px;
    padding: 30px 0;
    border-bottom: 1px solid #DCE8F0;
}

.snow_macula_notice_copy li > span {
    flex-shrink: 0;
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 28px;
    line-height: 1.4;
    letter-spacing: 0;
}

.snow_macula_notice_copy li > h3 {
    min-width: 0;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_macula_grid_wrap {
    flex: 0 0 38%;
    min-width: 0;
    box-sizing: border-box;
    padding: 32px;
    border-radius: 24px;
    background: #F1F8FD;
    text-align: center;
}

.snow_macula_grid_image {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
    background: #FFFFFF;
}

.snow_macula_grid_wrap figcaption {
    margin-top: 20px;
    font-size: 22px;
    font-weight: 700;
}

.snow_macula_grid_wrap > p {
    margin-top: 14px;
    color: #8295A3;
    font-size: 14px;
    line-height: 1.7;
}

@media (max-width: 768px) {
    .snow_macula_notice {
        flex-direction: column;
        align-items: stretch;
        gap: 30px;
        padding-bottom: 70px;
    }
    .snow_macula_notice_copy li {
        gap: 20px;
        padding: 24px 0;
    }
    .snow_macula_notice_copy li > h3 {
        font-size: 21px;
    }
    .snow_macula_grid_wrap {
        flex-basis: auto;
        padding: 28px 24px;
        border-radius: 18px;
    }
}

/* 시야 전체 변화: sub_0401_02.jpg 한 장 사용 */
.snow_macula_compare {
    --snow-macula-severity: 0;
    --snow-macula-blur: 0px;
    --snow-macula-progress: 0%;
    position: relative;
    height: 470px;
    overflow: hidden;
    isolation: isolate;
    border-radius: 28px;
    background: var(--snow-bg);
}

.snow_macula_filter {
    position: absolute;
    pointer-events: none;
}

.snow_macula_scene {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: url(#snow_macula_distortion) blur(var(--snow-macula-blur));
}

.snow_macula_scotoma {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 24% 61% at 50% 47%, #080808 0%, rgba(8,8,8,.98) 30%, rgba(12,12,12,.85) 48%, rgba(20,20,20,.35) 70%, transparent 100%);
    opacity: var(--snow-macula-severity);
    pointer-events: none;
}

.snow_macula_controls {
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: 28px;
    display: flex;
    align-items: center;
    gap: 20px;
    width: min(580px, calc(100% - 40px));
    padding: 18px 28px;
    border-radius: 50px;
    background: rgba(255,255,255,.94);
    transform: translateX(-50%);
}

.snow_macula_controls > span {
    flex: 0 0 auto;
    color: var(--snow-text);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.5;
}

.snow_macula_range {
    flex: 1;
    min-width: 0;
    height: 24px;
    margin: 0;
    padding: 0;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    cursor: pointer;
}

.snow_macula_range::-webkit-slider-runnable-track {
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(to right, var(--snow-primary-dark) var(--snow-macula-progress), #CADDEC var(--snow-macula-progress));
}

.snow_macula_range::-webkit-slider-thumb {
    width: 20px;
    height: 20px;
    margin-top: -8.5px;
    border: 0;
    border-radius: 50%;
    appearance: none;
    -webkit-appearance: none;
    background: var(--snow-primary-dark);
}

.snow_macula_range::-moz-range-track {
    height: 3px;
    border-radius: 3px;
    background: #CADDEC;
}

.snow_macula_range::-moz-range-progress {
    height: 3px;
    background: var(--snow-primary-dark);
}

.snow_macula_range::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border: 0;
    border-radius: 50%;
    background: var(--snow-primary-dark);
}

.snow_macula_range:focus-visible {
    outline: 2px solid var(--snow-primary-dark);
    outline-offset: 5px;
}

.snow_macula_vision {
    padding-bottom: 110px;
}

.snow_macula_vision > .snow_macula_vision_note {
    margin-top: 24px;
    color: #8295A3;
    font-size: 14px;
    line-height: 1.7;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_macula_vision {
        padding-bottom: 70px;
    }

    .snow_macula_compare {
        height: 320px;
        border-radius: 18px;
    }

    .snow_macula_controls {
        bottom: 18px;
        gap: 12px;
        width: calc(100% - 28px);
        padding: 13px 16px;
    }

    .snow_macula_controls > span {
        font-size: 13px;
    }
}



/* 0402 당뇨망막병증 — 공통 style.css 하단에 한 번 추가 */
.snow_diabetic {
    color: #233F52;
    font-size: 18px;
    line-height: 1.75;
    letter-spacing: -0.02em;
}

.snow_diabetic h2 {
    font-size: clamp(28px,2.65vw,42px);
    font-weight: 700;
    line-height: 1.3;
}

.snow_diabetic .snow_sub_intro h2 {
    font-size: clamp(36px,3.5vw,50px);
}

.snow_diabetic_intro {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 10px 0 110px;
}

.snow_diabetic_photo {
    flex: 0 0 48%;
    min-width: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 24px;
    background: #F0F8FD;
}

.snow_diabetic_photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.snow_diabetic_intro_copy {
    flex: 1;
    min-width: 0;
}

.snow_diabetic_intro_copy h2 {
    margin-top: 18px;
}

.snow_diabetic_lead {
    margin-top: 28px;
    color: #3787BD;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
}

.snow_diabetic_intro_copy > p:not(.snow_sub_eyebrow):not(.snow_diabetic_lead) {
    margin-top: 22px;
    color: #657C8D;
}

.snow_diabetic_signature {
    display: block;
    margin-top: 32px;
    color: #72B4E5;
    font-family: "Marcellus",serif;
    font-size: clamp(30px,3vw,48px);
    line-height: 1.1;
    letter-spacing: 0;
}

.snow_diabetic_methods {
    padding-bottom: 110px;
}

.snow_diabetic_heading {
    margin-bottom: 45px;
    text-align: center;
}

.snow_diabetic_heading h2 {
    margin-top: 18px;
}

.snow_diabetic_heading h2 + p {
    margin-top: 24px;
    color: #657C8D;
}

.snow_diabetic_cards {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.snow_diabetic_cards article {
    display: flex;
    flex-direction: column;
    flex: 0 0 calc((100% - 24px) / 2);
    min-width: 0;
    box-sizing: border-box;
    padding: 40px;
    border: 1px solid #D5E6F2;
    border-radius: 24px;
    background: #F1F8FD;
}

.snow_diabetic_card_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #3787BD;
    font-family: "Marcellus",serif;
    letter-spacing: 0;
}

.snow_diabetic_card_top > span {
    font-size: 42px;
    line-height: 1;
}

.snow_diabetic_card_top > p {
    font-size: 19px;
}

.snow_diabetic_tag {
    align-self: flex-start;
    margin-top: 30px;
    padding: 4px 12px;
    border-radius: 30px;
    background: #DFEFFB;
    color: #367AA8;
    font-size: 14px;
}

.snow_diabetic_cards h3 {
    margin-top: 16px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    word-break: keep-all;
}

.snow_diabetic_cards h3 + p {
    margin-top: 20px;
    margin-bottom: 30px;
    color: #657C8D;
}

.snow_diabetic_card_bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: auto;
    padding-top: 22px;
    border-top: 1px solid #CFE2F0;
    font-size: 16px;
}

.snow_diabetic_card_bottom > span {
    color: #7A91A2;
}

.snow_diabetic_card_bottom strong {
    font-weight: 500;
    color: #367AA8;
}

.snow_diabetic_methods > .snow_diabetic_note {
    margin-top: 32px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_diabetic {
        font-size: 16px;
    }

    .snow_diabetic h2 {
        font-size: 29px;
    }

    .snow_diabetic .snow_sub_intro h2 {
        font-size: 34px;
    }

    .snow_diabetic_intro {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 0 0 70px;
    }

    .snow_diabetic_photo {
        flex-basis: auto;
        border-radius: 18px;
    }

    .snow_diabetic_lead {
        font-size: 21px;
    }

    .snow_diabetic_methods {
        padding-bottom: 70px;
    }

    .snow_diabetic_heading {
        margin-bottom: 30px;
    }

    .snow_diabetic_cards {
        gap: 18px;
    }

    .snow_diabetic_cards article {
        flex-basis: 100%;
        padding: 30px 24px;
        border-radius: 18px;
    }

    .snow_diabetic_card_top > p {
        font-size: 17px;
    }

    .snow_diabetic_cards h3 {
        font-size: 24px;
    }



}

.snow_diabetic_fit {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 65px;
    border-radius: 24px;
    background: #19364D;
    color: #FFFFFF;
}

.snow_diabetic_fit_title {
    flex: 1;
    min-width: 0;
}

.snow_diabetic_fit .snow_sub_eyebrow {
    color: #9BD1F5;
}

.snow_diabetic_fit h2 {
    margin-top: 20px;
}

.snow_diabetic_fit_title h2 + p {
    margin-top: 26px;
    color: #C2D5E3;
}

.snow_diabetic_fit_copy {
    flex: 0 0 43%;
    min-width: 0;
    padding-left: 40px;
    border-left: 1px solid #406078;
}

.snow_diabetic_fit_copy > span {
    color: #9BD1F5;
    font-family: 'Marcellus', serif;
    font-size: 22px;
    letter-spacing: 0;
}

.snow_diabetic_fit_copy h3 {
    margin-top: 18px;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
}

.snow_diabetic_fit_copy > p {
    margin-top: 24px;
    color: #C2D5E3;
}

.snow_diabetic_manage {
    padding-top: 110px;
}

.snow_diabetic_manage_list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #BBD3E3;
}

.snow_diabetic_manage_list li {
    display: flex;
    gap: 32px;
    padding: 30px 0;
    border-bottom: 1px solid #DCE8F0;
}

.snow_diabetic_manage_list li > span {
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 32px;
    line-height: 1.4;
    letter-spacing: 0;
}

.snow_diabetic_manage_list h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_diabetic_manage_list h3 + p {
    margin-top: 12px;
    color: #657C8D;
}

.snow_diabetic_manage > .snow_diabetic_note {
    margin-top: 30px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_diabetic_fit {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 40px 24px;
        border-radius: 18px;
    }
    .snow_diabetic_fit_copy {
        flex-basis: auto;
        padding: 28px 0 0;
        border-left: 0;
        border-top: 1px solid #406078;
    }
    .snow_diabetic_fit_copy h3 {
        font-size: 25px;
    }
    .snow_diabetic_manage {
        padding-top: 70px;
    }
    .snow_diabetic_manage_list li {
        gap: 20px;
        padding: 24px 0;
    }
    .snow_diabetic_manage_list h3 {
        font-size: 21px;
    }
}

/* 정기검진 안내 */
.snow_diabetic_check {
    display: flex;
    align-items: center;
    gap: 8%;
    margin-bottom: 110px;
    padding: 55px 60px;
    border-radius: 24px;
    background: #F0F8FD;
}

.snow_diabetic_check > div:first-child {
    flex: 1;
    min-width: 0;
}

.snow_diabetic_check h2 {
    margin-top: 18px;
}

.snow_diabetic_check_copy {
    flex: 0 0 50%;
    min-width: 0;
    padding-left: 40px;
    border-left: 1px solid #CFE2F0;
}

.snow_diabetic_check_en {
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 21px;
    letter-spacing: 0;
}

.snow_diabetic_check_copy h3 {
    margin-top: 16px;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.4;
}

.snow_diabetic_check_copy > p {
    margin-top: 20px;
    color: #657C8D;
}

@media (max-width: 768px) {
    .snow_diabetic_check {
        flex-direction: column;
        align-items: stretch;
        gap: 28px;
        margin-bottom: 70px;
        padding: 36px 24px;
        border-radius: 18px;
    }

    .snow_diabetic_check_copy {
        flex-basis: auto;
        padding: 26px 0 0;
        border-top: 1px solid #CFE2F0;
        border-left: 0;
    }

    .snow_diabetic_check_copy h3 {
        font-size: 23px;
    }
}

/* 시야 전체 변화: sub_0402_02.jpg 한 장 사용 */
.snow_diabetic_compare {
    --snow-diabetic-severity: 0;
    --snow-diabetic-blur: 0px;
    --snow-diabetic-progress: 0%;
    position: relative;
    height: 470px;
    overflow: hidden;
    isolation: isolate;
    border-radius: 28px;
    background: var(--snow-bg);
}

.snow_diabetic_scene {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: blur(var(--snow-diabetic-blur));
}

.snow_diabetic_spots {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 9% 22% at 32% 38%, rgba(10,12,15,.88) 0%, rgba(10,12,15,.6) 30%, transparent 100%),
        radial-gradient(ellipse 7% 18% at 61% 29%, rgba(10,12,15,.8) 0%, rgba(10,12,15,.55) 32%, transparent 100%),
        radial-gradient(ellipse 11% 17% at 53% 62%, rgba(10,12,15,.85) 0%, rgba(10,12,15,.5) 35%, transparent 100%),
        radial-gradient(ellipse 5% 14% at 76% 57%, rgba(10,12,15,.75) 0%, transparent 100%),
        radial-gradient(ellipse 4% 11% at 20% 65%, rgba(10,12,15,.65) 0%, transparent 100%);
    opacity: var(--snow-diabetic-severity);
    pointer-events: none;
}

.snow_diabetic_controls {
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: 28px;
    display: flex;
    align-items: center;
    gap: 20px;
    width: min(640px, calc(100% - 40px));
    padding: 18px 28px;
    border-radius: 50px;
    background: rgba(255,255,255,.94);
    transform: translateX(-50%);
}

.snow_diabetic_controls > span {
    flex: 0 0 auto;
    color: var(--snow-text);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.5;
}

.snow_diabetic_range {
    flex: 1;
    min-width: 0;
    height: 24px;
    margin: 0;
    padding: 0;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    cursor: pointer;
}

.snow_diabetic_range::-webkit-slider-runnable-track {
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(to right, var(--snow-primary-dark) var(--snow-diabetic-progress), #CADDEC var(--snow-diabetic-progress));
}

.snow_diabetic_range::-webkit-slider-thumb {
    width: 20px;
    height: 20px;
    margin-top: -8.5px;
    border: 0;
    border-radius: 50%;
    appearance: none;
    -webkit-appearance: none;
    background: var(--snow-primary-dark);
}

.snow_diabetic_range::-moz-range-track {
    height: 3px;
    border-radius: 3px;
    background: #CADDEC;
}

.snow_diabetic_range::-moz-range-progress {
    height: 3px;
    background: var(--snow-primary-dark);
}

.snow_diabetic_range::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border: 0;
    border-radius: 50%;
    background: var(--snow-primary-dark);
}

.snow_diabetic_range:focus-visible {
    outline: 2px solid var(--snow-primary-dark);
    outline-offset: 5px;
}

.snow_diabetic_vision {
    padding-bottom: 110px;
}

.snow_diabetic_vision > .snow_diabetic_vision_note {
    margin-top: 24px;
    color: #8295A3;
    font-size: 14px;
    line-height: 1.7;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_diabetic_vision {
        padding-bottom: 70px;
    }

    .snow_diabetic_compare {
        height: 320px;
        border-radius: 18px;
    }

    .snow_diabetic_controls {
        bottom: 18px;
        gap: 12px;
        width: calc(100% - 28px);
        padding: 13px 16px;
    }

    .snow_diabetic_controls > span {
        font-size: 11px;
    }
}



/* 0403 망막혈관폐쇄 — 공통 style.css 하단에 한 번 추가 */
.snow_occlusion {
    color: #233F52;
    font-size: 18px;
    line-height: 1.75;
    letter-spacing: -0.02em;
}

.snow_occlusion h2 {
    font-size: clamp(28px,2.65vw,42px);
    font-weight: 700;
    line-height: 1.3;
}

.snow_occlusion .snow_sub_intro h2 {
    font-size: clamp(36px,3.5vw,50px);
}

.snow_occlusion_intro {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 10px 0 110px;
}

.snow_occlusion_photo {
    flex: 0 0 48%;
    min-width: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 24px;
    background: #F0F8FD;
}

.snow_occlusion_photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.snow_occlusion_intro_copy {
    flex: 1;
    min-width: 0;
}

.snow_occlusion_intro_copy h2 {
    margin-top: 18px;
}

.snow_occlusion_lead {
    margin-top: 28px;
    color: #3787BD;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
}

.snow_occlusion_intro_copy > p:not(.snow_sub_eyebrow):not(.snow_occlusion_lead) {
    margin-top: 22px;
    color: #657C8D;
}

.snow_occlusion_signature {
    display: block;
    margin-top: 32px;
    color: #72B4E5;
    font-family: "Marcellus",serif;
    font-size: clamp(30px,3vw,48px);
    line-height: 1.1;
    letter-spacing: 0;
}

.snow_occlusion_methods {
    padding-bottom: 110px;
}

.snow_occlusion_heading {
    margin-bottom: 45px;
    text-align: center;
}

.snow_occlusion_heading h2 {
    margin-top: 18px;
}

.snow_occlusion_heading h2 + p {
    margin-top: 24px;
    color: #657C8D;
}

.snow_occlusion_cards {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.snow_occlusion_cards article {
    display: flex;
    flex-direction: column;
    flex: 0 0 calc((100% - 24px) / 2);
    min-width: 0;
    box-sizing: border-box;
    padding: 40px;
    border: 1px solid #D5E6F2;
    border-radius: 24px;
    background: #F1F8FD;
}

.snow_occlusion_card_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #3787BD;
    font-family: "Marcellus",serif;
    letter-spacing: 0;
}

.snow_occlusion_card_top > span {
    font-size: 42px;
    line-height: 1;
}

.snow_occlusion_card_top > p {
    font-size: 19px;
}

.snow_occlusion_tag {
    align-self: flex-start;
    margin-top: 30px;
    padding: 4px 12px;
    border-radius: 30px;
    background: #DFEFFB;
    color: #367AA8;
    font-size: 14px;
}

.snow_occlusion_cards h3 {
    margin-top: 16px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    word-break: keep-all;
}

.snow_occlusion_cards h3 + p {
    margin-top: 20px;
    margin-bottom: 30px;
    color: #657C8D;
}

.snow_occlusion_card_bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: auto;
    padding-top: 22px;
    border-top: 1px solid #CFE2F0;
    font-size: 16px;
}

.snow_occlusion_card_bottom > span {
    color: #7A91A2;
}

.snow_occlusion_card_bottom strong {
    font-weight: 500;
    color: #367AA8;
}

.snow_occlusion_methods > .snow_occlusion_note {
    margin-top: 32px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_occlusion {
        font-size: 16px;
    }

    .snow_occlusion h2 {
        font-size: 29px;
    }

    .snow_occlusion .snow_sub_intro h2 {
        font-size: 34px;
    }

    .snow_occlusion_intro {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 0 0 70px;
    }

    .snow_occlusion_photo {
        flex-basis: auto;
        border-radius: 18px;
    }

    .snow_occlusion_lead {
        font-size: 21px;
    }

    .snow_occlusion_methods {
        padding-bottom: 70px;
    }

    .snow_occlusion_heading {
        margin-bottom: 30px;
    }

    .snow_occlusion_cards {
        gap: 18px;
    }

    .snow_occlusion_cards article {
        flex-basis: 100%;
        padding: 30px 24px;
        border-radius: 18px;
    }

    .snow_occlusion_card_top > p {
        font-size: 17px;
    }

    .snow_occlusion_cards h3 {
        font-size: 24px;
    }



}

.snow_occlusion_fit {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 65px;
    border-radius: 24px;
    background: #19364D;
    color: #FFFFFF;
}

.snow_occlusion_fit_title {
    flex: 1;
    min-width: 0;
}

.snow_occlusion_fit .snow_sub_eyebrow {
    color: #9BD1F5;
}

.snow_occlusion_fit h2 {
    margin-top: 20px;
}

.snow_occlusion_fit_title h2 + p {
    margin-top: 26px;
    color: #C2D5E3;
}

.snow_occlusion_fit_copy {
    flex: 0 0 43%;
    min-width: 0;
    padding-left: 40px;
    border-left: 1px solid #406078;
}

.snow_occlusion_fit_copy > span {
    color: #9BD1F5;
    font-family: 'Marcellus', serif;
    font-size: 22px;
    letter-spacing: 0;
}

.snow_occlusion_fit_copy h3 {
    margin-top: 18px;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
}

.snow_occlusion_fit_copy > p {
    margin-top: 24px;
    color: #C2D5E3;
}

.snow_occlusion_manage {
    padding-top: 110px;
}

.snow_occlusion_manage_list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #BBD3E3;
}

.snow_occlusion_manage_list li {
    display: flex;
    gap: 32px;
    padding: 30px 0;
    border-bottom: 1px solid #DCE8F0;
}

.snow_occlusion_manage_list li > span {
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 32px;
    line-height: 1.4;
    letter-spacing: 0;
}

.snow_occlusion_manage_list h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_occlusion_manage_list h3 + p {
    margin-top: 12px;
    color: #657C8D;
}

.snow_occlusion_manage > .snow_occlusion_note {
    margin-top: 30px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_occlusion_fit {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 40px 24px;
        border-radius: 18px;
    }
    .snow_occlusion_fit_copy {
        flex-basis: auto;
        padding: 28px 0 0;
        border-left: 0;
        border-top: 1px solid #406078;
    }
    .snow_occlusion_fit_copy h3 {
        font-size: 25px;
    }
    .snow_occlusion_manage {
        padding-top: 70px;
    }
    .snow_occlusion_manage_list li {
        gap: 20px;
        padding: 24px 0;
    }
    .snow_occlusion_manage_list h3 {
        font-size: 21px;
    }
}

/* 갑작스러운 증상 안내 */
.snow_occlusion_notice {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 40px 8%;
    padding-bottom: 110px;
}

.snow_occlusion_notice_title {
    flex: 1;
    min-width: 0;
}

.snow_occlusion_notice_title h2 {
    margin-top: 18px;
}

.snow_occlusion_notice_title h2 + p {
    margin-top: 26px;
    color: #657C8D;
}

.snow_occlusion_notice_list {
    flex: 0 0 58%;
    min-width: 0;
    margin: 0;
    padding: 0;
    border-top: 1px solid #8295A3;
    list-style: none;
}

.snow_occlusion_notice_list li {
    display: flex;
    gap: 28px;
    padding: 30px 0;
    border-bottom: 1px solid #D5E6F2;
}

.snow_occlusion_notice_list li > span {
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 30px;
    line-height: 1.4;
    letter-spacing: 0;
}

.snow_occlusion_notice_list h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_occlusion_notice_list h3 + p {
    margin-top: 14px;
    color: #657C8D;
}

.snow_occlusion_urgent {
    flex: 0 0 100%;
    box-sizing: border-box;
    padding: 32px 40px;
    border-left: 4px solid #3787BD;
    border-radius: 16px;
    background: #F0F8FD;
}

.snow_occlusion_urgent strong {
    color: #233F52;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_occlusion_urgent > p {
    margin-top: 12px;
    color: #657C8D;
}

@media (max-width: 768px) {
    .snow_occlusion_notice {
        flex-direction: column;
        align-items: stretch;
        gap: 30px;
        padding-bottom: 70px;
    }

    .snow_occlusion_notice_list {
        flex-basis: auto;
    }

    .snow_occlusion_notice_list li {
        gap: 20px;
        padding: 24px 0;
    }

    .snow_occlusion_notice_list h3 {
        font-size: 21px;
    }

    .snow_occlusion_urgent {
        flex-basis: auto;
        padding: 26px 24px;
    }

    .snow_occlusion_urgent strong {
        font-size: 20px;
    }

    .snow_occlusion_card_top {
        align-items: flex-start;
    }

    .snow_occlusion_card_top > p {
        max-width: 70%;
        text-align: right;
    }
}



/* 0404 비문증 — 공통 style.css 하단에 한 번 추가 */
.snow_floaters {
    color: #233F52;
    font-size: 18px;
    line-height: 1.75;
    letter-spacing: -0.02em;
}

.snow_floaters h2 {
    font-size: clamp(28px,2.65vw,42px);
    font-weight: 700;
    line-height: 1.3;
}

.snow_floaters .snow_sub_intro h2 {
    font-size: clamp(36px,3.5vw,50px);
}

.snow_floaters_intro {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 10px 0 110px;
}

.snow_floaters_photo {
    flex: 0 0 48%;
    min-width: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 24px;
    background: #F0F8FD;
}

.snow_floaters_photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.snow_floaters_intro_copy {
    flex: 1;
    min-width: 0;
}

.snow_floaters_intro_copy h2 {
    margin-top: 18px;
}

.snow_floaters_lead {
    margin-top: 28px;
    color: #3787BD;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
}

.snow_floaters_intro_copy > p:not(.snow_sub_eyebrow):not(.snow_floaters_lead) {
    margin-top: 22px;
    color: #657C8D;
}

.snow_floaters_signature {
    display: block;
    margin-top: 32px;
    color: #72B4E5;
    font-family: "Marcellus",serif;
    font-size: clamp(30px,3vw,48px);
    line-height: 1.1;
    letter-spacing: 0;
}

.snow_floaters_methods {
    padding-bottom: 110px;
}

.snow_floaters_heading {
    margin-bottom: 45px;
    text-align: center;
}

.snow_floaters_heading h2 {
    margin-top: 18px;
}

.snow_floaters_heading h2 + p {
    margin-top: 24px;
    color: #657C8D;
}

.snow_floaters_cards {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.snow_floaters_cards article {
    display: flex;
    flex-direction: column;
    flex: 0 0 calc((100% - 24px) / 2);
    min-width: 0;
    box-sizing: border-box;
    padding: 40px;
    border: 1px solid #D5E6F2;
    border-radius: 24px;
    background: #F1F8FD;
}

.snow_floaters_card_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #3787BD;
    font-family: "Marcellus",serif;
    letter-spacing: 0;
}

.snow_floaters_card_top > span {
    font-size: 42px;
    line-height: 1;
}

.snow_floaters_card_top > p {
    font-size: 19px;
}

.snow_floaters_tag {
    align-self: flex-start;
    margin-top: 30px;
    padding: 4px 12px;
    border-radius: 30px;
    background: #DFEFFB;
    color: #367AA8;
    font-size: 14px;
}

.snow_floaters_cards h3 {
    margin-top: 16px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    word-break: keep-all;
}

.snow_floaters_cards h3 + p {
    margin-top: 20px;
    margin-bottom: 30px;
    color: #657C8D;
}

.snow_floaters_card_bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: auto;
    padding-top: 22px;
    border-top: 1px solid #CFE2F0;
    font-size: 16px;
}

.snow_floaters_card_bottom > span {
    color: #7A91A2;
}

.snow_floaters_card_bottom strong {
    font-weight: 500;
    color: #367AA8;
}

.snow_floaters_methods > .snow_floaters_note {
    margin-top: 32px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_floaters {
        font-size: 16px;
    }

    .snow_floaters h2 {
        font-size: 29px;
    }

    .snow_floaters .snow_sub_intro h2 {
        font-size: 34px;
    }

    .snow_floaters_intro {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 0 0 70px;
    }

    .snow_floaters_photo {
        flex-basis: auto;
        border-radius: 18px;
    }

    .snow_floaters_lead {
        font-size: 21px;
    }

    .snow_floaters_methods {
        padding-bottom: 70px;
    }

    .snow_floaters_heading {
        margin-bottom: 30px;
    }

    .snow_floaters_cards {
        gap: 18px;
    }

    .snow_floaters_cards article {
        flex-basis: 100%;
        padding: 30px 24px;
        border-radius: 18px;
    }

    .snow_floaters_card_top > p {
        font-size: 17px;
    }

    .snow_floaters_cards h3 {
        font-size: 24px;
    }



}

.snow_floaters_fit {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 65px;
    border-radius: 24px;
    background: #19364D;
    color: #FFFFFF;
}

.snow_floaters_fit_title {
    flex: 1;
    min-width: 0;
}

.snow_floaters_fit .snow_sub_eyebrow {
    color: #9BD1F5;
}

.snow_floaters_fit h2 {
    margin-top: 20px;
}

.snow_floaters_fit_title h2 + p {
    margin-top: 26px;
    color: #C2D5E3;
}

.snow_floaters_fit_copy {
    flex: 0 0 43%;
    min-width: 0;
    padding-left: 40px;
    border-left: 1px solid #406078;
}

.snow_floaters_fit_copy > span {
    color: #9BD1F5;
    font-family: 'Marcellus', serif;
    font-size: 22px;
    letter-spacing: 0;
}

.snow_floaters_fit_copy h3 {
    margin-top: 18px;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
}

.snow_floaters_fit_copy > p {
    margin-top: 24px;
    color: #C2D5E3;
}

.snow_floaters_manage {
    padding-top: 110px;
}

.snow_floaters_manage_list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #BBD3E3;
}

.snow_floaters_manage_list li {
    display: flex;
    gap: 32px;
    padding: 30px 0;
    border-bottom: 1px solid #DCE8F0;
}

.snow_floaters_manage_list li > span {
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 32px;
    line-height: 1.4;
    letter-spacing: 0;
}

.snow_floaters_manage_list h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_floaters_manage_list h3 + p {
    margin-top: 12px;
    color: #657C8D;
}

.snow_floaters_manage > .snow_floaters_note {
    margin-top: 30px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_floaters_fit {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 40px 24px;
        border-radius: 18px;
    }
    .snow_floaters_fit_copy {
        flex-basis: auto;
        padding: 28px 0 0;
        border-left: 0;
        border-top: 1px solid #406078;
    }
    .snow_floaters_fit_copy h3 {
        font-size: 25px;
    }
    .snow_floaters_manage {
        padding-top: 70px;
    }
    .snow_floaters_manage_list li {
        gap: 20px;
        padding: 24px 0;
    }
    .snow_floaters_manage_list h3 {
        font-size: 21px;
    }
}

/* 갑작스러운 증상 안내 */
.snow_floaters_notice {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 40px 8%;
    padding-bottom: 110px;
}

.snow_floaters_notice_title {
    flex: 1;
    min-width: 0;
}

.snow_floaters_notice_title h2 {
    margin-top: 18px;
}

.snow_floaters_notice_title h2 + p {
    margin-top: 26px;
    color: #657C8D;
}

.snow_floaters_notice_list {
    flex: 0 0 58%;
    min-width: 0;
    margin: 0;
    padding: 0;
    border-top: 1px solid #8295A3;
    list-style: none;
}

.snow_floaters_notice_list li {
    display: flex;
    gap: 28px;
    padding: 30px 0;
    border-bottom: 1px solid #D5E6F2;
}

.snow_floaters_notice_list li > span {
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 30px;
    line-height: 1.4;
    letter-spacing: 0;
}

.snow_floaters_notice_list h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_floaters_notice_list h3 + p {
    margin-top: 14px;
    color: #657C8D;
}

.snow_floaters_urgent {
    flex: 0 0 100%;
    box-sizing: border-box;
    padding: 32px 40px;
    border-left: 4px solid #3787BD;
    border-radius: 16px;
    background: #F0F8FD;
}

.snow_floaters_urgent strong {
    color: #233F52;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_floaters_urgent > p {
    margin-top: 12px;
    color: #657C8D;
}

@media (max-width: 768px) {
    .snow_floaters_notice {
        flex-direction: column;
        align-items: stretch;
        gap: 30px;
        padding-bottom: 70px;
    }

    .snow_floaters_notice_list {
        flex-basis: auto;
    }

    .snow_floaters_notice_list li {
        gap: 20px;
        padding: 24px 0;
    }

    .snow_floaters_notice_list h3 {
        font-size: 21px;
    }

    .snow_floaters_urgent {
        flex-basis: auto;
        padding: 26px 24px;
    }

    .snow_floaters_urgent strong {
        font-size: 20px;
    }

    .snow_floaters_card_top {
        align-items: flex-start;
    }

    .snow_floaters_card_top > p {
        max-width: 70%;
        text-align: right;
    }
}

/* 시야 전체 변화: sub_0404_02.jpg 한 장 사용 */
.snow_floaters_compare {
    --snow-floaters-severity: 0;
    --snow-floaters-progress: 0%;
    position: relative;
    height: 470px;
    overflow: hidden;
    isolation: isolate;
    border-radius: 28px;
    background: var(--snow-bg);
}

.snow_floaters_scene {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.snow_floaters_shadows {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: var(--snow-floaters-severity);
    filter: blur(1.2px);
    pointer-events: none;
}

.snow_floaters_controls {
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: 28px;
    display: flex;
    align-items: center;
    gap: 20px;
    width: min(640px, calc(100% - 40px));
    padding: 18px 28px;
    border-radius: 50px;
    background: rgba(255,255,255,.94);
    transform: translateX(-50%);
}

.snow_floaters_controls > span {
    flex: 0 0 auto;
    color: var(--snow-text);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.5;
}

.snow_floaters_range {
    flex: 1;
    min-width: 0;
    height: 24px;
    margin: 0;
    padding: 0;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    cursor: pointer;
}

.snow_floaters_range::-webkit-slider-runnable-track {
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(to right, var(--snow-primary-dark) var(--snow-floaters-progress), #CADDEC var(--snow-floaters-progress));
}

.snow_floaters_range::-webkit-slider-thumb {
    width: 20px;
    height: 20px;
    margin-top: -8.5px;
    border: 0;
    border-radius: 50%;
    appearance: none;
    -webkit-appearance: none;
    background: var(--snow-primary-dark);
}

.snow_floaters_range::-moz-range-track {
    height: 3px;
    border-radius: 3px;
    background: #CADDEC;
}

.snow_floaters_range::-moz-range-progress {
    height: 3px;
    background: var(--snow-primary-dark);
}

.snow_floaters_range::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border: 0;
    border-radius: 50%;
    background: var(--snow-primary-dark);
}

.snow_floaters_range:focus-visible {
    outline: 2px solid var(--snow-primary-dark);
    outline-offset: 5px;
}

.snow_floaters_vision {
    padding-bottom: 110px;
}

.snow_floaters_vision > .snow_floaters_vision_note {
    margin-top: 24px;
    color: #8295A3;
    font-size: 14px;
    line-height: 1.7;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_floaters_vision {
        padding-bottom: 70px;
    }

    .snow_floaters_compare {
        height: 320px;
        border-radius: 18px;
    }

    .snow_floaters_controls {
        bottom: 18px;
        gap: 12px;
        width: calc(100% - 28px);
        padding: 13px 16px;
    }

    .snow_floaters_controls > span {
        font-size: 11px;
    }
}



/* 0501 녹내장 — 공통 style.css 하단에 한 번 추가 */
.snow_glaucoma {
    color: #233F52;
    font-size: 18px;
    line-height: 1.75;
    letter-spacing: -0.02em;
}

.snow_glaucoma h2 {
    font-size: clamp(28px,2.65vw,42px);
    font-weight: 700;
    line-height: 1.3;
}

.snow_glaucoma .snow_sub_intro h2 {
    font-size: clamp(36px,3.5vw,50px);
}

.snow_glaucoma_intro {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 10px 0 110px;
}

.snow_glaucoma_photo {
    flex: 0 0 48%;
    min-width: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 24px;
    background: #F0F8FD;
}

.snow_glaucoma_photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.snow_glaucoma_intro_copy {
    flex: 1;
    min-width: 0;
}

.snow_glaucoma_intro_copy h2 {
    margin-top: 18px;
}

.snow_glaucoma_lead {
    margin-top: 28px;
    color: #3787BD;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
}

.snow_glaucoma_intro_copy > p:not(.snow_sub_eyebrow):not(.snow_glaucoma_lead) {
    margin-top: 22px;
    color: #657C8D;
}

.snow_glaucoma_signature {
    display: block;
    margin-top: 32px;
    color: #72B4E5;
    font-family: "Marcellus",serif;
    font-size: clamp(30px,3vw,48px);
    line-height: 1.1;
    letter-spacing: 0;
}

.snow_glaucoma_methods {
    padding-bottom: 110px;
}

.snow_glaucoma_heading {
    margin-bottom: 45px;
    text-align: center;
}

.snow_glaucoma_heading h2 {
    margin-top: 18px;
}

.snow_glaucoma_heading h2 + p {
    margin-top: 24px;
    color: #657C8D;
}

.snow_glaucoma_cards {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.snow_glaucoma_cards article {
    display: flex;
    flex-direction: column;
    flex: 0 0 calc((100% - 24px) / 2);
    min-width: 0;
    box-sizing: border-box;
    padding: 40px;
    border: 1px solid #D5E6F2;
    border-radius: 24px;
    background: #F1F8FD;
}

.snow_glaucoma_card_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #3787BD;
    font-family: "Marcellus",serif;
    letter-spacing: 0;
}

.snow_glaucoma_card_top > span {
    font-size: 42px;
    line-height: 1;
}

.snow_glaucoma_card_top > p {
    font-size: 19px;
}

.snow_glaucoma_tag {
    align-self: flex-start;
    margin-top: 30px;
    padding: 4px 12px;
    border-radius: 30px;
    background: #DFEFFB;
    color: #367AA8;
    font-size: 14px;
}

.snow_glaucoma_cards h3 {
    margin-top: 16px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    word-break: keep-all;
}

.snow_glaucoma_cards h3 + p {
    margin-top: 20px;
    margin-bottom: 30px;
    color: #657C8D;
}

.snow_glaucoma_card_bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: auto;
    padding-top: 22px;
    border-top: 1px solid #CFE2F0;
    font-size: 16px;
}

.snow_glaucoma_card_bottom > span {
    color: #7A91A2;
}

.snow_glaucoma_card_bottom strong {
    font-weight: 500;
    color: #367AA8;
}

.snow_glaucoma_methods > .snow_glaucoma_note {
    margin-top: 32px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_glaucoma {
        font-size: 16px;
    }

    .snow_glaucoma h2 {
        font-size: 29px;
    }

    .snow_glaucoma .snow_sub_intro h2 {
        font-size: 34px;
    }

    .snow_glaucoma_intro {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 0 0 70px;
    }

    .snow_glaucoma_photo {
        flex-basis: auto;
        border-radius: 18px;
    }

    .snow_glaucoma_lead {
        font-size: 21px;
    }

    .snow_glaucoma_methods {
        padding-bottom: 70px;
    }

    .snow_glaucoma_heading {
        margin-bottom: 30px;
    }

    .snow_glaucoma_cards {
        gap: 18px;
    }

    .snow_glaucoma_cards article {
        flex-basis: 100%;
        padding: 30px 24px;
        border-radius: 18px;
    }

    .snow_glaucoma_card_top > p {
        font-size: 17px;
    }

    .snow_glaucoma_cards h3 {
        font-size: 24px;
    }



}

.snow_glaucoma_fit {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 65px;
    border-radius: 24px;
    background: #19364D;
    color: #FFFFFF;
}

.snow_glaucoma_fit_title {
    flex: 1;
    min-width: 0;
}

.snow_glaucoma_fit .snow_sub_eyebrow {
    color: #9BD1F5;
}

.snow_glaucoma_fit h2 {
    margin-top: 20px;
}

.snow_glaucoma_fit_title h2 + p {
    margin-top: 26px;
    color: #C2D5E3;
}

.snow_glaucoma_fit_copy {
    flex: 0 0 43%;
    min-width: 0;
    padding-left: 40px;
    border-left: 1px solid #406078;
}

.snow_glaucoma_fit_copy > span {
    color: #9BD1F5;
    font-family: 'Marcellus', serif;
    font-size: 22px;
    letter-spacing: 0;
}

.snow_glaucoma_fit_copy h3 {
    margin-top: 18px;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
}

.snow_glaucoma_fit_copy > p {
    margin-top: 24px;
    color: #C2D5E3;
}

.snow_glaucoma_manage {
    padding-top: 110px;
}

.snow_glaucoma_manage_list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #BBD3E3;
}

.snow_glaucoma_manage_list li {
    display: flex;
    gap: 32px;
    padding: 30px 0;
    border-bottom: 1px solid #DCE8F0;
}

.snow_glaucoma_manage_list li > span {
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 32px;
    line-height: 1.4;
    letter-spacing: 0;
}

.snow_glaucoma_manage_list h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_glaucoma_manage_list h3 + p {
    margin-top: 12px;
    color: #657C8D;
}

.snow_glaucoma_manage > .snow_glaucoma_note {
    margin-top: 30px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_glaucoma_fit {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 40px 24px;
        border-radius: 18px;
    }
    .snow_glaucoma_fit_copy {
        flex-basis: auto;
        padding: 28px 0 0;
        border-left: 0;
        border-top: 1px solid #406078;
    }
    .snow_glaucoma_fit_copy h3 {
        font-size: 25px;
    }
    .snow_glaucoma_manage {
        padding-top: 70px;
    }
    .snow_glaucoma_manage_list li {
        gap: 20px;
        padding: 24px 0;
    }
    .snow_glaucoma_manage_list h3 {
        font-size: 21px;
    }
}

/* 시야 전체 변화: sub_0501_02.jpg 한 장 사용 */
.snow_glaucoma_compare {
    --snow-glaucoma-severity: 0;
    --snow-glaucoma-progress: 0%;
    position: relative;
    height: 470px;
    overflow: hidden;
    isolation: isolate;
    border-radius: 28px;
    background: var(--snow-bg);
}

.snow_glaucoma_scene {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.snow_glaucoma_field {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 47% 84% at 50% 48%, transparent 25%, rgba(13,20,27,.15) 39%, rgba(9,15,21,.78) 62%, #070C11 87%);
    opacity: var(--snow-glaucoma-severity);
    pointer-events: none;
}

.snow_glaucoma_controls {
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: 28px;
    display: flex;
    align-items: center;
    gap: 20px;
    width: min(640px, calc(100% - 40px));
    padding: 18px 28px;
    border-radius: 50px;
    background: rgba(255,255,255,.94);
    transform: translateX(-50%);
}

.snow_glaucoma_controls > span {
    flex: 0 0 auto;
    color: var(--snow-text);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.5;
}

.snow_glaucoma_range {
    flex: 1;
    min-width: 0;
    height: 24px;
    margin: 0;
    padding: 0;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    cursor: pointer;
}

.snow_glaucoma_range::-webkit-slider-runnable-track {
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(to right, var(--snow-primary-dark) var(--snow-glaucoma-progress), #CADDEC var(--snow-glaucoma-progress));
}

.snow_glaucoma_range::-webkit-slider-thumb {
    width: 20px;
    height: 20px;
    margin-top: -8.5px;
    border: 0;
    border-radius: 50%;
    appearance: none;
    -webkit-appearance: none;
    background: var(--snow-primary-dark);
}

.snow_glaucoma_range::-moz-range-track {
    height: 3px;
    border-radius: 3px;
    background: #CADDEC;
}

.snow_glaucoma_range::-moz-range-progress {
    height: 3px;
    background: var(--snow-primary-dark);
}

.snow_glaucoma_range::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border: 0;
    border-radius: 50%;
    background: var(--snow-primary-dark);
}

.snow_glaucoma_range:focus-visible {
    outline: 2px solid var(--snow-primary-dark);
    outline-offset: 5px;
}

.snow_glaucoma_vision {
    padding-bottom: 110px;
}

.snow_glaucoma_vision > .snow_glaucoma_vision_note {
    margin-top: 24px;
    color: #8295A3;
    font-size: 14px;
    line-height: 1.7;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_glaucoma_vision {
        padding-bottom: 70px;
    }

    .snow_glaucoma_compare {
        height: 320px;
        border-radius: 18px;
    }

    .snow_glaucoma_controls {
        bottom: 18px;
        gap: 12px;
        width: calc(100% - 28px);
        padding: 13px 16px;
    }

    .snow_glaucoma_controls > span {
        font-size: 11px;
    }
}

.snow_glaucoma_risk {
    margin-top: 36px;
    padding: 36px 40px;
    border: 1px solid #D5E6F2;
    border-radius: 24px;
}

.snow_glaucoma_risk > strong,
.snow_glaucoma_urgent > strong {
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_glaucoma_risk ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.snow_glaucoma_risk li {
    padding: 8px 16px;
    border-radius: 30px;
    background: #F0F8FD;
    color: #367AA8;
    font-size: 16px;
}

.snow_glaucoma_risk > p {
    margin-top: 22px;
    color: #8295A3;
    font-size: 14px;
}

.snow_glaucoma_urgent {
    margin-top: 36px;
    padding: 32px 40px;
    border-radius: 24px;
    background: #F0F8FD;
}

.snow_glaucoma_urgent > p {
    margin-top: 14px;
    color: #657C8D;
}

@media (max-width: 768px) {
    .snow_glaucoma_risk,
    .snow_glaucoma_urgent {
        padding: 28px 24px;
        border-radius: 18px;
    }

    .snow_glaucoma_risk > strong,
    .snow_glaucoma_urgent > strong {
        font-size: 20px;
    }

    .snow_glaucoma_card_top {
        align-items: flex-start;
    }

    .snow_glaucoma_card_top > p {
        max-width: 70%;
        text-align: right;
    }
}



/* 0601 안구건조증 — 공통 style.css 하단에 한 번 추가 */
.snow_dryeye {
    color: #233F52;
    font-size: 18px;
    line-height: 1.75;
    letter-spacing: -0.02em;
}

.snow_dryeye h2 {
    font-size: clamp(28px,2.65vw,42px);
    font-weight: 700;
    line-height: 1.3;
}

.snow_dryeye .snow_sub_intro h2 {
    font-size: clamp(36px,3.5vw,50px);
}

.snow_dryeye_intro {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 10px 0 110px;
}

.snow_dryeye_photo {
    flex: 0 0 48%;
    min-width: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 24px;
    background: #F0F8FD;
}

.snow_dryeye_photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.snow_dryeye_intro_copy {
    flex: 1;
    min-width: 0;
}

.snow_dryeye_intro_copy h2 {
    margin-top: 18px;
}

.snow_dryeye_lead {
    margin-top: 28px;
    color: #3787BD;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
}

.snow_dryeye_intro_copy > p:not(.snow_sub_eyebrow):not(.snow_dryeye_lead) {
    margin-top: 22px;
    color: #657C8D;
}

.snow_dryeye_signature {
    display: block;
    margin-top: 32px;
    color: #72B4E5;
    font-family: "Marcellus",serif;
    font-size: clamp(30px,3vw,48px);
    line-height: 1.1;
    letter-spacing: 0;
}

.snow_dryeye_methods {
    padding-bottom: 110px;
}

.snow_dryeye_heading {
    margin-bottom: 45px;
    text-align: center;
}

.snow_dryeye_heading h2 {
    margin-top: 18px;
}

.snow_dryeye_heading h2 + p {
    margin-top: 24px;
    color: #657C8D;
}

.snow_dryeye_cards {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.snow_dryeye_cards article {
    display: flex;
    flex-direction: column;
    flex: 0 0 calc((100% - 24px) / 2);
    min-width: 0;
    box-sizing: border-box;
    padding: 40px;
    border: 1px solid #D5E6F2;
    border-radius: 24px;
    background: #F1F8FD;
}

.snow_dryeye_card_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #3787BD;
    font-family: "Marcellus",serif;
    letter-spacing: 0;
}

.snow_dryeye_card_top > span {
    font-size: 42px;
    line-height: 1;
}

.snow_dryeye_card_top > p {
    font-size: 19px;
}

.snow_dryeye_tag {
    align-self: flex-start;
    margin-top: 30px;
    padding: 4px 12px;
    border-radius: 30px;
    background: #DFEFFB;
    color: #367AA8;
    font-size: 14px;
}

.snow_dryeye_cards h3 {
    margin-top: 16px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    word-break: keep-all;
}

.snow_dryeye_cards h3 + p {
    margin-top: 20px;
    margin-bottom: 30px;
    color: #657C8D;
}

.snow_dryeye_card_bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: auto;
    padding-top: 22px;
    border-top: 1px solid #CFE2F0;
    font-size: 16px;
}

.snow_dryeye_card_bottom > span {
    color: #7A91A2;
}

.snow_dryeye_card_bottom strong {
    font-weight: 500;
    color: #367AA8;
}

.snow_dryeye_methods > .snow_dryeye_note {
    margin-top: 32px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_dryeye {
        font-size: 16px;
    }

    .snow_dryeye h2 {
        font-size: 29px;
    }

    .snow_dryeye .snow_sub_intro h2 {
        font-size: 34px;
    }

    .snow_dryeye_intro {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 0 0 70px;
    }

    .snow_dryeye_photo {
        flex-basis: auto;
        border-radius: 18px;
    }

    .snow_dryeye_lead {
        font-size: 21px;
    }

    .snow_dryeye_methods {
        padding-bottom: 70px;
    }

    .snow_dryeye_heading {
        margin-bottom: 30px;
    }

    .snow_dryeye_cards {
        gap: 18px;
    }

    .snow_dryeye_cards article {
        flex-basis: 100%;
        padding: 30px 24px;
        border-radius: 18px;
    }

    .snow_dryeye_card_top > p {
        font-size: 17px;
    }

    .snow_dryeye_cards h3 {
        font-size: 24px;
    }



}

.snow_dryeye_fit {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 65px;
    border-radius: 24px;
    background: #19364D;
    color: #FFFFFF;
}

.snow_dryeye_fit_title {
    flex: 1;
    min-width: 0;
}

.snow_dryeye_fit .snow_sub_eyebrow {
    color: #9BD1F5;
}

.snow_dryeye_fit h2 {
    margin-top: 20px;
}

.snow_dryeye_fit_title h2 + p {
    margin-top: 26px;
    color: #C2D5E3;
}

.snow_dryeye_fit_copy {
    flex: 0 0 43%;
    min-width: 0;
    padding-left: 40px;
    border-left: 1px solid #406078;
}

.snow_dryeye_fit_copy > span {
    color: #9BD1F5;
    font-family: 'Marcellus', serif;
    font-size: 22px;
    letter-spacing: 0;
}

.snow_dryeye_fit_copy h3 {
    margin-top: 18px;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
}

.snow_dryeye_fit_copy > p {
    margin-top: 24px;
    color: #C2D5E3;
}

.snow_dryeye_manage {
    padding-top: 110px;
}

.snow_dryeye_manage_list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #BBD3E3;
}

.snow_dryeye_manage_list li {
    display: flex;
    gap: 32px;
    padding: 30px 0;
    border-bottom: 1px solid #DCE8F0;
}

.snow_dryeye_manage_list li > span {
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 32px;
    line-height: 1.4;
    letter-spacing: 0;
}

.snow_dryeye_manage_list h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_dryeye_manage_list h3 + p {
    margin-top: 12px;
    color: #657C8D;
}

.snow_dryeye_manage > .snow_dryeye_note {
    margin-top: 30px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_dryeye_fit {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 40px 24px;
        border-radius: 18px;
    }
    .snow_dryeye_fit_copy {
        flex-basis: auto;
        padding: 28px 0 0;
        border-left: 0;
        border-top: 1px solid #406078;
    }
    .snow_dryeye_fit_copy h3 {
        font-size: 25px;
    }
    .snow_dryeye_manage {
        padding-top: 70px;
    }
    .snow_dryeye_manage_list li {
        gap: 20px;
        padding: 24px 0;
    }
    .snow_dryeye_manage_list h3 {
        font-size: 21px;
    }
}

/* 갑작스러운 증상 안내 */
.snow_dryeye_notice {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 40px 8%;
    padding-bottom: 110px;
}

.snow_dryeye_notice_title {
    flex: 1;
    min-width: 0;
}

.snow_dryeye_notice_title h2 {
    margin-top: 18px;
}

.snow_dryeye_notice_title h2 + p {
    margin-top: 26px;
    color: #657C8D;
}

.snow_dryeye_notice_list {
    flex: 0 0 58%;
    min-width: 0;
    margin: 0;
    padding: 0;
    border-top: 1px solid #8295A3;
    list-style: none;
}

.snow_dryeye_notice_list li {
    display: flex;
    gap: 28px;
    padding: 30px 0;
    border-bottom: 1px solid #D5E6F2;
}

.snow_dryeye_notice_list li > span {
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 30px;
    line-height: 1.4;
    letter-spacing: 0;
}

.snow_dryeye_notice_list h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_dryeye_notice_list h3 + p {
    margin-top: 14px;
    color: #657C8D;
}




@media (max-width: 768px) {
    .snow_dryeye_notice {
        flex-direction: column;
        align-items: stretch;
        gap: 30px;
        padding-bottom: 70px;
    }

    .snow_dryeye_notice_list {
        flex-basis: auto;
    }

    .snow_dryeye_notice_list li {
        gap: 20px;
        padding: 24px 0;
    }

    .snow_dryeye_notice_list h3 {
        font-size: 21px;
    }



    .snow_dryeye_card_top {
        align-items: flex-start;
    }

    .snow_dryeye_card_top > p {
        max-width: 70%;
        text-align: right;
    }
}



/* 0602 IPL — 공통 style.css 하단에 한 번 추가 */
.snow_ipl {
    color: #233F52;
    font-size: 18px;
    line-height: 1.75;
    letter-spacing: -0.02em;
}

.snow_ipl h2 {
    font-size: clamp(28px,2.65vw,42px);
    font-weight: 700;
    line-height: 1.3;
}

.snow_ipl .snow_sub_intro h2 {
    font-size: clamp(36px,3.5vw,50px);
}

.snow_ipl_intro {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 10px 0 110px;
}

.snow_ipl_photo {
    flex: 0 0 48%;
    min-width: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 24px;
    background: #F0F8FD;
}

.snow_ipl_photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.snow_ipl_intro_copy {
    flex: 1;
    min-width: 0;
}

.snow_ipl_intro_copy h2 {
    margin-top: 18px;
}

.snow_ipl_lead {
    margin-top: 28px;
    color: #3787BD;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
}

.snow_ipl_intro_copy > p:not(.snow_sub_eyebrow):not(.snow_ipl_lead) {
    margin-top: 22px;
    color: #657C8D;
}

.snow_ipl_signature {
    display: block;
    margin-top: 32px;
    color: #72B4E5;
    font-family: "Marcellus",serif;
    font-size: clamp(30px,3vw,48px);
    line-height: 1.1;
    letter-spacing: 0;
}

.snow_ipl_methods {
    padding-bottom: 110px;
}

.snow_ipl_heading {
    margin-bottom: 45px;
    text-align: center;
}

.snow_ipl_heading h2 {
    margin-top: 18px;
}

.snow_ipl_heading h2 + p {
    margin-top: 24px;
    color: #657C8D;
}

.snow_ipl_cards {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.snow_ipl_cards article {
    display: flex;
    flex-direction: column;
    flex: 0 0 calc((100% - 24px) / 2);
    min-width: 0;
    box-sizing: border-box;
    padding: 40px;
    border: 1px solid #D5E6F2;
    border-radius: 24px;
    background: #F1F8FD;
}

.snow_ipl_card_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #3787BD;
    font-family: "Marcellus",serif;
    letter-spacing: 0;
}

.snow_ipl_card_top > span {
    font-size: 42px;
    line-height: 1;
}

.snow_ipl_card_top > p {
    font-size: 19px;
}

.snow_ipl_tag {
    align-self: flex-start;
    margin-top: 30px;
    padding: 4px 12px;
    border-radius: 30px;
    background: #DFEFFB;
    color: #367AA8;
    font-size: 14px;
}

.snow_ipl_cards h3 {
    margin-top: 16px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    word-break: keep-all;
}

.snow_ipl_cards h3 + p {
    margin-top: 20px;
    margin-bottom: 30px;
    color: #657C8D;
}

.snow_ipl_card_bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: auto;
    padding-top: 22px;
    border-top: 1px solid #CFE2F0;
    font-size: 16px;
}

.snow_ipl_card_bottom > span {
    color: #7A91A2;
}

.snow_ipl_card_bottom strong {
    font-weight: 500;
    color: #367AA8;
}

.snow_ipl_methods > .snow_ipl_note {
    margin-top: 32px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_ipl {
        font-size: 16px;
    }

    .snow_ipl h2 {
        font-size: 29px;
    }

    .snow_ipl .snow_sub_intro h2 {
        font-size: 34px;
    }

    .snow_ipl_intro {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 0 0 70px;
    }

    .snow_ipl_photo {
        flex-basis: auto;
        border-radius: 18px;
    }

    .snow_ipl_lead {
        font-size: 21px;
    }

    .snow_ipl_methods {
        padding-bottom: 70px;
    }

    .snow_ipl_heading {
        margin-bottom: 30px;
    }

    .snow_ipl_cards {
        gap: 18px;
    }

    .snow_ipl_cards article {
        flex-basis: 100%;
        padding: 30px 24px;
        border-radius: 18px;
    }

    .snow_ipl_card_top > p {
        font-size: 17px;
    }

    .snow_ipl_cards h3 {
        font-size: 24px;
    }



}

.snow_ipl_fit {
    display: flex;
    align-items: center;
    gap: 8%;
    padding: 65px;
    border-radius: 24px;
    background: #19364D;
    color: #FFFFFF;
}

.snow_ipl_fit_title {
    flex: 1;
    min-width: 0;
}

.snow_ipl_fit .snow_sub_eyebrow {
    color: #9BD1F5;
}

.snow_ipl_fit h2 {
    margin-top: 20px;
}

.snow_ipl_fit_title h2 + p {
    margin-top: 26px;
    color: #C2D5E3;
}

.snow_ipl_fit_copy {
    flex: 0 0 43%;
    min-width: 0;
    padding-left: 40px;
    border-left: 1px solid #406078;
}

.snow_ipl_fit_copy > span {
    color: #9BD1F5;
    font-family: 'Marcellus', serif;
    font-size: 22px;
    letter-spacing: 0;
}

.snow_ipl_fit_copy h3 {
    margin-top: 18px;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
}

.snow_ipl_fit_copy > p {
    margin-top: 24px;
    color: #C2D5E3;
}

.snow_ipl_manage {
    padding-top: 110px;
}

.snow_ipl_manage_list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #BBD3E3;
}

.snow_ipl_manage_list li {
    display: flex;
    gap: 32px;
    padding: 30px 0;
    border-bottom: 1px solid #DCE8F0;
}

.snow_ipl_manage_list li > span {
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 32px;
    line-height: 1.4;
    letter-spacing: 0;
}

.snow_ipl_manage_list h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.snow_ipl_manage_list h3 + p {
    margin-top: 12px;
    color: #657C8D;
}

.snow_ipl_manage > .snow_ipl_note {
    margin-top: 30px;
    color: #8295A3;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 768px) {
    .snow_ipl_fit {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 40px 24px;
        border-radius: 18px;
    }
    .snow_ipl_fit_copy {
        flex-basis: auto;
        padding: 28px 0 0;
        border-left: 0;
        border-top: 1px solid #406078;
    }
    .snow_ipl_fit_copy h3 {
        font-size: 25px;
    }
    .snow_ipl_manage {
        padding-top: 70px;
    }
    .snow_ipl_manage_list li {
        gap: 20px;
        padding: 24px 0;
    }
    .snow_ipl_manage_list h3 {
        font-size: 21px;
    }
}

/* 실제 장비 사진 영역 */
.snow_ipl_device {
    display: flex;
    align-items: center;
    gap: 8%;
    padding-bottom: 110px;
}

.snow_ipl_device_copy {
    flex: 1;
    min-width: 0;
}

.snow_ipl_device_copy h2 {
    margin-top: 18px;
}

.snow_ipl_device_copy h2 + p {
    margin-top: 28px;
    color: #657C8D;
}

.snow_ipl_device_name {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 12px 20px;
    margin-top: 32px;
    color: #3787BD;
    font-family: 'Marcellus', serif;
    font-size: 38px;
    line-height: 1.4;
    letter-spacing: 0;
}

.snow_ipl_device_name small {
    color: #657C8D;
    font-family: 'Pretendard', sans-serif;
    font-size: 16px;
    letter-spacing: -0.02em;
}

.snow_ipl_device_photo {
    flex: 0 0 45%;
    min-width: 0;
    box-sizing: border-box;
    padding: 36px;
    overflow: hidden;
    border: 1px solid #D5E6F2;
    border-radius: 24px;
    background: #F0F8FD;
}

.snow_ipl_device_photo img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 480px;
    object-fit: contain;
}

@media (max-width: 768px) {
    .snow_ipl_device {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding-bottom: 70px;
    }

    .snow_ipl_device_photo {
        flex-basis: auto;
        padding: 24px;
        border-radius: 18px;
    }

    .snow_ipl_device_name {
        font-size: 32px;
    }

    .snow_ipl_card_top {
        align-items: flex-start;
    }

    .snow_ipl_card_top > p {
        max-width: 70%;
        text-align: right;
    }
}
