@view-transition{navigation:auto}
:root{--wine:#680627;--wine2:#8d1747;--deep:#2a0713;--ink:#29151d;--blush:#f9d0d5;--rose:#d99ea6;--cream:#f5f0ee;--paper:#fffaf8;--muted:#7a626c;--line:rgba(104,6,39,.14);--shadow:0 24px 70px rgba(61,8,27,.12);--radius:28px;--safe:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--cream)}body{margin:0;color:var(--ink);background:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;overflow-x:hidden}.display{font-family:Didot,"Bodoni 72","Times New Roman",serif;font-weight:500;letter-spacing:-.045em}.shell{width:min(1440px,calc(100% - 48px));margin:auto}.skip{position:fixed;left:12px;top:8px;z-index:500;background:#fff;color:var(--wine);padding:8px 12px;border-radius:999px;transform:translateY(-150%)}.skip:focus{transform:none}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}a{color:inherit}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--wine);font-weight:700}.eyebrow.light{color:#f0aebe}.muted-on-dark{color:#d4aab5}.center{text-align:center}.section{padding:96px 0}.soft{background:linear-gradient(180deg,#f8f2f1,#f3ecea)}.wine{background:linear-gradient(135deg,#4b0018,#7b0c36);color:#fff}.section-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.65fr);gap:70px;align-items:end;margin-bottom:50px}.section-head h2,.intro-grid h2,.editorial-copy h2,.visit-grid h2{font-size:clamp(54px,6vw,100px);line-height:.88;margin:12px 0}.section-head p,.intro-copy p,.editorial-copy p,.visit-grid p{font-size:18px;color:#765d67;line-height:1.75}.section-head.light p{color:#eedbe1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid rgba(104,6,39,.28);padding:14px 20px;border-radius:999px;text-decoration:none;background:transparent;color:var(--wine);font-weight:700;cursor:pointer;transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease}.btn:hover{transform:translateY(-2px)}.btn.fill{background:var(--wine);color:#fff;border-color:var(--wine);box-shadow:0 14px 34px rgba(104,6,39,.18)}.btn.fill:hover{background:#7c0a31;box-shadow:0 18px 44px rgba(104,6,39,.24)}.btn.light{background:#fff;color:var(--wine);border-color:#fff}.btn.wide{width:100%}.text-link{font-weight:700;color:var(--wine);text-decoration:none}.center-link{display:block;text-align:center;margin-top:14px}.prototype-note{display:block;font-size:12px;line-height:1.6;color:#876f78;margin-top:14px}
/* Header */
.site-header{position:fixed;z-index:180;left:0;right:0;top:0;height:94px;display:flex;align-items:center;transition:background .35s ease,box-shadow .35s ease,backdrop-filter .35s ease,border-color .35s ease}.site-header.hero-header{background:transparent;color:#fff;border-bottom:1px solid transparent}.site-header.hero-header.scrolled{background:rgba(74,2,25,.78);backdrop-filter:blur(20px) saturate(1.15);box-shadow:0 10px 30px rgba(34,0,11,.14);border-color:rgba(255,255,255,.08)}.site-header.light-header{background:rgba(245,240,238,.92);color:var(--ink);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;height:100%}.brand{display:flex;align-items:center;width:170px;text-decoration:none}.brand-logo{width:152px;height:76px;object-fit:contain;object-position:left center;filter:none}.hero-header .brand-logo{width:166px;height:82px}.main-nav{display:flex;gap:34px;align-items:center;margin-left:auto}.nav-link,.nav-button{font:inherit;background:none;border:0;color:inherit;text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:700;padding:14px 2px;cursor:pointer}.nav-button{display:flex;gap:9px;align-items:center}.nav-button span{font-size:15px;transform:translateY(-1px)}.nav-item{position:static}.mega-menu{position:absolute;top:82px;left:50%;transform:translate(-50%,-8px);width:min(1020px,calc(100vw - 60px));background:rgba(255,250,248,.98);color:var(--ink);display:grid;grid-template-columns:1fr 1fr 1fr 310px;gap:28px;padding:28px;border-radius:28px;box-shadow:0 30px 90px rgba(47,4,18,.22);opacity:0;visibility:hidden;pointer-events:none;transition:.22s ease;border:1px solid rgba(104,6,39,.08)}.nav-item.open .mega-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.mega-col h4{color:var(--wine);font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px}.mega-col a{display:block;text-decoration:none;color:#6d5961;padding:7px 0;font-size:15px}.mega-col a:hover{color:var(--wine)}.mega-feature{position:relative;display:block;height:218px;border-radius:22px;overflow:hidden;color:#fff;text-decoration:none;background:var(--wine)}.mega-feature img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 12%;transform:scale(1.07);transition:transform .4s ease}.mega-feature:hover img{transform:scale(1.12)}.mega-feature-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,4,16,.05),rgba(38,4,16,.82))}.mega-feature-copy{position:absolute;inset:auto 18px 18px;display:flex;flex-direction:column;gap:4px;text-shadow:0 2px 18px rgba(0,0,0,.45)}.mega-feature-copy small{text-transform:uppercase;letter-spacing:.16em;font-size:9px}.mega-feature-copy b{font-family:Didot,"Times New Roman",serif;font-size:28px;line-height:1}.mega-feature-copy em{font-style:normal;font-size:11px;margin-top:6px}.nav-actions{margin-left:28px}.bag-link{position:relative;text-decoration:none;border:1px solid currentColor;border-radius:999px;padding:11px 15px;font-size:13px}.cart-count{position:absolute;right:-6px;top:-8px;min-width:20px;height:20px;border-radius:999px;background:var(--blush);color:var(--wine);display:grid;place-items:center;font-size:10px;font-weight:800}.menu-toggle{display:none;margin-left:auto;background:none;border:0;color:inherit;font-size:25px}.overlay{position:fixed;inset:0;z-index:250;background:rgba(25,0,9,.52);opacity:0;visibility:hidden;transition:.2s}.overlay.open{opacity:1;visibility:visible}.mobile-panel{position:fixed;z-index:260;right:0;top:0;width:min(390px,88vw);height:100dvh;background:var(--paper);transform:translateX(105%);transition:.3s cubic-bezier(.2,.8,.2,1);padding:28px}.mobile-panel.open{transform:none}.mobile-close{position:absolute;right:20px;top:18px;border:0;background:none;font-size:34px;color:var(--wine)}.mobile-brand img{width:120px;height:80px;object-fit:contain;object-position:left center}.mobile-links{display:flex;flex-direction:column;gap:18px;margin-top:18px}.mobile-links>a{font-family:Didot,"Times New Roman",serif;font-size:34px;text-decoration:none;color:var(--wine)}.mobile-sub{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-sub a{text-decoration:none;color:#705d65;font-size:14px}
/* Hero */
.story{height:232vh;position:relative}.stage{--gx:74%;--gy:20%;position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;isolation:isolate;color:#fff;background:radial-gradient(circle at var(--gx) var(--gy),rgba(249,208,213,.18),transparent 23%),radial-gradient(circle at 18% 80%,rgba(217,158,166,.12),transparent 27%),linear-gradient(135deg,#26030f,#680627 56%,#8a1745)}.stage:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:24;background:linear-gradient(90deg,rgba(25,0,9,.16),transparent 31%,transparent 70%,rgba(25,0,9,.22))}.noise{position:absolute;inset:0;z-index:1;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E")}.starfield{position:absolute;inset:0;z-index:3}.star,.dot{position:absolute;left:var(--x);top:var(--y);opacity:var(--o)}.star{width:var(--s);height:var(--s);transform:rotate(45deg);background:linear-gradient(135deg,transparent 43%,#ffe8ed 48%,#ffe8ed 52%,transparent 57%);filter:drop-shadow(0 0 8px rgba(249,208,213,.35))}.star:after{content:"";position:absolute;inset:0;transform:rotate(90deg);background:inherit}.dot{width:3px;height:3px;border-radius:50%;background:#f7dbe1}.moon-wrap{position:absolute;right:-4vw;top:5svh;width:min(38vw,560px);aspect-ratio:1;z-index:5;filter:drop-shadow(0 0 55px rgba(249,208,213,.12));will-change:transform}.moon{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe5e8 0 8%,#efbdc7 38%,#af637d 72%,#6c1c3c);box-shadow:inset -35px -22px 60px rgba(48,2,17,.38)}.phase{position:absolute;inset:-2%;border-radius:50%;background:var(--wine);transform:translateX(34%);will-change:transform}.brand-star{position:absolute;z-index:7;color:var(--blush);opacity:.22;font-size:28px}.brand-star.a{right:4vw;top:30svh}.brand-star.b{right:15vw;top:18svh;font-size:16px}.mist{position:absolute;z-index:6;pointer-events:none;mix-blend-mode:screen;will-change:transform}.m1{left:-14vw;bottom:-13svh;width:130vw;opacity:.18}.m2{left:10vw;top:20svh;width:96vw;opacity:.08}.m3{left:-18vw;bottom:18svh;width:86vw;opacity:.065}.model-zone{position:absolute;left:32vw;bottom:-1.5svh;transform:translateX(-50%);width:min(53vw,900px);height:94svh;z-index:12;pointer-events:none;display:flex;align-items:flex-end;justify-content:center;overflow:visible}.hero-model{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 28px 38px rgba(0,0,0,.26));transform-origin:50% 100%;will-change:transform,filter;user-select:none}.model-veil{position:absolute;z-index:15;left:-18vw;top:18svh;width:70vw;height:68svh;border-radius:50%;opacity:0;pointer-events:none;filter:blur(28px);mix-blend-mode:screen;background:radial-gradient(ellipse at center,rgba(249,208,213,.96),rgba(217,158,166,.28) 46%,transparent 72%);will-change:transform,opacity}.hero-meta,.hero-chip,.hero-copy,.hero-shortcuts,.hero-progress{position:absolute;z-index:35}.hero-meta{left:6vw;top:12svh;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.64)}.hero-chip{right:5vw;top:12svh;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:10px 14px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;background:rgba(255,255,255,.05);backdrop-filter:blur(10px)}.hero-copy{right:5vw;bottom:18svh;width:min(39vw,610px);will-change:opacity,transform}.hero-kicker{text-transform:uppercase;letter-spacing:.2em;font-size:10px;color:#e7a8b6;margin-bottom:16px}.hero-copy h1{font-size:clamp(58px,6.2vw,102px);line-height:.86;margin:0 0 22px}.hero-copy p{font-size:15px;line-height:1.75;color:#f6e5e9;max-width:540px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.58);border-radius:999px;padding:14px 19px;text-decoration:none;color:#fff;font-weight:700;font-size:13px;transition:transform .25s ease,box-shadow .25s ease,color .25s ease}.hero-btn:before{content:"";position:absolute;inset:0;background:var(--cream);transform:translateX(-105%);transition:transform .35s cubic-bezier(.2,.8,.2,1);z-index:-1}.hero-btn:hover{transform:translateY(-3px);color:var(--wine);box-shadow:0 12px 34px rgba(18,0,6,.16)}.hero-btn:hover:before{transform:none}.hero-btn.primary{background:var(--cream);color:var(--wine);border-color:var(--cream)}.hero-btn.primary:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--rose);box-shadow:0 0 0 0 rgba(217,158,166,.5);animation:pulseDot 2.2s infinite}.hero-btn.primary:hover:after{animation:none;transform:scale(1.4)}@keyframes pulseDot{50%{box-shadow:0 0 0 7px rgba(217,158,166,0)}}.hero-shortcuts{left:6vw;bottom:9svh;display:flex;gap:8px;flex-wrap:wrap;max-width:48vw}.hero-shortcuts a{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#f6e9ed;text-decoration:none;border:1px solid rgba(255,255,255,.2);padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.045);backdrop-filter:blur(8px);transition:.2s}.hero-shortcuts a:hover{background:#fff;color:var(--wine);transform:translateY(-2px)}.hero-shortcuts .skip-story{border-style:dashed}.hero-progress{left:6vw;right:5vw;bottom:3.3svh;display:flex;gap:14px;align-items:center;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#ecd5dc}.rail{height:1px;flex:1;background:rgba(255,255,255,.22);position:relative}.hero-progress .fill{position:absolute;left:0;top:0;bottom:0;background:#fff;width:0}.steps{display:flex;gap:10px}.steps span{width:7px;height:7px;border:1px solid rgba(255,255,255,.55);border-radius:50%}.steps span.on{background:#fff}.trust-strip{display:flex;justify-content:center;gap:clamp(24px,5vw,78px);padding:17px 24px;background:#fff;border-bottom:1px solid var(--line);color:var(--wine);font-size:11px;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;overflow:auto}
/* Home */
.intro-flow{padding-top:88px}.intro-grid{display:grid;grid-template-columns:1.15fr .7fr;gap:80px;align-items:end}.intro-grid h2{margin-bottom:0}.intro-copy{padding-bottom:10px}.pill-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.pill-links a,.hero-pills a{padding:9px 13px;border-radius:999px;border:1px solid var(--line);text-decoration:none;font-size:12px;color:var(--wine);background:#fff}.moving-edit{margin-top:50px;display:flex;gap:14px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.moving-edit-track{display:flex;gap:14px;width:max-content;animation:marquee 24s linear infinite}.moving-edit:hover .moving-edit-track{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}.mini-look{width:240px;height:112px;border-radius:22px;background:linear-gradient(135deg,#efd9dc,#fff);display:grid;grid-template-columns:92px 1fr;align-items:center;padding:10px 14px;flex:none;border:1px solid rgba(104,6,39,.08)}.mini-look img{width:85px;height:100px;object-fit:contain;align-self:end}.mini-look b{font-family:Didot,"Times New Roman",serif;font-size:22px;color:var(--wine)}.mini-look small{display:block;color:#7c626b;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:4px}.product-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:26px}.product-card{position:relative;border-radius:26px;background:#fff;border:1px solid rgba(104,6,39,.08);overflow:hidden;min-width:0;box-shadow:0 12px 40px rgba(80,23,43,.06);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}.product-card:hover{transform:translateY(-8px);box-shadow:0 24px 58px rgba(80,23,43,.14)}.product-media{position:relative;height:420px;background:linear-gradient(160deg,#efe0e0,#f9f5f3 65%,#edd0d7);overflow:hidden}.product-media:after{content:"";position:absolute;inset:auto -20% -40% 10%;height:50%;border-radius:50%;background:radial-gradient(ellipse,rgba(104,6,39,.10),transparent 65%);filter:blur(20px)}.product-media img{width:100%;height:100%;object-fit:contain;object-position:center bottom;transition:transform .45s ease;position:relative;z-index:1}.product-card:hover .product-media img{transform:scale(1.035) translateY(-4px)}.product-badge{position:absolute;left:14px;top:14px;z-index:3;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);padding:8px 10px;border-radius:999px;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--wine)}.product-info{padding:18px}.product-info h3{font-family:Didot,"Times New Roman",serif;font-size:25px;margin:0;color:var(--ink)}.product-info p{color:#806b73;font-size:12px;min-height:36px}.product-price{display:flex;align-items:baseline;gap:10px;margin-top:10px}.product-price strong{font-size:17px;color:var(--wine)}.product-price span{font-size:11px;color:#907881}.product-card-actions{display:flex;gap:8px;margin-top:14px}.product-card-actions button,.product-card-actions a{flex:1;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--wine);padding:10px 12px;font-weight:700;font-size:11px;text-decoration:none;text-align:center;cursor:pointer}.product-card-actions .quick-add{background:var(--wine);color:#fff}.editorial-live{overflow:hidden}.editorial-live-grid{display:grid;grid-template-columns:minmax(420px,.95fr) minmax(0,1fr);gap:78px;align-items:center}.editorial-stack{height:680px;position:relative;border-radius:34px;overflow:hidden;background:linear-gradient(160deg,#ead3d8,#faf5f3);isolation:isolate}.editorial-stack:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,transparent 0 30%,rgba(104,6,39,.08) 80%);z-index:4;pointer-events:none}.editorial-stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;opacity:0;transform:scale(.98) translateX(18px);transition:opacity .8s ease,transform 1.2s cubic-bezier(.2,.8,.2,1);z-index:2}.editorial-stack img.active{opacity:1;transform:scale(1) translateX(0)}.editorial-orbit{position:absolute;width:420px;height:420px;border:1px solid rgba(104,6,39,.18);border-radius:50%;left:-110px;top:70px;z-index:1;animation:orbitSpin 14s linear infinite}.editorial-orbit:after{content:"✦";position:absolute;right:18px;top:48px;color:var(--wine);font-size:24px}@keyframes orbitSpin{to{transform:rotate(360deg)}}.editorial-copy h2{font-size:clamp(55px,6vw,92px)}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.category-card{position:relative;min-height:460px;border-radius:28px;overflow:hidden;background:#e9d6da;text-decoration:none;color:#fff;isolation:isolate;transform-style:preserve-3d;transition:transform .25s ease,box-shadow .25s ease}.category-card:hover{box-shadow:0 24px 60px rgba(86,14,39,.18)}.category-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 34%,rgba(42,7,19,.74));z-index:2}.category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;transition:transform .45s ease;z-index:1}.category-card:hover img{transform:scale(1.05)}.category-copy{position:absolute;left:24px;right:24px;bottom:22px;z-index:3}.category-copy small{font-size:10px;text-transform:uppercase;letter-spacing:.14em}.category-copy h3{font-family:Didot,"Times New Roman",serif;font-size:42px;margin:4px 0}.versions{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.version{position:relative;min-height:330px;border:1px solid rgba(255,255,255,.18);border-radius:26px;padding:28px;color:#fff;text-decoration:none;overflow:hidden;isolation:isolate;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--lift,0px));transition:transform .2s ease,border-color .2s ease;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03))}.version:before{content:"";position:absolute;inset:-1px;z-index:-1;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(249,208,213,.28),transparent 34%);opacity:.65}.version:hover{--lift:-6px;border-color:rgba(255,255,255,.36)}.version span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#e7a8b6}.version h3{font-family:Didot,"Times New Roman",serif;font-size:34px;line-height:1.05;margin:60px 0 18px}.version p{color:#efdde2;line-height:1.6}.version em{font-style:normal;font-size:12px;position:absolute;bottom:24px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:34px}.step-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px}.step-card>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--blush);color:var(--wine);font-weight:800}.step-card h3{font-family:Didot,"Times New Roman",serif;font-size:31px;margin:34px 0 10px}.step-card p{color:#76636a}.visit-strip{background:#3d0014;color:#fff;padding:80px 0}.visit-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center}.visit-grid p{color:#efdde2}.visit-grid iframe{border:0;width:100%;height:440px;border-radius:30px;filter:saturate(.75) contrast(.95)}
/* Inner heroes */
.shop-hero,.contact-hero{padding-top:94px;background:linear-gradient(135deg,#3a0013,#7d0e39);color:#fff;overflow:hidden}.shop-hero{min-height:570px}.shop-hero-grid{min-height:476px;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center}.shop-hero h1,.contact-hero h1,.page-hero h1{font-size:clamp(62px,7vw,112px);line-height:.86;margin:14px 0 24px}.shop-hero p,.contact-hero p,.page-hero p{font-size:18px;max-width:650px;color:#eddce2;line-height:1.7}.hero-pills{display:flex;gap:8px;flex-wrap:wrap}.hero-pills a{color:#fff;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.06)}.shop-hero-model{height:470px;position:relative;display:flex;justify-content:center;align-items:flex-end}.shop-hero-model img{height:94%;max-width:70%;object-fit:contain;z-index:2;filter:drop-shadow(0 20px 35px rgba(0,0,0,.24))}.mini-moon{position:absolute;width:330px;height:330px;border-radius:50%;right:10%;top:48px;background:radial-gradient(circle at 35% 30%,#ffe3e7,#e5a9b6 45%,#7c2446);box-shadow:inset -70px 0 0 rgba(69,0,22,.78)}.shop-toolbar{position:sticky;top:94px;z-index:80;background:rgba(245,240,238,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding:16px 0}.toolbar-inner{display:grid;grid-template-columns:240px 1fr 230px;gap:14px;align-items:center}.select-wrap{position:relative;display:block}.select-wrap:after{content:"⌄";position:absolute;right:18px;top:50%;transform:translateY(-54%);color:var(--wine);font-size:16px;pointer-events:none}.select-wrap select,.search-wrap input{appearance:none;width:100%;height:52px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:0 50px 0 18px;color:var(--ink);font:inherit}.search-wrap{position:relative}.search-wrap span{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:#a28891}.search-wrap input{padding-left:45px}.shop-section{padding-top:42px}.shop-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;color:#806b73;font-size:13px}.filter-reset{border:0;background:none;color:var(--wine);font-weight:700;cursor:pointer}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.modal{position:fixed;inset:0;z-index:400;opacity:0;visibility:hidden;transition:.25s}.modal.open{opacity:1;visibility:visible}.modal-backdrop{position:absolute;inset:0;background:rgba(30,0,10,.58);backdrop-filter:blur(5px)}.product-modal-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-47%);width:min(980px,calc(100vw - 32px));max-height:90dvh;overflow:auto;background:var(--paper);border-radius:30px;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 30px 100px rgba(22,0,8,.28);transition:.25s}.modal.open .product-modal-panel{transform:translate(-50%,-50%)}.modal-close{position:absolute;right:18px;top:16px;z-index:5;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:24px;cursor:pointer}.modal-media{position:relative;min-height:650px;background:linear-gradient(160deg,#ead6da,#f8f4f2);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.modal-media-bg{position:absolute;inset:0;background:radial-gradient(circle at 60% 25%,rgba(255,255,255,.75),transparent 30%)}.modal-media img{position:relative;width:90%;height:95%;object-fit:contain;object-position:center bottom}.modal-copy{padding:54px 46px}.modal-copy h2{font-size:58px;line-height:.9;margin:12px 0 20px}.modal-copy p{color:#735e66;line-height:1.65}.modal-price{display:flex;gap:12px;align-items:baseline;margin:20px 0 28px}.modal-price strong{font-size:24px;color:var(--wine)}.modal-price span{color:#89727b}.option-group{margin:22px 0}.option-group b{display:block;margin-bottom:10px}.choice-row{display:flex;gap:8px;flex-wrap:wrap}.choice{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:9px 13px;cursor:pointer}.choice.active{background:var(--wine);color:#fff;border-color:var(--wine)}
/* Contact */
.contact-hero{position:relative;min-height:650px}.contact-hero-grid{min-height:556px;display:grid;grid-template-columns:1fr .8fr;align-items:center}.contact-moon{position:absolute;right:-70px;top:90px;width:430px;height:430px;border-radius:50%;border:1px solid rgba(249,208,213,.3);animation:contactOrbit 18s linear infinite}.contact-moon:before,.contact-moon:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(249,208,213,.14)}.contact-moon:before{inset:42px}.contact-moon:after{inset:110px}.contact-moon span{position:absolute;width:95px;height:95px;border-radius:50%;background:var(--blush);left:-22px;top:72px;box-shadow:0 0 60px rgba(249,208,213,.38)}@keyframes contactOrbit{to{transform:rotate(360deg)}}.contact-look-stack{height:520px;position:relative;z-index:2}.contact-look-stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;opacity:0;transform:translateX(22px) scale(.98);transition:opacity .8s ease,transform 1s ease}.contact-look-stack img.active{opacity:1;transform:none}.contact-quick{display:flex;gap:10px;margin-top:26px}.contact-quick a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:11px 14px}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.contact-cards article{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px}.contact-cards span{color:var(--rose);font-size:11px}.contact-cards h3{font-family:Didot,"Times New Roman",serif;font-size:30px;margin:20px 0 8px}.contact-cards p{color:#725f67}.contact-main{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-form-card,.contact-map-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:38px}.contact-form-card h2{font-size:58px;line-height:.9;margin:12px 0 28px}.contact-map-card{padding:0;overflow:hidden}.map-label{padding:30px}.map-label small{text-transform:uppercase;letter-spacing:.15em;color:var(--wine)}.map-label h3{font-family:Didot,"Times New Roman",serif;font-size:40px;margin:8px 0}.contact-map-card iframe{border:0;width:100%;height:420px;display:block}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{font-size:12px;font-weight:700;color:#5f4b53}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;padding:13px 14px;margin-top:7px;font:inherit;color:var(--ink)}.form-grid textarea{resize:vertical}.form-status{font-size:13px;color:var(--wine);min-height:20px;margin-top:12px}
/* Cart/Checkout/Legal */
.page-hero{padding:160px 0 70px;background:linear-gradient(180deg,#f8f3f2,#f5f0ee);border-bottom:1px solid var(--line)}.page-hero p{color:#725f67}.cart-layout,.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:24px;align-items:start}.cart-list-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:18px}.cart-item{display:grid;grid-template-columns:120px 1fr auto;gap:18px;align-items:center;padding:16px;border-bottom:1px solid var(--line)}.cart-item:last-child{border-bottom:0}.cart-item-media{height:140px;border-radius:18px;background:linear-gradient(150deg,#efdcdf,#faf7f5);overflow:hidden}.cart-item-media img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.cart-item h3{font-family:Didot,"Times New Roman",serif;font-size:26px;margin:0 0 6px}.cart-item-meta{font-size:12px;color:#866f78}.qty{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin-top:12px}.qty button,.qty span{width:35px;height:34px;border:0;background:#fff;display:grid;place-items:center}.qty button{cursor:pointer}.cart-line-price{text-align:right;color:var(--wine);font-weight:800}.remove-item{display:block;border:0;background:none;color:#a1848e;font-size:11px;margin-top:12px;cursor:pointer}.summary-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;position:sticky;top:122px}.summary-card h2{font-size:48px;margin:10px 0 20px}.summary-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.empty-cart{text-align:center;padding:80px 20px}.empty-moon{font-size:72px;color:var(--rose)}.empty-cart h2{font-family:Didot,"Times New Roman",serif;font-size:40px}.empty-cart p{color:#7d6870}.empty-actions{display:flex;justify-content:center;gap:10px}.checkout-progress{display:flex;gap:10px;margin-top:30px;flex-wrap:wrap}.checkout-progress span{border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:#806a73;font-size:11px}.checkout-progress .active{background:var(--wine);color:#fff;border-color:var(--wine)}.checkout-section-wrap{padding-top:48px}.checkout-main{display:flex;flex-direction:column;gap:18px}.checkout-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px}.step-heading{display:flex;gap:15px;align-items:flex-start;margin-bottom:22px}.step-heading>span{width:42px;height:42px;border-radius:50%;background:var(--blush);color:var(--wine);display:grid;place-items:center;font-weight:800}.step-heading h2{margin:0;font-family:Didot,"Times New Roman",serif;font-size:34px}.step-heading p{margin:3px 0;color:#806a73}.delivery-options,.payment-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}.payment-options{grid-template-columns:repeat(2,1fr)}.option-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:16px;cursor:pointer;display:flex;gap:10px;align-items:flex-start}.option-card:has(input:checked){border-color:var(--wine);box-shadow:0 0 0 1px var(--wine) inset;background:#fff8fa}.option-card input{margin-top:4px;accent-color:var(--wine)}.option-card b{display:block}.option-card small{display:block;color:#806a73;margin-top:4px}.payment-detail{padding:18px;border-radius:18px;background:#f7eeef;margin-bottom:20px}.checkout-submit{align-self:flex-start;padding-inline:28px}.checkout-summary .checkout-mini-item{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.checkout-mini-item img{width:58px;height:72px;object-fit:contain;background:#f4e7e9;border-radius:12px}.checkout-mini-item b{font-size:12px}.checkout-mini-item small{color:#88717a}.legal-hero{min-height:auto}.legal-layout{display:grid;grid-template-columns:220px minmax(0,800px);gap:60px}.legal-layout aside{display:flex;flex-direction:column;gap:12px;position:sticky;top:130px;align-self:start}.legal-layout aside a{text-decoration:none;color:#755f68}.legal-copy section{padding:0 0 34px;margin-bottom:34px;border-bottom:1px solid var(--line)}.legal-copy h2{font-family:Didot,"Times New Roman",serif;font-size:38px;color:var(--wine);margin:0 0 10px}.legal-copy p{font-size:17px;color:#705b64;line-height:1.8}
/* Footer */
.site-footer{background:#2f0614;color:#fff;padding:76px 0 26px}.footer-top{display:grid;grid-template-columns:1.4fr .7fr .8fr 1fr;gap:42px}.footer-brand img{width:155px;height:100px;object-fit:contain;object-position:left center}.footer-brand p{color:#d7bfc6;max-width:370px}.footer-ig{display:inline-block;margin-top:12px;color:#fff;text-decoration:none}.footer-col h4{text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:#e7a8b6}.footer-col a{display:block;color:#dbc6cc;text-decoration:none;margin:8px 0;font-size:13px}.footer-col p{color:#dbc6cc;font-size:13px;line-height:1.7}.footer-map-wrap{display:grid;grid-template-columns:.65fr 1.35fr;gap:30px;align-items:center;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);margin-top:50px;padding:36px 0}.footer-map-wrap small{text-transform:uppercase;letter-spacing:.16em;color:#e7a8b6}.footer-map-wrap h3{font-family:Didot,"Times New Roman",serif;font-size:40px;margin:8px 0}.footer-map-wrap p{color:#d7bfc6}.footer-map{border:0;width:100%;height:230px;border-radius:22px;filter:saturate(.75)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:24px;color:#bfa5ad;font-size:11px}.footer-bottom a{color:inherit}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}.reveal.in{opacity:1;transform:none}
@media(max-width:1100px){.main-nav{gap:20px}.mega-menu{grid-template-columns:1fr 1fr 1fr 270px}.product-grid,.product-rail{grid-template-columns:repeat(3,1fr)}.versions{grid-template-columns:repeat(2,1fr)}.cart-layout,.checkout-layout{grid-template-columns:1fr 360px}.model-zone{left:29vw;width:min(58vw,820px)}.hero-copy{width:min(42vw,560px)}}
@media(max-width:900px){.shell{width:min(100% - 32px,760px)}.site-header{height:76px}.main-nav,.nav-actions{display:none}.menu-toggle{display:block}.brand-logo,.hero-header .brand-logo{width:132px;height:66px}.story{height:210vh}.model-zone{left:50%;width:100vw;height:67svh;bottom:22svh}.hero-meta{left:6vw;top:10svh}.hero-chip{display:none}.moon-wrap{width:72vw;right:-23vw;top:5svh}.hero-copy{left:6vw;right:6vw;width:auto;bottom:10.5svh}.hero-copy h1{font-size:clamp(46px,13vw,72px);max-width:94vw}.hero-copy p{display:none}.hero-shortcuts{left:6vw;right:6vw;bottom:5.6svh;max-width:none;overflow:auto;flex-wrap:nowrap}.hero-shortcuts a{white-space:nowrap}.hero-shortcuts .skip-story{display:none}.hero-progress{left:6vw;right:6vw;bottom:2svh}.m2{width:140vw;left:-30vw}.m3{display:none}.intro-grid,.section-head,.editorial-live-grid,.visit-grid,.contact-hero-grid,.shop-hero-grid,.contact-main,.footer-map-wrap{grid-template-columns:1fr;gap:32px}.product-grid,.product-rail{grid-template-columns:repeat(2,1fr)}.category-grid{grid-template-columns:repeat(2,1fr)}.steps-grid,.contact-cards{grid-template-columns:1fr}.editorial-stack{height:560px}.versions{grid-template-columns:1fr 1fr}.shop-hero-grid{padding-top:42px}.shop-hero-model{height:390px}.shop-toolbar{top:76px}.toolbar-inner{grid-template-columns:1fr 1fr}.search-wrap{grid-column:1/-1;grid-row:1}.product-modal-panel{grid-template-columns:1fr}.modal-media{min-height:420px}.cart-layout,.checkout-layout{grid-template-columns:1fr}.summary-card{position:static}.delivery-options{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr}.legal-layout{grid-template-columns:1fr}.legal-layout aside{position:static;flex-direction:row;flex-wrap:wrap}.contact-hero-grid{padding-top:40px}.contact-look-stack{height:420px}}
@media(max-width:560px){.shell{width:calc(100% - 24px)}.section{padding:68px 0}.section-head h2,.intro-grid h2,.editorial-copy h2,.visit-grid h2{font-size:48px}.story{height:195vh}.model-zone{width:116vw;height:64svh;bottom:23svh}.hero-copy{bottom:10svh}.hero-copy h1{font-size:46px}.hero-actions{gap:8px}.hero-btn{padding:12px 14px;font-size:11px}.hero-progress .steps{display:none}.trust-strip{justify-content:flex-start}.product-grid,.product-rail,.category-grid,.versions,.footer-top{grid-template-columns:1fr}.product-media{height:390px}.category-card{min-height:410px}.editorial-stack{height:500px}.version{min-height:290px}.footer-bottom{flex-direction:column}.toolbar-inner{grid-template-columns:1fr}.search-wrap,.select-wrap.compact{grid-column:auto;grid-row:auto}.shop-hero h1,.contact-hero h1,.page-hero h1{font-size:58px}.contact-hero-grid{padding-top:30px}.contact-look-stack{height:360px}.contact-form-card,.contact-map-card{padding:24px}.contact-map-card{padding:0}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.payment-options{grid-template-columns:1fr}.cart-item{grid-template-columns:88px 1fr}.cart-item-media{height:110px}.cart-line-price{grid-column:2;text-align:left}.product-modal-panel{width:calc(100vw - 18px)}.modal-copy{padding:34px 24px}.modal-copy h2{font-size:48px}.footer-map-wrap{gap:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.moving-edit-track,.editorial-orbit,.contact-moon,.hero-btn.primary:after{animation:none!important}.reveal{opacity:1;transform:none}.story{height:150vh}.mist,.model-veil{display:none}}


/* --- UX polish: hero/header, product modal and cart summary --- */
/* Home header remains visually weightless throughout the pinned hero. */
.home .site-header.hero-header:not(.scrolled){background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;border-color:transparent!important}
.home .site-header.hero-header:not(.scrolled) .header-inner{background:transparent!important}
.home .site-header.hero-header:not(.scrolled) .brand-logo{filter:drop-shadow(0 2px 12px rgba(32,0,11,.18))}

/* With the quick-link rail removed, the progress line owns the lower edge cleanly. */
.home .hero-progress{bottom:3.8svh}

/* Product detail is a focused fitting panel, not a full burgundy callout. */
.product-modal-panel{width:min(900px,calc(100vw - 36px));grid-template-columns:minmax(320px,.92fr) minmax(360px,1.08fr);border-radius:26px;overflow:hidden}
.modal-media{min-height:540px}
.modal-media img{width:88%;height:93%}
.modal-copy{padding:44px 40px 38px}
.modal-copy h2{font-size:clamp(42px,4vw,58px)}
.modal-price{margin:16px 0 22px}
.option-group{margin:18px 0}
.modal-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:26px}
.modal-add-btn{min-height:48px;border:1px solid var(--wine);background:#fff;color:var(--wine);border-radius:999px;padding:0 18px;display:inline-flex;align-items:center;gap:10px;font:700 12px/1 Arial,Helvetica,sans-serif;cursor:pointer;box-shadow:0 9px 22px rgba(104,6,39,.08);transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}
.modal-add-btn:hover{transform:translateY(-2px);background:var(--wine);color:#fff;box-shadow:0 14px 28px rgba(104,6,39,.16)}
.modal-add-dot{width:7px;height:7px;border-radius:50%;background:var(--rose);flex:none}
.modal-add-btn:hover .modal-add-dot{background:var(--blush)}
.modal-cart-link{color:#725f67;text-decoration:none;font-size:12px;font-weight:700;padding:12px 4px}
.modal-cart-link:hover{color:var(--wine)}
.modal-note{display:block;margin-top:15px;line-height:1.5}

/* Cart summary keeps one clear horizontal primary action; no oversized fill element. */
.summary-actions{display:grid;gap:12px;margin-top:22px}
.summary-checkout-link{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:74px;border:1px solid rgba(104,6,39,.18);border-radius:20px;padding:14px 16px 14px 18px;background:linear-gradient(135deg,#fff,#fff7f8);color:var(--ink);text-decoration:none;box-shadow:0 10px 26px rgba(104,6,39,.06);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.summary-checkout-link:hover{transform:translateY(-2px);border-color:rgba(104,6,39,.42);box-shadow:0 16px 34px rgba(104,6,39,.11)}
.summary-checkout-link small{display:block;color:#9b7c86;font-size:9px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:4px}
.summary-checkout-link strong{display:block;color:var(--wine);font-size:13px}
.summary-arrow{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--wine);color:#fff;flex:none;font-size:17px}
.summary-actions .center-link{margin:0;text-align:center}
.summary-card{overflow:hidden}

@media(max-width:900px){
  .product-modal-panel{grid-template-columns:1fr;width:min(680px,calc(100vw - 24px));max-height:92dvh}
  .modal-media{min-height:360px;height:42dvh}
  .modal-copy{padding:30px 26px 28px}
}
@media(max-width:560px){
  .product-modal-panel{width:calc(100vw - 14px);border-radius:22px}
  .modal-media{min-height:300px;height:38dvh}
  .modal-actions{align-items:stretch}
  .modal-add-btn{justify-content:center;width:100%}
  .modal-cart-link{text-align:center;width:100%}
  .summary-checkout-link{min-height:68px;border-radius:18px}
}


/* --- Final demo QA corrections --- */
/* Prevent the old magnetic CTA transform from collapsing/drifting into a left-side bar. */
.magnetic{transform:none!important;position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;writing-mode:horizontal-tb!important;width:auto;max-width:100%}
.purchase-flow .center,.contact-form-card form,.editorial-copy{overflow:visible}

/* Strong readable contrast for micro labels on wine backgrounds. */
.wine .eyebrow,.eyebrow.light,.versions-section .eyebrow{color:#ffd7df!important;text-shadow:0 1px 12px rgba(0,0,0,.22);opacity:1!important}
.versions-section .section-head.light p,.contact-hero p,.visit-grid p{color:#f7e9ed!important}

/* Product thumbnails and variant preview: show the full garment/model without clipping. */
.product-media{display:flex;align-items:center;justify-content:center;padding:14px 14px 10px}
.product-media img{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important}
.modal-media{display:flex!important;align-items:center!important;justify-content:center!important;padding:22px 18px!important}
.modal-media img{width:auto!important;height:auto!important;max-width:88%!important;max-height:88%!important;object-fit:contain!important;object-position:center center!important}

/* Footer studio credit. */
.footer-credit{display:inline-flex;gap:6px;align-items:center;color:#cdb6bd;text-decoration:none}
.footer-credit:hover{color:#fff}

@media(max-width:900px){
  .modal-media{padding:16px!important}
  .modal-media img{max-width:92%!important;max-height:90%!important}
}


/* --- FINAL FIX: remove legacy left-edge wine strip caused by magnetic CTA transforms --- */
.stable-cta{
  position:static !important;
  inset:auto !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:max-content !important;
  display:inline-flex !important;
  transform:none !important;
  writing-mode:horizontal-tb !important;
}
.home .purchase-flow .center,.contact-form-card form{position:relative;overflow:visible}
.home .purchase-flow .center>.stable-cta,.contact-form-card .stable-cta{margin-left:0 !important}
/* Legacy magnetic class is neutralized if old browser cache injects it. */
.magnetic{position:static !important;inset:auto !important;width:auto !important;height:auto !important;max-width:max-content !important;transform:none !important;writing-mode:horizontal-tb !important}


/* --- FINAL RESPONSIVE AND CTA SAFETY --- */
/* Critical: .fill belongs to buttons too. Never let progress-bar geometry leak into CTA buttons. */
.btn.fill{position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;height:auto!important;min-width:0;max-width:100%;white-space:normal}
.hero-progress .fill{position:absolute!important;left:0!important;top:0!important;bottom:0!important;width:0;background:#fff}

/* Stable action layouts across split view and narrow windows. */
.hero-actions,.contact-quick,.empty-actions{align-items:center}
.hero-actions .hero-btn,.contact-quick a,.empty-actions .btn{flex:0 0 auto;min-width:max-content}
.purchase-flow .center .btn,.contact-form-card .btn,.checkout-submit{position:static!important;display:inline-flex!important;width:auto!important;max-width:100%!important;height:auto!important;min-height:48px;align-self:flex-start}

/* Contact orbit remains behind the content and moves away on narrower layouts. */
.contact-hero{isolation:isolate}
.contact-moon{z-index:0;pointer-events:none}
.contact-hero-grid{position:relative;z-index:2}
.contact-look-stack{z-index:2}

/* Intermediate/split-view navigation: collapse before the desktop header becomes crowded. */
@media(max-width:1100px){
  .site-header{height:80px}
  .main-nav,.nav-actions{display:none!important}
  .menu-toggle{display:block!important}
  .brand{width:auto;max-width:150px}
  .brand-logo,.hero-header .brand-logo{width:138px;height:68px}
  .header-inner{justify-content:space-between;gap:18px}
  .page-hero{padding-top:132px}
  .contact-moon{width:350px;height:350px;right:-150px;top:100px;opacity:.7}
  .contact-moon:before{inset:36px}.contact-moon:after{inset:92px}
  .contact-moon span{width:78px;height:78px;left:-14px;top:56px}
  .checkout-layout,.cart-layout{grid-template-columns:1fr!important}
  .summary-card{position:static!important;top:auto!important}
}

@media(max-width:760px){
  .site-header{height:72px}
  .brand-logo,.hero-header .brand-logo{width:118px;height:58px}
  .page-hero{padding:118px 0 52px}
  .page-hero h1,.shop-hero h1,.contact-hero h1{font-size:clamp(46px,11vw,66px)!important;line-height:.9}
  .contact-hero{min-height:auto;padding-top:72px}
  .contact-hero-grid{min-height:auto;padding:54px 0 32px!important}
  .contact-moon{width:260px;height:260px;right:-165px;top:96px;opacity:.45}
  .contact-moon:before{inset:28px}.contact-moon:after{inset:68px}
  .contact-moon span{width:58px;height:58px;left:-10px;top:42px}
  .contact-quick{flex-wrap:wrap}
  .contact-quick a{min-width:0}
  .contact-look-stack{height:330px}
  .section{padding:72px 0}
  .checkout-card,.summary-card,.cart-list-card{border-radius:22px;padding:22px}
  .checkout-progress{gap:7px}.checkout-progress span{font-size:10px;padding:7px 10px}
  .checkout-submit,.contact-form-card .btn,.purchase-flow .center .btn{width:100%!important;justify-content:center}
}

@media(max-width:460px){
  .shell{width:calc(100% - 24px)!important}
  .brand-logo,.hero-header .brand-logo{width:106px;height:54px}
  .menu-toggle{font-size:22px}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .hero-btn{width:100%;justify-content:center;min-width:0}
  .contact-moon{right:-185px;top:120px;opacity:.32}
  .contact-look-stack{height:290px}
  .empty-actions{flex-direction:column}.empty-actions .btn{width:100%;justify-content:center;min-width:0}
  .checkout-card,.summary-card,.cart-list-card{padding:18px}
  .step-heading h2{font-size:28px}
}

/* Final split-view robustness */
main,.shell,.header-inner,.cart-layout,.checkout-layout,.contact-main,.shop-hero-grid,.contact-hero-grid,.form-grid,.checkout-main,.summary-card,.checkout-card,.cart-list-card{min-width:0}
img,svg,video,iframe{max-width:100%}
.form-grid input,.form-grid select,.form-grid textarea{min-width:0;max-width:100%}
@media(max-width:1100px){
  .checkout-layout,.cart-layout{width:100%}
  .checkout-summary,.summary-card{width:100%;max-width:none}
  .checkout-main{width:100%}
}
@media(max-width:760px){
  .checkout-section-wrap,.cart-section{padding-top:34px}
  .form-grid{grid-template-columns:1fr!important}
  .form-grid label.full{grid-column:auto!important}
  .delivery-options,.payment-options{grid-template-columns:1fr!important}
  .footer-top{grid-template-columns:1fr!important}
  .footer-bottom{flex-direction:column;align-items:flex-start}
}


/* --- MOBILE SHOP FINAL FIX: scrollable product detail + seamless sticky filters --- */
@media(max-width:1100px){
  /* Match the sticky filter bar to the actual responsive header height. */
  .shop-toolbar{
    top:80px!important;
    background:var(--cream)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    box-shadow:0 -2px 0 var(--cream),0 8px 24px rgba(41,21,29,.05);
  }
}

@media(max-width:760px){
  /* The header becomes 72px here; keeping the same offset removes the 4px scrolling seam. */
  .shop-toolbar{
    top:72px!important;
    margin-top:-1px;
    border-top:1px solid var(--cream);
  }

  /* Product quick-view becomes its own touch-scroll surface on phones. */
  .product-modal-panel{
    top:50%!important;
    width:calc(100vw - 16px)!important;
    max-width:520px!important;
    max-height:calc(100vh - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    touch-action:pan-y;
    align-content:start;
    border-radius:22px!important;
  }
  .modal-media{
    min-height:240px!important;
    height:34vh!important;
    height:34dvh!important;
    max-height:330px!important;
    flex:0 0 auto;
  }
  .modal-copy{
    padding:28px 22px calc(30px + env(safe-area-inset-bottom,0px))!important;
  }
  .modal-copy h2{
    font-size:clamp(40px,12vw,52px)!important;
    line-height:.92!important;
  }
  .modal-price{margin:14px 0 20px!important}
  .option-group{margin:16px 0!important}
  .modal-actions{margin-top:20px!important}
  .modal-add-btn{min-height:50px!important}
}

@media(max-width:390px){
  /* Samsung A12 / narrow Android tuning: keep controls visible without shrinking tap targets. */
  .toolbar-inner{gap:10px!important}
  .select-wrap select,.search-wrap input{height:48px!important;font-size:14px!important}
  .product-modal-panel{width:calc(100vw - 12px)!important;max-height:calc(100dvh - 12px)!important}
  .modal-media{height:31dvh!important;min-height:220px!important;max-height:285px!important}
  .modal-copy{padding:24px 18px calc(26px + env(safe-area-inset-bottom,0px))!important}
  .choice{min-height:42px;padding:10px 13px!important}
}

/* --- Production commerce + account UI --- */
.nav-actions{display:flex;align-items:center;gap:10px}.account-link{width:42px;height:42px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;text-decoration:none;transition:transform .2s ease,background .2s ease}.account-link:hover,.cart-icon-link:hover{transform:translateY(-2px)}.account-link svg,.cart-icon-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cart-icon-link{width:48px;height:42px;padding:0!important;display:grid!important;place-items:center;position:relative}.account-link.signed-in{background:var(--blush);color:var(--wine);border-color:transparent}.load-more-wrap{display:flex;justify-content:center;padding-top:30px}.load-more-wrap .btn[hidden]{display:none}.choice:disabled{opacity:.38;cursor:not-allowed;text-decoration:line-through}.variant-stock{margin:4px 0 0;color:#7b626b}.modal-add-btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}
/* Exact-width duplicate groups make the home marquee visually continuous. */
.moving-edit-track{gap:0!important;will-change:transform;animation:marquee-seamless 26s linear infinite!important}.moving-edit-group{display:flex;gap:14px;padding-right:14px;flex:none}.moving-edit:hover .moving-edit-track{animation-play-state:running!important}@keyframes marquee-seamless{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(prefers-reduced-motion:reduce){.moving-edit-track{animation:none!important;transform:none!important}}


/* --- Final production fixes: seamless editorial loop + auth tabs --- */
.moving-edit{width:100%;overflow:hidden;contain:layout paint;}
.moving-edit-track{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:0!important;
  width:max-content!important;
  will-change:transform;
  backface-visibility:hidden;
  animation:luna-editorial-loop 34s linear infinite!important;
}
.moving-edit-group{
  display:flex!important;
  flex:0 0 auto!important;
  gap:14px!important;
  padding-right:14px!important;
  width:max-content!important;
}
.moving-edit-cycle{
  display:flex;
  flex:0 0 auto;
  gap:14px;
  width:max-content;
}
@keyframes luna-editorial-loop{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
.account-form[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){.moving-edit-track{animation:none!important;transform:none!important}}

/* --- V3: admin-managed infinite carousel + shoppable bundles --- */
.moving-edit{position:relative;width:100%;overflow:hidden;contain:layout paint;}
.moving-edit-track{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:0!important;
  width:max-content!important;
  will-change:transform;
  backface-visibility:hidden;
  animation:luna-editorial-loop 34s linear infinite!important;
}
.moving-edit-group{
  display:flex!important;
  flex:0 0 auto!important;
  gap:14px!important;
  padding-right:14px!important;
  width:max-content!important;
}
.moving-edit:hover .moving-edit-track,
.moving-edit:focus-within .moving-edit-track{animation-play-state:paused!important;}
.mini-look{
  text-decoration:none;
  color:inherit;
  position:relative;
  overflow:hidden;
  cursor:pointer;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.mini-look:hover,.mini-look:focus-visible{transform:translateY(-3px);box-shadow:0 16px 35px rgba(74,10,31,.12);border-color:rgba(104,6,39,.2);outline:none;}
.mini-look em{display:block;margin-top:7px;color:var(--wine);font-style:normal;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.82;}
.mini-look-bundle::after{content:'SET';position:absolute;top:9px;left:9px;padding:4px 7px;border-radius:999px;background:rgba(104,6,39,.92);color:#fff;font-size:8px;font-weight:800;letter-spacing:.12em;}
@keyframes luna-editorial-loop{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(prefers-reduced-motion:reduce){.moving-edit-track{animation:none!important;transform:none!important}.moving-edit{overflow-x:auto}}

.bundle-modal-panel{width:min(980px,calc(100vw - 30px));max-height:min(88dvh,850px);overflow:auto;background:#fff;border-radius:30px;box-shadow:0 30px 100px rgba(40,5,18,.3);position:relative;z-index:2;display:grid;grid-template-columns:minmax(250px,.82fr) minmax(0,1.18fr);scrollbar-gutter:stable;}
.bundle-modal-media{min-height:100%;background:linear-gradient(145deg,#f9e1e5,#f5f0ee);position:sticky;top:0;height:min(88dvh,850px);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.bundle-modal-media img{width:100%;height:100%;object-fit:contain;object-position:center;}
.bundle-modal-copy{padding:42px 38px 38px;min-width:0;}
.bundle-modal-copy h2{font-size:clamp(38px,5vw,66px);line-height:.92;margin:9px 0 12px;}
.bundle-total{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:18px 0;margin:14px 0 6px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.bundle-total span{color:#876d76;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.bundle-total strong{font:700 27px Didot,"Times New Roman",serif;color:var(--wine)}
.bundle-items{display:grid;gap:12px;margin-top:18px;}
.bundle-item{display:grid;grid-template-columns:78px minmax(0,1fr);gap:13px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff;}
.bundle-item>img{width:78px;height:104px;object-fit:contain;border-radius:12px;background:#f8eff1;}
.bundle-item-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.bundle-item-head b{font-size:14px;color:var(--wine)}.bundle-item-head span{font-weight:700;white-space:nowrap}
.bundle-item-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px;}
.bundle-item-controls label{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#876d76;}
.bundle-item-controls select{display:block;width:100%;margin-top:5px;min-height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 34px 0 11px;color:var(--wine);font:600 12px Inter,Arial,sans-serif;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#680627 50%),linear-gradient(135deg,#680627 50%,transparent 50%);background-position:calc(100% - 15px) 18px,calc(100% - 10px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;}
.bundle-item-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:8px;font-size:11px;color:#876d76}.bundle-item-meta a{color:var(--wine);font-weight:700;text-decoration:none}
.bundle-item.out-of-stock{opacity:.56}.bundle-stock-warning{color:#8d223f;font-weight:700;}
.bundle-actions{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-top:22px}.bundle-actions .modal-add-btn{width:100%}.bundle-actions .modal-cart-link{padding:12px 4px;}
@media(max-width:760px){.bundle-modal-panel{display:block;width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:24px}.bundle-modal-media{position:relative;height:34dvh;min-height:230px;max-height:320px}.bundle-modal-copy{padding:26px 18px calc(28px + env(safe-area-inset-bottom,0px))}.bundle-item{grid-template-columns:66px minmax(0,1fr)}.bundle-item>img{width:66px;height:90px}.bundle-item-controls{grid-template-columns:1fr 1fr}.bundle-actions{grid-template-columns:1fr}.bundle-actions .modal-cart-link{text-align:center}}

/* Checkout upload control: hide browser-language file UI and keep Luna's Spanish UX. */
.checkout-file-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;}
.checkout-file-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;margin-top:7px;padding:10px 13px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;}
.checkout-file-picker:hover,.checkout-file-picker:focus-within{border-color:rgba(104,6,39,.42);box-shadow:0 8px 26px rgba(104,6,39,.08)}
.checkout-file-picker b{color:var(--wine);font-size:12px}.checkout-file-picker small{max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8b737b;text-transform:none;letter-spacing:0;}
.payment-extra[hidden]{display:none!important}.credit-detail{background:linear-gradient(135deg,#fff5f7,#f9e2e7);border-color:rgba(104,6,39,.12)!important}.credit-detail b{color:var(--wine)}
.checkout-upload-field{font-size:12px;font-weight:700;color:#5f4b53;min-width:0}.checkout-field-label{display:block}
.option-card.credit-option{background:linear-gradient(135deg,#fff8fa,#f9e3e7)}.option-card.credit-option:has(input:checked){background:linear-gradient(135deg,#fff0f4,#f7d8df);box-shadow:0 0 0 1px var(--wine) inset,0 10px 28px rgba(104,6,39,.08)}

/* --- V4 responsive hardening: public storefront, checkout and new commerce UI --- */
html,body{width:100%;max-width:100%}
@supports (overflow:clip){body{overflow-x:clip}}
main,header,footer,section,aside,nav,.shell,.site-header,.header-inner,.mobile-panel,.shop-toolbar,.toolbar-inner,.product-grid,.product-card,.product-info,.cart-layout,.cart-list-card,.cart-item,.summary-card,.checkout-layout,.checkout-main,.checkout-card,.checkout-summary,.contact-main,.contact-form-card,.contact-map-card,.legal-layout,.legal-copy,.bundle-modal-panel,.bundle-modal-copy,.bundle-item,.bundle-item>div,.modal-copy{min-width:0}
button,input,select,textarea{max-width:100%;min-width:0}
.footer-col,.footer-bottom,.summary-row,.shop-meta,.bundle-total,.bundle-item-head,.bundle-item-meta{min-width:0}
.footer-col p,.footer-col span,.footer-bottom span,.prototype-note,.shop-meta,.bundle-item-head b,.bundle-item-meta,.summary-row span,.summary-row b{overflow-wrap:anywhere}
.mobile-panel{padding-top:max(28px,env(safe-area-inset-top,0px));padding-right:max(28px,env(safe-area-inset-right,0px));padding-bottom:max(28px,env(safe-area-inset-bottom,0px));padding-left:max(28px,env(safe-area-inset-left,0px));overflow-y:auto;overscroll-behavior:contain}

@media(max-width:760px){
  input,select,textarea{font-size:16px}
  .mobile-panel{width:min(390px,92vw)}
  .mobile-links>a{font-size:clamp(28px,8.5vw,34px);line-height:1.05;overflow-wrap:anywhere}
  .mobile-sub{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mobile-sub a{min-width:0;overflow-wrap:anywhere}
  .shop-meta{gap:12px;flex-wrap:wrap;align-items:flex-start}
  .filter-reset{min-height:40px}
  .product-card-actions{flex-wrap:wrap}
  .product-card-actions button,.product-card-actions a{min-height:44px;display:flex;align-items:center;justify-content:center}
  .summary-row{align-items:flex-start}
  .checkout-mini-item{grid-template-columns:54px minmax(0,1fr) auto!important}
  .checkout-mini-item>*,.cart-item>*{min-width:0}
  .bundle-total{align-items:flex-start;flex-wrap:wrap}
  .bundle-item-head,.bundle-item-meta{align-items:flex-start;flex-wrap:wrap}
  .checkout-file-picker{min-width:0}
  .checkout-file-picker small{min-width:0}
  .legal-copy p,.legal-copy li{overflow-wrap:anywhere}
}

@media(max-width:420px){
  .mobile-panel{width:94vw;padding-left:20px;padding-right:20px}
  .mobile-sub{grid-template-columns:1fr}
  .mobile-links{gap:16px}
  .product-media{height:clamp(320px,105vw,390px)}
  .category-card{min-height:clamp(350px,118vw,410px)}
  .shop-hero-model{height:340px}
  .toolbar-inner{gap:9px!important}
  .shop-toolbar{padding:12px 0}
  .select-wrap select,.search-wrap input{height:46px!important}
  .shop-meta{font-size:12px}
  .cart-item{grid-template-columns:74px minmax(0,1fr)!important;gap:12px!important}
  .cart-item-media{height:96px!important}
  .cart-line-price{grid-column:2!important}
  .checkout-mini-item{grid-template-columns:50px minmax(0,1fr)!important}
  .checkout-mini-item>span:last-child,.checkout-mini-item>strong:last-child{grid-column:2;justify-self:start}
  .checkout-file-picker{align-items:flex-start;flex-direction:column}
  .checkout-file-picker small{max-width:100%!important;width:100%;white-space:normal;overflow-wrap:anywhere}
  .bundle-modal-panel{width:calc(100vw - 8px)!important;max-height:calc(100dvh - 8px)!important;border-radius:20px}
  .bundle-modal-media{height:30dvh!important;min-height:190px!important;max-height:260px!important}
  .bundle-modal-copy{padding:22px 14px calc(24px + env(safe-area-inset-bottom,0px))!important}
  .bundle-item{grid-template-columns:58px minmax(0,1fr)!important;padding:10px;gap:10px}
  .bundle-item>img{width:58px!important;height:78px!important}
  .bundle-item-controls{grid-template-columns:1fr!important}
  .bundle-actions{grid-template-columns:1fr!important}
  .bundle-total strong{font-size:24px}
  .modal-actions{align-items:stretch!important;flex-direction:column}
  .modal-actions>*{width:100%;text-align:center;justify-content:center}
  .footer-map{height:260px}
}

@media(max-width:340px){
  .shell{width:calc(100% - 18px)!important}
  .brand-logo,.hero-header .brand-logo{width:98px!important;height:50px!important}
  .menu-toggle{padding:8px;font-size:21px}
  .page-hero h1,.shop-hero h1,.contact-hero h1{font-size:clamp(40px,14vw,52px)!important}
  .section-head h2,.intro-grid h2,.editorial-copy h2,.visit-grid h2{font-size:clamp(40px,13vw,48px)!important}
  .checkout-card,.summary-card,.cart-list-card,.contact-form-card{padding:16px!important}
  .cart-item{grid-template-columns:64px minmax(0,1fr)!important;gap:10px!important}
  .cart-item-media{height:86px!important}
  .bundle-item{grid-template-columns:1fr!important}
  .bundle-item>img{width:100%!important;height:160px!important}
}

@media(max-height:560px) and (orientation:landscape){
  .mobile-panel{height:100dvh;padding-top:18px;padding-bottom:18px}
  .mobile-brand img{height:58px}
  .mobile-links{gap:12px;margin-top:8px}
  .mobile-links>a{font-size:27px}
  .product-modal-panel,.bundle-modal-panel{max-height:calc(100dvh - 8px)!important}
  .modal-media,.bundle-modal-media{min-height:180px!important;height:45dvh!important;max-height:230px!important}
}

/* Launch hardening: consent controls and direct map link */
.checkout-consent,.account-consent{display:flex;align-items:flex-start;gap:.7rem;font-size:.9rem;line-height:1.45;margin:1rem 0 1.2rem}.checkout-consent input,.account-consent input{width:1.05rem;height:1.05rem;margin-top:.18rem;flex:0 0 auto}.checkout-consent a,.account-consent a{text-decoration:underline;text-underline-offset:2px}.map-direct-link{display:inline-block;margin-top:.65rem}.footer-map-wrap .map-direct-link{color:#fff;text-decoration:underline;text-underline-offset:3px}


/* --- V6 SVS: carousel framing + readable CTA --- */
.mini-look{
  width:264px!important;
  height:132px!important;
  grid-template-columns:98px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:stretch!important;
  padding:8px 14px 8px 8px!important;
}
.mini-look-media{
  width:98px;
  height:116px;
  align-self:end;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:hidden;
  border-radius:17px;
  background:linear-gradient(155deg,rgba(255,255,255,.32),rgba(255,255,255,.04));
}
.mini-look .mini-look-media img{
  display:block;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  align-self:auto!important;
  transform:none!important;
}
.mini-look-copy{
  min-width:0;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
  padding:9px 0 7px;
}
.mini-look-copy b{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  line-height:1.02;
  font-size:21px;
}
.mini-look-copy small{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
  overflow:hidden;
  line-height:1.25;
}
.mini-look-copy em{
  margin-top:auto!important;
  padding-top:6px;
  white-space:nowrap;
  line-height:1.2;
}
.mini-look-type{
  align-self:flex-start;
  margin-bottom:5px;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(104,6,39,.92);
  color:#fff;
  font-size:8px;
  font-weight:800;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.mini-look-bundle::after{content:none!important;}
@media(max-width:560px){
  .moving-edit{margin-inline:-12px;padding-inline:12px;mask-image:none;}
  .mini-look{width:248px!important;height:128px!important;grid-template-columns:92px minmax(0,1fr)!important;}
  .mini-look-media{width:92px;height:112px;}
  .mini-look-copy b{font-size:20px;}
}

/* SVS CLIENT UPDATE: cart motion and mobile visibility */

.cart-icon-link {
  overflow: visible;
  isolation: isolate;
}

/* Producto cayendo dentro de la bolsa */
.cart-fall-dot {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: -18px;
  width: 9px;
  height: 9px;
  margin-left: -4.5px;
  border-radius: 50%;
  background: var(--blush, #e7a9bc);
  box-shadow: 0 4px 12px rgba(104, 6, 39, .28);
  pointer-events: none;
  animation: luna-cart-drop .7s cubic-bezier(.18,.82,.28,1) forwards;
}

.cart-receive svg {
  transform-origin: 50% 70%;
  animation: luna-bag-catch .58s cubic-bezier(.2,.8,.2,1);
}

.cart-receive .cart-count {
  animation: luna-count-pop .48s cubic-bezier(.18,.9,.28,1.2);
}

@keyframes luna-cart-drop {
  0% {
    transform: translate3d(0,-13px,0) scale(.55);
    opacity: 0;
  }

  18% {
    opacity: 1;
  }

  76% {
    transform: translate3d(0,27px,0) scale(1);
    opacity: 1;
  }

  100% {
    transform: translate3d(0,34px,0) scale(.25);
    opacity: 0;
  }
}

@keyframes luna-bag-catch {
  0%,
  100% {
    transform: rotate(0) scale(1);
  }

  42% {
    transform: rotate(-5deg) scale(.94);
  }

  70% {
    transform: rotate(4deg) scale(1.08);
  }
}

@keyframes luna-count-pop {
  0% {
    transform: scale(.65);
  }

  58% {
    transform: scale(1.25);
  }

  100% {
    transform: scale(1);
  }
}

/* Confirmación persistente después de quick-add */
.luna-cart-notice {
  position: fixed;
  z-index: 520;
  right: 18px;
  bottom: max(18px, env(safe-area-inset-bottom, 0px));
  width: min(390px, calc(100vw - 32px));
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 17px 18px;
  border: 1px solid rgba(104,6,39,.14);
  border-radius: 22px;
  background: rgba(255,250,248,.98);
  color: var(--ink, #2f0614);
  box-shadow: 0 22px 64px rgba(42,7,19,.20);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  opacity: 0;
  visibility: hidden;
  transform: translateY(18px) scale(.98);

  transition:
    opacity .22s ease,
    transform .22s ease,
    visibility .22s ease;
}

.luna-cart-notice.is-open {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.luna-cart-notice-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.luna-cart-notice-copy > span {
  color: var(--wine, #680627);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.luna-cart-notice-copy strong {
  overflow: hidden;
  color: var(--ink, #2f0614);
  font-size: 13px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.luna-cart-notice-copy small {
  color: #806b73;
  font-size: 11px;
}

.luna-cart-notice-action {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 15px;
  border-radius: 999px;
  background: var(--wine, #680627);
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 800;
  transition:
    transform .18s ease,
    box-shadow .18s ease;
}

.luna-cart-notice-action:hover {
  transform: translateY(-1px);
  box-shadow: 0 9px 22px rgba(104,6,39,.18);
}

.luna-cart-notice-close {
  position: absolute;
  top: -10px;
  right: -8px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--wine, #680627);
  color: #fff;
  box-shadow: 0 6px 16px rgba(47,6,20,.18);
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}

.luna-cart-notice-action:focus-visible,
.luna-cart-notice-close:focus-visible,
.cart-icon-link:focus-visible {
  outline: 2px solid var(--wine, #680627);
  outline-offset: 3px;
}

/* Después de añadir desde el modal,
   Ver mi carrito se convierte en la acción destacada */
.modal-actions .modal-cart-link,
.bundle-actions .modal-cart-link {
  transition:
    background .2s ease,
    color .2s ease,
    box-shadow .2s ease,
    transform .2s ease;
}

.cart-added .modal-cart-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 19px;
  border-radius: 999px;
  background: var(--wine, #680627);
  color: #fff;
  box-shadow: 0 12px 28px rgba(104,6,39,.16);
}

.cart-added .modal-cart-link:hover {
  color: #fff;
  transform: translateY(-1px);
}

.modal-add-btn.is-added {
  background: #fff4f6;
  color: var(--wine, #680627);
  border-color: rgba(104,6,39,.22);
}

/* Cuando aparece la versión de navegación con hamburguesa,
   la bolsa permanece siempre visible a su lado. */
@media (max-width: 1100px) {

  .site-header .header-inner {
    gap: 4px;
  }

  .site-header .nav-actions {
    display: flex !important;
    align-items: center;
    gap: 6px;
    margin-left: auto !important;
    margin-right: 0;
  }

  /* El perfil continúa disponible dentro del drawer móvil.
     En el header compacto priorizamos bolsa + menú. */
  .site-header .nav-actions .account-link {
    display: none !important;
  }

  .site-header .cart-icon-link {
    display: grid !important;
    place-items: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    padding: 0 !important;
    border-radius: 50%;
    flex: 0 0 44px;
  }

  .site-header .menu-toggle {
    display: grid !important;
    place-items: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    margin-left: 0 !important;
    padding: 0;
    flex: 0 0 44px;
    cursor: pointer;
  }
}

@media (max-width: 560px) {

  .luna-cart-notice {
    left: 12px;
    right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom, 0px));
    width: auto;
    gap: 10px;
    padding: 15px;
    border-radius: 20px;
  }

  .luna-cart-notice-action {
    min-height: 44px;
    padding: 0 13px;
  }

  .luna-cart-notice-copy strong {
    font-size: 12px;
  }

  .cart-added .modal-cart-link {
    width: 100%;
  }
}

@media (max-width: 360px) {

  .site-header .cart-icon-link,
  .site-header .menu-toggle {
    width: 40px;
    height: 40px;
    min-width: 40px;
    flex-basis: 40px;
  }

  .luna-cart-notice {
    grid-template-columns: 1fr;
  }

  .luna-cart-notice-action {
    width: 100%;
  }
}

/* Accesibilidad: conservar el feedback,
   pero sin movimiento si el usuario lo solicita. */
@media (prefers-reduced-motion: reduce) {

  .cart-fall-dot {
    display: none !important;
  }

  .cart-receive svg,
  .cart-receive .cart-count {
    animation: none !important;
  }

  .luna-cart-notice,
  .luna-cart-notice-action,
  .modal-cart-link,
  .modal-add-btn {
    transition: none !important;
  }
}

/* END SVS CLIENT UPDATE: cart motion and mobile visibility */

/* SVS CLIENT UPDATE: guest checkout + cart removal */

.remove-item {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 12px;
  padding: 0 12px;
  border: 1px solid rgba(104,6,39,.13);
  border-radius: 999px;
  background: #fff;
  color: #866f78;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  transition:
    border-color .18s ease,
    color .18s ease,
    background .18s ease,
    transform .18s ease;
}

.remove-item span {
  font-size: 17px;
  line-height: 1;
}

.remove-item:hover {
  color: var(--wine);
  border-color: rgba(104,6,39,.35);
  background: #fff7f8;
  transform: translateY(-1px);
}

.remove-item:focus-visible {
  outline: 2px solid var(--wine);
  outline-offset: 3px;
}

.guest-checkout-invite {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  margin-bottom: 22px;
  padding: 20px 22px;
  border: 1px solid rgba(104,6,39,.14);
  border-radius: 24px;
  background: linear-gradient(135deg,#fff,#fff7f8);
  box-shadow: 0 14px 34px rgba(104,6,39,.06);
}

.guest-checkout-invite > div:first-child {
  max-width: 680px;
}

.guest-checkout-kicker {
  display: block;
  margin-bottom: 5px;
  color: var(--wine);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.guest-checkout-invite strong {
  display: block;
  color: var(--ink);
  font-family: Didot,"Times New Roman",serif;
  font-size: 23px;
  line-height: 1.15;
}

.guest-checkout-invite p {
  margin: 7px 0 0;
  color: #806a73;
  font-size: 13px;
  line-height: 1.55;
}

.guest-checkout-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 0 0 auto;
}

@media(max-width:760px) {
  .guest-checkout-invite {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
    padding: 18px;
  }

  .guest-checkout-actions {
    width: 100%;
    justify-content: space-between;
  }

  .remove-item {
    min-height: 44px;
  }
}

@media(max-width:420px) {
  .guest-checkout-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .guest-checkout-actions .btn {
    width: 100%;
    justify-content: center;
  }
}

/* END SVS CLIENT UPDATE: guest checkout + cart removal */

/* SVS CHECKOUT UX HARDENING */

[data-delivery-fields][hidden] {
  display: none !important;
}

.checkout-validation-summary {
  margin: 16px 0;
  padding: 14px 16px;
  border: 1px solid rgba(104,6,39,.22);
  border-radius: 15px;
  background: #fff4f6;
  color: #7f1636;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
}

.checkout-validation-summary[hidden] {
  display: none;
}

.has-checkout-error input,
.has-checkout-error textarea,
.has-checkout-error select {
  border-color: #8f1839 !important;
  box-shadow: 0 0 0 3px rgba(104,6,39,.08);
}

.checkout-summary .checkout-mini-item {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr) auto;
  align-items: start;
  gap: 12px;
  padding: 14px 0;
}

.checkout-summary .checkout-mini-item img {
  width: 58px;
  height: 68px;
  object-fit: cover;
  border-radius: 10px;
}

.checkout-mini-copy {
  min-width: 0;
}

.checkout-mini-copy > b {
  display: block;
  margin: 1px 0 5px;
  line-height: 1.3;
}

.checkout-mini-meta {
  display: block;
  color: #806b73;
  line-height: 1.45;
}

.checkout-mini-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.checkout-mini-qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(104,6,39,.14);
  border-radius: 999px;
  overflow: hidden;
  background: #fff;
}

.checkout-mini-qty button {
  width: 34px;
  height: 34px;
  border: 0;
  background: transparent;
  color: #680627;
  cursor: pointer;
  font-size: 16px;
}

.checkout-mini-qty span {
  min-width: 30px;
  text-align: center;
  font-size: 12px;
  font-weight: 800;
}

.checkout-mini-qty button:disabled {
  opacity: .28;
  cursor: not-allowed;
}

.checkout-mini-remove {
  padding: 5px 0;
  border: 0;
  background: transparent;
  color: #876d76;
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.checkout-mini-remove:hover,
.checkout-mini-remove:focus-visible {
  color: #680627;
}

.checkout-stock-note {
  display: block;
  margin-top: 6px;
  color: #927681;
  font-size: 10px;
}

.checkout-empty-inline {
  padding: 18px 0;
  color: #806b73;
  font-size: 13px;
  line-height: 1.55;
}

.checkout-empty-inline a {
  color: #680627;
  font-weight: 800;
}

@media(max-width:620px) {
  .checkout-summary .checkout-mini-item {
    grid-template-columns: 52px minmax(0,1fr);
  }

  .checkout-summary .checkout-mini-item img {
    width: 52px;
    height: 62px;
  }

  .checkout-summary .checkout-mini-item > strong {
    grid-column: 2;
    justify-self: start;
    margin-top: 3px;
  }

  .checkout-mini-qty button {
    width: 44px;
    height: 44px;
  }

  .checkout-mini-remove {
    min-height: 44px;
    padding: 0 4px;
  }
}

/* END SVS CHECKOUT UX HARDENING */

/* SVS CHECKOUT SUCCESS */

.checkout-empty-state {
  max-width: 720px;
  margin: 50px auto 90px;
  padding: clamp(28px,6vw,58px);
  text-align: center;
  border: 1px solid rgba(104,6,39,.12);
  border-radius: 24px;
  background: #fff;
}

.checkout-empty-state h1 {
  margin: 8px 0 12px;
}

.checkout-empty-state p {
  max-width: 520px;
  margin: 0 auto 24px;
  color: #806b73;
}

.checkout-success-card {
  padding: clamp(28px,5vw,50px);
  text-align: center;
  outline: none;
}

.checkout-success-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: #680627;
  color: #fff;
  font-size: 24px;
  font-weight: 900;
}

.checkout-success-kicker {
  display: block;
  margin-bottom: 8px;
  color: #680627;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.checkout-success-card h2 {
  max-width: 620px;
  margin: 0 auto 14px;
}

.checkout-success-card p {
  max-width: 590px;
  margin: 8px auto;
  color: #806b73;
  line-height: 1.6;
}

.checkout-success-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.checkout-success-order-line {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(104,6,39,.09);
}

.checkout-success-order-line b,
.checkout-success-order-line small {
  display: block;
}

.checkout-success-order-line small {
  margin-top: 4px;
  color: #806b73;
}

@media(max-width:620px) {
  .checkout-success-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .checkout-success-actions .btn {
    width: 100%;
  }
}

/* END SVS CHECKOUT SUCCESS */

/* SVS EMPTY CART CHECKOUT */

.summary-checkout-link.is-disabled {
  opacity: .48;
  cursor: not-allowed;
}

.summary-checkout-link.is-disabled:hover {
  transform: none;
}

/* END SVS EMPTY CART CHECKOUT */

/* --- Checkout payment method details --- */
.payment-detail-subtitle{display:block;margin-top:3px;color:#8a737c;font-size:11px}.payment-detail>p{margin:8px 0 0;color:#6f5962;line-height:1.6}.payment-public-grid{display:grid;gap:8px;margin-top:14px}.payment-public-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.72);border:1px solid rgba(104,6,39,.08)}.payment-public-row>span{font-size:11px;color:#806a73}.payment-public-row>div{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;text-align:right}.payment-public-row b{font-size:12px;overflow-wrap:anywhere}.payment-copy{border:0;background:#fff;color:var(--wine);border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;box-shadow:inset 0 0 0 1px var(--line)}.payment-detail-link{display:inline-block;margin-top:12px}.checkout-upload-help{display:block;margin-top:7px;color:#8a737c;font-weight:500;line-height:1.4}.checkout-proof-warning{margin-top:16px;padding:13px 14px;border-radius:15px;border:1px solid rgba(163,39,67,.2);background:#fff4f5;color:#7b2a3c}.checkout-proof-warning b{display:block;margin-bottom:4px}.checkout-proof-warning p{margin:0!important;color:#7b2a3c!important;font-size:12px;line-height:1.5}.payment-extra[hidden]{display:none!important}
@media(max-width:560px){.payment-public-row{align-items:flex-start;flex-direction:column;gap:5px}.payment-public-row>div{width:100%;justify-content:space-between;text-align:left}.payment-copy{flex:none}}

/* Luna navigation/footer correction: shared across storefront pages. */
.nav-button span[aria-hidden="true"]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;line-height:0;transform:translateY(-2px);flex:0 0 14px}
.nav-button span[aria-hidden="true"] svg{display:block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.nav-button[aria-expanded="true"] span[aria-hidden="true"] svg{transform:rotate(180deg)}
@media(min-width:1101px){
  .main-nav{align-self:stretch}
  .nav-item[data-shop-nav]{display:flex;align-items:center;align-self:stretch}
  .nav-item[data-shop-nav] .mega-menu{top:calc(100% - 12px)}
  .nav-item[data-shop-nav] .mega-menu::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
}
.footer-col .footer-shop-link{display:inline-flex;align-items:center;gap:10px;max-width:100%;min-height:44px;margin:0;line-height:1.5}
.footer-shop-link span{flex:none}
@media(prefers-reduced-motion:reduce){.nav-button span[aria-hidden="true"] svg{transition:none}}

/* Timed hero and quiet action labels. */
.home .story{height:auto!important}
.home .stage{position:relative;height:100svh;min-height:680px}
.home .hero-meta,.home .hero-chip,.home .hero-progress{display:none!important}
.home .hero-copy{bottom:12svh}
.home .hero-copy h1{font-size:clamp(54px,5.6vw,92px)}
.hero-model-next{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero-playback{position:absolute;right:5vw;bottom:24px;z-index:40;min-height:36px;padding:8px 13px;border:1px solid rgba(255,255,255,.36);border-radius:999px;background:rgba(38,3,15,.3);color:#f6e5e9;font-family:inherit;font-size:11px;font-weight:600;line-height:1.3;cursor:pointer;text-align:center}
.hero-playback:focus-visible{outline:2px solid var(--blush);outline-offset:4px}
.hero-btn,.btn,.modal-add-btn,.summary-checkout-link,.luna-cart-notice-action,.product-card-actions a,.product-card-actions button{justify-content:center;text-align:center}
.hero-btn.primary:after{content:none}
.modal-add-dot,.summary-arrow,.product-badge:empty{display:none}
[data-shop-nav] .mega-col a,.mobile-sub a,#categoryFilter{text-transform:none}
@media(max-width:1100px){
 .home .stage{height:auto;min-height:100svh;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;align-content:start;padding:96px 20px 72px;gap:8px}
 .home .model-zone{position:relative;grid-row:1;left:auto;bottom:auto;transform:none;width:min(76vw,500px);height:clamp(260px,40svh,430px);margin:0 auto}
 .home .hero-copy{position:relative;grid-row:2;left:auto;right:auto;bottom:auto;width:100%;max-width:650px;margin:0 auto;text-align:center}
 .home .hero-copy h1{font-size:clamp(38px,6.4vw,68px);line-height:1.02;margin:0 0 14px}
 .home .hero-copy p{display:block;max-width:48ch;margin:0 auto 14px;font-size:14px;line-height:1.6}
 .home .hero-kicker{margin-bottom:12px}
 .home .hero-actions{justify-content:center;margin-top:20px}
 .home .moon-wrap{right:-20vw;top:8svh;width:min(72vw,580px)}
 .home .hero-playback{right:20px;bottom:18px}
}
@media(max-width:460px){
 .home .stage{padding:86px 20px 70px}
 .home .hero-copy h1{font-size:38px;min-height:3.06em}
 .home .hero-copy p{min-height:6.4em}
 .home .hero-actions{align-items:stretch}
 .home .hero-btn{min-height:46px}
}
@media(min-width:761px) and (max-width:1100px){
 .home .stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr;align-items:center;padding:112px 24px 76px;gap:24px}
 .home .model-zone{grid-column:1;grid-row:1;width:100%;height:clamp(380px,65svh,680px)}
 .home .hero-copy{grid-column:2;grid-row:1;text-align:left;max-width:100%}
 .home .hero-copy h1{font-size:clamp(42px,5.2vw,56px);min-height:3.06em}
 .home .hero-copy p{min-height:6.4em}
 .home .hero-actions{justify-content:flex-start}
}
@media(min-width:461px) and (max-width:760px){
 .home .hero-copy h1{min-height:3.06em}
 .home .hero-copy p{min-height:6.4em}
}

@media(max-width:760px){.home .model-zone{height:clamp(240px,35svh,390px)}}
.home .hero-model{will-change:transform,opacity}

/* Keyboard focus must not wait for the menu's visibility transition. */
.nav-item[data-shop-nav] .mega-menu{transition:opacity .22s ease,transform .22s ease}

/* Production refinement: readable collection kicker and centered brand chevrons. */
.home .hero-kicker{position:relative;isolation:isolate;display:inline-block;max-width:100%;padding:6px 10px;margin-left:-10px;color:#fff;text-shadow:0 1px 3px #26030f;line-height:1.6;box-decoration-break:clone}
.home .hero-kicker::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:6px;background:rgba(38,3,15,.88)}
select:not([multiple]):not([size]),select[size="1"]{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23680627' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:16px 16px!important;padding-right:42px!important}
.select-wrap::after,.select-wrap::before{content:none!important}
