:root { --purple:#5f259f; --purple-dark:#3f136f; --purple-ink:#261034; --purple-pale:#f6f1fb; --gold:#c9a227; --gold-light:#e8d596; --ink:#222; --muted:#746e79; --line:#e9e3ec; --cream:#fbf8f3; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:var(--font-manrope),sans-serif; overflow-x:hidden; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
h1,h2,h3,p { margin:0; }
.announcement { height:35px; background:var(--purple-dark); color:#fff; display:flex; align-items:center; justify-content:center; gap:18px; font-size:10px; text-transform:uppercase; letter-spacing:.17em; }
.announcement i { width:3px; height:3px; border-radius:50%; background:var(--gold-light); }
.site-header { height:88px; background:rgba(255,255,255,.93); border-bottom:1px solid rgba(95,37,159,.09); position:sticky; top:0; z-index:50; backdrop-filter:blur(18px); }
.header-inner { max-width:1420px; height:100%; padding:0 42px; margin:auto; display:grid; grid-template-columns:270px 1fr 270px; align-items:center; }
.brand-mark { width:max-content; display:flex; align-items:center; gap:13px; }
.monogram { width:45px; height:47px; display:block; position:relative; color:var(--purple); font-family:var(--font-cormorant),serif; }
.monogram i,.monogram b { position:absolute; font-size:39px; font-style:normal; line-height:1; font-weight:600; letter-spacing:-.08em; }
.monogram i { left:0; top:1px; }
.monogram b { left:17px; top:7px; color:var(--gold); }
.brand-wording { display:flex; flex-direction:column; line-height:1; }
.brand-wording strong { color:var(--purple-dark); font-family:var(--font-cormorant),serif; font-size:26px; letter-spacing:.01em; font-weight:600; }
.brand-wording small { color:#7e707f; text-transform:uppercase; font-size:8px; letter-spacing:.35em; margin-top:5px; }
.desktop-nav { display:flex; align-items:center; justify-content:center; gap:34px; height:100%; }
.desktop-nav a { height:100%; display:grid; place-items:center; position:relative; font-size:11px; text-transform:uppercase; letter-spacing:.11em; font-weight:600; color:#554e57; }
.desktop-nav a:after { content:""; position:absolute; height:1px; width:0; background:var(--purple); left:50%; bottom:24px; transition:.3s; }
.desktop-nav a:hover:after,.desktop-nav a.active:after { width:100%; left:0; }
.desktop-nav a.active { color:var(--purple); }
.header-tools { display:flex; justify-content:flex-end; gap:5px; }
.header-tools button,.mobile-menu-btn { width:39px; height:39px; border:0; background:transparent; display:grid; place-items:center; color:#302a33; position:relative; border-radius:50%; transition:.25s; }
.header-tools button:hover { background:var(--purple-pale); color:var(--purple); }
.header-tools button span { position:absolute; right:0; top:0; min-width:15px; height:15px; padding:0 3px; display:grid; place-items:center; border-radius:12px; background:var(--purple); color:#fff; font-size:8px; }
.mobile-menu-btn { display:none; }
.mobile-drawer,.page-scrim { display:none; }
.hero { min-height:710px; position:relative; background:linear-gradient(108deg,#f9f4fb 0%,#fff 48%,#f2eafa 100%); overflow:hidden; display:grid; grid-template-columns:minmax(48px,1fr) minmax(420px,610px) minmax(480px,720px) minmax(40px,1fr); align-items:center; }
.hero-copy { grid-column:2; z-index:5; padding:70px 60px 70px 0; }
.eyebrow { text-transform:uppercase; font-size:10px; font-weight:700; letter-spacing:.24em; color:var(--purple); display:flex; align-items:center; gap:8px; }
.hero h1 { font-family:var(--font-cormorant),serif; font-size:78px; line-height:.94; letter-spacing:-.045em; font-weight:500; color:#2f1737; margin:27px 0 24px; }
h1 em,h2 em { color:var(--purple); font-weight:500; }
.hero-copy>p { color:#675c69; font-family:var(--font-cormorant),serif; font-size:22px; line-height:1.5; max-width:520px; }
.hero-actions { display:flex; gap:13px; margin-top:36px; }
.btn { min-height:51px; padding:0 24px; border-radius:4px; border:1px solid transparent; display:inline-flex; align-items:center; justify-content:center; gap:13px; text-transform:uppercase; letter-spacing:.13em; font-weight:700; font-size:10px; transition:transform .25s,box-shadow .25s,background .25s,color .25s; }
.btn:hover { transform:translateY(-2px); }
.btn-primary { background:var(--purple); color:#fff; box-shadow:0 12px 25px rgba(95,37,159,.18); }
.btn-primary:hover { background:var(--purple-dark); box-shadow:0 16px 32px rgba(63,19,111,.24); }
.btn-secondary { background:transparent; color:#3e3341; border-color:#bcb0bf; }
.btn-secondary:hover { background:#fff; border-color:var(--purple); color:var(--purple); }
.hero-proof { display:flex; align-items:center; gap:14px; margin-top:30px; color:#6e6670; font-size:10px; text-transform:uppercase; letter-spacing:.11em; }
.hero-proof b { color:#2f1737; font-size:13px; margin-right:7px; }
.hero-proof i { height:17px; width:1px; background:#cfc3d2; }
.hero-image-wrap { grid-column:3/5; align-self:stretch; position:relative; overflow:hidden; }
.hero-image-wrap:before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,#fff 0%,transparent 20%),linear-gradient(0deg,rgba(56,15,72,.12),transparent 35%); }
.hero-image-wrap>img { width:100%; height:100%; object-fit:cover; object-position:center; animation:heroZoom 14s ease-in-out infinite alternate; }
@keyframes heroZoom { from{transform:scale(1)} to{transform:scale(1.04)} }
.hero-float-card { position:absolute; z-index:3; bottom:58px; left:35px; width:230px; padding:18px 21px; background:rgba(255,255,255,.82); backdrop-filter:blur(18px); border:1px solid rgba(255,255,255,.8); box-shadow:0 18px 50px rgba(44,17,56,.14); display:flex; flex-direction:column; }
.hero-float-card>span { text-transform:uppercase; letter-spacing:.2em; color:var(--purple); font-size:8px; font-weight:700; }
.hero-float-card strong { font-family:var(--font-cormorant),serif; font-size:21px; margin:6px 0 11px; font-weight:600; }
.hero-float-card a { display:flex; gap:8px; align-items:center; font-size:9px; text-transform:uppercase; letter-spacing:.12em; font-weight:700; }
.hero-orbit { position:absolute; border:1px solid rgba(201,162,39,.22); border-radius:50%; pointer-events:none; }
.orbit-one { width:350px;height:350px;left:-180px;top:100px; }
.orbit-two { width:470px;height:470px;left:-240px;top:40px; }
.gem-dot { position:absolute; z-index:2; background:rgba(255,255,255,.2); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.6); transform:rotate(45deg); animation:floatGem 5s ease-in-out infinite; }
.gem-one { width:29px;height:29px;right:9%;top:14%; }.gem-two{width:18px;height:18px;left:20%;top:19%;animation-delay:1.7s}
@keyframes floatGem { 50% { transform:rotate(55deg) translateY(-14px); } }
.vertical-note { position:absolute; z-index:3; right:17px; top:50%; writing-mode:vertical-rl; transform:translateY(-50%); font-size:8px; letter-spacing:.32em; color:rgba(255,255,255,.8); }
.promise-strip { min-height:56px; display:flex; align-items:center; justify-content:center; gap:43px; border-bottom:1px solid var(--line); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.17em; color:#5a505c; }
.promise-strip i { color:var(--gold); }
.section { max-width:1420px; margin:0 auto; padding:110px 42px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:42px; }
.section-heading h2,.center-heading h2,.editorial-copy h2,.review-intro h2,.newsletter h2 { font-family:var(--font-cormorant),serif; font-size:54px; line-height:1; font-weight:500; color:#301b37; margin-top:13px; letter-spacing:-.025em; }
.section-heading>a,.text-link { display:inline-flex; align-items:center; gap:10px; border-bottom:1px solid #aea1b2; padding:0 0 7px; text-transform:uppercase; letter-spacing:.13em; font-size:9px; font-weight:700; transition:.25s; }
.section-heading>a:hover,.text-link:hover { color:var(--purple); border-color:var(--purple); gap:16px; }
.category-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:15px; }
.category-card { min-width:0; position:relative; }
.category-image { overflow:hidden; background:var(--cream); aspect-ratio:.78; }
.category-image img { width:100%;height:100%;object-fit:cover;transition:.55s ease; }
.category-card:hover img { transform:scale(1.045); }
.category-card>div:nth-child(2) { padding:17px 1px; }
.category-card span { text-transform:uppercase; color:#8a7f8b; font-size:7px; letter-spacing:.16em; }
.category-card h3 { font-family:var(--font-cormorant),serif; font-size:24px; font-weight:600; margin-top:4px; }
.round-arrow { position:absolute; right:4px; bottom:24px; width:31px;height:31px;border:1px solid #d8cfd9;border-radius:50%;display:grid;place-items:center;transition:.25s; }
.category-card:hover .round-arrow { background:var(--purple); color:#fff; border-color:var(--purple); transform:rotate(-35deg); }
.product-section { border-top:1px solid #f2edf2; }
.center-heading { text-align:center; margin-bottom:47px; }
.center-heading .eyebrow { justify-content:center; }
.center-heading>span { display:block; color:#786f79; font-family:var(--font-cormorant),serif; font-size:18px; margin-top:14px; }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:42px 21px; }
.product-card { min-width:0; }
.product-media { aspect-ratio:.86; position:relative; overflow:hidden; background:var(--cream); }
.product-media>img { width:100%;height:100%;object-fit:cover;transition:.55s; }
.product-card:hover .product-media>img { transform:scale(1.035); }
.product-badge { position:absolute; top:14px; left:14px; background:rgba(255,255,255,.9); padding:7px 9px; font-size:7px; text-transform:uppercase; letter-spacing:.15em; font-weight:700; color:var(--purple); }
.wish-btn { position:absolute; top:12px; right:12px; width:35px;height:35px;border:0;border-radius:50%;background:rgba(255,255,255,.88);display:grid;place-items:center;color:#4f4651;transition:.25s; }
.wish-btn:hover,.wish-btn.is-wished { color:#fff;background:var(--purple); }
.wish-btn.is-wished svg { fill:currentColor; }
.quick-view { position:absolute;left:12px;right:12px;bottom:12px;height:42px;border:0;background:rgba(49,23,56,.93);color:#fff;text-transform:uppercase;font-size:8px;letter-spacing:.18em;font-weight:700;transform:translateY(60px);opacity:0;transition:.35s; }
.product-card:hover .quick-view { transform:translateY(0);opacity:1; }
.product-info { padding:16px 2px 0; }
.tiny-stars { color:var(--gold);font-size:9px;letter-spacing:.1em; }
.tiny-stars span { color:#978d98;letter-spacing:0;font-size:8px;margin-left:5px; }
.product-info h3 { font-family:var(--font-cormorant),serif;font-size:21px;font-weight:600;margin:7px 0 5px;color:#3b303e; }
.product-info p { display:flex;gap:9px;align-items:center;font-size:12px; }
.product-info p strong { font-weight:700;color:var(--purple-dark); }.product-info del{color:#a09aa1;font-size:10px}
.center-action { text-align:center;margin-top:58px; }.center-action .text-link{font-size:10px}
.editorial { max-width:none; padding:0; display:grid;grid-template-columns:1.1fr .9fr;background:#f7f2f8;min-height:690px; }
.editorial-image { position:relative;overflow:hidden;min-height:650px; }.editorial-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(42,15,49,.35),transparent 55%)}
.editorial-image img { width:100%;height:100%;object-fit:cover;object-position:center; }
.editorial-image span{position:absolute;z-index:2;bottom:30px;left:35px;color:#fff;font-size:8px;text-transform:uppercase;letter-spacing:.2em}
.editorial-copy { padding:90px clamp(45px,8vw,135px);display:flex;flex-direction:column;justify-content:center;position:relative; }
.editorial-copy h2 { font-size:60px;line-height:1.02;margin:22px 0 30px; }
.editorial-copy>p:not(.eyebrow){font-family:var(--font-cormorant),serif;font-size:18px;line-height:1.75;color:#706573;max-width:540px}.editorial-copy .text-link{width:max-content;margin-top:33px}
.editorial-stat{position:absolute;right:58px;bottom:45px;display:flex;align-items:center;gap:14px;border-left:2px solid var(--gold);padding-left:16px}.editorial-stat strong{font-family:var(--font-cormorant),serif;font-size:32px;color:var(--purple)}.editorial-stat span{font-size:8px;text-transform:uppercase;line-height:1.6;letter-spacing:.12em;color:#756a77}
.product-slider { display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;padding-bottom:5px}.product-slider::-webkit-scrollbar{display:none}.product-slider .product-card{flex:0 0 calc(25% - 17px);scroll-snap-align:start}
.slider-controls{display:flex;gap:8px}.slider-controls button,.review-nav button{width:41px;height:41px;border:1px solid #d8ceda;background:#fff;border-radius:50%;display:grid;place-items:center;transition:.25s}.slider-controls button:hover,.review-nav button:hover{background:var(--purple);color:#fff;border-color:var(--purple)}
.benefits-section{padding:100px 42px;background:#fbf9fc}.benefits-grid{max-width:1336px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.benefit{text-align:center;padding:36px 18px;position:relative}.benefit:not(:last-child):after{content:"";position:absolute;right:0;top:25%;height:50%;width:1px;background:var(--line)}.benefit i{display:grid;place-items:center;margin:0 auto 16px;width:39px;height:39px;border:1px solid #d9cfe0;border-radius:50%;font-style:normal;color:var(--purple);font-size:19px}.benefit h3{font-family:var(--font-cormorant),serif;font-size:21px;font-weight:600}.benefit p{font-size:9px;color:#8a818c;margin-top:7px;line-height:1.5}
.offer { max-width:1336px;min-height:535px;padding:0;margin:110px auto;position:relative;overflow:hidden;background:var(--purple-dark); }.offer>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.offer-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(38,11,60,.97) 0%,rgba(50,11,70,.76) 42%,rgba(48,10,67,.08) 75%)}.offer-copy{position:relative;z-index:2;color:#fff;padding:82px 8%;max-width:640px}.offer-copy .eyebrow{color:var(--gold-light)}.offer-copy h2{font-family:var(--font-cormorant),serif;font-size:61px;line-height:.98;font-weight:500;margin:22px 0}.offer-copy h2 em{color:#dfc56e}.offer-copy>p{font-family:var(--font-cormorant),serif;font-size:18px;line-height:1.65;color:#e0d4e5}.offer-copy>p strong{font-size:25px;color:#fff}.offer-copy>p b{font-family:var(--font-manrope),sans-serif;font-size:12px;letter-spacing:.12em;color:#f3d982}.btn-light{background:#fff;color:var(--purple-dark);margin-top:30px}.btn-light:hover{background:#f0dd9f}.offer-stamp{position:absolute;z-index:2;right:39px;top:32px;width:92px;height:92px;border:1px solid rgba(255,255,255,.6);border-radius:50%;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(8deg)}.offer-stamp:after{content:"";position:absolute;inset:5px;border:1px dashed rgba(255,255,255,.35);border-radius:50%}.offer-stamp span{font-size:7px;letter-spacing:.15em}.offer-stamp strong{font-family:var(--font-cormorant),serif;font-size:28px;line-height:.85;color:var(--gold-light)}
.reviews{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.review-intro h2{font-size:56px;line-height:1.02;margin:20px 0 40px}.review-rating{display:flex;align-items:center;gap:15px}.review-rating>strong{font-family:var(--font-cormorant),serif;font-size:48px;color:var(--purple);font-weight:500}.review-rating>span{color:var(--gold);font-size:11px;letter-spacing:.12em;border-left:1px solid var(--line);padding-left:15px}.review-rating small{display:block;color:#8b818d;font-size:8px;letter-spacing:.05em;margin-top:6px}.review-card{background:var(--purple-pale);padding:55px 65px;position:relative;min-height:420px}.quote-mark{position:absolute;right:40px;top:14px;font-family:var(--font-cormorant),serif;font-size:115px;line-height:1;color:rgba(95,37,159,.1)}.review-stars{color:var(--gold);font-size:10px;letter-spacing:.16em}.review-card blockquote{font-family:var(--font-cormorant),serif;font-size:28px;line-height:1.45;margin:28px 0;color:#483a4b}.review-person{display:flex;align-items:center;gap:12px}.review-person>span{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:var(--purple);color:#fff;font-family:var(--font-cormorant),serif;font-size:21px}.review-person div{display:flex;flex-direction:column}.review-person strong{font-family:var(--font-cormorant),serif;font-size:17px}.review-person small,.review-product{font-size:8px;color:#887c8a;letter-spacing:.04em;margin-top:3px}.review-product{margin:15px 0 0 51px;font-style:italic}.review-nav{position:absolute;right:33px;bottom:31px;display:flex;align-items:center;gap:12px}.review-nav span{font-size:8px;letter-spacing:.12em;color:#7d7180}
.instagram-section{padding:105px 0 0}.instagram-section .center-heading{padding:0 30px}.insta-grid{display:grid;grid-template-columns:repeat(6,1fr)}.insta-tile{aspect-ratio:1;position:relative;overflow:hidden;background:var(--cream)}.insta-tile:after{content:"";position:absolute;inset:0;background:rgba(52,14,68,.35);opacity:0;transition:.3s}.insta-tile img{width:100%;height:100%;object-fit:cover;transition:.5s}.insta-tile span{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-35%);display:flex;align-items:center;gap:7px;color:#fff;font-size:11px;opacity:0;transition:.3s}.insta-tile:hover:after,.insta-tile:hover span{opacity:1}.insta-tile:hover span{transform:translate(-50%,-50%)}.insta-tile:hover img{transform:scale(1.06)}
.newsletter{min-height:390px;background:var(--purple-dark);color:#fff;padding:85px max(7vw,42px);display:grid;grid-template-columns:1.05fr .95fr;gap:12%;align-items:center;position:relative;overflow:hidden}.newsletter .eyebrow{color:var(--gold-light)}.newsletter h2{font-size:57px;color:#fff;margin:18px 0}.newsletter h2 em{color:#e3cc7d}.newsletter-copy>p:last-child{font-family:var(--font-cormorant),serif;font-size:16px;color:#c9b8d1}.newsletter-form{position:relative;z-index:2}.newsletter-form label{text-transform:uppercase;font-size:8px;letter-spacing:.18em;color:#cebfd4}.newsletter-form>div{display:flex;border-bottom:1px solid rgba(255,255,255,.5);margin-top:13px}.newsletter-form input{width:100%;height:57px;background:transparent;border:0;outline:0;color:#fff;font-family:var(--font-cormorant),serif;font-size:21px}.newsletter-form input::placeholder{color:#a992b2}.newsletter-form button{width:49px;border:0;background:transparent;color:#fff;display:grid;place-items:center}.newsletter-form small{display:block;margin-top:16px;color:#9f8aa8;font-size:8px}.newsletter-glow{position:absolute;border:1px solid rgba(216,185,98,.15);border-radius:50%}.newsletter-glow.one{width:360px;height:360px;left:-180px;top:-130px}.newsletter-glow.two{width:270px;height:270px;right:-100px;bottom:-160px}
footer{background:#24142c;color:#cbbfd0;padding:80px 6% 25px}.footer-main{display:grid;grid-template-columns:1.6fr repeat(3,.75fr) 1.1fr;gap:50px;padding-bottom:60px}.brand-mark--light .brand-wording strong{color:#fff}.brand-mark--light .brand-wording small{color:#a991b4}.brand-mark--light .monogram i{color:#fff}.footer-brand>p{font-family:var(--font-cormorant),serif;font-size:16px;line-height:1.55;margin:23px 0;color:#ab99b3}.social-links{display:flex;gap:8px}.social-links a{width:31px;height:31px;border:1px solid #5b4863;border-radius:50%;display:grid;place-items:center;text-transform:uppercase;font-family:serif;font-size:11px;transition:.25s}.social-links a:hover{background:var(--gold);border-color:var(--gold);color:#26152e}.footer-links,.footer-contact{display:flex;flex-direction:column;gap:12px}.footer-links h3,.footer-contact h3{text-transform:uppercase;color:#fff;font-size:9px;letter-spacing:.17em;margin-bottom:9px}.footer-links a,.footer-contact a,.footer-contact p,.footer-contact span{font-size:9px;color:#aa9aaf;transition:.2s}.footer-links a:hover,.footer-contact a:hover{color:#e1ca75}.footer-contact p{line-height:1.6}.footer-contact a{color:#ded2e3}.footer-contact span{font-size:8px}.footer-bottom{border-top:1px solid #4a364f;padding-top:24px;display:flex;justify-content:space-between;align-items:center;font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#806f86}.footer-bottom>div{display:flex;gap:25px}.payment-note{color:#bfa653}
.modal-shell{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.modal-scrim{position:absolute;inset:0;border:0;background:rgba(28,14,34,.7);backdrop-filter:blur(5px)}.quick-modal{position:relative;z-index:2;background:#fff;width:min(880px,100%);display:grid;grid-template-columns:1fr 1fr;box-shadow:0 40px 100px rgba(26,8,35,.3);animation:modalIn .3s ease}.modal-close{position:absolute;z-index:3;right:14px;top:14px;width:39px;height:39px;background:#fff;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.modal-image{position:relative;background:var(--cream);min-height:500px}.modal-image img{width:100%;height:100%;object-fit:cover}.modal-image>span{position:absolute;left:17px;top:17px;background:#fff;padding:8px 11px;text-transform:uppercase;letter-spacing:.14em;font-size:7px;color:var(--purple);font-weight:700}.modal-copy{padding:60px 48px;display:flex;flex-direction:column;justify-content:center}.modal-copy h2{font-family:var(--font-cormorant),serif;font-size:42px;line-height:1.04;margin:15px 0}.modal-rating{font-size:10px;color:var(--gold)}.modal-rating span{color:#8f8591;margin-left:8px}.modal-price{display:flex;align-items:center;gap:10px;margin:22px 0;padding-bottom:20px;border-bottom:1px solid var(--line)}.modal-price strong{font-size:18px;color:var(--purple)}.modal-price del{font-size:11px;color:#aaa}.modal-price small{font-size:7px;color:#999;margin-left:auto}.modal-desc{font-family:var(--font-cormorant),serif;color:#756a77;line-height:1.6;font-size:16px}.modal-features{display:flex;gap:14px;margin:20px 0;color:#5f5362;font-size:8px;text-transform:uppercase;letter-spacing:.05em}.add-btn{width:100%;margin-top:8px}.toast{position:fixed;z-index:120;left:50%;bottom:25px;transform:translate(-50%,100px);opacity:0;background:#281332;color:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:0 15px 45px rgba(30,10,39,.25);padding:14px 22px;display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.04em;transition:.35s}.toast span{color:var(--gold)}.toast.show{transform:translate(-50%,0);opacity:1}@keyframes modalIn{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:none}}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}.category-card:nth-child(2),.product-card:nth-child(2),.benefit:nth-child(2){transition-delay:.06s}.category-card:nth-child(3),.product-card:nth-child(3),.benefit:nth-child(3){transition-delay:.12s}.category-card:nth-child(4),.product-card:nth-child(4),.benefit:nth-child(4){transition-delay:.18s}.category-card:nth-child(5),.product-card:nth-child(5),.benefit:nth-child(5){transition-delay:.24s}
@media(max-width:1150px){.header-inner{grid-template-columns:230px 1fr 200px;padding:0 25px}.desktop-nav{gap:20px}.hero{grid-template-columns:45px minmax(390px,.9fr) 1.1fr}.hero h1{font-size:66px}.hero-image-wrap{grid-column:3}.vertical-note{display:none}.category-grid{grid-template-columns:repeat(3,1fr);gap:24px}.category-image{aspect-ratio:1}.footer-main{grid-template-columns:1.5fr repeat(3,1fr)}.footer-contact{grid-column:2/5}.offer{margin-left:30px;margin-right:30px}.reviews{gap:45px}.editorial-copy{padding:70px 55px}}
@media(max-width:860px){.announcement{justify-content:center}.announcement span:nth-of-type(2),.announcement i{display:none}.site-header{height:72px}.header-inner{display:flex;justify-content:space-between;padding:0 18px}.header-inner>.brand-mark{position:absolute;left:50%;transform:translateX(-50%)}.brand-wording strong{font-size:20px}.monogram{width:36px;height:39px}.monogram i,.monogram b{font-size:31px}.monogram b{left:14px;top:6px}.brand-wording small{font-size:6px}.desktop-nav,.desktop-only{display:none!important}.mobile-menu-btn{display:grid}.header-tools{gap:0}.header-tools button{width:35px}.mobile-drawer{display:block;position:fixed;z-index:100;left:0;top:0;bottom:0;width:min(85vw,370px);background:#fff;padding:28px;transform:translateX(-105%);transition:.4s ease}.mobile-drawer.open{transform:none}.drawer-close{position:absolute;right:20px;top:20px;border:0;background:transparent}.mobile-drawer nav{display:flex;flex-direction:column;margin-top:55px}.mobile-drawer nav a{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line);font-family:var(--font-cormorant),serif;font-size:24px}.mobile-drawer>p{font-family:var(--font-cormorant),serif;color:#897d8b;margin-top:35px}.page-scrim{display:block;position:fixed;z-index:90;inset:0;border:0;background:rgba(30,13,37,.55)}.hero{min-height:auto;display:flex;flex-direction:column;padding:0}.hero-copy{order:2;padding:55px 25px 60px;text-align:center}.hero-copy .eyebrow,.hero-actions,.hero-proof{justify-content:center}.hero h1{font-size:58px}.hero-copy>p{font-size:19px;margin:auto}.hero-image-wrap{width:100%;height:58vw;min-height:430px;max-height:600px;order:1}.hero-image-wrap:before{background:linear-gradient(0deg,#f9f4fb 0%,transparent 22%)}.hero-float-card{left:20px;bottom:25px}.promise-strip{overflow-x:auto;justify-content:flex-start;padding:0 25px;gap:25px;white-space:nowrap}.section{padding:80px 25px}.section-heading h2,.center-heading h2{font-size:44px}.section-heading{align-items:center}.category-grid{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr);gap:35px 15px}.quick-view{transform:none;opacity:1;left:8px;right:8px;bottom:8px;height:38px}.editorial{display:flex;flex-direction:column}.editorial-image{height:75vw;min-height:450px}.editorial-copy{padding:70px 30px 105px}.editorial-copy h2{font-size:48px}.product-slider .product-card{flex-basis:46%}.benefits-grid{grid-template-columns:repeat(2,1fr)}.benefit:last-child{grid-column:1/3}.benefit:nth-child(2):after,.benefit:nth-child(4):after{display:none}.offer{margin:80px 20px;min-height:570px}.offer-overlay{background:linear-gradient(90deg,rgba(38,11,60,.96) 0%,rgba(50,11,70,.78) 60%,rgba(48,10,67,.25))}.offer-copy{padding:100px 38px}.reviews{grid-template-columns:1fr;padding-top:80px}.review-intro{text-align:center}.review-intro .eyebrow{justify-content:center}.review-rating{justify-content:center}.insta-grid{grid-template-columns:repeat(3,1fr)}.newsletter{grid-template-columns:1fr;gap:40px;padding:70px 35px}.footer-main{grid-template-columns:1.5fr 1fr 1fr}.footer-brand{grid-column:1/4}.footer-contact{grid-column:1/4}.quick-modal{grid-template-columns:1fr 1fr}.modal-image{min-height:420px}.modal-copy{padding:45px 32px}}
@media(max-width:560px){.announcement{font-size:8px;letter-spacing:.12em}.header-tools button:nth-child(1),.header-tools button:nth-child(3){display:none}.hero-image-wrap{height:110vw;min-height:420px}.hero-image-wrap>img{object-position:63% center}.hero-copy{padding-top:42px}.hero h1{font-size:48px}.hero-actions{flex-direction:column;max-width:330px;margin-left:auto;margin-right:auto}.hero-actions .btn{width:100%}.hero-proof{font-size:8px}.hero-float-card{width:205px;padding:14px 17px}.section{padding:70px 18px}.section-heading{display:block}.section-heading>a{margin-top:22px}.section-heading h2,.center-heading h2{font-size:39px}.category-grid{gap:18px 10px}.category-card h3{font-size:20px}.round-arrow{display:none}.product-grid{gap:31px 10px}.product-info h3{font-size:18px;min-height:40px}.product-badge{top:8px;left:8px}.wish-btn{top:7px;right:7px}.tiny-stars span{display:none}.editorial-image{height:100vw;min-height:400px}.editorial-copy{padding:60px 25px 105px}.editorial-copy h2{font-size:42px}.editorial-stat{right:25px;bottom:32px}.product-slider .product-card{flex-basis:73%}.bestsellers .section-heading{display:flex}.bestsellers .section-heading .eyebrow{font-size:8px}.benefits-section{padding:75px 18px}.benefits-grid{grid-template-columns:1fr}.benefit,.benefit:last-child{grid-column:auto}.benefit:after{display:none!important}.benefit:not(:last-child){border-bottom:1px solid var(--line)}.offer{margin:70px 0;min-height:610px}.offer>img{object-position:65% center}.offer-overlay{background:linear-gradient(0deg,rgba(35,8,53,.98) 0%,rgba(46,10,64,.84) 72%,rgba(48,10,67,.2))}.offer-copy{padding:250px 26px 45px;text-align:center}.offer-copy .eyebrow{justify-content:center}.offer-copy h2{font-size:49px}.offer-stamp{right:17px;top:17px;width:78px;height:78px}.reviews{padding-left:18px;padding-right:18px}.review-intro h2{font-size:45px}.review-card{padding:45px 28px 100px;min-height:510px}.review-card blockquote{font-size:25px}.review-product{margin-left:0}.insta-grid{grid-template-columns:repeat(2,1fr)}.instagram-section{padding-top:75px}.newsletter h2{font-size:45px}.footer-main{grid-template-columns:1fr 1fr;gap:45px 25px}.footer-brand,.footer-contact{grid-column:1/3}.footer-links:nth-of-type(3){display:none}.footer-bottom{flex-direction:column;gap:15px;text-align:center}.quick-modal{grid-template-columns:1fr;max-height:92vh;overflow:auto}.modal-image{min-height:auto;aspect-ratio:1}.modal-copy{padding:35px 25px}.modal-copy h2{font-size:35px}.modal-features{flex-direction:column}.modal-close{position:fixed;right:30px;top:6vh}.toast{width:calc(100% - 30px);justify-content:center;text-align:center}.desktop-only{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Catalogue website refinements */
body { font-size: 15px; }
.announcement { height: 38px; font-size: 11px; letter-spacing: .14em; }
.header-inner { grid-template-columns: 275px 1fr 205px; }
.brand-mark { display: block; line-height: 0; }
.brand-mark img { width: 235px; height: auto; max-height: 70px; object-fit: contain; object-position: left center; }
.desktop-nav { gap: 20px; }
.desktop-nav a { font-size: 11.5px; letter-spacing: .055em; white-space: nowrap; }
.nav-dropdown { position: relative; height: 100%; display: flex; align-items: center; }
.nav-dropdown > a { display: flex; gap: 8px; }
.dropdown-arrow { width: 7px; height: 7px; border-right: 1.5px solid var(--gold); border-bottom: 1.5px solid var(--gold); transform: rotate(45deg) translateY(-2px); transition: transform .25s; }
.nav-dropdown:hover .dropdown-arrow, .nav-dropdown:focus-within .dropdown-arrow { transform: rotate(225deg) translate(-1px,-1px); }
.dropdown-menu { position: absolute; z-index: 20; left: 50%; top: 73px; width: 220px; padding: 10px 0; background: #fff; border-top: 2px solid var(--gold); box-shadow: 0 18px 45px rgba(44,17,56,.14); transform: translate(-50%,10px); opacity: 0; visibility: hidden; transition: .25s; }
.nav-dropdown:hover .dropdown-menu, .nav-dropdown:focus-within .dropdown-menu { transform: translate(-50%,0); opacity: 1; visibility: visible; }
.desktop-nav .dropdown-menu a { height: auto; display: block; padding: 12px 20px; font-size: 11px; text-transform: none; letter-spacing: .03em; }
.desktop-nav .dropdown-menu a:after { display: none; }
.desktop-nav .dropdown-menu a:hover { color: var(--purple); background: var(--purple-pale); }
.catalogue-tools { align-items: center; gap: 10px; }
.header-enquiry { min-height: 39px; display: inline-flex; align-items: center; justify-content: center; padding: 0 18px; background: var(--purple); color: #fff; border-radius: 3px; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; transition: .25s; }
.header-enquiry:hover { background: var(--purple-dark); transform: translateY(-1px); }
.eyebrow { font-size: 11px; line-height: 1.5; }
.hero-copy > p { font-size: 23px; }
.btn { min-height: 54px; font-size: 11px; }
.hero-proof { font-size: 11px; }
.hero-float-card > span { font-size: 10px; }
.hero-float-card a { font-size: 10px; }
.promise-strip { min-height: 61px; font-size: 11px; }
.section-heading > a, .text-link { font-size: 11px; }
.category-card span { font-size: 10px; line-height: 1.45; }
.product-badge { font-size: 9px; }
.quick-view { font-size: 10px; }
.catalogue-info > span { display: block; color: var(--purple); font-size: 10px; text-transform: uppercase; letter-spacing: .15em; font-weight: 700; }
.catalogue-info h3 { margin: 7px 0 12px; }
.catalogue-pricing { display:flex; align-items:baseline; gap:9px; margin:-3px 0 13px; }
.catalogue-pricing del { color:#9b929d; font-size:12px; font-weight:500; }
.catalogue-pricing strong { color:var(--purple-dark); font-size:16px; font-weight:750; }
.catalogue-info > button { padding: 0 0 7px; border: 0; border-bottom: 1px solid #cfc3d2; background: transparent; display: inline-flex; align-items: center; gap: 8px; color: #615565; font-size: 11px; transition: .25s; }
.catalogue-info > button:hover { color: var(--purple); border-color: var(--purple); gap: 12px; }
.editorial-image span { font-size: 10px; }
.editorial-copy > p:not(.eyebrow) { font-size: 20px; }
.editorial-stat span { font-size: 10px; }
.benefit p { font-size: 11px; }
.offer-copy > p { font-size: 20px; max-width: 500px; }
.offer-stamp span { font-size: 8px; }
.review-rating small, .review-person small, .review-product, .review-nav span { font-size: 10px; }
.modal-copy .eyebrow { font-size: 11px; }
.modal-copy h2 { margin-bottom: 22px; }
.modal-catalogue-pricing { display:flex; align-items:baseline; gap:12px; margin:-8px 0 20px; }
.modal-catalogue-pricing del { color:#9b929d; font-size:14px; }
.modal-catalogue-pricing strong { color:var(--purple); font-size:22px; }
.modal-desc { font-size: 19px; }
.modal-features { flex-direction: column; gap: 10px; font-size: 10px; }
.blog-section { border-top: 1px solid var(--line); }
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.blog-card > div { aspect-ratio: 1.35; overflow: hidden; background: var(--cream); }
.blog-card img { width: 100%; height: 100%; object-fit: cover; transition: .5s; }
.blog-card:hover img { transform: scale(1.04); }
.blog-card > p { margin-top: 20px; color: #887d89; font-size: 11px; }
.blog-card > p span { color: var(--purple); text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }
.blog-card h3 { max-width: 360px; margin: 11px 0 18px; font-family: var(--font-cormorant),serif; color: #35273a; font-size: 29px; line-height: 1.18; font-weight: 600; }
.blog-card > a { display: inline-flex; align-items: center; gap: 8px; padding-bottom: 6px; border-bottom: 1px solid #cfc4d1; color: #5d515f; text-transform: uppercase; letter-spacing: .1em; font-size: 10px; font-weight: 700; }
.contact-section { min-height: 560px; padding: 90px max(7vw,42px); display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 10%; background: var(--purple-dark); color: #fff; position: relative; overflow: hidden; }
.contact-section:before { content: ""; position: absolute; width: 500px; height: 500px; left: -280px; top: -230px; border: 1px solid rgba(232,213,150,.17); border-radius: 50%; }
.contact-copy { position: relative; z-index: 2; }
.contact-copy .eyebrow { color: var(--gold-light); }
.contact-copy h2 { margin: 20px 0 25px; color: #fff; font-family: var(--font-cormorant),serif; font-size: 62px; line-height: .98; font-weight: 500; }
.contact-copy h2 em { color: #e2c970; }
.contact-copy > p { max-width: 520px; color: #cbbcd1; font-family: var(--font-cormorant),serif; font-size: 20px; line-height: 1.65; }
.contact-copy > div { margin-top: 28px; display: flex; flex-direction: column; gap: 8px; font-size: 12px; color: #fff; }
.contact-copy > div span { color: #d6bf6d; }
.contact-form { position: relative; z-index: 2; padding: 42px; background: #fff; box-shadow: 0 25px 65px rgba(24,4,34,.2); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.contact-form label { display: flex; flex-direction: column; margin-bottom: 20px; color: #4b3c4e; text-transform: uppercase; letter-spacing: .1em; font-size: 10px; font-weight: 700; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; margin-top: 8px; padding: 13px 0; border: 0; border-bottom: 1px solid #d8ceda; border-radius: 0; outline: 0; background: transparent; color: #352a37; font-family: var(--font-manrope),sans-serif; font-size: 13px; text-transform: none; letter-spacing: 0; resize: vertical; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--purple); }
.contact-form .btn { margin-top: 4px; border: 0; background: var(--purple); color: #fff; }
.contact-form .btn:hover { background: var(--purple-dark); }
footer { background: #f6f1f8; color: #665b69; }
.brand-mark--footer img { width: 270px; }
.footer-brand > p { color: #756a78; font-size: 18px; }
.footer-links h3, .footer-contact h3 { color: var(--purple-dark); font-size: 11px; }
.footer-links a, .footer-contact a, .footer-contact p, .footer-contact span { color: #776b7a; font-size: 11px; }
.footer-links a:hover, .footer-contact a:hover { color: var(--purple); }
.footer-contact a { color: #493c4d; }
.social-links a { color: var(--purple); border-color: #c7b8cd; font-size: 12px; }
.footer-bottom { color: #796d7d; border-color: #d9cedd; font-size: 10px; }
.payment-note { color: #a0811e; }

/* Tighter vertical rhythm */
.hero { min-height: 610px; }
.section { padding: 64px 42px; }
.section-heading { margin-bottom: 28px; }
.center-heading { margin-bottom: 30px; }
.product-grid { gap: 32px 21px; }
.editorial { min-height: 550px; }
.editorial-image { min-height: 540px; }
.editorial-copy { padding-top: 55px; padding-bottom: 55px; }
.benefits-section { padding-top: 60px; padding-bottom: 60px; }
.offer { margin-top: 60px; margin-bottom: 60px; }
.reviews { gap: 55px; }
.blog-section { padding-top: 60px; padding-bottom: 60px; }
.contact-section { min-height: 470px; padding-top: 58px; padding-bottom: 58px; }
footer { padding-top: 52px; }
.footer-main { padding-bottom: 42px; }

@media(max-width:1150px){
  .header-inner { grid-template-columns: 225px 1fr 175px; }
  .brand-mark img { width: 205px; }
  .desktop-nav { gap: 12px; }
  .desktop-nav a { font-size: 10px; }
  .header-enquiry { padding: 0 12px; }
}
@media(max-width:860px){
  .header-inner > .brand-mark { position:absolute; left:50%; transform:translateX(-50%); }
  .brand-mark img { width: 205px; max-height: 57px; object-position:center; }
  .catalogue-tools .header-enquiry { display:none; }
  .mobile-drawer .brand-mark { width: 220px; }
  .mobile-drawer .brand-mark img { width: 220px; object-position:left; }
  .blog-grid { grid-template-columns: 1fr 1fr; }
  .blog-card:last-child { grid-column: 1/3; max-width: 55%; }
  .contact-section { grid-template-columns: 1fr; gap: 45px; padding: 75px 35px; }
  .contact-copy { text-align:center; }
  .contact-copy .eyebrow { justify-content:center; }
  .contact-copy > p { margin:auto; }
  .contact-copy > div { align-items:center; }
  .brand-mark--footer img { object-position:left; }
  .section { padding-top: 50px; padding-bottom: 50px; }
  .editorial-image { min-height: 410px; }
  .offer { margin-top: 50px; margin-bottom: 50px; }
}
@media(max-width:560px){
  .announcement { font-size: 9px; }
  .brand-mark img { width: 175px; }
  .hero-proof { font-size: 10px; }
  .promise-strip { font-size: 10px; }
  .blog-grid { grid-template-columns: 1fr; }
  .blog-card:last-child { grid-column:auto; max-width:none; }
  .contact-section { padding: 65px 18px; }
  .contact-copy h2 { font-size: 48px; }
  .contact-form { padding: 32px 22px; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1/3; }
  .brand-mark--footer img { width: 240px; }
  .hero-copy { padding-top: 36px; padding-bottom: 42px; }
  .hero-image-wrap { min-height: 380px; }
  .section { padding-top: 42px; padding-bottom: 42px; }
  .section-heading { margin-bottom: 24px; }
  .center-heading { margin-bottom: 25px; }
  .benefits-section { padding-top: 48px; padding-bottom: 48px; }
  .offer { margin-top: 42px; margin-bottom: 42px; }
  .contact-section { padding-top: 48px; padding-bottom: 48px; }
}

/* Vertical video reels */
.reels-section { border-top: 1px solid var(--line); }
.reels-hint { color: #887c8a; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.reels-track { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 15px; }
.reel-card { min-width: 0; aspect-ratio: 9/16; overflow: hidden; position: relative; border-radius: 18px; background: var(--purple-dark); box-shadow: 0 15px 38px rgba(46,19,56,.11); scroll-snap-align: start; }
.reel-card iframe, .reel-card > button { width: 100%; height: 100%; border: 0; display: block; }
.reel-card > button { position: relative; padding: 0; background: var(--purple-dark); color: #fff; text-align: left; overflow: hidden; }
.reel-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.reel-card:hover img { transform: scale(1.045); }
.reel-shade { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(29,10,41,.08) 25%,rgba(29,10,41,.82) 100%); }
.reel-number { position: absolute; left: 13px; top: 13px; width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; background: rgba(38,16,49,.16); backdrop-filter: blur(7px); font-size: 8px; letter-spacing: .08em; }
.reel-play { position: absolute; left: 50%; top: 48%; width: 49px; height: 49px; display: grid; place-items: center; transform: translate(-50%,-50%); border-radius: 50%; background: rgba(255,255,255,.92); color: var(--purple); box-shadow: 0 10px 30px rgba(29,8,39,.22); transition: .3s; }
.reel-play:after { content: ""; position: absolute; inset: -6px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; }
.reel-play i { width: 0; height: 0; margin-left: 3px; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 9px solid currentColor; }
.reel-card:hover .reel-play { transform: translate(-50%,-50%) scale(1.08); background: var(--gold-light); }
.reel-caption { position: absolute; left: 15px; right: 15px; bottom: 18px; display: flex; flex-direction: column; gap: 5px; }
.reel-caption small { color: #ead89a; font-size: 8px; text-transform: uppercase; letter-spacing: .13em; }
.reel-caption strong { color: #fff; font-family: var(--font-cormorant),serif; font-size: 20px; line-height: 1.05; font-weight: 600; }

@media(max-width:1150px){
  .reels-track { grid-template-columns: repeat(6,175px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 8px; }
  .reels-track::-webkit-scrollbar { display: none; }
}
@media(max-width:560px){
  .reels-section .section-heading { display: flex; gap: 20px; }
  .reels-hint { max-width: 115px; text-align: right; line-height: 1.45; font-size: 8px; }
  .reels-track { grid-template-columns: repeat(6,45vw); gap: 11px; }
  .reel-card { border-radius: 14px; }
  .reel-caption strong { font-size: 18px; }
}

/* Shared navigation refinements */
.mobile-menu-btn span { width: 20px; height: 1.5px; display: block; background: currentColor; }
.mobile-menu-btn { gap: 5px; }
.header-search { width: 39px; height: 39px; display: grid; place-items: center; color: #4e4251; }
.quick-view { display: grid; place-items: center; }

/* Inner pages */
.inner-page { background: #fff; }
.inner-hero { min-height: 360px; padding: 68px max(6vw,42px); display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; background: linear-gradient(115deg,#f8f3fb 0%,#fff 72%); border-bottom: 1px solid var(--line); }
.inner-hero:after { content: ""; position: absolute; right: -120px; top: -210px; width: 450px; height: 450px; border: 1px solid rgba(95,37,159,.12); border-radius: 50%; box-shadow: 0 0 0 55px rgba(95,37,159,.025),0 0 0 110px rgba(201,162,39,.025); }
.inner-breadcrumb { position: relative; z-index: 2; display: flex; align-items: center; gap: 11px; margin-bottom: 35px; color: #8b7e8e; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.inner-breadcrumb a:hover { color: var(--purple); }
.inner-hero .eyebrow { position: relative; z-index: 2; }
.inner-hero h1 { position: relative; z-index: 2; max-width: 880px; margin: 15px 0 19px; color: #301b37; font-family: var(--font-cormorant),serif; font-size: clamp(54px,6vw,78px); line-height: .98; letter-spacing: -.03em; font-weight: 500; }
.inner-hero h1 em { color: var(--purple); }
.inner-hero > p:last-of-type { position: relative; z-index: 2; max-width: 700px; color: #776d79; font-family: var(--font-cormorant),serif; font-size: 21px; line-height: 1.55; }
.inner-hero > small { position: relative; z-index: 2; margin-top: 20px; color: #8f8491; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }

/* Product listing and filters */
.catalogue-layout { max-width: 1420px; margin: 0 auto; padding: 54px 42px 78px; display: grid; grid-template-columns: 250px 1fr; gap: 46px; align-items: start; }
.filter-panel { position: sticky; top: 145px; padding-right: 28px; border-right: 1px solid var(--line); }
.filter-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 27px; }
.filter-title h2 { color: #35283a; font-family: var(--font-cormorant),serif; font-size: 30px; font-weight: 600; }
.filter-title button { display: none; border: 0; background: transparent; font-size: 27px; }
.filter-search { display: flex; flex-direction: column; gap: 9px; margin-bottom: 27px; color: #675c69; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }
.filter-search input { height: 42px; padding: 0 12px; border: 1px solid #ddd3df; outline: 0; background: #fff; color: #352a37; font-size: 12px; }
.filter-search input:focus { border-color: var(--purple); }
.filter-panel fieldset { margin: 0; padding: 23px 0; border: 0; border-top: 1px solid var(--line); }
.filter-panel legend { width: 100%; padding: 0 0 14px; color: #342638; font-family: var(--font-cormorant),serif; font-size: 20px; font-weight: 600; }
.filter-panel fieldset label { min-height: 30px; display: grid; grid-template-columns: 18px 1fr auto; align-items: center; gap: 7px; color: #706572; font-size: 11px; cursor: pointer; }
.filter-panel fieldset label:hover { color: var(--purple); }
.filter-panel input[type="radio"] { appearance: none; width: 13px; height: 13px; margin: 0; border: 1px solid #bcaebe; border-radius: 50%; display: grid; place-items: center; }
.filter-panel input[type="radio"]:checked { border: 4px solid var(--purple); }
.filter-panel fieldset small { color: #a092a2; font-size: 9px; }
.price-filter > div { display: flex; justify-content: space-between; color: #776b79; font-size: 11px; }
.price-filter strong { color: var(--purple); }
.price-filter input { width: 100%; margin-top: 17px; accent-color: var(--purple); }
.clear-filters { width: 100%; padding: 12px 0; border: 1px solid #d9cedb; background: #fff; color: #655969; text-transform: uppercase; letter-spacing: .1em; font-size: 9px; font-weight: 700; }
.clear-filters:hover { border-color: var(--purple); color: var(--purple); }
.catalogue-toolbar { min-height: 48px; margin-bottom: 25px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); }
.catalogue-toolbar p { color: #867a88; font-size: 11px; }
.catalogue-toolbar p strong { color: #3c2e40; }
.catalogue-toolbar label { display: flex; align-items: center; gap: 11px; color: #7b6f7d; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.catalogue-toolbar select { min-width: 155px; padding: 8px 26px 8px 10px; border: 0; background: #fff; color: #3e3142; outline: 0; font-size: 11px; }
.catalogue-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 34px 20px; }
.empty-products { min-height: 430px; display: grid; place-items: center; align-content: center; text-align: center; background: var(--cream); }
.empty-products > span { color: var(--gold); font-size: 33px; }
.empty-products h2 { margin: 15px 0 7px; font-family: var(--font-cormorant),serif; font-size: 34px; }
.empty-products p { color: #817684; font-size: 12px; }
.empty-products button { margin-top: 24px; padding: 12px 22px; border: 0; background: var(--purple); color: #fff; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.mobile-filter-button,.filter-scrim { display: none; }

/* Product detail */
.detail-breadcrumb { max-width: 1320px; margin: 0 auto; padding: 28px 42px 0; display: flex; gap: 10px; color: #8c818e; font-size: 10px; }
.detail-breadcrumb strong { color: #4e4351; font-weight: 600; }
.product-detail-grid { max-width: 1320px; margin: 0 auto; padding: 35px 42px 72px; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(390px,.95fr); gap: clamp(48px,7vw,95px); align-items: start; }
.detail-main-image { aspect-ratio: .83; overflow: hidden; position: relative; background: var(--cream); }
.detail-main-image img { width: 100%; height: 100%; object-fit: cover; }
.detail-main-image > span { position: absolute; left: 18px; top: 18px; padding: 8px 11px; background: rgba(255,255,255,.92); color: var(--purple); font-size: 8px; text-transform: uppercase; letter-spacing: .13em; font-weight: 700; }
.detail-thumbs { margin-top: 12px; display: flex; gap: 10px; }
.detail-thumbs button { width: 78px; aspect-ratio: 1; padding: 0; border: 1px solid transparent; background: var(--cream); overflow: hidden; }
.detail-thumbs button.active { border-color: var(--purple); }
.detail-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.detail-copy { padding-top: 22px; }
.detail-copy h1 { max-width: 580px; margin: 14px 0 24px; color: #2f2233; font-family: var(--font-cormorant),serif; font-size: clamp(48px,5vw,68px); line-height: .98; font-weight: 500; letter-spacing: -.025em; }
.detail-price { display: flex; align-items: baseline; gap: 13px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.detail-price del { color: #a096a1; font-size: 15px; }
.detail-price strong { color: var(--purple); font-size: 25px; }
.detail-price span { padding: 5px 8px; background: #f1eaf7; color: var(--purple); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.detail-description { margin: 25px 0; color: #6f6472; font-family: var(--font-cormorant),serif; font-size: 21px; line-height: 1.65; }
.product-specs { margin: 0; border-top: 1px solid var(--line); }
.product-specs > div { min-height: 45px; display: grid; grid-template-columns: 130px 1fr; align-items: center; border-bottom: 1px solid var(--line); }
.product-specs dt { color: #8a7f8c; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.product-specs dd { margin: 0; color: #4c414f; font-size: 11px; }
.stock-status { color: #528258!important; }
.detail-actions { margin: 30px 0 22px; display: flex; gap: 11px; }
.detail-actions .btn { flex: 1; justify-content: center; padding: 0 18px; }
.detail-assurance { padding: 17px 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: #766a78; font-size: 9px; text-align: center; }
.detail-copy details { border-bottom: 1px solid var(--line); }
.detail-copy summary { padding: 17px 0; color: #443747; font-size: 11px; text-transform: uppercase; letter-spacing: .09em; font-weight: 700; cursor: pointer; }
.detail-copy details p { padding: 0 0 18px; color: #7a6f7d; font-size: 12px; line-height: 1.7; }
.related-products { border-top: 1px solid var(--line); }

/* About */
.about-story { display: grid; grid-template-columns: 1.05fr .95fr; gap: 8%; align-items: center; }
.about-story-image { min-height: 570px; position: relative; overflow: hidden; }
.about-story-image img { width: 100%; height: 100%; position: absolute; object-fit: cover; }
.about-story-image span { position: absolute; left: 25px; bottom: 22px; padding: 8px 11px; background: rgba(255,255,255,.9); color: var(--purple); font-size: 8px; text-transform: uppercase; letter-spacing: .12em; }
.about-story-copy h2 { margin: 17px 0 24px; color: #342438; font-family: var(--font-cormorant),serif; font-size: 55px; line-height: 1; font-weight: 500; }
.about-story-copy > p:not(.eyebrow) { margin-bottom: 17px; color: #736777; font-family: var(--font-cormorant),serif; font-size: 19px; line-height: 1.72; }
.about-story-copy .text-link { margin-top: 18px; }
.values-section { padding: 70px max(6vw,42px); background: #f9f6fa; }
.value-grid { max-width: 1336px; margin: auto; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #dfd6e1; border-bottom: 1px solid #dfd6e1; }
.value-grid article { min-height: 230px; padding: 32px 27px; position: relative; }
.value-grid article:not(:last-child) { border-right: 1px solid #dfd6e1; }
.value-grid span { color: var(--gold); font-size: 10px; letter-spacing: .12em; }
.value-grid h3 { margin: 44px 0 10px; color: #3b2d3f; font-family: var(--font-cormorant),serif; font-size: 24px; font-weight: 600; }
.value-grid p { color: #817584; font-size: 11px; line-height: 1.65; }
.about-signature { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; background: var(--purple-dark); color: #fff; }
.about-signature > div { padding: 85px max(6vw,55px); display: flex; flex-direction: column; justify-content: center; }
.about-signature .eyebrow { color: var(--gold-light); }
.about-signature blockquote { max-width: 620px; margin: 24px 0 26px; font-family: var(--font-cormorant),serif; font-size: 38px; line-height: 1.25; }
.about-signature > div > span { color: #cbb9d1; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.about-signature img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; }

/* Journal */
.journal-list { max-width: 1320px; }
.journal-feature { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; background: #f8f4f9; }
.journal-feature > a { min-height: 500px; overflow: hidden; }
.journal-feature img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; transition: .45s; }
.journal-feature > a:hover img { transform: scale(1.035); }
.journal-feature > div { padding: 55px; }
.journal-feature p:first-child,.journal-grid article > p:first-of-type { color: #887b8a; font-size: 10px; }
.journal-feature p span,.journal-grid p span { color: var(--purple); text-transform: uppercase; letter-spacing: .11em; font-weight: 700; }
.journal-feature h2 { margin: 17px 0; font-family: var(--font-cormorant),serif; font-size: 48px; line-height: 1.03; font-weight: 500; }
.journal-feature > div > p:not(:first-child),.journal-grid article > p:not(:first-of-type) { margin-bottom: 22px; color: #7b6f7e; font-family: var(--font-cormorant),serif; font-size: 18px; line-height: 1.6; }
.journal-grid { margin-top: 40px; display: grid; grid-template-columns: repeat(2,1fr); gap: 35px; }
.journal-image { height: 360px; display: block; overflow: hidden; }
.journal-image img { width: 100%; height: 100%; object-fit: cover; transition: .45s; }
.journal-image:hover img { transform: scale(1.035); }
.journal-grid article > p:first-of-type { margin-top: 20px; }
.journal-grid h2 { margin: 10px 0 12px; font-family: var(--font-cormorant),serif; font-size: 32px; line-height: 1.1; font-weight: 600; }
.article-page > article > header { max-width: 950px; margin: auto; padding: 65px 35px 42px; text-align: center; }
.article-page .inner-breadcrumb { justify-content: center; margin-bottom: 29px; }
.article-page header .eyebrow { justify-content: center; }
.article-page header h1 { margin: 18px auto; color: #302234; font-family: var(--font-cormorant),serif; font-size: clamp(54px,7vw,82px); line-height: .98; font-weight: 500; }
.article-page header > p:last-child { max-width: 730px; margin: auto; color: #756a78; font-family: var(--font-cormorant),serif; font-size: 21px; line-height: 1.55; }
.article-cover { max-width: 1180px; height: min(65vw,680px); margin: 0 auto; overflow: hidden; }
.article-cover img { width: 100%; height: 100%; object-fit: cover; }
.article-body { max-width: 760px; margin: auto; padding: 55px 25px 75px; }
.article-body .article-lead { color: #4b3b50; font-family: var(--font-cormorant),serif; font-size: 26px; line-height: 1.5; }
.article-body section { margin-top: 39px; }
.article-body h2 { margin-bottom: 12px; color: #392c3d; font-family: var(--font-cormorant),serif; font-size: 32px; font-weight: 600; }
.article-body p { color: #716575; font-size: 14px; line-height: 1.9; }
.article-note { margin-top: 45px; padding: 27px; display: flex; gap: 15px; background: #f6f0f8; border-left: 3px solid var(--gold); }
.article-note span { color: var(--gold); }
.article-note p { color: #5d5061; font-family: var(--font-cormorant),serif; font-size: 19px; line-height: 1.55; }
.article-next { padding: 58px max(6vw,42px); background: #f8f5f9; }
.article-next > .eyebrow { justify-content: center; }
.article-next > div { max-width: 1100px; margin: 28px auto 0; display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.article-next a { min-height: 135px; display: grid; grid-template-columns: 150px 1fr; background: #fff; }
.article-next img { width: 100%; height: 100%; object-fit: cover; }
.article-next a > span { padding: 25px; display: flex; flex-direction: column; justify-content: center; }
.article-next small { color: var(--purple); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.article-next strong { margin-top: 8px; color: #403345; font-family: var(--font-cormorant),serif; font-size: 22px; line-height: 1.12; }

/* Contact */
.contact-page-grid { max-width: 1280px; margin: 0 auto; padding: 68px 42px; display: grid; grid-template-columns: .85fr 1.15fr; gap: 9%; align-items: center; }
.contact-details h2 { margin: 18px 0 24px; color: #342638; font-family: var(--font-cormorant),serif; font-size: 54px; line-height: 1; font-weight: 500; }
.contact-details > p:not(.eyebrow) { max-width: 500px; color: #766a79; font-family: var(--font-cormorant),serif; font-size: 19px; line-height: 1.65; }
.contact-details dl { margin: 34px 0 0; }
.contact-details dl div { padding: 14px 0; display: grid; grid-template-columns: 95px 1fr; border-top: 1px solid var(--line); }
.contact-details dt { color: #8a7e8c; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.contact-details dd { margin: 0; color: #493d4d; font-size: 12px; }
.contact-page-form { box-shadow: 0 25px 70px rgba(36,17,45,.11); border: 1px solid #eee8ef; }
.contact-page-form .btn { margin-top: 8px; border: 0; }
.form-success { margin-top: 17px; color: #4e825a; font-size: 11px; }
.contact-faq { display: grid; grid-template-columns: .7fr 1.3fr; gap: 9%; border-top: 1px solid var(--line); }
.contact-faq h2 { margin-top: 14px; font-family: var(--font-cormorant),serif; font-size: 48px; font-weight: 500; }
.contact-faq details { border-top: 1px solid var(--line); }
.contact-faq details:last-child { border-bottom: 1px solid var(--line); }
.contact-faq summary { padding: 20px 0; color: #493c4d; font-family: var(--font-cormorant),serif; font-size: 20px; cursor: pointer; }
.contact-faq details p { padding: 0 0 20px; color: #7b6f7e; font-size: 12px; line-height: 1.7; }

/* Policies */
.policy-layout { max-width: 1180px; margin: 0 auto; padding: 60px 42px 80px; display: grid; grid-template-columns: 220px 1fr; gap: 70px; align-items: start; }
.policy-layout > aside { position: sticky; top: 145px; display: flex; flex-direction: column; border-left: 1px solid var(--line); }
.policy-layout > aside p { padding: 0 0 13px 18px; color: #463849; font-family: var(--font-cormorant),serif; font-size: 20px; font-weight: 600; }
.policy-layout > aside a { padding: 8px 0 8px 18px; color: #817585; font-size: 10px; }
.policy-layout > aside a:hover { color: var(--purple); }
.policy-layout > article > section { padding: 0 0 32px; margin-bottom: 32px; display: grid; grid-template-columns: 48px 1fr; border-bottom: 1px solid var(--line); scroll-margin-top: 150px; }
.policy-layout > article > section > span { color: var(--gold); font-size: 10px; letter-spacing: .1em; }
.policy-layout h2 { margin-bottom: 13px; color: #3d3041; font-family: var(--font-cormorant),serif; font-size: 31px; font-weight: 600; }
.policy-layout article section p { margin-bottom: 11px; color: #746877; font-size: 13px; line-height: 1.8; }
.policy-contact { margin-top: 40px; padding: 35px; background: var(--purple-pale); }
.policy-contact h2 { margin: 11px 0; }
.policy-contact p { color: #756a78; font-size: 12px; }
.policy-contact a { color: var(--purple); font-weight: 700; }

@media(max-width:1000px){
  .catalogue-layout { grid-template-columns: 220px 1fr; gap: 30px; }
  .catalogue-product-grid { grid-template-columns: repeat(2,1fr); }
  .product-detail-grid { grid-template-columns: 1fr 1fr; gap: 42px; }
  .detail-actions { flex-direction: column; }
  .about-story { gap: 45px; }
  .value-grid { grid-template-columns: repeat(2,1fr); }
  .value-grid article:nth-child(2) { border-right: 0; }
  .value-grid article:nth-child(-n+2) { border-bottom: 1px solid #dfd6e1; }
}
@media(max-width:760px){
  .inner-hero { min-height: 310px; padding: 52px 25px; }
  .inner-breadcrumb { margin-bottom: 25px; }
  .catalogue-layout { padding: 25px 18px 60px; display: block; }
  .mobile-filter-button { width: 100%; height: 46px; margin-bottom: 20px; display: flex; justify-content: space-between; align-items: center; padding: 0 15px; border: 1px solid #dcd2de; background: #fff; color: #4a3e4d; text-transform: uppercase; letter-spacing: .1em; font-size: 10px; font-weight: 700; }
  .filter-scrim { position: fixed; z-index: 95; inset: 0; display: block; border: 0; background: rgba(35,17,43,.55); }
  .filter-panel { position: fixed; z-index: 100; left: 0; top: 0; bottom: 0; width: min(88vw,360px); padding: 27px 25px 45px; overflow-y: auto; border: 0; background: #fff; transform: translateX(-105%); transition: .35s; }
  .filter-panel.open { transform: none; }
  .filter-title button { display: block; }
  .catalogue-product-grid { grid-template-columns: repeat(2,1fr); gap: 30px 12px; }
  .catalogue-toolbar { margin-bottom: 19px; }
  .product-detail-grid { padding: 24px 18px 55px; grid-template-columns: 1fr; }
  .detail-breadcrumb { padding: 22px 18px 0; flex-wrap: wrap; }
  .detail-copy { padding-top: 0; }
  .about-story { grid-template-columns: 1fr; }
  .about-story-image { min-height: 80vw; }
  .about-story-copy { padding: 8px; }
  .about-signature { grid-template-columns: 1fr; }
  .about-signature img { min-height: 420px; }
  .journal-feature { grid-template-columns: 1fr; }
  .journal-feature > a,.journal-feature img { min-height: 400px; }
  .journal-feature > div { padding: 38px 28px; }
  .journal-grid { grid-template-columns: 1fr; }
  .contact-page-grid { padding: 55px 25px; grid-template-columns: 1fr; gap: 45px; }
  .contact-faq { grid-template-columns: 1fr; gap: 35px; }
  .policy-layout { padding: 45px 25px 65px; grid-template-columns: 1fr; }
  .policy-layout > aside { display: none; }
}
@media(max-width:560px){
  .inner-hero { min-height: 285px; padding: 43px 18px; }
  .inner-hero h1 { font-size: 49px; }
  .inner-hero > p:last-of-type { font-size: 18px; }
  .catalogue-toolbar label { font-size: 0; }
  .catalogue-toolbar select { min-width: 145px; }
  .catalogue-product-grid .product-info h3 { font-size: 17px; }
  .product-detail-grid { gap: 25px; }
  .detail-copy h1 { font-size: 45px; }
  .detail-assurance { grid-template-columns: 1fr; text-align: left; }
  .detail-price { flex-wrap: wrap; }
  .about-story-copy h2 { font-size: 44px; }
  .values-section { padding: 55px 18px; }
  .value-grid { grid-template-columns: 1fr; }
  .value-grid article { border-right: 0!important; border-bottom: 1px solid #dfd6e1; }
  .value-grid article:last-child { border-bottom: 0; }
  .about-signature > div { padding: 60px 25px; }
  .about-signature blockquote { font-size: 32px; }
  .journal-list { padding-left: 18px; padding-right: 18px; }
  .journal-feature > a,.journal-feature img { min-height: 340px; }
  .journal-feature h2 { font-size: 38px; }
  .journal-image { height: 310px; }
  .article-page > article > header { padding: 45px 18px 32px; }
  .article-page header h1 { font-size: 48px; }
  .article-cover { height: 105vw; }
  .article-body { padding: 42px 20px 60px; }
  .article-next { padding: 48px 18px; }
  .article-next > div { grid-template-columns: 1fr; }
  .article-next a { grid-template-columns: 110px 1fr; }
  .contact-page-grid { padding: 48px 18px; }
  .contact-details h2 { font-size: 45px; }
  .contact-faq { padding-left: 18px; padding-right: 18px; }
  .policy-layout { padding-left: 18px; padding-right: 18px; }
  .policy-layout > article > section { grid-template-columns: 32px 1fr; }
}
