@charset "UTF-8";
:root{
  --burgundy:#CE1735;--ink:#111111;--muted:#6f6a66;--paper:#f6f3ef;--warm:#eee8e1;
  --white:#fff;--line:#ddd8d2;--max:1500px;--header:78px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;-webkit-font-smoothing:antialiased}body.no-scroll{overflow:hidden}
a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.shell{width:min(var(--max),calc(100% - 80px));margin-inline:auto}.eyebrow{margin:0 0 20px;color:var(--burgundy);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.display{margin:0;font-size:clamp(48px,6vw,102px);line-height:.94;letter-spacing:-.055em;font-weight:400}.section-title{margin:0;font-size:clamp(36px,4.2vw,68px);line-height:1.05;letter-spacing:-.045em;font-weight:400}.body-lg{font-size:17px;line-height:1.8;color:#585451;word-break:keep-all}.body-sm{font-size:14px;line-height:1.8;color:#66615e;word-break:keep-all}.line-link{display:inline-flex;align-items:center;gap:16px;margin-top:24px;padding-bottom:7px;border-bottom:1px solid var(--burgundy);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.line-link span{color:var(--burgundy);font-size:16px}.rule{height:1px;background:var(--line)}
/* Header */
.site-header{position:fixed;z-index:1000;inset:0 0 auto;height:var(--header);background:rgba(255,255,255,.95);border-bottom:1px solid rgba(17,17,17,.09);backdrop-filter:blur(16px)}.header-inner{height:100%;display:flex;align-items:center}.brand img{display:block;height:42px;width:auto}.main-nav{margin-left:auto;display:flex;align-items:center;gap:34px}.main-nav a{font-size:10px;letter-spacing:.12em;font-weight:600}.main-nav a:hover,.main-nav a.active{color:var(--burgundy)}.lang{margin-left:30px;display:flex;border:1px solid var(--burgundy);border-radius:22px;padding:3px}.lang button{border:0;background:transparent;color:#888;font-size:9px;font-weight:600;padding:7px 10px;cursor:pointer}.lang button.active{background:var(--burgundy);color:white;border-radius:17px}.menu-btn,.mobile-nav{display:none}
/* Hero */
.hero{padding-top:var(--header);background:#fff}.hero-grid{min-height:calc(100vh - var(--header));display:grid;grid-template-columns:.88fr 1.12fr;gap:5vw;align-items:center;padding-top:52px;padding-bottom:60px}.hero-copy{max-width:650px}.hero-copy .display{max-width:8ch}.hero-copy .body-lg{max-width:500px;margin:28px 0 0}.hero-cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px}.hero-cta .outline{display:inline-flex;align-items:center;gap:32px;min-height:50px;padding:0 20px;border:1px solid var(--burgundy);color:var(--burgundy);font-size:13px;font-weight:600}.hero-cats{margin:26px 0 0;font-size:10px;letter-spacing:.16em;color:#777}.hero-cats b{padding:0 8px;color:var(--burgundy)}.hero-visual{position:relative;min-height:650px}.hero-main{position:absolute;right:0;top:2%;width:78%;height:72%;overflow:hidden;background:var(--paper);border-radius:0 0 0 140px}.hero-main img{width:100%;height:100%;object-fit:cover}.hero-small{position:absolute;left:1%;bottom:3%;width:38%;height:36%;overflow:hidden;background:var(--paper);border-radius:100px 0 0 0;box-shadow:0 20px 60px rgba(17,17,17,.08)}.hero-small img{width:100%;height:100%;object-fit:cover}.hero-orbit{position:absolute;right:-2%;top:0;width:45%;aspect-ratio:1;border:1px solid rgba(206,23,53,.22);border-radius:50%;pointer-events:none}.hero-word{position:absolute;left:35%;bottom:10%;font-size:clamp(18px,2vw,38px);line-height:1.05;letter-spacing:-.04em;color:var(--burgundy);max-width:8ch;font-weight:400}
/* Intro */
.intro{padding:155px 0 170px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.intro-grid{display:grid;grid-template-columns:1.1fr .8fr;gap:12vw;align-items:end}.intro .section-title{max-width:11ch}.intro-copy{max-width:520px}
/* What we do */
.capabilities{padding:145px 0}.section-head{display:grid;grid-template-columns:1.15fr .65fr;gap:8vw;align-items:end;margin-bottom:72px}.section-head .body-lg{margin:0}.cap-list{display:grid;gap:0}.cap-row{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;padding:36px 0;border-top:1px solid var(--line)}.cap-row:last-child{border-bottom:1px solid var(--line)}.cap-row:nth-child(even) .cap-image{order:2}.cap-row:nth-child(even) .cap-copy{order:1}.cap-image{height:500px;overflow:hidden;background:var(--paper)}.cap-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.cap-row:hover .cap-image img{transform:scale(1.025)}.cap-num{font-size:10px;letter-spacing:.16em;color:var(--burgundy);font-weight:600}.cap-copy h3{margin:14px 0 18px;font-size:clamp(31px,3.1vw,50px);line-height:1.02;letter-spacing:-.04em;font-weight:400}.cap-copy p{max-width:500px;margin:0}
/* Innovations */
.innovation{padding:145px 0;background:#f8f6f3}.innovation-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:6vw;align-items:start}.innovation-tabs{border-top:1px solid #cfc8c2}.innovation-tab{display:grid;grid-template-columns:52px 1fr;gap:4px;width:100%;padding:21px 0;border:0;border-bottom:1px solid #cfc8c2;background:none;text-align:left;cursor:pointer}.innovation-tab span{font-size:10px;color:var(--burgundy);font-weight:600}.innovation-tab strong{font-size:18px;font-weight:400}.innovation-tab.active strong{color:var(--burgundy)}.innovation-stage{position:sticky;top:calc(var(--header) + 30px)}.innovation-images{position:relative;height:520px}.innovation-image{position:absolute;inset:0;opacity:0;transform:translateY(18px);transition:opacity .45s ease,transform .55s ease;display:grid;grid-template-columns:1.1fr .75fr;gap:12px}.innovation-image.active{opacity:1;transform:none}.innovation-image figure{margin:0;overflow:hidden;background:#eee}.innovation-image figure:first-child{border-radius:120px 0 0 0}.innovation-image img{width:100%;height:100%;object-fit:cover}.innovation-detail{margin-top:30px;max-width:720px}.innovation-detail h3{margin:0 0 14px;font-size:34px;line-height:1.05;font-weight:400;letter-spacing:-.035em}.innovation-detail p{margin:0}
/* Product types */
.formula-preview{padding:145px 0}.formula-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.formula-category{position:relative;height:520px;overflow:hidden;background:#eee}.formula-category img{width:100%;height:100%;object-fit:cover;transition:transform .75s ease}.formula-category:hover img{transform:scale(1.035)}.formula-category::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.55))}.formula-category .label{position:absolute;z-index:2;left:28px;right:28px;bottom:25px;color:#fff}.formula-category .label small{font-size:10px;letter-spacing:.16em}.formula-category .label h3{margin:8px 0 0;font-size:30px;font-weight:400}.formula-category .label p{margin:8px 0 0;font-size:12px;color:#eee}
/* R&D / Manufacturing */
.split-feature{display:grid;grid-template-columns:1.1fr .9fr;background:var(--paper)}.split-feature.reverse{grid-template-columns:.9fr 1.1fr;background:white}.split-image{min-height:700px;overflow:hidden}.split-image img{width:100%;height:100%;object-fit:cover}.split-copy{padding:100px 8vw;align-self:center}.split-copy .section-title{margin-bottom:24px}.mini-list{margin:45px 0 0;padding:0;list-style:none}.mini-list li{display:grid;grid-template-columns:48px 1fr;padding:17px 0;border-top:1px solid #cfc8c2;font-size:12px;letter-spacing:.05em}.mini-list li b{font-size:10px;color:var(--burgundy)}
/* Global */
.global{padding:145px 0;background:#0f0f0f;color:#fff}.global-grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:7vw;align-items:center}.global .body-lg{color:#c8c8c8}.global-map img{width:100%;height:auto;display:block;filter:grayscale(1) brightness(1.55)}.country-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.country-list span{border:1px solid #444;padding:8px 11px;font-size:10px;letter-spacing:.06em;color:#ddd}.logos{padding:62px 0 72px;background:#fff;overflow:hidden}.logo-track{display:flex;gap:70px;align-items:center;width:max-content;animation:marquee 34s linear infinite}.logo-item{width:150px;height:68px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.logo-item img{max-width:100%;max-height:50px;filter:grayscale(1);opacity:.76}.logo-track:hover{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}
/* Certifications */
.cert-section{padding:145px 0;background:#f8f6f3}.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.cert-card{background:#fff;border:1px solid #e7e0da;overflow:hidden}.cert-card .thumb{aspect-ratio:.76;overflow:hidden;background:#f3f1ee}.cert-card img{width:100%;height:100%;object-fit:cover;object-position:top}.cert-card .meta{padding:18px}.cert-card small{font-size:9px;letter-spacing:.14em;color:var(--burgundy)}.cert-card h3{font-size:15px;line-height:1.4;font-weight:500;margin:8px 0 0}
/* Products */
.products{padding:145px 0}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.product-card{display:block}.product-image{height:430px;overflow:hidden;background:#eee}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.product-card:hover img{transform:scale(1.025)}.product-card .meta{padding:18px 0}.product-card small{font-size:9px;letter-spacing:.14em;color:var(--burgundy)}.product-card h3{margin:7px 0 0;font-size:15px;font-weight:500;line-height:1.45}
/* CTA + footer */
.cta{padding:135px 0;background:var(--burgundy);color:white}.cta-grid{display:grid;grid-template-columns:1.15fr .65fr;gap:8vw;align-items:end}.cta .eyebrow{color:#F2D6DA}.cta .body-lg{color:#FAF2F3}.cta .line-link{color:#fff;border-color:#fff}.cta .line-link span{color:#fff}.footer{padding:75px 0 32px;background:#fff}.footer-main{display:grid;grid-template-columns:.6fr 1.4fr;gap:8vw}.footer-logo img{height:58px;width:auto}.footer-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.footer-cols small{font-size:9px;letter-spacing:.12em;color:var(--burgundy);font-weight:600}.footer-cols p{font-size:12px;line-height:1.75;color:#555}.footer-bottom{display:flex;justify-content:space-between;gap:30px;padding-top:24px;margin-top:55px;border-top:1px solid var(--line);font-size:9px;color:#777}.footer-bottom nav{display:flex;gap:22px}
/* subpage */
.page-hero{padding:calc(var(--header) + 90px) 0 105px;border-bottom:1px solid var(--line);background:#fff}.page-hero-grid{display:grid;grid-template-columns:1.2fr .65fr;gap:10vw;align-items:end}.page-hero .display{max-width:11ch}.page-section{padding:125px 0}.page-section.paper{background:#f8f6f3}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.service-card{border-top:1px solid #bbb;padding:24px 0}.service-card b{color:var(--burgundy);font-size:10px}.service-card h3{font-size:25px;font-weight:400;margin:15px 0}.service-card p{font-size:14px;line-height:1.75;color:#666}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.step{min-height:300px;padding:28px;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column}.step b{font-size:10px;color:var(--burgundy)}.step h3{font-size:25px;font-weight:400;margin:14px 0}.step p{font-size:14px;line-height:1.75;color:#666;margin:auto 0 0}.flow{display:flex;gap:0;overflow:auto;padding-bottom:8px}.flow span{min-width:180px;padding:20px 16px;border-top:1px solid var(--burgundy);font-size:12px;letter-spacing:.08em}.flow span+span{margin-left:12px}
/* Formula page */
.category-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:35px}.category-tabs button{border:1px solid #bbb;background:#fff;padding:10px 15px;font-size:11px;letter-spacing:.08em;cursor:pointer}.category-tabs button.active{border-color:var(--burgundy);background:var(--burgundy);color:#fff}.formula-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.formula-card{position:relative;border:0;padding:0;background:#eee;cursor:pointer;text-align:left;overflow:hidden}.formula-card figure{margin:0;height:340px}.formula-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.formula-card:hover img{transform:scale(1.03)}.formula-card .info{background:#fff;padding:16px}.formula-card small{font-size:9px;letter-spacing:.12em;color:var(--burgundy)}.formula-card h3{margin:7px 0 0;font-size:18px;font-weight:400}.formula-card[hidden]{display:none}
/* Modal */
.modal{position:fixed;z-index:1200;inset:0;display:none;align-items:center;justify-content:center;padding:30px;background:rgba(0,0,0,.72)}.modal.open{display:flex}.modal-box{width:min(100%,980px);max-height:90vh;overflow:auto;background:#fff}.modal-close{position:sticky;top:0;float:right;margin:15px 15px 0 0;width:40px;height:40px;border:1px solid #bbb;background:#fff;z-index:2;cursor:pointer}.modal-content{padding:70px 55px 55px}.modal-content img{width:100%;max-height:520px;object-fit:cover;margin-bottom:30px}.modal-content h2{font-size:40px;font-weight:400;margin:0 0 14px}.modal-content p{line-height:1.8;color:#555;white-space:pre-line}
/* Contact */
.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.contact-info h2{font-size:38px;font-weight:400;margin:0 0 25px}.contact-info dl{margin:35px 0}.contact-info dt{font-size:9px;color:var(--burgundy);letter-spacing:.12em;margin-top:20px}.contact-info dd{margin:6px 0 0;color:#555;font-size:13px;line-height:1.6}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field.full{grid-column:1/-1}.field label{display:block;font-size:10px;letter-spacing:.08em;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #cfc8c2;background:#fff;padding:13px 14px;font-size:14px;outline:none}.field textarea{min-height:150px;resize:vertical}.submit{grid-column:1/-1;justify-self:start;border:1px solid var(--burgundy);background:var(--burgundy);color:#fff;padding:14px 24px;cursor:pointer}
/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:1100px){.shell{width:min(var(--max),calc(100% - 48px))}.main-nav{display:none}.menu-btn{display:flex;margin-left:18px;width:32px;height:32px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:6px}.menu-btn span{display:block;width:24px;height:1px;background:#111}.mobile-nav{position:absolute;top:var(--header);left:0;right:0;background:#fff;padding:12px 24px 22px;border-bottom:1px solid var(--line)}.mobile-nav.open{display:grid}.mobile-nav a{padding:13px 0;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.1em}.hero-grid,.intro-grid,.section-head,.innovation-layout,.global-grid,.cta-grid,.page-hero-grid,.contact-grid,.footer-main{grid-template-columns:1fr}.hero-visual{min-height:570px}.cap-row{grid-template-columns:1fr;gap:25px}.cap-row:nth-child(even) .cap-image,.cap-row:nth-child(even) .cap-copy{order:initial}.innovation-stage{position:relative;top:auto}.formula-categories,.service-grid,.steps{grid-template-columns:1fr 1fr}.cert-grid,.product-grid,.formula-grid{grid-template-columns:repeat(2,1fr)}.split-feature,.split-feature.reverse{grid-template-columns:1fr}.split-image{min-height:550px}.footer-cols{grid-template-columns:1fr 1fr}}
@media(max-width:680px){:root{--header:68px}.shell{width:calc(100% - 30px)}.brand img{height:34px}.lang{display:none}.hero-grid{min-height:auto;padding-top:60px;padding-bottom:70px}.hero-copy .display{font-size:58px}.hero-visual{min-height:440px}.hero-main{width:82%;height:70%;border-radius:0 0 0 80px}.hero-small{width:42%;height:34%;border-radius:70px 0 0 0}.hero-word{font-size:21px}.intro,.capabilities,.innovation,.formula-preview,.cert-section,.products,.page-section{padding:90px 0}.intro-grid,.section-head{gap:32px}.section-head{margin-bottom:45px}.cap-image{height:360px}.cap-copy h3{font-size:32px}.innovation-images{height:420px}.innovation-image{grid-template-columns:1fr .68fr}.innovation-detail h3{font-size:29px}.formula-categories{grid-template-columns:1fr}.formula-category{height:430px}.split-image{min-height:380px}.split-copy{padding:72px 24px}.global{padding:90px 0}.logos{padding:45px 0}.cert-grid,.product-grid,.formula-grid,.service-grid,.steps{grid-template-columns:1fr}.product-image{height:440px}.cta{padding:90px 0}.footer-cols{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.footer-bottom nav{flex-wrap:wrap}.page-hero{padding-top:calc(var(--header) + 65px);padding-bottom:75px}.modal{padding:12px}.modal-content{padding:58px 20px 25px}.modal-content h2{font-size:30px}.contact-form{grid-template-columns:1fr}.field.full,.submit{grid-column:1}}

/* =========================================================
   FORMULA REFINED · NEW V01
   Source structure: Innovative / Skin / Body / Hair
   ========================================================= */
.formula-v2-hero{padding:calc(var(--header) + 92px) 0 92px;background:#fff;border-bottom:1px solid var(--line)}
.formula-v2-hero__grid{display:grid;grid-template-columns:1.12fr .72fr;gap:9vw;align-items:end}
.formula-v2-hero .display{margin:0;font-size:clamp(58px,7.3vw,112px);line-height:.9;letter-spacing:-.055em;font-weight:400}
.formula-v2-hero .body-lg{margin:0;max-width:560px;color:#4f4b48}
.formula-v2-hero__hint{margin:18px 0 0;font-size:13px;line-height:1.7;color:var(--burgundy);font-weight:500}
.formula-v2-nav{position:sticky;top:var(--header);z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.formula-v2-nav .shell{display:flex;align-items:center;gap:0;overflow:auto;scrollbar-width:none}.formula-v2-nav .shell::-webkit-scrollbar{display:none}
.formula-v2-nav a{display:flex;align-items:center;gap:10px;flex:0 0 auto;padding:19px 28px 17px 0;margin-right:34px;border-bottom:2px solid transparent;font-size:10px;letter-spacing:.13em;font-weight:600;white-space:nowrap}
.formula-v2-nav a:hover{color:var(--burgundy);border-color:var(--burgundy)}.formula-v2-nav a span{font-size:9px;color:#999}
.formula-v2-section{padding:138px 0;background:#fff;scroll-margin-top:calc(var(--header) + 58px)}
.formula-v2-section--innovation{background:#f7f4f1}.formula-v2-section--paper{background:#faf9f7}
.formula-v2-heading{display:grid;grid-template-columns:1.1fr .72fr;gap:9vw;align-items:end;margin-bottom:64px}
.formula-v2-heading--line{padding-top:18px;border-top:1px solid #111}
.formula-v2-heading h2{margin:0;font-size:clamp(46px,5.1vw,78px);line-height:.95;letter-spacing:-.045em;font-weight:400}
.formula-v2-heading>p{margin:0 0 5px;max-width:520px;font-size:16px;line-height:1.82;color:#666;word-break:keep-all}

.innovative-v2-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:14px}
.innovative-v2-grid .innovation-v2-card:nth-child(1){grid-column:span 7}.innovative-v2-grid .innovation-v2-card:nth-child(2){grid-column:span 5}
.innovative-v2-grid .innovation-v2-card:nth-child(3){grid-column:span 4}.innovative-v2-grid .innovation-v2-card:nth-child(4){grid-column:span 4}.innovative-v2-grid .innovation-v2-card:nth-child(5){grid-column:span 4}
.innovative-v2-grid .innovation-v2-card:nth-child(-n+2) figure{height:560px}.innovative-v2-grid .innovation-v2-card:nth-child(n+3) figure{height:420px}
.innovative-v2-grid--standalone .innovation-v2-card:nth-child(-n+2) figure{height:620px}

.formula-v2-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.formula-v2-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.formula-v2-grid--single{grid-template-columns:minmax(300px,420px)}
.formula-v2-card{appearance:none;display:block;width:100%;border:0;padding:0;background:#fff;text-align:left;cursor:pointer;color:#111;overflow:hidden}
.formula-v2-card figure{position:relative;margin:0;height:390px;overflow:hidden;background:#efeeec}
.formula-v2-card figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 52%,rgba(0,0,0,.46) 100%);opacity:.65;transition:opacity .45s ease}
.formula-v2-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.formula-v2-card:hover img{transform:scale(1.035)}.formula-v2-card:hover figure:after{opacity:.9}
.formula-v2-card__number{position:absolute;z-index:2;left:18px;top:16px;color:#fff;font-size:10px;letter-spacing:.12em;font-weight:600}
.formula-v2-card__open{position:absolute;z-index:2;right:18px;bottom:16px;color:#fff;font-size:9px;letter-spacing:.12em;font-weight:600;opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .35s ease}
.formula-v2-card:hover .formula-v2-card__open{opacity:1;transform:none}
.formula-v2-card__info{padding:18px 2px 23px;border-bottom:1px solid var(--line)}.formula-v2-card__info small{font-size:9px;letter-spacing:.15em;color:var(--burgundy);font-weight:600}.formula-v2-card__info h3{margin:9px 0 5px;font-size:22px;line-height:1.05;letter-spacing:-.025em;font-weight:400}.formula-v2-card__info p{margin:0;font-size:13px;color:#777;line-height:1.5}
.formula-v2-back{margin-top:60px}

.formula-modal{position:fixed;z-index:2000;inset:0;display:flex;align-items:center;justify-content:center;padding:28px;background:rgba(17,17,17,.68);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}
.formula-modal.open{opacity:1;visibility:visible}.formula-modal__dialog{position:relative;width:min(1180px,100%);max-height:92vh;overflow:auto;background:#fff;box-shadow:0 35px 90px rgba(0,0,0,.22);transform:translateY(18px);transition:transform .3s ease}.formula-modal.open .formula-modal__dialog{transform:none}
.formula-modal__close{position:sticky;top:0;z-index:4;float:right;display:flex;align-items:center;gap:10px;margin:16px 16px 0 0;border:0;background:#fff;padding:10px 12px;cursor:pointer;color:#111}.formula-modal__close span{font-size:9px;letter-spacing:.14em;font-weight:600}.formula-modal__close b{font-size:26px;line-height:1;font-weight:300;color:var(--burgundy)}
.formula-modal__grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:650px;clear:both}.formula-modal__media{display:grid;grid-template-columns:1fr;background:#f3f1ee;align-content:stretch}.formula-modal__media:has(img[data-modal-img2]:not([hidden])){grid-template-columns:1fr 1fr}.formula-modal__media img{width:100%;height:100%;min-height:650px;max-height:82vh;object-fit:cover;display:block}.formula-modal__copy{padding:58px 56px 52px;align-self:center}.formula-modal__category{margin:0 0 18px;font-size:10px;letter-spacing:.16em;color:var(--burgundy);font-weight:600}.formula-modal__copy h2{margin:0;font-size:clamp(38px,4.2vw,64px);line-height:.96;letter-spacing:-.045em;font-weight:400}.formula-modal__subtitle{margin:13px 0 42px;font-size:18px;color:#777}.formula-modal__details{border-top:1px solid #bbb}.formula-modal__detail{display:grid;grid-template-columns:110px 1fr;gap:22px;padding:18px 0;border-bottom:1px solid var(--line)}.formula-modal__detail span{font-size:10px;letter-spacing:.08em;color:var(--burgundy);font-weight:600}.formula-modal__detail p{margin:0;font-size:14px;line-height:1.75;color:#555;word-break:keep-all}.formula-modal.standard .innovation-only{display:none}.no-scroll{overflow:hidden}

@media(max-width:1100px){
.formula-v2-hero__grid,.formula-v2-heading{grid-template-columns:1fr;gap:34px}.formula-v2-hero{padding-top:calc(var(--header) + 70px)}.formula-v2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.formula-v2-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}.formula-v2-grid--single{grid-template-columns:minmax(280px,420px)}
.innovative-v2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.innovative-v2-grid .innovation-v2-card:nth-child(n){grid-column:span 1}.innovative-v2-grid .innovation-v2-card:nth-child(n) figure{height:460px}
.formula-modal__grid{grid-template-columns:1fr}.formula-modal__media,.formula-modal__media:has(img[data-modal-img2]:not([hidden])){grid-template-columns:1fr 1fr}.formula-modal__media img{min-height:420px;height:420px}.formula-modal__copy{padding:44px 34px 40px}
}
@media(max-width:680px){
.formula-v2-hero{padding:calc(var(--header) + 48px) 0 60px}.formula-v2-hero .display{font-size:55px}.formula-v2-nav a{padding:16px 20px 14px 0;margin-right:22px}.formula-v2-section{padding:88px 0}.formula-v2-heading{margin-bottom:40px}.formula-v2-heading h2{font-size:42px}.formula-v2-heading>p{font-size:14px}.formula-v2-grid,.formula-v2-grid--four,.formula-v2-grid--single{grid-template-columns:1fr}.formula-v2-card figure{height:430px}.innovative-v2-grid{grid-template-columns:1fr}.innovative-v2-grid .innovation-v2-card:nth-child(n) figure{height:430px}.formula-v2-card__open{opacity:1;transform:none}
.formula-modal{padding:10px}.formula-modal__dialog{max-height:94vh}.formula-modal__media,.formula-modal__media:has(img[data-modal-img2]:not([hidden])){grid-template-columns:1fr}.formula-modal__media img{min-height:0;height:310px}.formula-modal__media img[data-modal-img2]:not([hidden]){display:none}.formula-modal__copy{padding:34px 20px 26px}.formula-modal__copy h2{font-size:34px}.formula-modal__subtitle{font-size:16px;margin-bottom:28px}.formula-modal__detail{grid-template-columns:1fr;gap:8px;padding:15px 0}
}

/* =========================================================
   FORMULA MODAL REBALANCE V04 · 2026-09-28
   Standard (Skin / Body / Hair) and Innovative use different proportions.
   ========================================================= */
.formula-modal__close{
  position:absolute;
  top:16px;
  right:16px;
  float:none;
  margin:0;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:0 8px 24px rgba(0,0,0,.06);
}
.formula-modal__grid{clear:none}

/* Standard formulas: SKIN CARE / BODY CARE / HAIR CARE */
.formula-modal.standard .formula-modal__dialog{
  width:min(1060px,100%);
  max-height:calc(100vh - 56px);
  overflow:hidden;
}
.formula-modal.standard .formula-modal__grid{
  grid-template-columns:minmax(0,44%) minmax(0,56%);
  min-height:560px;
  height:min(620px,calc(100vh - 56px));
}
.formula-modal.standard .formula-modal__media{
  min-width:0;
  overflow:hidden;
}
.formula-modal.standard .formula-modal__media img{
  width:100%;
  height:100%;
  min-height:0;
  max-height:none;
  object-fit:cover;
  object-position:center center;
}
.formula-modal.standard .formula-modal__copy{
  min-width:0;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:58px 60px 50px;
  overflow-y:auto;
}
.formula-modal.standard .formula-modal__category{
  margin-bottom:15px;
}
.formula-modal.standard .formula-modal__copy h2{
  font-size:clamp(38px,3.7vw,56px);
  line-height:1;
}
.formula-modal.standard .formula-modal__subtitle{
  margin:12px 0 34px;
  font-size:17px;
}
.formula-modal.standard .formula-modal__details{
  width:100%;
}
.formula-modal.standard .formula-modal__detail{
  grid-template-columns:92px minmax(0,1fr);
  gap:18px;
  padding:20px 0;
}
.formula-modal.standard .formula-modal__detail p{
  font-size:14px;
  line-height:1.8;
}

/* Innovative formulation keeps a wider visual-led canvas */
.formula-modal.innovative .formula-modal__dialog{
  width:min(1180px,100%);
}
.formula-modal.innovative .formula-modal__grid{
  grid-template-columns:1.04fr .96fr;
}

/* Laptop: keep standard modal side-by-side instead of suddenly stacking */
@media (min-width:861px) and (max-width:1100px){
  .formula-modal.standard{padding:20px}
  .formula-modal.standard .formula-modal__dialog{
    width:min(960px,100%);
    max-height:calc(100vh - 40px);
  }
  .formula-modal.standard .formula-modal__grid{
    grid-template-columns:minmax(0,43%) minmax(0,57%);
    min-height:520px;
    height:min(580px,calc(100vh - 40px));
  }
  .formula-modal.standard .formula-modal__media{
    grid-template-columns:1fr;
  }
  .formula-modal.standard .formula-modal__media img{
    height:100%;
    min-height:0;
  }
  .formula-modal.standard .formula-modal__copy{
    padding:48px 46px 42px;
  }
}

/* Tablet */
@media (min-width:681px) and (max-width:860px){
  .formula-modal.standard{padding:18px}
  .formula-modal.standard .formula-modal__dialog{
    width:min(720px,100%);
    max-height:calc(100vh - 36px);
    overflow:auto;
  }
  .formula-modal.standard .formula-modal__grid{
    grid-template-columns:1fr;
    height:auto;
    min-height:0;
  }
  .formula-modal.standard .formula-modal__media{
    grid-template-columns:1fr;
  }
  .formula-modal.standard .formula-modal__media img{
    height:330px;
    min-height:0;
  }
  .formula-modal.standard .formula-modal__copy{
    display:block;
    padding:38px 38px 34px;
    overflow:visible;
  }
  .formula-modal.standard .formula-modal__subtitle{margin-bottom:26px}
}

/* Mobile refinement */
@media (max-width:680px){
  .formula-modal__close{
    top:10px;
    right:10px;
    padding:8px 10px;
  }
  .formula-modal.standard .formula-modal__dialog{
    width:100%;
    max-height:94vh;
    overflow:auto;
  }
  .formula-modal.standard .formula-modal__grid{
    display:grid;
    grid-template-columns:1fr;
    height:auto;
    min-height:0;
  }
  .formula-modal.standard .formula-modal__media{
    grid-template-columns:1fr;
  }
  .formula-modal.standard .formula-modal__media img{
    height:280px;
    min-height:0;
  }
  .formula-modal.standard .formula-modal__copy{
    display:block;
    padding:30px 22px 26px;
    overflow:visible;
  }
  .formula-modal.standard .formula-modal__copy h2{font-size:34px}
  .formula-modal.standard .formula-modal__subtitle{margin-bottom:24px}
  .formula-modal.standard .formula-modal__detail{
    grid-template-columns:1fr;
    gap:7px;
    padding:15px 0;
  }
}

/* =========================================================
   FORMULA MODAL IMAGE FIT V05 · 2026-09-28
   Preserve every standard formula image without cropping.
   Portrait and landscape assets get separate proportions.
   ========================================================= */
.formula-modal.standard .formula-modal__media{
  background:#f5f3ef;
  place-items:center;
}
.formula-modal.standard .formula-modal__media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  background:#f5f3ef;
}
/* Portrait assets: tall canvas, ideal for toner / ampoule / lotion / shampoo etc. */
.formula-modal.standard.media-portrait .formula-modal__dialog{
  width:min(1060px,100%);
}
.formula-modal.standard.media-portrait .formula-modal__grid{
  grid-template-columns:minmax(0,44%) minmax(0,56%);
  height:min(620px,calc(100vh - 56px));
  min-height:560px;
}
/* Landscape assets: wider visual zone and slightly shorter modal. */
.formula-modal.standard.media-landscape .formula-modal__dialog{
  width:min(1120px,100%);
}
.formula-modal.standard.media-landscape .formula-modal__grid{
  grid-template-columns:minmax(0,50%) minmax(0,50%);
  height:min(520px,calc(100vh - 56px));
  min-height:500px;
}
.formula-modal.standard.media-landscape .formula-modal__copy{
  padding-left:56px;
  padding-right:56px;
}

@media (min-width:861px) and (max-width:1100px){
  .formula-modal.standard.media-portrait .formula-modal__grid{
    grid-template-columns:minmax(0,43%) minmax(0,57%);
    height:min(580px,calc(100vh - 40px));
    min-height:520px;
  }
  .formula-modal.standard.media-landscape .formula-modal__dialog{
    width:min(980px,100%);
  }
  .formula-modal.standard.media-landscape .formula-modal__grid{
    grid-template-columns:minmax(0,49%) minmax(0,51%);
    height:min(500px,calc(100vh - 40px));
    min-height:470px;
  }
}

@media (min-width:681px) and (max-width:860px){
  .formula-modal.standard.media-portrait .formula-modal__media img{
    height:420px;
  }
  .formula-modal.standard.media-landscape .formula-modal__media img{
    height:320px;
  }
  .formula-modal.standard.media-portrait .formula-modal__grid,
  .formula-modal.standard.media-landscape .formula-modal__grid{
    height:auto;
    min-height:0;
  }
}

@media (max-width:680px){
  .formula-modal.standard.media-portrait .formula-modal__media img{
    height:360px;
  }
  .formula-modal.standard.media-landscape .formula-modal__media img{
    height:245px;
  }
  .formula-modal.standard.media-portrait .formula-modal__grid,
  .formula-modal.standard.media-landscape .formula-modal__grid{
    height:auto;
    min-height:0;
  }
}


/* =========================================================
   FORMULA STANDARD POPUP COMPACT V06 · 2026-09-28
   SKIN / BODY / HAIR: no image, compact feature-only popup
   ========================================================= */
.formula-modal.standard{padding:24px}
.formula-modal.standard .formula-modal__dialog{
  width:min(680px, calc(100vw - 48px));
  max-height:min(520px, 88vh);
  border-radius:0;
}
.formula-modal.standard .formula-modal__close{
  position:absolute;
  top:18px;
  right:18px;
  margin:0;
  padding:12px 16px;
  border:1px solid #e4e0dc;
  background:#fff;
}
.formula-modal.standard .formula-modal__grid{
  display:block;
  min-height:0;
}
.formula-modal.standard .formula-modal__media{
  display:none !important;
}
.formula-modal.standard .formula-modal__copy{
  padding:74px 38px 34px;
  align-self:stretch;
}
.formula-modal.standard .formula-modal__category{
  margin:0 0 14px;
  font-size:12px;
  letter-spacing:.18em;
}
.formula-modal.standard .formula-modal__copy h2{
  font-size:clamp(36px, 5vw, 58px);
  line-height:0.96;
  margin:0;
}
.formula-modal.standard .formula-modal__subtitle{
  margin:12px 0 28px;
  font-size:16px;
  color:#777;
}
.formula-modal.standard .formula-modal__details{
  border-top:1px solid #bdb7b0;
}
.formula-modal.standard .formula-modal__detail{
  grid-template-columns:78px 1fr;
  gap:22px;
  padding:18px 0;
  border-bottom:1px solid #dfdad4;
}
.formula-modal.standard .formula-modal__detail span{
  font-size:12px;
  letter-spacing:.02em;
}
.formula-modal.standard .formula-modal__detail p{
  font-size:15px;
  line-height:1.85;
  color:#4f4f4f;
}
.formula-modal.standard .innovation-only{
  display:none !important;
}
@media (max-width: 767px){
  .formula-modal.standard{padding:14px}
  .formula-modal.standard .formula-modal__dialog{
    width:min(100vw - 28px, 640px);
    max-height:90vh;
  }
  .formula-modal.standard .formula-modal__close{
    top:12px; right:12px; padding:10px 12px;
  }
  .formula-modal.standard .formula-modal__copy{
    padding:64px 20px 24px;
  }
  .formula-modal.standard .formula-modal__copy h2{
    font-size:34px;
  }
  .formula-modal.standard .formula-modal__subtitle{
    margin-bottom:22px;
    font-size:15px;
  }
  .formula-modal.standard .formula-modal__detail{
    grid-template-columns:1fr;
    gap:8px;
    padding:14px 0;
  }
  .formula-modal.standard .formula-modal__detail p{
    font-size:14px;
    line-height:1.75;
  }
}


/* V14 — remove remaining innovation / formula numbering */
.formula-v2-card__number{display:none!important}
.innovation-tab>span{display:none!important}
.innovation-tab{grid-template-columns:1fr!important;gap:0!important}
