
:root{
  --ink:#1E2C32;
  --muted:#68757A;
  --paper:#F7F4EE;
  --paper2:#ECE8DF;
  --white:#FFFDFA;
  --mint:#46B59A;
  --lime:#C2DA3C;
  --rose:#D5B4AD;
  --sage:#B9C7B7;
  --line:#D8D1C7;
  --max:1280px;
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.45;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,input{font:inherit}
.container{width:min(calc(100% - 40px),var(--max));margin:auto}
.kicker{
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
  margin-bottom:12px;
}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.035em;margin:0}
h1{font-size:clamp(54px,6.2vw,88px);line-height:.94}
h2{font-size:clamp(36px,4.3vw,58px);line-height:1.02}
h3{font-size:28px;line-height:1.05}
p{margin:0}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;padding:12px 20px;border-radius:999px;
  border:1px solid var(--ink);font-size:12px;font-weight:700;
  transition:.2s ease;
}
.btn:hover{transform:translateY(-1px);opacity:.88}
.btn.primary{background:var(--ink);color:#fff}
.btn.green{background:var(--mint);border-color:var(--mint);color:#fff}
.btn.white{background:#fff;color:var(--ink);border-color:#fff}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}

/* announcement/header */
.announcement{
  height:26px;background:var(--lime);
  display:flex;align-items:center;justify-content:center;
  font-size:10px;letter-spacing:.04em;
}
.header{
  position:sticky;top:0;z-index:50;height:66px;
  background:rgba(247,244,238,.96);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(30,44,50,.08);
}
.nav{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.nav-left,.nav-right{display:flex;align-items:center;gap:22px;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.nav-right{justify-content:flex-end}
.logo-img{width:155px;height:auto}
.icon-link{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px}
.icon-link img{width:18px;height:18px}

/* hero */
.hero{
  position:relative;width:100%;min-height:690px;display:flex;
  background:#b8c5c0;overflow-x:scroll;
}
.hero::-webkit-scrollbar{width:0;height:0}
.hero-block{
  position:relative;width:100%;height:100%;flex-shrink:0;user-select:none;
}
.hero-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(20,33,39,.58) 0%,rgba(20,33,39,.24) 42%,rgba(20,33,39,.03) 70%);
}
.hero-inner{position:relative;z-index:2;min-height:690px;display:flex;align-items:center}
.hero-copy{max-width:640px;color:#fff}
.hero-copy p{max-width:560px;font-size:16px;color:rgba(255,255,255,.94);margin-top:20px}

/* campaign */
.campaign{
  position:relative;min-height:520px;overflow:hidden;background:#e4d8d0;
}
.campaign-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.campaign-overlay{
  position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,244,238,.95) 0%,rgba(247,244,238,.72) 38%,rgba(247,244,238,.06) 68%);
}
.campaign-inner{position:relative;z-index:2;min-height:520px;display:flex;align-items:center}
.campaign-copy{max-width:560px}
.campaign-copy p{max-width:500px;color:#3d4a4f;margin-top:16px}
.brand-strip{background:var(--lime);text-align:center;padding:8px 12px;font-size:11px;font-weight:700}

/* sections */
.section{padding:78px 0}
.section.soft{background:var(--paper2)}
.section.white{background:#fbfaf7}
.section-head{text-align:center;max-width:840px;margin:0 auto 34px}
.section-head p{color:var(--muted);max-width:700px;margin:12px auto 0}

/* needs */
.needs-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.need-card{background:#fff;border:1px solid rgba(30,44,50,.06);overflow:hidden;border-radius:12px}
.need-card img{width:100%;aspect-ratio:5/3;object-fit:cover}
.need-copy{padding:14px}
.need-copy strong{font-size:13px}
.need-copy span{display:block;font-size:10px;color:var(--muted);margin-top:4px}

/* hair banner */
.hair-banner{
  position:relative;min-height:430px;overflow:hidden;
  background:#d4b8b1;
}
.hair-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hair-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,38,42,.58),rgba(28,38,42,.18) 52%,transparent 72%)}
.hair-content{position:relative;z-index:2;min-height:430px;display:flex;align-items:center}
.hair-copy{max-width:580px;color:#fff}
.hair-copy p{max-width:520px;margin-top:16px;color:rgba(255,255,255,.92)}

/* standard */
.standard{background:var(--mint)}
.standard-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:center}
.standard-copy p{max-width:650px;color:#214c4d;margin-top:16px}
.accordion{margin-top:26px;border-top:1px solid rgba(17,48,54,.35)}
.acc-item{border-bottom:1px solid rgba(17,48,54,.35)}
.acc-btn{
  width:100%;background:none;border:0;padding:16px 0;
  display:flex;justify-content:space-between;align-items:center;
  font-size:12px;font-weight:700;cursor:pointer;color:var(--ink)
}
.acc-panel{display:none;padding:0 0 16px;color:#214c4d;font-size:12px}
.acc-item.open .acc-panel{display:block}
.plus-icon{width:16px;height:16px;transition:.2s}
.acc-item.open .plus-icon{transform:rotate(45deg)}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:rgba(255,255,255,.16);padding:14px;border-radius:18px}
.compare-col{background:#f8fbf6;padding:22px;border-radius:12px;text-align:center}
.compare-col.alt{background:rgba(20,72,70,.16)}
.compare-col img{height:160px;object-fit:contain;margin:0 auto 15px}
.checks{font-size:18px;line-height:1.8}

/* products */
.product-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.big-product,.small-product{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.big-visual{height:420px;background:#efe9df;display:flex;align-items:center;justify-content:center}
.big-visual img{width:100%;height:100%;object-fit:cover}
.big-info{padding:22px}
.big-info p,.card-copy p{color:var(--muted);margin-top:10px}
.product-side{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.small-visual{height:190px;background:#e8ddd7}
.small-visual img{width:100%;height:100%;object-fit:cover}
.card-copy{padding:16px}
.card-copy h3{font-family:Inter,sans-serif;font-size:13px;font-weight:800;letter-spacing:0}

/* evidence */
.evidence{max-width:900px;margin:auto}
.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 44px}
.evidence-row{border-top:1px solid var(--ink);padding:13px 0;display:flex;justify-content:space-between;font-size:12px}
.evidence-grid > div .evidence-row:last-child{border-bottom:1px solid var(--ink)}

/* collection strip */
.collection-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.collection-item{text-align:center}
.collection-visual{height:175px;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.collection-visual img{width:100%;height:100%;object-fit:cover}
.collection-item span{display:block;font-size:10px;margin-top:10px}

/* trust */
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.trust-card{border:1px solid #7a8689;background:#fff;padding:22px;min-height:190px;display:flex;flex-direction:column;justify-content:space-between}
.trust-card blockquote{margin:0;font-family:Georgia,serif;font-size:16px;line-height:1.25}
.trust-card small{font-size:9px;color:var(--muted)}

/* story */
.story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:stretch}
.story-copy{background:#fff;padding:44px;border-radius:18px}
.story-copy p{color:var(--muted);font-size:13px;margin-top:14px}
.story-photo{min-height:440px;border-radius:18px;overflow:hidden}
.story-photo img{width:100%;height:100%;object-fit:cover}

/* journal */
.journal-flex{display:flex;gap:38px}
.journal-block{flex:1;}
.journal-block.sub{display:grid;grid-template-columns:1fr 1fr;gap:18px 38px}
.journal-img{position:relative;width:100%;padding-top:100%}
.journal-img img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.journal-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:18px}
.journal-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.journal-card.big .journal-img{height:360px}
.journal-img{height:170px}
.journal-img img{width:100%;height:100%;object-fit:cover}
.journal-copy{padding:15px}
.journal-copy h3{font-family:Inter,sans-serif;font-size:12px;font-weight:800;letter-spacing:0}
.journal-copy p{font-size:10px;color:var(--muted);margin-top:7px}

/* footer */
footer{padding:56px 0 28px;background:#f4f1eb;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:34px}
.footer-col h4{font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 12px}
.footer-col a{display:block;font-size:10px;color:var(--muted);margin:8px 0}
.footer-brand img{width:150px}
.footer-brand p{font-size:11px;color:var(--muted);margin-top:14px;max-width:320px}
.footer-subscribe-form{margin:12px auto 0;display:inline-flex;flex-wrap:nowrap;vertical-align:bottom;font-size:14px}
.footer-subscribe-form input{position:relative;width:240px;height:48px;line-height:48px;padding:0 12px;outline:none;border:1px solid rgb(228,228,231);border-radius:8px 0 0 8px;transition: all 0.2s}
.footer-subscribe-form input:hover{border-color:rgb(0,119,230);z-index:2;}
.footer-subscribe-form button{position:relative;margin-left:-1px;height:48px;line-height:48px;padding:0 24px;outline:none;border:1px solid rgb(51,54,57);border-radius:0 8px 8px 0;transition: all 0.2s;background:var(--ink);color:var(--white)}
.footer-subscribe-form button:hover{border-color:rgb(0,119,230)}
.disclaimer{font-size:9px;color:#7b8588;margin-top:36px;max-width:930px}
.copyright{font-size:9px;color:#7b8588;margin-top:14px}

@media(max-width:1000px){
  .nav-left{display:none}
  .needs-grid{grid-template-columns:repeat(3,1fr)}
  .standard-grid,.product-layout,.story-grid{grid-template-columns:1fr}
  .product-side{grid-template-columns:1fr 1fr}
  .collection-strip{grid-template-columns:repeat(3,1fr)}
  .journal-grid{grid-template-columns:1fr 1fr}
  .journal-card.big{grid-row:span 2}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .container{width:min(calc(100% - 24px),var(--max))}
  .announcement{height:24px;font-size:9px}
  .header{height:58px}
  .logo-img{width:130px}
  .nav-right .icon-link:nth-child(2){display:none}
  .hero{min-height:760px}
  .hero-inner{min-height:760px;align-items:flex-start;padding-top:70px}
  .hero-bg.hero-bg-1{content:url("03_home/hero/home-hero-mobile.webp")}
  .hero-bg.hero-bg-2{content:url("03_home/collection-banner/collection-mobile.webp")}
  .hero-overlay{background:linear-gradient(180deg,rgba(20,33,39,.58),rgba(20,33,39,.12) 52%,transparent 75%)}
  .campaign{min-height:700px}
  .campaign-inner{min-height:700px;align-items:flex-start;padding-top:50px}
  .campaign-bg{content:url("03_home/collection-banner/collection-mobile.webp")}
  .campaign-overlay{background:linear-gradient(180deg,rgba(247,244,238,.94),rgba(247,244,238,.72) 42%,rgba(247,244,238,.05) 70%)}
  .section{padding:58px 0}
  .needs-grid{grid-template-columns:1fr 1fr}
  .hair-banner{min-height:650px}
  .hair-banner img{content:url("03_home/hair-banner/hair-banner-mobile.webp")}
  .hair-banner:after{background:linear-gradient(180deg,rgba(28,38,42,.58),rgba(28,38,42,.15) 48%,transparent 72%)}
  .hair-content{min-height:650px;align-items:flex-start;padding-top:52px}
  .product-side,.evidence-grid,.trust-grid,.journal-grid{grid-template-columns:1fr}
  .collection-strip{
    display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px
  }
  .collection-item{min-width:72%;scroll-snap-align:start}
  .journal-flex{flex-direction:column;gap:18px}
  .journal-block.sub{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:span 2;display:flex;flex-direction:column;align-items:center}
}
