@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--paper:#ffffff;--ink:#282923;--muted:#74746b;--wine:#571f2d;--line:#e1e1e1;--serif:Cormorant,Baskerville,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif;--gutter:clamp(22px,4.45vw,80px)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button{border:0;background:none}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button:disabled{cursor:default}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif)}em{font-weight:400}svg{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.icon{width:21px;height:21px;flex-shrink:0}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.wrap{width:calc(100% - var(--gutter)*2);max-width:1600px;margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}::selection{color:var(--paper);background:var(--wine)}:focus-visible{outline:2px solid var(--wine);outline-offset:6px}.skip-link{position:fixed;z-index:20;left:20px;top:-100px;background:var(--ink);color:white;padding:16px}.skip-link:focus{top:12px}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px;flex-shrink:0}
.site-header{height:112px;display:flex;justify-content:space-between;align-items:center;position:relative;border-bottom:1px solid var(--line);z-index:5}.desktop-nav{display:flex;align-items:center;gap:30px;margin-left:auto}.desktop-nav a,.finder-link{font-size:12px}.desktop-nav a{padding-block:12px}.desktop-nav a:hover{color:var(--wine)}.brand{display:block;width:292px}.brand img{width:100%;height:auto;mix-blend-mode:multiply}.finder-link{display:flex;align-items:center;gap:12px;padding:12px 0}.menu-toggle{display:none}.mobile-nav{position:absolute;top:100%;left:calc(var(--gutter)*-1);right:calc(var(--gutter)*-1);background:var(--paper);border-bottom:1px solid var(--line);padding:18px var(--gutter) 28px;box-shadow:0 16px 20px #28292308}.mobile-nav a,.mobile-nav button{display:block;padding:14px 0;font-family:var(--serif);font-size:28px}
.hero{display:grid;grid-template-columns:minmax(0,3.35fr) minmax(0,1fr);gap:18px;margin-top:25px}.hero-main{border:1px solid var(--line);min-height:620px;position:relative;isolation:isolate;background:var(--paper);overflow:visible}.hero-copy{position:relative;z-index:2;padding:50px 0 66px 47px;width:51%;pointer-events:none}.hero-copy a{pointer-events:auto}.hero h1{font-size:clamp(78px,7.5vw,124px);line-height:.91;letter-spacing:-.057em}.hero h1 em{color:var(--wine);letter-spacing:-.063em}.hero-copy p{margin-top:29px;font-size:12px;line-height:1.9;color:#64645b}.hero .button{margin-top:27px}.hero-image{position:absolute;inset:12px 4px 8px 40%;display:flex;align-items:center;z-index:1;mix-blend-mode:multiply;pointer-events:none}.hero-image img{width:100%;height:100%;object-fit:contain;transform:rotate(-7deg) scale(1);animation:flower-enter 1.4s cubic-bezier(.16,1,.3,1) both}.hero-caption{position:absolute;bottom:27px;right:26px;font-size:10px;display:flex;align-items:center;gap:28px;z-index:3}.hero-caption:hover{color:var(--wine)}.hero-side{display:grid;grid-template-rows:1fr 1fr;gap:18px;min-width:0}.feature-tile{border:1px solid var(--line);background:var(--paper);position:relative;display:block;text-align:left;padding:0;overflow:hidden;isolation:isolate}.feature-tile img{position:absolute;inset:0;width:100%;height:calc(100% - 35px);object-fit:contain;mix-blend-mode:multiply;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.feature-tile:hover img{transform:scale(1.045)}.feature-tile>span{position:absolute;bottom:21px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;font-family:var(--serif);font-size:21px;line-height:1.05;gap:8px}.evening-tile img{padding:7px 20px 12px}.companion-tile img{padding:7px 20px 12px}.love-note{display:flex;justify-content:center;align-items:center;gap:40px;padding:31px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:20px;font-style:italic}.bloom-icon{width:29px;height:29px;color:var(--wine);stroke-width:1.5}.love-note .bloom-icon{width:23px;height:23px}
.collection{padding-top:86px;padding-bottom:84px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:35px}h2{font-size:clamp(48px,4.4vw,74px);letter-spacing:-.045em;line-height:1.03}.section-heading h2 em{color:var(--wine)}.section-heading>p{font-size:12px;line-height:1.8;color:var(--muted);padding-bottom:5px}.collection .section-heading>p{display:none}.collection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px;border-bottom:1px solid var(--line)}.filters{display:flex;gap:28px}.filters button{font-size:11px;color:var(--muted);padding:0 0 16px;position:relative;white-space:nowrap}.filters button::after{content:'';position:absolute;bottom:-1px;height:1px;background:var(--wine);left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .2s}.filters button.active{color:var(--wine)}.filters button.active::after,.filters button:hover::after{transform:scaleX(1)}.collection-aside{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--muted);padding-bottom:16px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.product{min-width:0;animation:appear .5s both}.product-image{border:1px solid var(--line);position:relative;background:var(--paper);overflow:hidden}.product:nth-child(2) .product-image{background:var(--paper)}.product:nth-child(3) .product-image{background:var(--paper)}.product:nth-child(4) .product-image{background:var(--paper)}.product-open{width:100%;display:block;padding:0;text-align:left}.product-open img{width:100%;aspect-ratio:4/5;object-fit:contain;mix-blend-mode:multiply;transition:transform .7s cubic-bezier(.2,.7,.2,1);padding:13px}.product-open:hover img{transform:scale(1.045)}.view-flower{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#ffffffed;font-size:11px;transform:translateY(100%);transition:transform .25s}.product-open:hover .view-flower,.product-open:focus-visible .view-flower{transform:translateY(0)}.save-button{position:absolute;top:8px;right:8px;min-width:38px;min-height:38px;background:#ffffff8f;border-radius:50%}.save-button .icon{width:17px;height:17px}.save-button[aria-pressed=true]{color:var(--wine);background:var(--paper)}.save-button[aria-pressed=true] svg{fill:var(--wine)}.product-info{padding:18px 0 0}.product-info h3{font-family:var(--serif);font-size:27px;letter-spacing:-.015em}.product-info h3 button{padding:0;text-align:left;font:inherit}.product-info h3 button:hover{color:var(--wine)}.product-info p{color:var(--muted);font-size:10px;margin-top:7px;line-height:1.6}.collection-footer{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-top:38px;padding-bottom:25px;gap:20px}.collection-footer>span{font-size:11px;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:25px;font-size:11px;padding:8px 0;border-bottom:1px solid currentColor;line-height:1.5}
.grand-section{background:var(--paper);color:var(--ink);overflow:hidden}.grand-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%}.grand-photo{border:1px solid var(--line);position:relative;background:var(--paper);margin-top:58px;overflow:visible}.grand-photo img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;mix-blend-mode:multiply}.grand-copy{padding:67px 0 58px;align-self:center}.grand-bloom{width:46px;height:46px;color:var(--wine);margin-bottom:32px;stroke-width:1}.grand-copy h2{font-size:clamp(56px,5.5vw,90px);line-height:1;letter-spacing:-.045em}.grand-copy h2 em{color:var(--wine)}.grand-copy>p{max-width:285px;font-size:12px;line-height:1.9;margin-top:26px;color:var(--muted)}.grand-copy>p+p{margin-top:17px}.handwritten{display:block;font-family:var(--serif);font-style:italic;font-size:22px;color:var(--wine);margin-top:29px;transform:rotate(-5deg);transform-origin:left}
.story{display:grid;grid-template-columns:1.3fr 1fr;gap:12%;padding-top:106px;padding-bottom:106px;align-items:center}.story h2{font-size:clamp(60px,5.5vw,88px)}.story h2 em{color:var(--wine)}.story-body{max-width:335px;margin-left:17%;margin-top:35px}.story-body p{font-size:12px;line-height:1.95;color:var(--muted)}.story-body p+p{margin-top:16px}.story-body .text-link{margin-top:23px}.story-image{border:1px solid var(--line);position:relative;background:var(--paper);display:block;width:100%;text-align:left}.story-image img{mix-blend-mode:multiply;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;padding:0}.story-image>span{position:absolute;bottom:-30px;right:0;font-family:var(--serif);font-style:italic;font-size:18px;color:#726a5f}.closing{text-align:center;border-block:1px solid var(--line);padding-block:56px 61px}.closing>.bloom-icon{width:38px;height:38px;margin-bottom:20px}.closing h2{font-size:clamp(53px,5.1vw,82px);line-height:1.03}.closing h2 em{color:var(--wine)}.closing .button{margin-top:27px;gap:55px}
dialog{padding:0;border:0;background:var(--paper);color:var(--ink);max-height:90svh;max-width:calc(100% - 36px);overscroll-behavior:contain}dialog[open]{animation:dialog-enter .25s ease-out}dialog::backdrop{background:#1e181975;backdrop-filter:blur(5px)}.dialog-close{position:absolute;top:12px;right:12px;z-index:2;background:var(--paper);border-radius:50%}.product-dialog{width:900px}.detail-layout{display:grid;grid-template-columns:1fr 1fr}.detail-image{border:1px solid var(--line);background:var(--paper);display:flex;align-items:center}.detail-image img{mix-blend-mode:multiply;width:100%;object-fit:contain}.detail-copy{padding:70px 38px 40px;align-self:center}.detail-copy h2{font-size:57px}.detail-copy>p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:22px}.detail-copy dl{margin:27px 0}.detail-copy dl>div{padding:12px 0;border-bottom:1px solid var(--line)}.detail-copy dt{font-size:10px;margin-bottom:7px}.detail-copy dd{margin:0;font-family:var(--serif);font-size:21px}.detail-copy .button{width:100%;gap:12px}.detail-copy .text-link{margin-top:15px}.detail-copy .detail-note,.detail-note{font-size:10px;line-height:1.8;color:var(--muted);margin-top:18px}.shortlist-dialog{width:510px;height:100svh;max-height:100svh;position:fixed;right:0;top:0;bottom:0;margin:0 0 0 auto;padding:65px 32px 35px}.shortlist-dialog h2{font-size:52px}.shortlist-dialog h2 em{color:var(--wine)}.shortlist-intro{font-size:12px;color:var(--muted);line-height:1.8;margin-top:17px;max-width:290px}#shortlist-items{margin-top:25px}.shortlist-item{display:grid;grid-template-columns:75px 1fr 40px;align-items:center;gap:17px;border-bottom:1px solid var(--line);padding:15px 0}.shortlist-item img{width:75px;height:88px;object-fit:contain;mix-blend-mode:multiply}.shortlist-item h3{font-family:var(--serif);font-size:24px}.shortlist-item p{font-size:10px;color:var(--muted);line-height:1.6;margin-top:5px}.shortlist-item .icon{width:16px;height:16px}.empty-shortlist{padding:45px 0}.empty-shortlist p{font-family:var(--serif);font-size:29px;margin-bottom:23px}#enquiry-area{margin-top:27px}#enquiry-area label{font-size:11px;display:block;margin-bottom:12px}#enquiry-area label span{color:var(--muted)}textarea{width:100%;background:transparent;border:1px solid var(--line);border-radius:0;padding:13px;font-size:12px;line-height:1.7;resize:vertical;color:var(--ink)}#shortlist-order{margin-top:16px;width:100%}#copy-enquiry{margin-top:10px}#enquiry-fallback{margin-top:15px;min-height:170px}.finder-dialog{width:530px;padding:50px 38px 36px}.finder-dialog>.bloom-icon{width:40px;height:40px;margin-bottom:26px}.finder-dialog h2{font-size:55px}.finder-dialog h2 em{color:var(--wine)}.finder-dialog>p{font-size:12px;line-height:1.8;margin-top:15px;color:var(--muted)}.feeling-options{margin-top:30px}.feeling-options button{position:relative;display:block;text-align:left;border-top:1px solid var(--line);padding:21px 35px 21px 0;width:100%}.feeling-options button:last-child{border-bottom:1px solid var(--line)}.feeling-options button:hover{color:var(--wine)}.feeling-options span{font-family:var(--serif);font-size:29px}.feeling-options small{display:block;color:var(--muted);font-size:11px;margin-top:6px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:var(--paper);padding:16px 25px;font-size:12px;z-index:20;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100% - 35px);text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}
@keyframes flower-enter{from{opacity:0;transform:rotate(-3deg) scale(.96) translateY(20px)}to{opacity:1;transform:rotate(-7deg) scale(1) translateY(0)}}@keyframes appear{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-enter{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(min-width:1600px){.hero-main{min-height:710px}.hero-copy{padding-top:70px;padding-left:60px}.hero-copy p{font-size:14px;margin-top:36px}.hero .button{margin-top:32px}.feature-tile>span{font-size:25px}.hero-image{inset:16px 8px 12px 40%}.grand-copy>p,.story-body p{font-size:14px}}
@media(max-width:1150px){.hero{grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:14px}.hero-main{min-height:545px}.hero-copy{padding:44px 0 63px 30px;width:55%}.hero h1{font-size:clamp(76px,8.6vw,98px)}.hero-copy p{font-size:11px}.hero-image{inset:16px 6px 12px 38%}.hero-side{gap:14px}.feature-tile>span{font-size:18px;left:13px;right:13px}.hero-caption{font-size:9px;right:20px;gap:15px}.brand{width:250px}.desktop-nav{gap:20px}.filters{gap:20px}.collection-aside{display:none}.product-grid{gap:17px}.product-info h3{font-size:25px}.product-info p{font-size:9px}.grand-layout{gap:7%}.grand-photo{margin-top:45px}.grand-copy{padding-block:50px}.grand-copy h2{font-size:64px}.grand-copy>p{font-size:11px}.story{gap:9%}}
@media(max-width:850px){.site-header{height:93px}.brand{width:230px}.desktop-nav{gap:14px}.desktop-nav a{font-size:11px}.finder-link{font-size:11px;gap:6px}.hero{grid-template-columns:minmax(0,1fr)}.hero-main{min-height:570px}.hero-copy{padding:45px 0 62px 40px}.hero h1{font-size:105px}.hero-image{inset:10px 4px 8px 36%}.hero-side{grid-template-columns:1fr 1fr;grid-template-rows:230px;gap:16px}.feature-tile>span{font-size:23px;bottom:20px;left:22px;right:22px}.feature-tile img{width:55%;height:100%;left:auto;right:0;padding:0 0 28px;object-fit:contain}.feature-tile>span{width:42%;top:30px;bottom:auto;display:block}.evening-tile img{padding:5px 8px;transform:rotate(8deg)}.companion-tile img{padding:5px 8px;object-fit:contain}.love-note{gap:23px;font-size:18px}.collection{padding-block:65px}.section-heading h2{font-size:55px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.product-info h3{font-size:29px}.product-info p{font-size:11px}.grand-layout{gap:6%}.grand-copy h2{font-size:53px}.grand-copy .button{font-size:10px;padding:17px;gap:20px}.grand-bloom{margin-bottom:22px}.grand-photo img{object-position:52% center}.handwritten{font-size:21px}.story{padding-block:76px}.story h2{font-size:65px}.story-body{margin-left:0;margin-top:24px}.story-image img{aspect-ratio:auto;height:auto;object-fit:contain}.collection-footer{align-items:flex-start}.collection-footer>span{max-width:200px;line-height:1.8}}
@media(max-width:600px){:root{--gutter:20px}.site-header{height:83px}.desktop-nav,.finder-link{display:none}.brand{width:190px}.menu-toggle{display:flex;flex-direction:column;align-items:center;gap:6px;margin-left:auto;margin-right:-10px}.menu-toggle span{width:21px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{margin-top:16px;gap:12px}.hero-main{min-height:680px}.hero-copy{padding:31px 0 0 26px;width:100%;z-index:2}.hero h1{font-size:clamp(70px,18vw,98px);line-height:.88;letter-spacing:-.05em}.hero-copy p{margin-top:24px;font-size:11px;line-height:1.8;max-width:190px}.hero .button{margin-top:20px;gap:25px;padding:15px 17px;min-height:48px;font-size:10px}.hero-image{inset:222px -31px 23px 45px;align-items:flex-end}.hero-image img{object-position:right bottom;height:100%;width:100%;transform:rotate(-7deg)}.hero-caption{bottom:19px;left:25px;right:20px;justify-content:space-between;font-size:10px}.hero-side{grid-template-rows:205px;gap:12px}.feature-tile img{width:100%;height:calc(100% - 45px);object-fit:contain;inset:0;transform:none;padding:4px 10px}.feature-tile>span{left:13px;right:13px;top:auto;bottom:14px;font-size:19px;width:auto;display:flex;gap:8px}.companion-tile img{padding:4px 10px;object-fit:contain}.love-note{padding:24px 0;gap:12px;font-size:16px;flex-wrap:wrap;row-gap:8px}.love-note .bloom-icon{width:17px;height:17px}.love-note span{white-space:nowrap}.love-note span:last-child{display:block;flex-basis:100%;text-align:center}.love-note .bloom-icon:nth-of-type(2){display:none}.collection{padding:51px 0 48px}.section-heading{display:block;margin-bottom:27px}.section-heading h2{font-size:48px}.section-heading>p{margin-top:15px;font-size:11px}.collection .section-heading>p{display:block}.section-heading>p br{display:none}.collection-toolbar{margin-bottom:21px;margin-right:calc(var(--gutter)*-1);overflow-x:auto;scrollbar-width:none;padding-right:var(--gutter)}.collection-toolbar::-webkit-scrollbar{display:none}.filters{gap:23px}.filters button{font-size:10px;padding-bottom:14px}.product-grid{gap:27px 13px}.product-open img{aspect-ratio:3/4;padding:7px}.product-info{padding-top:13px}.product-info h3{font-size:25px;line-height:1.08}.product-info p{font-size:9px;line-height:1.7;margin-top:6px;max-width:150px}.save-button{top:3px;right:3px;min-width:36px;min-height:36px;padding:10px}.save-button .icon{width:15px;height:15px}.view-flower{display:none}.collection-footer{display:block;margin-top:29px;padding-bottom:19px}.collection-footer>span{max-width:none;display:block;font-size:10px}.collection-footer .text-link{margin-top:6px;font-size:10px}.grand-layout{width:100%;display:flex;flex-direction:column;gap:0}.grand-photo{margin:22px 22px 0;max-height:500px}.grand-photo img{height:auto;max-height:none;object-fit:contain;object-position:center}.grand-copy{padding:37px 30px 51px;align-self:stretch;position:relative}.grand-copy h2{font-size:clamp(60px,14vw,80px)}.grand-bloom{position:absolute;right:28px;top:41px;width:33px;height:33px}.grand-copy>p{font-size:12px;max-width:280px;margin-top:23px}.grand-copy>p+p{margin-top:15px}.grand-copy .button{margin-top:25px;font-size:11px;gap:28px;padding:18px 20px}.handwritten{margin-top:25px;font-size:23px}.story{display:flex;flex-direction:column;align-items:stretch;gap:37px;padding-block:55px 73px}.story h2{font-size:66px}.story-body{margin-left:30px;max-width:none;margin-top:27px}.story-body p{font-size:12px}.story-image{margin-left:30px}.story-image img{aspect-ratio:auto;height:auto;object-fit:contain;object-position:center}.story-image>span{font-size:16px;bottom:-28px}.closing{padding-block:39px 42px}.closing h2{font-size:clamp(43px,10.5vw,61px)}.closing>.bloom-icon{width:30px;height:30px;margin-bottom:18px}.closing .button{margin-top:23px;font-size:10px;padding:16px 20px;min-height:48px;gap:45px}.detail-layout{grid-template-columns:1fr}.detail-image{height:300px}.detail-image img{height:100%;width:100%;object-fit:contain}.detail-copy{padding:28px}.detail-copy h2{font-size:49px}.detail-copy>p{margin-top:15px}.detail-copy dl{margin-block:17px}.detail-copy dd{font-size:20px}.shortlist-dialog{max-width:100%;width:100%;padding:64px 25px 30px}.shortlist-dialog h2{font-size:49px}.finder-dialog{padding:44px 25px 28px}.finder-dialog h2{font-size:47px}.feeling-options span{font-size:26px}.feeling-options small{font-size:10px}.feeling-options{margin-top:24px}.toast{font-size:11px;width:max-content}}
@media(max-width:600px){.hero-main{min-height:0;display:flex;flex-direction:column;overflow:visible;padding:6px 8px 28px}.hero-image{position:relative;inset:auto;order:1;align-self:center;width:min(92vw,420px);height:auto;margin:4px auto 10px;align-items:center}.hero-image img{width:100%;height:auto;object-fit:contain;object-position:center;transform:none;animation:none}.hero-caption{position:static;order:2;left:auto;right:auto;bottom:auto;width:auto;margin:0 auto 18px;justify-content:center;gap:0}.hero-copy{order:3;padding:0 6px 0;width:100%}.hero-copy p{display:none}.hero .button{margin-top:22px}}
@media(max-width:370px){.brand{width:168px}.hero-copy{padding-left:20px}.hero h1{font-size:70px}.hero-image{width:min(88vw,380px)}.hero-side{grid-template-rows:186px}.feature-tile>span{font-size:17px}.product-info h3{font-size:22px}.section-heading h2{font-size:44px}.grand-copy h2{font-size:57px}.shortlist-item{gap:10px}.shortlist-item h3{font-size:22px}}
/* Calls to action borrow the fine rules and tied ribbons of a florist's gift note. */
.button,
.hero .button,
.grand-copy .button,
.closing .button {
  --button-surface: #fff;
  --button-ink: var(--wine);
  display: inline-flex;
  position: relative;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  gap: 0;
  min-height: 57px;
  padding: 13px 29px;
  border: 1px solid currentColor;
  background: var(--button-surface);
  color: var(--button-ink);
  font-family: var(--serif);
  font-size: 23px;
  font-style: italic;
  letter-spacing: -.015em;
  line-height: 1.2;
  transition: background .3s, color .3s, border-color .3s;
}
.button .button-ribbon {
  position: absolute;
  top: -11px;
  left: 22px;
  width: 42px;
  height: 23px;
  padding-inline: 5px;
  background: var(--button-surface);
  stroke-width: 1.2;
  transition: background .3s, transform .3s;
}
.button-light {
  --button-surface: var(--wine);
  --button-ink: #fff;
}
.button-dark:hover,
.button-dark:focus-visible {
  --button-surface: var(--wine);
  --button-ink: #fff;
  border-color: var(--wine);
}
.button-light:hover,
.button-light:focus-visible {
  --button-surface: #fff;
  --button-ink: var(--wine);
  border-color: #fff;
}
.button:hover .button-ribbon { transform: rotate(-6deg); }
.hero .button { margin-top: 33px; }
.grand-copy .button { margin-top: 35px; }
.closing .button { margin-top: 34px; min-width: 190px; }
.detail-copy .button,
#shortlist-order { font-size: 21px; }
.detail-copy .button { margin-top: 9px; }
.text-link {
  min-height: 44px;
  padding-block: 8px;
  font-family: var(--serif);
  font-size: 20px;
  font-style: italic;
  letter-spacing: -.01em;
  border-bottom-color: #b8a0a6;
  transition: color .25s, border-color .25s;
}
.text-link:hover,
.text-link:focus-visible { color: var(--wine); border-bottom-color: var(--wine); }
.finder-link,
.order-link { text-decoration: underline; text-decoration-color: #b8a0a6; text-underline-offset: 6px; }
.desktop-nav .order-link { display: inline-flex; align-items: center; padding-block: 12px; }
.order-link[aria-current=page],
.order-link:hover { color: var(--wine); text-decoration-color: currentColor; }
.cart-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  margin-left: 8px;
  padding: 0 5px;
  border: 1px solid currentColor;
  font-family: var(--sans);
  font-size: 10px;
  font-style: normal;
  letter-spacing: 0;
  line-height: 1;
}
.hero-caption { min-height: 44px; padding-block: 10px; bottom: 15px; text-decoration: underline; text-decoration-color: #c8b8bc; text-underline-offset: 5px; }
.hero-caption:hover { text-decoration-color: var(--wine); }
.feature-tile { transition: border-color .3s; }
.feature-tile:hover,
.feature-tile:focus-visible { border-color: #a17b85; }
.feature-tile:hover>span { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; text-decoration-color: #b8a0a6; }
.view-flower { justify-content: center; font-family: var(--serif); font-size: 22px; font-style: italic; border-top: 1px solid var(--line); }
.feeling-options button { padding-right: 0; transition: padding .25s, color .25s, box-shadow .25s; }
.feeling-options button:hover,
.feeling-options button:focus-visible { padding-left: 13px; box-shadow: inset 2px 0 var(--wine); }
.button-light:focus-visible { outline-color: #fff; }
@media(max-width:850px) {
  .grand-copy .button { font-size: 21px; padding-inline: 22px; }
  .desktop-nav { display: none; }
  .site-header {
    display: grid;
    grid-template-columns: 1fr auto;
  }
  .site-header .brand { grid-column: 1; grid-row: 1; }
  .menu-toggle {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    margin-left: 0;
    margin-right: -10px;
  }
  .menu-toggle span {
    width: 21px;
    height: 1px;
    background: var(--ink);
    transition: transform .2s;
  }
  .menu-toggle[aria-expanded=true] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
}
@media(max-width:600px) {
  .site-header {
    display: grid;
    grid-template-columns: 1fr auto;
  }
  .site-header .brand {
    grid-column: 1;
    grid-row: 1;
    width: clamp(168px, 52vw, 210px);
  }
  .site-header .menu-toggle {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    margin-left: 0;
  }
  .hero-main { border: 0; }
  .hero-side,
  .love-note { display: none; }
  .feature-tile {
    display: grid;
    grid-template-rows: 150px minmax(62px, auto);
  }
  .feature-tile img {
    position: static;
    width: 100%;
    height: 100%;
    min-height: 0;
  }
  .feature-tile>span {
    position: relative;
    inset: auto;
    z-index: 1;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 12px;
    border-top: 1px solid var(--line);
    background: var(--paper);
    line-height: 1.15;
  }
  .hero .button,
  .closing .button { font-size: 21px; min-height: 53px; padding: 13px 25px; }
  .hero .button { margin-top: 27px; }
  .hero-caption { bottom: 8px; }
  .collection-footer .text-link { font-size: 19px; }
  .detail-copy .button,
  #shortlist-order { font-size: 20px; padding-inline: 19px; }
}
.site-footer {
  padding-top: 55px;
}
.site-footer .footer-brand {
  width: clamp(230px, 28vw, 380px);
  margin-inline: auto;
}
.footer-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 36px;
  margin: 23px 0 36px;
}
.footer-nav a,
.footer-nav button {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  font-size: 12px;
  line-height: 1.5;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 6px;
  transition: color .2s, text-decoration-color .2s;
}
.footer-nav a:hover,
.footer-nav button:hover,
.footer-nav a[aria-current=page] {
  color: var(--wine);
  text-decoration-color: currentColor;
}
.footer-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding-block: 17px;
  border-top: 1px solid var(--line);
  color: #686860;
  font-size: 11px;
  line-height: 1.6;
}
.footer-meta a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  text-decoration: underline;
  text-decoration-color: #c8b8bc;
  text-underline-offset: 5px;
}
.footer-meta a:hover { color: var(--wine); }
@media(max-width:600px) {
  .site-footer { padding-top: 37px; }
  .site-footer .footer-brand { width: 240px; }
  .footer-nav { gap: 8px 25px; margin: 17px 0 24px; }
  .footer-nav a,
  .footer-nav button { font-size: 11px; }
  .footer-meta { padding-block: 10px; font-size: 10px; gap: 12px; }
}
.welcome-dialog {
  width: 570px;
  padding: 45px 48px 43px;
  text-align: center;
  border: 1px solid var(--line);
}
.welcome-bloom {
  width: 39px;
  height: 39px;
  margin-bottom: 22px;
  color: var(--wine);
}
.welcome-dialog h2 {
  font-size: 46px;
  line-height: 1.08;
  text-wrap: balance;
}
.welcome-dialog h2 em { color: var(--wine); }
.welcome-message {
  margin-top: 25px;
  font-size: 13px;
  line-height: 1.85;
  color: #62625b;
}
.welcome-message p+p { margin-top: 16px; }
.welcome-dialog .button { margin-top: 34px; }
@media(max-width:600px) {
  .welcome-dialog { padding: 40px 25px 30px; max-height: calc(100svh - 32px); }
  .welcome-bloom { width: 31px; height: 31px; margin-bottom: 19px; }
  .welcome-dialog h2 { font-size: clamp(33px, 9vw, 43px); }
  .welcome-message { font-size: 12px; line-height: 1.8; margin-top: 21px; }
  .welcome-dialog .button { font-size: 21px; padding-inline: 20px; }
}
.order-intro {
  padding-top: 62px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}
.order-intro .bloom-icon {
  width: 36px;
  height: 36px;
  margin-bottom: 22px;
}
.order-intro h1 {
  font-size: clamp(52px, 5vw, 80px);
  letter-spacing: -.045em;
  line-height: 1.03;
}
.order-intro h1 em { color: var(--wine); }
.order-intro .section-heading { margin-bottom: 0; }
html { overflow-x: clip; }
.wrap, .order-studio, .order-panel, .order-choice, .cart-line { min-width: 0; }
.order-studio {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.82fr);
  gap: 7%;
  padding-top: 48px;
  padding-bottom: 96px;
  align-items: start;
}
.order-arrangements h2,
.order-panel h2 {
  font-size: clamp(36px, 3.2vw, 48px);
}
.order-lead {
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.8;
  color: var(--muted);
}
.order-choices { margin-top: 10px; }
.order-choice {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}
.order-choice img {
  width: 118px;
  height: 148px;
  object-fit: contain;
  mix-blend-mode: multiply;
  border: 1px solid var(--line);
  background: var(--paper);
}
.order-choice h3 {
  font-family: var(--serif);
  font-size: 30px;
  letter-spacing: -.02em;
}
.order-choice p {
  margin-top: 6px;
  font-size: 11px;
  line-height: 1.7;
  color: var(--muted);
}
.order-choice .order-price {
  font-family: var(--serif);
  font-size: 20px;
  color: var(--ink);
  margin-top: 8px;
}
.order-choice .text-link { margin-top: 8px; }
.order-panel {
  border: 1px solid var(--line);
  padding: 34px 32px 32px;
  background: var(--paper);
}
.order-empty {
  font-family: var(--serif);
  font-style: italic;
  font-size: 24px;
  line-height: 1.3;
  color: var(--muted);
  margin: 28px 0 8px;
}
.cart-line {
  display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.cart-line img {
  width: 64px;
  height: 76px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.cart-line h3 {
  font-family: var(--serif);
  font-size: 22px;
  letter-spacing: -.015em;
}
.cart-line p {
  margin-top: 4px;
  font-size: 11px;
  color: var(--muted);
}
.qty-stepper {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  border: 1px solid var(--line);
}
.qty-stepper .icon-button {
  min-width: 36px;
  min-height: 36px;
}
.qty-stepper .icon {
  width: 14px;
  height: 14px;
}
.qty-stepper span {
  min-width: 18px;
  text-align: center;
  font-size: 12px;
}
.order-total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--ink);
  font-size: 12px;
}
.order-total strong {
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 400;
  letter-spacing: -.02em;
}
#order-form {
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}
#order-form h3 {
  font-family: var(--serif);
  font-size: 30px;
  margin-bottom: 18px;
  letter-spacing: -.02em;
}
.order-field { margin-bottom: 16px; }
.order-field label {
  display: block;
  font-size: 11px;
  margin-bottom: 8px;
}
.order-field label span { color: var(--muted); }
.order-field input,
.order-field select,
.order-field textarea {
  width: 100%;
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 0;
  padding: 13px;
  font-size: 12px;
  line-height: 1.7;
  color: var(--ink);
  appearance: none;
}
.order-field select {
  background-image: linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);
  background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  padding-right: 36px;
}
.order-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
#place-order { width: 100%; margin-top: 8px; }
.button:disabled,
.button:disabled:hover,
.button:disabled:focus-visible {
  --button-surface: var(--paper);
  --button-ink: var(--ink);
  border-color: var(--ink);
  opacity: .4;
}
.mobile-nav .order-link { display: flex; }
.mobile-nav .cart-count { margin-left: 12px; }
@media(max-width:1000px) {
  .order-studio { gap: 5%; }
  .order-panel { padding: 28px 22px; }
  .order-choice h3 { font-size: 26px; }
}
@media(max-width:850px) {
  .order-studio {
    grid-template-columns: minmax(0, 1fr);
    gap: 42px;
    padding-bottom: 70px;
  }
  .order-panel { position: static; }
  .order-intro { padding-top: 42px; }
  .order-intro .section-heading { display: block; }
  .order-intro h1 { font-size: clamp(42px, 10vw, 62px); }
}
@media(max-width:600px) {
  .order-intro h1 { font-size: 48px; }
  .order-choice { grid-template-columns: 88px 1fr; gap: 14px; padding: 18px 0; }
  .order-choice img { width: 88px; height: 110px; }
  .order-choice h3 { font-size: 24px; }
  .order-row { grid-template-columns: 1fr; gap: 0; }
  .order-panel { padding: 24px 18px; }
  .cart-line { grid-template-columns: 54px 1fr auto; gap: 10px; }
  .cart-line h3 { font-size: 20px; }
  #order-form h3 { font-size: 26px; }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
