@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--pink:#d92379;--bright:#f3479d;--ink:#382c33;--accent:#b92570;--cream:#fffafd;--blush:#faeaf0;--line:#ead7df}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}.announcement{padding:9px 20px;background:var(--accent);color:white;text-align:center;font-size:12px;letter-spacing:.09em}header{max-width:1400px;margin:auto;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px;font-family:'Playfair Display',serif;font-size:27px;line-height:1.1;color:var(--pink)}.brand img{width:66px;height:76px;object-fit:contain;mix-blend-mode:multiply}.brand-small{display:block;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-top:8px}nav{display:flex;align-items:center;gap:30px;font-size:13px}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;background:var(--pink);color:#fff;padding:15px 26px;border:1px solid var(--pink);border-radius:3px;font-weight:600;font-size:14px;transition:background .2s,transform .2s}.button:hover{background:#af1c61;transform:translateY(-2px)}.button.small{padding:11px 18px;font-size:12px}.hero{max-width:1400px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:6%;padding:35px 5% 70px;align-items:center}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--accent);margin:0 0 23px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.12;margin:0}h1{font-size:clamp(48px,5.2vw,78px);letter-spacing:-.04em}h1 em{color:var(--pink);font-weight:400}h2{font-size:clamp(36px,4vw,54px);letter-spacing:-.025em}h3{font-size:28px}.intro{max-width:440px;font-size:15px;color:#656356;margin:26px 0}.hero-note{font-size:11px;margin-top:15px;color:#6b695d}.hero-image{position:relative;height:590px;border-radius:190px 190px 4px 4px;overflow:hidden;background:#f8e1ec}.hero-image>img{object-position:center 56%;filter:brightness(1.12)}.image-note{position:absolute;bottom:24px;left:24px;right:24px;background:rgba(255,250,253,.95);padding:16px 20px;font-family:'Playfair Display',serif;font-size:23px;text-align:center}.image-note span{display:block;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.08em;margin-top:4px;color:var(--accent)}.ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px;display:flex;justify-content:center;gap:7%;font-family:'Playfair Display',serif;font-size:20px}.ribbon b{color:var(--pink)}.section{max-width:1280px;margin:auto;padding:90px 5%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:42px}.section-heading>p{max-width:330px;font-size:14px;color:#686658}.products{display:grid;grid-template-columns:1fr 1fr;gap:45px 32px}.product-image{height:420px;position:relative;overflow:hidden;background:#f8e1ec}.product-image img{transition:transform .5s}.product:hover img{transform:scale(1.025)}.tag{position:absolute;top:16px;left:16px;font-size:9px;letter-spacing:.13em;background:var(--cream);padding:7px 11px;color:var(--accent);font-weight:700}.product-copy{padding:22px 0 0}.product-copy p{font-size:14px;max-width:430px;color:#666356;margin:12px 0}.product-copy a,.text-link{font-size:13px;font-weight:600;border-bottom:1px solid var(--pink);padding-bottom:4px}.product-copy .fine{font-size:12px;color:var(--pink);margin-top:-4px}.flavour{background:var(--accent);color:var(--cream);text-align:center;padding:62px 24px}.flavour .eyebrow{color:#ffe5f1;margin:12px 0 20px}.flavour p:last-child{font-size:14px;color:#ffe5f1}.flower{font-size:42px;color:#f4b4cf}.details{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.details-intro{font-size:14px;color:#6b695d;max-width:300px;margin:22px 0}.faq details{border-bottom:1px solid var(--line);padding:19px 0}.faq details:first-child{border-top:1px solid var(--line)}summary{font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:15px}summary::-webkit-details-marker{display:none}summary:after{content:'+';color:var(--pink);font-size:20px;line-height:1}details[open] summary:after{content:'−'}.faq p{font-size:13px;color:#6b695d;max-width:440px;margin-bottom:2px}.contact{background:var(--blush);padding:75px 24px;text-align:center}.contact h2{font-size:clamp(42px,5vw,66px)}.contact>p:not(.eyebrow){font-size:14px;color:#6a5e61}.contact-buttons{display:flex;gap:16px;align-items:center;justify-content:center;margin:30px 0 22px}.outline{background:transparent;color:var(--pink)}.outline:hover{color:white}.contact-info{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.contact-info a{font-size:12px}footer{max-width:1400px;margin:auto;padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}footer .brand{font-size:22px}footer .brand img{width:47px;height:55px}footer p,footer>a:not(.brand){font-size:12px}footer small{width:100%;border-top:1px solid var(--line);padding-top:20px;color:#777365;font-size:10px}@media(min-width:1500px){.hero-image{height:650px}}@media(max-width:800px){nav>a:not(.button){display:none}header{padding:16px 5%}.brand{font-size:23px}.hero{gap:30px;padding-top:20px}.hero-image{height:480px}.hero h1{font-size:53px}.ribbon{font-size:16px;gap:4%}.section{padding-top:65px;padding-bottom:65px}.product-image{height:330px}.details{gap:7%}.section-heading{gap:25px}.section-heading>p{max-width:270px}}@media(max-width:600px){.announcement{font-size:10px;letter-spacing:.03em}.brand img{width:43px;height:52px}.brand{font-size:22px;gap:7px}.brand-small{font-size:8px}.button.small{font-size:10px;padding:10px}.hero{grid-template-columns:1fr;padding-bottom:40px;gap:30px}.hero-copy{padding:15px 0 0}.eyebrow{font-size:9px;margin-bottom:17px}h1,.hero h1{font-size:56px}.intro{font-size:14px;margin:20px 0}.hero-image{height:470px;border-radius:150px 150px 3px 3px}.ribbon{gap:16px;font-size:14px;padding:16px 10px}.ribbon span:last-child,.ribbon b:last-of-type{display:none}.section-heading{display:block}.section-heading>p{max-width:none;margin-top:22px}.products{grid-template-columns:1fr;gap:35px}.product-image{height:390px}.details{grid-template-columns:1fr;gap:30px}.contact-buttons{flex-wrap:wrap;gap:12px}.contact-buttons .text-link{margin:10px 20px}.contact-info{gap:5px 12px}.contact-info span{display:none}footer{gap:15px}footer p{display:none}footer>a:not(.brand){font-size:11px}h3{font-size:27px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.menu-toggle{display:none}nav{gap:20px}nav a[aria-current]{color:var(--pink)}.page-heading{padding-bottom:20px}.page-heading h1{font-size:clamp(48px,6vw,76px)}.page-heading .intro{max-width:600px}.bouquet-feature{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.bouquet-feature>img{height:550px}.bouquet-feature p:not(.eyebrow){font-size:14px;color:#656356}.sizes{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.sizes span{border:1px solid var(--line);padding:8px 12px;font-size:12px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery img{height:380px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.steps article>span{color:var(--pink);font-size:13px}.steps h3{margin-top:16px}.steps p{font-size:14px;color:#656356}.home-delivery{display:grid;grid-template-columns:1fr 1fr;gap:8%}.home-delivery p{font-size:14px}header{position:relative}#contact{scroll-margin-top:20px}@media(max-width:1000px){nav{gap:13px;font-size:11px}.brand{font-size:23px}}@media(max-width:800px){.menu-toggle{display:block;background:transparent;border:1px solid var(--line);padding:10px 15px;font:inherit;font-size:13px;color:var(--ink)}header nav{display:none;position:absolute;z-index:5;top:100%;left:0;right:0;background:var(--cream);padding:24px 5%;border-bottom:1px solid var(--line)}header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:18px}header nav>a:not(.button){display:block}.bouquet-feature{gap:30px}.bouquet-feature>img{height:450px}.gallery img{height:280px}}@media(max-width:600px){.bouquet-feature,.home-delivery,.steps{grid-template-columns:1fr;gap:30px}.bouquet-feature>img{height:430px}.gallery{grid-template-columns:1fr;gap:18px}.gallery img{height:420px}.page-heading{padding-bottom:0}.steps{gap:30px}.contact{padding-top:60px}}
/* A quieter, consistent type scale across every page. */
h1,.hero h1,.page-heading h1{font-size:clamp(34px,3.5vw,48px);line-height:1.18;letter-spacing:-.025em}
h2,.contact h2{font-size:clamp(28px,2.8vw,38px);line-height:1.22;letter-spacing:-.02em}
h3{font-size:25px;line-height:1.3}
.intro,.hero .intro,.section-heading>p,.details-intro,.product-copy p,.flavour p:last-child,.faq p,.contact>p:not(.eyebrow),.bouquet-feature p:not(.eyebrow),.steps p,.home-delivery p{font-size:15px;line-height:1.7}
.eyebrow,.flavour .eyebrow{font-size:11px;line-height:1.5;letter-spacing:.12em}
.hero-note,.product-copy .fine,.contact-info a{font-size:13px;line-height:1.6}
.image-note{font-size:21px}.image-note span{font-size:12px}
@media(max-width:600px){h1,.hero h1,.page-heading h1{font-size:36px}h2,.contact h2{font-size:30px}h3{font-size:24px}.eyebrow{font-size:10px}}

