@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,600;1,500&display=swap');

:root{--ink:#1d1a17;--cream:#fff9f2;--paper:#f5ede4;--red:#d44732;--wine:#6c1f2a;--soft:#8f8277;--line:rgba(29,26,23,.13);--ease:cubic-bezier(.23,1,.32,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.topbar{height:78px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:.18em;font-size:14px}.brand-mark{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:white;font-family:'Playfair Display',serif;font-size:20px;letter-spacing:0}.topbar nav{display:flex;gap:32px;font-size:13px;color:#5f554d}.topbar nav a{transition:color 180ms ease}.topbar nav a:hover{color:var(--red)}.mini-cta{font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:4px}.hero{min-height:720px;display:grid;grid-template-columns:1.03fr .97fr;padding:0 clamp(20px,5vw,76px);overflow:hidden}.hero-copy{padding:clamp(72px,10vw,128px) 5vw 70px 0;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:600;display:flex;align-items:center;gap:10px;margin:0 0 24px}.eyebrow span{width:28px;height:1px;background:currentColor}.hero h1,.section-heading h2,.selector-copy h2,.store-copy h2{font-family:'Playfair Display',serif;font-size:clamp(58px,7.2vw,108px);font-weight:600;line-height:.91;letter-spacing:-.045em;margin:0}.hero h1 em,.selector-copy h2 em{font-weight:500;color:var(--red)}.hero-lead{max-width:570px;font-size:17px;line-height:1.72;color:#665b53;margin:34px 0}.hero-actions{display:flex;align-items:center;gap:28px}.primary-btn,.next-btn,.whatsapp-btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--red);color:white;border:0;border-radius:999px;padding:16px 22px;font-size:13px;font-weight:600;transition:transform 160ms var(--ease),background 180ms ease}.primary-btn:hover,.next-btn:hover,.whatsapp-btn:hover{background:#ba3928}.primary-btn:active,.next-btn:active,.whatsapp-btn:active{transform:scale(.97)}.primary-btn span,.next-btn span,.whatsapp-btn span{font-size:18px}.text-link{font-size:13px;border-bottom:1px solid currentColor;padding-bottom:4px}.hero-notes{display:flex;gap:20px;flex-wrap:wrap;margin-top:48px;color:#7f7268;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.hero-notes span+span:before{content:'•';margin-right:20px;color:var(--red)}.hero-visual{position:relative;background:#f4e4d3;min-height:640px}.main-shot{position:absolute;inset:9% 6% 7% 13%;margin:0;overflow:hidden;border-radius:49% 49% 8px 8px}.main-shot img{transition:transform 900ms var(--ease)}.hero-visual:hover .main-shot img{transform:scale(1.025)}.floating-shot{position:absolute;width:34%;height:31%;left:-7%;bottom:4%;margin:0;border:9px solid var(--cream);border-radius:100% 100% 12px 12px;overflow:hidden;box-shadow:0 18px 50px rgba(64,32,20,.15)}.visual-label{position:absolute;right:0;top:12%;background:var(--cream);padding:16px 18px;display:flex;flex-direction:column;gap:4px;font-size:11px}.visual-label strong{text-transform:uppercase;letter-spacing:.12em}.visual-label span{color:var(--soft)}.berry{position:absolute;border-radius:50%;background:var(--red);box-shadow:inset -5px -5px 9px rgba(90,11,11,.18)}.berry-one{width:24px;height:24px;right:6%;bottom:9%}.berry-two{width:15px;height:15px;right:11%;bottom:6%}.occasion-strip{min-height:92px;background:var(--wine);color:white;display:flex;align-items:center;justify-content:center;gap:clamp(18px,4vw,68px);padding:20px 30px;flex-wrap:wrap}.occasion-strip p{font-family:'Playfair Display',serif;font-style:italic;font-size:21px;margin:0}.occasion-strip span{text-transform:uppercase;letter-spacing:.13em;font-size:10px;color:#ead7d8}.section{padding:clamp(82px,10vw,150px) clamp(20px,5vw,76px)}.section-heading{max-width:720px;margin-bottom:64px}.section-heading h2,.store-copy h2{font-size:clamp(48px,6vw,82px)}.section-heading>p:last-child{font-size:15px;line-height:1.7;color:var(--soft);max-width:560px}.product-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}.product-card{background:white;overflow:hidden}.product-card img{aspect-ratio:1/1.12;transition:transform 700ms var(--ease)}.product-card.large img{aspect-ratio:1.25/1}.product-card:hover img{transform:scale(1.03)}.product-card>div{padding:22px 24px 26px}.product-card p{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--red);margin:0 0 8px}.product-card h3{font-family:'Playfair Display',serif;font-size:24px;font-weight:600;margin:0 0 20px}.product-card button{border:0;background:transparent;padding:0;font-size:12px;cursor:pointer;border-bottom:1px solid var(--ink)}.product-card button span{margin-left:9px}.selector-wrap{background:var(--wine);color:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.eyebrow.light{color:#e6c9cc}.selector-copy h2{font-size:clamp(48px,5.5vw,76px)}.selector-copy h2 em{color:#f3c7aa}.selector-copy>p:not(.eyebrow){color:#d7bec0;line-height:1.7;max-width:460px;margin:28px 0 38px}.steps{border-top:1px solid rgba(255,255,255,.18)}.steps div{display:grid;grid-template-columns:45px 1fr;gap:18px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:13px}.steps b{color:#e5a692;font-size:11px}.selector-card{background:var(--cream);color:var(--ink);padding:clamp(28px,4vw,54px);min-height:590px;display:flex;flex-direction:column}.progress{height:2px;background:#ded4ca;margin-bottom:24px}.progress span{display:block;height:100%;width:25%;background:var(--red);transition:width 240ms var(--ease)}.form-head{display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--soft)}.form-head p{margin:0}.form-step{display:none;border:0;padding:0;margin:46px 0 30px}.form-step.active{display:block}.form-step legend{font-family:'Playfair Display',serif;font-size:clamp(32px,4vw,48px);line-height:1.05;margin-bottom:30px;max-width:520px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice-grid label{border:1px solid var(--line);padding:18px;display:flex;align-items:center;gap:13px;font-size:13px;cursor:pointer;background:#fff;transition:border-color 180ms ease,transform 160ms var(--ease),background 180ms ease}.choice-grid label:has(input:checked){border-color:var(--red);background:#fff2eb}.choice-grid label:active{transform:scale(.98)}.choice-grid input{position:absolute;opacity:0}.choice-grid label span{font-size:20px;width:30px;color:var(--red)}.choice-grid.compact label span{font-family:'Playfair Display',serif;font-size:17px}.form-actions{display:flex;align-items:center;gap:12px;margin-top:auto}.back-btn{border:0;background:transparent;padding:15px 6px;font-size:12px;cursor:pointer}.back-btn:disabled{opacity:.28}.next-btn{margin-left:auto;cursor:pointer}.whatsapp-btn{display:none;margin-left:auto;background:#16794f}.whatsapp-btn:hover{background:#11633f}.summary-box{background:white;border:1px solid var(--line);padding:18px 20px;display:grid;gap:9px;font-size:13px}.summary-box div{display:flex;justify-content:space-between;gap:20px}.summary-box span{color:var(--soft)}.date-label{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:12px}.date-label input{border:1px solid var(--line);background:white;padding:10px;color:var(--ink)}.fine-print{font-size:10px;color:var(--soft);line-height:1.5}.stores{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.store-image{height:min(72vw,700px);border-radius:52% 52% 12px 12px;overflow:hidden}.store-copy p:not(.eyebrow){color:var(--soft);line-height:1.7;max-width:500px}.store-card{display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:28px 0;font-size:13px}.store-card span{font-size:11px;color:var(--soft)}.primary-btn.dark{background:var(--ink)}footer{border-top:1px solid var(--line);padding:30px clamp(20px,5vw,76px);display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:20px;font-size:10px;color:var(--soft)}footer p{text-align:center;line-height:1.5}.footer-brand{color:var(--ink)}footer>span{text-align:right}.reveal{opacity:0;transform:translateY(14px);transition:opacity 600ms var(--ease),transform 600ms var(--ease)}.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:900px){.topbar nav{display:none}.hero{grid-template-columns:1fr;padding-right:20px}.hero-copy{padding:70px 0 50px}.hero-visual{min-height:580px}.main-shot{inset:5% 2% 4% 8%}.floating-shot{left:-2%}.occasion-strip{justify-content:flex-start;gap:16px 30px}.occasion-strip p{width:100%}.product-grid{grid-template-columns:1fr 1fr}.product-card.large{grid-column:1/-1}.product-card.large img{aspect-ratio:1.6/1}.selector-wrap{grid-template-columns:1fr}.stores{gap:50px}footer{grid-template-columns:1fr}footer p,footer>span{text-align:left}}
@media(max-width:600px){.topbar{height:68px}.mini-cta{display:none}.hero{min-height:auto}.hero-copy{padding-top:56px}.hero h1{font-size:54px}.hero-lead{font-size:15px}.hero-actions{gap:18px}.hero-notes{gap:10px;margin-top:34px}.hero-notes span+span:before{margin-right:10px}.hero-visual{min-height:480px}.main-shot{inset:4% 0 3% 5%}.floating-shot{width:38%;height:30%;border-width:6px}.visual-label{top:8%;font-size:9px}.occasion-strip{padding:25px 20px}.section{padding:82px 20px}.section-heading{margin-bottom:40px}.product-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-20px;padding-right:20px}.product-card,.product-card.large{min-width:82vw;scroll-snap-align:start}.product-card img,.product-card.large img{aspect-ratio:1/1.05}.selector-wrap{padding-top:78px}.selector-card{min-height:610px;padding:26px 20px}.form-step{margin-top:36px}.choice-grid{grid-template-columns:1fr}.choice-grid label{padding:14px 16px}.stores{grid-template-columns:1fr}.store-image{height:110vw}.store-copy h2{font-size:50px}footer{padding:28px 20px}.reveal{transform:translateY(8px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:opacity 200ms ease}.main-shot img,.product-card img{transition:none}}
