
:root{--ivory:#F3ECDF;--ivoryhi:#FBF7EF;--sand:#E6D7BC;--bronze:#70523A;--mokka:#6B5238;--ink:#3D2E20;--esp:#2A2019;--top:84px}
*,*:before,*:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 15px/1.6 Manrope,system-ui,sans-serif;overflow-x:clip}
a{color:inherit}
img,video{display:block;max-width:100%}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--esp);color:var(--ivory);padding:10px 14px;z-index:50}
.skip:focus{top:12px}
/* 顶栏（Lily 顶栏的细线 + 字标 + 语言） */
.hz-top{height:var(--top);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 2.2vw;border-bottom:1px solid #3D2E2026;position:relative;z-index:5;background:var(--ivory)}
.hz-sig-top{font:300 italic 22px/1 Fraunces,serif;color:var(--bronze);text-decoration:none;justify-self:start}
.hz-sig-top.hz-mid{justify-self:center}
.hz-pick{margin:0;font:300 italic clamp(22px,2.2vw,34px)/1.1 Fraunces,serif;color:var(--bronze);text-align:center}
.hz-right{justify-self:end;display:flex;align-items:center;gap:28px}
.hz-info{font:600 11px/1 Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.hz-lang{display:flex;gap:14px;font:600 12px/1 Manrope,sans-serif;letter-spacing:.1em}
.hz-lang a{text-decoration:none;padding:12px 2px;color:var(--mokka)}
.hz-lang a:hover,.hz-lang a:focus-visible{color:var(--ink)}
.hz-lang a[aria-current]{color:var(--ink);border-bottom:1px solid currentColor}
.hz-back{font:600 11px/1.3 Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:12px 0}
.hz-back:hover{color:var(--bronze)}
/* 开屏标题行（Lily intro-navi：叶子 | 句子 | 右侧小字） */
/* 两栏 */
.hz-panels{list-style:none;margin:0;padding:0;display:flex;height:calc(100svh - var(--top));min-height:520px;background:var(--esp)}
.hz-panels>li{flex:1 1 0;position:relative;transition:flex-grow .9s cubic-bezier(.65,0,.35,1);overflow:hidden}
.hz-panels>li+li{border-left:1px solid #F3ECDF40}
.hz-panel{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;color:var(--ivory);text-decoration:none;padding:0 3.2vw 4vw}
.hz-media,.hz-media img,.hz-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hz-media{z-index:0;transform:scale(1.06);transition:transform 1.6s cubic-bezier(.22,1,.36,1),filter .8s}
.hz-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#2A201933 0%,#2A20191a 25%,#2A201999 46%,#2A2019d9 60%,#2A2019f0 100%)}
.hz-panels>li+li .hz-media:after{background:linear-gradient(180deg,#2A201947 0%,#2A201933 26%,#2A2019d9 58%,#2A2019f5 100%)}
.hz-body{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;max-width:640px}
.hz-rule{display:flex;align-items:center;gap:14px;font:600 11px/1 Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;padding-bottom:14px;border-bottom:1px solid #F3ECDF66;margin-bottom:8px}
.hz-city{font:200 min(5vw,96px)/1.05 Fraunces,serif;letter-spacing:.02em;white-space:nowrap;margin:0;transition:letter-spacing 1.2s cubic-bezier(.22,1,.36,1)}
.hz-addr{font:300 clamp(18px,1.5vw,24px)/1.35 Fraunces,serif}
.hz-status{display:inline-flex;align-items:center;gap:10px;font:500 13px/1.3 Manrope,sans-serif;margin-top:4px}
.hz-status i{width:8px;height:8px;border-radius:50%;background:#d7b98f;box-shadow:0 0 0 4px #d7b98f33}
.hz-status.is-open i{background:#b9d6a3;box-shadow:0 0 0 4px #b9d6a333}
/* 按钮：照 Lily 的 .button —— 左右两条弧线 + 圆点 + 大写字；悬停时整颗变成亮米白底、深棕字、弧线隐去、圆点变深棕 */
.hz-btn{display:inline-flex;align-items:center;gap:0;height:max(2.813vw,40px);border-radius:max(1.5vw,21px);padding:0;font:600 max(.938vw,12px)/normal Manrope,sans-serif;text-transform:uppercase;color:var(--ivory);background:transparent;text-decoration:none;width:max-content;transition:.2s}
.hz-btn .btn-line{height:100%;width:auto;transition:.2s}
.hz-btn .btn-dot{width:max(.37vw,5px);height:max(.37vw,5px);border-radius:50%;background:var(--ivory);margin-right:max(1vw,12px);transition:.2s}
.hz-enter{align-self:flex-start;margin-top:22px}
.hz-panel:hover .hz-btn,.hz-panel:focus-visible .hz-btn,a.hz-btn:hover,a.hz-btn:focus-visible{color:#5A4430;background:var(--ivoryhi)}
.hz-panel:hover .hz-btn .btn-line,.hz-panel:focus-visible .hz-btn .btn-line,a.hz-btn:hover .btn-line,a.hz-btn:focus-visible .btn-line{opacity:0}
.hz-panel:hover .hz-btn .btn-dot,.hz-panel:focus-visible .hz-btn .btn-dot,a.hz-btn:hover .btn-dot,a.hz-btn:focus-visible .btn-dot{background:#5A4430}
.hz-panel:focus-visible{outline:2px solid var(--ivory);outline-offset:-10px}
/* 开场 loader（照 Lily：两扇圆角幕 + 一句话 + 百分比；每次会话只播一次） */
.preloader{position:fixed;inset:0;display:none;justify-content:center;z-index:100010;background:rgba(0,0,0,.38)}
.hz-intro .preloader{display:flex}
.preloader-box{flex-shrink:0;width:70.313vw;height:100%;background-color:var(--bronze);border-radius:15vw}
.preloader-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--ivory);text-align:center;width:23.229vw}
.preloader-text .h5{font:italic 100 2.604vw/1 Fraunces,serif;margin-bottom:1vw}
.preloader .percentage{margin-top:3vw;font:600 15px/1 Manrope,sans-serif}
/* 平滑滚动（Lenis，和 Lily 同一套） */
html.lenis{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
/* 动效接管前先藏住（脚本 5 秒没接管就自动显示，见 hub-boot） */
.hz-js:not(.hz-go) .hz-panels>li{clip-path:inset(100% 0 0 0)}
.hz-run .hz-city,.hz-run .hz-btn{transition:none}
.hz-js:not(.hz-go) .hz-pick,.hz-js:not(.hz-go) .hz-city,.hz-js:not(.hz-go) .hz-title h1,.hz-js:not(.hz-go) .animate{opacity:0}
@media (hover:hover) and (pointer:fine) and (min-width:768px){
 .hz-panels:hover>li{flex-grow:.82}
 .hz-panels:hover>li:hover{flex-grow:1.18}
 .hz-panels>li:hover .hz-media{transform:scale(1)}
 .hz-panels:hover>li:not(:hover) .hz-media{filter:brightness(.62) saturate(.8)}
 .hz-panels>li:hover .hz-city{letter-spacing:.05em}
}
/* 页脚（短） */
.hz-arch{height:90px;background:var(--esp);position:relative;overflow:hidden}
.hz-arch:after{content:"";position:absolute;left:50%;top:22px;transform:translateX(-50%);width:120vw;height:220px;background:var(--ivory);border-radius:50%/100% 100% 0 0}
.hz-foot{text-align:center;padding:24px 4vw 40px;background:var(--ivory)}
.hz-sig{font:200 clamp(44px,6vw,84px)/1.2 Fraunces,serif;color:var(--bronze);text-decoration:none;display:inline-block}
.hz-foot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin:18px 0 14px;font-size:13px}
.hz-foot nav a,.hz-foot nav button{color:var(--ink);text-decoration:none;border:0;background:none;font:inherit;cursor:pointer;padding:6px 0}
.hz-foot nav a:hover,.hz-foot nav button:hover{color:var(--bronze);text-decoration:underline}
.hz-foot small{font-size:12px;color:var(--mokka)}
/* 单页 / 法律页（Lily 内页样式） */
.hz-page{padding:70px 6vw 90px;max-width:1200px;margin:0 auto}
.hz-title{text-align:center;margin-bottom:56px}
.hz-eyebrow{font:600 12px/1.4 Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--mokka);margin:0}
.hz-title h1{font:300 italic clamp(38px,7.4vw,116px)/1.05 Fraunces,serif;color:var(--bronze);margin:24px auto 0;overflow-wrap:break-word;hyphens:auto}
.hz-store{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
.hz-store-photo{border-radius:45% 45% 0 0;overflow:hidden;aspect-ratio:4/5}
.hz-store-photo img{width:100%;height:100%;object-fit:cover;animation:hz-zoom 2.4s cubic-bezier(.22,1,.36,1) both}
@keyframes hz-zoom{from{transform:scale(1.12)}to{transform:scale(1)}}
.hz-store h2{font:300 clamp(30px,3vw,44px)/1.2 Fraunces,serif;color:var(--ink);margin:10px 0 30px}
.hz-store dl{margin:0 0 36px;display:grid;gap:22px}
.hz-store dt{font:600 11px/1.3 Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--mokka)}
.hz-store dd{margin:6px 0 0;font:300 24px/1.35 Fraunces,serif;color:var(--ink)}
/* WhatsApp：Lily 按钮的弧线 + 圆点 + 大写字，放在古铜色实心底上（要醒目）；悬停照 Lily：弧线隐去、换底色、圆点跟字同色 */
.hz-btn.hz-wa{height:64px;border-radius:32px;font-size:14px;letter-spacing:.06em;background:var(--bronze);color:var(--ivoryhi);box-shadow:0 14px 30px #70523A40}
.hz-wa .btn-dot{display:none}
.hz-wa-in{display:inline-flex;align-items:center}
.hz-wa svg{width:22px;height:22px;flex:none;margin-right:12px;transition:.2s}
.hz-wa span{padding-right:4px}
a.hz-btn.hz-wa:hover,a.hz-btn.hz-wa:focus-visible{background:var(--ink);color:var(--ivoryhi)}
a.hz-btn.hz-wa:active{background:var(--esp);color:var(--ivoryhi)}
.hz-wa:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.hz-wa-note{font-size:13px;color:var(--mokka);margin:14px 0 0}
.hz-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:90px}
.hz-strip img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:100px 100px 0 0}
.hz-legal article{max-width:780px;margin:0 auto;line-height:1.85}
.hz-legal h2{overflow-wrap:break-word;hyphens:auto;font:300 30px/1.25 Fraunces,serif;color:var(--bronze);margin:44px 0 12px}
.hz-legal a{color:var(--bronze)}
.lily-legal-date{font-size:13px;color:var(--mokka)}
.lily-legal-note{padding:18px 20px;border-left:2px solid var(--mokka);background:#EFE6D6}
.todo{background:#f3d98a;color:var(--ink);padding:0 .3em}
/* Cookie 小条 */
.hz-cookie{position:fixed;z-index:40;right:16px;bottom:16px;width:min(420px,calc(100% - 32px));padding:18px;background:var(--ivoryhi);color:var(--ink);border:1px solid var(--bronze);box-shadow:0 4px 20px #2A201926;font:14px/1.5 Manrope,sans-serif}
.hz-cookie p{margin:0 0 12px}
.hz-cookie div{display:flex;gap:10px}
.hz-cookie button,.hz-dialog button{min-height:44px;padding:10px 16px;border:1px solid var(--bronze);background:transparent;color:var(--ink);font:14px/1.3 Manrope,sans-serif;cursor:pointer}
.hz-cookie button:first-child{background:var(--bronze);color:var(--ivoryhi)}
.hz-dialog{width:min(480px,calc(100% - 32px));padding:26px;border:1px solid var(--bronze);background:var(--ivoryhi);color:var(--ink);font:15px/1.65 Manrope,sans-serif}
.hz-dialog::backdrop{background:#2A201999}
.hz-dialog h2{font:300 28px/1.2 Fraunces,serif;margin:0 0 10px;color:var(--bronze)}
@media (max-width:767px){
 :root{--top:64px}
 .hz-top{padding:0 16px}
 .hz-sig-top{font-size:18px}
 .hz-pick{font-size:19px}
 .hz-info{display:none}
 .hz-addr{font-size:16px}
 .hz-panels{flex-direction:column;height:calc(100svh - var(--top));min-height:560px}
 .hz-panels>li+li{border-left:0;border-top:1px solid #F3ECDF40}
 .hz-panel{padding:0 20px 22px}
 .hz-body{gap:6px}
 .hz-rule{padding-bottom:10px;margin-bottom:4px}
 .hz-city{font-size:min(9.4vw,52px);letter-spacing:.01em}
 .hz-addr{font-size:17px}
 .hz-enter{margin-top:10px}
 .hz-page{padding:44px 20px 70px}
 .hz-title{margin-bottom:36px}
 .hz-store{grid-template-columns:1fr;gap:36px}
 .hz-store-photo{order:2}
 .hz-title{margin-bottom:24px}
 .hz-store h2{margin:8px 0 20px;font-size:26px}
 .hz-store dl{margin-bottom:24px;gap:14px}
 .hz-store dd{font-size:20px}
 .hz-store-photo{max-width:420px;width:100%;margin:0 auto}
 .hz-btn.hz-wa{width:100%;justify-content:space-between}
 .hz-btn{font-size:max(3.562vw,13px);height:max(11.272vw,44px);border-radius:max(6vw,22px)}
 .hz-btn .btn-dot{width:1.781vw;height:1.781vw;margin-right:4vw}
 .preloader-box{width:170.313vw;border-radius:35vw}
 .preloader-text{width:70vw}
 .preloader-text .h5{font-size:7.5vw}
 .preloader .percentage{margin-top:6vw}
 .hz-strip{grid-template-columns:1fr 1fr;gap:12px;margin-top:56px}
 .hz-strip img:nth-child(3){display:none}
}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.preloader{display:none!important}}
