:root { --ink:#20262e; --muted:#707a82; --line:#c8ceca; --paper:#fff; --wash:#eef3ed; --coral:#c84d43; --forest:#1d2c29; --shell:min(1180px,calc(100% - 48px)); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.55; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button { color:inherit; }
.shell { width:var(--shell); margin-inline:auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.beauty-header { display:grid; grid-template-columns:210px 1fr auto; align-items:center; min-height:86px; }
.beauty-brand { display:grid; line-height:1; }
.beauty-brand span { font-size:9px; letter-spacing:.18em; }
.beauty-brand b { font-family:Georgia,serif; font-size:22px; font-weight:500; }
.beauty-brand small { margin-top:5px; color:#8a9198; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.beauty-header nav { display:flex; justify-content:center; gap:28px; font-size:13px; }
.beauty-header nav a,.beauty-tools a { border-bottom:1px solid transparent; }
.beauty-header nav a:hover,.beauty-tools a:hover { border-color:var(--coral); }
.beauty-tools { display:flex; gap:18px; align-items:center; font-size:12px; }
.beauty-hero { position:relative; height:min(680px,72vw); min-height:540px; overflow:hidden; border-block:1px solid #d7d7d7; }
.beauty-hero>img { width:100%; height:100%; object-fit:cover; object-position:center; }
.beauty-hero-copy { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.beauty-hero-copy>* { max-width:520px; }
.eyebrow { margin:0 0 12px; color:var(--coral); font-size:11px; font-weight:900; letter-spacing:.13em; }
.beauty-hero h1,.section-heading h2,.routine-copy h2,.beauty-detail h1 { margin:0; font-family:Georgia,serif; font-weight:500; line-height:.98; }
.beauty-hero h1 { font-size:clamp(48px,6vw,72px); }
.beauty-hero-copy>p:not(.eyebrow) { margin:24px 0; color:#4a535c; font-size:17px; line-height:1.65; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button { display:inline-flex; min-height:46px; align-items:center; justify-content:center; padding:0 20px; border:1px solid var(--ink); border-radius:3px; font-weight:850; }
.button.primary { background:var(--ink); color:#fff; }
.button.secondary { background:rgba(255,255,255,.78); }
.beauty-hero-copy>small { margin-top:22px; color:#69747b; }
.beauty-needs { padding:78px 0; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:30px; }
.section-heading h2,.routine-copy h2 { font-size:clamp(38px,4.5vw,50px); }
.section-heading>p { max-width:320px; margin:0; color:var(--muted); }
.need-grid { display:grid; grid-template-columns:repeat(4,1fr); border-block:1px solid var(--line); }
.need-grid button { display:grid; min-height:170px; padding:24px; border:0; border-right:1px solid var(--line); background:transparent; text-align:left; cursor:pointer; }
.need-grid button:last-child { border-right:0; }
.need-grid button:hover { background:#fff6f3; }
.need-grid span { color:var(--coral); font-size:11px; font-weight:900; }
.need-grid b { align-self:end; font-family:Georgia,serif; font-size:23px; font-weight:500; }
.need-grid small { margin-top:8px; color:var(--muted); }
.beauty-shop { padding:72px 0 82px; background:var(--wash); }
#beautySearch { display:grid; grid-template-columns:minmax(180px,260px) auto; height:42px; }
#beautySearch input { min-width:0; padding:0 12px; border:1px solid #aebbb1; border-right:0; background:#fff; }
#beautySearch button { border:0; background:var(--ink); color:#fff; font-weight:800; }
.catalog-status { min-height:22px; margin:-14px 0 22px; color:#65736a; font-size:13px; }
.beauty-products { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.beauty-product { border:1px solid #ced6ce; background:#fff; }
.beauty-product-image { position:relative; display:grid; min-height:340px; place-items:center; overflow:hidden; background:#fff; }
.beauty-product-image img { width:100%; height:340px; object-fit:cover; }
.beauty-product-image em { position:absolute; left:14px; top:14px; padding:6px 8px; border:1px solid #c8cec9; background:#fff; font-size:10px; font-style:normal; font-weight:900; }
.image-pending { color:#7a847d; font-size:13px; }
.beauty-product-copy { padding:20px; }
.beauty-product-copy>p { margin:0 0 8px; color:var(--coral); font-size:10px; font-weight:900; letter-spacing:.1em; }
.beauty-product h3 { margin:0 0 8px; font-family:Georgia,serif; font-size:24px; font-weight:500; }
.product-summary { color:#626d65; font-size:13px; line-height:1.6; }
.product-summary p { margin:0; }
.beauty-product-action { display:grid; gap:10px; margin-top:18px; padding-top:16px; border-top:1px solid #dde2de; }
.beauty-product-action b { font-size:12px; }
.beauty-product-action a { color:#a33e37; font-weight:850; }
.beauty-empty { grid-column:1/-1; max-width:760px; padding:54px; border:1px solid #c9d1ca; background:#fff; }
.beauty-empty>span { color:var(--coral); font-size:11px; font-weight:900; letter-spacing:.12em; }
.beauty-empty h3,.beauty-empty h1 { margin:12px 0; font-family:Georgia,serif; font-size:36px; font-weight:500; }
.beauty-empty p { color:var(--muted); }
.routine-section { display:grid; grid-template-columns:1fr 1fr; min-height:660px; padding:90px 0; gap:70px; align-items:center; }
.routine-visual { height:560px; overflow:hidden; }
.routine-visual img { width:100%; height:100%; object-fit:cover; }
.routine-copy ol { list-style:none; margin:32px 0; padding:0; border-top:1px solid var(--line); }
.routine-copy li { display:grid; grid-template-columns:44px 1fr; gap:12px; padding:18px 0; border-bottom:1px solid var(--line); }
.routine-copy li>span { color:var(--coral); font-size:11px; font-weight:900; }
.routine-copy li b { font-family:Georgia,serif; font-size:20px; font-weight:500; }
.routine-copy li p { margin:5px 0 0; color:var(--muted); }
.text-link { color:#a23e38; font-weight:900; }
.trust-strip { padding:48px 0; background:var(--forest); color:#fff; }
.trust-strip>.shell { display:grid; grid-template-columns:repeat(4,1fr); gap:34px; }
.trust-strip div div { display:grid; }
.trust-strip span { color:#e7897f; font-size:11px; font-weight:900; }
.trust-strip b { margin:18px 0 8px; font-family:Georgia,serif; font-size:20px; font-weight:500; }
.trust-strip p { margin:0; color:#bdc9c5; font-size:13px; }
.beauty-footer { padding:54px 0; background:#f3f0ed; }
.footer-layout { display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:44px; }
.footer-layout>div { display:grid; align-content:start; gap:9px; }
.footer-layout p { max-width:390px; color:#716d69; font-size:13px; }
.launch-state { display:grid; align-content:start; gap:8px; margin:0; padding:14px; border:1px solid #c8c1bb; }
.launch-state span { font-size:12px; }
.beauty-detail { padding:42px 0 90px; }
.detail-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:30px; color:var(--muted); font-size:12px; }
.beauty-detail-hero { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.beauty-detail-media { display:grid; min-height:560px; place-items:center; overflow:hidden; background:var(--wash); }
.beauty-detail-media img { width:100%; height:100%; min-height:560px; object-fit:cover; }
.beauty-detail-copy { padding-top:40px; }
.beauty-detail h1 { font-size:clamp(46px,5vw,66px); }
.detail-subtitle { color:var(--muted); font-size:18px; }
.beauty-detail-copy ul { padding-left:18px; color:#4f5b53; }
.purchase-state { margin-top:30px; padding:22px; border:1px solid #c7cfc8; background:#fff8f4; }
.purchase-state p { color:var(--muted); }
.beauty-detail-section { max-width:900px; margin-top:64px; padding-top:32px; border-top:1px solid var(--line); }
.beauty-detail-section dl { border-top:1px solid var(--line); }
.beauty-detail-section dl div { display:grid; grid-template-columns:220px 1fr; gap:20px; padding:14px 0; border-bottom:1px solid var(--line); }
.beauty-detail-section dt { font-weight:800; }
.beauty-detail-section dd { margin:0; color:var(--muted); }
.beauty-gallery { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:54px; }
.beauty-gallery img,.beauty-gallery video { width:100%; min-height:320px; object-fit:cover; background:#000; }
@media(max-width:900px){.beauty-header{grid-template-columns:1fr auto}.beauty-header nav{display:none}.beauty-hero{height:660px}.beauty-hero>img{object-position:64% 50%;opacity:.56}.need-grid,.trust-strip>.shell{grid-template-columns:1fr 1fr}.need-grid button:nth-child(2){border-right:0}.need-grid button:nth-child(-n+2){border-bottom:1px solid var(--line)}.beauty-products{grid-template-columns:1fr 1fr}.routine-section,.beauty-detail-hero{grid-template-columns:1fr}.routine-section{gap:36px}.routine-visual{height:420px}.footer-layout{grid-template-columns:1fr 1fr}.beauty-detail-media,.beauty-detail-media img{min-height:430px}}
@media(max-width:620px){:root{--shell:min(100% - 24px,560px)}.beauty-header{min-height:72px}.beauty-tools a:first-child{display:none}.beauty-hero{min-height:620px;height:calc(100vh - 72px)}.beauty-hero>img{opacity:.35;object-position:70% 50%}.beauty-hero-copy{justify-content:flex-end;padding-bottom:48px}.beauty-hero h1{font-size:45px}.beauty-needs{padding:55px 0}.section-heading{display:grid}.need-grid{grid-template-columns:1fr 1fr}.need-grid button{min-height:150px;padding:18px}.beauty-shop{padding:52px 0}.beauty-products{grid-template-columns:1fr}.beauty-product-image,.beauty-product-image img{min-height:290px;height:290px}.beauty-empty{padding:30px}.routine-section{padding:60px 0}.routine-visual{height:350px}.trust-strip>.shell{grid-template-columns:1fr 1fr;gap:28px}.footer-layout{grid-template-columns:1fr}.beauty-detail{padding-top:26px}.beauty-detail-copy{padding-top:0}.beauty-detail-media,.beauty-detail-media img{min-height:340px}.beauty-detail-section dl div{grid-template-columns:1fr;gap:4px}.beauty-gallery{grid-template-columns:1fr}}
