/* Bloomia's garden: shared visual rhythm, layered motion and a compact photo board. */
[hidden]{display:none!important}header{position:sticky;top:0;background:#f7f3e8ed;backdrop-filter:blur(14px);z-index:20;height:90px}nav{gap:24px}.scroll-progress{position:fixed;inset:0 auto auto 0;width:100%;height:3px;background:var(--pink);transform:scaleX(var(--scroll-progress,0));transform-origin:left;z-index:40;pointer-events:none}
.hero{min-height:calc(100svh - 90px)}.hero-line{display:block;animation:hero-rise 1s cubic-bezier(.16,1,.3,1) both}.hero-line:nth-child(2){animation-delay:.14s}.hero-copy .intro{animation:hero-rise 1s .24s both}.hero-stage{transition:transform .6s cubic-bezier(.16,1,.3,1);animation:stage-arrive 1.2s .2s both}.product-float img{aspect-ratio:1.32;object-fit:contain}.orbit-one{animation:orbit-breathe 9s ease-in-out infinite}.orbit-two{animation:orbit-breathe 12s ease-in-out infinite reverse}.hero-stage:after{content:'';position:absolute;inset:5%;pointer-events:none;background:linear-gradient(115deg,transparent 30%,#fff8 48%,transparent 65%);border-radius:50%;opacity:.2;mix-blend-mode:soft-light;animation:light-drift 12s ease-in-out infinite}.garden-ribbon{background:var(--pink);color:var(--cream);padding:18px 0;overflow:hidden;font-family:'DM Serif Display',serif;font-size:24px;letter-spacing:1px}.garden-ribbon>div{width:max-content;white-space:nowrap;word-spacing:8px;animation:ribbon-drift 30s linear infinite}.hero-bottom{font-size:11px}
.motion-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s cubic-bezier(.16,1,.3,1)}.motion-reveal.in-view{opacity:1;transform:none}.bloom-scene{height:135vh}.scene-photo img{transition:transform .1s linear}.scene-copy{will-change:transform}.collection{padding:80px 5vw}.product-card,.post{position:relative;min-width:0;animation:tile-arrive .7s var(--delay,0ms) cubic-bezier(.16,1,.3,1) both}.card-photo{border-radius:18px!important;transition:transform .5s cubic-bezier(.16,1,.3,1);background:linear-gradient(120deg,#f3ece7,#e9e0ed)}.card-photo img{object-fit:cover;opacity:0;transition:opacity .45s,transform .75s cubic-bezier(.16,1,.3,1)}.image-ready img{opacity:1}.card-arrow{position:absolute;bottom:14px;right:14px;width:36px;height:36px;border-radius:50%;background:var(--cream);display:grid;place-items:center}.post-caption{padding:4px 0}.post-caption p{font-size:13px!important;line-height:1.6}.card h3{line-height:1.15;margin:15px 0 8px}.save-design{position:absolute;top:13px;right:13px;width:40px;height:40px;border:0;background:#f7f3e8e8;border-radius:50%;font-size:25px;color:var(--pink);z-index:3;transition:transform .2s}.save-design:hover{transform:scale(1.1)}.clear-filters{border:0;background:transparent;padding:8px 0;margin:0 0 20px;font-size:12px;text-decoration:underline;min-height:40px;color:var(--green)}.gallery-invitation{padding:55px 25px;margin-top:45px;background:#e9dfef;border-radius:18px;text-align:center}.gallery-invitation p:last-child{font-size:13px;line-height:1.8}.gallery-invitation .eyebrow{margin-bottom:20px}.filters{margin:30px 0 22px}.gallery-tools label{font-size:12px}.gallery-tools input{font-size:14px}.gallery-tools>p{font-size:13px;white-space:normal}.faq{padding:80px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#f0e6ee}.faq h2{font-size:clamp(40px,4.5vw,66px)}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq summary{font-size:15px;cursor:pointer;line-height:1.6}.faq details p{font-size:14px;line-height:1.8}.custom label{font-size:12px}.email-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:15px}.email-actions #copy-enquiry{margin:0;padding:14px 20px;border-radius:30px}.form-note{font-size:12px}#email-fallback{background:#f7f3e8;padding:20px}#prepared-email{background:#fff9}
.board{max-width:1100px;margin:auto;padding:55px 35px 0}.profile-header{display:grid;grid-template-columns:180px 1fr 155px;gap:45px;align-items:center;margin:0 0 45px}.profile-avatar{position:relative;aspect-ratio:1;border-radius:50%;padding:5px;background:linear-gradient(45deg,var(--pink),#c8a457,var(--lilac));box-shadow:0 10px 50px #b42d6012}.profile-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:5px solid var(--cream)}.profile-avatar>span{position:absolute;right:-8px;bottom:0;color:var(--pink);font-size:55px;animation:turn 40s linear infinite}.profile-copy h1{font-size:clamp(40px,4vw,58px);letter-spacing:-2px}.profile-copy>.eyebrow{margin-bottom:14px;font-size:9px}.profile-copy>p:not(.eyebrow){font-size:14px;line-height:1.8}.profile-facts{display:flex;gap:25px;flex-wrap:wrap;font-size:12px;margin:20px 0}.profile-facts b{font-weight:700}.profile-copy .button{padding:14px 22px}.profile-note{transform:rotate(6deg);text-align:center}.profile-note>span{font-family:Georgia,serif;font-size:60px;color:var(--pink)}.profile-note p{font-family:'DM Serif Display',serif;font-style:italic;font-size:22px;line-height:1.35;margin:10px 0}.profile-note small{font-size:11px;line-height:1.7;display:block}.board-highlights{display:flex;gap:30px;overflow-x:auto;padding:8px 0 28px;scrollbar-width:thin}.board-highlights button{border:0;background:none;color:var(--green);display:grid;gap:12px;justify-items:center;min-width:95px;font-size:11px;flex:0 0 auto}.highlight-ring{display:block;width:90px;height:90px;padding:4px;border-radius:50%;border:1px solid var(--line);transition:transform .4s,border-color .4s}.highlight-ring img{width:100%;height:100%;border-radius:50%;object-fit:cover}.board-highlights .active .highlight-ring{border:2px solid var(--pink)}.board-highlights button:hover .highlight-ring{transform:translateY(-4px)}.board-collection{border-top:1px solid var(--line)}.board-tabs{display:flex;justify-content:center;gap:40px}.board-tabs button{padding:23px 2px 17px;border:0;border-top:2px solid transparent;background:none;font-size:12px;color:#637664;letter-spacing:.3px}.board-tabs button.active{border-top-color:var(--green);color:var(--green)}#saved-count{display:inline-grid;place-items:center;background:#e9dfef;border-radius:50%;min-width:20px;height:20px;margin-left:4px}.board-search{display:grid;grid-template-columns:1fr 240px;gap:20px;margin-top:15px}.board-search label{margin-bottom:10px;font-size:11px}.board-search input,.board-search select{font-size:13px;min-height:44px}.board-results{display:flex;align-items:center;justify-content:space-between;font-size:12px}.board-results .clear-filters{margin:0}.insta-grid{gap:6px;grid-template-columns:repeat(3,1fr)}.insta-grid .card-photo{border-radius:4px!important;aspect-ratio:1}.insta-grid .post-caption{position:absolute;left:0;right:0;bottom:0;padding:45px 16px 17px;background:linear-gradient(transparent,#173727e8);color:var(--cream);opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s;pointer-events:none}.insta-grid .card h3{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;letter-spacing:0;margin:0 0 6px}.insta-grid .post-caption p{font-size:11px!important}.insta-grid .card:hover .post-caption,.insta-grid .card:focus-visible .post-caption{opacity:1;transform:none}.insta-grid .card-arrow{display:none}.insta-grid .save-design{width:34px;height:34px;font-size:22px;right:10px;top:10px}.board-end{text-align:center;padding:75px 10px;border-top:1px solid var(--line);margin-top:50px}.board-end h2{font-size:60px;margin-bottom:30px}.board-end>p:last-child{font-size:13px;line-height:1.8}
dialog{width:min(1060px,96vw);padding:40px;border-radius:20px}dialog[open]{grid-template-columns:1.1fr 1fr;gap:35px;animation:post-open .45s cubic-bezier(.16,1,.3,1) both}dialog::backdrop{animation:backdrop-open .3s}body:has(dialog[open]){overflow:hidden}.detail-media{min-width:0}#detail-img{max-height:55svh;opacity:.3;transition:opacity .35s;background:#e9e0ed}#detail-img.loaded{opacity:1}.detail-thumbs{display:flex;gap:7px;margin-top:12px;overflow:hidden}.view-thumb{padding:0;border:2px solid transparent;border-radius:8px;background:none;width:calc((100% - 35px)/6);aspect-ratio:1;flex-shrink:0;overflow:hidden}.view-thumb img{height:100%;width:100%;object-fit:cover;border-radius:5px}.view-thumb[aria-pressed=true]{border-color:var(--pink)}.post-actions{display:flex;gap:18px;align-items:center;margin:20px 0 5px}.post-actions button{border:0;background:transparent;color:var(--green);font-size:12px;min-height:44px}.post-actions .action-icon{font-size:29px;color:var(--pink);padding:0;min-width:44px}#share-status{font-size:11px;line-height:1.6;margin:0}#share-status:empty{display:none}#detail-enquire{margin-top:18px}.dialog-close{width:40px;height:40px;z-index:5}.view-buttons{margin-bottom:8px}dialog h2{font-size:38px}dialog .eyebrow{margin-bottom:14px}dialog p{font-size:13px}#detail-full{font-size:11px}
@keyframes hero-rise{from{opacity:0;transform:translateY(28px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}@keyframes stage-arrive{from{opacity:0;scale:.94}to{opacity:1;scale:1}}@keyframes orbit-breathe{0%,100%{scale:1}50%{scale:1.05}}@keyframes light-drift{0%,100%{translate:-15% 0}50%{translate:15% 0}}@keyframes ribbon-drift{to{transform:translateX(-50%)}}@keyframes tile-arrive{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}@keyframes post-open{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}@keyframes backdrop-open{from{opacity:0}to{opacity:1}}
.motion-off *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .motion-reveal{opacity:1;transform:none}.motion-off .card-photo,.motion-off .hero-stage{transform:none!important}.motion-off .scroll-progress{display:none}.motion-off .hero-line{clip-path:none}
@media(max-width:850px){header{height:80px;padding:0 5vw}nav{gap:15px}.pill{padding:11px 15px}.hero{padding-top:40px}.board{padding:35px 25px 0}.profile-header{grid-template-columns:120px 1fr;gap:25px}.profile-note{display:none}.profile-copy h1{font-size:44px}.profile-facts{gap:18px}.board-highlights{gap:22px}.highlight-ring{width:78px;height:78px}.board-highlights button{min-width:80px}.bloom-scene{height:auto}.sticky-scene{position:relative;min-height:auto}.faq{grid-template-columns:1fr;gap:30px}.scene-copy{transform:none!important}}
@media(max-width:550px){header{height:82px;gap:10px;align-items:center}.wordmark{font-size:34px}header nav{gap:12px;font-size:11px}header nav>a:nth-child(1),header nav>a:nth-child(2){display:none}header nav>a:nth-child(3){display:block}.pill{padding:9px 12px;font-size:10px}.hero h1{font-size:54px}.hero-line{letter-spacing:-2px}.hero-bottom{font-size:9px}.garden-ribbon{padding:13px 0;font-size:20px}.gallery{gap:25px 15px}.card h3{font-size:23px}.post-caption p{font-size:12px!important}.filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.filters button{white-space:nowrap;flex-shrink:0;min-height:40px;font-size:11px}.gallery-invitation{padding:35px 18px}.faq{padding:60px 6vw}.board{padding:25px 14px 0}.profile-header{grid-template-columns:85px 1fr;gap:18px;margin-bottom:28px}.profile-avatar>span{font-size:35px}.profile-copy>.eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:8px}.profile-copy h1{font-size:34px;letter-spacing:-1px}.profile-copy>p:not(.eyebrow){font-size:12px;margin:12px 0}.profile-facts{gap:14px;font-size:10px;margin:12px 0;line-height:1.6}.profile-copy .button{padding:12px 16px;font-size:10px}.board-highlights{gap:15px;padding-bottom:20px}.board-highlights button{min-width:65px;font-size:9px;gap:8px}.highlight-ring{width:65px;height:65px}.board-tabs{gap:16px;justify-content:space-between}.board-tabs button{font-size:10px;padding:18px 0 12px;white-space:nowrap}.board-search{grid-template-columns:1fr 135px;gap:10px}.board-search input,.board-search select{padding:10px;font-size:11px}.board-search label{font-size:10px}.insta-grid{gap:3px;grid-template-columns:repeat(3,1fr)}.insta-grid .save-design{width:28px;height:28px;font-size:19px;right:5px;top:5px}.insta-grid .post-caption{padding:30px 7px 7px;opacity:1;transform:none;background:linear-gradient(transparent,#173727d9)}.insta-grid .card h3{font-size:9px;line-height:1.25;margin-bottom:3px}.insta-grid .post-caption p{font-size:8px!important;line-height:1.3}.board-end{padding:50px 10px;margin-top:30px}.board-end h2{font-size:44px}.board .price-note{font-size:11px}dialog{max-height:94svh;width:96vw;padding:45px 18px 25px}dialog[open]{grid-template-columns:1fr;gap:22px}#detail-img{max-height:42svh}.detail-thumbs{gap:6px}.view-thumb{width:calc((100% - 30px)/6)}dialog h2{font-size:34px}.view-buttons{font-size:10px}.custom input,.custom textarea,.custom select{font-size:16px}.email-actions .button{font-size:12px}footer{padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-reveal{opacity:1;transform:none}.scroll-progress{display:none}.hero-line{clip-path:none}}
@media(max-width:550px){header{display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr auto;height:88px;padding:8px 18px;gap:0 10px}.wordmark{grid-row:1 / 3;font-size:31px}header nav{margin:0;justify-self:end;gap:10px}header nav .pill{padding:10px;font-size:10px}.insta-grid .card h3{font-size:10px}.insta-grid .post-caption p{font-size:9px!important}}
.product-float img{height:auto;aspect-ratio:auto}
.save-design:before{content:'';position:absolute;inset:-4px;border-radius:50%}
html{scroll-behavior:auto}
@media(max-width:550px){.insta-grid .save-design{width:36px;height:36px;font-size:23px}.board-tabs button{min-height:48px}.view-thumb{min-height:44px}}

.ocean-intro{font-size:12px;line-height:1.8;max-width:700px;padding:18px 0;border-top:1px solid var(--line);margin:0 0 20px}

/* Product detail photos: a swipeable strip with a footer (position, label, arrows) and scrollable thumbnails. */
.detail-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;border-radius:8px;background:#e9e0ed;cursor:grab;outline-offset:3px}
.detail-track::-webkit-scrollbar,.detail-thumbs::-webkit-scrollbar{display:none}
.detail-track.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.detail-slide{flex:0 0 100%;margin:0;scroll-snap-align:center;scroll-snap-stop:always;display:grid;place-items:center;aspect-ratio:1;max-height:55svh}
.detail-slide img{width:100%;height:100%;max-height:55svh;object-fit:contain;border-radius:0;opacity:.3;transition:opacity .35s;pointer-events:none;-webkit-user-drag:none;user-select:none}
.detail-slide img.loaded{opacity:1}
.detail-footer{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:11px;line-height:1.4}
.detail-footer span{flex:1;text-align:center}
.detail-footer button{width:36px;height:36px;flex-shrink:0;border:1px solid var(--line);background:transparent;border-radius:50%;color:var(--ink);cursor:pointer}
.detail-thumbs{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;cursor:grab;padding-bottom:2px}
.detail-thumbs.dragging{cursor:grabbing;user-select:none}
.view-thumb img{pointer-events:none}
@media(max-width:550px){.detail-slide,.detail-slide img{max-height:42svh}.detail-footer button{width:44px;height:44px}}

/* Gallery collections: one scrollable row (swipe or drag) replaces the collection dropdown; Saved is a single toggle. */
.board-highlights{scroll-snap-type:x proximity;scrollbar-width:none;cursor:grab;padding-left:2px;padding-right:2px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24px,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 24px,#000 calc(100% - 48px),transparent)}
.board-highlights::-webkit-scrollbar{display:none}
.board-highlights.dragging{cursor:grabbing;user-select:none;scroll-snap-type:none}
.board-highlights button{scroll-snap-align:start;cursor:pointer}
.board-highlights button span:last-child{max-width:96px;text-align:center;line-height:1.3}
.highlight-ring img{pointer-events:none}
.board-search{grid-template-columns:1fr}
.board-tabs button[aria-pressed=true]{border-top-color:var(--green);color:var(--green)}
