:root{--cream:#f6f2e9;--paper:#fffdf8;--brown:#4c302c;--olive:#85862e;--pink:#d79a9c;--line:rgba(76,48,44,.23);--en:"Manrope",sans-serif;--zh:"Noto Sans TC",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--brown);font-family:var(--en);font-weight:300;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}.loader{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;background:var(--cream);font-size:clamp(3rem,9vw,9rem);font-weight:500;letter-spacing:-.07em;transition:transform .8s cubic-bezier(.77,0,.18,1)}.loader span,.brand span{color:var(--pink)}.loader.done{transform:translateY(-100%)}.cursor{position:fixed;z-index:400;width:26px;height:26px;border:1px solid rgba(76,48,44,.42);border-radius:50%;background:#f4eee4 url("images/cursor-floral-tile-v3.png") center/cover;pointer-events:none;transform:translate(-50%,-50%);transition:width .3s,height .3s,transform .35s}.cursor.big{width:54px;height:54px;transform:translate(-50%,-50%) rotate(45deg)}.nav{position:absolute;z-index:100;inset:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;padding:20px 3vw}.brand{font-size:22px;font-weight:500;letter-spacing:-.04em}.nav>p{margin:0;font-size:9px;letter-spacing:.15em}.nav nav{display:flex;gap:1.5rem;justify-self:end;font:300 10px var(--zh)}.hero{position:relative;min-height:100svh;padding:12vh 4vw 4vw;display:grid;grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr);gap:4vw;align-items:center}.hero-copy h1,.section-head h2,.intro h2,.contact h2{margin:2vw 0;font-size:clamp(3.7rem,7vw,7.8rem);font-weight:300;line-height:.94;letter-spacing:-.055em}.hero-copy h1 em,.section-head h2 em,.intro h2 em,.contact h2 em{font-style:normal;color:var(--pink)}small{font-size:9px;letter-spacing:.15em}.hero-copy p{max-width:34em;margin:3vw 0 0 10%;font:300 14px/2.1 var(--zh);letter-spacing:.035em}.hero-image{height:76vh;margin:0;overflow:hidden}.hero-image img{height:100%;object-fit:cover}.hero-index{position:absolute;right:3vw;bottom:2vw;font-size:9px;letter-spacing:.12em}.intro{padding:11vw 7vw;border-top:1px solid var(--line);display:grid;grid-template-columns:.45fr 1.35fr .8fr;gap:5vw}.intro h2{font-size:clamp(3.2rem,5.8vw,6.2rem);margin:0 0 4vw}.intro>div>p{max-width:46em;margin-left:15%;font:300 14px/2.15 var(--zh);letter-spacing:.035em}.intro dl{margin:0}.intro dl>div{padding:1.2rem 0;border-top:1px solid var(--line)}dt{font-size:9px;letter-spacing:.13em}dd{margin:.7rem 0 0;font:300 12px/1.8 var(--zh)}.featured,.floral-section,.process{padding:10vw 5vw}.section-head{display:grid;grid-template-columns:.55fr 2fr;gap:4vw;margin-bottom:7vw}.section-head h2{grid-column:2;margin:0}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw 2vw}.feature-wide{grid-column:1/-1;display:grid;grid-template-columns:1.2fr .8fr;gap:5vw;align-items:center;padding:4vw;background:#eaded5}.feature figure{height:53vw;margin:0;overflow:hidden}.feature-wide figure{height:58vw}.feature img{height:100%;object-fit:cover;transition:transform .7s}.feature:hover img,.floral-preview a:hover img{transform:scale(1.025)}.feature:nth-child(2){margin-top:6vw}.feature div{padding:1.4rem .2rem}.feature span{font-size:9px;letter-spacing:.14em}.feature h3{margin:.8rem 0;font:400 clamp(1.8rem,3vw,3rem)/1.2 var(--zh)}.feature p{max-width:35em;font:300 13px/2 var(--zh)}.floral-section{background:#e6d9d0}.floral-preview{display:grid;grid-template-columns:repeat(12,1fr);gap:2vw;align-items:start}.floral-preview a{grid-column:span 4;overflow:hidden;font:300 12px var(--zh)}.floral-preview a:nth-child(2){grid-column:span 3;margin-top:10vw}.floral-preview a:nth-child(3){grid-column:span 5}.floral-preview a:nth-child(4){grid-column:5/span 4;margin-top:-8vw}.floral-preview img{height:42vw;object-fit:cover;transition:transform .7s}.floral-preview span{display:block;padding:.9rem 0;border-top:1px solid var(--line)}.all-work{display:flex;justify-content:space-between;margin-top:7vw;padding:2rem 0;border-top:1px solid var(--brown);font:300 clamp(1.5rem,3vw,3rem) var(--zh)}.process ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.process li{display:grid;grid-template-columns:60px 1fr 1fr;gap:2vw;padding:2rem 0;border-bottom:1px solid var(--line);align-items:start}.process b{color:var(--pink);font-weight:400}.process li>span{font:400 clamp(1.5rem,2.4vw,2.5rem) var(--zh)}.process li p{margin:0;font:300 13px/2 var(--zh)}.contact{min-height:100vh;padding:9vw 5vw 2vw;background:var(--brown);color:var(--cream);display:flex;flex-direction:column}.contact h2{margin:auto 0}.contact h2 em{color:var(--pink)}.contact>a{align-self:flex-start;border-bottom:1px solid;font-size:clamp(1.4rem,3vw,3rem)}.contact footer{display:grid;grid-template-columns:1fr 2fr 1fr;margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.35);font-size:9px;letter-spacing:.1em}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@media(pointer:fine){body,a{cursor:none}}@media(max-width:850px){.cursor{display:none}.nav{grid-template-columns:1fr auto}.nav>p{display:none}.nav nav{gap:.8rem}.nav nav a:nth-child(2),.nav nav a:nth-child(3){display:none}.hero{grid-template-columns:1fr;padding:17vh 6vw 16vw}.hero-copy h1{font-size:14vw}.hero-copy p{margin-left:0}.hero-image{height:105vw}.intro{grid-template-columns:1fr;padding:20vw 6vw}.intro h2{font-size:13vw}.intro>div>p{margin-left:0}.section-head{grid-template-columns:1fr}.section-head h2{grid-column:1;font-size:12vw}.featured,.floral-section,.process{padding:20vw 6vw}.feature-grid{grid-template-columns:1fr;gap:12vw}.feature-wide{grid-column:1;display:block;padding:6vw}.feature:nth-child(2){margin-top:0}.feature figure,.feature-wide figure{height:115vw}.floral-preview{grid-template-columns:1fr;gap:12vw}.floral-preview a,.floral-preview a:nth-child(2),.floral-preview a:nth-child(3),.floral-preview a:nth-child(4){grid-column:1;margin:0}.floral-preview img{height:115vw}.process li{grid-template-columns:38px 1fr}.process li p{grid-column:2}.contact{padding:20vw 6vw 5vw}.contact h2{font-size:12vw}.contact footer{grid-template-columns:1fr 1fr;gap:.7rem}.contact footer span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.loader{display:none}.reveal{opacity:1;transform:none}}
