@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Manrope:wght@300;400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--background);color:var(--text);font-family:var(--font-body);overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}#root{width:100%;min-height:100vh}.floral-navbar{z-index:1000;-webkit-backdrop-filter:blur(16px);background:#fbf9f5f0;border-bottom:1px solid #40534417;width:100%;position:sticky;top:0}.floral-navbar__container{grid-template-columns:220px 1fr 220px;align-items:center;width:min(1500px,92%);min-height:80px;margin-inline:auto;display:grid}.floral-navbar__logo{cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;width:210px;height:80px;padding:0;display:flex}.floral-navbar__logo img{object-fit:contain;object-position:left center;transform-origin:0;width:190px;height:76px;transition:transform .3s,opacity .3s;display:block;transform:scale(1.12)}.floral-navbar__logo:hover img{opacity:.88;transform:scale(1.025)}.floral-navbar__menu{grid-column:2;justify-self:center;align-items:center;gap:clamp(34px,3.2vw,54px);display:flex}.floral-navbar__menu>button{color:#625f57;font-family:var(--font-heading);cursor:pointer;background:0 0;border:0;padding:30px 0 27px;font-size:1rem;font-weight:500;line-height:1;transition:color .25s;position:relative}.floral-navbar__menu>button:after{content:"";transform-origin:100%;background:#536556;height:1px;transition:transform .3s;position:absolute;bottom:21px;left:0;right:0;transform:scaleX(0)}.floral-navbar__menu>button:hover{color:#405344}.floral-navbar__menu>button:hover:after{transform-origin:0;transform:scaleX(1)}.floral-navbar__menu>button.is-active{color:#405344}.floral-navbar__menu>button.is-active:after{transform-origin:0;transform:scaleX(1)}.floral-navbar__toggle{display:none}@media (width<=820px){.floral-navbar__container{grid-template-columns:1fr auto;min-height:72px}.floral-navbar__logo{z-index:1002;position:relative}.floral-navbar__logo img{height:54px}.floral-navbar__toggle{z-index:1002;cursor:pointer;background:0 0;border:1px solid #40534433;border-radius:50%;place-content:center;width:40px;height:40px;padding:0;display:grid;position:relative}.floral-navbar__toggle span{background:#405344;width:17px;height:1px;transition:transform .3s,margin .3s;display:block}.floral-navbar__toggle span+span{margin-top:6px}.floral-navbar__toggle--active span:first-child{transform:translateY(3.5px)rotate(45deg)}.floral-navbar__toggle--active span:last-child{margin-top:0;transform:translateY(2.5px)rotate(-45deg)}.floral-navbar__menu{z-index:1001;visibility:hidden;opacity:0;background:#fbf9f5;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:100px 7vw 50px;transition:opacity .3s,visibility .3s,transform .3s;display:flex;position:fixed;inset:0;transform:translateY(-12px)}.floral-navbar__menu--open{visibility:visible;opacity:1;transform:translateY(0)}.floral-navbar__menu>button{color:#405344;width:100%;font-family:var(--font-heading);letter-spacing:-.035em;text-align:left;padding:8px 0;font-size:clamp(2.7rem,10vw,4.4rem);font-weight:500;line-height:1.05}.floral-navbar__menu>button:after{display:none}.floral-navbar__menu>button.is-active{color:#c8877c}}@media (width<=520px){.floral-navbar__container{min-height:68px}.floral-navbar__logo img{height:50px}.floral-navbar__toggle{width:38px;height:38px}.floral-navbar__menu{padding:90px 6vw 40px}.floral-navbar__menu>button{font-size:clamp(2.45rem,12vw,3.6rem)}}@media (prefers-reduced-motion:reduce){.floral-navbar__logo img,.floral-navbar__menu>button:after,.floral-navbar__toggle span,.floral-navbar__menu{transition:none}}.hero{background:radial-gradient(circle at 12% 15%,#ffffffeb,#0000 38%),#fbf8f2;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;opacity:.14;background-image:radial-gradient(#50463a17 .45px,#0000 .45px);background-size:8px 8px;position:absolute;inset:0}.hero-inner{z-index:1;grid-template-columns:minmax(400px,.85fr) minmax(500px,1.15fr);align-items:center;width:min(1380px,92%);height:610px;margin-inline:auto;display:grid;position:relative}.hero-copy{z-index:3;max-width:570px;padding-right:45px;position:relative}.hero-kicker{color:#a8875d;width:max-content;font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:15px;margin-bottom:22px;font-size:.67rem;font-weight:800;display:flex}.hero-kicker:before{content:"";background:#b99b6a;width:46px;height:1px}.hero-title{color:#405344;max-width:560px;font-family:var(--font-heading);letter-spacing:-.05em;margin:0;font-size:clamp(4rem,5.1vw,6.15rem);font-weight:500;line-height:.88}.hero-title-accent{color:#c8877c;margin-top:7px;font-style:italic;font-weight:400;display:block}.hero-title-last{margin-top:6px;display:block}.hero-description{color:#69645d;max-width:445px;font-family:var(--font-body);margin:27px 0 0;font-size:.92rem;line-height:1.8}.hero-cta{color:#405344;font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #405344b3;align-items:center;gap:22px;margin-top:27px;padding:0 0 8px;font-size:.7rem;font-weight:800;display:inline-flex}.hero-cta span{font-size:1rem;transition:transform .3s}.hero-cta:hover span{transform:translate(6px)}.hero-art{justify-content:center;align-self:stretch;align-items:center;min-width:0;display:flex;position:relative}.hero-art-glow{aspect-ratio:1;filter:blur(8px);pointer-events:none;background:radial-gradient(circle,#e7d7c680,#f5ebe033 48%,#0000 72%);border-radius:50%;width:75%;position:absolute}.hero-art-image{z-index:2;object-fit:contain;filter:drop-shadow(0 25px 35px #53433214);width:min(100%,730px);max-height:560px;transition:transform .7s cubic-bezier(.22,1,.36,1);display:block;position:relative;transform:translateY(8px)}.hero-art:hover .hero-art-image{transform:translateY(2px)scale(1.012)}.hero-copy{animation:.75s cubic-bezier(.22,1,.36,1) both heroTextIn}.hero-art-image{animation:.9s cubic-bezier(.22,1,.36,1) 80ms both heroFlowersIn}@keyframes heroTextIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes heroFlowersIn{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(8px)scale(1)}}@media (width<=1100px){.hero-inner{grid-template-columns:minmax(360px,.9fr) minmax(440px,1.1fr);height:570px}.hero-title{font-size:clamp(3.7rem,5.7vw,5.4rem)}.hero-art-image{max-height:510px}}@media (width<=820px){.hero-inner{grid-template-columns:1fr;width:min(90%,680px);height:auto}.hero-copy{max-width:620px;padding:60px 0 20px}.hero-title{font-size:clamp(3.6rem,10vw,5rem)}.hero-art{min-height:430px}.hero-art-image{width:min(100%,600px);max-height:480px}}@media (width<=520px){.hero-copy{padding-top:42px}.hero-kicker{letter-spacing:.17em;gap:10px;margin-bottom:18px;font-size:.59rem}.hero-kicker:before{width:29px}.hero-title{font-size:clamp(3rem,14vw,4rem);line-height:.91}.hero-description{margin-top:22px;font-size:.88rem;line-height:1.7}.hero-cta{margin-top:24px;font-size:.64rem}.hero-art{min-height:360px}.hero-art-image{width:110%;max-width:520px}}@media (prefers-reduced-motion:reduce){.hero-copy,.hero-art-image{animation:none}.hero-art-image,.hero-cta span{transition:none}}.collections{background:#fbf8f2;padding:105px 0 125px;position:relative;overflow:hidden}.collections:before{content:"";pointer-events:none;opacity:.11;background-image:radial-gradient(#50463a14 .45px,#0000 .45px);background-size:8px 8px;position:absolute;inset:0}.collections-container{z-index:1;position:relative}.collections-header{text-align:center;max-width:720px;margin:0 auto 72px}.collections-eyebrow{color:#a8875d;font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:14px;margin-bottom:19px;font-size:.67rem;font-weight:800;display:inline-flex}.collections-eyebrow:before,.collections-eyebrow:after{content:"";background:#a8875da6;width:34px;height:1px}.collections-header h2{color:#405344;font-family:var(--font-heading);letter-spacing:-.045em;margin:0;font-size:clamp(3.3rem,5vw,5.3rem);font-weight:500;line-height:.95}.collections-header h2 em{color:#c8877c;font-weight:400}.collections-header p{color:#6d6861;max-width:510px;font-family:var(--font-body);margin:24px auto 0;font-size:.91rem;line-height:1.8}.collections-grid{grid-template-rows:330px 330px;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr) minmax(0,.9fr);gap:30px;max-width:1320px;margin-inline:auto;display:grid}.flower-card{cursor:pointer;outline:none;min-width:0;position:relative}.flower-card--featured{grid-area:1/1/span 2}.flower-card:nth-child(2){grid-area:1/2/auto/span 2}.flower-card:nth-child(3){grid-area:2/2}.flower-card:nth-child(4){grid-area:2/3}.flower-card__image{background:#eee6db;width:100%;height:calc(100% - 88px);position:relative;overflow:hidden}.flower-card--featured .flower-card__image{height:calc(100% - 88px)}.flower-card__image img{object-fit:cover;width:100%;height:100%;transition:transform .9s cubic-bezier(.22,1,.36,1),filter .5s;display:block}.flower-card__overlay{opacity:0;background:linear-gradient(#0000 55%,#2d342b38);align-items:flex-end;padding:26px;transition:opacity .4s;display:flex;position:absolute;inset:0}.flower-card__overlay span{color:#fff;font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;padding-bottom:5px;font-size:.68rem;font-weight:700;transition:transform .4s;position:relative;transform:translateY(8px)}.flower-card__overlay span:after{content:"";transform-origin:0;background:#ffffffd9;width:100%;height:1px;transition:transform .4s 50ms;position:absolute;bottom:0;left:0;transform:scaleX(0)}.flower-card__info{justify-content:space-between;align-items:flex-start;gap:20px;padding-top:17px;display:flex}.flower-card__category{color:#a58a65;font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;margin-bottom:5px;font-size:.59rem;font-weight:700;display:block}.flower-card__info h3{color:#405344;font-family:var(--font-heading);margin:0;font-size:1.45rem;font-weight:500;line-height:1.1;transition:color .3s}.flower-card--featured .flower-card__info h3{font-size:1.75rem}.flower-card__price{color:#746d63;font-family:var(--font-heading);flex-shrink:0;padding-top:18px;font-size:1rem;font-weight:500}.flower-card:hover .flower-card__image img{transform:scale(1.035)}.flower-card:hover .flower-card__overlay{opacity:1}.flower-card:hover .flower-card__overlay span{transform:translateY(0)}.flower-card:hover .flower-card__overlay span:after{transform:scaleX(1)}.flower-card:hover .flower-card__info h3{color:#c17f75}.flower-card:focus-visible{outline-offset:8px;outline:1px solid #8f9b8c}@media (width>=1500px){.collections-grid{grid-template-rows:350px 350px;max-width:1400px}}@media (width<=1100px){.collections{padding:90px 0 105px}.collections-grid{grid-template-rows:310px 310px 310px;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px}.flower-card--featured{grid-area:1/1/span 2}.flower-card:nth-child(2){grid-area:1/2}.flower-card:nth-child(3){grid-area:2/2}.flower-card:nth-child(4){grid-area:3/1/auto/span 2}}@media (width<=760px){.collections{padding:76px 0 88px}.collections-header{margin-bottom:50px}.collections-header h2{font-size:clamp(3rem,10vw,4.5rem)}.collections-grid{grid-template-rows:none;grid-template-columns:1fr 1fr;gap:42px 18px;display:grid}.flower-card,.flower-card--featured,.flower-card:nth-child(2),.flower-card:nth-child(3),.flower-card:nth-child(4){grid-area:auto}.flower-card--featured{grid-column:1/-1}.flower-card__image{height:390px}.flower-card--featured .flower-card__image{height:560px}.flower-card__overlay{display:none}.flower-card__info h3,.flower-card--featured .flower-card__info h3{font-size:1.3rem}}@media (width<=520px){.collections{padding:65px 0 76px}.collections-header{margin-bottom:42px}.collections-eyebrow{letter-spacing:.18em;gap:10px;margin-bottom:16px;font-size:.58rem}.collections-eyebrow:before,.collections-eyebrow:after{width:24px}.collections-header h2{font-size:clamp(2.8rem,13vw,3.8rem);line-height:.96}.collections-header p{margin-top:20px;font-size:.86rem;line-height:1.7}.collections-grid{grid-template-columns:1fr;gap:42px}.flower-card--featured{grid-column:auto}.flower-card__image,.flower-card--featured .flower-card__image{height:118vw;max-height:580px}.flower-card__info{padding-top:14px}.flower-card__category{font-size:.55rem}.flower-card__info h3,.flower-card--featured .flower-card__info h3{font-size:1.35rem}.flower-card__price{padding-top:17px;font-size:.94rem}}@media (prefers-reduced-motion:reduce){.flower-card__image img,.flower-card__overlay,.flower-card__overlay span,.flower-card__overlay span:after,.flower-card__info h3{transition:none}}.occasions{background:#f4eee5;padding:120px 0 80px;position:relative;overflow:hidden}.occasions-header{text-align:center;padding:0 24px 58px}.occasions-eyebrow{color:#a8875d;letter-spacing:.25em;text-transform:uppercase;align-items:center;gap:14px;font-size:.65rem;font-weight:800;display:inline-flex}.occasions-eyebrow:before,.occasions-eyebrow:after{content:"";background:#b99b6a;width:34px;height:1px}.occasions-header h2{color:#405344;max-width:800px;font-family:var(--font-heading);letter-spacing:-.05em;margin:18px auto 0;font-size:clamp(3.4rem,5.5vw,6rem);font-weight:500;line-height:.92}.occasions-header h2 em{color:#c8877c;font-weight:400}.occasions-grid{grid-template-columns:repeat(4,1fr);gap:4px;width:100%;display:grid}.occasion-card{cursor:pointer;background:#ddd3c5;outline:none;height:min(620px,43vw);position:relative;overflow:hidden}.occasion-card img{object-fit:cover;width:100%;height:100%;transition:transform 1s cubic-bezier(.22,1,.36,1),filter .6s;display:block}.occasion-card__shade{background:linear-gradient(#23261f08 25%,#23261f26 55%,#181c17ad 100%);transition:background .5s;position:absolute;inset:0}.occasion-card__content{z-index:2;color:#fff;text-align:center;position:absolute;bottom:34px;left:28px;right:28px}.occasion-card__title{font-family:var(--font-heading);letter-spacing:-.02em;text-transform:uppercase;font-size:clamp(2rem,2.8vw,3.2rem);font-weight:500;line-height:1;display:block}.occasion-card__line{background:#fffc;width:54px;height:1px;margin:19px auto 17px;transition:width .4s;display:block}.occasion-card__content p{color:#ffffffe6;max-width:220px;font-family:var(--font-body);margin:0 auto;font-size:.82rem;line-height:1.6}.occasion-card:hover img{filter:saturate(1.05);transform:scale(1.045)}.occasion-card:hover .occasion-card__line{width:85px}.occasion-card:hover .occasion-card__shade{background:linear-gradient(#23261f05 20%,#23261f1f 48%,#181c17c2 100%)}.occasion-card:focus-visible{outline-offset:-5px;outline:2px solid #405344}.occasions-footer{color:#81776b;text-align:center;justify-content:center;align-items:center;gap:28px;padding-top:58px;display:flex}.occasions-footer span{letter-spacing:.24em;text-transform:uppercase;font-size:.62rem;font-weight:700}.occasions-footer strong{color:#a8875d;width:46px;height:46px;font-family:var(--font-heading);border:1px solid #a8875d80;border-radius:50%;place-items:center;font-size:.9rem;font-weight:500;display:grid}@media (width<=900px){.occasions{padding-top:90px}.occasions-grid{grid-template-columns:repeat(2,1fr)}.occasion-card{height:520px}.occasion-card__title{font-size:2.5rem}}@media (width<=560px){.occasions{padding:75px 0 55px}.occasions-header{padding-bottom:42px}.occasions-eyebrow{letter-spacing:.18em;gap:9px;font-size:.56rem}.occasions-eyebrow:before,.occasions-eyebrow:after{width:23px}.occasions-header h2{font-size:clamp(3rem,13vw,4rem)}.occasions-grid{grid-template-columns:1fr;gap:3px}.occasion-card{height:125vw;max-height:590px}.occasion-card__content{bottom:28px;left:20px;right:20px}.occasion-card__title{font-size:3rem}.occasions-footer{flex-direction:column;gap:18px;padding:40px 24px 0}.occasions-footer span{max-width:280px;font-size:.56rem;line-height:1.7}}@media (prefers-reduced-motion:reduce){.occasion-card img,.occasion-card__line,.occasion-card__shade{transition:none}}.flower-detail{color:#405344;background:#fbf8f2;min-height:100svh;padding:42px 5vw 70px;position:relative}.flower-detail__back{color:#536556;font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #40534459;align-items:center;gap:12px;margin-bottom:36px;padding:0 0 7px;font-size:.68rem;font-weight:700;display:inline-flex}.flower-detail__back span{font-size:1rem;transition:transform .25s}.flower-detail__back:hover span{transform:translate(-5px)}.flower-detail__layout{grid-template-columns:minmax(0,1.12fr) minmax(400px,.88fr);align-items:center;gap:clamp(60px,7vw,120px);width:min(1380px,100%);margin-inline:auto;display:grid}.flower-detail__visual{background:#eee6db;height:min(72vh,760px);min-height:600px;position:relative;overflow:hidden}.flower-detail__visual:after{content:"";pointer-events:none;background:linear-gradient(#0000 70%,#2c302817);position:absolute;inset:0}.flower-detail__visual img{object-fit:cover;width:100%;height:100%;transition:transform 1s cubic-bezier(.22,1,.36,1);display:block}.flower-detail__visual:hover img{transform:scale(1.018)}.flower-detail__number{z-index:2;color:#536556;width:54px;height:54px;font-family:var(--font-heading);-webkit-backdrop-filter:blur(10px);background:#fbf8f2bf;border:1px solid #ffffffa6;border-radius:50%;place-items:center;font-size:.85rem;display:grid;position:absolute;bottom:22px;right:24px}.flower-detail__content{max-width:520px}.flower-detail__category{color:#a8875d;font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:14px;margin-bottom:20px;font-size:.64rem;font-weight:800;display:flex}.flower-detail__category:before{content:"";background:#b99b6a;width:38px;height:1px}.flower-detail__content h1{color:#405344;max-width:520px;font-family:var(--font-heading);letter-spacing:-.05em;margin:0;font-size:clamp(3.7rem,5vw,6rem);font-weight:500;line-height:.91}.flower-detail__price{color:#c8877c;font-family:var(--font-heading);margin-top:22px;font-size:1.5rem;display:block}.flower-detail__divider{background:#40534424;width:100%;height:1px;margin:30px 0}.flower-detail__description{color:#69645d;max-width:480px;font-family:var(--font-body);margin:0;font-size:.95rem;line-height:1.85}.flower-detail__information{border-top:1px solid #4053441f;margin-top:34px}.flower-detail__info-row{border-bottom:1px solid #4053441f;grid-template-columns:125px 1fr;gap:24px;padding:18px 0;display:grid}.flower-detail__info-row>span{color:#9b805c;font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;font-size:.6rem;font-weight:800}.flower-detail__info-row p{color:#5e625b;margin:0;font-size:.85rem;line-height:1.6}.flower-detail__order{color:#fbf8f2;width:100%;font-family:var(--font-body);letter-spacing:.17em;text-transform:uppercase;cursor:pointer;background:#405344;border:1px solid #405344;margin-top:32px;padding:18px 26px;font-size:.68rem;font-weight:800;transition:background .3s,color .3s}.flower-detail__order:hover{color:#405344;background:0 0}.flower-detail__note{color:#908a82;text-align:center;max-width:420px;margin:18px auto 0;font-size:.72rem;line-height:1.6}.flower-not-found{text-align:center;background:#fbf8f2;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:40px;display:flex}.flower-not-found>span{color:#a8875d;letter-spacing:.2em;text-transform:uppercase;font-size:.65rem;font-weight:800}.flower-not-found h1{color:#405344;max-width:650px;font-family:var(--font-heading);margin:20px 0 30px;font-size:clamp(3rem,6vw,5rem);font-weight:500;line-height:1}.flower-not-found button{color:#405344;cursor:pointer;background:0 0;border:1px solid #405344;padding:14px 22px}@media (width<=900px){.flower-detail{padding:28px 5vw 60px}.flower-detail__layout{grid-template-columns:1fr;gap:48px}.flower-detail__visual{height:min(110vw,720px);min-height:0}.flower-detail__content{max-width:650px}.flower-detail__content h1{max-width:620px}}@media (width<=520px){.flower-detail{padding:22px 5vw 50px}.flower-detail__back{margin-bottom:24px}.flower-detail__layout{gap:36px}.flower-detail__visual{height:118vw;max-height:590px}.flower-detail__number{width:46px;height:46px;bottom:14px;right:14px}.flower-detail__category{margin-bottom:15px}.flower-detail__content h1{font-size:clamp(3rem,14vw,4.2rem)}.flower-detail__price{margin-top:17px}.flower-detail__divider{margin:24px 0}.flower-detail__info-row{grid-template-columns:1fr;gap:7px;padding:15px 0}.flower-detail__order{margin-top:27px}}@media (prefers-reduced-motion:reduce){.flower-detail__visual img,.flower-detail__back span,.flower-detail__order{transition:none}}
