/* v4: concise results, a clear consultation handoff and cohesive photography. */
:root{--bloom-petal:#e8b7d3;--bloom-edge:#fbe6ed;--bloom-accent:#b5799d}
body[data-bloom-theme=rose]{--bloom-petal:#e5a9c5;--bloom-edge:#ffdee9;--bloom-accent:#b5799d}
body[data-bloom-theme=gold]{--bloom-petal:#e1c181;--bloom-edge:#fff0c5;--bloom-accent:#a68446}
body[data-bloom-theme=lilac]{--bloom-petal:#c4b4e1;--bloom-edge:#e9dfff;--bloom-accent:#947daf}
body[data-bloom-theme=sage]{--bloom-petal:#accbb9;--bloom-edge:#e3f4e8;--bloom-accent:#6f9b80}
.bloom-flower .petal.bloomed{fill:var(--bloom-petal);stroke:var(--bloom-edge)}
.bloom-halo{background:radial-gradient(var(--bloom-petal),transparent 68%);opacity:0}
.bloom-stage.is-complete .bloom-halo{opacity:.26}
.hero-copy h1{font-kerning:normal;text-wrap:balance}
.hero-handwriting{left:40px;top:338px;background:#10273ceb;padding:8px 15px;border:1px solid #c2a77980;border-radius:4px;box-shadow:0 5px 20px #081c3426;color:#fff2d5;font:500 12px/1.8 var(--sans);letter-spacing:.02em;white-space:normal;max-width:280px}
.hero-mini{display:none}
.hero-line{animation-duration:.85s}.hero-line:nth-child(2){animation-delay:.13s}.hero-line:nth-child(3){animation-delay:.26s}
.hero-business.hero-enter{animation-delay:.1s;animation-duration:.75s}.hero-description.hero-enter{animation-delay:.45s;animation-duration:.8s}.hero-actions.hero-enter{animation-delay:.6s;animation-duration:.75s}
.service-visual>img,.door-photo img,.gallery-item img{filter:saturate(.94)}
.service--flower .service-visual>img{object-position:50% 50%}
.take-home-photo img{object-position:65% 50%;transform:scale(1.1)}
.door-panel--flower .door-photo img{object-position:50% 50%}
.story-photo{align-self:start;position:sticky;top:110px}
.story-photo img{object-position:50% 18%;aspect-ratio:4/5}
.journey .journey-symbol{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:51px;min-width:51px;height:64px;line-height:1;color:#b28c58;background:linear-gradient(135deg,#f9f0df,#f1e2e2);border:1px solid #bea16c3b;border-radius:26px 26px 3px 3px}
.journey-symbol .icon{width:25px;height:25px}
.journey-symbol small{font:500 9px/1.2 var(--sans);color:#695334}
.journey li{gap:20px;align-items:center}
.maker-note{scroll-margin-top:110px;margin-top:30px;border-top:1px solid #b7976477;padding-top:25px}
.maker-note .eyebrow{font-size:11px;margin-bottom:10px;letter-spacing:.05em}
.maker-note h3{font-size:26px;line-height:1.55}
.maker-note>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:16px;line-height:1.95}
.maker-note .maker-signature{font:500 16px var(--serif);color:var(--ink)!important}
.voices.section-pad,.gallery.section-pad,.faq.section-pad{padding-block:85px}
.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px;max-width:1000px;margin-inline:auto}
.gallery-grid .gallery-item:nth-child(n){grid-column:auto;grid-row:auto;border-radius:4px 70px 4px 4px}
.gallery-grid .gallery-item:first-child{border-radius:70px 4px 4px 4px}
.result-choice-hint{font-size:12px!important;margin-top:22px;color:var(--muted)}
.result-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 22px}
.result-choices button{position:relative;display:flex;align-items:center;gap:10px;min-height:60px;text-align:left;padding:12px;font-size:12px;line-height:1.6;border:1px solid #baa48066;background:linear-gradient(135deg,#fffdf7,#eadfd1);color:var(--ink);border-radius:4px 20px 4px 4px;box-shadow:0 4px 0 #172e4615}
.result-choices button:before{content:'';width:16px;height:24px;min-width:16px;border:1px solid currentColor;border-radius:9px 9px 2px 2px;background:linear-gradient(130deg,#edd1de,#d9b383);opacity:.8}
.result-choices [data-result-choice=chart]:before{border-radius:2px;background:repeating-linear-gradient(0deg,transparent 0 5px,#b9996544 5px 6px),repeating-linear-gradient(90deg,#dfc99433 0 5px,#b9996544 5px 6px)}
.result-choices [data-result-choice=flower]:before,.result-choices [data-result-choice=workshop]:before{border-radius:80% 10% 80% 10%;background:#c6b7df}
.result-choices [data-result-choice=workshop]:before{background:#b6cdbb}
.result-choices button[aria-pressed=true]{background:linear-gradient(145deg,#35516b,#142c44);color:#fff3df;border-color:#a58957;box-shadow:0 4px 0 #10283d66}
.selected-result{border-top:2px solid var(--bloom-accent);padding-top:5px;transition:border-color .35s}
.result-menu{border-color:var(--bloom-accent)}
.result-menu-note{font-size:12px;line-height:1.85;margin:0 0 17px;color:var(--muted)}
.result-consult{display:block;width:fit-content;font-size:12px;padding:12px 0 7px;border-bottom:1px solid var(--bloom-accent);margin-top:9px}
.result-context-links{border-top:1px solid #142c4414;padding-top:7px}
.contact-receipt{display:flex;flex-direction:column;gap:5px;width:min(100%,480px);padding:19px 23px;margin:28px auto 0;text-align:left;border:1px solid #dac1908c;border-radius:4px 26px 4px 4px;background:linear-gradient(145deg,#152b44e8,#304a5cdc);box-shadow:0 12px 28px #0002}
.contact-receipt>span{font-size:11px;color:#e3c894}
.contact-receipt>strong{font:500 19px/1.6 var(--serif);color:#fff5e7}
.contact-receipt>small{font-size:12px;color:#e1e0d4}
.contact-inner .contact-hint{line-height:1.9}
.consult-dialog{width:min(550px,calc(100% - 26px));max-width:550px;max-height:calc(100svh - 28px);padding:0;border:1px solid #c9ab73;border-radius:5px 55px 5px 5px;overflow:auto;background:#fbf6eb;color:var(--ink);box-shadow:0 30px 120px #0008}
.consult-dialog::backdrop{background:#071c31cf;backdrop-filter:blur(8px)}
.consult-dialog[open]{animation:consultation-arrive .35s var(--ease)}
.consult-inner{position:relative;padding:35px 34px 24px;isolation:isolate;background:radial-gradient(ellipse at 90% 5%,#ebd7df,transparent 60%),linear-gradient(130deg,#fffbf2,#f6eddd)}
.consult-inner .eyebrow{margin:6px 0 10px;font-size:11px;letter-spacing:.05em}
.consult-inner h2{font-size:30px;line-height:1.5}
.consult-inner #consult-description{font-size:12px;line-height:1.9;margin:14px 0 20px;color:var(--muted)}
.consult-emblem{position:absolute;right:40px;top:55px;opacity:.23;color:#9a6d84;z-index:-1}
.consult-emblem .flower-mark{width:110px;height:110px}
.consult-close{position:absolute;right:15px;top:12px;border:1px solid #a08a6966;background:#fffcf499;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--ink)}
.consult-label{display:block;font-size:12px;font-weight:600;margin-bottom:8px;color:var(--ink)}
.consult-dialog select,.consult-dialog textarea{font:400 16px/1.7 var(--sans);color:var(--ink);background:#fffdf8;border:1px solid #ac94756b;border-radius:4px;width:100%;padding:11px 13px;box-shadow:inset 0 2px 7px #142c4408}
.consult-dialog select{min-height:48px;padding-right:25px}
.consult-dialog textarea{font-size:14px;resize:vertical;min-height:130px;max-height:230px;line-height:1.9}
.consult-dialog textarea:focus{outline:2px solid var(--rose-deep);outline-offset:2px}
.consult-price{font-size:12px!important;line-height:1.6;color:var(--rose-deep);margin:8px 0 19px!important}
.consult-note{font-size:11px;color:var(--muted);line-height:1.8;margin:9px 0 13px!important}
.copy-button{display:block;width:100%;min-height:48px;font-size:13px;border:1px solid #466176;background:linear-gradient(135deg,#3d5a71,#19324a);color:#fff5e3;border-radius:4px 20px 4px 20px;box-shadow:0 4px 0 #142c4440}
.copy-button:disabled{opacity:.6}
.copy-status{font-size:12px;line-height:1.8;color:#365942;margin:12px 0!important}
.copy-status:empty{display:none}
.consult-open{margin-top:17px;width:100%;font-size:14px;min-height:50px}
.consult-back{display:block;margin:14px auto 0;font-size:12px;padding:10px 15px;background:none;border-bottom:1px solid #b7976477}
.consult-dialog.is-fallback{position:fixed;inset:50% auto auto 50%;margin:0;transform:translate(-50%,-50%);z-index:180;box-shadow:0 0 0 100vmax #061a30cb,0 25px 90px #0006;animation:none}
.consult-dialog:focus-visible{outline:2px solid var(--rose-deep)}
.copy-button.is-held,.copy-button.is-pressed,.result-choices button.is-held,.result-choices button.is-pressed{box-shadow:0 1px 0 #142c4440,inset 0 2px 6px #142c4430}
@keyframes consultation-arrive{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}
@keyframes mini-card-arrive{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}
button.is-held:not(:disabled),a.is-held,summary.is-held,button.is-pressed:not(:disabled),a.is-pressed,summary.is-pressed{scale:.98}
.hero-card.is-held,.hero-card.is-pressed{box-shadow:inset 0 4px 14px #081c3477,0 3px 7px #081c3455}
@media(max-width:760px){
 .hero-scene{padding-top:99px;padding-bottom:55px;min-height:max(750px,100svh)}
 .hero-copy .eyebrow{margin-bottom:9px}
 .hero-business{margin-bottom:16px!important;line-height:1.65}
 .hero-copy h1{font-size:clamp(34px,9.2vw,54px);line-height:1.32;letter-spacing:.015em}
 .hero-description{font-size:12px;line-height:1.9;margin-top:16px}
 .hero-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;perspective:700px;max-width:380px}
 .hero-mini a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:10px 5px;min-height:68px;font:500 12px/1.3 var(--serif);border:1px solid #d0b681b3;border-radius:28px 28px 3px 3px;background:linear-gradient(150deg,#263f56ee,#0f253ae0);box-shadow:0 4px 0 #081a2960;animation:mini-card-arrive .65s var(--ease) .35s both}
 .hero-mini a:nth-child(2){animation-delay:.48s}
 .hero-mini a:nth-child(3){animation-delay:.61s;color:#352638;background:linear-gradient(145deg,#f7e2ed,#d1a1bc);border-color:#f1d2b6}
 .hero-mini a .icon,.hero-mini a .flower-mark{width:22px;height:22px}
 .hero-mini a.control-arrive{animation-name:mini-card-arrive;animation-duration:.65s}
 .hero-actions{margin-top:20px;gap:0}
 .hero-actions .hero-text-link{display:none}
 .hero-actions .btn{min-height:54px;font-size:12px}
 .hero-location{font-size:10px;margin-top:14px;max-width:100%}
 .scroll-cue{bottom:12px;font-size:9px}
 .story-photo{position:relative;top:auto}
 .story-copy .journey{margin-top:24px}
 .journey li{gap:16px}
 .maker-note{margin-top:25px;padding-top:22px;scroll-margin-top:90px}
 .maker-note h3{font-size:25px}
 .maker-note>p:not(.eyebrow){font-size:12px}
 .voices.section-pad,.gallery.section-pad,.faq.section-pad{padding-block:58px}
 .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px;gap:12px}
 .gallery-grid .gallery-item:nth-child(n){border-radius:3px 45px 3px 3px}
 .gallery-grid .gallery-item:first-child{border-radius:45px 3px 3px 3px}
 .gallery-item>span{font-size:10px;line-height:1.6}
 .result-choices{gap:9px}
 .result-choices button{font-size:11px;gap:8px;padding:10px;min-height:64px}
 .result-choices button:before{width:13px;min-width:13px;height:21px}
 .result-menu-note{font-size:12px}
 .result-consult{font-size:11px;line-height:1.8}
 .contact-receipt{padding:17px 19px;margin-top:23px}
 .contact-receipt>strong{font-size:17px}
 .contact-receipt>small{font-size:11px}
 .consult-inner{padding:34px 23px 22px}
 .consult-inner h2{font-size:27px}
 .consult-inner #consult-description{font-size:12px;margin-bottom:16px}
 .consult-dialog textarea{font-size:16px;min-height:142px}
 .consult-emblem{right:28px;top:50px}
 .consult-emblem .flower-mark{width:90px;height:90px}
}
@media(max-width:380px){.hero-copy h1{font-size:clamp(29px,9.1vw,34px)}.hero-mini{gap:8px}.hero-mini a{font-size:11px}.hero-scene{min-height:745px}.hero-business{font-size:13px}.result-choices{grid-template-columns:1fr}.consult-inner{padding-inline:20px}.consult-inner h2{font-size:25px}.gallery-grid{grid-template-rows:190px}}
@media(prefers-reduced-motion:reduce){.hero-mini a,.hero-mini a.control-arrive,.consult-dialog[open]{animation:none!important}.bloom-flower .petal{transition:none}.take-home-photo img{transform:none}}
