:root{--wine:#741d3e;--rose:#b8657c;--blush:#f8e9ed;--cream:#fffaf7;--gold:#caa15a;--ink:#39272e}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream);font-family:Montserrat,Arial,sans-serif;line-height:1.7}
img{display:block;width:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
.nav{min-height:270px;padding:4px 5vw 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:rgba(255,250,247,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid #efdde2}
.brand-logo{width:380px;height:220px;display:flex;align-items:center;justify-content:center;overflow:visible}
.brand-logo img{width:100%;height:100%;object-fit:contain;object-position:center}
.brand{display:flex;flex-direction:column;line-height:1}
.brand span{font:italic 2.2rem 'Cormorant Garamond',serif;color:var(--wine)}
.brand small{font-size:.55rem;letter-spacing:.32em;margin-left:.25rem}
.nav nav{display:flex;align-items:center;gap:2rem;font-size:.77rem;text-transform:uppercase;letter-spacing:.08em}
.pill,.button{display:inline-block;background:var(--wine);color:#fff;padding:.9rem 1.35rem;border-radius:100px;font-weight:600;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.button.secondary{background:transparent;color:var(--wine);border:1px solid var(--wine)}
.menu{display:none;border:0;background:none;font-size:1.5rem;color:var(--wine)}
.hero{min-height:calc(100vh - 270px);display:grid;grid-template-columns:1fr 1fr;align-items:center;background:linear-gradient(120deg,#fff9f7,#f7e3e8);overflow:hidden}
.hero-copy{padding:8vw}
.eyebrow{font-size:.72rem;letter-spacing:.28em;font-weight:600;color:var(--rose);text-transform:uppercase}
.hero h1{font:500 clamp(3.8rem,7vw,7.4rem)/.86 'Cormorant Garamond',serif;color:var(--wine);margin:1.2rem 0}
.hero h1 em{font-weight:500}
.hero-copy>p:not(.eyebrow){max-width:620px;font-family:'Cormorant Garamond',serif;font-size:1.35rem}
.actions{display:flex;align-items:center;gap:1.4rem;margin:2rem 0}
.text-link{font-size:.82rem;font-weight:600;color:var(--wine)}
.trust{display:flex;gap:1rem;flex-wrap:wrap;font-size:.72rem;color:var(--wine)}
.hero-photo{height:100%;min-height:620px;position:relative}
.hero-photo img{height:100%}
.seal{position:absolute;left:-55px;bottom:10%;width:110px;height:110px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--wine);color:#fff;font:italic 1.2rem 'Cormorant Garamond',serif;transform:rotate(-8deg)}
.intro,.section-head{text-align:center;max-width:780px;margin:auto}
.intro{padding:7rem 2rem}
.intro h2,.section-head h2,.occasion h2,.order h2,.allergens h2{font:500 clamp(2.5rem,4vw,4.3rem)/1 'Cormorant Garamond',serif;color:var(--wine);margin:1rem 0}
.intro>p:last-child,.section-head>p:last-child{font-family:'Cormorant Garamond',serif;font-size:1.25rem}
.collections{background:#fff}
.collection-block{padding:7rem 5vw}
.collection-block.boxes{background:#fbf1f3}
.collection-block.numbers{background:#fff}
.auto-slider{max-width:1280px;margin:3rem auto 0;display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.auto-slider::-webkit-scrollbar{display:none}
.bouquet-grid figure{flex:0 0 calc((100% - 2rem)/3);scroll-snap-align:start;margin:0;background:#fff;border:1px solid #ecd9df;position:relative;overflow:hidden}
.bouquet-grid img,.bouquet-grid .bouquet-main img{height:560px}
.bouquet-grid figcaption{position:absolute;left:1rem;bottom:1rem;background:rgba(255,250,247,.94);color:var(--wine);padding:.65rem .9rem;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.collection-copy{max-width:840px;margin:2.5rem auto 0;text-align:center}
.collection-copy>p:first-child{font-family:'Cormorant Garamond',serif;font-size:1.25rem}
.price-line{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--wine)}
.contact-email{margin:1.5rem 0 0}.contact-email a{font-weight:600;text-decoration:underline;text-underline-offset:.2em}
.box-grid>.photo-frame,.number-grid>.photo-frame{flex:0 0 calc((100% - 2rem)/3);width:calc((100% - 2rem)/3);height:460px;scroll-snap-align:start}
.box-grid img,.number-grid img{height:100%}.number-grid img{object-fit:contain;background:#f6f0ee}
.quick-order{padding:7rem 5vw;background:linear-gradient(135deg,#fffaf7,#f8e9ed)}
.quick-order h1{font:500 clamp(2.8rem,5vw,5rem)/1 'Cormorant Garamond',serif;color:var(--wine);margin:1rem 0}
.quick-order form{max-width:1050px;margin:2.5rem auto 0;padding:clamp(1.4rem,4vw,3rem);background:#fff;border:1px solid #ead5dc;box-shadow:0 18px 55px rgba(116,29,62,.09)}
.order-alert{max-width:1050px;margin:2rem auto 0;padding:1rem 1.2rem;border-left:4px solid var(--wine);background:#fff;color:var(--wine)}
.quick-order fieldset{border:0;padding:0;margin:0 0 2.5rem}.quick-order legend{width:100%;padding:0 0 .75rem;margin-bottom:1rem;border-bottom:1px solid #ead5dc;font:600 1.75rem 'Cormorant Garamond',serif;color:var(--wine)}
.product-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.product-options label{display:grid;grid-template-columns:auto 1fr 64px;align-items:center;gap:.65rem;padding:.85rem;border:1px solid #ead5dc;background:#fffaf7}.item-qty{width:64px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.quick-order label{font-size:.82rem;font-weight:600;color:var(--wine)}.quick-order input,.quick-order select,.quick-order textarea{display:block;width:100%;margin-top:.4rem;padding:.8rem;border:1px solid #dcbfc8;background:#fff;color:var(--ink);font:inherit;border-radius:0}.quick-order input[type=checkbox],.quick-order input[type=radio]{display:inline-block;width:auto;margin:0;accent-color:var(--wine)}
.radio-row{display:flex;gap:1.5rem;flex-wrap:wrap;margin:1.2rem 0}.radio-row label,.confirm-check{display:flex;align-items:flex-start;gap:.6rem}.quick-order small{display:block;margin-top:.5rem;color:#6f5961;font-weight:400}.hidden{display:none!important}.form-error{color:#a11d42;font-weight:600;min-height:1.5rem}
.colour-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.colour-options label{display:flex;align-items:center;gap:.65rem;padding:.9rem;border:1px solid #ead5dc;background:#fffaf7}.quick-order label span,.quick-order legend span,.required-note span{color:#b3264b}.required-note{margin-top:1rem;font-size:.82rem;font-weight:600;color:var(--wine)}
.flavour-options{grid-template-columns:repeat(2,1fr);max-width:680px}.field-note{margin:-.25rem 0 1rem;font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-style:italic}.addon-check{display:flex;align-items:center;gap:.65rem;margin-top:1rem;padding:1rem;border:1px solid #ead5dc;background:#fffaf7}.mandatory-confirmations{display:grid;gap:.8rem;margin-top:1.2rem}.mandatory-confirmations .confirm-check{padding:1rem;border-left:3px solid var(--rose);background:#fffaf7}
.order-nav{position:relative;min-height:245px}.order-nav .back-link{position:absolute;left:5vw;bottom:1.5rem;color:var(--wine);font-size:.82rem;font-weight:600}.order-page .quick-order{padding-top:4rem}.order-footer{display:flex;grid-template-columns:none;justify-content:space-between;align-items:center;padding:2rem 5vw}.order-footer a{font-weight:600}
.compact-form{max-width:760px!important}.enquiry-page{min-height:calc(100vh - 245px)}
.choice-page{min-height:calc(100vh - 245px)}.order-choice-grid{max-width:920px;margin:3rem auto 0;display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.order-choice-grid article{padding:clamp(1.6rem,4vw,3rem);background:#fff;border:1px solid #ead5dc;box-shadow:0 18px 55px rgba(116,29,62,.08)}.order-choice-grid h2{font:500 clamp(2.2rem,4vw,3.5rem)/1 'Cormorant Garamond',serif;color:var(--wine);margin:.7rem 0 1rem}.order-choice-grid .button{margin-top:1rem}
.photo-frame{position:relative;overflow:hidden}
.photo-frame>img{width:100%}
.photo-watermark{position:absolute;right:.75rem;bottom:.75rem;z-index:3;padding:.42rem .7rem;border:1px solid rgba(255,255,255,.58);border-radius:100px;background:rgba(116,29,62,.68);color:#fff;font:italic 600 .78rem 'Cormorant Garamond',serif;letter-spacing:.03em;box-shadow:0 3px 14px rgba(0,0,0,.12);pointer-events:none;white-space:nowrap}
.hero-photo>.photo-frame{height:100%}
.cakes{padding:7rem 5vw;background:#fff}
.menu-grid{max-width:1180px;margin:4rem auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:start}
.menu-grid img{height:auto;object-fit:contain;background:#fff;box-shadow:0 12px 40px rgba(116,29,62,.08)}
.occasion{display:grid;grid-template-columns:1.1fr .9fr;background:var(--wine);color:#fff;align-items:center}
.occasion>.photo-frame{height:650px}.occasion>.photo-frame img{height:100%}
.occasion>div:not(.photo-frame){padding:7vw}
.occasion h2{color:#fff}
.light{background:#fff;color:var(--wine);margin-top:1rem}
.order{padding:7rem 5vw;text-align:center}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:4rem 0}
.steps article{padding:2rem;border-top:1px solid var(--rose)}
.steps b{font:italic 2.5rem 'Cormorant Garamond',serif;color:var(--rose)}
.steps h3{font:600 1.8rem 'Cormorant Garamond',serif;color:var(--wine);margin:.5rem 0}
.note{max-width:750px;margin:0 auto 2rem;font-size:.85rem}
.allergens{padding:5rem 5vw;text-align:center;background:#f5dfe5}
.allergens p{max-width:780px;margin:auto}
footer{padding:4rem 5vw;background:#3e1928;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-items:end}
footer .brand span{color:#fff}
footer div:nth-of-type(2){display:flex;justify-content:flex-end;gap:1.4rem;font-size:.8rem}
footer>small{grid-column:1/-1;opacity:.7}
.whatsapp-button{position:fixed;right:1.4rem;bottom:1.4rem;z-index:50;display:flex;align-items:center;gap:.55rem;padding:.85rem 1.1rem;border-radius:100px;background:#25d366;color:#fff;font-size:.85rem;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.22)}
.whatsapp-button span{font-size:1rem;color:#fff}
@media(min-width:901px){.hero{grid-template-columns:.85fr 1.15fr;min-height:640px;height:min(760px,calc(100vh - 270px))}.hero-photo{min-height:640px}}
@media(max-width:900px){.nav{min-height:190px;padding:2px 5vw}.brand-logo{width:290px;height:180px}.nav nav{display:none}.nav nav.open{display:flex;position:absolute;top:190px;left:0;right:0;background:#fff;flex-direction:column;padding:2rem}.menu{display:block;position:absolute;right:5vw;top:78px}.hero,.occasion{grid-template-columns:1fr}.hero{min-height:auto}.hero-copy{padding:5rem 7vw}.hero-photo{min-height:560px}.seal{left:20px}.occasion>.photo-frame{min-height:0;height:560px}.bouquet-grid figure,.box-grid>.photo-frame,.number-grid>.photo-frame{flex-basis:calc((100% - 1rem)/2);width:calc((100% - 1rem)/2)}.bouquet-grid img,.bouquet-grid .bouquet-main img{height:540px}.menu-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.nav{min-height:178px;padding:0 5vw}.brand-logo{width:270px;height:170px}.menu{top:72px}.nav nav.open{top:178px}.hero-copy{padding:4rem 6vw}.hero h1{font-size:4rem}.hero-photo{min-height:480px}.actions{align-items:flex-start;flex-direction:column}.intro,.cakes,.order,.collection-block,.quick-order{padding:5rem 6vw}.occasion>div:not(.photo-frame){padding:4rem 6vw}.occasion>.photo-frame{height:460px}.bouquet-grid figure,.box-grid>.photo-frame,.number-grid>.photo-frame{flex-basis:88%;width:88%}.bouquet-grid img,.bouquet-grid .bouquet-main img,.box-grid img{height:500px;max-height:none;object-fit:cover}.number-grid img{height:500px;max-height:none;object-fit:contain}.menu-grid,.steps,.form-grid,.product-options,.colour-options,.order-choice-grid{grid-template-columns:1fr}.menu-grid{gap:1rem}.quick-order form{padding:1.25rem}.photo-watermark{right:.55rem;bottom:.55rem;font-size:.7rem}.whatsapp-button{right:.9rem;bottom:.9rem}footer{grid-template-columns:1fr}.order-nav{min-height:205px}.order-nav .back-link{bottom:.8rem}.order-footer{display:flex;flex-direction:column;align-items:flex-start}footer div:nth-of-type(2){justify-content:flex-start;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.auto-slider{scroll-behavior:auto}}
