:root{--ink:#211c18;--muted:#6f6258;--cream:#f7f0e6;--gold:#9b794d;--line:rgba(33,28,24,.13)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#f6efe5;font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif}.nav{height:96px;position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 5vw;background:rgba(250,246,238,.94);border-bottom:1px solid rgba(35,28,23,.08);backdrop-filter:blur(15px)}.back{justify-self:start;color:var(--ink);text-decoration:none;font-size:13px;letter-spacing:.1em}.brand{display:block;width:240px;height:72px;overflow:hidden}.brand img{width:100%;height:100%;object-fit:contain}.nav-actions{justify-self:end;display:flex;align-items:center;gap:18px}.member-link,.cart{position:relative;border:0;background:none;cursor:pointer;color:var(--ink);display:flex;align-items:center;gap:8px;text-decoration:none;font-size:13px}.member-link svg,.cart svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.4}.badge{position:absolute;top:-8px;left:15px;min-width:17px;height:17px;padding:0 4px;border-radius:20px;background:var(--ink);color:white;font-size:10px;line-height:17px}.hero{min-height:calc(100vh - 96px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:7vw;align-items:center;padding:70px 7vw 90px;background:radial-gradient(circle at 82% 15%,rgba(255,244,213,.95),transparent 28%),linear-gradient(135deg,#f8f1e7,#e8d1ad)}.visual{border-radius:30px;overflow:hidden;background:#e5d4ba;box-shadow:0 34px 100px rgba(91,60,29,.18);aspect-ratio:3/2}.visual img{width:100%;height:100%;display:block;object-fit:cover}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}.copy h1{font-family:Georgia,"Noto Serif TC",serif;font-size:clamp(40px,5vw,72px);line-height:1.08;font-weight:400;margin:0 0 16px}.english{font-family:Georgia,serif;color:#8d642f;font-size:17px;line-height:1.45;margin-bottom:28px}.tagline{font-size:20px;line-height:1.7;margin:0 0 20px}.intro{color:var(--muted);font-size:15px;line-height:1.9;margin:0 0 30px}.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{border:1px solid var(--ink);border-radius:999px;padding:15px 24px;background:transparent;color:var(--ink);text-decoration:none;cursor:pointer;font-size:14px}.btn.primary{background:var(--ink);color:white}.detail{padding:95px 7vw;background:#fffaf4}.detail-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.detail h2{font-family:Georgia,"Noto Serif TC",serif;font-size:40px;font-weight:400;margin:0 0 28px}.benefits{display:grid;gap:0;margin:0;padding:0;list-style:none}.benefits li{padding:19px 0;border-top:1px solid var(--line);font-size:17px}.spec{display:grid;gap:22px}.spec div{padding-bottom:22px;border-bottom:1px solid var(--line)}.spec small{display:block;color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}.spec p{margin:0;color:var(--muted);line-height:1.8}.notice{max-width:1200px;margin:65px auto 0;padding-top:22px;border-top:1px solid var(--line);color:#94867b;font-size:12px;line-height:1.7}.toast{position:fixed;left:50%;bottom:32px;z-index:50;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:#211c18;color:white;padding:14px 22px;border-radius:999px;transition:.25s}.toast.show{transform:translate(-50%,0);opacity:1}@media(max-width:800px){.nav{height:82px;padding:0 20px}.brand{width:170px;height:60px}.back span,.member-link span,.cart span{display:none}.nav-actions{gap:12px}.hero{min-height:auto;grid-template-columns:1fr;padding:28px 20px 70px;gap:42px}.visual{border-radius:20px}.copy h1{font-size:40px}.tagline{font-size:18px}.detail{padding:70px 20px}.detail-grid{grid-template-columns:1fr;gap:55px}.detail h2{font-size:34px}}
.product-story{padding:100px 7vw;background:#2C1A0B;color:#fff8ee}
.story-inner{max-width:980px;margin:auto;text-align:center}
.product-story .eyebrow{color:#d7b88b}
.product-story h2{margin:0 0 28px;font-family:Georgia,"Noto Serif TC",serif;font-size:clamp(38px,5vw,66px);font-weight:400;line-height:1.15}
.product-story p{max-width:820px;margin:auto;color:#c7bdb4;font-size:17px;line-height:2}
.benefits strong{display:block;font-weight:500;margin-bottom:7px}
.benefits span{display:block;color:var(--muted);font-size:14px;line-height:1.7}
.ingredient-section{max-width:1200px;margin:90px auto 0;padding-top:70px;border-top:1px solid var(--line)}
.ingredient-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:32px}
.ingredient-heading h2{margin:0}
.capacity{margin:0;text-align:right}
.capacity span{display:block;margin-bottom:6px;color:var(--gold);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.capacity strong{font-family:Georgia,serif;font-size:28px;font-weight:400}
.ingredient-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ingredient-grid span{padding:17px 18px;border:1px solid var(--line);border-radius:999px;background:#f8f1e7;text-align:center;font-size:14px}
@media(max-width:800px){.product-story{padding:75px 20px}.product-story p{font-size:15px}.ingredient-section{margin-top:65px;padding-top:55px}.ingredient-heading{align-items:flex-start;flex-direction:column}.capacity{text-align:left}.ingredient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-grid span{padding:14px 10px;font-size:13px}}

/* Subtle French linework in open spaces */
.product-story{position:relative;overflow:hidden}
.product-story::after{content:"";position:absolute;right:2vw;bottom:-145px;width:300px;aspect-ratio:3/4;background:url('assets/brand/eiffel-line-art.png') center/contain no-repeat;opacity:.23;pointer-events:none;mix-blend-mode:screen;filter:brightness(1.3)}
.story-inner{position:relative;z-index:1}
.detail{position:relative;overflow:hidden}
.detail::before{content:"";position:absolute;right:-145px;bottom:-175px;width:560px;aspect-ratio:3/4;background:url('assets/brand/french-rose-arch-line-art.png') center/contain no-repeat;opacity:.19;pointer-events:none}
.detail-grid,.ingredient-section,.notice{position:relative;z-index:1}
.benefits li{padding:22px 0}
.hero{position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-75px;top:-150px;width:330px;aspect-ratio:3/4;background:url('assets/brand/eiffel-line-art.png') center/contain no-repeat;opacity:.23;pointer-events:none}
.hero>*{position:relative;z-index:1}
@media(max-width:800px){.product-story::after{right:-75px;bottom:-85px;width:220px;opacity:.17}.detail::before{right:-205px;bottom:-55px;width:370px;opacity:.14}.hero::after{right:-85px;top:245px;width:220px;opacity:.17}}
.price{font-family:Georgia,"Noto Serif TC",serif;color:#7f5a2c;font-size:26px;letter-spacing:.04em;margin:-10px 0 22px}.hero::before{content:"";position:absolute;left:-55px;bottom:-70px;width:250px;aspect-ratio:36/50;background:url('assets/brand/paris-perfume-rose-line-art.svg') center/contain no-repeat;opacity:.16;pointer-events:none}.detail::after{content:"";position:absolute;left:-65px;top:110px;width:280px;aspect-ratio:52/34;background:url('assets/brand/paris-cafe-line-art.svg') center/contain no-repeat;opacity:.13;pointer-events:none}.detail-grid,.ingredient-section,.notice{position:relative;z-index:1}@media(max-width:800px){.price{font-size:23px;margin-top:-8px}.hero::before{left:-95px;bottom:-30px;width:210px;opacity:.12}.detail::after{left:-130px;top:90px;width:240px;opacity:.1}}
.site-support{padding:28px 7vw 36px;background:#30231b;color:#f7eee4;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;font-size:13px}.site-support strong{margin-right:4px}.site-support span{color:#d7c5b4}.site-support a{padding:9px 14px;border:1px solid rgba(255,255,255,.32);border-radius:999px;color:#fff;text-decoration:none}@media(max-width:800px){.site-support{align-items:flex-start;flex-direction:column}.site-support a{width:100%;text-align:center}}
