/* Existing composition, refined for wholesale and retail. */
:root { --paper: #fff; }
.header { background:var(--green); color:#fff; height:100px; border-bottom:1px solid #ffffff24; }
.header nav>a { transition:color .25s, background .25s; }
.header nav>a:hover { color:#fff; }
.header nav>a:not(.nav-cta):hover { color:#a9d8c4; }
.nav-cta { background:var(--red); border-color:var(--red); color:white; }
.header nav>.nav-cta:hover { background:#a50d27; }
.hero { display:block; isolation:isolate; min-height:680px; height:calc(100svh - 100px); max-height:1100px; overflow:hidden; border-radius:0 0 64px 64px; background:var(--deep); color:white; }
.hero-photo { position:absolute; inset:0; z-index:-2; height:100%; }
.hero-photo>img { object-position:65% 50%; transform:scale(1.075); }
.hero-photo:after { inset:0; background:linear-gradient(90deg,rgba(15,19,16,.58) 0%,rgba(15,19,16,.34) 40%,transparent 80%),linear-gradient(0deg,rgba(15,19,16,.28),transparent 35%); }
.hero-copy { background:none; width:100%; height:100%; padding:45px 6% 36px; position:relative; pointer-events:none; }
.hero-copy a { pointer-events:auto; }
.hero .eyebrow { color:#fff; }
.hero .dot { background:var(--red); width:9px; height:9px; }
.hero h1 { color:#fff; font-size:clamp(80px,9vw,150px); line-height:.96; letter-spacing:-.06em; margin:30px 0; }
.hero h1>span { color:#fff; display:inline; }
.hero h1 { max-width:1000px; }
.hero-bottom p { font-size:17px; line-height:1.6; color:#fff; }
.hero-actions { display:flex; gap:14px; }
.hero-actions .button { min-width:180px; padding:18px 25px; font-size:14px; }
.hero-professional { background:var(--red); }
.hero-professional:hover { background:#a50d27; }
.hero-private { background:white; color:var(--deep); }
.hero-private:hover { background:var(--green); color:#fff; }
.hero-index { font-size:9px; margin-top:auto; padding-top:28px; letter-spacing:1.5px; }
.photo-caption { bottom:38px; right:6%; left:auto; gap:40px; font-size:12px; }
.photo-caption>span:last-child { display:none; }
.ticker { background:white; color:var(--green); padding:27px 4%; font-size:20px; }
.ticker i { color:var(--red); }
.intro { padding-top:65px; padding-bottom:75px; }
.wholesale { border-radius:60px; padding-top:55px; padding-bottom:70px; }
.wholesale h2 em { color:#fff; }
.wholesale h2 { font-size:clamp(54px,6.5vw,100px); }
.wholesale-heading { grid-template-columns:1.2fr 1fr; }
.wholesale-heading>div>p { max-width:470px; }
.button.light { background:var(--green); color:#fff; }
.button.light:hover { background:white; color:var(--deep); }
.trade-points { display:flex; gap:30px; justify-content:space-between; padding:23px 0; border-top:1px solid #ffffff30; font-size:12px; color:#e4eee8; }
.wholesale-images img { border-radius:24px; transition:filter .5s,transform .7s; }
.wholesale-images figure:hover img { transform:translateY(-5px); filter:brightness(1.06); }
.home-flowers { position:relative; margin-top:95px; padding-top:0; border-radius:60px; background:#fff; }
.home-picture { border-radius:30px 100px 30px 30px; overflow:hidden; }
.home-picture>img { transition:transform 1.2s cubic-bezier(.2,.65,.3,1); }
.home-picture:hover>img { transform:scale(1.035); }
.image-label { border-radius:30px; }
.small-photo img { border-radius:70px 20px 20px 20px; }
.craft { border-top:1px solid var(--line); margin:0 6%; padding-left:0; padding-right:0; }
.locations { background:var(--green); color:#fff; border-radius:44px; margin-bottom:65px; }
.locations h2,.locations h2 span { color:#fff; }
.location-list details,.location-list details:last-child { border-color:#ffffff50; }
.location-content img { border-radius:18px; }
.location-content .text-link:hover { color:#fff; opacity:.75; }
.location-list summary { transition:opacity .25s; }
.location-list summary:hover { opacity:.75; }
.closing { border-radius:60px; padding-top:75px; padding-bottom:75px; margin:0 3%; }
.closing h2 span { color:white; }
footer { position:relative; margin-top:95px; border-radius:50px 50px 0 0; background:var(--green); }
.button span,.text-link span,.nav-cta span { transition:transform .25s; }
.button:hover span,.text-link:hover span,.nav-cta:hover span { transform:translate(3px,-3px); }
.reveal { transition:opacity .8s ease,translate .8s cubic-bezier(.2,.65,.3,1); }
.reveal-pending { opacity:0; translate:0 24px; }
.reveal:focus-within { opacity:1; translate:0; }
@media(min-width:701px) and (max-height:800px) { .hero { min-height:590px; }.hero h1 { font-size:clamp(76px,8vw,120px); margin:22px 0; }.hero-copy { padding-top:28px; }.hero-bottom { gap:19px; } }
@media(max-width:1000px) { .header { height:90px; }.hero { height:calc(100svh - 90px); }.hero h1 { max-width:800px; font-size:clamp(76px,10vw,105px); }.photo-caption { display:none; }.trade-points { gap:18px; font-size:11px; }.wholesale { padding-bottom:100px; }.home-flowers { padding-top:65px; } }
@media(max-width:700px) {
 .header { height:84px; }.header nav { background:var(--deep); color:#fff; border-radius:0 0 24px 24px; }.menu-toggle { color:#fff; }
 .hero { height:calc(100svh - 84px); min-height:620px; max-height:950px; border-radius:0 0 32px 32px; }
 .hero-copy { padding:35px 6% 30px; justify-content:flex-start; }.hero .eyebrow { font-size:8px; letter-spacing:1px; max-width:280px; }
 .hero h1 { font-size:clamp(58px,15vw,92px); margin:36px 0 28px; line-height:1; }.hero h1>span { display:block; }
 .hero-bottom p { font-size:14px; max-width:320px; }.hero-actions { gap:10px; width:100%; }.hero-actions .button { min-width:0; flex:1; gap:15px; font-size:12px; padding:16px 18px; }
 .hero-index { display:block; font-size:7px; max-width:280px; line-height:1.8; }.hero-photo { height:100%; }.hero-photo>img { object-position:58% center; }.hero-photo:after { background:linear-gradient(90deg,#10271dd9,#10271d75),linear-gradient(0deg,#10271d80,transparent 45%); }
 .ticker { font-size:15px; padding:22px 6%; gap:16px; }.intro { padding-top:38px; padding-bottom:50px; }
 .wholesale { border-radius:32px 32px 0 0; padding-top:35px; padding-bottom:75px; }.wholesale h2 { font-size:clamp(47px,12.5vw,65px); }.trade-points { flex-direction:column; gap:12px; padding:20px 0; }.trade-points span:before { content:'—'; margin-right:12px; color:#80baa0; }.wholesale-images img { border-radius:15px; }
 .home-flowers { margin-top:-30px; border-radius:32px 32px 0 0; padding-top:40px; }.home-picture { border-radius:22px 65px 22px 22px; }.craft { padding-top:50px; }.locations { border-radius:28px; margin-bottom:40px; }.closing { border-radius:32px 32px 0 0; padding-bottom:85px; }footer { border-radius:30px 30px 0 0; }
}
@media(prefers-reduced-motion:reduce) { .reveal,.reveal-pending { opacity:1; translate:none; transition:none; }.hero-photo>img { transform:none!important; }.home-picture:hover>img,.wholesale-images figure:hover img { transform:none; } }

/* Regional retail presence: an editorial place index, not a contact directory. */
.hero h1 { text-shadow:0 2px 24px #00000020; }
.hero-bottom p,.hero .eyebrow,.hero-index,.photo-caption { text-shadow:0 1px 8px #00000065; }
.region { margin:25px 3% 100px; padding:65px 3.2% 35px; border:1px solid #00704a30; border-radius:48px; background:white; }
.region-heading h2 { font-size:clamp(48px,6.5vw,98px); line-height:1.02; letter-spacing:-.055em; color:var(--green); margin:25px 0; }
.region-heading h2 span { color:var(--red); }
.region-heading>p:last-child { font-size:17px; line-height:1.7; }
.region-layout { display:grid; grid-template-columns:.8fr 1.3fr; gap:8%; margin-top:45px; }
.region-numbers { display:flex; align-items:center; gap:35px; padding:0 0 30px; color:var(--green); }
.region-numbers>div { display:flex; flex-direction:column; }
.region-numbers strong { font-family:var(--font); font-weight:500; font-size:110px; line-height:1; letter-spacing:-.07em; }
.region-numbers div>span { font-size:12px; margin-top:10px; }
.number-plus { font-size:40px; font-family:var(--font); color:var(--red); }
.region-story figure { position:relative; height:370px; border-radius:24px 90px 24px 24px; overflow:hidden; }
.region-story img { object-position:center 50%; transition:transform 1s; }
.region-story figure:hover img { transform:scale(1.035); }
.region-story figcaption { position:absolute; bottom:20px; left:20px; right:15px; color:#fff; font-size:11px; text-shadow:0 1px 6px #000; }
.region-story figure:after { content:''; position:absolute; inset:70% 0 0; background:linear-gradient(transparent,#0007); pointer-events:none; }
.region-story figcaption { z-index:1; }
.place { display:flex; align-items:start; gap:20px; }
.place-number { font-size:10px; color:var(--red); padding-top:5px; }
.place p { text-transform:uppercase; letter-spacing:1.2px; font-size:9px; margin-bottom:9px; }
.place h3 { color:var(--green); font-size:clamp(26px,2.6vw,40px); line-height:1.12; letter-spacing:-.045em; }
.place-shop { padding:30px; border-radius:24px; background:var(--green); color:#fff; }
.place-shop .place-number,.place-shop h3 { color:white; }
.place-shop h3 { font-size:clamp(35px,3.8vw,58px); margin-bottom:15px; }
.place-shop div>span { font-size:12px; }
.market-heading { display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid #00704a40; margin:36px 0 0; padding-bottom:16px; font-size:10px; color:var(--green); }
.market-places { display:grid; grid-template-columns:1fr 1fr; gap:0 30px; }
.market-places .place { padding:25px 0; border-bottom:1px solid #00704a25; gap:12px; }
.market-places .place:first-child { grid-column:1 / -1; }
.market-places .place:first-child h3 { font-size:45px; }
.region-trade { border-top:1px solid #00704a30; margin-top:50px; padding-top:25px; display:flex; align-items:center; justify-content:space-between; gap:45px; }
.region-trade p { max-width:680px; font-size:12px; line-height:1.8; }
.region-trade .text-link { font-size:12px; color:var(--green); }
@media(max-width:1000px) { .region-layout { gap:5%; grid-template-columns:.7fr 1.3fr; }.region-numbers { gap:23px; }.region-numbers strong { font-size:85px; }.market-places { gap:0 18px; }.place h3 { font-size:26px; }.home-flowers { padding-top:0; }.wholesale { padding-bottom:65px; } }
@media(max-width:700px) {
 .header nav { background:var(--green); }
 .hero-photo:after { background:linear-gradient(90deg,#1015108c,#10151029),linear-gradient(0deg,#10151045,transparent 35%); }
 .wholesale { border-radius:32px; padding-bottom:40px; }
 .home-flowers { margin-top:60px; padding-top:0; border-radius:32px; }
 .region { margin:15px 4% 65px; padding:35px 6% 28px; border-radius:30px; }
 .region-heading h2 { font-size:clamp(40px,10.5vw,65px); margin:20px 0; }
 .region-heading>p:last-child { font-size:14px; }
 .region-layout { grid-template-columns:1fr; gap:30px; margin-top:28px; }
 .region-story { display:grid; grid-template-columns:.75fr 1fr; gap:20px; align-items:center; }
 .region-numbers { flex-direction:column; gap:8px; align-items:start; padding:0; }.region-numbers strong { font-size:64px; }.region-numbers div>span { font-size:10px; margin-top:2px; }.number-plus { font-size:25px; }
 .region-story figure { height:265px; border-radius:20px 60px 20px 20px; }.region-story figcaption { left:12px; bottom:12px; font-size:9px; }
 .place-shop { padding:24px 20px; }.place-shop h3 { font-size:35px; }
 .market-heading { font-size:9px; gap:12px; margin-top:30px; }
 .market-places { grid-template-columns:1fr; }.market-places .place { padding:20px 0; gap:20px; }.market-places .place h3 { font-size:33px; }.market-places .place:first-child h3 { font-size:38px; }
 .region-trade { flex-direction:column; align-items:start; gap:17px; margin-top:30px; padding-top:22px; }.region-trade p { font-size:11px; }
 .closing { margin:0 4%; padding:45px 6%; border-radius:32px; }.closing h2 { font-size:clamp(34px,8.6vw,58px); }
 footer { margin-top:65px; border-radius:30px 30px 0 0; }
}
@media(prefers-reduced-motion:reduce) { .region-story figure:hover img { transform:none; } }
@media(max-width:360px) { .region-layout,.region-places,.market-places { min-width:0; }.place-shop { gap:12px; padding:22px 15px; }.place-shop h3 { font-size:29px; }.market-places .place h3 { font-size:29px; }.market-heading { font-size:8px; } }
