:root{--wine:#5d1839;--wine-dark:#361024;--blush:#f7ebe9;--cream:#fffaf4;--ink:#26161d;--muted:#715f68;--gold:#c99a62;--line:rgba(66,22,43,.14);--ease:cubic-bezier(.23,1,.32,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:88px;padding:0 clamp(22px,4vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,250,244,.92);backdrop-filter:blur(14px);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:40px;height:40px;border:1px solid var(--wine);border-radius:50%;display:grid;place-items:center;color:var(--wine);font-family:"Playfair Display";font-size:22px;font-style:italic}.brand strong{font-family:"Playfair Display";font-size:20px;display:block;line-height:1}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.08em;margin-top:4px}.site-header nav{display:flex;gap:30px;font-size:14px;color:var(--muted)}.site-header nav a{position:relative}.site-header nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:1px;background:var(--wine)}.header-cta{font-size:14px;background:var(--wine);color:white;padding:12px 20px;border-radius:999px;transition:transform .18s var(--ease),background .18s}.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden}.hero-copy{padding:clamp(70px,9vw,130px) clamp(28px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--wine);font-size:11px;font-weight:700}.hero h1,.catalog-hero h1{font-family:"Playfair Display";font-size:clamp(52px,6vw,94px);font-weight:600;line-height:.96;letter-spacing:-.045em;margin:22px 0 28px}.hero h1 em,.catalog-hero em,.section h2 em{color:var(--wine);font-weight:600}.hero-copy>p{max-width:570px;color:var(--muted);font-size:18px;line-height:1.7}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:34px 0 48px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid transparent;border-radius:999px;padding:15px 24px;font-weight:600;cursor:pointer;transition:transform .2s var(--ease),background .2s,color .2s}.btn.primary{background:var(--wine);color:white}.btn.ghost{border-color:var(--line);background:transparent}.btn.dark{background:var(--ink);color:white}.btn.full{width:100%}.proof-row{display:flex;gap:28px;flex-wrap:wrap;color:var(--muted);font-size:12px}.proof-row span{display:flex;align-items:center;gap:8px}.proof-row i{font-style:normal;color:var(--wine);font-weight:700}.hero-visual{position:relative;background:linear-gradient(145deg,#ead8d2 0%,#f7ebe9 100%);display:grid;place-items:center;min-height:660px}.hero-visual img{width:min(82%,680px);aspect-ratio:1/1.02;object-fit:cover;border-radius:42% 42% 12% 12%;position:relative;z-index:2;box-shadow:0 34px 80px rgba(82,26,55,.2)}.halo{position:absolute;width:64%;aspect-ratio:1;border:1px solid rgba(93,24,57,.22);border-radius:50%;transform:translate(12%,-8%)}.halo:after{content:"";position:absolute;inset:9%;border:1px solid rgba(93,24,57,.12);border-radius:50%}.hero-label{position:absolute;z-index:3;left:6%;bottom:8%;background:rgba(255,250,244,.94);padding:20px 24px;border-radius:18px;box-shadow:0 15px 40px rgba(57,16,36,.16)}.hero-label span,.hero-label small{display:block;color:var(--muted);font-size:11px}.hero-label strong{font-family:"Playfair Display";font-size:25px;display:block;margin:4px 0}.ribbon{position:absolute;right:-55px;top:16%;z-index:3;background:var(--wine);color:white;padding:12px 70px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;transform:rotate(36deg)}.occasion-strip{background:var(--wine);color:white;display:flex;justify-content:center;gap:36px;padding:18px 24px;font-family:"Playfair Display";font-style:italic;white-space:nowrap;overflow:hidden}.occasion-strip b{color:var(--gold)}.section{padding:clamp(72px,9vw,130px) clamp(24px,6vw,96px)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:44px}.section h2{font-family:"Playfair Display";font-size:clamp(40px,4vw,64px);line-height:1.02;margin:14px 0 0;letter-spacing:-.035em}.section-head>a{color:var(--wine);font-size:14px;font-weight:700}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product-card{background:white;border-radius:22px;overflow:hidden;border:1px solid var(--line)}.product-card>div:last-child{padding:24px}.product-image{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--blush)}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}.heart{position:absolute;right:16px;top:16px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.9);font-size:20px;color:var(--wine);cursor:pointer}.product-card small,.catalog-grid small{font-size:11px;color:var(--wine);text-transform:uppercase;letter-spacing:.11em}.product-card h3,.catalog-grid h3{font-family:"Playfair Display";font-size:27px;margin:8px 0}.product-card p{color:var(--muted);line-height:1.55;font-size:14px;min-height:44px}.text-action{border:0;background:none;color:var(--wine);font-weight:700;padding:8px 0;cursor:pointer}.story{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--blush);align-items:center}.story-image{position:relative}.story-image img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:220px 220px 24px 24px}.story-image>span{position:absolute;right:-20px;bottom:11%;width:112px;height:112px;background:var(--wine);color:white;border-radius:50%;display:grid;place-items:center;text-align:center;font-family:"Playfair Display";font-style:italic;transform:rotate(-8deg)}.story-copy>p{color:var(--muted);font-size:17px;line-height:1.7;max-width:560px}.story ol{list-style:none;padding:0;margin:34px 0}.story li{display:flex;gap:18px;padding:18px 0;border-top:1px solid var(--line)}.story li>span{width:34px;height:34px;border-radius:50%;background:white;display:grid;place-items:center;color:var(--wine);font-weight:700}.story li strong,.story li small{display:block}.story li small{color:var(--muted);margin-top:5px}.quiz-teaser{text-align:center}.quiz-teaser h2{margin-bottom:42px}.choice-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:980px;margin:auto}.choice-row a{background:white;border:1px solid var(--line);border-radius:18px;padding:28px 18px;font-weight:700}.choice-row span{display:block;font-size:25px;color:var(--wine);margin-bottom:12px}footer{background:var(--wine-dark);color:white;padding:48px clamp(24px,6vw,96px);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center}.brand.light .brand-mark{border-color:white;color:white}.brand.light small{color:#ddcbd4}footer p{text-align:center;color:#ddcbd4}footer>div:last-child{display:flex;justify-content:flex-end;gap:24px;font-size:13px}.catalog-page{min-height:80vh}.catalog-hero{padding:90px clamp(24px,8vw,130px) 55px;background:linear-gradient(130deg,var(--cream),var(--blush))}.catalog-hero h1{font-size:clamp(50px,6vw,84px);margin-bottom:22px}.catalog-hero p{max-width:610px;color:var(--muted);line-height:1.7}.catalog-shell{padding:45px clamp(24px,8vw,130px) 120px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px}.filters button{border:1px solid var(--line);background:white;border-radius:999px;padding:10px 18px;cursor:pointer}.filters button.active{background:var(--wine);color:white}.catalog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.catalog-grid article{transition:opacity .25s,transform .25s}.catalog-grid article.hidden{display:none}.catalog-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px;margin-bottom:20px}.finder-body{background:var(--blush);min-height:100vh}.step-label{font-size:12px;color:var(--muted)}.finder{display:grid;grid-template-columns:.9fr 1.1fr;min-height:calc(100vh - 88px)}.finder-art{position:relative;overflow:hidden;background:#e4cec6}.finder-art img{width:100%;height:100%;object-fit:cover}.finder-art:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(53,14,34,.5))}.finder-quote{position:absolute;z-index:2;left:9%;bottom:8%;right:9%;color:white;font-family:"Playfair Display";font-size:clamp(24px,3vw,42px);font-style:italic}.finder-panel{background:var(--cream);padding:clamp(42px,7vw,100px);display:flex;flex-direction:column;justify-content:center}.progress{display:flex;gap:8px;margin-bottom:50px}.progress i{height:3px;background:#e5d7da;flex:1}.progress i.done{background:var(--wine)}.finder-step{display:none}.finder-step.active{display:block;animation:step-in .35s var(--ease)}@keyframes step-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.finder-step h1{font-family:"Playfair Display";font-size:clamp(42px,5vw,70px);line-height:1;margin:18px 0}.finder-step>p{color:var(--muted);margin-bottom:32px}.option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.option-grid button,.delivery-options button{background:white;border:1px solid var(--line);border-radius:16px;padding:22px;text-align:left;cursor:pointer;font-size:22px;transition:transform .18s var(--ease),border-color .18s}.option-grid strong,.option-grid small{display:block;font-size:15px;margin-top:8px}.option-grid small{color:var(--muted);font-size:12px}.chips,.delivery-options{display:flex;gap:10px;flex-wrap:wrap}.chips button,.delivery-options button{font-size:14px;padding:14px 18px}.chips button.selected,.delivery-options button.selected{background:var(--wine);color:white;border-color:var(--wine)}.note-label{display:block;margin-top:28px;font-weight:700}.note-label span{font-weight:400;color:var(--muted);font-size:12px}.note-label textarea{display:block;width:100%;height:92px;margin-top:10px;border:1px solid var(--line);border-radius:14px;padding:14px;background:white;resize:none}.finder-nav{display:flex;justify-content:space-between;align-items:center;margin-top:28px}.back{border:0;background:none;color:var(--muted);padding:14px 0;cursor:pointer}.selection-summary{background:var(--blush);border-radius:18px;padding:22px;margin:26px 0}.selection-summary span{font-size:11px;color:var(--wine);text-transform:uppercase;letter-spacing:.12em}.selection-summary strong{display:block;font-family:"Playfair Display";font-size:24px;margin:8px 0}.selection-summary p{margin:0;color:var(--muted);font-size:13px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.visible{opacity:1;transform:none}@media (hover:hover) and (pointer:fine){.header-cta:hover,.btn:hover{transform:translateY(-2px)}.product-card:hover .product-image img{transform:scale(1.035)}.option-grid button:hover,.choice-row a:hover{border-color:rgba(93,24,57,.5);transform:translateY(-2px)}.text-action:hover{text-decoration:underline}}button:active,.btn:active,.header-cta:active{transform:scale(.97)}:focus-visible{outline:3px solid rgba(93,24,57,.3);outline-offset:3px}@media(max-width:900px){.site-header{height:74px}.site-header nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:65px 24px 55px}.hero-visual{min-height:560px}.hero-visual img{width:82%}.proof-row{gap:14px}.product-grid{grid-template-columns:1fr}.story{grid-template-columns:1fr}.story-image{max-width:620px;margin:auto}.choice-row{grid-template-columns:repeat(2,1fr)}footer{grid-template-columns:1fr;gap:22px;text-align:center}footer p{margin:0}footer>div:last-child{justify-content:center}.finder{grid-template-columns:1fr}.finder-art{height:340px}.finder-panel{padding:48px 24px}.catalog-grid{grid-template-columns:1fr}}@media(max-width:560px){.brand small{display:none}.header-cta{padding:10px 14px}.hero h1{font-size:50px}.hero-visual{min-height:450px}.hero-label{left:16px;bottom:20px}.occasion-strip{justify-content:flex-start}.section{padding:70px 20px}.section-head{align-items:flex-start;gap:20px}.section-head>a{display:none}.choice-row{grid-template-columns:1fr 1fr}.choice-row a{padding:20px 10px}.catalog-hero{padding:64px 22px 40px}.catalog-shell{padding:32px 20px 80px}.option-grid{grid-template-columns:1fr}.finder-art{height:280px}.finder-step h1{font-size:42px}.finder-nav{align-items:flex-end}.finder-nav .btn{padding:13px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
