:root{--color-gold:#c9a227;--color-gold-hover:#d4af37;--color-gold-dark:#8b7332;--color-nude:#f0e6d3;--color-sand:#faf7f2;--color-cream:#faf7f2;--color-cream-dark:#f5f0e6;--color-brown:#8b7332;--color-brown-light:#a0884d;--color-off-white:#faf7f2;--color-terracotta:#c9846b;--color-terracotta-soft:#f0d8cc;--color-terracotta-dark:#a35f48;--color-sage:#9caf88;--color-sage-soft:#dde5d4;--color-sage-dark:#6b8060;--color-primary:var(--color-gold);--color-primary-hover:var(--color-gold-hover);--color-primary-active:var(--color-gold-dark);--color-background:var(--color-sand);--color-surface:var(--color-nude);--color-text:#2a2a3e;--color-text-secondary:#5a5a6a;--color-border:rgba(201,162,39,.12);--color-success:#2d8a6e;--color-error:#b91c3b;--color-warning:#a84b2f;--focus-ring:0 0 0 3px rgba(201,162,39,.3);--font-display:"Playfair Display",serif;--font-body:"DM Sans",sans-serif;--fs-xs:clamp(0.65rem, 0.6rem + 0.25vw, 0.75rem);--fs-sm:clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);--fs-base:clamp(0.875rem, 0.8rem + 0.35vw, 1rem);--fs-md:clamp(0.9rem, 0.85rem + 0.3vw, 1.0625rem);--fs-lg:clamp(1rem, 0.9rem + 0.45vw, 1.25rem);--fs-xl:clamp(1.125rem, 1rem + 0.55vw, 1.5rem);--fs-2xl:clamp(1.25rem, 1.1rem + 0.7vw, 1.75rem);--fs-3xl:clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);--fs-4xl:clamp(2rem, 1.4rem + 2.5vw, 3.5rem);--sp-4:4px;--sp-6:6px;--sp-8:8px;--sp-10:10px;--sp-12:12px;--sp-16:16px;--sp-20:20px;--sp-24:24px;--sp-32:32px;--sp-40:40px;--sp-48:48px;--r-sm:8px;--r-base:12px;--r-md:16px;--r-lg:20px;--r-xl:24px;--r-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,.04),0 1px 3px rgba(0,0,0,.06);--shadow-md:0 4px 6px rgba(0,0,0,.04),0 10px 15px rgba(0,0,0,.08);--shadow-lg:0 10px 25px rgba(0,0,0,.06),0 20px 48px rgba(0,0,0,.08);--shadow-xl:0 24px 48px rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.02);--shadow-gold:0 4px 20px rgba(201,162,39,.12),0 1px 3px rgba(0,0,0,.04);--dur-fast:.15s;--dur-normal:.25s;--ease:cubic-bezier(.16,1,.3,1);--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1120px;--select-caret:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231a1a2e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}*,::after,::before{box-sizing:border-box}html{font-size:var(--fs-base);font-family:var(--font-body);color:var(--color-text);background-color:var(--color-sand);-webkit-font-smoothing:antialiased;line-height:1.6;letter-spacing:.01em}body{margin:0;padding:0;background-color:var(--color-sand);line-height:1.7}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-display);font-weight:500;line-height:1.2;color:var(--color-text);letter-spacing:-.02em}h1{font-size:var(--fs-4xl);font-weight:600}h2{font-size:var(--fs-3xl)}h3{font-size:var(--fs-2xl)}h4{font-size:var(--fs-xl)}p{margin:0 0 var(--sp-16)}a{color:var(--color-gold);text-decoration:none;transition:color var(--dur-fast) var(--ease)}a:hover{color:var(--color-gold-hover)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:focus-visible{outline:0;box-shadow:var(--focus-ring)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.container{width:100%;margin-inline:auto;padding-inline:var(--sp-16)}@media (min-width:640px){.container{max-width:var(--container-sm)}}@media (min-width:768px){.container{max-width:var(--container-md)}}@media (min-width:1024px){.container{max-width:var(--container-lg)}}@media (min-width:1280px){.container{max-width:var(--container-xl)}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;border-radius:var(--r-md);font-size:var(--fs-base);font-weight:500;line-height:1.5;cursor:pointer;transition:all var(--dur-normal) var(--ease);border:none;text-decoration:none;letter-spacing:.01em}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--color-gold);color:#fff;box-shadow:var(--shadow-sm)}.btn--primary:hover{background:var(--color-gold-hover);box-shadow:var(--shadow-gold);transform:translateY(-1px)}.btn--outline{border:1.5px solid var(--color-gold);color:var(--color-gold);background:0 0}.btn--outline:hover{background:rgba(201,162,39,.08);border-color:var(--color-gold-hover)}.btn--sm{padding:10px 20px;font-size:var(--fs-sm);border-radius:var(--r-base)}.btn--lg{padding:16px 32px;font-size:var(--fs-lg);border-radius:var(--r-md)}.btn--full-width{width:100%}.form-group{margin-bottom:var(--sp-16)}.form-label{display:block;margin-bottom:var(--sp-8);font-weight:500;font-size:var(--fs-sm);color:var(--color-text)}.form-control{display:block;width:100%;padding:12px 16px;font-size:var(--fs-base);line-height:1.5;color:var(--color-text);background-color:#fff;border:2px solid rgba(201,162,39,.25);border-radius:var(--r-base);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.form-control:focus{border-color:var(--color-gold);outline:0;box-shadow:0 0 0 3px rgba(201,162,39,.1)}textarea.form-control{font-family:var(--font-body);font-size:var(--fs-base)}select.form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--select-caret);background-repeat:no-repeat;background-position:right var(--sp-12) center;background-size:16px;padding-right:var(--sp-32);cursor:pointer}.form-message{padding:1rem;margin:1rem 0;border-radius:var(--r-base);font-weight:500}.form-message--success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.form-message--error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.header{background:rgba(79,64,50,.96);border-bottom:1px solid rgba(201,162,39,.15);position:sticky;top:0;z-index:100;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.header__content{display:flex;justify-content:space-between;align-items:center;padding:8px 0 6px 0;flex-wrap:nowrap;gap:var(--sp-16)}@media (max-width:768px){.header__content{padding:4px 0 0 0}.logo__text{font-size:clamp(1.15rem, 4.5vw, 1.6rem)}.hero{padding-top:0!important;min-height:auto}.hero__title{white-space:normal;font-size:clamp(1.15rem, 4vw, 1.5rem);margin-bottom:var(--sp-6)}.hero__subtitle{font-size:clamp(.65rem, 2.5vw, .8rem);margin-bottom:var(--sp-8)}}.header__content>.logo{flex-shrink:0}.header__content>.hamburger{display:none}.header__content>.nav{flex:1;display:flex;justify-content:center}.header__content>.header-actions{flex-shrink:0}.logo{text-align:left}.logo__subtitle,.logo__text{display:block;width:100%;text-align:center;line-height:1}.logo__text{font-family:var(--font-display);font-size:clamp(1.6rem, 3vw, 2.5rem);font-weight:600;color:var(--color-gold);letter-spacing:-.03em;margin-bottom:1px}.logo__subtitle{font-family:var(--font-body);font-size:clamp(.55rem, 1.5vw, .7rem);font-weight:400;color:rgba(250,247,242,.65);letter-spacing:.08em;text-transform:uppercase;opacity:.7}.nav__list{display:flex;list-style:none;margin:0;padding:0;gap:var(--sp-32)}.nav__link{font-weight:500;color:var(--color-sand);text-decoration:none;font-size:var(--fs-base);transition:color var(--dur-fast) var(--ease);position:relative}.nav__link:hover{color:var(--color-gold)}.nav__link::after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background-color:var(--color-gold);transition:width var(--dur-normal) var(--ease)}.nav__link:hover::after{width:100%}.badge-new{display:inline-block;font-size:10px;font-weight:500;padding:2px 7px;border-radius:var(--r-full);background:rgba(201,162,39,.15);color:var(--color-gold);letter-spacing:.3px;vertical-align:middle;margin-left:4px}.hamburger{display:none;background:0 0;border:none;cursor:pointer;padding:var(--sp-8);flex-direction:column;gap:5px;order:2}.hamburger__line{display:block;width:24px;height:2px;background:var(--color-sand);border-radius:2px;transition:transform var(--dur-normal) var(--ease),opacity var(--dur-fast)}.hamburger[aria-expanded=true] .hamburger__line:first-child{transform:translateY(7px) rotate(45deg)}.hamburger[aria-expanded=true] .hamburger__line:nth-child(2){opacity:0}.hamburger[aria-expanded=true] .hamburger__line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.header-actions{display:flex;gap:var(--sp-12);align-items:center}.lang-dropdown{position:relative}.lang-btn--active{display:inline-flex;align-items:center;gap:4px;background:0 0;border:none;cursor:pointer;padding:4px;border-radius:var(--r-sm);color:var(--color-sand);transition:background var(--dur-fast) var(--ease)}.lang-btn--active:hover{background:rgba(201,162,39,.12)}.icon-chevron{transition:transform var(--dur-fast) var(--ease)}.lang-dropdown--open .icon-chevron{transform:rotate(180deg)}.lang-dropdown-menu{position:absolute;top:100%;right:0;background:var(--color-nude);border:1px solid var(--color-border);border-radius:var(--r-base);box-shadow:var(--shadow-md);padding:4px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),visibility var(--dur-fast) var(--ease);z-index:100;min-width:140px}.lang-dropdown--open .lang-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.lang-dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 12px;text-decoration:none;color:var(--color-text);font-size:var(--fs-sm);transition:background var(--dur-fast) var(--ease);border-radius:var(--r-sm);margin:0 4px}.lang-dropdown-item:hover{background:rgba(201,162,39,.1)}.lang-dropdown-item--active{background:rgba(201,162,39,.15);font-weight:600;color:var(--color-gold-dark)}.account-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--color-sand);font-size:var(--fs-sm);font-weight:500;padding:4px 8px;border-radius:var(--r-sm);transition:background var(--dur-fast) var(--ease);white-space:nowrap}.account-link:hover{background:rgba(201,162,39,.12);color:var(--color-gold)}.account-link svg{flex-shrink:0}.account-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero{position:relative;overflow:hidden;isolation:isolate;contain:layout;text-align:center;padding:clamp(36px,6vw,80px) 0 clamp(28px,5vw,64px);background:radial-gradient(ellipse at top right,rgba(201,162,39,.05) 0,transparent 55%),radial-gradient(ellipse at bottom left,rgba(201,132,107,.04) 0,transparent 60%),linear-gradient(180deg,var(--color-sand) 0,var(--color-cream-dark) 100%);border-bottom:1px solid var(--color-border)}.hero::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23c9a227' fill-opacity='0.018' fill-rule='evenodd'%3E%3Ccircle cx='40' cy='40' r='1.5'/%3E%3Ccircle cx='10' cy='10' r='.8'/%3E%3Ccircle cx='70' cy='10' r='.8'/%3E%3Ccircle cx='10' cy='70' r='.8'/%3E%3Ccircle cx='70' cy='70' r='.8'/%3E%3C/g%3E%3C/svg%3E") repeat;pointer-events:none;z-index:-1}.hero__content{max-width:780px;margin:0 auto;padding:0 var(--sp-20);position:relative;z-index:1}.hero__kicker{display:inline-flex;align-items:center;gap:var(--sp-12);font-family:var(--font-body);font-size:var(--fs-xs);font-weight:600;color:var(--color-gold-dark);text-transform:uppercase;letter-spacing:.28em;margin-bottom:var(--sp-16)}.hero__kicker::after,.hero__kicker::before{content:"";width:28px;height:1px;background:linear-gradient(90deg,transparent 0,var(--color-gold) 50%,transparent 100%)}.hero__title{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:clamp(2rem, 6vw, 4rem);line-height:1.02;letter-spacing:-.025em;color:var(--color-text);margin:0 0 var(--sp-16);white-space:normal}.hero__title em,.hero__title strong{color:var(--color-gold);font-style:italic;font-weight:500;position:relative;display:inline-block}.hero__title em::after,.hero__title strong::after{content:"";position:absolute;left:4%;right:4%;bottom:-.05em;height:2px;background:linear-gradient(90deg,transparent 0,var(--color-gold) 18%,var(--color-gold) 82%,transparent 100%);opacity:.35}.hero__subtitle{font-family:var(--font-display);font-style:italic;font-size:clamp(1rem, 1.8vw, 1.25rem);color:var(--color-text-secondary);letter-spacing:.005em;text-transform:none;margin:0 auto var(--sp-16);max-width:640px;line-height:1.55;font-weight:400}.hero__description{font-family:var(--font-body);font-size:var(--fs-base);color:var(--color-text-secondary);margin:0 auto var(--sp-24);line-height:1.7;max-width:620px}.hero__description strong{color:var(--color-gold-dark);font-weight:600}.hero__rule{max-width:80px;margin:var(--sp-20) auto 0;height:1px;background:linear-gradient(90deg,transparent 0,var(--color-gold) 50%,transparent 100%);position:relative}.hero__rule::after{content:"❦";display:block;text-align:center;margin-top:-.55em;color:var(--color-gold);font-size:1rem;background:var(--color-sand);width:1.6em;margin-left:auto;margin-right:auto;line-height:1}.hero__cta{display:flex;gap:var(--sp-16);justify-content:center;flex-wrap:wrap;margin-top:var(--sp-16)}html[lang=zh-CN] .hero__title,html[lang=zh] .hero__title{font-family:"ZCOOL XiaoWei","Noto Serif SC","Playfair Display",serif;font-style:normal;letter-spacing:.01em}@media (max-width:768px){.hero{padding:clamp(28px,5vw,48px) 0 clamp(24px,4vw,40px)}.hero__title{font-size:clamp(1.8rem, 8vw, 2.4rem)}.hero__subtitle{font-size:clamp(.9rem, 3.5vw, 1.05rem)}.hero__description{font-size:var(--fs-sm)}.hero__kicker{font-size:10px;letter-spacing:.2em}.hero__kicker::after,.hero__kicker::before{width:16px}}@media (max-width:480px){.hero__cta .btn--lg,.hero__cta .btn--outline{width:100%;max-width:320px}}.hero__cta .btn--lg,.hero__cta .btn--outline{border-radius:var(--r-full);font-family:var(--font-body);font-weight:600;letter-spacing:.15em;text-transform:uppercase;font-size:var(--fs-sm);padding:14px 32px;border:1px solid var(--color-gold);color:var(--color-text);background:0 0;transition:all var(--dur-normal) var(--ease)}.hero__cta .btn--lg:hover,.hero__cta .btn--outline:hover{background:var(--color-gold);color:#fff;box-shadow:0 12px 28px -10px rgba(201,162,39,.4);transform:translateY(-1px)}.home-eyebrow{max-width:1120px;margin:clamp(40px,6vw,72px) auto var(--sp-24);padding:0 var(--sp-20);display:flex;align-items:baseline;gap:var(--sp-20);flex-wrap:wrap}.home-eyebrow__kicker{font-family:var(--font-body);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:var(--color-gold-dark);white-space:nowrap;flex-shrink:0}.home-eyebrow .section__title,.home-eyebrow__title{font-family:var(--font-display)!important;font-style:italic!important;font-weight:500!important;font-size:clamp(1.5rem, 3vw, 2.2rem)!important;color:var(--color-text)!important;margin:0!important;letter-spacing:-.02em!important;text-align:left!important;line-height:1.15!important}.home-eyebrow__rule{flex:1;min-width:40px;height:1px;background:linear-gradient(90deg,var(--color-gold) 0,transparent 100%);align-self:center;opacity:.5}.reviews-section{background:0 0;padding:clamp(16px,2.5vw,32px) 0 clamp(24px,3vw,48px) 0}.reviews-header{text-align:center;margin-bottom:var(--sp-20)}.reviews-google-badge{display:inline-flex;align-items:center;gap:var(--sp-8);background:var(--color-nude);padding:var(--sp-12) var(--sp-20);border-radius:var(--r-lg);border:1px solid rgba(201,162,39,.08);box-shadow:none}.reviews-badge-text{font-weight:600;color:var(--color-text);font-size:clamp(.75rem, 1.3vw, .9rem)}.reviews-rating{display:flex;align-items:center;gap:var(--sp-4);font-weight:600;color:var(--color-gold);font-size:clamp(.75rem, 1.3vw, .9rem)}.reviews-total{font-size:clamp(.65rem, 1.1vw, .8rem);color:var(--color-text-secondary);opacity:.7}.reviews-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--sp-20);max-width:1200px;margin:0 auto;min-height:280px}.review-card{display:flex;flex-direction:column;height:100%;background:var(--color-nude);border-radius:var(--r-lg);padding:var(--sp-20);border:1px solid rgba(201,162,39,.08);transition:all var(--dur-normal) var(--ease);position:relative;overflow:hidden;min-height:260px}.review-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:var(--color-gold)}.review-author{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:var(--sp-12)}.review-avatar{grid-column:1;justify-self:start;width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--color-gold)}.review-author::after{content:"";grid-column:3}.review-author-info{grid-column:2;text-align:center}.review-author-info div{font-size:var(--fs-base);font-weight:600;color:var(--color-text)}.review-date{font-size:var(--fs-sm);color:var(--color-text-secondary);opacity:.7;margin:0;text-align:center}.review-rating{display:flex;justify-content:center;align-items:center;gap:.25rem;margin-bottom:.75rem}.review-stars{color:var(--color-gold);font-size:var(--fs-lg);letter-spacing:2px}.review-text{color:var(--color-text-secondary);line-height:1.65;font-size:var(--fs-base);margin:0;text-align:justify;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;line-clamp:6;overflow:hidden;text-overflow:ellipsis}.review-verified{margin-top:auto;align-self:center;display:inline-block;padding:var(--sp-4) var(--sp-8);background:rgba(201,162,39,.08);color:var(--color-gold-dark);border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:500;white-space:nowrap;text-align:center}.reviews-marquee{max-width:1200px;margin:0 auto;position:relative}.reviews-marquee__viewport{overflow:hidden;padding:12px 0}.reviews-marquee__track{display:flex;gap:20px;list-style:none;padding:0;margin:0;transition:transform .6s cubic-bezier(.4, 0, .2, 1);will-change:transform;touch-action:pan-y}.reviews-marquee__slide{flex:0 0 calc((100% - 40px)/ 3);min-width:0;height:360px}.reviews-marquee__slide .review-text{min-height:calc(1em * 1.65 * 6)}.reviews-marquee__slide .review-author-info>div{min-height:2.6em;line-height:1.3;display:flex;align-items:center;justify-content:center}.reviews-marquee__dots{display:flex;justify-content:center;gap:8px;margin-top:var(--sp-16)}.reviews-marquee__dot{width:8px;height:8px;border-radius:50%;background:rgba(201,162,39,.25);border:none;padding:0;cursor:pointer;transition:width .3s var(--ease),background .3s var(--ease),border-radius .3s var(--ease)}.reviews-marquee__dot.is-active{width:24px;border-radius:4px;background:var(--color-gold)}.reviews-marquee__dot:focus-visible{outline:2px solid var(--color-gold);outline-offset:3px}@media (max-width:768px){.reviews-marquee__slide{flex:0 0 85%}.reviews-marquee__track{gap:12px}}@media (prefers-reduced-motion:reduce){.reviews-marquee__track{transition:none}}.gallery{padding:0 0 clamp(24px,3vw,40px) 0;background:0 0}.carousel{position:relative;overflow:hidden}.carousel__track{display:flex;transition:transform .5s ease;list-style:none;padding:0;margin:0}.carousel__slide{min-width:100%;box-sizing:border-box}.carousel__slide img{display:block;width:100%;height:auto;margin:0 auto}.carousel__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:rgba(250,247,242,.85);backdrop-filter:blur(4px);border:none;font-size:2rem;padding:.5rem;cursor:pointer;border-radius:var(--r-full);color:var(--color-text);width:44px;height:44px;display:flex;align-items:center;justify-content:center;transition:all var(--dur-fast) var(--ease)}.carousel__nav:hover{background:var(--color-gold);color:#fff}.carousel__nav--prev{left:1rem}.carousel__nav--next{right:1rem}@media (max-width:480px){.carousel__slide img{max-height:250px;object-fit:cover}}@media (max-width:768px){.carousel__slide img{max-height:350px;object-fit:cover}}@media (min-width:769px) and (max-width:1199px){.carousel__slide img{max-height:450px;object-fit:cover}}@media (min-width:1200px){.carousel__slide img{max-height:595px;object-fit:cover}}.services{padding:clamp(24px,3vw,40px) 0 clamp(16px,2vw,24px) 0;background:0 0}.services__header{text-align:center;max-width:720px;margin:0 auto clamp(20px,3vw,32px);position:relative}.services__header::after{content:"";display:block;width:60px;height:1px;margin:var(--sp-16) auto 0;background:linear-gradient(90deg,transparent 0,var(--color-gold) 50%,transparent 100%);opacity:.6}.section__title{font-family:var(--font-display);font-style:italic;font-size:clamp(1.6rem, 3.5vw, 2.4rem);font-weight:500;color:var(--color-text);margin:0 0 var(--sp-12);text-align:center;letter-spacing:-.025em;line-height:1.15}.section__title em,.section__title strong{color:var(--color-gold);font-style:italic;font-weight:500}.section__subtitle{font-family:var(--font-display);font-style:italic;font-size:clamp(.95rem, 1.5vw, 1.1rem);color:var(--color-text-secondary);margin:0;font-weight:400;line-height:1.55}.services__header>p:first-of-type a{font-family:var(--font-body);font-size:var(--fs-xs);font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--color-gold-dark);text-decoration:none;border-bottom:1px solid var(--color-gold);padding-bottom:2px}.services__header>p:first-of-type a:hover{color:var(--color-gold)}.services__grid{display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:0 auto;list-style:none;gap:clamp(12px,1.8vw,20px);max-width:1140px}.service-card{background:var(--color-sand);padding:clamp(20px,2.5vw,28px);border-radius:var(--r-md);text-align:left;border:1px solid var(--color-border);position:relative;overflow:hidden;cursor:pointer;transition:all var(--dur-normal) var(--ease);animation:fadeInUp .6s ease-out forwards}.service-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-gold);transform:scaleY(0);transform-origin:top;transition:transform var(--dur-normal) var(--ease)}.service-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px -14px rgba(139,115,50,.18);border-color:rgba(201,162,39,.35);background:#fff}.service-card:hover::before{transform:scaleY(1)}.service-card:nth-child(2){animation-delay:.05s}.service-card:nth-child(3){animation-delay:.1s}.service-card:nth-child(4){animation-delay:.15s}.service-card:nth-child(5){animation-delay:.2s}.service-card:nth-child(6){animation-delay:.25s}.service-card:nth-child(7){animation-delay:.3s}.service-card:nth-child(8){animation-delay:.35s}.service-card__icon{display:inline-block;font-size:1.6rem;margin-bottom:var(--sp-12);padding:0;background:0 0;border-radius:0;color:var(--color-gold);transition:transform var(--dur-normal) var(--ease);line-height:1}.service-card:hover .service-card__icon{transform:translateX(2px)}.service-card__title{font-family:var(--font-display);font-style:italic;font-size:clamp(1.05rem, 1.6vw, 1.25rem);font-weight:500;color:var(--color-text);margin:0 0 var(--sp-8);letter-spacing:-.015em;line-height:1.2;transition:color var(--dur-normal) var(--ease)}.service-card:hover .service-card__title{color:var(--color-gold-dark)}.service-card p{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--color-text-secondary);line-height:1.55;margin:0}.service-card p strong{display:block;margin-top:var(--sp-8);color:var(--color-gold-dark);font-family:var(--font-display);font-style:italic;font-weight:600;font-size:1.05em}@media (max-width:1024px){.services__grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.services__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.services__grid{grid-template-columns:1fr;gap:var(--sp-12)}.service-card{padding:var(--sp-20)}}.prestations-details-wrapper{width:100%}.prestations-details-content{display:none;background:var(--color-sand);border-radius:var(--r-lg);padding:clamp(20px,3vw,36px) clamp(16px,2.5vw,28px);box-shadow:0 18px 36px -16px rgba(139,115,50,.15);border:1px solid rgba(201,162,39,.18);position:relative;width:100%;box-sizing:border-box;overflow-x:auto;margin-top:var(--sp-24);animation:slideDown var(--dur-normal) var(--ease)}.prestations-details-content::before{content:"";position:absolute;top:0;left:clamp(16px,2.5vw,28px);right:clamp(16px,2.5vw,28px);height:3px;background:linear-gradient(90deg,var(--color-gold) 0,var(--color-terracotta) 100%);border-radius:0 0 3px 3px}.prestations-details-content h3{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:clamp(1.15rem, 2vw, 1.4rem);color:var(--color-text);letter-spacing:-.018em;line-height:1.2;margin:0 0 var(--sp-20);padding-right:48px}.prestations-close{position:absolute;top:var(--sp-16);right:var(--sp-16);background:rgba(201,162,39,.08);border:1px solid rgba(201,162,39,.2);font-size:1.2rem;font-family:var(--font-display);font-style:italic;line-height:1;color:var(--color-gold-dark);cursor:pointer;padding:0;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:all var(--dur-fast) var(--ease)}.prestations-close:hover{background:var(--color-gold);border-color:var(--color-gold);color:#fff;transform:rotate(90deg) scale(1.05)}.prestations-table{width:100%;min-width:600px;border-collapse:collapse;font-family:var(--font-body);font-size:var(--fs-sm);background:#fff;border-radius:var(--r-md);overflow:hidden;box-shadow:0 1px 3px rgba(139,115,50,.04)}.prestations-table th{padding:var(--sp-12) var(--sp-16);background:var(--color-text);color:#fff;font-family:var(--font-display);font-style:italic;font-weight:500;font-size:var(--fs-sm);letter-spacing:.01em;text-align:left;border:none}.prestations-table td{padding:var(--sp-12) var(--sp-16);border:none;border-bottom:1px solid var(--color-border);vertical-align:top;color:var(--color-text);line-height:1.5}.prestations-table tr:last-child td{border-bottom:none}.prestations-table tbody tr:nth-child(2n) td{background:var(--color-cream-dark)}.prestations-table tr:hover td{background:var(--color-nude)}.prestations-table td:last-child{font-family:var(--font-display);font-style:italic;font-weight:600;color:var(--color-gold-dark);white-space:nowrap;font-size:1.05em}.prestations-table td:last-child strong{font-family:var(--font-display);font-style:italic;font-weight:600;color:var(--color-gold-dark)}.prestations-table td strong{font-family:var(--font-display);font-weight:500;color:var(--color-text);font-style:normal}.prestations-table td small{display:block;margin-top:2px;font-size:.8em;color:var(--color-text-secondary);font-style:italic;font-family:var(--font-body);font-weight:400}@media (max-width:600px){.prestations-details-content{padding:var(--sp-16) var(--sp-12) var(--sp-16)}.prestations-details-content h3{font-size:1.05rem;padding-right:40px}.prestations-close{top:var(--sp-12);right:var(--sp-12);width:32px;height:32px;font-size:1rem}.prestations-table{font-size:var(--fs-xs)}.prestations-table td,.prestations-table th{padding:var(--sp-10) var(--sp-12)}}.why-us{padding:clamp(24px,3vw,40px) 0;background:0 0;counter-reset:why-step}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,24px);max-width:1200px;margin:0 auto;padding:0 var(--sp-20)}.why-item{position:relative;background:var(--color-sand);padding:clamp(24px,3vw,36px) clamp(20px,2.5vw,28px);border-radius:var(--r-md);text-align:left;border:1px solid var(--color-border);counter-increment:why-step;transition:all var(--dur-normal) var(--ease);animation:slideInFromBottom .8s ease-out forwards;overflow:hidden}.why-item::before{content:counter(why-step,upper-roman);position:absolute;top:clamp(20px,2.5vw,28px);right:clamp(20px,2.5vw,28px);font-family:var(--font-display);font-style:italic;font-weight:500;font-size:clamp(2rem, 3.5vw, 2.6rem);color:var(--color-gold);letter-spacing:-.04em;line-height:1;opacity:.4;transition:opacity var(--dur-normal) var(--ease)}.why-item:hover{transform:translateY(-2px);box-shadow:0 14px 28px -14px rgba(139,115,50,.18);border-color:rgba(201,162,39,.35);background:#fff}.why-item:hover::before{opacity:.8}.why-item:nth-child(2){animation-delay:.15s}.why-item:nth-child(3){animation-delay:.3s}.why-item:nth-child(4){animation-delay:.45s}.why-icon{font-size:1.6rem;margin-bottom:var(--sp-12);display:inline-block;color:var(--color-gold);line-height:1}.why-item h3{font-family:var(--font-display);font-style:italic;font-size:clamp(1.1rem, 1.7vw, 1.3rem);color:var(--color-text);margin:0 0 var(--sp-12);font-weight:500;letter-spacing:-.015em;padding-right:3rem;line-height:1.2;transition:color var(--dur-normal) var(--ease)}.why-item:hover h3{color:var(--color-gold-dark)}.why-item p{font-family:var(--font-body);color:var(--color-text-secondary);font-size:var(--fs-sm);line-height:1.7;margin:0}.contact{background:0 0;padding:clamp(24px,3vw,40px) 0 clamp(16px,2vw,24px) 0}.contact__content{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-32);align-items:start}.contact__details{margin:var(--sp-24) 0;list-style:none;padding:0}.contact__item-icon{font-size:var(--fs-xl);flex-shrink:0}.contact__form-container{background:var(--color-sand);padding:var(--sp-32);border-radius:var(--r-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.contact__form h3{font-family:var(--font-display);font-size:var(--fs-xl);color:var(--color-text);margin-bottom:var(--sp-20);text-align:center;font-weight:500}.map-responsive{position:relative;overflow:hidden;width:100%;padding-top:56.25%;border-radius:var(--r-md)}.map-responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.footer{background:#4f4032;color:var(--color-sand);padding:clamp(40px,5vw,72px) 0 var(--sp-24)}.footer__content{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0 auto;padding:8px}.footer__brand,.footer__info,.footer__links,.footer__services{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center}.footer__brand h3,.footer__heading,.footer__info h3,.footer__links h3,.footer__services h3{font-family:var(--font-display);color:var(--color-gold);font-size:var(--fs-lg);margin-bottom:var(--sp-12);font-weight:500}.footer__brand p:not(.footer__heading){margin-bottom:var(--sp-4);opacity:.7}.footer__links ul{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.footer__info ul,.footer__services ul{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;list-style:none;margin:0;padding:0}.footer__info ul li,.footer__links ul li,.footer__services ul li{margin:0}.footer__brand a,.footer__info a,.footer__links a,.footer__services a{color:var(--color-gold);text-decoration:none;cursor:pointer;transition:color var(--dur-fast) var(--ease)}.footer__brand a:hover,.footer__info a:hover,.footer__links a:hover,.footer__services a:hover{color:var(--color-gold-hover)}.footer__bottom{border-top:1px solid rgba(201,162,39,.15);padding-top:var(--sp-20);text-align:center}.footer__bottom p{margin:0;opacity:.5;font-size:var(--fs-sm)}@media (min-width:768px){.hero{min-height:700px}.footer__content{flex-direction:row;justify-content:space-evenly;gap:0;align-items:flex-start}.footer__brand,.footer__info,.footer__links,.footer__services{flex:0 1 calc(25% - 12px);max-width:calc(25% - 12px)}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.header__content{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto;align-items:center}.header{position:sticky;top:0;z-index:100}.logo{grid-column:1;grid-row:1;justify-self:start}.logo__subtitle,.logo__text{text-align:left}.header-actions{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;gap:var(--sp-8)}.hamburger{display:flex!important;grid-column:2;grid-row:1;justify-self:center;z-index:110;background:0 0;border:none;padding:10px}.nav{grid-column:1/-1;grid-row:2;width:100%;max-height:0;overflow:hidden;transition:max-height var(--dur-normal) var(--ease)}.nav--open{max-height:300px}.nav__list{flex-direction:column;align-items:center;gap:var(--sp-16);padding:var(--sp-16) 0}.hero{padding:var(--sp-24) 0}.hero__cta{flex-direction:column;align-items:center}.hero__cta .btn{width:100%;max-width:300px}.reviews-container{grid-template-columns:1fr;gap:var(--sp-16)}.reviews-google-badge{flex-direction:column;gap:var(--sp-6);padding:var(--sp-12)}.contact__content{grid-template-columns:1fr;gap:var(--sp-24)}.why-grid{grid-template-columns:repeat(2,1fr);gap:var(--sp-20)}}@media (max-width:480px){.logo__text{font-size:var(--fs-2xl)}.header-actions{gap:var(--sp-6)}.account-name{display:none}.review-card{padding:var(--sp-16)}.review-avatar{width:32px;height:32px}.why-grid{grid-template-columns:1fr}}@media (max-width:600px){.service-card{flex:0 1 100%}}@media (min-width:601px) and (max-width:900px){.service-card{flex:0 1 48%}}@media (min-width:901px) and (max-width:1200px){.service-card{flex:0 1 32%}}@media (max-width:768px){.reviews-section{padding:clamp(24px,5vw,40px) 0 clamp(16px,3vw,24px)}.reviews-header{margin-bottom:var(--sp-16)}.reviews-google-badge{flex-direction:row;gap:var(--sp-10);padding:var(--sp-10) var(--sp-16);flex-wrap:wrap;justify-content:center;border-radius:var(--r-full)}.reviews-container{display:grid!important;grid-template-columns:1fr!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;gap:var(--sp-12)!important;overflow:visible;padding:0;margin:0;min-height:0!important}.review-card{min-height:0}.reviews-container .review-card:nth-child(n+3){display:none}.carousel__nav{background:rgba(42,42,62,.75);color:#fff;width:40px;height:40px;font-size:1.6rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 12px rgba(0,0,0,.18)}.carousel__nav:active,.carousel__nav:hover{background:var(--color-gold);color:#fff}.carousel__nav--prev{left:.6rem}.carousel__nav--next{right:.6rem}.contact{padding:clamp(28px,5vw,48px) 0}.contact__details{display:grid;grid-template-columns:1fr;gap:var(--sp-10);margin:var(--sp-20) 0;padding:0;list-style:none}.contact__details li{background:var(--color-sand);padding:var(--sp-12) var(--sp-16);border-radius:var(--r-md);border:1px solid var(--color-border);display:flex;align-items:center;gap:var(--sp-12);line-height:1.5;font-size:var(--fs-sm);transition:all var(--dur-normal) var(--ease)}.contact__details li:hover{border-color:rgba(201,162,39,.35);background:#fff}.contact__details a{color:var(--color-gold-dark);text-decoration:none;font-weight:600}.contact__details a:hover{color:var(--color-gold)}.contact__item-icon{font-size:1.4rem;flex-shrink:0;color:var(--color-gold);line-height:1}.contact iframe,.contact iframe[src*="google.com/maps"],.map-responsive{min-height:320px;border-radius:var(--r-md);border:1px solid var(--color-border)}.contact__form-container{padding:clamp(20px,4vw,28px);background:var(--color-sand);border-radius:var(--r-lg);border:1px solid var(--color-border);margin-top:var(--sp-16)}.contact__form-container h3{font-family:var(--font-display);font-style:italic;font-weight:500;color:var(--color-text);font-size:clamp(1.15rem, 4vw, 1.35rem);margin-bottom:var(--sp-16);letter-spacing:-.015em}}@media (max-width:480px){.carousel__slide img{height:320px!important;max-height:none!important;width:100%;object-fit:cover}.reviews-container{grid-auto-columns:88%!important}}html[lang=zh-CN] body,html[lang=zh] body{font-family:"ZCOOL XiaoWei","Noto Sans SC",Inter,sans-serif}html[lang=zh-CN] .hero__title,html[lang=zh-CN] .section__title,html[lang=zh-CN] .service-card__title,html[lang=zh] .hero__title,html[lang=zh] .section__title,html[lang=zh] .service-card__title{font-family:"ZCOOL XiaoWei","Noto Sans SC","Playfair Display",serif;font-weight:500}altcha-widget .altcha-footer,altcha-widget [part=footer],altcha-widget a[href*="altcha.org"]{display:none!important}altcha-widget{display:block;margin-bottom:var(--sp-16)}.account-page{padding:2rem 1rem;min-height:60vh}.account-container{max-width:480px;margin:0 auto}.account-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.account-tab{flex:1;padding:.75rem;border:1px solid #ddd;background:#f8f8f8;border-radius:6px;cursor:pointer;font-size:.95rem}.account-tab.active{background:#1a1a1a;color:#fff;border-color:#1a1a1a}.account-tab-content{display:none}.account-tab-content.active{display:block}.account-success{background:#d4edda;color:#155724;padding:1rem;border-radius:6px;margin-bottom:1rem}.account-error{background:#f8d7da;color:#721c24;padding:1rem;border-radius:6px;margin-bottom:1rem}.account-switch{margin-top:1rem;font-size:.9rem;text-align:center}.form-check input[type=checkbox]{margin-right:.5rem}.account-table{width:100%;border-collapse:collapse;font-size:.9rem}.account-table td,.account-table th{padding:.6rem .8rem;border-bottom:1px solid #eee;text-align:left}.account-table th{font-weight:600;background:#f8f8f8}.loyalty-balance{text-align:center;padding:2rem;background:#fafafa;border-radius:12px;margin-bottom:1.5rem}.loyalty-points-number{display:block;font-size:3rem;font-weight:700;color:#1a1a1a}.loyalty-points-label{font-size:.95rem;color:#666}