@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.2xm1k7t3a0pcd.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/b887d91685b8c137-s.330vchwb4izzb.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.16u3vygyjnhr0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_44f1879f-module__rPg_NG__className{font-family:Fraunces,Fraunces Fallback}.fraunces_44f1879f-module__rPg_NG__variable{--f-display:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.19g-lkcx7iw64.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.0-95eo-012xnf.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Fallback;src:local(Arial);ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.0%;size-adjust:100.72%}.figtree_a307b3ee-module__vCZCwG__className{font-family:Figtree,Figtree Fallback;font-style:normal}.figtree_a307b3ee-module__vCZCwG__variable{--f-body:"Figtree", "Figtree Fallback"}
:root{--paper:#f6f1ea;--paper-soft:#efe7dc;--ink:#2e2420;--ink-soft:#6f6058;--rose:#e7c6bd;--rose-deep:#b98a7e;--champagne:#c2a15b;--accent:#b98a7e;--nacre:linear-gradient(115deg, #f2d9d0 0%, #efe3ce 34%, #dfe8e2 68%, #f0d8d4 100%);--font-display:var(--f-display), "Songti SC", "SimSun", serif;--font-body:var(--f-body), "PingFang SC", "Microsoft YaHei", sans-serif;--max:1180px;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}::selection{background:var(--rose);color:var(--ink)}:focus-visible{outline:2px solid var(--rose-deep);outline-offset:3px}.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--rose-deep);margin-bottom:14px;font-size:11px}.display{font-family:var(--font-display);letter-spacing:-.01em;font-weight:480;line-height:1.08}.section{padding:96px 0}.section--tint{background:var(--paper-soft)}.section-head{margin-bottom:48px}.section-head h2{font-size:clamp(30px,4.4vw,46px)}.header{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f6f1eaeb;border-bottom:1px solid #2e242014;position:sticky;top:0}.header__in{max-width:var(--max);align-items:center;gap:28px;height:66px;margin:0 auto;padding:0 24px;display:flex}.brand{font-family:var(--font-display);letter-spacing:.01em;align-items:baseline;gap:9px;margin-right:auto;font-size:21px;display:flex}.brand__zh{color:var(--rose-deep);letter-spacing:.3em;font-size:14px}.nav{gap:26px;font-size:14px;display:flex}.nav a{padding:4px 0;position:relative}.nav a:after{content:"";background:var(--ink);transform-origin:100%;width:100%;height:1px;transition:transform .35s var(--ease);position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav a:hover:after{transform-origin:0;transform:scaleX(1)}.lang{border:1px solid #2e24202e;border-radius:99px;gap:2px;padding:3px;font-size:12px;display:flex}.lang button{color:var(--ink-soft);transition:all .25s var(--ease);border-radius:99px;padding:3px 10px}.lang button.on{background:var(--ink);color:var(--paper)}.btn{background:var(--ink);color:var(--paper);letter-spacing:.04em;transition:background .3s var(--ease), transform .3s var(--ease);border-radius:99px;padding:13px 28px;font-size:14px;display:inline-block}.btn:hover{background:var(--accent);transform:translateY(-1px)}.btn--ghost{color:var(--ink);background:0 0;border:1px solid #2e242047}.btn--ghost:hover{color:var(--ink);background:#2e24200d}.header .btn{padding:9px 20px}.burger{flex-direction:column;gap:5px;padding:8px;display:none}.burger span{background:var(--ink);width:20px;height:1.5px;transition:transform .3s var(--ease), opacity .3s}.burger.open span:first-child{transform:translateY(6.5px)rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.mobile-menu{display:none}.hero{overflow:hidden}.hero__in{max-width:var(--max);grid-template-columns:1.05fr .95fr;align-items:center;gap:64px;margin:0 auto;padding:72px 24px 80px;display:grid}.hero h1{font-size:clamp(44px,6.6vw,84px)}.hero h1 em{color:var(--accent);font-style:italic;font-weight:400;transition:color .5s}.hero__sub{color:var(--ink-soft);max-width:42ch;margin-top:26px;font-size:17px}.hero__cta{flex-wrap:wrap;gap:14px;margin-top:36px;display:flex}.hero__note{letter-spacing:.06em;color:var(--ink-soft);border-top:1px solid #2e24201f;max-width:42ch;margin-top:30px;padding-top:16px;font-size:12px}.hero__img{aspect-ratio:4/5;border-radius:240px 240px 18px 18px;position:relative;overflow:hidden}.hero__img:after{content:"";background:var(--nacre);opacity:.14;mix-blend-mode:overlay;pointer-events:none;position:absolute;inset:0}.hero__img img{object-fit:cover;width:100%;height:100%;transition:transform 6s var(--ease)}.hero:hover .hero__img img{transform:scale(1.04)}.swatch{background:var(--ink);color:var(--paper);padding:78px 0 86px}.swatch .eyebrow{color:var(--champagne)}.swatch__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:44px;display:flex}.swatch__head h2{font-size:clamp(28px,4vw,42px)}.swatch__name{font-family:var(--font-display);color:var(--champagne);min-height:1.4em;font-size:clamp(18px,2.4vw,26px);font-style:italic;transition:opacity .3s}.swatch__row{scrollbar-width:none;gap:18px;padding:10px 2px 22px;display:flex;overflow-x:auto}.swatch__row::-webkit-scrollbar{display:none}.swatch__chip{width:92px;height:128px;transition:transform .4s var(--ease), box-shadow .4s var(--ease);border:1px solid #f6f1ea29;border-radius:60px;flex:none;position:relative}.swatch__chip:after{content:"";border-radius:inherit;background:linear-gradient(160deg,#ffffff80,#0000 42%);position:absolute;inset:0}.swatch__chip:hover,.swatch__chip.on{transform:translateY(-10px);box-shadow:0 22px 34px -18px #0000008c}.swatch__chip.on{border-color:var(--champagne)}.swatch__hint{color:#f6f1ea8c;letter-spacing:.04em;font-size:12.5px}.services__grid{border-top:1px solid #2e242024;grid-template-columns:repeat(3,1fr);display:grid}.service{transition:background .35s var(--ease);border-bottom:1px solid #2e242024;padding:38px 32px 44px}.service+.service{border-left:1px solid #2e242024}.service:hover{background:#e7c6bd29}.service h3{font-family:var(--font-display);font-size:25px;font-weight:500}.service p{color:var(--ink-soft);min-height:4.4em;margin-top:12px;font-size:14.5px}.service .price{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-top:18px;font-size:13px;display:inline-block}.services__more{margin-top:40px}.filters{flex-wrap:wrap;gap:8px;margin-bottom:36px;display:flex}.filters button{color:var(--ink-soft);transition:all .25s var(--ease);border:1px solid #2e242033;border-radius:99px;padding:8px 18px;font-size:13px}.filters button.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.masonry{columns:3;column-gap:18px}.masonry figure{break-inside:avoid;border-radius:14px;margin-bottom:18px;position:relative;overflow:hidden}.masonry img{width:100%;height:auto;transition:transform .8s var(--ease)}.masonry figure:hover img{transform:scale(1.045)}.masonry figcaption{letter-spacing:.08em;color:#fff;opacity:0;transition:opacity .4s var(--ease);background:linear-gradient(#0000,#1e14108c);padding:34px 16px 12px;font-size:12px;position:absolute;bottom:0;left:0;right:0}.masonry figure:hover figcaption{opacity:1}.gallery-preview{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.gallery-preview a{aspect-ratio:3/4;border-radius:14px;display:block;position:relative;overflow:hidden}.gallery-preview img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease)}.gallery-preview a:hover img{transform:scale(1.05)}.atelier__grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:64px;display:grid}.atelier__img{aspect-ratio:4/5;border-radius:18px 180px 18px 18px;overflow:hidden}.atelier__img img{object-fit:cover;width:100%;height:100%}.atelier__text p{color:var(--ink-soft);max-width:54ch;margin-top:16px}.values{margin-top:36px;display:grid}.value{border-top:1px solid #2e242024;grid-template-columns:160px 1fr;gap:18px;padding:16px 0;font-size:14.5px;display:grid}.value b{font-weight:600}.value span{color:var(--ink-soft)}.team__grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.member{background:var(--paper);border:1px solid #2e24201a;border-radius:16px;padding:34px 32px}.member h3{font-family:var(--font-display);font-size:26px}.member .role{letter-spacing:.14em;text-transform:uppercase;color:var(--rose-deep);margin-top:4px;font-size:12px}.member p{color:var(--ink-soft);margin-top:14px;font-size:14.5px}.booking__grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:64px;display:grid}.booking__img{aspect-ratio:4/5;border-radius:18px;position:sticky;top:96px;overflow:hidden}.booking__img img{object-fit:cover;width:100%;height:100%}.booking__sub{color:var(--ink-soft);margin:10px 0 34px}.form{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form .full{grid-column:1/-1}.field label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:7px;font-size:12px;display:block}.field input,.field select,.field textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #2e242029;border-radius:10px;padding:13px 14px;font-size:15px;transition:border-color .25s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--rose-deep);outline:none}.field textarea{resize:vertical;min-height:96px}.form .btn{justify-self:start}.form-ok{background:#fff;border:1px solid #2e242024;border-radius:16px;padding:44px 40px}.form-ok h3{font-family:var(--font-display);font-size:28px}.form-ok p{color:var(--ink-soft);margin-top:10px}.form-ok button{text-underline-offset:4px;margin-top:22px;font-size:14px;text-decoration:underline}.page-head{padding:72px 0 20px}.page-head h1{font-size:clamp(36px,5.4vw,62px)}.page-head .sub{color:var(--ink-soft);max-width:52ch;margin-top:16px}.pricing-cat{margin-top:56px}.pricing-cat h3{font-family:var(--font-display);margin-bottom:8px;font-size:27px}.price-table{border-collapse:collapse;width:100%}.price-table tr{border-top:1px solid #2e242024;transition:background .25s}.price-table tr:hover{background:#e7c6bd24}.price-table td{vertical-align:baseline;padding:17px 8px}.price-table td:first-child{padding-right:26px;font-size:16px;font-weight:600}.price-table td:nth-child(2){color:var(--ink-soft);font-size:14px}.price-table td:last-child{text-align:right;font-family:var(--font-display);white-space:nowrap;font-size:18px}.footer{background:var(--ink);color:var(--paper);padding:72px 0 40px}.footer__grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;display:grid}.footer .brand{color:var(--paper);margin-bottom:14px}.footer h4{letter-spacing:.2em;text-transform:uppercase;color:var(--champagne);margin-bottom:14px;font-size:11px}.footer p,.footer a{color:#f6f1eac7;white-space:pre-line;font-size:14px}.footer a:hover{color:var(--paper)}.footer__legal{color:#f6f1ea73;border-top:1px solid #f6f1ea24;margin-top:56px;padding-top:22px;font-size:12px}.actionbar{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2e2420f0;border-radius:16px;gap:6px;padding:8px;display:none;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 12px 32px -12px #0006}.actionbar a{text-align:center;color:var(--paper);letter-spacing:.03em;border-radius:10px;flex:1;padding:12px 4px;font-size:13px}.actionbar a.primary{background:var(--rose);color:var(--ink);font-weight:600}html.js .reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(26px)}html.js .reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js .reveal{opacity:1;transition:none;transform:none}.hero__img img,.masonry img{transition:none}}@media (max-width:920px){.section{padding:64px 0}.hero__in{grid-template-columns:1fr;gap:40px;padding:44px 24px 56px}.hero__img{aspect-ratio:4/3;border-radius:18px 18px 120px 120px;order:-1}.nav,.header .btn{display:none}.header__in{gap:10px;padding:0 14px}.brand{gap:6px;font-size:17px}.brand__zh{letter-spacing:.2em;font-size:12px}.lang{flex-shrink:0}.lang button{padding:3px 8px;font-size:11px}.burger{display:flex}.hero h1{font-size:clamp(36px,11vw,48px)}.mobile-menu{z-index:49;background:var(--paper);transition:transform .4s var(--ease);border-bottom:1px solid #2e24201a;display:block;position:fixed;top:66px;left:0;right:0;transform:translateY(-110%)}.mobile-menu.open{transform:none}.mobile-menu a{border-top:1px solid #2e242014;padding:17px 24px;font-size:16px;display:block}.services__grid{grid-template-columns:1fr}.service+.service{border-left:0}.masonry{columns:2;column-gap:12px}.gallery-preview{grid-template-columns:repeat(2,1fr);gap:12px}.atelier__grid,.booking__grid{grid-template-columns:1fr;gap:36px}.booking__img{aspect-ratio:16/10;position:static}.team__grid{grid-template-columns:1fr}.value{grid-template-columns:1fr;gap:4px}.footer__grid{grid-template-columns:1fr 1fr}.actionbar{display:flex}.footer{padding-bottom:120px}.form{grid-template-columns:1fr}}
