:root {
    --cc-cyan: #20a6c7;
    --cc-cyan-soft: #dff5fa;
    --cc-navy: #0b3153;
    --cc-ink: #10263a;
    --cc-muted: #6d7c88;
    --cc-line: #dce5e9;
    --cc-ice: #f3f8fa;
    --cc-white: #fff;
    --cc-max: 1620px;
    --cc-side: clamp(24px, 7.8vw, 150px);
}

@media (max-width:1024px) { .cc-hero h1 { font-size:clamp(38px,6vw,52px); font-weight:580; line-height:1.2; letter-spacing:-.032em; } }
@media (max-width:640px) { .cc-hero h1 { font-size:32px; font-weight:580; line-height:1.24; }.cc-eyebrow { margin-bottom:16px; font-size:9px; } }

* { box-sizing: border-box; }
html { width: 100%; min-width: 0; scroll-behavior: smooth; }
body { width: 100%; min-width: 0; margin: 0; color: var(--cc-ink); background: #fff; font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px !important; line-height: 1.65; word-break: keep-all; overflow-x: hidden; }
body.cc-menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; vertical-align: middle; }
button, input, select, textarea { font: inherit; }
.sound_only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.cc-skip { position: fixed; top: -100px; left: 20px; z-index: 10000; padding: 12px 18px; background: var(--cc-navy); color: #fff; }
.cc-skip:focus { top: 12px; }

.cc-header { position: fixed; inset: 0 0 auto; z-index: 2000; height: 94px; background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(11,49,83,.08); backdrop-filter: blur(18px); transition: height .3s, box-shadow .3s, background .3s, border-color .3s, backdrop-filter .3s; }
.cc-header.is-scrolled { height: 76px; background: rgba(255,255,255,.96); box-shadow: 0 12px 35px rgba(11,49,83,.08); backdrop-filter: blur(18px); }
.cc-header--home:not(.is-scrolled) { background: transparent; border-bottom-color: transparent; box-shadow: none; backdrop-filter: none; }
.cc-header__inner { width: min(calc(100% - (var(--cc-side) * 2)), var(--cc-max)); height: 100%; margin: 0 auto; display: flex; align-items: center; gap: clamp(28px, 4vw, 74px); }
.cc-logo { width: 190px; flex: 0 0 auto; }
.cc-logo img { display: block; width: 100%; height: auto; }
.cc-nav { flex: 1; align-self: stretch; }
.cc-nav > ul { display: flex; justify-content: center; height: 100%; margin: 0; padding: 0; list-style: none; gap: clamp(16px, 2.2vw, 40px); }
.cc-nav > ul > li { position: relative; display: flex; align-items: center; }
.cc-nav > ul > li > a { position: relative; padding: 35px 0 31px; color: #18344d; font-size: 17px; font-weight: 600; letter-spacing: -.02em; white-space: nowrap; transition: color .2s; }
.cc-header.is-scrolled .cc-nav > ul > li > a { padding-top: 26px; padding-bottom: 25px; }
.cc-nav > ul > li > a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: 24px; height: 2px; background: var(--cc-cyan); transition: right .25s; }
.cc-nav > ul > li:hover > a { color: var(--cc-cyan); }
.cc-nav > ul > li:hover > a::after { right: 0; }
.cc-subnav { position: absolute; top: calc(100% - 6px); left: 50%; min-width: 190px; margin: 0; padding: 14px; list-style: none; background: #fff; border: 1px solid var(--cc-line); border-radius: 12px; box-shadow: 0 18px 45px rgba(11,49,83,.12); opacity: 0; visibility: hidden; transform: translate(-50%, 10px); transition: .2s; }
.has-sub:hover .cc-subnav { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.cc-subnav a { display: block; padding: 10px 12px; border-radius: 7px; font-size: 14px; }
.cc-subnav a:hover { color: var(--cc-cyan); background: var(--cc-ice); }
.cc-header__tools { display: flex; align-items: center; gap: 20px; flex: 0 0 auto; }
.cc-language { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.cc-language a { color: #9aa6af; }
.cc-language a.is-active { color: var(--cc-navy); }
.cc-language span { width: 1px; height: 10px; background: #ccd6db; }
.cc-account { padding: 10px 16px; border: 1px solid var(--cc-line); border-radius: 999px; font-size: 13px; font-weight: 600; }
.cc-menu-toggle { display: none; width: 42px; height: 42px; padding: 10px; border: 0; background: none; cursor: pointer; }
.cc-menu-toggle span { display: block; width: 22px; height: 2px; margin: 5px 0; background: var(--cc-navy); transition: .25s; }
.cc-mobile-menu { display: none; }

#wrapper.cc-site-main { position: relative; float: none; width: 100%; min-width: 0; max-width: none; margin: 0; padding: 94px 0 0; background: #fff; overflow: visible; }
.cc-header--home + #wrapper.cc-site-main { padding-top: 0; }
#container.cc-container { position: relative; float: none; width: min(calc(100% - (var(--cc-side) * 2)), var(--cc-max)); max-width: var(--cc-max); min-height: 55vh; height: auto !important; margin: 0 auto; padding: 70px 0 120px; font-size: 16px; zoom: 1; }
#container.cc-container--home { width: 100%; max-width: none; margin: 0; padding: 0; }
.cc-page-heading { min-height: 430px; margin-bottom: 72px; padding: 120px 0 70px; display: flex; flex-direction: column; justify-content: center; border-bottom: 1px solid var(--cc-line); }
.cc-page-heading span { color: #0867b2; font-size: 12px; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.cc-page-heading h1 { max-width: 1100px; margin: 24px 0 0; color: #171717; font-size: clamp(44px, 4.4vw, 72px); line-height: 1.25; letter-spacing: -.075em; word-spacing: -.04em; word-break: keep-all; }
.cc-page-heading p { max-width: 720px; margin: 22px 0 0; color: #727c80; font-size: 17px; line-height: 1.8; word-break: keep-all; }
#sct_location.is_list { display: none; }

.cc-prefooter { width: 100%; margin: 0; color: #fff; background: #0867b2; overflow: hidden; }
.cc-prefooter__inner { width: min(calc(100% - (var(--cc-side) * 2)), var(--cc-max)); min-height: 390px; margin: 0 auto; padding: 68px clamp(42px, 5vw, 86px); display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr); align-items: end; gap: clamp(60px, 8vw, 140px); }
.cc-prefooter__copy > span { color: rgba(255,255,255,.62); font-size: 10px; font-weight: 750; letter-spacing: .18em; }
.cc-prefooter__copy h2 { margin: 24px 0 18px; font-size: clamp(38px, 3.6vw, 58px); font-weight: 680; line-height: 1.25; letter-spacing: -.055em; }
.cc-prefooter__copy p { max-width: 560px; margin: 0; color: rgba(255,255,255,.7); font-size: 15px; line-height: 1.8; }
.cc-prefooter__actions { border-top: 1px solid rgba(255,255,255,.34); }
.cc-prefooter__actions a { position: relative; min-height: 108px; padding: 25px 54px 22px 0; display: flex; flex-direction: column; justify-content: center; border-bottom: 1px solid rgba(255,255,255,.34); transition: padding .25s, background .25s; }
.cc-prefooter__actions a:hover { padding-left: 16px; background: rgba(255,255,255,.07); }
.cc-prefooter__actions small { color: rgba(255,255,255,.55); font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.cc-prefooter__actions b { margin-top: 7px; font-size: 19px; font-weight: 650; }
.cc-prefooter__actions i { position: absolute; right: 8px; top: 50%; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; font-style: normal; transform: translateY(-50%); transition: transform .25s, background .25s, color .25s; }
.cc-prefooter__actions a:hover i { color: #0867b2; background: #fff; transform: translateY(-50%) rotate(45deg); }

.cc-hero { position: relative; width: 100%; max-width: none; height: min(800px, calc(100vh - 94px)); min-height: 650px; margin: 0; overflow: hidden; background: #e8eef0; }
.cc-hero__slide { position: absolute; inset: 0; visibility: hidden; opacity: 0; transition: opacity 1s ease,visibility 1s; }.cc-hero__slide.is-active { z-index: 1; visibility: visible; opacity: 1; }
.cc-hero__media { position: absolute; inset: 0; background-color: #eef5f7; background-repeat: no-repeat; background-size: cover; background-position: center; filter: contrast(1.07) saturate(1.04); transform: scale(1.01); }.cc-hero__slide.is-active .cc-hero__media { animation: ccHeroImageReveal 7s cubic-bezier(.2,.7,.2,1) both; }
.cc-hero__media--ultrafill { background-image: url('../img/cellthcare/hero-ultrafill-v2.png'); }.cc-hero__media--ni { background-image: url('../img/cellthcare/hero-ni-du310m.png'); }.cc-hero__media--dual { background-image: url('../img/cellthcare/hero-dual-miracle.png'); }
.cc-hero__media--ni-care { background-image: url('../img/cellthcare/hero-ni-du310m-care.png'); }
.cc-hero__veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(244,249,250,.99) 0%, rgba(244,249,250,.94) 34%, rgba(244,249,250,.22) 53%, rgba(244,249,250,0) 68%); }
.cc-hero__content { position: absolute; z-index: 2; left: clamp(32px, 6.5vw, 112px); top: 50%; width: min(720px, 51%); transform: translateY(-48%); }
.cc-hero__content>* { opacity: 0; transform: translate3d(0,18px,0); will-change: opacity,transform; }
.cc-hero__slide.is-active .cc-hero__content>* { animation: ccHeroSmoothReveal 1.65s cubic-bezier(.22,.61,.36,1) both; }
.cc-hero__slide.is-active .cc-hero__content>*:nth-child(1) { animation-delay: .15s; }
.cc-hero__slide.is-active .cc-hero__content>*:nth-child(2) { animation-delay: .26s; }
.cc-hero__slide.is-active .cc-hero__content>*:nth-child(3) { animation-delay: .4s; }
.cc-hero__slide.is-active .cc-hero__content>*:nth-child(4) { animation-delay: .55s; }
.cc-eyebrow, .cc-kicker { margin: 0 0 26px; color: var(--cc-cyan); font-family: Pretendard, -apple-system, BlinkMacSystemFont, sans-serif; font-size: 11px; font-weight: 650; letter-spacing: .2em; }
.cc-hero h1 { margin: 0; color: var(--cc-navy); font-family: Pretendard, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: clamp(38px, 3.2vw, 56px); font-weight: 590; line-height: 1.22; letter-spacing: -.038em; word-break: keep-all; text-wrap: balance; }
.cc-hero__line { white-space: nowrap; }
.cc-hero__copy { margin: 27px 0 0; color: #4d6474; font-size: clamp(15px, 1.05vw, 18px); font-weight: 400; line-height: 1.78; letter-spacing: -.015em; }
.cc-hero__actions { display: flex; gap: 12px; margin-top: 42px; }
.cc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 28px; min-height: 56px; padding: 0 27px; border-radius: 2px; font-size: 14px; font-weight: 650; transition: transform .25s, background .25s, color .25s; }
.cc-btn:hover { transform: translateY(-2px); }
.cc-btn--primary { color: #fff; background: var(--cc-navy); }
.cc-btn--primary:hover { background: var(--cc-cyan); }
.cc-btn--glass { color: var(--cc-navy); border: 1px solid rgba(11,49,83,.22); background: rgba(255,255,255,.35); }
.cc-btn--outline { color: #fff; border: 1px solid rgba(255,255,255,.35); }
.cc-btn--outline:hover { color: var(--cc-navy); background: #fff; }
.cc-hero__index { position: absolute; z-index: 2; right: 34px; bottom: 27px; display: flex; align-items: center; gap: 12px; color: #fff; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.cc-hero__index b { font-size: 13px; }.cc-hero__index span { position: relative; width: 60px; height: 2px; overflow: hidden; background: rgba(255,255,255,.35); }.cc-hero__index span i { display: block; width: 100%; height: 100%; background: #fff; transform-origin: left; animation: ccSlideProgress 6s linear infinite; }.cc-hero__index em { font-style: normal; }
.cc-hero__controls { position: absolute; z-index: 4; left: clamp(32px,6.5vw,112px); bottom: 32px; display: flex; align-items: center; gap: 15px; }.cc-hero__arrow { width: 42px; height: 42px; color: var(--cc-navy); border: 1px solid rgba(11,49,83,.28); border-radius: 50%; background: rgba(255,255,255,.7); cursor: pointer; transition: color .2s,background .2s,transform .2s; }.cc-hero__arrow:hover { color: #fff; background: var(--cc-navy); transform: scale(1.07); }.cc-hero__dots { display: flex; gap: 7px; }.cc-hero__dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: rgba(11,49,83,.28); cursor: pointer; transition: width .3s,border-radius .3s,background .3s; }.cc-hero__dots button.is-active { width: 26px; border-radius: 9px; background: var(--cc-cyan); }

.cc-section { width: min(calc(100% - (var(--cc-side) * 2)), var(--cc-max)); margin: 0 auto; padding: 150px 0; }
.cc-section__label { display: flex; align-items: center; gap: 14px; color: var(--cc-muted); font-size: 12px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.cc-section__label span { color: var(--cc-cyan); }
.cc-section__label--light { color: rgba(255,255,255,.58); }.cc-section__label--light span { color: #6ee1f5; }
.cc-intro__body { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(520px,1.15fr) minmax(280px,.7fr); gap: clamp(40px,5vw,95px); align-items: center; margin-top: 72px; }
.cc-intro h2, .cc-technology h2, .cc-service h2 { margin: 0; color: var(--cc-navy); font-size: clamp(40px, 5vw, 72px); line-height: 1.15; letter-spacing: -.055em; font-weight: 620; }
.cc-intro h2 span { white-space: nowrap; }.cc-intro__message .cc-kicker { margin-bottom: 42px; }
.cc-intro__visual { position: relative; min-height: 440px; overflow: hidden; padding: 34px; color: #fff; background: linear-gradient(145deg,#0b3153,#125f7c); }.cc-intro__visual::after { content: ''; position: absolute; right: -90px; bottom: -110px; width: 280px; height: 280px; border: 1px solid rgba(110,225,245,.3); border-radius: 50%; }.cc-intro__visual>span { color: #6ee1f5; font-size: 11px; font-weight: 700; letter-spacing: .15em; }
.cc-intro__orbit { position: relative; width: 150px; height: 150px; margin: 48px auto 35px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; }.cc-intro__orbit::before,.cc-intro__orbit::after { content: ''; position: absolute; border: 1px solid rgba(110,225,245,.55); border-radius: 50%; }.cc-intro__orbit::before { inset: 24px; }.cc-intro__orbit::after { inset: 52px; background: #6ee1f5; }.cc-intro__orbit i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #fff; }.cc-intro__orbit i:nth-child(1) { top: 15px; left: 27px; }.cc-intro__orbit i:nth-child(2) { right: 6px; top: 70px; }.cc-intro__orbit i:nth-child(3) { bottom: 8px; left: 55px; }
.cc-intro__visual p { margin: 0; font-size: 25px; font-weight: 600; line-height: 1.2; letter-spacing: .06em; }.cc-intro__visual small { position: absolute; right: 28px; bottom: 30px; color: rgba(255,255,255,.55); font-size: 8px; line-height: 1.6; letter-spacing: .12em; }
.cc-intro__copy { padding-bottom: 6px; }
.cc-intro__copy p, .cc-technology__content > p { margin: 0; color: var(--cc-muted); font-size: 17px; line-height: 1.9; }
.cc-text-link { display: inline-flex; align-items: center; gap: 40px; margin-top: 34px; padding-bottom: 8px; border-bottom: 1px solid var(--cc-navy); font-size: 14px; font-weight: 650; }

.cc-products { width: auto; max-width: none; padding: 140px var(--cc-side); color: #fff; background: var(--cc-navy); }
.cc-products__head, .cc-product-grid, .cc-products__cta { width: min(100%, var(--cc-max)); margin-inline: auto; }
.cc-products__head { display: flex; justify-content: space-between; align-items: end; gap: 80px; }
.cc-products__head h2 { margin: 50px 0 0; font-size: clamp(44px, 5.5vw, 78px); font-weight: 560; line-height: 1.1; letter-spacing: -.055em; }
.cc-products__head > p { width: 390px; margin: 0 0 8px; color: rgba(255,255,255,.62); font-size: 15px; }
.cc-product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 78px; }
.cc-product-card { position: relative; min-height: 520px; padding: 28px; overflow: hidden; color: #fff; border: 1px solid rgba(255,255,255,.16); background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.025)); transition: transform .3s, border-color .3s, background .3s; }
.cc-product-card:hover { transform: translateY(-8px); border-color: rgba(110,225,245,.65); background: linear-gradient(145deg, rgba(32,166,199,.2), rgba(255,255,255,.03)); }
.cc-product-card__no { font-size: 12px; color: #6ee1f5; }
.cc-product-card__visual { position: relative; display: grid; place-items: center; height: 330px; overflow: hidden; }
.cc-product-card__visual::before { content: ''; position: absolute; inset: 12px 0; background-repeat: no-repeat; background-size: contain; background-position: center; filter: drop-shadow(0 24px 35px rgba(0,0,0,.2)); transition: transform .4s; }
.cc-product-card--ni-du310m .cc-product-card__visual::before { background-image: url('../img/cellthcare/products/ni-du310m-studio.png'); }
.cc-product-card--dual-miracle .cc-product-card__visual::before { background-image: url('../img/cellthcare/products/dual-miracle-studio.png'); }
.cc-product-card--ultrafill .cc-product-card__visual::before { background-image: url('../img/cellthcare/products/ultrafill-studio.png'); }
.cc-product-card:hover .cc-product-card__visual::before { transform: scale(1.035); }
.cc-product-card__visual b { position: absolute; color: rgba(255,255,255,.09); font-size: 45px; letter-spacing: .1em; transform: rotate(-90deg); }
.cc-product-card__info { display: flex; justify-content: space-between; align-items: end; gap: 20px; border-top: 1px solid rgba(255,255,255,.16); padding-top: 22px; }
.cc-product-card__info h3 { margin: 0; font-size: 25px; font-weight: 570; }.cc-product-card__info p { margin: 5px 0 0; color: rgba(255,255,255,.55); font-size: 13px; }.cc-product-card__info > span { color: #6ee1f5; font-size: 22px; }
.cc-products__cta { display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-top: 54px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,.14); }.cc-products__cta p { color: rgba(255,255,255,.7); }

.cc-technology { display: block; width: auto; max-width: none; padding: 0; background: var(--cc-ice); }
.cc-technology__image { min-height: 680px; overflow: hidden; }.cc-technology__image img { width: 100%; height: 100%; object-fit: cover; }
.cc-technology__image--product { background-color: #fff; background-image: url('../img/cellthcare/products/dual-miracle-studio.png'); background-repeat: no-repeat; background-size: contain; background-position: center; }
.cc-technology__content { width: min(calc(100% - (var(--cc-side) * 2)), var(--cc-max)); margin: 0 auto; padding: clamp(85px,8vw,130px) 0; }
.cc-technology__content .cc-kicker { margin-top: 38px; }.cc-technology__content h2 { max-width: 900px; font-size: clamp(38px,3.4vw,56px); }.cc-technology__content > p { margin-top: 26px; max-width: 820px; }
.cc-value-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 38px; }
.cc-value-list article { min-height: 240px; padding: 25px 22px; border: 1px solid var(--cc-line); background: rgba(255,255,255,.72); transition: transform .25s,border-color .25s,box-shadow .25s; }.cc-value-list article:hover { transform: translateY(-5px); border-color: var(--cc-cyan); box-shadow: 0 18px 35px rgba(11,49,83,.08); }
.cc-value-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 24px; color: var(--cc-cyan); border-radius: 50%; background: #e6f6fa; }.cc-value-icon svg { width: 26px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.cc-value-list b { color: var(--cc-cyan); font-size: 9px; letter-spacing: .12em; }.cc-value-list h3 { margin: 9px 0 12px; color: var(--cc-navy); font-size: 18px; }.cc-value-list p { margin: 0; color: var(--cc-muted); font-size: 13px; line-height: 1.65; }

.cc-service__head { display: flex; align-items: end; justify-content: space-between; gap: 80px; }.cc-service__head h2 { font-size: clamp(40px, 4.8vw, 68px); }
.cc-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 75px; }
.cc-service-grid a { position: relative; min-height: 300px; padding: 38px; border: 1px solid var(--cc-line); background: #fff; transition: background .25s, color .25s, transform .25s; }.cc-service-grid a:hover { color: #fff; background: var(--cc-cyan); transform: translateY(-5px); }
.cc-service-grid small { color: var(--cc-cyan); font-size: 11px; font-weight: 700; letter-spacing: .14em; }.cc-service-grid a:hover small { color: #fff; }.cc-service-grid h3 { margin: 48px 0 12px; color: var(--cc-navy); font-size: 30px; }.cc-service-grid a:hover h3 { color: #fff; }.cc-service-grid p { max-width: 300px; color: var(--cc-muted); font-size: 15px; }.cc-service-grid a:hover p { color: rgba(255,255,255,.82); }.cc-service-grid > a > span { position: absolute; right: 36px; bottom: 34px; font-size: 23px; }
.cc-contact-banner { display: flex; align-items: end; justify-content: space-between; gap: 50px; width: calc(100% - (var(--cc-side) * 2)); max-width: var(--cc-max); min-height: 480px; margin: 0 auto 150px; padding: clamp(50px, 6vw, 95px); color: #fff; background: radial-gradient(circle at 82% 20%, rgba(77,210,234,.28), transparent 30%), linear-gradient(125deg, #0b3153, #126787); }
.cc-contact-banner > div > span { color: #6ee1f5; font-size: 11px; font-weight: 700; letter-spacing: .16em; }.cc-contact-banner h2 { margin: 28px 0 0; font-size: clamp(38px, 5vw, 68px); line-height: 1.14; letter-spacing: -.05em; font-weight: 560; }.cc-contact-banner > a { display: flex; align-items: center; justify-content: space-between; gap: 55px; min-width: 220px; padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.6); font-weight: 600; }

.cc-footer { padding: 85px var(--cc-side) 34px; color: rgba(255,255,255,.7); background: #071f34; }
.cc-footer__logo { filter: none; }.cc-footer__logo img { display: block; width: 100%; height: auto; }
.cc-footer__top, .cc-footer__company, .cc-footer__bottom { width: min(100%, var(--cc-max)); margin: 0 auto; }
.cc-footer__top { display: flex; justify-content: space-between; gap: 80px; padding-bottom: 70px; }.cc-footer__logo { display: block; width: 220px; filter: brightness(0) invert(1); opacity: .95; }.cc-footer__nav { display: grid; grid-template-columns: repeat(3, 150px); gap: 55px; }.cc-footer__nav div { display: flex; flex-direction: column; gap: 10px; }.cc-footer__nav b { margin-bottom: 9px; color: #6ee1f5; font-size: 10px; letter-spacing: .16em; }.cc-footer__nav a { font-size: 13px; }.cc-footer__nav a:hover { color: #fff; }
.cc-footer__company { display: flex; justify-content: space-between; gap: 40px; padding: 30px 0; border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); font-size: 12px; }.cc-footer__company p { margin: 0; }.cc-footer__company b { color: #fff; margin-right: 20px; }.cc-footer__company div { display: flex; gap: 24px; }
.cc-footer__bottom { display: flex; justify-content: space-between; align-items: center; padding-top: 28px; font-size: 10px; letter-spacing: .09em; }.cc-footer__bottom button { color: #fff; border: 0; background: none; cursor: pointer; font-size: 11px; }

/* GnuBoard / Youngcart skin normalization */
#bo_list, #bo_v, #bo_w, #fregister, #fregisterform, #mb_login, .sct_wrap, #sct, #sit { font-family: inherit; }
#bo_list, #bo_v, #bo_w, #fregister, #fregisterform, #mb_login, #sct, #sit { max-width: 100%; }
.tbl_head01 table, .tbl_frm01 table { border-top: 2px solid var(--cc-navy); }.tbl_head01 thead th { color: var(--cc-navy); background: var(--cc-ice); }.tbl_head01 td, .tbl_head01 th { border-color: var(--cc-line); }
.btn_b01, .btn_b02, .btn_admin, .btn_submit, a.btn_b01, a.btn_b02 { border-radius: 2px !important; box-shadow: none !important; }.btn_submit, .btn_b02, a.btn_b02 { border-color: var(--cc-navy) !important; background: var(--cc-navy) !important; }.btn_submit:hover, .btn_b02:hover { background: var(--cc-cyan) !important; }
input[type=text], input[type=password], input[type=email], input[type=tel], input[type=date], select, textarea { border: 1px solid var(--cc-line) !important; border-radius: 3px !important; background: #fff; }
#mb_login { max-width: 520px; margin: 30px auto 90px; padding: 45px; border: 1px solid var(--cc-line); background: var(--cc-ice); }
.sct_wrap { margin-bottom: 80px; }.sct_wrap > header h2, #sct h2 { color: var(--cc-navy); font-size: 34px; letter-spacing: -.04em; }
.sct li { transition: transform .25s; }.sct li:hover { transform: translateY(-5px); }.sct_img { overflow: hidden; background: var(--cc-ice); }.sct_img img { transition: transform .4s; }.sct li:hover .sct_img img { transform: scale(1.03); }
.cc-catalog-notice { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px 40px; margin: 0 0 50px; padding: 28px 32px; color: var(--cc-navy); border-left: 3px solid var(--cc-cyan); background: var(--cc-ice); }.cc-catalog-notice b { color: var(--cc-cyan); font-size: 10px; letter-spacing: .15em; }.cc-catalog-notice p { grid-column: 1; margin: 0; color: var(--cc-muted); }.cc-catalog-notice a { grid-column: 2; grid-row: 1 / 3; padding-bottom: 6px; border-bottom: 1px solid var(--cc-navy); font-size: 13px; font-weight: 700; }
.cc-item-catalog-message { margin: 26px 0; padding: 24px; border: 1px solid var(--cc-line); background: var(--cc-ice); }.cc-item-catalog-message b { color: var(--cc-cyan); font-size: 10px; letter-spacing: .14em; }.cc-item-catalog-message p { color: var(--cc-muted); }.cc-item-catalog-message div { display: flex; gap: 10px; }.cc-item-catalog-message a { padding: 10px 15px; color: #fff; background: var(--cc-navy); font-size: 12px; font-weight: 600; }
.cc-lang-en .sit_btn_cart, .cc-lang-en .sit_btn_buy, .cc-lang-en .btn_cart, .cc-lang-en .sct_cart, .cc-lang-en #sit_tot_price, .cc-lang-en .tr_price, .cc-lang-en .sct_cost, .cc-lang-en .sit_ov_tbl tr:first-child { display: none !important; }

/* Product introduction pages */
.cc-product-page { margin-top: -70px; }
.cc-product-hero { display: grid; grid-template-columns: .85fr 1.15fr; min-height: 720px; background: var(--cc-ice); }
.cc-product-hero__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(55px,6vw,100px); }
.cc-product-back { align-self: flex-start; margin-bottom: 75px; padding-bottom: 5px; border-bottom: 1px solid var(--cc-navy); color: var(--cc-navy); font-size: 12px; font-weight: 650; }
.cc-product-hero__copy>p:first-of-type { margin: 0; color: var(--cc-cyan); font-size: 11px; font-weight: 700; letter-spacing: .16em; }
.cc-product-hero h1 { margin: 14px 0 0; color: var(--cc-navy); font-size: clamp(58px,6vw,98px); font-weight: 570; line-height: 1; letter-spacing: -.075em; word-spacing: -.04em; }
.cc-product-hero h2 { max-width: 640px; margin: 28px 0 0; color: #23465f; font-size: clamp(23px,2vw,32px); font-weight: 540; line-height: 1.45; letter-spacing: -.035em; }
.cc-product-hero__desc { max-width: 610px; margin: 28px 0 0; color: var(--cc-muted); font-size: 15px; line-height: 1.9; }
.cc-product-hero__actions { display: flex; align-items: center; gap: 36px; margin-top: 44px; }
.cc-product-hero__actions .cc-text-link { margin: 0; }
.cc-product-hero__visual { position: relative; min-height: 720px; overflow: hidden; background-color: #fff; background-image: var(--cc-product-image); background-repeat: no-repeat; background-size: contain; background-position: center; }
.cc-product-page--ultrafill .cc-product-hero__visual { background-size: contain; background-position: center; }
.cc-product-hero__visual span { position: absolute; right: 24px; bottom: 22px; color: var(--cc-cyan); font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.cc-product-tabs { display: grid; grid-template-columns: repeat(3,1fr); margin: 28px 0 0; border-top: 1px solid var(--cc-line); border-bottom: 1px solid var(--cc-line); }
.cc-product-tabs a { display: flex; flex-direction: column; gap: 4px; padding: 25px 28px; border-right: 1px solid var(--cc-line); transition: background .2s; }
.cc-product-tabs a:last-child { border-right: 0; }.cc-product-tabs a:hover,.cc-product-tabs a.is-active { background: var(--cc-ice); }.cc-product-tabs a.is-active { box-shadow: inset 0 2px 0 var(--cc-cyan); }
.cc-product-tabs small { color: var(--cc-cyan); font-size: 8px; font-weight: 700; letter-spacing: .13em; }.cc-product-tabs b { color: var(--cc-navy); font-size: 18px; font-weight: 650; }
.cc-product-statement { display: grid; grid-template-columns: .45fr 1.1fr .7fr; gap: clamp(35px,6vw,100px); align-items: start; padding: 140px 0; }
.cc-product-statement h2 { margin: 0; color: var(--cc-navy); font-size: clamp(42px,4.2vw,66px); font-weight: 580; line-height: 1.17; letter-spacing: -.055em; }.cc-product-statement>p { margin: 0; color: var(--cc-muted); font-size: 15px; line-height: 1.9; }
.cc-official-guide { padding: 100px 0 130px; background: #f7f9fa; }
.cc-official-guide>header { width: min(calc(100% - 80px),1200px); margin: 0 auto 60px; text-align: center; }.cc-official-guide>header .cc-section__label { justify-content: center; }.cc-official-guide>header h2 { margin: 20px 0 0; color: var(--cc-navy); font-size: 48px; font-weight: 540; letter-spacing: -.04em; }
.cc-official-guide__images { width: min(calc(100% - 80px),1200px); margin: 0 auto; overflow: hidden; background: #fff; box-shadow: 0 25px 70px rgba(11,49,83,.08); }.cc-official-guide__images img { display: block; width: 100%; height: auto; margin: 0; }
.cc-product-contact { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-top: 100px; padding: 70px; color: #fff; background: var(--cc-navy); }.cc-product-contact>div>span { color: #63d7ee; font-size: 10px; font-weight: 700; letter-spacing: .15em; }.cc-product-contact h2 { margin: 20px 0 0; font-size: clamp(34px,4vw,56px); font-weight: 570; letter-spacing: -.045em; }.cc-product-contact p { color: rgba(255,255,255,.65); }.cc-product-contact>a { display: flex; justify-content: space-between; gap: 50px; min-width: 220px; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.5); font-weight: 650; }

.cc-reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s ease; }.cc-reveal.is-visible { opacity: 1; transform: none; }
.cc-intro__visual::after { transform-origin: center; animation: ccOuterPulse 5s ease-in-out infinite; }
.cc-intro__orbit { animation: ccOrbitSpin 16s linear infinite; }
.cc-intro__orbit::before { animation: ccOrbitReverse 9s linear infinite; }
.cc-intro__orbit::after { box-shadow: 0 0 0 0 rgba(110,225,245,.35); animation: ccCorePulse 2.8s ease-out infinite; }
.cc-intro__orbit i { animation: ccDotGlow 2.4s ease-in-out infinite; }.cc-intro__orbit i:nth-child(2) { animation-delay: -.8s; }.cc-intro__orbit i:nth-child(3) { animation-delay: -1.6s; }
@keyframes ccHeroIn { from { opacity: .7; transform: scale(1.045); } to { opacity: 1; transform: scale(1.01); } }
@keyframes ccOrbitSpin { to { transform: rotate(360deg); } }
@keyframes ccOrbitReverse { to { transform: rotate(-360deg); } }
@keyframes ccCorePulse { 0% { box-shadow: 0 0 0 0 rgba(110,225,245,.38); } 70%,100% { box-shadow: 0 0 0 22px rgba(110,225,245,0); } }
@keyframes ccDotGlow { 0%,100% { opacity: .45; transform: scale(.75); } 50% { opacity: 1; transform: scale(1.35); box-shadow: 0 0 12px rgba(255,255,255,.75); } }
@keyframes ccOuterPulse { 0%,100% { transform: scale(.96); opacity: .55; } 50% { transform: scale(1.06); opacity: 1; } }
@keyframes ccSlideProgress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }.cc-reveal { opacity: 1; transform: none; } }

@media (max-width: 1280px) {
    :root { --cc-side: 48px; }
    .cc-nav > ul { gap: 18px; }.cc-nav > ul > li > a { font-size: 15px; }.cc-account { display: none; }
    .cc-hero__content { width: 52%; }.cc-product-card { min-height: 470px; }.cc-product-card__visual { height: 285px; }
}
@media (max-width: 1024px) {
    .cc-hero { width: 100%; margin-top: 0; }
    :root { --cc-side: 28px; }
    .cc-header, .cc-header.is-scrolled { height: 76px; }.cc-header__inner { width: calc(100% - 40px); }.cc-logo { width: 165px; }.cc-nav { display: none; }.cc-menu-toggle { display: block; }
    #wrapper.cc-site-main { padding-top: 76px; }.cc-mobile-menu { position: fixed; inset: 76px 0 0; display: block; padding: 30px 24px 50px; overflow-y: auto; background: #fff; }.cc-mobile-menu[hidden] { display: none; }.cc-mobile-menu nav { display: flex; flex-direction: column; }.cc-mobile-menu nav > a { display: flex; justify-content: space-between; padding: 17px 4px; border-bottom: 1px solid var(--cc-line); color: var(--cc-navy); font-size: 22px; font-weight: 620; }.cc-mobile-menu nav > a.cc-mobile-sub { padding: 10px 18px; color: var(--cc-muted); font-size: 14px; }.cc-mobile-actions { display: flex; gap: 20px; margin-top: 35px; font-size: 13px; font-weight: 600; }
    .cc-hero { width: calc(100% - 32px); min-height: 720px; margin-top: 16px; }.cc-hero__content { top: auto; right: 25px; bottom: 45px; left: 25px; width: auto; transform: none; }.cc-hero__media { background-size: cover; background-position: 66% center; }.cc-hero__veil { background: linear-gradient(0deg, rgba(8,32,50,.9) 0%, rgba(8,32,50,.12) 58%, rgba(8,32,50,0) 100%); }.cc-hero h1 { color: #fff; font-size: clamp(42px, 7vw, 64px); }.cc-hero__copy { color: rgba(255,255,255,.8); }.cc-hero__index { display: none; }.cc-btn--glass { color: #fff; border-color: rgba(255,255,255,.45); }
    .cc-intro__body { grid-template-columns: minmax(240px,.65fr) 1.35fr; gap: 45px; }.cc-intro__copy { grid-column: 1 / -1; }.cc-intro__visual { min-height: 360px; }.cc-products__head { align-items: start; flex-direction: column; gap: 30px; }.cc-product-grid { grid-template-columns: 1fr; }.cc-product-card { min-height: 350px; }.cc-product-card__visual { height: 220px; }
    .cc-technology { grid-template-columns: 1fr; }.cc-technology__image { min-height: 580px; }.cc-service__head { align-items: start; flex-direction: column; }.cc-service-grid { grid-template-columns: 1fr; }.cc-footer__top { flex-direction: column; }.cc-footer__nav { width: 100%; grid-template-columns: repeat(3, 1fr); }
    .cc-prefooter__inner { grid-template-columns: 1fr; gap: 55px; }.cc-prefooter__actions { max-width: 620px; }
    .cc-product-page { margin-top: -45px; }.cc-product-hero { grid-template-columns: 1fr; }.cc-product-hero__copy { order: 2; }.cc-product-hero__visual { min-height: 600px; }.cc-product-statement { grid-template-columns: 1fr; }.cc-product-contact { align-items: stretch; flex-direction: column; }
}
@media (max-width: 640px) {
    .cc-hero { width: 100%; }
    :root { --cc-side: 20px; }
    .cc-technology__content { width: calc(100% - 40px); padding-right: 0; padding-left: 0; }
    body { font-size: 15px; }.cc-header__inner { width: calc(100% - 28px); }.cc-logo { width: 145px; }.cc-language { display: none; }
    #container.cc-container { width: calc(100% - 40px); padding: 45px 0 80px; }#container.cc-container--home { width: 100%; margin: 0; padding: 0; }.cc-page-heading { min-height:360px; margin-bottom:34px; padding:80px 0 55px; }.cc-page-heading h1 { font-size:38px; line-height:1.25; }.cc-page-heading p { font-size:15px; }
    .cc-hero { width: calc(100% - 20px); min-height: 650px; }.cc-hero__media { background-size: cover; background-position: 69% center; }.cc-hero__content { bottom: 30px; }.cc-eyebrow { margin-bottom: 14px; font-size: 9px; }.cc-hero h1 { font-size: 36px; }.cc-hero__line { white-space: normal; }.cc-hero__copy { margin-top: 18px; font-size: 14px; }.cc-hero__copy br { display: none; }.cc-hero__actions { flex-direction: column; align-items: stretch; margin-top: 28px; }.cc-btn { min-height: 52px; }
    .cc-section { padding: 95px 0; }.cc-intro__body { grid-template-columns: 1fr; margin-top: 45px; }.cc-intro__copy { grid-column: auto; }.cc-intro__visual { min-height: 330px; }.cc-intro h2 { font-size: 32px; }.cc-service h2 { font-size: 39px; }.cc-service h2 br { display: none; }
    .cc-products { padding: 90px 20px; }.cc-products__head h2 { margin-top: 35px; font-size: 43px; }.cc-products__head > p { width: auto; }.cc-product-grid { margin-top: 48px; }.cc-product-card { padding: 22px; }.cc-products__cta { align-items: stretch; flex-direction: column; }
    .cc-technology__image { min-height: 440px; }.cc-technology__content { padding: 70px 24px; }.cc-technology__content .cc-kicker { margin-top: 42px; }.cc-technology__content h2 { font-size: 39px; }.cc-technology__content h2 br { display: none; }.cc-value-list { grid-template-columns: 1fr; }.cc-value-list article { min-height: 0; }
    .cc-service-grid { margin-top: 45px; }.cc-service-grid a { min-height: 260px; padding: 28px; }.cc-contact-banner { align-items: stretch; flex-direction: column; width: calc(100% - 20px); min-height: 470px; margin-bottom: 90px; padding: 45px 28px; }.cc-contact-banner h2 { font-size: 38px; }.cc-contact-banner h2 br { display: none; }.cc-contact-banner > a { min-width: 0; }
    .cc-footer { padding: 65px 24px 25px; }.cc-footer__logo { width: 180px; }.cc-footer__nav { grid-template-columns: 1fr 1fr; gap: 35px; }.cc-footer__company { flex-direction: column; }.cc-footer__company p span { display: block; margin-top: 8px; }.cc-footer__company div { flex-wrap: wrap; }
    .cc-prefooter__inner { width: calc(100% - 40px); min-height: 0; padding: 55px 24px 28px; gap: 42px; }.cc-prefooter__copy h2 { font-size: 34px; }.cc-prefooter__copy h2 br { display: none; }.cc-prefooter__actions a { min-height: 96px; }
    .cc-catalog-notice { grid-template-columns: 1fr; }.cc-catalog-notice a { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 10px; }
    .cc-product-page { margin-top: -45px; }.cc-product-hero__visual { min-height: 420px; }.cc-product-page--ultrafill .cc-product-hero__visual { background-size: 100% auto; }.cc-product-hero__copy { padding: 50px 24px 70px; }.cc-product-back { margin-bottom: 45px; }.cc-product-hero h1 { font-size: 52px; }.cc-product-hero h2 { font-size: 23px; }.cc-product-hero__actions { align-items: stretch; flex-direction: column; }.cc-product-tabs { grid-template-columns: 1fr; }.cc-product-tabs a { border-right: 0; border-bottom: 1px solid var(--cc-line); }.cc-product-statement { padding: 90px 0; }.cc-product-statement h2 { font-size: 40px; }.cc-official-guide { margin-inline: -20px; padding: 75px 0 90px; }.cc-official-guide>header,.cc-official-guide__images { width: calc(100% - 40px); }.cc-official-guide>header h2 { font-size: 36px; }.cc-product-contact { margin-top: 70px; padding: 45px 28px; }.cc-product-contact>a { min-width: 0; }
}

/* Main renewal 2026-07 — white editorial beauty technology */
.cc-home-v2 { --cc-home-pad: max(var(--cc-side), calc((100vw - var(--cc-max)) / 2)); overflow: hidden; background: #fff; }
.cc-home-v2 h1,.cc-home-v2 h2,.cc-home-v2 h3,.cc-home-v2 p { word-break: keep-all; overflow-wrap: break-word; }
.cc-home-v2 .cc-hero { height: 100vh; height: 100svh; min-height: 680px; max-height: none; cursor: grab; touch-action: pan-y; user-select: none; background: #f5f2ed; }
.cc-home-v2 .cc-hero.is-dragging { cursor: grabbing; }
.cc-home-v2 .cc-hero a,.cc-home-v2 .cc-hero button { user-select: none; }
.cc-home-v2 .cc-hero::after { content: ''; position: absolute; z-index: 3; top: 0; bottom: 0; left: var(--cc-home-pad); width: 1px; pointer-events: none; background: linear-gradient(180deg,transparent,rgba(11,49,83,.14) 28%,rgba(11,49,83,.14) 72%,transparent); }
.cc-home-v2 .cc-hero__media { background-position: center; filter: saturate(.9) contrast(1.02); }
.cc-home-v2 .cc-hero__media--global-ni { background-image: url('../img/cellthcare/hero-global-ni-du310m.png'); }
.cc-home-v2 .cc-hero__media--global-dual { background-image: url('../img/cellthcare/hero-global-dual-miracle.png'); }
.cc-home-v2 .cc-hero__media--global-ultrafill { background-image: url('../img/cellthcare/hero-global-ultrafill.png'); }
.cc-home-v2 .cc-hero__veil { background: linear-gradient(90deg,rgba(249,247,243,.98) 0%,rgba(249,247,243,.92) 28%,rgba(249,247,243,.22) 49%,rgba(249,247,243,0) 66%); }
.cc-home-v2 .cc-hero__content { left: var(--cc-home-pad); width: min(700px,46vw); }
.cc-home-v2 .cc-hero h1 { color: var(--cc-navy); font-size: clamp(48px,4.05vw,76px); font-weight: 350; line-height: 1.18; letter-spacing: -.055em; text-wrap: balance; }
.cc-home-v2 .cc-hero h1 strong { color: var(--cc-cyan); font-weight: 650; }
.cc-home-v2 .cc-eyebrow { display: flex; align-items: center; gap: 13px; }
.cc-home-v2 .cc-eyebrow::before { content: ''; width: 34px; height: 1px; flex: 0 0 auto; background: var(--cc-cyan); }
.cc-home-v2 .cc-hero__copy { color: #536777; font-size: clamp(15px,1vw,18px); }
.cc-home-v2 .cc-hero__actions { margin-top: 38px; }
.cc-home-v2 .cc-btn--primary { position: relative; min-width: 205px; color: #fff; overflow: hidden; background: var(--cc-navy); }
.cc-home-v2 .cc-btn--primary::before { content: ''; position: absolute; inset: 0; background: var(--cc-cyan); transform: translateX(-102%); transition: transform .35s ease; }
.cc-home-v2 .cc-btn--primary:hover::before { transform: none; }
.cc-home-v2 .cc-btn--primary > *,.cc-home-v2 .cc-btn--primary { isolation: isolate; }
.cc-home-v2 .cc-hero__controls { left: var(--cc-home-pad); bottom: 37px; }
.cc-home-v2 .cc-hero__index { right: var(--cc-home-pad); bottom: 41px; color: var(--cc-navy); }
.cc-home-v2 .cc-hero__index span { background: rgba(11,49,83,.16); }.cc-home-v2 .cc-hero__index span i { background: var(--cc-cyan); }
.cc-hero__meta { position: absolute; z-index: 4; top: 42px; right: var(--cc-home-pad); display: flex; align-items: start; gap: 28px; color: var(--cc-navy); font-size: 9px; font-weight: 650; line-height: 1.5; letter-spacing: .14em; }
.cc-header--home + #wrapper .cc-hero__meta { top: 136px; }
.cc-hero__meta span { color: var(--cc-cyan); }.cc-hero__meta p { margin: 0; text-align: right; }
.cc-hero__scroll { position: absolute; z-index: 4; right: -47px; top: 50%; display: flex; align-items: center; gap: 14px; color: var(--cc-navy); font-size: 8px; font-weight: 700; letter-spacing: .16em; transform: rotate(90deg); }
.cc-hero__scroll span { position: relative; width: 46px; height: 1px; overflow: hidden; background: rgba(11,49,83,.2); }
.cc-hero__scroll span::after { content: ''; position: absolute; inset: 0; background: var(--cc-cyan); animation: ccScrollLine 2s ease-in-out infinite; }

.cc-rail { padding: 145px 0 155px; background: #fff; }
.cc-rail__header { position: relative; display: grid; grid-template-columns: .7fr 1.4fr .4fr; align-items: end; gap: 40px; width: min(calc(100% - (var(--cc-side) * 2)),var(--cc-max)); margin: 0 auto 72px; }
.cc-rail__header > p { align-self: start; margin: 7px 0 0; color: var(--cc-muted); font-size: 11px; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }.cc-rail__header > p span { color: var(--cc-cyan); margin-right: 10px; }
.cc-rail__header h2 { margin: 0; color: var(--cc-navy); font-size: clamp(42px,4.1vw,68px); font-weight: 560; line-height: 1.2; letter-spacing: -.055em; }
.cc-rail__control { display: flex; justify-content: flex-end; gap: 8px; }
.cc-rail__control button { width: 54px; height: 54px; color: var(--cc-navy); border: 1px solid var(--cc-line); border-radius: 50%; background: #fff; cursor: pointer; transition: .25s; }.cc-rail__control button:hover { color: #fff; border-color: var(--cc-cyan); background: var(--cc-cyan); transform: translateY(-3px); }
.cc-rail__viewport { overflow-x: auto; scrollbar-width: none; scroll-behavior: smooth; cursor: grab; user-select: none; touch-action: pan-y; }.cc-rail__viewport::-webkit-scrollbar { display: none; }.cc-rail__viewport.is-dragging { cursor: grabbing; scroll-behavior: auto; }
.cc-rail__track { display: flex; gap: 18px; width: max-content; padding: 0 var(--cc-home-pad) 25px; }
.cc-rail-card { position: relative; display: flex; flex: 0 0 clamp(290px,26vw,420px); flex-direction: column; min-height: 540px; padding: 25px; overflow: hidden; border: 1px solid #e2e7e9; background: #f7fafb; transition: transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s,border-color .3s; }
.cc-rail-card:hover { z-index: 2; border-color: rgba(32,166,199,.45); box-shadow: 0 28px 65px rgba(11,49,83,.12); transform: translateY(-12px); }
.cc-rail-card__top { display: flex; justify-content: space-between; color: var(--cc-cyan); font-size: 10px; font-weight: 700; letter-spacing: .12em; }.cc-rail-card__top em { color: #8a9aa5; font-style: normal; }
.cc-rail-card__visual { position: relative; display: grid; flex: 1; place-items: center; min-height: 345px; overflow: hidden; }
.cc-rail-card__visual i { position: absolute; inset: 15px; background-repeat: no-repeat; background-position: center; background-size: contain; filter: drop-shadow(0 30px 30px rgba(11,49,83,.14)); }
.cc-rail-card--ni-du310m .cc-rail-card__visual i { background-image: url('../img/cellthcare/products/ni-du310m-studio.png'); }
.cc-rail-card--dual-miracle .cc-rail-card__visual i { background-image: url('../img/cellthcare/products/dual-miracle-studio.png'); }
.cc-rail-card--ultrafill .cc-rail-card__visual i { background-image: url('../img/cellthcare/products/ultrafill-studio.png'); }
.cc-rail-card__body { position: relative; min-height: 105px; padding-top: 21px; border-top: 1px solid var(--cc-line); }.cc-rail-card__body h3 { margin: 0; color: var(--cc-navy); font-size: 24px; font-weight: 600; letter-spacing: -.035em; }.cc-rail-card__body p { margin: 7px 35px 0 0; color: var(--cc-muted); font-size: 13px; }.cc-rail-card__body > span { position: absolute; right: 0; top: 24px; color: var(--cc-cyan); font-size: 20px; }
.cc-rail-card.is-coming { background: linear-gradient(145deg,#ecfafd,#f8fbfc); }
.cc-rail-card.is-coming .cc-rail-card__visual::before,.cc-rail-card.is-coming .cc-rail-card__visual::after { content: ''; position: absolute; border: 1px solid rgba(32,166,199,.25); border-radius: 50%; }
.cc-rail-card.is-coming .cc-rail-card__visual::before { width: 210px; height: 210px; animation: ccComingPulse 5s ease-in-out infinite; }
.cc-rail-card.is-coming .cc-rail-card__visual::after { width: 90px; height: 90px; background: rgba(32,166,199,.09); box-shadow: 0 0 0 40px rgba(32,166,199,.035); }
.cc-rail-card--coming-02 .cc-rail-card__visual::before { border-radius: 12%; transform: rotate(45deg); }.cc-rail-card--coming-03 .cc-rail-card__visual::before { width: 260px; height: 125px; border-radius: 50%; }

.cc-manifesto { position: relative; display: grid; grid-template-columns: .45fr 1.2fr .55fr; gap: clamp(50px,7vw,130px); width: 100%; max-width: none; min-height: 520px; margin: 0 0 135px; padding: 76px var(--cc-home-pad) 82px; overflow: hidden; color: #fff; background: #092a47; }
.cc-manifesto::before { content: ''; position: absolute; top: -300px; right: -200px; width: 720px; height: 720px; border: 1px solid rgba(97,218,238,.15); border-radius: 50%; }
.cc-manifesto__aside { position: relative; z-index: 1; }.cc-manifesto__aside > span { color: #62d7eb; font-size: 9px; font-weight: 700; letter-spacing: .16em; }.cc-manifesto__aside p { margin: 90px 0 0; color: rgba(255,255,255,.4); font-size: 11px; line-height: 1.8; letter-spacing: .16em; }
.cc-manifesto__main { position: relative; z-index: 1; }.cc-manifesto__main h2 { margin: 0; font-size: clamp(42px,4vw,68px); font-weight: 350; line-height: 1.25; letter-spacing: -.055em; }.cc-manifesto__main h2 strong { color: #63d7eb; font-weight: 650; }.cc-manifesto__main > p:not(.cc-kicker) { max-width: 680px; margin: 38px 0 0; color: rgba(255,255,255,.68); font-size: 16px; line-height: 1.9; }
.cc-editorial-link { display: inline-flex; align-items: center; gap: 50px; margin-top: 38px; padding-bottom: 9px; border-bottom: 1px solid currentColor; font-size: 13px; font-weight: 650; }
.cc-manifesto__mark { position: relative; z-index: 1; align-self: center; height: 250px; color: rgba(255,255,255,.14); font-size: 100px; font-weight: 200; }.cc-manifesto__mark span { position: absolute; top: 0; left: 0; }.cc-manifesto__mark b { position: absolute; right: 0; bottom: 0; color: rgba(99,215,235,.3); font-size: 38px; font-weight: 400; }.cc-manifesto__mark i { position: absolute; inset: 50% auto auto 50%; width: 105px; height: 105px; border: 1px solid rgba(99,215,235,.35); border-radius: 50%; animation: ccComingPulse 5s ease-in-out infinite; }

.cc-editorial { display: grid; grid-template-columns: repeat(12,1fr); grid-template-rows: 130px minmax(310px,37vw) 160px; width: min(calc(100% - (var(--cc-side) * 2)),var(--cc-max)); margin: 0 auto 180px; }
.cc-editorial figure { margin: 0; overflow: hidden; background: var(--cc-ice); }.cc-editorial figure img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s cubic-bezier(.22,1,.36,1); }.cc-editorial figure:hover img { transform: scale(1.035); }
.cc-editorial__image--large { grid-column: 1 / 9; grid-row: 1 / 3; }.cc-editorial__image--large img { object-position: 63% center; }
.cc-editorial__copy { grid-column: 9 / 13; grid-row: 2 / 4; display: flex; flex-direction: column; justify-content: center; padding: clamp(38px,4.2vw,72px); color: #fff; background: var(--cc-cyan); }
.cc-editorial__copy > span,.cc-feature__heading > span,.cc-detail-wall__title > span,.cc-values__head > span,.cc-support__intro > span { font-size: 9px; font-weight: 700; letter-spacing: .17em; }
.cc-editorial__copy h2 { margin: 24px 0 0; font-size: clamp(32px,3vw,50px); font-weight: 530; line-height: 1.25; letter-spacing: -.05em; }.cc-editorial__copy p { margin: 28px 0 0; color: rgba(255,255,255,.78); font-size: 15px; line-height: 1.85; }
.cc-editorial__image--detail { grid-column: 2 / 5; grid-row: 3 / 4; border: 15px solid #fff; transform: translateY(-75px); }.cc-editorial__image--detail img { object-fit: cover; }

.cc-feature { display: grid; grid-template-columns: .65fr 1.2fr .65fr; align-items: center; gap: clamp(35px,5vw,90px); min-height: 760px; padding: 120px var(--cc-home-pad); background: #f3f9fa; }
.cc-feature__heading h2 { margin: 20px 0 0; color: var(--cc-navy); font-size: clamp(54px,6vw,105px); font-weight: 250; line-height: 1; letter-spacing: -.065em; }.cc-feature__heading p { margin: 20px 0 0; color: var(--cc-cyan); font-size: 10px; font-weight: 700; line-height: 1.7; letter-spacing: .12em; }
.cc-feature__visual { position: relative; display: grid; place-items: center; min-height: 560px; }.cc-feature__visual::before { content: ''; position: absolute; width: 78%; aspect-ratio: 1; border: 1px solid rgba(32,166,199,.18); border-radius: 50%; animation: ccSlowSpin 18s linear infinite; }.cc-feature__visual::after { content: ''; position: absolute; width: 52%; aspect-ratio: 1; border: 1px dashed rgba(32,166,199,.25); border-radius: 50%; animation: ccSlowSpin 12s linear infinite reverse; }
.cc-feature__visual img { position: relative; z-index: 2; width: min(93%,720px); filter: drop-shadow(0 35px 40px rgba(11,49,83,.17)); transition: transform .7s cubic-bezier(.22,1,.36,1); }.cc-feature__visual:hover img { transform: translateY(-12px) scale(1.02); }.cc-feature__visual span { position: absolute; z-index: 3; right: -15px; bottom: 25px; color: var(--cc-navy); font-size: 9px; font-weight: 700; line-height: 1.7; letter-spacing: .15em; }
.cc-feature__info p { color: var(--cc-muted); font-size: 16px; line-height: 1.9; }.cc-feature__info .cc-btn { margin-top: 28px; }

.cc-detail-wall { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto minmax(360px,42vw) minmax(280px,31vw); gap: 14px; padding: 170px var(--cc-home-pad); background: #fff; }
.cc-detail-wall__title { display: grid; grid-column: 1 / -1; grid-template-columns: .55fr 1.45fr; align-items: start; margin-bottom: 70px; }.cc-detail-wall__title > span { color: var(--cc-cyan); }.cc-detail-wall__title h2 { margin: 0; color: var(--cc-navy); font-size: clamp(42px,4vw,68px); font-weight: 550; line-height: 1.2; letter-spacing: -.055em; }
.cc-detail-wall figure { margin: 0; overflow: hidden; background: #f5f6f6; }.cc-detail-wall img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.22,1,.36,1); }.cc-detail-wall figure:hover img { transform: scale(1.04); }
.cc-detail-wall__a { grid-row: 2 / 4; }.cc-detail-wall__a img { object-position: center top; }.cc-detail-wall__b { grid-column: 2; grid-row: 2; }.cc-detail-wall__c { grid-column: 2; grid-row: 3; }

.cc-values { padding-top: 150px; padding-bottom: 170px; }
.cc-values__head { display: grid; grid-template-columns: .55fr 1.45fr; }.cc-values__head > span { color: var(--cc-cyan); }.cc-values__head h2 { margin: 0; color: var(--cc-navy); font-size: clamp(42px,4vw,68px); font-weight: 540; line-height: 1.2; letter-spacing: -.055em; }
.cc-values__grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 90px; border-top: 1px solid var(--cc-line); }
.cc-values__grid article { position: relative; min-height: 330px; padding: 35px 38px; border-right: 1px solid var(--cc-line); transition: color .35s,background .35s; }.cc-values__grid article:first-child { border-left: 1px solid var(--cc-line); }.cc-values__grid article:hover { color: #fff; background: var(--cc-navy); }
.cc-values__grid b { color: var(--cc-cyan); font-size: 11px; }.cc-values__grid h3 { margin: 86px 0 12px; color: var(--cc-navy); font-size: 26px; transition: color .35s; }.cc-values__grid article:hover h3 { color: #fff; }.cc-values__grid p { max-width: 300px; margin: 0; color: var(--cc-muted); font-size: 14px; line-height: 1.75; transition: color .35s; }.cc-values__grid article:hover p { color: rgba(255,255,255,.68); }.cc-values__grid i { position: absolute; right: 35px; top: 32px; width: 34px; height: 34px; border: 1px solid var(--cc-line); border-radius: 50%; }.cc-values__grid i::before,.cc-values__grid i::after { content: ''; position: absolute; left: 50%; top: 50%; background: var(--cc-cyan); transform: translate(-50%,-50%); }.cc-values__grid i::before { width: 12px; height: 1px; }.cc-values__grid i::after { width: 1px; height: 12px; }

.cc-support { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(60px,8vw,150px); padding-top: 40px; padding-bottom: 170px; }
.cc-support__intro > span { color: var(--cc-cyan); }.cc-support__intro h2 { margin: 28px 0 0; color: var(--cc-navy); font-size: clamp(42px,4vw,65px); font-weight: 550; line-height: 1.25; letter-spacing: -.055em; }
.cc-support__links { border-top: 1px solid var(--cc-line); }.cc-support__links a { display: grid; grid-template-columns: 50px 1fr 40px; align-items: center; min-height: 130px; padding: 20px 10px; border-bottom: 1px solid var(--cc-line); transition: padding .3s,background .3s; }.cc-support__links a:hover { padding-right: 28px; padding-left: 28px; background: var(--cc-ice); }
.cc-support__links > a > span { color: var(--cc-cyan); font-size: 10px; }.cc-support__links small { color: var(--cc-muted); font-size: 8px; font-weight: 700; letter-spacing: .16em; }.cc-support__links h3 { margin: 4px 0 0; color: var(--cc-navy); font-size: 26px; }.cc-support__links b { color: var(--cc-cyan); font-size: 20px; font-weight: 400; }

.cc-final-cta { position: relative; display: flex; align-items: end; justify-content: space-between; gap: 60px; min-height: 590px; padding: 110px var(--cc-home-pad); overflow: hidden; color: #fff; background: linear-gradient(125deg,#082640,#0b4968); }
.cc-final-cta::before { content: ''; position: absolute; top: -270px; right: -70px; width: 690px; height: 690px; border: 1px solid rgba(99,215,235,.25); border-radius: 50%; box-shadow: 0 0 0 70px rgba(99,215,235,.035),0 0 0 140px rgba(99,215,235,.025); }
.cc-final-cta > div,.cc-final-cta > a { position: relative; z-index: 2; }.cc-final-cta > div > span { color: #63d7eb; font-size: 10px; font-weight: 700; letter-spacing: .17em; }.cc-final-cta h2 { margin: 25px 0 0; font-size: clamp(44px,5vw,78px); font-weight: 480; line-height: 1.2; letter-spacing: -.055em; }
.cc-final-cta > a { display: flex; justify-content: space-between; gap: 70px; min-width: 255px; padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.6); font-size: 15px; font-weight: 650; }.cc-final-cta > a span { color: #63d7eb; }
.cc-final-cta > i { position: absolute; top: 95px; right: 12%; width: 11px; height: 11px; border-radius: 50%; background: #63d7eb; box-shadow: 0 0 0 9px rgba(99,215,235,.12); animation: ccCorePulse 2.8s ease-out infinite; }
#top_btn { position: fixed !important; z-index: 1900; right: 24px !important; bottom: 24px !important; top: auto !important; display: grid !important; place-items: center; width: 52px !important; height: 52px !important; margin: 0 !important; padding: 0 !important; color: #fff !important; border: 0 !important; border-radius: 50% !important; background: var(--cc-navy) !important; box-shadow: 0 12px 30px rgba(11,49,83,.2); opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .25s,visibility .25s,transform .25s,background .25s; pointer-events: none; cursor: pointer; }
#top_btn.is-visible { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }#top_btn.is-visible:hover { background: var(--cc-cyan) !important; transform: translateY(-3px); }

.cc-reveal-group > * { opacity: 0; transform: translateY(34px); transition: opacity .85s ease,transform .85s cubic-bezier(.22,1,.36,1); }
.cc-reveal-group.is-visible > * { opacity: 1; transform: none; }.cc-reveal-group.is-visible > *:nth-child(2) { transition-delay: .12s; }.cc-reveal-group.is-visible > *:nth-child(3) { transition-delay: .22s; }
@keyframes ccScrollLine { 0% { transform: translateX(-105%); } 55%,100% { transform: translateX(105%); } }
@keyframes ccHeroImageReveal { 0% { opacity: .45; transform: scale(1.095); filter: saturate(.72) contrast(.96) blur(4px); } 16% { opacity: 1; filter: saturate(.9) contrast(1.02) blur(0); } 100% { opacity: 1; transform: scale(1.01); filter: saturate(.9) contrast(1.02) blur(0); } }
@keyframes ccHeroSmoothReveal { 0% { opacity: 0; transform: translate3d(0,18px,0); } 22% { opacity: .18; } 100% { opacity: 1; transform: translate3d(0,0,0); } }
@keyframes ccComingPulse { 0%,100% { transform: scale(.92); opacity: .55; } 50% { transform: scale(1.06); opacity: 1; } }
@keyframes ccSlowSpin { to { transform: rotate(360deg); } }

@media (max-width:1280px) {
    .cc-home-v2 { --cc-home-pad: 48px; }
    .cc-home-v2 .cc-hero__content { width: 49vw; }.cc-home-v2 .cc-hero h1 { font-size: clamp(44px,4.2vw,60px); }
    .cc-manifesto { grid-template-columns: .35fr 1.4fr; }.cc-manifesto__mark { display: none; }
    .cc-feature { grid-template-columns: .7fr 1.25fr .7fr; }
}
@media (max-width:1024px) {
    .cc-home-v2 { --cc-home-pad: 28px; }
    .cc-home-v2 .cc-hero { width: 100%; min-height: 720px; margin: 0; }
    .cc-home-v2 .cc-hero::after,.cc-hero__meta,.cc-hero__scroll { display: none; }
    .cc-home-v2 .cc-hero__content { right: 28px; bottom: 60px; left: 28px; width: auto; }
    .cc-home-v2 .cc-hero__media { background-position: 68% center; }
    .cc-home-v2 .cc-hero__veil { background: linear-gradient(0deg,rgba(7,30,48,.92) 0%,rgba(7,30,48,.3) 52%,rgba(7,30,48,0) 76%); }
    .cc-home-v2 .cc-hero h1 { color: #fff; font-size: clamp(42px,7vw,60px); }.cc-home-v2 .cc-hero__copy { color: rgba(255,255,255,.8); }
    .cc-home-v2 .cc-hero__controls { bottom: 22px; left: 28px; }.cc-home-v2 .cc-hero__index { right: 28px; bottom: 30px; color: #fff; }
    .cc-rail__header { grid-template-columns: 1fr auto; }.cc-rail__header > p { grid-column: 1 / -1; }.cc-rail__header h2 { font-size: 48px; }
    .cc-manifesto { grid-template-columns: 1fr; }.cc-manifesto__aside p { display: none; }
    .cc-editorial { grid-template-rows: 100px minmax(430px,60vw) auto; }.cc-editorial__image--large { grid-column: 1 / 10; }.cc-editorial__copy { grid-column: 8 / 13; padding: 38px; }.cc-editorial__image--detail { display: none; }
    .cc-feature { grid-template-columns: 1fr 1.5fr; }.cc-feature__info { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 45px; }.cc-feature__info p { max-width: 620px; }
    .cc-values__head,.cc-detail-wall__title { grid-template-columns: 1fr; gap: 25px; }
    .cc-support { grid-template-columns: 1fr; }
}
@media (max-width:640px) {
    .cc-home-v2 { --cc-home-pad: 20px; }
    .cc-home-v2 .cc-hero { width: 100%; min-height: 650px; }
    .cc-home-v2 .cc-hero__media { background-position: 76% center; }
    .cc-home-v2 .cc-hero__content { right: 22px; bottom: 72px; left: 22px; }
    .cc-home-v2 .cc-hero h1 { font-size: 36px; line-height: 1.25; }.cc-home-v2 .cc-hero__copy { font-size: 14px; }.cc-home-v2 .cc-hero__copy br { display: none; }
    .cc-home-v2 .cc-hero__actions { margin-top: 25px; }.cc-home-v2 .cc-hero__index { display: none; }.cc-home-v2 .cc-hero__controls { bottom: 20px; }
    .cc-rail { padding: 95px 0 105px; }.cc-rail__header { display: block; width: calc(100% - 40px); margin-bottom: 42px; }.cc-rail__header h2 { margin-top: 28px; font-size: 37px; }.cc-rail__control { justify-content: flex-start; margin-top: 28px; }
    .cc-rail__track { padding-right: 20px; padding-left: 20px; }.cc-rail-card { flex-basis: min(82vw,340px); min-height: 470px; }.cc-rail-card__visual { min-height: 285px; }
    .cc-manifesto { width: 100%; min-height: 0; margin-bottom: 90px; padding: 50px 20px 58px; }.cc-manifesto__main h2 { font-size: 36px; }.cc-manifesto__main > p:not(.cc-kicker) { font-size: 15px; }
    .cc-editorial { display: flex; flex-direction: column; width: calc(100% - 40px); margin-bottom: 105px; }.cc-editorial__image--large { height: 420px; }.cc-editorial__image--large img { object-position: 68% center; }.cc-editorial__copy { padding: 50px 28px; }.cc-editorial__copy h2 { font-size: 34px; }
    .cc-feature { display: flex; flex-direction: column; min-height: 0; padding: 85px 20px; }.cc-feature__heading { width: 100%; }.cc-feature__heading h2 { font-size: 62px; }.cc-feature__visual { width: 100%; min-height: 390px; }.cc-feature__visual span { right: 0; }.cc-feature__info { display: block; }.cc-feature__info .cc-btn { width: 100%; }
    .cc-detail-wall { display: flex; flex-direction: column; gap: 10px; padding: 100px 20px; }.cc-detail-wall__title { margin-bottom: 35px; }.cc-detail-wall__title h2 { font-size: 37px; }.cc-detail-wall figure { height: 330px; }.cc-detail-wall__a { height: 480px !important; }
    .cc-values { padding-top: 90px; padding-bottom: 105px; }.cc-values__head h2 { font-size: 38px; }.cc-values__grid { grid-template-columns: 1fr; margin-top: 55px; }.cc-values__grid article { min-height: 250px; border-right: 1px solid var(--cc-line); border-bottom: 1px solid var(--cc-line); border-left: 1px solid var(--cc-line); }.cc-values__grid h3 { margin-top: 65px; }
    .cc-support { padding-top: 0; padding-bottom: 105px; }.cc-support__intro h2 { font-size: 38px; }.cc-support__links a { min-height: 105px; }
    .cc-final-cta { align-items: stretch; flex-direction: column; justify-content: flex-end; min-height: 520px; padding: 70px 24px; }.cc-final-cta h2 { font-size: 39px; }.cc-final-cta > a { min-width: 0; }
}
@media (prefers-reduced-motion:reduce) {
    .cc-hero__content>* { opacity: 1; transform: none; }
    .cc-reveal-group > * { opacity: 1; transform: none; }
}
