/* 05 · Wildstem — florist. Deep forest green, coral pink, white; Cormorant Garamond. A liquid
   photograph beside a ring of type, a pile of prints that snaps into a grid, a lightbox. */
.v-ws { --bg: #14291f; --fg: #f4fbf6; --mut: #a6bfae; --acc: #ff6b8a; --acc2: #ffd6df; --edge: #27443a; background: var(--bg); color: var(--fg); --btn-r: 999px; --fx-fill: var(--acc2); --fx-dialog-bg: #0a1711; --fx-dialog-ink: #ffffff; }
.v-ws .ws-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.v-ws .ws-liquid { aspect-ratio: 4 / 5; border-radius: 22px; overflow: clip; }
.v-ws .ws-liquid > img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v-ws .ws-pause { position: absolute; left: 16px; bottom: 16px; z-index: 2; }
.v-ws .ws-copy { position: relative; padding-top: clamp(130px, 14vw, 190px); }
.v-ws .ws-copy .ws-ring { position: absolute; left: 0; top: 0; width: clamp(110px, 12vw, 170px); height: auto; }
.v-ws .ws-copy .ws-ring circle { fill: var(--acc); }
.v-ws .ws-copy .ws-ring text { font: 600 13.5px var(--sans); letter-spacing: 0.08em; text-transform: uppercase; fill: #14291f; }
.v-ws .ws-copy .ws-ring > path { fill: #14291f; }
.v-ws .eyebrow { color: var(--acc); }
.v-ws h2 { font: 400 clamp(44px, 5.8vw, 92px)/1 "Cormorant Garamond", serif; letter-spacing: -0.01em; max-width: 14ch; }
.v-ws h2 em { font-style: italic; color: var(--acc); }
.v-ws .lede { margin-top: 24px; color: var(--mut); }
.v-ws .btn { background: var(--acc); color: #14291f; }
.v-ws .ws-collage { margin-top: clamp(56px, 7vw, 96px); gap: 14px; }
.v-ws .ws-collage img { border-radius: 14px; }
.v-ws .ws-seasons { margin-top: clamp(56px, 7vw, 96px); }
.v-ws .ws-seasons h3 { font: 400 clamp(30px, 3.4vw, 48px)/1 "Cormorant Garamond", serif; margin-bottom: 24px; }
.v-ws .ws-seasons h3 em { font-style: italic; color: var(--acc); }
.v-ws .ws-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.v-ws .ws-gallery > a { position: relative; display: block; aspect-ratio: 1; border-radius: 14px; overflow: clip; }
.v-ws .ws-gallery > a img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v-ws .ws-gallery > a span { position: absolute; left: 12px; bottom: 10px; font: 600 10px/1 var(--sans); letter-spacing: 0.2em; text-transform: uppercase; color: #fff; text-shadow: 0 1px 8px rgb(0 0 0 / 0.5); }
.v-ws .ws-gallery dialog { border: 0; padding: 0; background: rgb(10 20 15 / 0.92); max-width: min(92vw, 1000px); }
.v-ws .ws-gallery dialog img { display: block; max-width: 100%; height: auto; border-radius: 12px; }
.v-ws .ws-gallery dialog .btn { position: absolute; top: 12px; right: 12px; min-height: 44px; }
.v-ws .fxlist { color: var(--mut); }
@media (max-width: 900px) { .v-ws .ws-hero { grid-template-columns: 1fr; } .v-ws .ws-copy .ws-ring { top: 0; } }