/* A taller frame keeps all three flowers in the blue fizz box visible. */
.product-image.fizz-photo{height:auto;aspect-ratio:4 / 5}
.product-image.fizz-photo img{position:absolute;inset:0;object-fit:cover;object-position:center 24%}
.product:hover .fizz-photo img{transform:none}

.product-copy p.price{font-size:15px;font-weight:600;color:var(--pink);margin:10px 0 12px}

/* Consistent spacing for the three gift options. */
.gift-boxes-page .products{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;align-items:start}
.gift-boxes-page .product-image{height:auto;aspect-ratio:4 / 5;background:#faedf3;position:relative}
.gift-boxes-page .product-image img{position:absolute;inset:0;object-fit:contain;padding:12px;transform:none}
.gift-boxes-page .product-image.fizz-photo img{object-fit:cover;object-position:center 24%;padding:0}
.gift-boxes-page .product-copy{padding:26px 0 10px}
.gift-boxes-page .product-copy h3{font-size:25px;min-height:65px}
.gift-boxes-page .product-copy p.price{margin:8px 0 18px}
.gift-boxes-page .product-copy p:not(.price):not(.fine){margin:0 0 20px}
.gift-boxes-page .product-copy .fine{margin:0 0 20px}
.gift-boxes-page .product-copy a{display:inline-block;margin-top:6px}
@media(max-width:1000px) and (min-width:601px){.gift-boxes-page .products{gap:26px}.gift-boxes-page .product-copy h3{font-size:22px;min-height:58px}}
@media(max-width:600px){.gift-boxes-page .products{grid-template-columns:1fr;gap:52px}.gift-boxes-page .product-copy h3{min-height:0}.gift-boxes-page .product-image{max-height:none}.gift-boxes-page .product-copy{padding-top:22px}}

.celebration-feature{display:grid;grid-template-columns:1.05fr 1fr;gap:7%;align-items:center;padding-top:25px}
.celebration-photo{height:540px;background:var(--blush);border-radius:4px;overflow:hidden}
.celebration-photo img{object-fit:contain}
.celebration-feature p:not(.eyebrow){font-size:15px;line-height:1.7;max-width:420px}
.celebration-feature .bouquet-size{color:var(--pink);font-weight:600;margin:25px 0}
.bouquet-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.bouquet-gallery img{height:430px}
@media(max-width:600px){.celebration-feature{grid-template-columns:1fr;gap:28px}.celebration-photo{height:460px}.bouquet-gallery{grid-template-columns:1fr}.bouquet-gallery img{height:400px}}
/* Let the original logo lead the branding. */
header{padding-top:14px;padding-bottom:14px}
header .brand img{width:132px;height:151px;object-fit:contain;mix-blend-mode:normal}
header .brand>span{display:none}
footer .brand img{width:80px;height:92px;object-fit:contain;mix-blend-mode:normal}
@media(max-width:800px){header .brand img{width:114px;height:131px}}
@media(max-width:600px){header{padding-top:10px;padding-bottom:10px}header .brand img{width:100px;height:115px}footer .brand img{width:70px;height:80px}}
