:root{--bg:#faf6f2;--bg-elev:#fffdfb;--ink:#1a1614;--ink-soft:#43392f;--muted:#7d6d63;--line:rgba(26,22,20,0.1);--line-strong:rgba(26,22,20,0.18);--accent:#b76e79;--accent-deep:#8e4f58;--accent-soft:#f2dfda;--radius-sm:10px;--radius:16px;--radius-lg:22px;--maxw:1180px;--gutter:clamp(20px,5vw,56px);--font-display:"Songti SC","Noto Serif SC","Source Han Serif SC","Times New Roman",Georgia,serif;--font-body:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ease:cubic-bezier(0.22,1,0.36,1)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background-color:var(--bg);background-image:radial-gradient(900px 520px at 12% -8%,rgba(183,110,121,.1),transparent 65%),radial-gradient(760px 460px at 92% 4%,rgba(201,162,39,.07),transparent 62%);background-repeat:no-repeat;color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:500;letter-spacing:-.01em;line-height:1.15}p{margin:0}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit;color:inherit;cursor:pointer}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(250,246,242,.82);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--line)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:68px}.brand{display:inline-flex;align-items:baseline;gap:10px;font-family:var(--font-display);font-size:1.18rem;letter-spacing:.14em}.brand__mark{color:var(--accent)}.brand__sub{font-family:var(--font-body);font-size:.62rem;letter-spacing:.34em;color:var(--muted);text-transform:uppercase}.site-nav{display:flex;align-items:center;gap:30px;font-size:.88rem;color:var(--ink-soft)}.site-nav a{position:relative;padding-block:6px;transition:color .25s var(--ease)}.site-nav a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--accent);transition:width .3s var(--ease)}.site-nav a:hover{color:var(--accent-deep)}.site-nav a:hover:after{width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 26px;border:1px solid transparent;border-radius:999px;font-size:.9rem;letter-spacing:.02em;transition:transform .28s var(--ease),background-color .28s var(--ease),border-color .28s var(--ease),color .28s var(--ease),box-shadow .28s var(--ease)}.btn--primary{background:var(--ink);color:var(--bg-elev);box-shadow:0 10px 24px -14px rgba(26,22,20,.8)}.btn--primary:hover{background:var(--accent-deep);transform:translateY(-2px);box-shadow:0 16px 30px -16px rgba(142,79,88,.9)}.btn--ghost{border-color:var(--line-strong);color:var(--ink);background:transparent}.btn--ghost:hover{border-color:var(--ink);transform:translateY(-2px)}.btn--sm{padding:9px 20px;font-size:.82rem}.hero{padding-block:clamp(56px,9vw,104px) clamp(36px,5vw,56px)}.hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-gap:clamp(24px,5vw,64px);gap:clamp(24px,5vw,64px);align-items:end}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;font-size:.71rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted)}.eyebrow:before{content:"";width:26px;height:1px;background:var(--accent)}.hero__title{font-size:clamp(2.5rem,6.2vw,4.6rem);line-height:1.04}.hero__title em{font-style:normal;color:var(--accent-deep)}.hero__lead{max-width:34em;margin-top:24px;color:var(--ink-soft);font-size:clamp(.95rem,1.4vw,1.06rem);line-height:1.85}.hero__actions{gap:14px;margin-top:34px}.hero__actions,.hero__meta{display:flex;flex-wrap:wrap}.hero__meta{gap:clamp(18px,3vw,40px);padding-top:8px;border-top:1px solid var(--line)}.meta-item{padding-top:16px}.meta-item dt{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}.meta-item dd{margin:6px 0 0;font-family:var(--font-display);font-size:1.32rem}.meta-item dd span{font-family:var(--font-body);font-size:.78rem;color:var(--muted);margin-left:4px}.hero-cover{position:relative;margin-top:clamp(34px,5vw,56px);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);background:var(--bg-elev)}.hero-cover__media{position:relative;aspect-ratio:3/2}.hero-cover__media img{width:100%;height:100%;object-fit:cover}.hero-cover__badge{position:absolute;left:20px;bottom:20px;display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;background:rgba(255,253,251,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:.74rem;letter-spacing:.14em;color:var(--ink-soft)}.hero-cover__badge i{width:6px;height:6px;border-radius:50%;background:var(--accent)}.section{padding-block:clamp(56px,8vw,96px)}.section--tight{padding-top:0}.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;flex-wrap:wrap;margin-bottom:30px}.section__title{font-size:clamp(1.7rem,3.4vw,2.5rem)}.section__desc{max-width:32em;margin-top:12px;color:var(--muted);font-size:.94rem}.about{border-top:1px solid var(--line)}.about__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:clamp(28px,5vw,72px);gap:clamp(28px,5vw,72px);align-items:start}.about__quote{font-family:var(--font-display);font-size:clamp(1.3rem,2.4vw,1.75rem);line-height:1.6;color:var(--ink)}.about__quote span{color:var(--accent-deep)}.about__text{margin-top:20px;color:var(--muted);font-size:.94rem;line-height:1.9}.services,.svc-list{border-top:1px solid var(--line)}.svc-list{margin:0;padding:0;list-style:none}.svc-list__row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;grid-gap:clamp(14px,3vw,34px);gap:clamp(14px,3vw,34px);padding:clamp(18px,2.4vw,26px) 0;border-bottom:1px solid var(--line)}.svc-list__idx{font-size:.72rem;letter-spacing:.2em;color:var(--accent)}.svc-list__name{font-size:clamp(1.02rem,1.6vw,1.16rem);font-weight:500}.svc-list__note{margin-top:7px;max-width:48em;color:var(--muted);font-size:.9rem;line-height:1.8}.about__facts{padding:clamp(20px,3vw,28px);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev)}.about__facts-title{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}.about__facts ul{display:grid;grid-gap:14px;gap:14px;margin:18px 0 0;padding:0;list-style:none}.about__facts li{display:grid;grid-gap:3px;gap:3px;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:.86rem;line-height:1.7;color:var(--muted)}.about__facts li:last-child{padding-bottom:0;border-bottom:0}.about__facts strong{font-family:var(--font-display);font-size:.98rem;font-weight:500;color:var(--ink)}.copy-btn{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;font-size:.78rem;color:var(--ink-soft);transition:border-color .24s var(--ease),color .24s var(--ease),background-color .24s var(--ease)}.copy-btn:hover{border-color:var(--accent);color:var(--accent-deep)}.copy-btn--icon{width:30px;height:30px;padding:0;justify-content:center;border-radius:50%}.copy-btn--footer{margin-left:8px;vertical-align:middle}.copy-btn[data-state=done]{border-color:#6ea87f;color:#3f7a52}.copy-btn__icon{display:inline-flex;flex:none}.booking{margin-top:clamp(48px,7vw,88px);padding-block:clamp(48px,7vw,84px);background:var(--ink);color:#f7f1ec}.booking__inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-gap:clamp(28px,4vw,56px);gap:clamp(28px,4vw,56px);align-items:center}.eyebrow--invert{color:rgba(247,241,236,.58)}.eyebrow--invert:before{background:var(--accent)}.booking__title{font-size:clamp(1.85rem,4vw,2.85rem)}.booking__lead{margin-top:14px;max-width:30em;font-size:clamp(.98rem,1.5vw,1.1rem);line-height:1.8;color:rgba(247,241,236,.74)}.booking__card{padding:clamp(22px,3vw,30px);border:1px solid rgba(247,241,236,.22);border-radius:var(--radius);background:rgba(255,253,251,.06)}.booking__label{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(247,241,236,.5)}.booking__row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px}.booking__id{font-family:var(--font-display);font-size:clamp(1.3rem,2.6vw,1.68rem);letter-spacing:.04em;-webkit-user-select:all;-moz-user-select:all;user-select:all}.booking__hint{margin-top:14px;font-size:.82rem;line-height:1.7;color:rgba(247,241,236,.6)}.booking .copy-btn{border-color:rgba(247,241,236,.3);color:rgba(247,241,236,.85)}.booking .copy-btn:hover{border-color:var(--accent-soft);color:#fff}.booking .copy-btn[data-state=done]{border-color:#7fc79a;color:#9fe0b6}.wechat-fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));z-index:60;display:none;flex-direction:column;align-items:flex-end;gap:12px}.wechat-fab__btn{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border:0;border-radius:50%;background:var(--ink);color:#fff;box-shadow:0 12px 28px -10px rgba(26,22,20,.55);transition:transform .28s var(--ease),background-color .28s var(--ease)}.wechat-fab__btn:hover{transform:translateY(-2px)}.wechat-fab[data-open=true] .wechat-fab__btn,.wechat-fab__btn:hover{background:var(--accent-deep)}.wechat-fab__panel{width:min(76vw,268px);padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);box-shadow:0 18px 40px -18px rgba(26,22,20,.4);opacity:0;transform:translateY(8px) scale(.96);transform-origin:bottom right;pointer-events:none;transition:opacity .24s var(--ease),transform .24s var(--ease)}.wechat-fab[data-open=true] .wechat-fab__panel{opacity:1;transform:none;pointer-events:auto}.wechat-fab__title{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.wechat-fab__id{margin-top:8px;font-family:var(--font-display);font-size:1.24rem;-webkit-user-select:all;-moz-user-select:all;user-select:all}.wechat-fab__copy{width:100%;margin-top:12px;justify-content:center}.wechat-fab__hint{margin-top:10px;font-size:.72rem;line-height:1.6;color:var(--muted)}.wechat-fab__icon{display:inline-flex}@media (max-width:900px){.booking__inner{grid-template-columns:minmax(0,1fr);align-items:start}.site-footer{padding-bottom:96px}.wechat-fab{display:flex}}@media (max-width:560px){.svc-list__row{gap:12px}.svc-list__name{font-size:1rem}.svc-list__note{font-size:.84rem}}.site-footer{border-top:1px solid var(--line);padding-block:48px 40px;margin-top:clamp(40px,6vw,72px)}.site-footer__top{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;flex-wrap:wrap}.site-footer__links{display:flex;gap:26px;flex-wrap:wrap;font-size:.86rem;color:var(--ink-soft)}.site-footer__links a:hover{color:var(--accent-deep)}.site-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-size:.76rem;color:var(--muted);letter-spacing:.02em}.site-footer__hint{font-size:.74rem;color:var(--muted);opacity:.85}@media (max-width:900px){.about__grid,.hero__grid{grid-template-columns:minmax(0,1fr)}.hero__grid{align-items:start}.site-nav{display:none}}@media (max-width:560px){.site-header__inner{height:60px}.hero-cover__media{aspect-ratio:4/3}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}