:root{--gold:#B8860B;--gold-light:#D4A84B;--wine:#722F37;--wine-dark:#5A1F26;--cream:#FAF6EF;--dark:#1E1810;--brown:#3D2B1F;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;width:100%;max-width:100vw;}
body{font-family:'Noto Serif SC',serif;background:var(--cream);color:var(--brown);overflow-x:hidden;width:100%;max-width:100vw;position:relative;}
img,video,iframe{max-width:100%;display:block;height:auto;}
section,header,footer,nav,main,aside,article{max-width:100vw;overflow-x:clip;}
.font-display{font-family:'Playfair Display',serif;}
.top-bar{background:var(--dark);color:#c9b88a;font-size:13px;}
.nav-link{position:relative;padding:6px 2px;transition:color .3s;color:#fff;}
.nav-link::after{content:'';position:absolute;left:50%;bottom:-4px;width:0;height:2px;background:var(--gold);transition:all .3s;transform:translateX(-50%);}
.nav-link:hover{color:var(--gold);}
.nav-link:hover::after{width:100%;}
.nav-link.active{color:var(--gold);}
.nav-link.active::after{width:100%;}
.nav-scrolled{background:rgba(30,24,16,.95)!important;backdrop-filter:blur(12px);box-shadow:0 2px 20px rgba(0,0,0,.3);}
.page-hero{height:420px;min-height:320px;position:relative;overflow:hidden;display:flex;align-items:center;}
.page-hero-bg{position:absolute;inset:0;background:url('http://img0.baidu.com/it/u=2237809897,3832751587&fm=253&fmt=auto&app=138&f=JPEG?w=1286&h=800') center/cover no-repeat;background-attachment:scroll;z-index:0;}
@media(min-width:768px){.page-hero-bg{background-attachment:fixed;}}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(114,47,55,.55),rgba(30,24,16,.8));z-index:1;}
.page-hero-content{position:relative;z-index:3;color:#fff;text-align:center;width:100%;padding-top:60px;}
.breadcrumb{font-size:14px;color:#c9b88a;margin-top:12px;}
.breadcrumb a{color:#c9b88a;transition:color .3s;}
.breadcrumb a:hover{color:var(--gold-light);}
.btn-primary{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 100%);color:#fff;padding:14px 36px;border-radius:50px;font-weight:600;transition:all .4s;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 20px rgba(184,134,11,.35);border:none;cursor:pointer;font-size:16px;text-decoration:none;}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(184,134,11,.55);}
.btn-gold-outline{border:2px solid var(--gold);color:var(--gold);padding:12px 34px;border-radius:50px;font-weight:600;transition:all .4s;display:inline-flex;align-items:center;gap:8px;background:transparent;cursor:pointer;font-size:15px;text-decoration:none;}
.btn-gold-outline:hover{background:var(--gold);color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px rgba(184,134,11,.4);}
.section-title{text-align:center;margin-bottom:60px;}
.section-sub{font-family:'Playfair Display',serif;font-style:italic;color:var(--gold);letter-spacing:4px;font-size:16px;margin-bottom:8px;}
.section-head{font-size:38px;font-weight:700;color:var(--dark);letter-spacing:2px;margin-bottom:20px;}
.title-divider{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto;}
.title-divider .line{width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--gold));}
.title-divider .line-r{background:linear-gradient(90deg,var(--gold),transparent);}
.title-divider .heart{color:var(--gold);font-size:18px;animation:heartbeat 1.8s ease-in-out infinite;}
@keyframes heartbeat{0%,100%{transform:scale(1);}50%{transform:scale(1.25);}}
.reveal{opacity:0;transform:translateY(40px);transition:all .8s cubic-bezier(.25,.46,.45,.94);}
.reveal.visible{opacity:1;transform:translateY(0);}
.delay-1{transition-delay:.1s;}.delay-2{transition-delay:.2s;}.delay-3{transition-delay:.3s;}.delay-4{transition-delay:.4s;}
.service-item{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.06);transition:all .5s;display:flex;flex-direction:column;}
.service-item:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(184,134,11,.2);}
.service-item img{width:100%;height:220px;object-fit:cover;transition:transform .8s;}
.service-item:hover img{transform:scale(1.05);}
.service-item .body{padding:28px 24px;flex:1;display:flex;flex-direction:column;}
.service-icon-big{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#fdf6e3,#f5e6c8);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:16px;transition:all .5s;}
.service-item:hover .service-icon-big{background:linear-gradient(135deg,var(--gold),var(--wine));color:#fff;transform:rotateY(360deg);}
.pkg-card{background:#fff;border-radius:16px;padding:40px 32px;text-align:center;box-shadow:0 4px 20px rgba(0,0,0,.06);position:relative;transition:all .5s;border:1px solid transparent;}
.pkg-card.featured{border-color:var(--gold);transform:scale(1.03);box-shadow:0 15px 40px rgba(184,134,11,.25);}
.pkg-card:hover{transform:translateY(-8px);}
.pkg-card.featured:hover{transform:scale(1.03) translateY(-8px);}
.pkg-ribbon{position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--gold),var(--gold-light));color:#fff;padding:6px 20px;border-radius:0 0 8px 8px;font-size:12px;font-weight:600;letter-spacing:2px;}
.pkg-price{font-family:'Playfair Display',serif;font-size:48px;font-weight:700;color:var(--gold);line-height:1;}
.pkg-list{text-align:left;list-style:none;margin:24px 0;}
.pkg-list li{padding:8px 0;color:#666;font-size:14px;border-bottom:1px dashed #eee;display:flex;align-items:center;gap:8px;}
.pkg-list li i{color:var(--gold);font-size:12px;}
.cta-section{background:linear-gradient(135deg,rgba(30,24,16,.92),rgba(114,47,55,.88)),url('http://img1.baidu.com/it/u=793311592,3995100272&fm=253&fmt=auto&app=138&f=JPEG?w=771&h=500') center/cover no-repeat;padding:70px 0;text-align:center;color:#fff;}
@supports (-webkit-touch-callout:none){.cta-section{background-attachment:scroll;}}
@media(min-width:768px){.cta-section{background-attachment:fixed;}}
footer{background:var(--dark);}
.float-side{position:fixed;right:20px;bottom:100px;z-index:50;display:flex;flex-direction:column;gap:10px;}
.float-btn{width:54px;height:54px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 4px 20px rgba(184,134,11,.5);cursor:pointer;transition:all .4s;}
.float-btn:hover{transform:scale(1.1);background:var(--wine);}
.float-btn.phone{animation:pulse 2s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(184,134,11,.7);}70%{box-shadow:0 0 0 12px rgba(184,134,11,0);}100%{box-shadow:0 0 0 0 rgba(184,134,11,0);}}
.mobile-menu-toggle{display:none;background:none;border:none;color:#fff;font-size:24px;cursor:pointer;z-index:30;}
.mobile-nav{position:fixed;top:0;right:-100%;width:75%;max-width:320px;height:100vh;background:var(--dark);z-index:100;padding:80px 30px 30px;transition:right .4s ease;box-shadow:-5px 0 30px rgba(0,0,0,.5);}
.mobile-nav.open{right:0;}
.mobile-nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:99;opacity:0;pointer-events:none;transition:opacity .3s;}
.mobile-nav-overlay.open{opacity:1;pointer-events:auto;}
.mobile-nav a{display:block;padding:14px 0;color:#ddd;border-bottom:1px solid rgba(255,255,255,.08);font-size:16px;text-decoration:none;transition:color .3s;}
.mobile-nav a:hover{color:var(--gold-light);}
.mobile-nav-close{position:absolute;top:20px;right:20px;background:none;border:none;color:#c9b88a;font-size:26px;cursor:pointer;}
.toast{position:fixed;top:80px;left:50%;transform:translateX(-50%) translateY(-100px);background:var(--dark);color:#fff;padding:12px 28px;border-radius:50px;z-index:200;transition:transform .4s;font-size:14px;border:1px solid var(--gold);}
.toast.show{transform:translateX(-50%) translateY(0);}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:100;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);}
.modal-overlay.active{display:flex;animation:fadeIn .3s;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
.modal-box{background:#fff;border-radius:12px;max-width:500px;width:100%;padding:40px;position:relative;animation:slideUp .4s;}
@keyframes slideUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}

/* ===== 移动端终极修复 ===== */
@media (max-width: 1023px){
  .mobile-menu-toggle{display:block;}
}
@media (max-width: 767px){
  html,body{overflow-x:hidden!important;}
  .page-hero{height:280px!important;min-height:280px!important;}
  .page-hero-content{padding:70px 16px 0!important;}
  .page-hero-content h1{font-size:30px!important;}
  .page-hero-content p{font-size:13px!important;}
  .breadcrumb{font-size:12px!important;}
  .max-w-7xl,.max-w-6xl,.max-w-5xl{padding-left:16px!important;padding-right:16px!important;width:100%!important;}
  section{overflow-x:hidden!important;padding:40px 0!important;}
  .top-bar{font-size:11px!important;padding:8px 0!important;}
  .top-bar .flex{flex-wrap:wrap;gap:6px!important;justify-content:center!important;}
  .top-bar .hidden{display:none!important;}
  nav{position:absolute!important;}
  nav .max-w-7xl{padding:0 16px!important;}
  nav .btn-primary{padding:8px 16px!important;font-size:13px;}
  .section-title{margin-bottom:28px!important;}
  .section-head{font-size:24px!important;letter-spacing:1px!important;}
  .section-sub{font-size:12px!important;letter-spacing:2px!important;}
  .service-item img{height:160px!important;}
  .service-item .body{padding:20px 16px!important;}
  .service-icon-big{width:50px!important;height:50px!important;font-size:20px!important;margin-bottom:12px!important;}
  .pkg-card{padding:28px 20px!important;}
  .pkg-card.featured{transform:none!important;}
  .pkg-card.featured:hover{transform:translateY(-8px)!important;}
  .pkg-price{font-size:36px!important;}
  .cta-section{padding:50px 16px!important;}
  .cta-section h2{font-size:24px!important;}
  footer{padding:40px 0 20px!important;}
  footer .grid{gap:24px!important;}
  .float-side{right:10px!important;bottom:70px!important;gap:8px!important;}
  .float-btn{width:42px!important;height:42px!important;font-size:16px!important;}
  .btn-primary,.btn-gold-outline{font-size:14px!important;padding:12px 22px!important;}
  .modal-box{padding:24px 20px!important;margin:10px;max-width:calc(100% - 20px);}
}
@media (max-width: 480px){
  .page-hero-content h1{font-size:26px!important;}
  .grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr!important;}
  .section-head{font-size:22px!important;}
}