:root{--display-serif:"Cormorant Garamond",serif;--display-script:"Italianno",cursive;--display-zh:"Noto Serif TC",serif;--blush:#c88f96;--ink:#582f32;--cream:#f5ede9;--paper:#fffaf7;--brown:#582f32;--pink:#c88f96;--line:rgba(88,47,50,.22)}
body{font-family:"Manrope",sans-serif;letter-spacing:.045em;background-color:var(--cream);background-image:radial-gradient(circle at 18% 12%,rgba(255,255,255,.75),transparent 25%),radial-gradient(circle at 82% 28%,rgba(216,177,177,.18),transparent 23%),linear-gradient(115deg,rgba(255,255,255,.18),transparent 42%)}
.loader{font-family:var(--display-serif);font-weight:300;letter-spacing:.01em}
.nav{padding:25px 2.6vw}.brand{font-family:var(--display-serif);font-size:30px;font-weight:400;letter-spacing:.02em}.nav>p,.nav nav{letter-spacing:.2em}.nav nav{gap:2.2rem}
.hero{min-height:100vh;padding:15vh 3vw 7vw;grid-template-columns:.82fr 1.18fr;gap:6vw}.hero-copy h1,.section-head h2,.intro h2,.contact h2{font-family:var(--display-serif);font-weight:300;letter-spacing:.005em;line-height:.88}.hero-copy h1{font-size:clamp(4.2rem,6.2vw,7.4rem)}.hero-copy h1 em,.section-head h2 em,.intro h2 em,.contact h2 em{font-style:italic}.hero-copy p{margin:4vw 5vw 0 7vw;max-width:30em;font-family:var(--display-zh);font-size:15px;line-height:2.25;letter-spacing:.12em}.hero-copy .script-note{margin:0 0 2rem;font-family:var(--display-script);font-size:clamp(1.7rem,2.3vw,2.8rem);line-height:1;color:var(--blush);letter-spacing:.03em}.hero-image{position:relative;height:auto;max-height:none;align-self:center;overflow:visible;padding:1.4vw;background:rgba(255,250,247,.66);box-shadow:0 18px 55px rgba(88,47,50,.09)}.hero-image:before{content:"";position:absolute;inset:-12px;border:1px solid rgba(88,47,50,.14);pointer-events:none}.hero-image img{height:auto;max-height:none;object-fit:contain;object-position:center}.hero-index{letter-spacing:.2em}
.intro{padding:12vw 8vw;grid-template-columns:.35fr 1.45fr .7fr;gap:6vw}.intro h2{font-size:clamp(3.7rem,5.6vw,6.7rem)}.intro>div>p,.feature p,.process li p,.secondary-copy p{font-family:var(--display-zh);letter-spacing:.1em;line-height:2.2}.intro dd{letter-spacing:.09em;line-height:2}
.section-head{margin-bottom:9vw}.section-head h2{font-size:clamp(4rem,6.3vw,7.4rem);letter-spacing:.01em}.featured,.floral-section,.process,.output-section,.secondary,.art-archive{padding:11vw 6vw}
.feature-grid{gap:11vw 4vw}.feature-wide{grid-template-columns:1.05fr .95fr;gap:6vw;padding:4vw;background:#eadfd7}.feature figure,.feature-wide figure{height:auto;overflow:visible}.feature img,.feature-wide img{height:auto;max-height:none;object-fit:contain;object-position:center;transition:transform .8s}.feature:nth-child(2){margin-top:11vw}.feature h3{font-family:var(--display-zh);letter-spacing:.1em}.feature p{font-size:13px}
.output-section{background:#fffdf8}.output-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw 4vw;align-items:start}.output-grid figure{margin:0}.output-grid figure:first-child{grid-row:span 2}.output-grid img,.output-grid figure:first-child img{width:100%;height:auto;max-height:none;object-fit:contain}.output-grid figcaption{display:grid;gap:.75rem;padding:1.2rem 0;border-top:1px solid var(--line);font-family:var(--display-zh);letter-spacing:.1em}.output-grid figcaption b{font-size:1.1rem;font-weight:400}.output-grid figcaption span{font-size:12px;line-height:2}
.floral-preview{gap:5vw 3vw}.floral-preview a{letter-spacing:.12em}.floral-preview img{height:auto;max-height:none;object-fit:contain;background:transparent}.floral-preview a:nth-child(2){margin-top:13vw}.floral-preview a:nth-child(4){margin-top:-3vw}.all-work{font-family:var(--display-serif);font-weight:300;letter-spacing:.04em}
.art-archive{position:relative;background:#eadbd8;background-image:radial-gradient(circle at 0 0,rgba(255,255,255,.48),transparent 30%),radial-gradient(circle at 100% 100%,rgba(255,255,255,.35),transparent 32%)}.archive-title{display:grid;grid-template-columns:.5fr 1.5fr .65fr;gap:4vw;align-items:end;margin-bottom:10vw}.archive-title h2{margin:0;font:300 clamp(4rem,6.6vw,8rem)/.88 var(--display-serif);letter-spacing:.01em}.archive-title h2 em{color:var(--blush);font-weight:300}.archive-title p{font:300 13px/2.2 var(--display-zh);letter-spacing:.12em}.archive-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:8vw 3vw;align-items:start}.archive-grid figure{margin:0}.archive-grid img{width:100%;height:auto;object-fit:contain}.archive-grid figcaption{padding-top:1rem;border-top:1px solid var(--line);font-size:9px;letter-spacing:.18em}.archive-a{grid-column:1/span 5}.archive-b{grid-column:8/span 4;margin-top:9vw!important}.archive-c{grid-column:2/span 3}.archive-d{grid-column:6/span 6;margin-top:-5vw!important}.archive-e{grid-column:1/span 5}.archive-f{grid-column:8/span 3;margin-top:12vw!important}
.secondary{display:grid;grid-template-columns:1.35fr .65fr;gap:8vw;border-top:1px solid var(--line)}.secondary .section-head{display:block}.secondary .section-head h2{font-size:clamp(3.8rem,5.7vw,6.8rem);margin-top:3rem}.secondary-copy{align-self:end;padding:3.5vw;border:1px solid var(--line)}.secondary-copy h3{font:400 clamp(1.7rem,2.6vw,2.8rem) var(--display-zh);letter-spacing:.1em}.secondary-copy a{display:block;margin-top:3rem;padding-top:1rem;border-top:1px solid;font:300 14px var(--display-zh);letter-spacing:.1em}
.process li>span{font-family:var(--display-zh);letter-spacing:.1em}.contact>a{letter-spacing:.05em}
/* flower cursor made from petals */
.cursor{width:14px;height:14px;border:0;border-radius:50%;background:var(--blush);box-shadow:0 -11px 0 -2px #c88991,8px -7px 0 -2px #d8a9a5,11px 0 0 -2px #bc7f88,8px 7px 0 -2px #d8a9a5,0 11px 0 -2px #c88991,-8px 7px 0 -2px #d8a9a5,-11px 0 0 -2px #bc7f88,-8px -7px 0 -2px #d8a9a5;transition:transform .35s,width .25s,height .25s;mix-blend-mode:multiply}.cursor.big{width:18px;height:18px;transform:translate(-50%,-50%) rotate(45deg) scale(1.25)}
.seasonal-album{padding:12vw 6vw;background:rgba(255,250,247,.84);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.album-head{display:grid;grid-template-columns:.45fr 1.15fr .55fr;gap:4vw;align-items:end;margin-bottom:9vw}.album-head h2{margin:0;font:300 clamp(4rem,6.4vw,7.6rem)/.88 var(--display-serif);letter-spacing:.01em}.album-head h2 em{color:var(--blush);font-weight:300}.album-head>p:last-child{font:300 13px/2.2 var(--display-zh);letter-spacing:.12em}.script-note{font-family:var(--display-script);font-size:clamp(1.8rem,2.5vw,3rem);color:var(--blush);letter-spacing:.02em}.album-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:7vw 3vw;align-items:start}.album-grid figure{margin:0}.album-grid figure:nth-child(1),.album-grid figure:nth-child(6),.album-grid figure:nth-child(8){grid-column:span 5}.album-grid figure:nth-child(2),.album-grid figure:nth-child(4),.album-grid figure:nth-child(9){grid-column:span 4}.album-grid figure:nth-child(3),.album-grid figure:nth-child(5),.album-grid figure:nth-child(7){grid-column:span 3}.album-grid figure:nth-child(2),.album-grid figure:nth-child(5),.album-grid figure:nth-child(8){margin-top:8vw}.album-grid img{width:100%;height:auto;object-fit:contain;box-shadow:0 14px 35px rgba(88,47,50,.08)}.album-grid figcaption{padding:.9rem 0;border-top:1px solid var(--line);font-size:9px;letter-spacing:.18em}
@media(max-width:850px){.nav{padding:18px 5vw}.brand{font-size:24px}.hero{grid-template-columns:1fr;padding:18vh 6vw 20vw;gap:12vw}.hero-copy h1{font-size:17vw;line-height:.86}.hero-copy p{margin:8vw 0 0;font-size:13px}.hero-copy .script-note{margin:0 0 1.5rem}.hero-image{padding:3vw}.hero-image img{max-height:none}.intro{grid-template-columns:1fr;padding:24vw 7vw}.intro h2,.section-head h2,.secondary .section-head h2{font-size:14vw}.featured,.floral-section,.process,.output-section,.secondary,.art-archive,.seasonal-album{padding:22vw 7vw}.feature-grid{grid-template-columns:1fr;gap:18vw}.feature-wide{grid-column:1;display:block;padding:7vw}.feature:nth-child(2){margin-top:0}.feature img,.feature-wide img,.floral-preview img{max-height:none}.output-grid{grid-template-columns:1fr;gap:15vw}.output-grid figure:first-child{grid-row:auto}.album-head,.archive-title{grid-template-columns:1fr}.album-head h2,.archive-title h2{font-size:15vw}.album-grid,.archive-grid{grid-template-columns:1fr;gap:16vw}.album-grid figure,.album-grid figure:nth-child(n),.archive-a,.archive-b,.archive-c,.archive-d,.archive-e,.archive-f{grid-column:1;margin:0!important}.secondary{grid-template-columns:1fr}.secondary-copy{padding:8vw}.cursor{display:none}}

.profile-feature{position:relative;display:grid;grid-template-columns:.78fr 1.22fr;gap:9vw;align-items:center;padding:11vw 6vw;background:var(--paper);overflow:hidden}.profile-feature:before{content:"";position:absolute;left:-8vw;bottom:-12vw;width:34vw;height:34vw;border:1px solid rgba(200,143,150,.28);border-radius:50%;box-shadow:0 0 0 2vw rgba(255,255,255,.55),0 0 0 2.1vw rgba(200,143,150,.18),0 0 0 5vw rgba(255,255,255,.38)}.profile-portrait{position:relative;margin:0;padding:1.4vw;background:#eadbd8;box-shadow:0 20px 55px rgba(88,47,50,.1);z-index:1}.profile-portrait:before,.profile-portrait:after{content:"";position:absolute;pointer-events:none}.profile-portrait:before{inset:-14px;border:1px solid var(--line)}.profile-portrait:after{inset:1.4vw;border:1px solid rgba(255,255,255,.58)}.profile-portrait img{display:block;width:100%;height:auto;object-fit:contain}.profile-copy{position:relative;z-index:1}.profile-copy h2{margin:2.5rem 0 3rem;font:300 clamp(3.5rem,5.4vw,6.5rem)/.9 var(--display-serif);letter-spacing:.005em}.profile-copy h2 em{color:var(--blush);font-weight:300}.profile-copy>p:not(.script-note){max-width:46em;font:300 14px/2.35 var(--display-zh);letter-spacing:.11em}.profile-copy dl{display:grid;grid-template-columns:1fr 1fr;gap:2vw;margin:3rem 0}.profile-copy dl div{padding-top:1rem;border-top:1px solid var(--line)}.profile-copy dt{font-size:10px;letter-spacing:.2em}.profile-copy dd{margin:.7rem 0 0;font:300 13px/1.9 var(--display-zh);letter-spacing:.09em}.profile-copy>a{display:inline-block;padding:.9rem 1.5rem;border:1px solid var(--ink);font:300 13px var(--display-zh);letter-spacing:.12em;transition:.35s}.profile-copy>a:hover{background:var(--ink);color:var(--paper)}
@media(max-width:850px){.profile-feature{grid-template-columns:1fr;gap:18vw;padding:22vw 7vw}.profile-copy h2{font-size:14vw}.profile-copy dl{grid-template-columns:1fr}}

/* balanced editorial hero proportions */
@media(min-width:851px){.hero{grid-template-columns:.95fr 1.05fr;gap:5vw}.hero-copy h1{font-size:clamp(3.6rem,4.85vw,5.9rem);line-height:.9}.hero-copy p{margin:4vw 3vw 0 5vw;max-width:32em}.hero-copy .script-note{display:block;margin:1.5rem 0 2.4rem;font-family:var(--display-zh);font-size:13px;line-height:1.8;letter-spacing:.18em}}
@media(max-width:850px){.hero-copy h1{font-size:14vw;line-height:.92}.hero-copy .script-note{font-family:var(--display-zh);font-size:12px;line-height:1.8;letter-spacing:.14em}}

/* slow floral opening sequence */
.floral-opening{display:flex;flex-direction:column;gap:2rem;overflow:hidden;transform:none;opacity:1;transition:opacity 1.15s ease,visibility 1.15s}.floral-opening.done{transform:none;opacity:0;visibility:hidden}.opening-glow{position:absolute;width:42vmin;height:42vmin;border-radius:50%;background:radial-gradient(circle,rgba(210,150,158,.28),rgba(245,237,233,0) 68%);filter:blur(18px);animation:openingGlow 3.1s ease-out both}.opening-flower{position:relative;width:22vmin;height:22vmin;animation:flowerFloat 3.1s cubic-bezier(.18,.7,.22,1) both}.petal{position:absolute;left:50%;top:50%;width:8.3vmin;height:12.8vmin;margin:-11.5vmin 0 0 -4.15vmin;border-radius:52% 48% 48% 52% / 64% 64% 36% 36%;background:linear-gradient(150deg,rgba(255,252,248,.98),rgba(222,170,177,.9) 52%,rgba(170,103,113,.82));box-shadow:inset 1.1vmin 0 1.5vmin rgba(255,255,255,.55),0 1vmin 3vmin rgba(88,47,50,.1);transform-origin:50% 92%;opacity:0;filter:blur(5px);animation:petalBloom 2.35s cubic-bezier(.16,.72,.22,1) forwards}.petal-one{--turn:0deg;animation-delay:.12s}.petal-two{--turn:60deg;animation-delay:.25s}.petal-three{--turn:120deg;animation-delay:.38s}.petal-four{--turn:180deg;animation-delay:.51s}.petal-five{--turn:240deg;animation-delay:.64s}.petal-six{--turn:300deg;animation-delay:.77s}.flower-heart{position:absolute;left:50%;top:50%;width:4.1vmin;height:4.1vmin;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f5dcb5,#b47a66 72%);box-shadow:0 0 0 1vmin rgba(239,203,179,.26);transform:translate(-50%,-50%) scale(0);animation:heartOpen .9s 1.3s ease-out forwards}.opening-name{position:relative;margin:0!important;font:300 clamp(2.4rem,5vw,5rem)/1 var(--display-serif)!important;letter-spacing:.08em!important;opacity:0;transform:translateY(18px);animation:nameEnter 1.2s 1.65s ease forwards}.opening-name span{color:var(--blush)}.floral-opening>small{position:relative;font:300 11px var(--display-zh);letter-spacing:.35em;opacity:0;animation:nameEnter 1.1s 2s ease forwards}@keyframes petalBloom{0%{opacity:0;filter:blur(6px);transform:rotate(var(--turn)) translateY(4.5vmin) scale(.12)}45%{opacity:1;filter:blur(1px)}100%{opacity:1;filter:blur(0);transform:rotate(var(--turn)) translateY(0) scale(1)}}@keyframes heartOpen{to{transform:translate(-50%,-50%) scale(1)}}@keyframes flowerFloat{0%{transform:scale(.52) rotate(-12deg)}70%{transform:scale(1) rotate(0)}100%{transform:scale(1.04) rotate(2deg)}}@keyframes openingGlow{0%{opacity:0;transform:scale(.35)}60%{opacity:1}100%{opacity:.6;transform:scale(1.35)}}@keyframes nameEnter{to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.floral-opening{display:none}.petal,.opening-flower,.opening-name,.floral-opening>small{animation:none}}

/* orderly editorial system */
:root{--clean-zh:"Noto Sans TC",sans-serif}
body{font-family:var(--clean-zh);letter-spacing:.035em}
.nav{width:100%;padding-left:max(32px,4vw);padding-right:max(32px,4vw)}
.nav>p,.nav nav{letter-spacing:.12em}
.hero,.intro,.featured,.output-section,.floral-section,.seasonal-album,.art-archive,.profile-feature,.secondary,.process{width:100%;max-width:1920px;margin-inline:auto}
.hero{grid-template-columns:minmax(440px,.9fr) minmax(560px,1.1fr);gap:5vw;padding-left:4vw;padding-right:4vw}
.hero-copy h1,.intro h2,.section-head h2,.album-head h2,.archive-title h2,.profile-copy h2,.secondary .section-head h2,.contact h2{font-family:var(--clean-zh);font-weight:300;font-style:normal;letter-spacing:.015em;line-height:1.18;word-break:keep-all;overflow-wrap:normal}
.hero-copy h1 em,.intro h2 em,.section-head h2 em,.album-head h2 em,.archive-title h2 em,.profile-copy h2 em,.contact h2 em{font-style:normal;font-weight:300}
.hero-copy h1{font-size:clamp(3rem,4vw,4.8rem);line-height:1.14}
.hero-copy p{margin:3.2rem 0 0;max-width:38em;font-family:var(--clean-zh);font-size:15px;line-height:2.05;letter-spacing:.075em}
.hero-copy .script-note{font-family:var(--clean-zh);letter-spacing:.12em}
.intro{grid-template-columns:170px minmax(520px,1fr) minmax(300px,.55fr);gap:4vw;align-items:start;padding:10vw 6vw}
.intro h2{font-size:clamp(2.8rem,4.1vw,4.7rem);margin:0 0 3rem}
.intro>div>p{margin:0;max-width:42em;font-family:var(--clean-zh);font-size:15px;line-height:2.15;letter-spacing:.07em}
.intro dl{padding-top:.2rem}.intro dd{font-family:var(--clean-zh);font-size:13px;line-height:1.9}
.section-head,.album-head,.archive-title{display:grid;grid-template-columns:170px minmax(0,1fr);gap:4vw;align-items:start;margin-bottom:5.5vw}
.section-head h2,.album-head h2,.archive-title h2,.secondary .section-head h2{grid-column:2;font-size:clamp(2.9rem,4.3vw,5rem);margin:0;max-width:14em}
.album-head .script-note,.album-head>p:last-child,.archive-title>p{grid-column:2;max-width:48em;margin:1rem 0 0;font-family:var(--clean-zh);font-size:14px;line-height:2;letter-spacing:.07em}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3vw}.feature-wide{grid-column:auto;display:block;padding:0;background:transparent}.feature:nth-child(2){margin-top:0}.feature figure,.feature-wide figure{height:31vw;max-height:570px;margin:0;display:flex;align-items:center;background:#efe5e1;overflow:hidden}.feature img,.feature-wide img{width:100%;height:100%;object-fit:contain}.feature div{padding:1.5rem 0}.feature h3{font-family:var(--clean-zh);font-size:clamp(1.6rem,2.2vw,2.5rem);letter-spacing:.06em}.feature p{font-family:var(--clean-zh);font-size:13px;line-height:2;letter-spacing:.06em}
.output-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3vw}.output-grid figure:first-child{grid-row:auto}.output-grid figure{display:flex;flex-direction:column}.output-grid img,.output-grid figure:first-child img{height:31vw;max-height:570px;object-fit:contain;background:#f1e8e4}.output-grid figcaption{font-family:var(--clean-zh);min-height:120px}
.floral-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3vw}.floral-preview a,.floral-preview a:nth-child(2),.floral-preview a:nth-child(3),.floral-preview a:nth-child(4){grid-column:auto;margin:0}.floral-preview img{height:29vw;max-height:520px;object-fit:contain;background:#e9ddd8}.floral-preview span{font-family:var(--clean-zh)}
.album-grid,.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5vw 3vw}.album-grid figure,.album-grid figure:nth-child(n),.archive-a,.archive-b,.archive-c,.archive-d,.archive-e,.archive-f{grid-column:auto;margin:0!important}.album-grid img,.archive-grid img{width:100%;height:30vw;max-height:540px;object-fit:contain;background:#f0e6e2}.album-grid figcaption,.archive-grid figcaption{font-family:var(--clean-zh);font-size:10px;letter-spacing:.1em}
.profile-feature{grid-template-columns:minmax(360px,.7fr) minmax(560px,1.3fr);gap:7vw}.profile-copy h2{font-size:clamp(2.8rem,4vw,4.6rem);max-width:15em}.profile-copy>p:not(.script-note),.secondary-copy p,.process li p{font-family:var(--clean-zh);letter-spacing:.065em}.profile-copy dd,.profile-copy>a,.secondary-copy h3,.secondary-copy a,.process li>span{font-family:var(--clean-zh)}
.secondary{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);align-items:start}.secondary-copy{align-self:start;margin-top:6rem}.process li{grid-template-columns:70px minmax(240px,.7fr) minmax(320px,1.3fr)}
.contact h2{font-size:clamp(3.2rem,5.3vw,6rem);max-width:14em}
@media(max-width:1100px) and (min-width:851px){.hero{grid-template-columns:.9fr 1.1fr}.hero-copy h1{font-size:3.4rem}.intro{grid-template-columns:120px 1fr 280px}.feature-grid{grid-template-columns:1fr 1fr}.feature figure,.feature-wide figure{height:48vw}.floral-preview{grid-template-columns:1fr 1fr}.floral-preview img{height:48vw}}
@media(max-width:850px){.hero{grid-template-columns:1fr}.hero-copy h1{font-size:11.5vw;line-height:1.2}.hero-copy p{font-size:14px;line-height:2}.intro{grid-template-columns:1fr;padding:22vw 7vw}.intro h2,.section-head h2,.album-head h2,.archive-title h2,.profile-copy h2,.secondary .section-head h2{font-size:10.5vw;line-height:1.3}.section-head,.album-head,.archive-title{grid-template-columns:1fr}.section-head h2,.album-head h2,.archive-title h2,.secondary .section-head h2,.album-head .script-note,.album-head>p:last-child,.archive-title>p{grid-column:1}.feature-grid,.output-grid,.floral-preview,.album-grid,.archive-grid{grid-template-columns:1fr}.feature figure,.feature-wide figure,.output-grid img,.output-grid figure:first-child img,.floral-preview img,.album-grid img,.archive-grid img{height:auto;max-height:none}.output-grid figcaption{min-height:0}.profile-feature{grid-template-columns:1fr}.secondary{grid-template-columns:1fr}.secondary-copy{margin-top:0}.process li{grid-template-columns:42px 1fr}.process li p{grid-column:2}}

/* black lily cursor from the supplied artwork */
.cursor{width:42px;height:42px;border:0;border-radius:0;background:transparent url("images/cursor-black-lily-v1.png") center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 2px 2px rgba(0,0,0,.18));mix-blend-mode:multiply;transition:width .25s,height .25s,transform .35s}.cursor.big{width:62px;height:62px;transform:translate(-50%,-50%) rotate(8deg);box-shadow:none}

/* photoreal peony bloom; replaces the geometric petals */
.realistic-flower{width:min(42vmin,430px);height:min(42vmin,430px);animation:realFlowerDrift 3.05s cubic-bezier(.16,.7,.18,1) both}.realistic-flower .petal,.realistic-flower .flower-heart{display:none}.real-bloom{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform-origin:50% 52%}.bloom-shadow{opacity:0;filter:blur(22px) saturate(.7);animation:realBloomShadow 2.8s ease-out forwards}.bloom-main{opacity:0;clip-path:circle(5% at 50% 52%);filter:blur(12px) saturate(.72) brightness(.96);animation:realBloomOpen 2.75s cubic-bezier(.16,.76,.2,1) .08s forwards}@keyframes realBloomOpen{0%{opacity:0;clip-path:circle(5% at 50% 52%);filter:blur(14px) saturate(.65) brightness(.9);transform:scale(.28) rotate(-7deg)}30%{opacity:.9;filter:blur(5px) saturate(.82) brightness(.96)}72%{clip-path:circle(48% at 50% 52%)}100%{opacity:1;clip-path:circle(75% at 50% 52%);filter:blur(0) saturate(1) brightness(1);transform:scale(1) rotate(0)}}@keyframes realBloomShadow{0%{opacity:0;transform:scale(.25)}55%{opacity:.28}100%{opacity:.12;transform:scale(1.13)}}@keyframes realFlowerDrift{0%{transform:translateY(18px)}60%{transform:translateY(0)}100%{transform:translateY(-3px)}}
@media(max-width:850px){.cursor{display:none}.realistic-flower{width:64vmin;height:64vmin}}

/* ETZ9L-only opening animation */
.logo-opening{gap:1.4rem}.logo-opening .opening-name{font-size:clamp(4.5rem,10vw,10rem)!important;letter-spacing:-.08em!important;filter:blur(12px);transform:scale(.82);animation:logoFocus 1.9s cubic-bezier(.2,.72,.2,1) forwards}.logo-opening>small{font-family:var(--clean-zh);letter-spacing:.32em;transform:translateY(12px);animation:logoSubtitle 1s 1.15s ease forwards}.logo-opening .opening-glow,.logo-opening .opening-flower{display:none}@keyframes logoFocus{0%{opacity:0;filter:blur(16px);letter-spacing:-.12em;transform:scale(.82)}55%{opacity:1;filter:blur(2px)}100%{opacity:1;filter:blur(0);letter-spacing:.08em;transform:scale(1)}}@keyframes logoSubtitle{to{opacity:.72;transform:translateY(0)}}

/* muted pink flower cursor */
.cursor{width:38px;height:38px;background:transparent url("images/cursor-pink-flower-v1.png") center/contain no-repeat;filter:drop-shadow(0 2px 3px rgba(79,46,50,.2));mix-blend-mode:normal}.cursor.big{width:56px;height:56px;transform:translate(-50%,-50%) rotate(10deg)}
