:root{--paper:#faf8f2;--ink:#383a34;--line:#d9d5cc;--sand:#eeeadf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hiragino Mincho ProN','Yu Mincho',Georgia,serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}img{display:block;max-width:100%;width:100%;object-fit:cover}header{height:88px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:rgba(250,248,242,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.logo{font:19px Georgia,serif;letter-spacing:.22em;white-space:nowrap}nav{display:flex;gap:28px;align-items:center;font-size:12px;letter-spacing:.06em}.nav-contact{border:1px solid #999b90;padding:12px 17px;font:11px Georgia;letter-spacing:.14em}.menu{display:none}.section{padding:105px 6%}.eyebrow{display:block;font:11px/1.8 Georgia,serif;letter-spacing:.25em;margin-bottom:22px}h1,h2,h3,h4,p{font-weight:400}h1{font-size:clamp(32px,4vw,59px);line-height:1.65;letter-spacing:.08em}h2{font-size:clamp(26px,3vw,42px);line-height:1.7;letter-spacing:.06em;margin:0 0 28px}h3{font-size:23px}p{font-size:14px;line-height:2.25;letter-spacing:.05em}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-photo{position:relative;overflow:hidden}.hero-photo img{height:100%;min-height:650px;object-position:center}.hero-photo>span{position:absolute;bottom:30px;left:18px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:42px;color:white;letter-spacing:.05em}.hero-copy{padding:68px 12%;background:#f6f2e8;display:flex;flex-direction:column;justify-content:center}.hero h1{margin:10px 0 26px;font-size:clamp(36px,4.2vw,64px);line-height:1.7}.hero-copy p{margin:0 0 30px}.hero-foot{font-size:20px;line-height:1.9;margin-top:40px;letter-spacing:.12em}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;background:var(--ink);color:white;padding:19px 26px;border:1px solid var(--ink);font-size:13px;letter-spacing:.08em;max-width:100%;width:fit-content;transition:background .2s}.button:hover{background:#606456}.button span{font:24px Georgia}.scroll{position:absolute;right:24px;bottom:24px;font:10px Georgia;letter-spacing:.2em}.philosophy{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:center}.philosophy p{line-height:2.5;margin-bottom:30px}.philosophy-img{aspect-ratio:493/278;object-position:center top}.values{display:grid;grid-template-columns:repeat(3,1fr);margin-top:28px}.values>div{padding:10px 16px;border-left:1px solid var(--line)}.values span{font:11px Georgia}.values h3{font:20px Georgia;letter-spacing:.15em}.values p{font-size:11px;margin:0}.text-link{font-size:13px;border-bottom:1px solid #9d9b91;padding-bottom:8px;display:inline-block;background:none;border-top:0;border-left:0;border-right:0}.text-link b{font-weight:400;float:right;margin-left:24px}.categories{background:#f1eee6}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:45px}.category img{aspect-ratio:1.45;transition:filter .2s}.category:hover img{filter:brightness(.93)}.category .eyebrow{margin-top:25px;margin-bottom:10px}.category h3{margin:0 0 28px}.category .text-link{width:100%}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}.section-heading h2{margin-bottom:0}.collection{padding-bottom:50px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:45px 25px}.product-card .product-photo{overflow:hidden;background:var(--sand)}.product-card img{aspect-ratio:.88;transition:transform .5s}.product-card:hover img{transform:scale(1.03)}.product-card .eyebrow{font-size:10px;letter-spacing:.12em;margin:20px 0 8px}.product-card h4{font-size:15px;line-height:1.7;margin:0}.product-card p{font-size:12px;margin:10px 0 18px}.product-card .text-link{font-size:12px}.contact-banner{text-align:center;padding:95px 24px;margin-top:60px;background:#eae7dc}.contact-banner .button{margin-top:22px;min-width:230px}footer{padding:55px 6% 30px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:25px}footer>div{display:flex;gap:25px;font-size:12px}footer p{width:100%;font:10px Georgia;margin:10px 0 0}footer small{font:10px/1.8 sans-serif;color:#73766c}.breadcrumb{padding:24px 6%;font-size:10px;color:#777a70;letter-spacing:.08em}.detail{display:grid;grid-template-columns:1fr 1fr}.detail-photo{background:var(--sand)}.detail-photo img{height:100%;max-height:900px;object-fit:cover}.detail-copy{padding:55px 12%}.product-title{font:clamp(28px,3vw,48px)/1.2 Georgia;letter-spacing:.04em;margin:12px 0}.subtitle{font-size:13px;margin:0 0 40px}.detail-copy h2{font-size:32px}.demo-note{font:11px/1.9 sans-serif;background:#f0ece3;padding:16px;margin:24px 0;color:#6f7167}.detail-copy .button{margin-top:28px}.back{display:block;font-size:12px;margin-top:20px}.related{background:#efebe2}.related a{display:flex;justify-content:space-between;border-bottom:1px solid #aaa;padding:15px 0}.company{max-width:1100px;margin:auto;padding-top:50px}.company h2{font:25px Georgia;letter-spacing:.15em;margin:70px 0 30px}dl{display:grid;grid-template-columns:160px 1fr;font-size:14px;line-height:1.9}dt,dd{margin:0;padding:22px 5px;border-bottom:1px solid var(--line)}.company .button{margin-top:35px}.page-heading{padding-bottom:40px;background:#eeeade}.page-heading h1{margin:5px 0 20px}.faq{display:grid;grid-template-columns:220px 1fr;gap:65px;padding-top:65px}.filter{display:block;border:0;background:none;padding:18px 0;width:100%;text-align:left;font-size:14px}.filter.active{border-bottom:1px solid var(--ink)}details{border-top:1px solid var(--line)}details:last-of-type{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;position:relative;padding:23px 30px 23px 0;font-size:14px;line-height:1.8}summary::-webkit-details-marker{display:none}summary:after{content:'＋';position:absolute;right:0}details[open]>summary:after{content:'−'}summary span:not(.q){font-size:11px;margin-left:14px}.q{font:20px Georgia;margin-right:25px}details p{font:13px/2 sans-serif;padding:0 15px 15px;color:#62665b}.faq .button{margin-top:35px}.contact{display:grid;grid-template-columns:.8fr 1.3fr;gap:9%;padding-top:70px}.contact h1{margin-top:5px}.contact .demo-note{max-width:320px}form label{display:block;font-size:13px;margin-bottom:26px}label small{font:10px sans-serif;border:1px solid #bbb;padding:3px 7px;margin-left:10px}input,select,textarea{width:100%;border:1px solid #c8c6be;border-radius:0;padding:14px;background:transparent;margin-top:12px;font:15px/1.6 sans-serif}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-note{font:11px/1.9 sans-serif;color:#73766c}form .button{width:100%}#confirmation{margin-top:35px;border-top:1px solid #aaa;padding-top:30px}#confirmation h2{font-size:25px}#confirmation dl{grid-template-columns:100px 1fr;font:13px/1.8 sans-serif;overflow-wrap:anywhere}[hidden]{display:none!important}
@media(min-width:1500px){main{max-width:1800px;margin:auto}}@media(max-width:1000px){nav{gap:15px}.logo{font-size:15px}.hero-copy{padding:45px 9%}.philosophy{gap:5%}.values>div{padding:8px}.product-grid{grid-template-columns:repeat(3,1fr)}.detail-copy{padding:40px 8%}.detail-copy h2{font-size:26px}.contact{gap:5%}}
@media(max-width:760px){html{scroll-padding-top:72px}header{height:72px;padding:0 6%}.logo{font-size:13px;letter-spacing:.15em}.menu{display:flex;gap:14px;background:none;border:0;font:10px Georgia;letter-spacing:.15em;padding:15px 0}.menu span{font-size:16px}nav{display:none;position:absolute;top:72px;left:0;right:0;padding:24px 6% 32px;background:var(--paper);border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{padding:16px 0}.nav-contact{text-align:center;margin-top:15px}.section{padding:65px 6%}.hero{display:flex;flex-direction:column;min-height:0}.hero-photo{height:410px}.hero-photo img{min-height:0;height:100%;object-position:center 42%}.hero-photo>span{font-size:28px;bottom:22px}.hero-copy{padding:45px 8% 50px}.hero h1{font-size:39px;line-height:1.6;margin:10px 0 23px}.eyebrow{font-size:10px;margin-bottom:18px}.hero-foot{font-size:17px;margin-top:30px}.scroll{display:none}.philosophy{grid-template-columns:1fr;gap:38px}.philosophy h2{font-size:28px}p{font-size:13px}.values p{font-size:10px}.values h3{font-size:18px}.category-grid{grid-template-columns:1fr;gap:40px;margin-top:30px}.category img{aspect-ratio:1.55}.category h3{font-size:22px;margin-bottom:18px}.section-heading{align-items:start;gap:20px}.section-heading h2{font-size:25px}.section-heading>.text-link{font-size:10px;white-space:nowrap;margin-top:20px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.product-card h4{font-size:13px}.product-card .eyebrow{font-size:8px}.product-card p{font-size:11px;line-height:1.8}.product-card .text-link{font-size:11px}.contact-banner{padding:65px 6%;margin-top:30px}.contact-banner h2{font-size:27px}footer{padding:40px 6% 25px;gap:30px}footer>div{flex-wrap:wrap;font-size:11px;gap:20px}.breadcrumb{font-size:9px;line-height:1.8}.detail{grid-template-columns:1fr}.detail-photo img{height:auto;max-height:580px;aspect-ratio:1;object-position:center}.detail-copy{padding:40px 7% 50px}.product-title{font-size:33px}.detail-copy h2{font-size:28px}.subtitle{margin-bottom:30px}.detail-copy .button{width:100%}.company{padding-top:30px}.company h1{font-size:31px}dl{grid-template-columns:100px 1fr;font-size:12px}.faq{grid-template-columns:1fr;gap:30px;padding-top:30px}.faq aside{display:flex;gap:15px;overflow:auto}.filter{white-space:nowrap;font-size:11px;width:auto;flex-shrink:0;padding:12px 0}summary{font-size:13px}.q{margin-right:14px}.page-heading{padding-bottom:35px}.page-heading h1{font-size:34px}.contact{grid-template-columns:1fr;gap:25px;padding-top:40px}.contact h1{font-size:34px}.contact .demo-note{max-width:none}.form-row{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero-film{background:#eee9e0;display:flex;align-items:center;justify-content:center}.hero-film video{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:contain;background:#eee9e0}.film-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:17px;width:max-content;max-width:90%;padding:20px 24px;color:white;background:rgba(35,38,31,.84);border:1px solid rgba(255,255,255,.65);font-size:13px;letter-spacing:.05em;text-align:left}.film-play:hover{background:#383a34}.film-play small{display:block;font:9px/1.8 sans-serif;letter-spacing:.12em;margin-top:6px}.play-icon{font-size:23px}.film-error{position:absolute;bottom:55px;left:5%;right:5%;padding:8px;background:#faf8f2;font-size:12px;text-align:center}.hero-film.is-playing .film-play{display:none}@media(max-width:760px){.hero-film{height:auto;aspect-ratio:1}.hero-film video{object-fit:contain}.film-play{padding:16px 18px;font-size:12px}}
/* One continuous image behind every section, including on mobile. */
body{background:#f2e4ce;isolation:isolate}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,253,246,.16),rgba(255,253,246,.16)),url('/assets/site-background.jpg');background-size:cover;background-position:center;background-repeat:no-repeat}header{background:rgba(255,251,241,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}main,.hero-copy,.categories,.collection,.contact-banner,.related,.page-heading,footer{background:transparent}.demo-note{background:rgba(255,253,248,.54)}input,select,textarea{background:rgba(255,253,248,.48);border-color:rgba(80,72,58,.26)}.faq details,.detail-copy details{background:rgba(255,253,248,.16)}footer,header,details,dt,dd{border-color:rgba(80,72,58,.2)}.hero-film,.hero-film video{background:transparent}@media(max-width:760px){nav{background:rgba(255,251,241,.97)}body::before{background-position:center center}}

/* Hide the residual white strip at the right edge of the inner-care photograph. */
.category[href="#collection-inner"]{overflow:hidden}
.category[href="#collection-inner"] img{width:101.5%;max-width:none;clip-path:inset(0 1.48% 0 0)}

.shop-link{white-space:nowrap;font-family:Georgia,serif;letter-spacing:.12em}
footer .official-links{display:flex;flex-wrap:wrap;gap:18px 28px;width:100%;font:12px/1.8 sans-serif;letter-spacing:.08em}
.official-links a:hover,.shop-link:hover{text-decoration:underline;text-underline-offset:5px}
.product-shop{margin-bottom:16px}
@media(min-width:761px) and (max-width:1150px){header{padding-left:3%;padding-right:3%}header .logo{font-size:15px}nav{gap:14px;font-size:11px}}

.destinations{padding-bottom:50px}
.official-links,footer .official-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%}
.destination-button{display:flex;align-items:center;gap:16px;padding:24px 22px;min-height:100px;border:1px solid #696d60;border-radius:5px;background:#fffaf0;box-shadow:0 4px 12px rgba(50,45,35,.07);font-family:sans-serif;transition:transform .18s,box-shadow .18s,background .18s}
.destination-button svg{width:28px;height:28px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6}
.destination-button strong{display:block;font-size:16px;font-weight:500;letter-spacing:.04em}
.destination-button small{display:block;font-size:11px;margin-top:7px;letter-spacing:.02em}
.destination-button .external-arrow{margin-left:auto;font-size:24px}
.destination-shop{background:#383a34;color:#fff}
.destination-instagram{border-color:#a77d8b}
.destination-youtube{border-color:#ad726c}
.official-links .destination-button:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 8px 18px rgba(50,45,35,.14)}
.destination-button:focus-visible{outline:3px solid #8b754e;outline-offset:4px}
.destination-note{font-size:11px;margin-top:20px}
@media(max-width:900px){.official-links,footer .official-links{grid-template-columns:1fr}.destination-button{padding:20px 22px;min-height:88px}}

/* Muted continuous curtain video shared by all pages. */
body::before{background-image:linear-gradient(rgba(255,253,246,.22),rgba(255,253,246,.22));background-color:transparent}
body{background:#f2e4ce url('/assets/curtain-loop-v2-poster.jpg') center/cover fixed no-repeat}
.site-background-video{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;pointer-events:none}
@media(prefers-reduced-motion:reduce){.site-background-video{display:none}}

@media(min-width:761px) and (max-width:1250px){header{padding-left:3%;padding-right:3%}header .logo{font-size:13px}header nav{gap:12px;font-size:11px}}

/* Keep the matching curtain still visible until video playback starts. */
html{background:#f2e4ce}
.site-background-video{opacity:0;background:transparent}
.site-background-video.is-ready{opacity:1}
@media(min-width:761px) and (max-width:1380px){header{padding-left:2.5%;padding-right:2.5%}header .logo{font-size:12px;letter-spacing:.15em}header nav{gap:12px;font-size:10px}.nav-contact{font-size:10px;padding:11px 12px}}
@media(min-width:761px) and (max-width:1050px){html{scroll-padding-top:72px}header{height:72px;padding:0 5%}.menu{display:flex;gap:14px;background:none;border:0;font:10px Georgia;letter-spacing:.15em;padding:15px 0}.menu span{font-size:16px}header nav{display:none;position:absolute;top:72px;left:0;right:0;padding:24px 6% 32px;background:rgba(255,251,241,.98);border-bottom:1px solid var(--line)}header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}header nav a{padding:15px 0;font-size:12px}header .nav-contact{text-align:center;margin-top:12px}}
@media(min-width:1051px) and (max-width:1380px){header nav{gap:10px;font-size:10px}header .logo{font-size:11px;letter-spacing:.12em}header{padding-left:2%;padding-right:2%}}

/* ZERO CARE: leaflet-based product information. */
.zero-lead{max-width:780px;line-height:2.2}.zero-note{font-size:11px;line-height:1.9;color:#635c50;margin-top:24px;max-width:800px}.zero-grid,.zero-duo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}.zero-duo{grid-template-columns:repeat(2,minmax(0,1fr))}.zero-grid article,.zero-duo article{padding:30px;background:rgba(255,251,242,.78);border:1px solid rgba(90,73,51,.22);border-radius:4px}.zero-grid h3,.zero-duo h3{font-size:24px;font-weight:400;line-height:1.65;margin:20px 0 16px}.zero-grid p,.zero-duo p{font-size:14px;line-height:2}.zero-price{font-family:serif;margin:20px 0}.zero-badges{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.zero-badges span{border:1px solid #8c7b62;padding:7px 11px;font-size:11px}.zero-sizes{border-top:1px solid var(--line);margin:26px 0}.zero-sizes>div{padding:16px 0;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.zero-sizes span{font-size:12px}.zero-sizes strong{font:24px Georgia,serif}.zero-sizes small{font:11px sans-serif}.zero-concerns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;padding:0;gap:14px;margin:32px 0}.zero-concerns li{background:rgba(255,251,242,.72);padding:22px;border-left:2px solid #a18c6e;line-height:1.8;font-size:14px}.zero-results{border-top:1px solid var(--line);padding-top:24px}.zero-results h3{font-weight:400;font-size:23px}.zero-results p{font-size:14px;line-height:2.3}.zero-scent-notes{display:flex;gap:40px;margin-top:30px;font:11px/2 sans-serif;letter-spacing:.12em}.zero-scent-notes strong{font-weight:400;font-size:16px;letter-spacing:.03em}.zero-usage-note{padding-top:10px;padding-bottom:10px;font-size:12px;line-height:2}.zero-story,.zero-needs,.zero-scent{border-top:1px solid var(--line)}
@media(max-width:760px){.zero-grid,.zero-duo,.zero-concerns{grid-template-columns:1fr}.zero-grid,.zero-duo{gap:16px;margin-top:25px}.zero-grid article,.zero-duo article{padding:25px}.zero-grid h3,.zero-duo h3{font-size:22px}.zero-scent-notes{gap:25px}.zero-lead{font-size:14px}.zero-sizes strong{font-size:22px}.zero-concerns li{padding:18px}}

/* FLORA product comparison and formula sections. */
.flora-overview{border-top:1px solid var(--line)}.flora-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px}.flora-steps article{padding:30px;background:rgba(255,253,247,.86);border:1px solid #6ca7a0;border-top:3px solid #5ca8a3;border-radius:4px}.flora-steps h3{font-weight:400;font-size:25px;margin:24px 0 18px}.flora-steps p{font-size:14px;line-height:2}.flora-card-price{margin:22px 0}.flora-overview .eyebrow,.flora-formula .eyebrow,.flora-points .eyebrow,.flora-ingredients .eyebrow{color:#376e6b}.flora-formula,.flora-ingredients,.flora-needs{border-top:1px solid var(--line)}.flora-badges span{border-color:#5b9590;color:#315f5c;background:rgba(255,255,255,.35)}.flora-ingredient-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:30px}.flora-ingredient-grid article{padding:20px 24px;background:rgba(255,253,247,.76);border-left:2px solid #69aba6}.flora-ingredient-grid h3{font-size:18px;font-weight:400;margin:0 0 12px}.flora-ingredient-grid p{font-size:13px;line-height:1.8;margin:0}@media(max-width:760px){.flora-steps,.flora-ingredient-grid{grid-template-columns:1fr}.flora-steps article{padding:25px}.flora-steps h3{font-size:23px}.flora-ingredient-grid article{padding:20px}}

.flora-formula-line{font-size:18px;line-height:1.9;color:#315f5c;letter-spacing:.04em;margin:24px 0 12px}.flora-formula-caption{font-size:13px;line-height:2;max-width:720px}.flora-ferment{margin-top:30px;padding:28px;background:rgba(255,253,247,.8);border-left:3px solid #69aba6;max-width:880px}.flora-ferment h3{font-size:22px;font-weight:400;margin:16px 0}.flora-ferment p{font-size:14px;line-height:2}@media(max-width:760px){.flora-formula-line{font-size:15px}.flora-ferment{padding:22px}.flora-ferment h3{font-size:19px}}

/* FEM SKIN: cleanser, lotion and cream. */
.fem-overview,.fem-free,.fem-ingredients,.fem-philosophy{border-top:1px solid var(--line)}.fem-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px}.fem-steps article{padding:30px;background:rgba(255,248,246,.88);border:1px solid #b68a8e;border-top:3px solid #b27f86;border-radius:4px}.fem-steps h3{font-size:24px;font-weight:400;margin:24px 0 18px}.fem-steps p{font-size:14px;line-height:2}.fem-steps .text-link{display:inline-block;margin-top:18px}.fem-badges span{border-color:#a6757d;color:#79515a}.fem-points .eyebrow,.fem-overview .eyebrow,.fem-free .eyebrow,.fem-ingredients .eyebrow{color:#895965}.fem-free-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:30px 0}.fem-free-list li{padding:18px;background:rgba(255,248,246,.8);border:1px solid #c2a1a4;font-size:13px;text-align:center}.fem-ingredient-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.fem-ingredient-list span{padding:16px 20px;background:rgba(255,248,246,.8);border-left:2px solid #b27f86;font-size:14px}.fem-natural{font:22px/1.8 Georgia,serif;color:#895965}.fem-natural small{display:block;font:11px/1.8 sans-serif}@media(max-width:760px){.fem-steps{grid-template-columns:1fr}.fem-steps article{padding:25px}.fem-steps h3{font-size:23px}.fem-free-list{grid-template-columns:repeat(2,minmax(0,1fr))}.fem-free-list li{padding:16px 10px}.fem-ingredient-list span{font-size:12px;max-width:100%;overflow-wrap:anywhere}}

.fem-rebalance,.fem-routine,.fem-body{border-top:1px solid var(--line)}.fem-routine-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;list-style:none;padding:0;margin:34px 0}.fem-routine-list li,.fem-body-grid article{padding:26px;background:rgba(255,248,246,.85);border-top:3px solid #b27f86}.fem-routine-list h3,.fem-body-grid h3{font-size:22px;font-weight:400;line-height:1.7;margin:20px 0}.fem-routine-list p,.fem-body-grid p{font-size:14px;line-height:2}.fem-body-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:32px 0}.fem-card-price{color:#79515a;font-family:Georgia,serif}@media(max-width:760px){.fem-routine-list,.fem-body-grid{grid-template-columns:1fr}.fem-routine-list li,.fem-body-grid article{padding:24px}.fem-routine-list h3,.fem-body-grid h3{font-size:21px}}

/* TERRA ION CHARGE: product points, menu uses and dosage. */
.tera-care,.tera-menu,.tera-how,.tera-professional{border-top:1px solid var(--line)}.tera-badges span{border-color:#608f8b;color:#315f5c}.tera-menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:32px}.tera-menu-grid article{padding:24px;background:rgba(250,255,251,.84);border-top:2px solid #6baba4}.tera-menu-grid h3{font-weight:400;font-size:22px;line-height:1.6;margin:18px 0}.tera-menu-grid p{font-size:13px;line-height:2}.tera-how-list{padding-left:24px;max-width:850px}.tera-how-list li{padding:18px 0;border-bottom:1px solid var(--line)}.tera-how-list strong{font-weight:400;font-size:19px}.tera-how-list p{font-size:14px;line-height:2}.tera-table-wrap{overflow-x:auto;margin:32px 0 18px}.tera-table{width:100%;border-collapse:collapse;background:rgba(255,253,247,.86);font-size:14px;line-height:1.8}.tera-table caption{text-align:left;font-size:12px;padding-bottom:12px}.tera-table th,.tera-table td{padding:16px 20px;text-align:left;border:1px solid #b1c5bb;vertical-align:middle}.tera-table thead th{background:#e3eee5;font-weight:500}.tera-table tbody th{font-weight:400}.tera-table td strong{font-size:19px;font-weight:400}.tera-professional .button{margin-top:24px}@media(max-width:1000px){.tera-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.tera-menu-grid{gap:12px}.tera-menu-grid article{padding:20px 16px}.tera-menu-grid h3{font-size:19px}.tera-table th,.tera-table td{padding:12px 10px;font-size:12px}.tera-table td strong{font-size:17px}.tera-how-list strong{font-size:17px}}

/* KAMINO PRO */
.kamino-badges{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.kamino-badges span{padding:8px 13px;border:1px solid #92945d;background:rgba(251,251,225,.75);font-size:12px;color:#53572e}.kamino-features,.kamino-ingredients{border-top:1px solid var(--line)}.kamino-grid,.kamino-ingredient-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}.kamino-grid article,.kamino-ingredient-grid article{padding:26px;background:rgba(255,253,241,.85);border-top:2px solid #989b62}.kamino-grid h3,.kamino-ingredient-grid h3{font-size:21px;font-weight:400;line-height:1.6}.kamino-grid p,.kamino-ingredient-grid p{font-size:14px;line-height:2}.kamino-features .eyebrow,.kamino-ingredients .eyebrow{color:#686d38}@media(max-width:760px){.kamino-grid,.kamino-ingredient-grid{grid-template-columns:1fr}.kamino-grid article,.kamino-ingredient-grid article{padding:24px}}

.diagnosis-banner{display:flex;align-items:center;justify-content:space-between;gap:36px;background:rgba(247,245,236,.88);border-block:1px solid var(--line)}.diagnosis-banner .button{flex-shrink:0}header nav{gap:18px}@media(max-width:1050px){header nav{gap:11px}header .logo{font-size:16px}}@media(max-width:760px){.diagnosis-banner{display:block}.diagnosis-banner .button{margin-top:20px}}

/* NEWS */
.news-home{background:rgba(255,251,242,.84);border-block:1px solid var(--line);padding-top:65px;padding-bottom:65px}.news-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.news-heading h2{margin:0}.news-heading .eyebrow{margin-bottom:8px}.news-heading>.text-link{font-size:13px}.news-list{list-style:none;padding:0;margin:30px 0 0;border-top:1px solid #c9beac}.news-list li{border-bottom:1px solid #c9beac}.news-list li>a{display:grid;grid-template-columns:100px 100px minmax(0,1fr) 24px;gap:22px;align-items:center;padding:25px 4px;transition:background .2s}.news-list li>a:hover{background:rgba(255,255,255,.55)}.news-list time,.news-article-meta time{font:13px Georgia,serif;letter-spacing:.05em;color:#776d5e}.news-category{display:inline-block;border:1px solid #b9aa95;border-radius:2px;padding:5px 10px;font-size:11px;text-align:center;white-space:nowrap}.news-title{font-size:16px;line-height:1.9;overflow-wrap:anywhere}.news-arrow{font-size:20px}.news-index{padding-top:40px;min-height:55vh}.news-index h1{margin:10px 0 20px}.news-article{max-width:850px;margin:auto;padding:55px 6% 95px}.news-article-meta{display:flex;align-items:center;gap:22px}.news-article h1{font-size:clamp(27px,3.6vw,42px);line-height:1.8;margin:26px 0 38px}.news-article-body{border-top:1px solid #cbbfae;padding-top:20px;margin-bottom:35px}.news-article-body p{font-size:15px;line-height:2.3;margin:22px 0}.news-home-link{display:block;width:fit-content;margin-top:42px;font-size:13px}@media(max-width:760px){.news-heading{align-items:flex-start;flex-direction:column;gap:14px}.news-home{padding-top:40px;padding-bottom:40px}.news-list li>a{grid-template-columns:95px 1fr 20px;gap:10px 14px;padding:22px 0}.news-list .news-category{justify-self:start}.news-title{grid-column:1/3;grid-row:2;font-size:14px}.news-arrow{grid-column:3;grid-row:1/3}.news-article{padding:35px 6% 65px}.news-article-body p{font-size:14px}.news-index{padding-top:20px}.news-article .button{max-width:100%;font-size:13px}}
.news-title .news-summary{display:block;font-size:12px;line-height:1.9;letter-spacing:.03em;color:#746958;margin-top:7px}.news-list .news-category{min-width:88px}@media(max-width:760px){.news-title .news-summary{font-size:11px}}

/* Transparent brand mark, centred beneath the shoulders. Crop only the
   transparent padding in CSS so the supplied artwork remains unchanged. */
.hero-brand-mark{position:absolute;z-index:1;left:50%;bottom:9%;width:clamp(170px,44%,300px);aspect-ratio:714 / 654;transform:translateX(-50%);overflow:hidden;pointer-events:none;filter:drop-shadow(0 1px 3px rgba(0,0,0,.2))}
.hero-brand-mark img{position:absolute;left:-14.0056%;top:-75.0765%;width:131.7927%;max-width:none;height:auto;min-height:0;object-fit:contain}
@media(max-width:760px){.hero-brand-mark{width:44%;bottom:9%}}

/* Compact video controls. */
.hero-film .film-play{z-index:2;width:64px;height:64px;max-width:none;border-radius:50%;padding:0;justify-content:center;background:rgba(35,38,31,.55);border:1px solid rgba(255,255,255,.8);backdrop-filter:blur(4px)}
.hero-film .play-icon{font:24px/1 sans-serif;margin-left:4px}
.film-sound{position:absolute;z-index:3;right:16px;top:16px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;padding:10px;color:#fff;background:rgba(35,38,31,.55);border:1px solid rgba(255,255,255,.7);backdrop-filter:blur(4px)}
.film-sound svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.film-sound .sound-on{display:none}.film-sound.is-audible .sound-on{display:inline}.film-sound.is-audible .sound-off{display:none}
.film-sound:hover,.hero-film .film-play:hover{background:rgba(35,38,31,.8)}

/* Salon-only shop entry */
.destination-salon{background:#eee6d7;border-color:#8b7553;color:#4e422f}.official-links-with-salon,footer .official-links-with-salon{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:900px){.official-links-with-salon,footer .official-links-with-salon{grid-template-columns:1fr}}

/* Inner-care overview: match the FEM SKIN feature cards. */
.inner-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.inner-steps article{display:flex;flex-direction:column}.inner-steps .text-link{align-self:flex-start;margin-top:auto}.inner-steps .fem-card-price{margin-bottom:24px}@media(max-width:760px){.inner-steps{grid-template-columns:1fr}}

/* Four muted series palettes: colored surfaces and deeper editorial accents. */
.zero-compare{--series-surface:#faf5eb;--series-border:#a58d70;--series-accent:#665342;--series-title:#433a30}
.flora-overview{--series-surface:#eaf0e5;--series-border:#849f91;--series-accent:#38584e;--series-title:#30463d}
.fem-overview{--series-surface:#fae9e7;--series-border:#b18a95;--series-accent:#764752;--series-title:#553940}
.inner-overview{--series-surface:#fff3d8;--series-border:#b5a078;--series-accent:#76613f;--series-title:#51432f}
.zero-compare .zero-duo article,.flora-overview .flora-steps article,.fem-overview .fem-steps article{background-color:var(--series-surface);background-image:url("/assets/series-marble-ivory.jpg");background-size:cover;background-position:center;background-repeat:no-repeat;background-blend-mode:multiply;border:1px solid var(--series-border);border-top:4px solid var(--series-accent);box-shadow:0 7px 22px rgba(55,45,35,.045);color:#34332f}
.zero-compare .zero-duo h3,.flora-overview .flora-steps h3,.fem-overview .fem-steps h3{color:var(--series-title)}
.zero-compare .eyebrow,.flora-overview .eyebrow,.fem-overview .eyebrow{color:var(--series-accent)}
.zero-compare .zero-price,.flora-overview .flora-card-price,.fem-overview .fem-card-price{color:var(--series-accent)}
.zero-compare .zero-duo .text-link,.flora-overview .flora-steps .text-link,.fem-overview .fem-steps .text-link{color:var(--series-accent);border-bottom-color:var(--series-accent)}
.zero-compare .zero-duo .text-link:hover,.flora-overview .flora-steps .text-link:hover,.fem-overview .fem-steps .text-link:hover{color:var(--series-title);border-bottom-color:var(--series-title)}

/* Compact ingredient visuals inside the three formula cards. */
.zero-formula-icons article{display:flex;flex-direction:column;align-items:flex-start}
.zero-formula-icons .zero-ingredient-icon{display:block;width:144px;height:96px;max-width:100%;object-fit:cover;object-position:center;margin:22px 0 0;border-radius:12px;border:1px solid rgba(90,73,51,.14);background:#fff}
.zero-formula-icons h3{margin-top:20px}
@media(max-width:760px){.zero-formula-icons .zero-ingredient-icon{width:132px;height:88px;margin-top:20px}}

/* Quiet, image-led concern cards, retaining the warm editorial palette. */
.zero-concerns-illustrated li{display:flex;align-items:center;gap:22px;padding:18px;background:rgba(248,244,235,.94);border:1px solid rgba(143,124,99,.2);border-left:2px solid #a18c6e;border-radius:4px}
.zero-concerns-illustrated .hair-concern-photo{display:block;flex:0 0 144px;width:144px;height:100px;object-fit:cover;object-position:center;filter:saturate(.65) sepia(.1);border-radius:3px}
.zero-concerns-illustrated .hair-concern-wave{object-position:70% center}
.zero-concerns-illustrated span{min-width:0;line-height:1.9;color:#39362f}
@media(max-width:760px){.zero-concerns-illustrated li{gap:16px;padding:14px}.zero-concerns-illustrated .hair-concern-photo{flex-basis:108px;width:108px;height:80px}.zero-concerns-illustrated span{font-size:13px}}
@media(max-width:360px){.zero-concerns-illustrated li{gap:12px}.zero-concerns-illustrated .hair-concern-photo{flex-basis:88px;width:88px;height:72px}}

/* FLORA SOAP: restrained feature photography above each heading. */
.flora-soap-visuals .zero-grid article{background:rgba(249,247,239,.94);border-color:rgba(111,143,128,.3);border-top:2px solid #849f91}
.flora-soap-visuals .flora-soap-feature-photo{display:block;width:100%;height:auto;aspect-ratio:16/9;max-height:175px;object-fit:cover;object-position:center;margin:22px 0 0;border-radius:4px;filter:saturate(.7) sepia(.06);border:1px solid rgba(120,130,115,.12)}
.flora-soap-visuals .zero-grid h3{margin-top:22px}
@media(max-width:760px){.flora-soap-visuals .flora-soap-feature-photo{max-height:190px;margin-top:20px}}

/* FLORA formula: soft editorial imagery within the established palette. */
.flora-formula .flora-formula-photo{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;margin:22px 0 0;border-radius:4px;filter:saturate(.55) sepia(.08);border:1px solid rgba(120,130,115,.12)}
.flora-formula .zero-grid h3{margin-top:22px}
.flora-formula .flora-ferment-illustrated{display:flex;align-items:center;gap:30px;max-width:100%;box-sizing:border-box}
.flora-ferment-baby{display:block;flex:0 0 30%;width:30%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:45% center;border-radius:4px;filter:saturate(.6) sepia(.06)}
.flora-ferment-copy{flex:1;min-width:0}
@media(max-width:760px){.flora-formula .flora-ferment-illustrated{flex-direction:column;align-items:stretch;gap:24px}.flora-ferment-baby{width:100%;flex:auto;aspect-ratio:16/9;max-height:210px}.flora-formula .flora-formula-photo{max-height:210px}}

/* Offset the shared stone texture so paired cards feel naturally varied. */
.zero-compare .zero-duo article:nth-child(even),.flora-overview .flora-steps article:nth-child(even),.fem-overview .fem-steps article:nth-child(even){background-position:center 75%}

/* ZERO CARE fragrance editorial: preserve the full supplied composition. */
.zero-scent-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(28px,5vw,72px)}
.zero-scent-copy h2{font-size:clamp(23px,2.5vw,36px);line-height:1.8}.zero-scent-copy>p{font-size:14px;line-height:2.2}
.zero-fragrance-list{margin:30px 0 0}.zero-fragrance-list>div{padding:15px 0;border-top:1px solid var(--line)}.zero-fragrance-list dt{font:11px/1.8 Georgia,serif;letter-spacing:.16em;color:#796950}.zero-fragrance-list dd{margin:6px 0 0;font-size:12px;line-height:2}
.zero-scent-visual{margin:0;min-width:0;padding:10px;background:rgba(255,251,242,.65);border:1px solid rgba(90,73,51,.18)}.zero-scent-visual a{display:block}.zero-scent-visual img{display:block;width:100%;height:auto;object-fit:contain}.zero-scent-visual figcaption{padding:14px 4px 3px;font:9px/1.8 sans-serif;letter-spacing:.13em;color:#716655;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.zero-scent-visual figcaption span{letter-spacing:.05em}.zero-scent-visual a:focus-visible{outline:2px solid #796950;outline-offset:4px}
@media(max-width:760px){.zero-scent-layout{grid-template-columns:1fr;gap:28px}.zero-scent-visual{padding:6px}.zero-scent-copy h2{font-size:24px}.zero-scent-visual figcaption{font-size:8px}}

/* A quiet transition into the hair-care collection. */
.hair-breeze{padding-top:40px;padding-bottom:40px;max-width:1120px;margin-inline:auto;text-align:center}
.hair-breeze-film{position:relative;overflow:hidden;background:#eee4da;isolation:isolate}
.hair-breeze-film video{display:block;width:100%;height:auto;aspect-ratio:910/512;object-fit:contain}
.hair-breeze h2{font-size:clamp(18px,2.2vw,28px);font-weight:400;letter-spacing:.13em;line-height:1.9;margin:28px 0 0;color:#53483f}
.hair-breeze-toggle{position:absolute;right:16px;bottom:16px;border:1px solid #ffffffa6;background:#f5eee5dc;color:#53483f;border-radius:24px;padding:9px 15px;font:inherit;font-size:12px;cursor:pointer}
.hair-breeze-toggle:focus-visible{outline:2px solid #53483f;outline-offset:3px}
@media(max-width:600px){.hair-breeze{padding-top:20px;padding-bottom:20px}.hair-breeze h2{margin-top:20px;letter-spacing:.08em}.hair-breeze-toggle{right:10px;bottom:10px;padding:7px 11px}}

/* Skincare water film */
.skin-water{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(24px,5vw,80px);align-items:center}.skin-water-media{position:relative;overflow:hidden;background:#e5d6c1;border-radius:2px}.skin-water-video{display:block;width:100%;height:auto;aspect-ratio:682/512;object-fit:contain}.skin-water-copy h2{line-height:1.65}.skin-water-copy p{line-height:2}.skin-water-copy small{font-size:11px;opacity:.65}.skin-water-toggle{position:absolute;bottom:14px;right:14px;border:1px solid #ffffff80;background:#f7f0e7e8;color:#41372f;border-radius:30px;padding:9px 16px;font:inherit;font-size:12px;cursor:pointer}.skin-water-toggle:focus-visible{outline:2px solid #41372f;outline-offset:3px}@media(max-width:700px){.skin-water{grid-template-columns:1fr;gap:24px}.skin-water-copy{padding:0 4px}}

/* Skincare editorial: preserve the complete four-panel composition. */
.fem-editorial{width:100%;max-width:960px;margin:36px auto 40px;overflow:hidden;border-radius:2px}.fem-editorial img{display:block;width:100%;height:auto;aspect-ratio:3/2}@media(max-width:700px){.fem-editorial{margin:24px auto 28px}}

/* Keep the inner-care headline and glass visible on every screen. */
.inner-care-visual{margin:0 0 40px;overflow:hidden;border-radius:2px}.inner-care-visual img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:760px){.inner-care-visual{margin:0 -4% 28px}}

.company-brand-visual{margin:12px auto 0;max-width:1400px;padding:0 6%}.company-brand-visual img{display:block;width:100%;height:auto;object-fit:contain}@media(max-width:760px){.company-brand-visual{padding:0 4%;margin-top:0}}

/* FEM SKIN GEL ingredient image cards */
.fem-ingredient-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.fem-ingredient-card{margin:0;min-width:0;background:rgba(255,248,246,.8);border-bottom:2px solid #b27f86;overflow:hidden}.fem-ingredient-card img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.fem-ingredient-card figcaption{padding:18px 12px;text-align:center;font-size:14px;line-height:1.8;overflow-wrap:anywhere}.fem-ingredient-image-note{font-size:11px;color:#786b67;margin-top:16px}@media(max-width:760px){.fem-ingredient-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fem-ingredient-card figcaption{font-size:12px;padding:13px 8px}}

/* ZERO CARE ingredient editorial cards */
.zero-seven{border-top:1px solid var(--line)}.zero-seven-badges{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.zero-seven-badges>span{padding:13px 22px;border:1px solid #b5a086;border-radius:40px;background:rgba(248,243,233,.8);color:#675c49;font-size:13px}.zero-seven-heading{font-size:25px;margin-top:44px}.zero-seven-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:26px 0}.zero-seven-grid article{padding:28px;background:rgba(255,251,243,.8);border-top:2px solid #b7a082}.zero-seven-grid article>.eyebrow{color:#a08b6f;font-size:12px}.zero-seven-grid h3{font-size:22px;line-height:1.7;margin:12px 0}.zero-seven-grid p{font-size:13px;line-height:2;margin:0}@media(max-width:760px){.zero-seven-grid{grid-template-columns:1fr;gap:14px}.zero-seven-grid article{padding:23px}.zero-seven-badges{gap:8px}.zero-seven-badges>span{font-size:12px;padding:10px 16px}}

/* ZERO CARE shampoo ingredient imagery */
.zero-seven-photo{display:block;width:calc(100% + 56px);max-width:none;height:auto;aspect-ratio:1;object-fit:cover;margin:18px -28px 22px}.zero-seven-grid article:has(.zero-seven-photo){overflow:hidden}.zero-seven-image-note{font-size:11px;color:#786d5d}@media(max-width:760px){.zero-seven-grid:has(.zero-seven-photo){grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.zero-seven-grid article:has(.zero-seven-photo){padding:18px}.zero-seven-photo{width:calc(100% + 36px);margin:14px -18px 18px}.zero-seven-grid article:has(.zero-seven-photo) h3{font-size:18px}.zero-seven-grid article:has(.zero-seven-photo) p{font-size:12px}}@media(max-width:360px){.zero-seven-grid:has(.zero-seven-photo){grid-template-columns:1fr}}

/* FLORA: seven ingredient illustrations */
.flora-ingredient-grid article{min-width:0}.flora-ingredient-grid .flora-repair-ingredient-photo{display:block;width:100%;max-width:240px;height:auto;aspect-ratio:1;object-fit:contain;margin:0 auto 20px;border-radius:3px}.flora-ingredient-grid h3{overflow-wrap:anywhere}@media(max-width:760px){.flora-ingredient-grid .flora-repair-ingredient-photo{max-width:220px;margin-bottom:18px}}

/* DR.ReBALANCE brand philosophy and research film */
.rebalance-philosophy{grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);gap:6%;align-items:center}
.rebalance-story h2{font-size:clamp(26px,2.7vw,42px);line-height:1.65;letter-spacing:.025em}
.rebalance-name{display:block;font-family:Georgia,"Times New Roman",serif;letter-spacing:.01em;font-size:1.17em;margin-top:8px}.rebalance-name sup{font-size:.4em;vertical-align:super}
.rebalance-story .rebalance-voices{font-size:clamp(13px,1.15vw,16px);line-height:2.3;color:var(--ink,#493b2d);margin-top:28px}
.rebalance-story p{font-size:14px;line-height:2.2}.rebalance-visual{min-width:0}.rebalance-movie{margin:0}
.rebalance-movie video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#dfcebb;border:1px solid rgba(78,59,37,.12);border-radius:2px}
.rebalance-movie figcaption{margin-top:14px;font-size:11px;letter-spacing:.12em;line-height:1.8}.rebalance-movie figcaption span{display:block;font-size:10px;letter-spacing:.03em;opacity:.7;margin-top:4px}
.rebalance-visual .values{margin-top:32px}.rebalance-visual .values h3{font-size:14px;line-height:1.8}.rebalance-visual .values p{font-size:11px;line-height:1.9;margin-bottom:0}.rebalance-visual .values span{font-size:10px}
@media(max-width:800px){.rebalance-philosophy{grid-template-columns:1fr;gap:30px}.rebalance-story h2{font-size:28px}.rebalance-story p{font-size:13px}.rebalance-visual .values{gap:12px}.rebalance-visual .values h3{font-size:12px}.rebalance-visual .values p{font-size:10px}}

/* Full-width research film leads directly into the brand philosophy. */
.hero.research-hero{display:block;min-height:0}.research-hero .hero-film{width:100%;height:auto;aspect-ratio:16/9;min-height:0;background:#e2d5c4}.research-hero .hero-film video{object-fit:contain}
.research-scroll{display:block;text-align:center;padding:16px 20px;font-size:10px;letter-spacing:.18em;border-bottom:1px solid var(--line);background:rgba(247,240,228,.6)}
.rebalance-philosophy{display:flex;flex-direction:column;gap:44px;text-align:center}.rebalance-story{max-width:800px;margin:auto}.rebalance-story h1{font-size:clamp(28px,3.6vw,48px);line-height:1.65;letter-spacing:.025em;font-weight:400;margin:20px 0 26px}.rebalance-visual{width:min(100%,850px)}.rebalance-visual .values{margin-top:0}.rebalance-story .rebalance-voices{margin-top:30px}
@media(max-width:800px){.research-hero .hero-film{height:auto;aspect-ratio:16/9}.research-hero .film-play{width:48px;height:48px}.research-hero .film-sound{top:10px;right:10px;width:36px;height:36px;padding:6px}.rebalance-story h1{font-size:28px}.rebalance-philosophy{gap:30px}.research-scroll{padding:13px 16px}}

/* Official supplied two-line logo, with transparent background. */
header .official-header-logo{display:block;flex:0 0 auto;width:250px;max-width:65%;line-height:0;letter-spacing:normal;white-space:normal}header .official-header-logo img{display:block;width:100%;height:auto;min-height:0;object-fit:contain}
@media(min-width:1051px) and (max-width:1380px){header .official-header-logo{width:170px}}
@media(max-width:1050px){header .official-header-logo{width:clamp(180px,60vw,320px);max-width:calc(100% - 88px)}}
@media(max-width:360px){header .official-header-logo{width:210px;max-width:calc(100% - 78px)}header .menu{gap:9px}}

/* Company contact information remains readable on narrow screens. */
.company dd{overflow-wrap:anywhere}.company dd a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.company dd a:hover{opacity:.7}

/* Use the supplied official DR.ReBALANCE wordmark without re-typesetting. */
.rebalance-story .rebalance-name{display:block;width:min(100%,580px);margin:28px auto 0;line-height:0;font-size:inherit}.rebalance-name img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:800px){.rebalance-story .rebalance-name{width:92%;max-width:580px;margin-top:24px}}

/* Single-play brand film followed by a preloaded still; keep the last frame underneath. */
.research-hero .hero-film{position:relative;overflow:hidden}
.hero-film .hero-finale{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity 1.2s ease-in-out}
.hero-film.is-finished .hero-finale{opacity:1}
.hero-film .film-sound[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.hero-film .hero-finale{transition:none}}

/* Keep the sound control clear of the central brand wordmark. */
.research-hero .film-sound{left:16px;right:auto;top:16px}
@media(max-width:800px){.research-hero .film-sound{left:10px;right:auto;top:10px}}

/* Video → Ai CARE (seven seconds) → ZERO CARE → Fem FLORA → FLORA (five seconds each) → brand still. */
.hero-film .hero-promotion{position:absolute;inset:0;z-index:2;display:block;background:#000;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(2%);transition:opacity .8s ease-in-out,transform .8s ease-in-out,visibility 0s .8s}
.hero-film .hero-promotion img{display:block;width:100%;height:100%;object-fit:contain}
.hero-film.is-promoting .hero-promotion.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0);transition-delay:0s}
.hero-film.is-promoting.is-finished .hero-promotion{opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-2%);transition:opacity 1.2s ease-in-out,transform 1.2s ease-in-out,visibility 0s 1.2s}
.hero-promotion:focus-visible{outline:2px solid #ebd7a4;outline-offset:-5px}
@media(prefers-reduced-motion:reduce){.hero-film .hero-promotion,.hero-film.is-promoting.is-finished .hero-promotion{transition:none;transform:none}}

/* Preserve vertical page scrolling and pinch zoom while browsing the hero horizontally. */
.hero-film{touch-action:pan-y pinch-zoom}
.hero-film .hero-promotion img,.hero-film .hero-finale{-webkit-user-drag:none;user-select:none}

/* Shared header: fine-line controls and expandable site search. */
header .header-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto;margin-left:auto}
header .menu,header .site-search-toggle,header .site-cart-link{display:grid;place-items:center;width:44px;height:44px;padding:8px;border:0;background:none;color:var(--ink);letter-spacing:normal}
header .menu svg,header .site-search-toggle svg,header .site-cart-link svg{display:block;width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
header .menu[aria-expanded=true] svg{transform:rotate(90deg)}
header>nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 88px);overflow:auto;padding:20px 6% 28px;background:rgba(255,251,241,.98);border-bottom:1px solid var(--line)}
header>nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}
header>nav a{padding:14px 0;font-size:13px}
header>nav .nav-contact{text-align:center;margin-top:12px}
header .site-search-panel{position:absolute;top:100%;left:0;right:0;padding:26px max(6%,calc((100% - 800px)/2));background:rgba(255,251,241,.99);border-bottom:1px solid var(--line);max-height:calc(100dvh - 88px);overflow:auto;box-shadow:0 12px 24px #383a340a}
.site-search-form label{font-size:12px;letter-spacing:.1em;margin:0 0 12px}
.site-search-field{display:flex;align-items:center;gap:12px}
.site-search-field input{min-width:0;flex:1;width:auto;margin:0;font-size:16px;padding:12px}
.site-search-field button{flex:0 0 auto;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:12px 16px;font-size:13px}
.site-search-field .site-search-close{font-size:28px;line-height:1;background:none;color:var(--ink);border:0;padding:5px;width:40px;height:44px}
.site-search-status{font:12px/1.8 sans-serif;margin:16px 0 0}
.site-search-results{list-style:none;padding:0;margin:12px 0 0}
.site-search-results a{display:block;padding:16px 0;border-top:1px solid var(--line)}
.site-search-results strong{display:block;font-size:15px;font-weight:400;line-height:1.7}
.site-search-results small{display:block;font:12px/1.8 sans-serif;color:#69695f;margin-top:6px}
@media(max-width:1050px){header .official-header-logo{width:clamp(160px,60vw,320px);max-width:calc(100% - 152px)}header .header-actions{gap:4px}header>nav,header .site-search-panel{max-height:calc(100dvh - 72px)}}
@media(max-width:400px){header{padding-left:4%;padding-right:4%}header .official-header-logo{max-width:calc(100% - 144px)}header .header-actions{gap:0}header .site-search-panel{padding:22px 5%}.site-search-field{gap:6px}.site-search-field button{padding:12px}}

.hero-film .hero-promotion .hero-promotion-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;background:transparent;pointer-events:none}
@media(prefers-reduced-motion:reduce){.hero-film .hero-promotion .hero-promotion-video{display:none}}

.hero-film .hero-promotion .hero-blog-link{position:absolute;right:3%;bottom:3%;z-index:3;display:inline-flex;align-items:center;gap:14px;padding:12px 20px;border:1px solid rgba(98,74,51,.35);border-radius:2px;background:rgba(255,251,243,.94);color:#513825;font:13px/1.5 'Hiragino Mincho ProN','Yu Mincho',serif;letter-spacing:.08em;box-shadow:0 2px 12px #51382512;white-space:nowrap;writing-mode:horizontal-tb;transform:none}
.hero-film .hero-blog-link span{font-size:18px}
@media(max-width:760px){.hero-film .hero-promotion .hero-blog-link{right:3%;bottom:3%;gap:8px;padding:6px 10px;font-size:10px}.hero-film .hero-blog-link span{font-size:13px}}

.company-access{margin:48px 0;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.company-access .button{gap:18px;line-height:1.8;white-space:normal}
/* Purpose-based entry points and compact product collections. */
.care-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:static;visibility:visible;opacity:1;transform:none;max-width:1200px;margin:0 auto;padding:26px 5%;gap:18px;background:transparent}
.care-shortcuts a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px 14px;min-height:86px;padding:18px 22px;border:1px solid rgba(80,72,58,.25);background:rgba(255,253,248,.65);color:#39362f;text-decoration:none}
.care-shortcuts a>span:first-child{grid-column:1/-1;font:10px/1.5 sans-serif;letter-spacing:.14em}
.care-shortcuts strong{font-size:16px;font-weight:400;letter-spacing:.04em}
.care-shortcuts a:hover{background:#fffaf0}
.care-shortcuts a:focus-visible,.collection-expand>summary:focus-visible{outline:2px solid #74634b;outline-offset:4px}
.collection-expand{padding:0;border:0;background:transparent}
.collection-expand>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;border-top:1px solid rgba(80,72,58,.22);border-bottom:1px solid rgba(80,72,58,.22);font-size:15px;cursor:pointer;list-style:none}
.collection-expand>summary::-webkit-details-marker{display:none}
.collection-expand>summary>span{font-size:21px;transition:transform .2s}
.collection-expand[open]>summary>span{transform:rotate(45deg)}
.collection-expand .product-grid{padding-top:28px}
@media(max-width:760px){.care-shortcuts{display:grid;grid-template-columns:1fr;gap:9px;padding:18px 6%}.care-shortcuts a{min-height:62px;padding:12px 17px;gap:3px 14px}.care-shortcuts a>span:first-child{font-size:9px}.care-shortcuts strong{font-size:15px}.collection-expand>summary{font-size:14px}}

/* Consolidated hair product catalogue: image-led, quiet spacing. */
#collection-hair{background:var(--paper);background-image:none;border:0;box-shadow:none}
#collection-hair .product-card{background:none;border:0;box-shadow:none;min-width:0}
#collection-hair .product-photo{aspect-ratio:1;background:#f1eee7}
#collection-hair .product-photo img{width:100%;height:100%;aspect-ratio:1;object-fit:contain}
#collection-hair .product-card p{line-height:1.8}
#collection-hair #zero-care{scroll-margin-top:100px}
@media(max-width:760px){#collection-hair .product-grid{gap:32px 16px}#collection-hair .product-card h4{font-size:13px;overflow-wrap:anywhere}#collection-hair .product-card .eyebrow{letter-spacing:.06em}#collection-hair .collection-expand .product-grid{padding-top:20px}}

/* Product collections: concise, visible image cards across all categories. */
#collection-skin,#collection-inner{background:var(--paper);background-image:none;border:0;box-shadow:none}
.collection .product-card{min-width:0;background:none;border:0;box-shadow:none}
.collection .product-photo{aspect-ratio:1;background:#f1eee7}
.collection .product-photo img{width:100%;height:100%;aspect-ratio:1;object-fit:contain}
.collection .product-card p{line-height:1.8}
.collection-anchor,#flora-care{scroll-margin-top:100px}
.collection>.fem-editorial,.collection>.inner-care-visual{margin:0 0 40px}
@media(max-width:760px){.collection .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}.collection .product-card h4{font-size:13px;overflow-wrap:anywhere}.collection .product-card .eyebrow{letter-spacing:.06em}.collection>.fem-editorial,.collection>.inner-care-visual{margin-bottom:28px}}

/* Official X footer link, matched to the existing social buttons. */
.destination-x{border-color:#696d60}
.destination-button.destination-x svg{fill:currentColor;stroke:none}

/* Square product photography: preserve complete packaging at every width. */
.detail-photo img[src$="-square-20261020.webp"]{width:100%;height:auto;max-height:none;aspect-ratio:1;object-fit:contain}

/* Explicit image bounds avoid percentage-height resolution differences in iOS WebViews. */
.research-hero .hero-film .hero-promotion img,.research-hero .hero-film .hero-finale{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain;object-position:center}

/* Keep complete hero artwork edge to edge, including non-16:9 slides. */
.research-hero .hero-film{aspect-ratio:var(--hero-aspect,16 / 9)}
.hero-film .hero-promotion{background:#e2d5c4}

/* Preserve square ASTA-CENTA artwork on the product detail page. */
.detail-photo img[src$="asta-centa-koso-square-20261021.webp"]{width:100%;height:auto;max-height:none;aspect-ratio:1;object-fit:contain}

/* A quiet portrait film beside the brand story. */
.rebalance-philosophy{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);column-gap:8%;row-gap:46px;text-align:left;align-items:center}
.rebalance-philosophy .rebalance-story{max-width:640px;margin:0}.rebalance-philosophy .rebalance-visual{grid-column:1/-1;width:100%;max-width:1000px;margin:auto}
.philosophy-film{margin:0;justify-self:center;width:min(100%,360px)}.philosophy-film-frame{position:relative;overflow:hidden;background:#e4d7c4;border-radius:2px}.philosophy-film video{display:block;width:100%;height:auto;aspect-ratio:512/910;object-fit:contain}.philosophy-film-toggle{position:absolute;right:12px;bottom:12px;padding:8px 12px;border:1px solid #ffffff80;border-radius:2px;background:#39352d70;color:#fff;font-size:11px;letter-spacing:.06em}.philosophy-film figcaption{text-align:center;margin-top:20px;font-size:15px;line-height:1.9;letter-spacing:.08em}.philosophy-film figcaption span{display:block;margin-top:8px;font:10px/1.8 Georgia,serif;letter-spacing:.18em}
@media(max-width:800px){.rebalance-philosophy{grid-template-columns:minmax(0,1fr);gap:34px}.rebalance-philosophy .rebalance-story{max-width:none}.philosophy-film{width:min(100%,320px)}.philosophy-film figcaption{font-size:14px}.rebalance-philosophy .rebalance-visual{grid-column:1}}

/* Full-width concept movie, preserving every face and in-film title. */
.rebalance-philosophy .brand-concept-film{grid-column:1/-1;width:100%;max-width:1000px;margin:0 auto}
.brand-concept-film video{aspect-ratio:910/512;object-fit:contain}
.brand-concept-sound{position:absolute;left:12px;bottom:12px;padding:8px 12px;border:1px solid #ffffff80;border-radius:2px;background:#39352d70;color:#fff;font-size:11px;letter-spacing:.06em;cursor:pointer}
.brand-concept-film button:focus-visible{outline:2px solid #fff;outline-offset:-4px}
@media(max-width:600px){.brand-concept-film figcaption{font-size:13px}.brand-concept-film .philosophy-film-toggle,.brand-concept-sound{bottom:8px;padding:6px 9px}}

/* Keep a real still visible until the browser presents decoded video frames. */
.brand-concept-film .philosophy-film-frame{aspect-ratio:910/512;isolation:isolate}
.concept-film-poster{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:contain;pointer-events:none}
.brand-concept-film video{position:relative;z-index:1;opacity:1}
.brand-concept-film.has-video-frame .concept-film-poster{visibility:hidden}
.brand-concept-film button{z-index:3}

.concept-film-fallback{display:block;text-align:center;margin-top:12px;font-size:12px;text-decoration:underline;text-underline-offset:4px}.concept-film-fallback[hidden]{display:none}

/* Shop access stays in the shared header with a 44px touch target. */
header .site-cart-link{flex:0 0 44px;text-decoration:none}
header .site-cart-link:focus-visible{outline:1px solid currentColor;outline-offset:2px;border-radius:2px}
