:root {
  --ink:#4d1931;
  --wine:#7b173d;
  --rose:#f5ced8;
  --pink:#f8e4e8;
  --lilac:#ddd3f2;
  --purple:#66509b;
  --blue:#dceefe;
  --blue-ink:#245a87;
  --orange:#f15a24;
  --orange-deep:#a93e18;
  --cream:#fffaf6;
  --gold:#c59745;
  --white:#fff;
  --shadow:0 35px 90px rgba(78,31,54,.15);
  --radius:32px;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:var(--cream); color:var(--ink); font-family:'DM Sans',sans-serif; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button { color:inherit; }
img { display:block; max-width:100%; }
.section-pad { padding:120px max(5vw,28px); }
.eyebrow { margin:0 0 16px; color:#935875; font-size:11px; font-weight:700; letter-spacing:.19em; }
.scroll-progress { position:fixed; inset:0 0 auto; z-index:100; height:3px; background:rgba(255,255,255,.2); pointer-events:none; }
.scroll-progress span { display:block; width:0; height:100%; background:linear-gradient(90deg,var(--wine),#ef9aaf,#8a78cf,var(--orange)); box-shadow:0 0 20px rgba(202,89,127,.7); }
.cursor-light { position:fixed; left:0; top:0; z-index:2; width:260px; height:260px; pointer-events:none; border-radius:50%; transform:translate(-50%,-50%); background:radial-gradient(circle,rgba(255,210,224,.32),transparent 69%); mix-blend-mode:multiply; }
.cursor-trail { position:fixed; inset:0; z-index:95; pointer-events:none; }
.trail-dot { position:fixed; border-radius:50%; transform:translate(-50%,-50%); background:radial-gradient(circle,#fff 0 15%,#f4a9c4 34%,rgba(245,139,178,0) 72%); animation:trailFade .8s ease-out forwards; mix-blend-mode:screen; }

.announcement { height:30px; display:flex; align-items:center; justify-content:center; gap:16px; position:relative; z-index:60; background:linear-gradient(90deg,#f5d9e1,#fff7f0,#eee1f5,#ffe5d8); color:#583344; font-size:10px; letter-spacing:.24em; }
.announcement span { color:var(--gold); }
.site-header { height:80px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; position:sticky; top:0; z-index:55; padding:0 max(5vw,28px); border-bottom:1px solid rgba(91,43,65,.08); background:rgba(255,250,247,.74); backdrop-filter:blur(22px); transition:.35s; }
.site-header.scrolled { height:70px; background:rgba(255,250,247,.92); box-shadow:0 14px 36px rgba(71,25,48,.08); }
.brand { color:var(--gold); font-size:27px; font-weight:500; letter-spacing:.23em; display:inline-flex; align-items:center; gap:11px; line-height:1; }
.brand-mark { height:1.35em; width:auto; display:block; flex:0 0 auto; }
.desktop-nav { display:flex; gap:34px; font-size:11px; font-weight:700; letter-spacing:.08em; }
.desktop-nav a { position:relative; }
.desktop-nav a:after { content:''; position:absolute; left:0; right:100%; bottom:-8px; height:1px; background:var(--wine); transition:.35s; }
.desktop-nav a:hover:after { right:0; }
.header-cta { justify-self:end; display:flex; align-items:center; gap:10px; font-size:11px; font-weight:700; letter-spacing:.09em; }
.header-cta span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--wine); color:#fff; transition:.3s; }
.header-cta:hover span { transform:rotate(45deg) scale(1.08); }
.menu-toggle { display:none; border:0; background:none; cursor:pointer; }
.menu-toggle span { display:block; width:25px; height:1.5px; margin:7px 0; background:currentColor; transition:.3s; }

.hero { min-height:900px; display:grid; grid-template-columns:minmax(370px,.78fr) minmax(600px,1.22fr); align-items:center; gap:50px; position:relative; overflow:hidden; padding:80px max(5vw,28px) 70px; background:radial-gradient(circle at 12% 18%,#fff 0 4%,transparent 27%),linear-gradient(135deg,#fffaf7,#fbedf1 48%,#f0edff 100%); }
.hero:after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:radial-gradient(circle 360px at var(--spot-x,65%) var(--spot-y,40%),rgba(255,255,255,.76),transparent 72%); mix-blend-mode:soft-light; }
.hero-copy { position:relative; z-index:5; max-width:650px; }
.hero h1,.section-heading h2,.world-copy h2,.formula-copy h2,.brand-copy h2,.newsletter h2 { margin:0; font-family:'Playfair Display',serif; font-weight:500; letter-spacing:-.045em; }
.hero h1 { font-size:clamp(72px,7.4vw,120px); line-height:.82; }
.hero h1 em,.section-heading h2 em,.world-copy h2 em,.formula-copy h2 em,.brand-copy h2 em,.newsletter h2 em { color:#a23f65; font-weight:500; }
.hero-lede { max-width:545px; margin:30px 0 0; color:#6f5963; font-size:18px; line-height:1.75; }
.hero-actions { display:flex; align-items:center; gap:25px; flex-wrap:wrap; margin:34px 0; }
.btn { min-height:54px; display:inline-flex; align-items:center; justify-content:center; padding:0 25px; border-radius:8px; position:relative; overflow:hidden; font-size:11px; font-weight:700; letter-spacing:.09em; transition:.3s; }
.btn:after { content:''; position:absolute; inset:-120% -50%; transform:translateX(-75%) rotate(12deg); background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent); transition:.8s; }
.btn:hover:after { transform:translateX(75%) rotate(12deg); }
.btn-wine { background:var(--wine); color:#fff; box-shadow:0 16px 28px rgba(121,24,61,.2); }
.text-link { display:flex; align-items:center; gap:12px; border-bottom:1px solid rgba(78,24,50,.36); padding-bottom:7px; font-size:10px; font-weight:700; letter-spacing:.08em; }
.text-link span { animation:arrowBounce 1.8s ease-in-out infinite; }
.hero-proof { display:flex; gap:30px; flex-wrap:wrap; color:#765f69; font-size:10px; letter-spacing:.05em; text-transform:uppercase; }
.hero-proof span { display:flex; align-items:center; gap:8px; }
.hero-proof b { color:var(--wine); font-family:'Playfair Display'; font-size:25px; font-weight:500; }
.hero-aurora { position:absolute; z-index:1; border-radius:50%; filter:blur(35px); opacity:.62; pointer-events:none; will-change:transform; }
.hero-aurora-a { width:600px; height:490px; right:5%; top:5%; background:conic-gradient(from 40deg,#ffcbd8,#fff1cf,#d7ccff,#ffcbd8); animation:aurora 15s ease-in-out infinite alternate; }
.hero-aurora-b { width:480px; height:420px; right:34%; bottom:-14%; background:conic-gradient(from 200deg,#d8efff,#ffd1df,#ffe1ca,#d8efff); animation:aurora 18s ease-in-out -7s infinite alternate-reverse; }
.hero-grid { position:absolute; inset:0; z-index:1; opacity:.22; background-image:linear-gradient(rgba(112,65,84,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(112,65,84,.08) 1px,transparent 1px); background-size:90px 90px; mask-image:linear-gradient(90deg,transparent,black 55%,black); }
.hero-gallery { height:720px; position:relative; z-index:5; perspective:1300px; }
.hero-tile { width:225px; height:410px; display:flex; flex-direction:column; position:absolute; padding:14px; border-radius:120px 120px 34px 34px; background:transparent; transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .45s; will-change:transform,translate; }
.hero-tile:hover { z-index:10; filter:brightness(1.04); transform:translateY(-18px) rotate(0) scale(1.055)!important; }
.tile-timeless { left:0; top:218px; transform:rotate(-8deg); }
.tile-everglow { left:24%; top:82px; transform:rotate(4deg); }
.tile-collagen { right:21%; top:230px; transform:rotate(7deg); }
.tile-pdrn { right:0; top:42px; transform:rotate(-4deg); border-color:rgba(238,115,58,.32); }
.tile-number,.tile-goal { position:absolute; z-index:4; top:18px; font-size:9px; font-weight:700; letter-spacing:.12em; }
.tile-number { left:20px; }
.tile-goal { right:20px; }
.tile-image { height:330px; display:grid; place-items:center; background:transparent; }
.tile-image img { width:100%; height:330px; object-fit:contain; transition:transform .65s; filter:drop-shadow(0 30px 38px rgba(90,40,70,.30)) drop-shadow(0 8px 14px rgba(90,40,70,.16)); }
.tile-collagen .tile-image img { object-fit:contain; }
.hero-tile:hover img { transform:scale(1.045); }
.hero-tile strong { margin:auto 0 2px; text-align:center; font-family:'Playfair Display'; font-size:21px; font-weight:500; }
.gallery-orbit { position:absolute; z-index:-1; border:1px solid rgba(139,80,108,.18); border-radius:50%; animation:orbitPulse 10s ease-in-out infinite; }
.orbit-one { width:88%; height:35%; left:7%; top:30%; transform:rotate(-12deg); }
.orbit-two { width:64%; height:68%; left:19%; top:14%; transform:rotate(24deg); animation-delay:-5s; }
.floating-pearl { position:absolute; z-index:7; border-radius:50%; background:radial-gradient(circle at 28% 25%,#fff,#ffd2df 43%,#b5537b); box-shadow:0 0 22px rgba(194,87,130,.36); animation:pearlFloat 7s ease-in-out infinite; }
.pearl-one { width:18px; height:18px; left:9%; top:18%; }
.pearl-two { width:11px; height:11px; right:9%; top:48%; animation-delay:-2s; }
.pearl-three { width:14px; height:14px; left:48%; bottom:9%; animation-delay:-4.5s; }
.scroll-note { position:absolute; left:max(5vw,28px); bottom:30px; z-index:6; display:flex; gap:12px; align-items:center; font-size:9px; letter-spacing:.2em; }
.scroll-note span { width:45px; height:1px; position:relative; overflow:hidden; background:rgba(76,24,48,.4); }
.scroll-note span:after { content:''; position:absolute; inset:0; background:#fff; animation:scan 2s linear infinite; }

.motion-marquee { --marquee-gap:34px; padding:17px 0; overflow:hidden; position:relative; border-block:1px solid rgba(91,42,66,.08); background:linear-gradient(90deg,#fff5f6,#f4e8f6,#e8f4ff,#fff0e8); }
.motion-marquee:before,.motion-marquee:after { content:''; position:absolute; inset:0 auto 0 0; z-index:2; width:min(11vw,130px); pointer-events:none; background:linear-gradient(90deg,#fff6f5,transparent); }
.motion-marquee:after { inset:0 0 0 auto; transform:scaleX(-1); }
.marquee-track { width:max-content; display:flex; gap:var(--marquee-gap); will-change:transform; animation:marquee 18s linear infinite; }
.marquee-group { display:flex; flex-shrink:0; gap:var(--marquee-gap); align-items:center; padding-right:var(--marquee-gap); white-space:nowrap; font-size:11px; font-weight:700; letter-spacing:.24em; }
.motion-marquee:hover .marquee-track { animation-play-state:paused; }
.motion-marquee b { color:var(--gold); }

.solutions { background:#fff; }
.solutions.section-pad { padding-top:42px; }
.section-heading { max-width:760px; margin-bottom:50px; }
.section-heading h2 { font-size:clamp(50px,5vw,78px); }
.section-heading>p:last-child { max-width:650px; color:#77616b; line-height:1.7; }
.solution-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.solution-card { min-height:560px; padding:25px; position:relative; overflow:hidden; isolation:isolate; border:1px solid rgba(255,255,255,.9); border-radius:var(--radius); box-shadow:0 24px 60px rgba(78,32,55,.11); transform-style:preserve-3d; transition:transform .22s,box-shadow .35s; }
.solution-card:before { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(circle 180px at var(--spot-x,60%) var(--spot-y,40%),rgba(255,255,255,.9),transparent 72%); }
.solution-card:after { content:''; position:absolute; inset:-3px; z-index:6; pointer-events:none; border:2px solid rgba(255,255,255,.52); border-radius:inherit; transform:translateX(-110%); transition:.8s; }
.solution-card:hover:after { transform:translateX(0); }
.solution-card:hover { box-shadow:0 38px 75px rgba(78,32,55,.17); }
.solution-card.pink { background:linear-gradient(145deg,#fff7f6,#f6cfd9); }
.solution-card.lilac { background:linear-gradient(145deg,#fbf9ff,#dcd2f1); }
.solution-card.blue { background:linear-gradient(145deg,#fff,#dcefff); }
.solution-card.orange { background:linear-gradient(145deg,#fff9f4,#ffd9c8 55%,#ffb892); }
.solution-top { display:flex; justify-content:space-between; gap:12px; align-items:center; font-size:10px; letter-spacing:.11em; }
.solution-top span { width:30px; height:30px; display:grid; place-items:center; border:1px solid rgba(82,28,53,.18); border-radius:50%; }
.solution-top small { font-weight:700; text-align:right; }
.solution-card h3 { margin:25px 0 14px; font-family:'Playfair Display'; font-size:clamp(33px,2.7vw,48px); font-weight:500; line-height:.95; letter-spacing:-.03em; }
.solution-card>p { max-width:260px; color:#664f5a; font-size:13px; line-height:1.65; }
.solution-product { width:78%; height:305px; position:absolute; right:-8%; bottom:118px; overflow:visible; background:transparent; box-shadow:none; transition:.55s; }
.solution-product img { width:100%; height:100%; object-fit:contain; padding:0; filter:drop-shadow(0 26px 34px rgba(90,40,70,.28)) drop-shadow(0 8px 12px rgba(90,40,70,.14)); }
.transparent-product { background:transparent; box-shadow:none; }
.transparent-product img { object-fit:contain; }
.everglow-window img { object-position:center; }
.solution-card:hover .solution-product { transform:translateY(-12px) rotate(2deg) scale(1.035); }
.discover { position:absolute; left:25px; bottom:25px; display:flex; gap:13px; align-items:center; z-index:5; font-size:10px; font-weight:700; letter-spacing:.11em; }
.solution-price { display:inline-block; margin-top:14px; font-family:'Playfair Display'; font-size:27px; font-weight:500; color:var(--wine); }
.trust-bar { display:flex; justify-content:center; gap:min(6vw,70px); flex-wrap:wrap; padding:24px max(5vw,28px); background:#fff; border-bottom:1px solid rgba(91,42,66,.08); }
.trust-bar > div { display:flex; align-items:center; gap:12px; }
.trust-bar b { font-size:22px; }
.trust-bar span { font-size:10px; font-weight:700; letter-spacing:.14em; }
.trust-bar small { display:block; font-size:9px; font-weight:500; letter-spacing:.05em; color:#8a7079; margin-top:3px; }
.buy-trust { display:block; width:100%; margin-top:8px; font-size:10px; letter-spacing:.08em; color:#8a7079; }
.buy-row { margin-top:26px; display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.buy-row .world-link { margin-top:0; }
.formula-buy { margin-top:22px; display:inline-flex; }
.ritual { background:#fff; }
.ritual-card { display:flex; justify-content:space-between; align-items:center; gap:30px; flex-wrap:wrap; padding:36px 40px; border-radius:var(--radius); background:linear-gradient(135deg,#fff7f6,#f6e3ef 45%,#e8f0ff); border:1px solid rgba(255,255,255,.9); box-shadow:0 24px 60px rgba(78,32,55,.11); }
.ritual-items { display:grid; gap:10px; font-size:13px; letter-spacing:.05em; color:#5d4450; font-weight:600; }
.ritual-total { display:grid; gap:12px; justify-items:start; }
.ritual-total small { font-size:10px; letter-spacing:.2em; font-weight:700; }
.ritual-total strong { font-family:'Playfair Display'; font-size:44px; font-weight:500; line-height:1; }
.discover b { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.76); transition:.3s; }
.solution-card:hover .discover b { transform:rotate(45deg); }

.product-world { min-height:780px; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr); align-items:center; gap:4vw; padding:90px max(5vw,28px); position:relative; overflow:hidden; }
.product-world.reverse { grid-template-columns:minmax(360px,.75fr) minmax(0,1.25fr); }
.product-world.reverse .world-media { grid-column:2; grid-row:1; }
.product-world.reverse .world-copy { grid-column:1; grid-row:1; }
.world-timeless { background:linear-gradient(120deg,#f6ccd6,#fff6f2 48%,#f7dce2); }
.world-everglow { background:linear-gradient(120deg,#e7e0f6,#f8f4ff 52%,#d6caec); }
.world-collagen { background:linear-gradient(120deg,#dfefff,#fff 51%,#f5d9e1); }
.world-pdrn { background:linear-gradient(120deg,#ffe5d8,#fff8f1 48%,#ffc49d); }
.world-media { position:relative; z-index:3; overflow:hidden; border-radius:34px; box-shadow:var(--shadow); transition:translate .2s ease-out; }
.world-media:after { content:''; position:absolute; inset:-30%; background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.42) 50%,transparent 60%); transform:translateX(-65%); animation:worldShine 7s ease-in-out infinite; pointer-events:none; }
.world-media img { width:100%; aspect-ratio:2048/1143; object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.7,.2,1); }
.world-media:hover img { transform:scale(1.035); }
.world-copy { max-width:610px; position:relative; z-index:4; }
.world-index { width:74px; height:74px; display:grid; place-items:center; margin-bottom:26px; border:1px solid rgba(91,38,62,.22); border-radius:50%; background:rgba(255,255,255,.32); backdrop-filter:blur(8px); font-family:'Playfair Display'; font-size:15px; }
.world-copy h2 { font-size:clamp(58px,5.7vw,88px); line-height:.9; }
.world-pdrn .world-copy h2 em { color:#db4d18; }
.world-copy>p:not(.eyebrow) { max-width:570px; margin:26px 0 0; color:#67515b; font-size:15px; line-height:1.75; }
.chips { display:flex; gap:8px; flex-wrap:wrap; margin:26px 0; }
.chips span { padding:10px 13px; border:1px solid rgba(91,39,63,.13); border-radius:100px; background:rgba(255,255,255,.56); backdrop-filter:blur(7px); font-size:10px; transition:.3s; }
.chips span:hover { transform:translateY(-4px); background:#fff; box-shadow:0 12px 25px rgba(80,32,55,.1); }
.world-link { display:inline-flex; gap:18px; align-items:center; border-bottom:1px solid currentColor; padding-bottom:8px; font-size:10px; font-weight:700; letter-spacing:.1em; }
.world-link span { transition:.3s; }
.world-link:hover span { transform:translateX(6px); }
.world-liquid { position:absolute; z-index:1; pointer-events:none; border:32px solid rgba(255,255,255,.42); border-radius:50%; filter:drop-shadow(0 0 24px rgba(255,255,255,.4)); animation:liquidOrbit 12s ease-in-out infinite alternate; }
.liquid-cream { width:650px; height:220px; left:-170px; bottom:50px; transform:rotate(-20deg); }
.liquid-serum { width:610px; height:200px; right:-180px; top:100px; transform:rotate(24deg); }
.liquid-powder { width:620px; height:190px; left:-130px; top:80px; border-style:dotted; opacity:.65; }
.liquid-orange { width:700px; height:240px; right:-220px; bottom:30px; border-color:rgba(255,170,116,.42); transform:rotate(-19deg); }

.pdrn-details { display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:center; background:#fff; }
.formula-visual { min-height:680px; display:grid; place-items:center; position:relative; overflow:hidden; border-radius:44px; isolation:isolate; background:radial-gradient(circle at 50% 45%,#fff 0 18%,#ffe4d4 40%,#ffad75 71%,#f06028); box-shadow:var(--shadow); }
.formula-visual:after { content:''; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle 270px at var(--spot-x,60%) var(--spot-y,40%),rgba(255,255,255,.82),transparent 70%); mix-blend-mode:soft-light; }
.formula-visual img { width:88%; height:88%; object-fit:cover; border-radius:38% 38% 20% 20%; mix-blend-mode:multiply; filter:drop-shadow(0 35px 35px rgba(108,48,24,.18)); animation:productFloat 7s ease-in-out infinite; }
.formula-orbit { position:absolute; border:1px solid rgba(255,255,255,.7); border-radius:50%; animation:orbitPulse 9s ease-in-out infinite; }
.formula-orbit.orbit-a { width:78%; height:33%; transform:rotate(-18deg); }
.formula-orbit.orbit-b { width:56%; height:74%; transform:rotate(22deg); animation-delay:-4s; }
.formula-label { position:absolute; padding:10px 14px; border:1px solid rgba(255,255,255,.62); border-radius:100px; background:rgba(255,255,255,.5); backdrop-filter:blur(9px); color:#6c2b18; font-size:9px; font-weight:700; letter-spacing:.12em; animation:pearlFloat 6s ease-in-out infinite; }
.label-a { left:8%; top:23%; }.label-b { right:7%; top:35%; animation-delay:-2s; }.label-c { left:12%; bottom:17%; animation-delay:-4s; }
.formula-copy h2 { font-size:clamp(54px,5.1vw,78px); line-height:.93; }
.formula-copy h2 em { color:var(--orange); }
.formula-copy>p:not(.eyebrow) { color:#6d5861; line-height:1.75; }
details { border-top:1px solid #eadde2; }
details:last-of-type { border-bottom:1px solid #eadde2; }
summary { min-height:62px; display:flex; align-items:center; justify-content:space-between; cursor:pointer; list-style:none; font-size:12px; font-weight:700; letter-spacing:.07em; }
summary::-webkit-details-marker { display:none; }
summary span { font-size:22px; font-weight:400; transition:.3s; }
details[open] summary span { transform:rotate(45deg); }
details p { margin:0 0 22px; color:#6f5963; font-size:13px; line-height:1.7; }

.match { background:linear-gradient(145deg,#fff9f6,#f6eef7 55%,#edf7ff); }
.match-experience { display:grid; grid-template-columns:.72fr 1.28fr; gap:18px; }
.goal-list { display:flex; flex-direction:column; gap:9px; }
.goal { min-height:76px; display:flex; gap:18px; align-items:center; border:1px solid rgba(91,39,63,.12); border-radius:17px; padding:0 20px; background:rgba(255,255,255,.7); cursor:pointer; text-align:left; transition:.3s; }
.goal span { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:#f5e6eb; font-size:10px; }
.goal:hover,.goal.active { transform:translateX(8px); background:var(--wine); color:#fff; box-shadow:0 17px 35px rgba(91,25,58,.18); }
.goal.active span { background:rgba(255,255,255,.16); }
.match-card { min-height:405px; display:grid; grid-template-columns:1fr .78fr; overflow:hidden; border-radius:30px; box-shadow:var(--shadow); transition:background .45s; }
.match-card.theme-pink { background:linear-gradient(135deg,#fff,#f4cbd6); }
.match-card.theme-lilac { background:linear-gradient(135deg,#fff,#d9cff0); }
.match-card.theme-blue { background:linear-gradient(135deg,#fff,#d9edff); }
.match-card.theme-orange { background:linear-gradient(135deg,#fff,#ffc6a1); }
.match-card>div:first-child { display:flex; flex-direction:column; justify-content:center; padding:45px; }
.match-card p { margin:0; font-size:10px; letter-spacing:.16em; }
.match-card h3 { margin:10px 0 18px; font-family:'Playfair Display'; font-size:47px; font-weight:500; }
.match-card span { color:#6c5560; font-size:14px; line-height:1.7; }
.match-card a { display:flex; gap:14px; align-items:center; margin-top:25px; font-size:10px; font-weight:700; letter-spacing:.12em; }
.match-image { overflow:hidden; background:rgba(255,255,255,.72); }
.match-image { display:grid; place-items:center; padding:16px; }
.match-image img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; transition:.45s; filter:drop-shadow(0 16px 24px rgba(90,40,70,.16)); }
.match-card.changing .match-image img { transform:scale(.92) rotate(-2deg); opacity:.4; }
.comparison { margin-top:45px; overflow:hidden; border:1px solid #eadde2; border-radius:24px; background:rgba(255,255,255,.74); }
.comparison>div { display:grid; grid-template-columns:1.4fr repeat(4,.8fr); min-height:58px; border-bottom:1px solid #eee1e6; }
.comparison>div:last-child { border:0; }
.comparison span,.comparison b,.comparison i { display:grid; place-items:center; padding:12px; border-right:1px solid #eee1e6; font-size:11px; font-style:normal; }
.comparison>div span:first-child { justify-items:start; font-weight:600; }
.comparison b { color:var(--wine); font-size:15px; }.comparison i { color:#d1bdc5; }
.comparison-head { background:linear-gradient(90deg,#f9e3e9,#eee7f8,#e3f1fe,#ffe4d3); font-weight:700; letter-spacing:.06em; }

.brand-story { min-height:680px; display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:center; overflow:hidden; background:linear-gradient(140deg,#4d142b,#7b2142); color:#fff; }
.brand-copy { max-width:670px; }
.brand-copy h2 { font-size:clamp(58px,5.5vw,86px); line-height:.92; }
.brand-copy h2 em { color:#f1b5c8; }
.brand-copy>p:last-child { max-width:610px; color:#ead6de; line-height:1.8; }
.brand-orbit { height:460px; display:grid; place-items:center; position:relative; perspective:950px; }
.disc { position:absolute; border:1px solid rgba(255,255,255,.3); border-radius:50%; box-shadow:inset 0 0 55px rgba(255,255,255,.1),0 0 45px rgba(247,164,196,.14); backdrop-filter:blur(5px); }
.d1 { width:390px; height:390px; animation:discOrbit 14s linear infinite; }.d2 { width:285px; height:285px; animation:discOrbit 10s linear -3s infinite reverse; }.d3 { width:170px; height:170px; animation:discOrbit 8s linear -5s infinite; }
.brand-orbit>span { z-index:3; text-align:center; font-family:'Playfair Display'; font-size:38px; letter-spacing:.08em; }
.brand-orbit em { color:#efb5c8; font-size:25px; }

.newsletter { display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:center; background:linear-gradient(110deg,#f2dbe4,#f4edff,#dceeff,#ffe1d0); }
.newsletter h2 { font-size:clamp(52px,5vw,76px); line-height:.94; }
.newsletter form>label { display:block; margin-bottom:14px; color:#6f5963; font-size:13px; }
.newsletter form>div { display:grid; grid-template-columns:1fr auto; }
.newsletter input { min-height:60px; border:0; border-radius:12px 0 0 12px; padding:0 18px; outline:none; background:rgba(255,255,255,.8); }
.newsletter button { border:0; border-radius:0 12px 12px 0; padding:0 25px; background:var(--wine); color:#fff; cursor:pointer; font-size:11px; font-weight:700; letter-spacing:.08em; }
.form-success { display:block; height:0; margin-top:12px; opacity:0; transform:translateY(-5px); transition:.3s; font-size:11px; }
form.sent .form-success { height:auto; opacity:1; transform:none; }

footer { display:grid; grid-template-columns:1fr 1.3fr; gap:45px; padding:75px max(5vw,28px) 35px; background:#3f1226; color:#f7e7ed; }
footer>div:first-child p { max-width:430px; color:#d9c3cc; line-height:1.7; }
.footer-links { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.footer-links div { display:flex; flex-direction:column; gap:9px; font-size:12px; }
.footer-links b { margin-bottom:8px; color:#eab3c5; font-size:10px; letter-spacing:.16em; }
footer small { grid-column:1/-1; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); color:#bba4ad; }

.mobile-nav { display:none; }
.section-rail { position:fixed; right:18px; top:50%; z-index:50; display:flex; flex-direction:column; gap:11px; transform:translateY(-50%); padding:13px 9px; border-radius:100px; background:rgba(255,255,255,.62); box-shadow:0 14px 38px rgba(80,31,54,.11); backdrop-filter:blur(14px); }
.section-rail a { width:7px; height:7px; border-radius:50%; background:#d4b9c4; transition:.3s; }
.section-rail a:hover,.section-rail a.active { transform:scale(1.65); background:var(--wine); box-shadow:0 0 0 4px rgba(121,23,61,.1); }
.reveal { opacity:0; transform:translateY(34px); transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1); }
.reveal.in { opacity:1; transform:none; }
.delay-1 { transition-delay:.12s; }.delay-2 { transition-delay:.22s; }.delay-3 { transition-delay:.32s; }

@keyframes aurora { from { transform:translate3d(-4%,-5%,0) rotate(-8deg) scale(.94); } to { transform:translate3d(8%,7%,0) rotate(15deg) scale(1.1); } }
@keyframes arrowBounce { 50% { transform:translateY(5px); } }
@keyframes orbitPulse { 0%,100% { opacity:.38; scale:.95; } 50% { opacity:.9; scale:1.05; } }
@keyframes pearlFloat { 0%,100% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-18px) rotate(5deg); } }
@keyframes scan { from { transform:translateX(-110%); } to { transform:translateX(110%); } }
@keyframes lightSweep { to { transform:translateX(80%); } }
@keyframes marquee { to { transform:translateX(calc(-50% - var(--marquee-gap) / 2)); } }
@keyframes worldShine { 0%,35% { transform:translateX(-70%) rotate(4deg); } 70%,100% { transform:translateX(70%) rotate(4deg); } }
@keyframes liquidOrbit { to { translate:30px -22px; rotate:5deg; scale:1.06; } }
@keyframes productFloat { 0%,100% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-17px) rotate(1deg); } }
@keyframes discOrbit { from { transform:rotateX(65deg) rotateZ(0); } to { transform:rotateX(65deg) rotateZ(360deg); } }
@keyframes trailFade { to { transform:translate(-50%,-50%) scale(2.7); opacity:0; } }

@media (max-width:1180px) {
  .hero { grid-template-columns:1fr; padding-top:70px; }
  .hero-copy { max-width:780px; }
  .hero-gallery { max-width:900px; width:100%; margin:0 auto; }
  .solution-grid { grid-template-columns:repeat(2,1fr); }
  .product-world,.product-world.reverse { grid-template-columns:1fr; gap:40px; }
  .product-world.reverse .world-media,.product-world.reverse .world-copy { grid-column:auto; grid-row:auto; }
  .product-world.reverse .world-media { order:1; }.product-world.reverse .world-copy { order:2; }
  .world-copy { max-width:800px; }
}

@media (max-width:820px) {
  .desktop-nav,.header-cta,.section-rail { display:none; }
  .site-header { grid-template-columns:1fr auto; }
  .menu-toggle { display:block; justify-self:end; }
  .menu-toggle.open span:first-child { transform:translateY(4px) rotate(45deg); }
  .menu-toggle.open span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .mobile-nav.open { display:flex; position:fixed; inset:100px 0 auto; z-index:54; flex-direction:column; gap:17px; padding:26px max(5vw,28px) 34px; background:rgba(255,250,247,.97); box-shadow:0 24px 45px rgba(72,25,48,.12); }
  .mobile-nav.open a { font-family:'Playfair Display'; font-size:28px; }
  .hero-gallery { height:620px; transform:scale(.88); transform-origin:center top; margin-bottom:-70px; }
  .hero-aurora { filter:blur(55px); opacity:.46; }
  .solution-card,.world-media,.match-card,.formula-visual { box-shadow:0 20px 52px rgba(78,31,54,.12); }
  .product-world,.pdrn-details,.brand-story { content-visibility:auto; contain-intrinsic-size:760px; }
  .pdrn-details,.match-experience,.brand-story,.newsletter { grid-template-columns:1fr; }
  .formula-visual { min-height:560px; }
  .brand-orbit { height:400px; }
  footer { grid-template-columns:1fr; }
  .footer-links { grid-template-columns:repeat(3,1fr); }
}

@media (max-width:600px) {
  .section-pad { padding:80px 20px; }
  .announcement { height:28px; font-size:8px; gap:9px; }
  .site-header { height:66px; padding:0 20px; }
  .brand { font-size:21px; }
  .hero { min-height:auto; grid-template-columns:1fr; padding:58px 20px 35px; }
  .hero h1 { font-size:clamp(54px,17vw,68px); }
  .hero-lede { font-size:15px; }
  .hero-proof { gap:12px; }
  .hero-gallery { height:760px; display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:25px 0 0; transform:none; }
  .hero-tile { width:auto; height:360px; position:relative; inset:auto!important; transform:none!important; border-radius:85px 85px 25px 25px; padding:10px; }
  .tile-image { height:285px; border-radius:78px 78px 18px 18px; }
  .tile-image img { height:285px; }
  .tile-number,.tile-goal { top:14px; font-size:7px; }.tile-number { left:15px; }.tile-goal { right:15px; }
  .hero-tile strong { font-size:17px; }
  .gallery-orbit,.floating-pearl,.scroll-note { display:none; }
  .motion-marquee { --marquee-gap:22px; padding:13px 0; }
  .marquee-track { animation-duration:15s; }
  .marquee-group { gap:var(--marquee-gap); padding-right:var(--marquee-gap); font-size:9px; }
  .solution-grid { grid-template-columns:1fr; }
  .solution-card { min-height:470px; }
  .solution-product { height:215px; width:68%; }
  .product-world { min-height:auto; padding:70px 20px; }
  .world-media { border-radius:20px; }
  .world-copy h2 { font-size:56px; }
  .world-index { width:58px; height:58px; }
  .formula-visual { min-height:460px; border-radius:25px; }
  .formula-label { font-size:7px; padding:8px 10px; }
  .match-card { grid-template-columns:1fr; }
  .match-card>div:first-child { padding:30px; }
  .match-image { height:330px; }
  .comparison { overflow-x:auto; }
  .comparison>div { min-width:650px; }
  .brand-story { padding:85px 20px; }
  .brand-copy h2 { font-size:55px; }
  .d1 { width:320px; height:320px; }.d2 { width:235px; height:235px; }.d3 { width:145px; height:145px; }
  .newsletter form>div { grid-template-columns:1fr auto; }
  footer { padding:60px 20px 30px; }
  .footer-links { grid-template-columns:1fr 1fr; }
  .cursor-light,.cursor-trail { display:none; }
}

@media (max-width:430px) {
  .hero { padding-inline:16px; }
  .hero-actions { align-items:stretch; }
  .hero-actions .btn { width:100%; }
  .hero-proof { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
  .hero-proof span { align-items:flex-start; flex-direction:column; gap:2px; }
  .hero-gallery { height:680px; gap:9px; }
  .hero-tile { min-width:0; height:326px; border-radius:72px 72px 22px 22px; padding:8px; }
  .tile-image { height:255px; border-radius:66px 66px 17px 17px; }
  .tile-image img { height:255px; }
  .hero-tile strong { font-size:15px; }
  .solution-card { min-height:450px; padding:22px; }
  .solution-card h3 { font-size:39px; }
  .solution-product { height:205px; }
  .world-copy h2 { font-size:clamp(48px,15vw,58px); }
  .formula-visual { min-height:410px; }
  .match-card h3 { font-size:39px; }
  .match-image { height:290px; }
  .brand-copy h2 { font-size:48px; }
  .brand-orbit { height:330px; transform:scale(.86); }
  .newsletter h2 { font-size:48px; }
  .newsletter form>div { grid-template-columns:1fr; gap:8px; }
  .newsletter input,.newsletter button { min-height:56px; border-radius:12px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { animation:none!important; transition:none!important; }
  .reveal { opacity:1; transform:none; }
  .cursor-light,.cursor-trail,.scroll-progress { display:none; }
}
