@charset "UTF-8";
/* =====================================================================
   全站样式  assets/css/style.css
   ---------------------------------------------------------------------
   一、公共样式：基础 / 顶部信息条 / 头部+导航 / 内页 Banner / 页脚
                / 滚动渐入 / 图片占位 / 响应式
   二、页面专属样式：按页面分组，见文件末尾
       每个页面 <body id="page-xxx">；与其他页面重名或会串页的选择器
       用 :where(#page-xxx) 限定（:where 不增加优先级，层叠行为不变）
   ===================================================================== */

/* ============ 基础 ============ */
:root{--green-900:#0f2b22;--green-800:#1b4332;--green-700:#2d6a4f;--green-600:#40916c;--green-500:#52b788;--gold:#c9a961;--gold-light:#e3cd93;--cream:#f7f5f0;--text:#2b332f;--muted:#8a9691;--header-h:82px;--gutter:4%}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:"Microsoft YaHei","PingFang SC","Hiragino Sans GB",Arial,sans-serif;color:var(--text);background:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.6}
a{text-decoration:none;color:inherit}
li{list-style:none}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
img{display:block;max-width:100%}
::selection{background:var(--green-700);color:#fff}
.container{width:min(1200px,100% - var(--gutter)*2);margin:0 auto}

/* ============ 顶部信息条 ============ */
.topbar{background:var(--green-900);color:rgba(255,255,255,.6);font-size:13px}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;height:38px}
.topbar .slogan{letter-spacing:1px}
.topbar-links{display:flex;align-items:center;gap:18px}
.topbar-links a{transition:color .3s}
.topbar-links a:hover{color:var(--gold-light)}
.topbar-links .hot{color:var(--gold-light);font-weight:600;letter-spacing:.5px}

/* ============ 头部 + 导航 ============ */
.header{background:var(--green-800);position:sticky;top:0;z-index:100;box-shadow:0 2px 24px rgba(9,26,20,.28);transition:background .4s}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-h)}
.logo{display:flex;align-items:center;gap:13px;color:#fff;flex:0 0 auto}
.logo-mark{width:46px;height:46px;border:1.5px solid var(--gold);border-radius:5px;display:grid;place-items:center;color:var(--gold);font-size:23px;font-family:"STKaiti","KaiTi","SimSun",serif;background:rgba(201,169,97,.08);transition:.4s}
.logo:hover .logo-mark{background:var(--gold);color:var(--green-900)}
.logo-text strong{display:block;font-size:20px;letter-spacing:3px;font-weight:600}
.logo-text small{display:block;font-size:9px;letter-spacing:1.2px;color:rgba(255,255,255,.42);margin-top:4px}
.nav{display:flex;align-items:center;height:100%;margin-left:auto}
.nav-item{position:relative;height:100%;display:flex;align-items:center}
.nav-item > a{display:flex;align-items:center;height:100%;padding:0 19px;color:rgba(255,255,255,.85);font-size:16px;letter-spacing:.5px;position:relative;transition:color .3s}
.nav-item > a::after{content:"";position:absolute;left:19px;right:19px;bottom:23px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:center;transition:transform .38s cubic-bezier(.4,0,.2,1)}
.nav-item:hover > a,.nav-item.open > a{color:#fff}
.nav-item:hover > a::after,.nav-item.open > a::after{transform:scaleX(1)}
.nav-item.current > a{color:#fff}
.nav-item.current > a::after{transform:scaleX(1)}
.caret{display:inline-block;width:0;height:0;margin-left:6px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;transition:transform .32s ease}
.nav-item.open .caret{transform:rotate(180deg)}
.dropdown{position:absolute;top:calc(100% - 10px);left:50%;min-width:176px;background:#fff;border-radius:6px;padding:8px 0;box-shadow:0 18px 44px rgba(15,43,34,.2);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%) translateY(16px) scale(.94);transform-origin:top center;transition:opacity .3s ease,transform .4s cubic-bezier(.34,1.4,.64,1),visibility .3s}
.dropdown::before{content:"";position:absolute;top:-6px;left:50%;margin-left:-6px;width:12px;height:12px;background:#fff;transform:rotate(45deg);border-radius:2px}
.nav-item.open .dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0) scale(1)}
.dropdown a{display:block;position:relative;padding:10px 22px;font-size:14px;color:#44534c;white-space:nowrap;transition:color .25s,background .25s,padding-left .25s}
.dropdown a::before{content:"";position:absolute;left:12px;top:50%;width:0;height:1px;background:var(--gold);transform:translateY(-50%);transition:width .3s}
.dropdown a:hover{background:#f2f8f5;color:var(--green-700);padding-left:30px}
.dropdown a:hover::before{width:10px}
.nav-item.open .dropdown a{animation:dropIn .36s backwards}
.nav-item.open .dropdown a:nth-child(1){animation-delay:.04s}
.nav-item.open .dropdown a:nth-child(2){animation-delay:.08s}
.nav-item.open .dropdown a:nth-child(3){animation-delay:.12s}
.nav-item.open .dropdown a:nth-child(4){animation-delay:.16s}
.nav-item.open .dropdown a:nth-child(5){animation-delay:.20s}
.nav-item.open .dropdown a:nth-child(6){animation-delay:.24s}
.nav-item.open .dropdown a:nth-child(7){animation-delay:.28s}
@keyframes dropIn{from{opacity:0;transform:translateY(-9px)} to{opacity:1;transform:translateY(0)}}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:9px;background:transparent;border:0;cursor:pointer;border-radius:8px}
.burger span{display:block;height:2px;background:#fff;border-radius:2px;transition:.35s}
.burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.active span:nth-child(2){opacity:0;transform:scaleX(.3)}
.burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-mask{position:fixed;inset:0;background:rgba(8,22,17,.55);opacity:0;visibility:hidden;transition:.4s;z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.nav-mask.show{opacity:1;visibility:visible}

/* ============ 内页 Banner ============ */
.page-banner{position:relative;height:340px;overflow:hidden;background:var(--green-900)}
.page-banner .bg{position:absolute;inset:0}
.page-banner .bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.82) contrast(1.04)}
.page-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,26,20,.88) 0%,rgba(8,26,20,.58) 52%,rgba(8,26,20,.28) 100%)}
.page-banner .inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center}
.page-banner .crumb{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.55);margin-bottom:20px;letter-spacing:.5px;flex-wrap:wrap}
.page-banner .crumb a{transition:color .3s}
.page-banner .crumb a:hover{color:var(--gold-light)}
.page-banner .crumb i{font-style:normal;color:rgba(255,255,255,.32)}
.page-banner .crumb span{color:var(--gold-light)}
.page-banner h1{font-size:42px;color:#fff;font-weight:600;letter-spacing:6px;margin-bottom:16px;text-shadow:0 4px 24px rgba(0,0,0,.3)}
.page-banner .en{font-size:12px;letter-spacing:5px;color:var(--gold-light);text-transform:uppercase}

/* ============ 页脚 ============ */
.footer{background:var(--green-900);color:rgba(255,255,255,.6);padding-top:64px}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:44px;padding-bottom:52px;border-bottom:1px solid rgba(255,255,255,.09)}
.f-brand .logo{margin-bottom:20px}
.f-brand p{font-size:13px;line-height:2.05;color:rgba(255,255,255,.52)}
.f-brand .hot{color:var(--gold-light);font-size:15px;letter-spacing:1px;margin-top:10px}
.f-col h4{font-size:15px;color:#fff;letter-spacing:2px;margin-bottom:22px;padding-bottom:12px;position:relative;font-weight:600}
.f-col h4::after{content:"";position:absolute;left:0;bottom:0;width:26px;height:1.5px;background:var(--gold)}
.f-col li{margin-bottom:13px}
.f-col a{font-size:13.5px;color:rgba(255,255,255,.55);transition:color .3s,padding-left .3s}
.f-col a:hover{color:var(--gold-light);padding-left:6px}
.footer-bottom{padding:22px 0;text-align:center;font-size:12.5px;color:rgba(255,255,255,.35);letter-spacing:.8px}
.footer-bottom a{transition:color .3s}
.footer-bottom a:hover{color:var(--gold-light)}

/* ============ 滚动渐入 ============ */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .85s cubic-bezier(.2,.8,.3,1),transform .85s cubic-bezier(.2,.8,.3,1)}
.reveal.in{opacity:1;transform:translateY(0)}

/* ============ 图片占位渐变 ============ */
.ph-1{background:linear-gradient(150deg,#2d6a4f,#40916c 55%,#74c69d)}
.ph-2{background:linear-gradient(150deg,#1b4332,#2d6a4f 60%,#52796f)}
.ph-3{background:linear-gradient(150deg,#3a5a40,#588157 60%,#a3b18a)}
.ph-4{background:linear-gradient(150deg,#264653,#2a9d8f 70%,#8ecae6)}
.ph-5{background:linear-gradient(150deg,#2f3e46,#52796f 65%,#84a98c)}
.ph-6{background:linear-gradient(150deg,#1b4332,#40916c 50%,#95d5b2)}

/* ============ 响应式 ============ */
@media (max-width:1100px){
  .nav-item > a{padding:0 13px;font-size:15px}
  .page-banner h1{font-size:36px}
}
@media (max-width:1024px){
  .burger{display:flex}
  .nav{position:fixed;top:0;right:0;bottom:0;left:auto;width:290px;max-width:86vw;height:auto;margin:0;background:var(--green-800);flex-direction:column;align-items:stretch;padding:80px 0 40px;overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translateX(100%);transition:transform .45s cubic-bezier(.4,0,.2,1);z-index:200;box-shadow:-14px 0 40px rgba(0,0,0,.3)}
  .nav.open{transform:translateX(0)}
  .nav-item{display:block;height:auto}
  .nav-item > a{height:auto;padding:15px 24px;justify-content:space-between;font-size:15px;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav-item > a::after{display:none}
  .nav-item:hover > a{background:rgba(255,255,255,.05)}
  .dropdown{position:static;top:auto;left:auto;min-width:0;opacity:1;visibility:visible;pointer-events:auto;transform:none;border-radius:0;box-shadow:none;background:rgba(0,0,0,.18);padding:0;max-height:0;overflow:hidden;transition:max-height .42s ease}
  .dropdown::before{display:none}
  .nav-item.open .dropdown{max-height:520px;transform:none}
  .nav-item.open .dropdown a{animation:none}
  .dropdown a{padding:13px 42px;color:rgba(255,255,255,.7);font-size:14px}
  .dropdown a::before{display:none}
  .dropdown a:hover{background:rgba(255,255,255,.07);color:#fff;padding-left:46px}
  .footer-top{grid-template-columns:1fr 1fr;gap:34px}
}
@media (max-width:768px){
  .topbar-inner{height:34px;justify-content:center}
  .topbar .slogan{display:none}
  .page-banner{height:220px}
  .page-banner h1{font-size:24px;letter-spacing:2px;margin-bottom:10px}
  .page-banner .crumb{font-size:12px;margin-bottom:12px;gap:6px}
  .page-banner .en{font-size:10px;letter-spacing:2px}
  .footer-top{grid-template-columns:1fr;gap:30px;padding-bottom:36px}
}
@media (max-width:400px){
  .page-banner{height:200px}
  .page-banner h1{font-size:21px;letter-spacing:1.5px}
  .page-banner .crumb{font-size:11.5px}
}
@media (max-height:480px) and (orientation:landscape){
  .page-banner{height:170px}
  .page-banner h1{font-size:20px;margin-bottom:8px}
}

/* =====================================================================
   页面专属样式
   ---------------------------------------------------------------------
   每个页面在 <body> 上带 id="page-xxx"；
   与其他页面重名或会串页的选择器用 :where(#page-xxx) 限定，
   :where 不增加优先级，限定前后的层叠结果保持一致；其余选择器保持全局。
   ===================================================================== */

/* ============ 首页（index.html） ============ */
/* ============ Banner 轮播 ============ */
.banner{position:relative;height:620px;overflow:hidden;background:var(--green-900)}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;
  transition:opacity 1s ease,visibility 1s ease}
.slide.active{opacity:1;visibility:visible}
.slide::after{content:"";position:absolute;inset:0;z-index:3;
  background:linear-gradient(90deg,rgba(8,26,20,.86) 0%,rgba(8,26,20,.52) 46%,rgba(8,26,20,.12) 100%);}
.slide-bg{position:absolute;inset:0;overflow:hidden}
/* Banner 测试图片 */
.slide-bg img{width:100%;height:100%;object-fit:cover;
  filter:saturate(.82) brightness(.9) contrast(1.03);}
.slide.active .slide-bg{animation:kenburns 8s ease-out forwards}
@keyframes kenburns{from{transform:scale(1.13)}
  to{transform:scale(1)}}
/* 图片加载失败时的渐变兜底 */
.bg-1{background:linear-gradient(180deg,#0c2a20 0%,#1b4332 42%,#2d6a4f 100%)}
.bg-2{background:linear-gradient(180deg,#102a30 0%,#1f4e46 45%,#3a7d6a 100%)}
.bg-3{background:linear-gradient(180deg,#182a22 0%,#2f5142 45%,#4f7561 100%)}
.slide-bg::after{content:"";position:absolute;inset:0;z-index:2;
  background:
    radial-gradient(ellipse 65% 55% at 88% 96%,rgba(82,183,136,.30),transparent 72%),
    radial-gradient(ellipse 48% 38% at 6% 100%,rgba(201,169,97,.18),transparent 72%);}
.slide-inner{position:relative;z-index:4;height:100%;display:flex;
  flex-direction:column;justify-content:center;padding-bottom:60px}
.slide-sub{font-size:12px;letter-spacing:5px;color:var(--gold-light);
  margin-bottom:20px;text-transform:uppercase;}
.slide-inner h1{font-size:52px;line-height:1.25;color:#fff;font-weight:600;
  letter-spacing:4px;margin-bottom:22px;text-shadow:0 4px 24px rgba(0,0,0,.3);}
.slide-desc{font-size:17px;color:rgba(255,255,255,.78);letter-spacing:1.5px;margin-bottom:38px}
:where(#page-index) .btn-gold{display:inline-block;align-self:flex-start;
  padding:14px 42px;border:1px solid var(--gold);border-radius:2px;
  color:var(--gold-light);font-size:15px;letter-spacing:3px;
  position:relative;overflow:hidden;transition:color .45s;}
.btn-gold::before{content:"";position:absolute;inset:0;background:var(--gold);
  transform:translateX(-101%);transition:transform .45s cubic-bezier(.4,0,.2,1);}
.btn-gold span{position:relative;z-index:1}
.btn-gold:hover{color:var(--green-900)}
.btn-gold:hover::before{transform:translateX(0)}
.slide-inner > *{opacity:0;transform:translateY(28px)}
.slide.active .slide-inner > *{animation:slideUp .95s cubic-bezier(.2,.8,.3,1) forwards}
.slide.active .slide-inner > *:nth-child(1){animation-delay:.15s}
.slide.active .slide-inner > *:nth-child(2){animation-delay:.3s}
.slide.active .slide-inner > *:nth-child(3){animation-delay:.45s}
.slide.active .slide-inner > *:nth-child(4){animation-delay:.6s}
@keyframes slideUp{to{opacity:1;transform:translateY(0)}}
.arrow{position:absolute;top:46%;transform:translateY(-50%);
  width:52px;height:52px;border-radius:50%;cursor:pointer;z-index:6;
  border:1px solid rgba(255,255,255,.34);
  background:rgba(255,255,255,.07);color:#fff;font-size:26px;line-height:1;
  display:grid;place-items:center;backdrop-filter:blur(4px);
  transition:background .35s,border-color .35s,color .35s,transform .35s;}
.arrow:hover{background:var(--gold);border-color:var(--gold);color:var(--green-900)}
.arrow-prev{left:32px}
.arrow-next{right:32px}
.arrow-prev:hover{transform:translateY(-50%) translateX(-4px)}
.arrow-next:hover{transform:translateY(-50%) translateX(4px)}
.dots{position:absolute;left:50%;bottom:104px;transform:translateX(-50%);
  display:flex;gap:10px;z-index:6}
.dot{width:28px;height:3px;border-radius:2px;border:0;cursor:pointer;
  background:rgba(255,255,255,.32);transition:width .4s,background .4s;}
.dot.active{width:46px;background:var(--gold)}
/* ============ 快捷服务入口 ============ */
.quick-wrap{margin-top:-58px;position:relative;z-index:30}
.quick{background:#fff;border-radius:10px;overflow:hidden;
  box-shadow:0 20px 54px rgba(15,43,34,.14);
  display:grid;grid-template-columns:repeat(3,1fr);}
.quick-item{position:relative;display:flex;gap:16px;padding:28px 26px;
  transition:background .4s,transform .4s;}
.quick-item + .quick-item::before{content:"";position:absolute;left:0;top:26px;bottom:26px;width:1px;background:#eef2f0;}
.quick-item:hover{background:#f4faf7}
.quick-icon{flex:0 0 50px;width:50px;height:50px;border-radius:13px;
  background:#eaf4ef;color:var(--green-700);
  display:grid;place-items:center;
  transition:background .45s,color .45s,transform .5s cubic-bezier(.34,1.5,.64,1);}
.quick-icon svg{width:24px;height:24px}
.quick-item:hover .quick-icon{background:var(--green-700);color:#fff;transform:rotate(-7deg) scale(1.07);}
.quick-txt h4{font-size:17px;font-weight:600;color:var(--green-800);margin-bottom:7px;letter-spacing:1px}
.quick-txt p{font-size:12.5px;color:var(--muted);line-height:1.5}
/* ============ 通用区块头 ============ */
:where(#page-index) .section{padding:76px 0}
:where(#page-index) .sec-head{text-align:center;margin-bottom:48px}
.sec-head h2{display:inline-block;position:relative;padding-bottom:16px;
  font-size:30px;font-weight:600;color:var(--green-800);letter-spacing:5px;}
.sec-head h2::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:46px;height:2px;background:var(--gold);}
.sec-head p{margin-top:14px;font-size:11.5px;letter-spacing:4px;
  color:#aeb9b4;text-transform:uppercase;}
/* ============ 图片容器（真实图片 + 渐变兜底） ============ */
:where(#page-index) .ph{position:relative;width:100%;height:100%;overflow:hidden;
  transition:transform .85s cubic-bezier(.2,.8,.3,1)}
:where(#page-index) .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  z-index:1;filter:saturate(.92) contrast(1.02);}
:where(#page-index) .ph::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.14),transparent 46%),
    radial-gradient(circle at 78% 84%,rgba(0,0,0,.20),transparent 58%);}
/* ============ 墓型展示 ============ */
.tomb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.tomb-card{background:#fff;border-radius:10px;overflow:hidden;display:block;
  box-shadow:0 6px 22px rgba(15,43,34,.07);
  transition:transform .5s cubic-bezier(.2,.8,.3,1),box-shadow .5s;}
.tomb-card:hover{transform:translateY(-9px);box-shadow:0 24px 48px rgba(15,43,34,.17)}
.tomb-img{position:relative;height:222px;overflow:hidden}
.tomb-card:hover .tomb-img .ph{transform:scale(1.11)}
.tomb-mask{position:absolute;inset:0;z-index:3;display:grid;place-items:end center;padding-bottom:24px;
  background:linear-gradient(180deg,rgba(15,43,34,0) 42%,rgba(15,43,34,.78));
  opacity:0;transition:opacity .45s;}
.tomb-card:hover .tomb-mask{opacity:1}
.tomb-mask span{padding:7px 20px;border:1px solid rgba(255,255,255,.85);border-radius:22px;
  color:#fff;font-size:13px;letter-spacing:1px;
  transform:translateY(12px);transition:transform .45s .05s;}
.tomb-card:hover .tomb-mask span{transform:translateY(0)}
.tomb-tag{position:absolute;top:14px;left:14px;z-index:4;
  padding:4px 12px;font-size:12px;border-radius:3px;
  background:var(--gold);color:#25301f;letter-spacing:1px;}
.tomb-info{padding:22px 24px 26px}
.tomb-info h3{font-size:18px;font-weight:600;color:var(--green-800);margin-bottom:10px;letter-spacing:1px}
.tomb-info p{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:16px}
.tomb-price{font-size:20px;color:#b8863b;font-weight:600;letter-spacing:.5px}
.tomb-price em{font-size:13px;font-style:normal;margin-right:2px}
.tomb-price small{font-size:12px;color:#a9b3ae;font-weight:400;margin-left:4px}
/* ============ 配套设施 ============ */
.facility{background:#fff}
.facility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fac-item{display:flex;gap:18px;padding:30px 28px;border-radius:10px;
  background:linear-gradient(180deg,#fafcfb,#f4f8f6);
  border:1px solid #edf2ef;
  transition:transform .45s cubic-bezier(.2,.8,.3,1),box-shadow .45s,border-color .45s;}
.fac-item:hover{transform:translateY(-6px);border-color:#d7e6df;
  box-shadow:0 18px 38px rgba(15,43,34,.1);}
.fac-icon{flex:0 0 48px;width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;
  background:#fff;color:var(--green-600);
  box-shadow:0 4px 14px rgba(45,106,79,.13);
  transition:background .45s,color .45s,transform .5s cubic-bezier(.34,1.5,.64,1);}
.fac-icon svg{width:23px;height:23px}
.fac-item:hover .fac-icon{background:var(--green-700);color:#fff;transform:rotate(360deg)}
.fac-txt h4{font-size:16.5px;font-weight:600;color:var(--green-800);margin-bottom:9px;letter-spacing:1px}
.fac-txt p{font-size:13px;color:var(--muted);line-height:1.75}
/* ============ 云祭祀 / 代祭祀 ============ */
.memorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
:where(#page-index) .memorial-card{position:relative;height:330px;border-radius:10px;overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:38px;color:#fff;}
.memorial-card .bg{position:absolute;inset:0;overflow:hidden;
  transition:transform 1s cubic-bezier(.2,.8,.3,1)}
.memorial-card .bg img{width:100%;height:100%;object-fit:cover;
  filter:saturate(.8) brightness(.86) contrast(1.04);}
.memorial-card::after{content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(180deg,rgba(12,36,28,.18) 0%,rgba(12,36,28,.88) 100%);
  transition:opacity .5s;}
.memorial-card:hover .bg{transform:scale(1.09)}
.memorial-card:hover::after{opacity:.94}
.memorial-card > *{position:relative;z-index:3}
.memorial-card .tagline{font-size:12px;letter-spacing:4px;color:var(--gold-light);margin-bottom:14px}
.memorial-card h3{font-size:26px;letter-spacing:3px;margin-bottom:14px;font-weight:600}
:where(#page-index) .memorial-card p{font-size:13.5px;line-height:1.85;color:rgba(255,255,255,.78);margin-bottom:24px;max-width:420px}
.memorial-link{align-self:flex-start;display:inline-flex;align-items:center;gap:9px;
  font-size:14px;letter-spacing:2px;color:var(--gold-light);
  padding-bottom:5px;border-bottom:1px solid rgba(201,169,97,.5);
  transition:gap .4s,color .4s;}
.memorial-card:hover .memorial-link{gap:16px;color:#fff}
/* ============ 关于我们 ============ */
.about{background:#fff}
.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about-media{position:relative;height:400px;border-radius:10px;overflow:hidden;
  box-shadow:0 24px 54px rgba(15,43,34,.16)}
.about-media:hover .ph{transform:scale(1.07)}
.about-media::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,transparent 55%,rgba(15,43,34,.5));}
.about-text h2{font-size:30px;color:var(--green-800);letter-spacing:3px;margin-bottom:22px;font-weight:600;}
.about-text h2 span{color:var(--gold)}
.about-text > p{font-size:14.5px;line-height:2.1;color:#5c6b64;margin-bottom:30px;}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:34px}
.stat{border-left:2px solid var(--gold);padding-left:16px}
.stat strong{display:block;font-size:28px;color:var(--green-700);letter-spacing:1px;font-weight:600}
.stat strong i{font-size:14px;font-style:normal;margin-left:2px;color:var(--green-600)}
.stat span{font-size:12.5px;color:var(--muted);letter-spacing:1px}
.btn-line{display:inline-block;padding:13px 40px;border:1px solid var(--green-700);
  border-radius:2px;color:var(--green-700);font-size:14.5px;letter-spacing:3px;
  position:relative;overflow:hidden;transition:color .45s;}
.btn-line::before{content:"";position:absolute;inset:0;background:var(--green-700);
  transform:translateX(-101%);transition:transform .45s cubic-bezier(.4,0,.2,1);}
.btn-line span{position:relative;z-index:1}
.btn-line:hover{color:#fff}
.btn-line:hover::before{transform:translateX(0)}
/* ============ 资讯信息 ============ */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.news-col{background:#fff;border-radius:10px;padding:28px 26px 18px;
  box-shadow:0 6px 22px rgba(15,43,34,.06);
  transition:box-shadow .45s,transform .45s;}
.news-col:hover{box-shadow:0 18px 40px rgba(15,43,34,.12);transform:translateY(-5px)}
.news-col-head{display:flex;align-items:center;justify-content:space-between;
  padding-bottom:16px;margin-bottom:8px;border-bottom:2px solid #f0f4f2;position:relative;}
.news-col-head::after{content:"";position:absolute;left:0;bottom:-2px;width:56px;height:2px;background:var(--gold);}
.news-col-head h3{font-size:18px;color:var(--green-800);letter-spacing:2px;font-weight:600}
.news-col-head a{font-size:12.5px;color:#a5b0ab;transition:color .3s}
.news-col-head a:hover{color:var(--gold)}
:where(#page-index) .news-list li a{display:flex;align-items:center;gap:10px;padding:13px 0;
  border-bottom:1px dashed #eef2f0;font-size:14px;color:#3f4d47;
  transition:color .3s,padding-left .3s;}
:where(#page-index) .news-list li:last-child a{border-bottom:0}
:where(#page-index) .news-list li a:hover{color:var(--green-600);padding-left:7px}
:where(#page-index) .news-list em{font-style:normal;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:where(#page-index) .news-list time{flex:0 0 auto;font-size:12px;color:#adb7b2;letter-spacing:.5px}
.dot-mark{flex:0 0 auto;width:5px;height:5px;border-radius:50%;background:var(--gold)}
@media (max-width:1100px){
  .slide-inner h1{font-size:42px}
}
@media (max-width:1024px){
  .tomb-grid{grid-template-columns:repeat(2,1fr)}
  .facility-grid{grid-template-columns:repeat(2,1fr)}
  .about-inner{grid-template-columns:1fr;gap:36px}
  .news-grid{grid-template-columns:1fr}
}
@media (max-width:768px){
  .banner{height:520px}
  .slide-inner h1{font-size:30px;letter-spacing:2px}
  .slide-desc{font-size:14px}
  .slide-inner{padding-bottom:40px}
  .arrow{width:42px;height:42px;font-size:22px}
  .arrow-prev{left:14px}
  .arrow-next{right:14px}
  .dots{bottom:90px}
  .quick{grid-template-columns:repeat(2,1fr)}
  .quick-item + .quick-item::before{display:none}
  .quick-item{border-bottom:1px solid #f0f4f2}
  :where(#page-index) .section{padding:54px 0}
  :where(#page-index) .sec-head h2{font-size:24px;letter-spacing:3px}
  .tomb-grid{grid-template-columns:1fr}
  .facility-grid{grid-template-columns:1fr}
  :where(#page-index) .memorial-grid{grid-template-columns:1fr}
  :where(#page-index) .memorial-card{height:290px;padding:28px}
  :where(#page-index) .memorial-card h3{font-size:22px}
  .stats{grid-template-columns:1fr 1fr}
  .about-media{height:280px}
  :where(#page-index) .logo-text strong{font-size:17px}
  :where(#page-index) .logo-mark{width:40px;height:40px;font-size:20px}
}
/* ============ 本页与公共样式的差异覆盖（保持本页原有表现） ============ */
:where(#page-index) *{-webkit-tap-highlight-color:auto}
#page-index{-webkit-text-size-adjust:auto}
#page-index{line-height:normal}
:where(#page-index) .container{width:min(1200px,92%)}
:where(#page-index) .header-inner{height:82px}
:where(#page-index) .burger{border-radius:0}
:where(#page-index) .nav-mask{-webkit-backdrop-filter:none;backdrop-filter:none}
@media (max-width:1024px){
  :where(#page-index) .nav{position:fixed;top:0;right:0;bottom:0;left:auto;width:290px;max-width:86vw;height:auto;margin:0;background:var(--green-800);flex-direction:column;align-items:stretch;padding:92px 0 40px;overflow-y:auto;transform:translateX(100%);transition:transform .45s cubic-bezier(.4,0,.2,1);z-index:200;box-shadow:-14px 0 40px rgba(0,0,0,.3);-webkit-overflow-scrolling:auto}
  :where(#page-index) .nav-item.open .dropdown{max-height:460px;transform:none}
  :where(#page-index) .dropdown a{padding:12px 42px;color:rgba(255,255,255,.7);font-size:13.5px}
}
@media (max-width:768px){
  :where(#page-index) .topbar-inner{justify-content:center;height:38px}
  :where(#page-index) .footer-top{grid-template-columns:1fr;gap:34px;padding-bottom:52px}
}

/* ============ 文章详情（detailed.html） ============ */
:where(#page-detailed) .dropdown a.active{color:var(--green-700);font-weight:600;background:#f2f8f5}
:where(#page-detailed) .burger:active{background:rgba(255,255,255,.1)}
/* ============ 主内容布局 ============ */
:where(#page-detailed) .main-wrap{padding:56px 0 74px}
.main-grid{display:grid;grid-template-columns:1fr 320px;gap:38px;align-items:start;}
/* ============ 文章容器 ============ */
.article{background:#fff;border-radius:10px;overflow:hidden;
  box-shadow:0 6px 26px rgba(15,43,34,.07);
  border:1px solid #eef2f0;}
.article-inner{padding:46px 52px 52px}
/* --- 文章头部 --- */
.article-head{padding-bottom:28px;margin-bottom:34px;
  border-bottom:1px solid #f0f4f2;position:relative;}
.article-head::after{content:"";position:absolute;left:0;bottom:-1px;width:64px;height:2px;background:var(--gold);}
.article-cat{display:inline-block;padding:5px 14px;border-radius:3px;
  background:linear-gradient(135deg,#f7efdc,#fbf6e8);
  border:1px solid #edd9ab;color:#a9812f;
  font-size:12.5px;letter-spacing:1.5px;margin-bottom:18px;}
.article-head h1{font-size:27px;color:var(--green-800);font-weight:600;
  line-height:1.55;letter-spacing:.5px;margin-bottom:20px;}
.article-meta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;
  font-size:13px;color:#a9b3ae;letter-spacing:.5px;}
.article-meta span{display:inline-flex;align-items:center;gap:6px}
.article-meta svg{width:14px;height:14px;flex:0 0 auto}
/* --- 正文排版 --- */
.article-body{font-size:15px;line-height:2.05;color:#3f4d47}
.article-body p{margin-bottom:22px;text-align:justify}
.article-body p:last-child{margin-bottom:0}
.article-body strong{color:var(--green-700);font-weight:600}
.article-body em{font-style:normal;color:#a9812f;font-weight:600}
/* 正文小标题 */
.article-body h2{font-size:18px;color:var(--green-800);font-weight:600;
  letter-spacing:1px;margin:38px 0 18px;
  padding-left:14px;position:relative;line-height:1.5;}
.article-body h2::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:4px;height:16px;border-radius:2px;background:var(--gold);}
.article-body h2:first-child{margin-top:0}
/* 正文列表 */
.article-body ul{margin-bottom:22px;padding-left:0}
.article-body ul li{position:relative;padding-left:22px;margin-bottom:11px;line-height:1.95;}
.article-body ul li::before{content:"";position:absolute;left:2px;top:13px;
  width:6px;height:6px;border-radius:50%;background:var(--green-500);}
.article-body ol{margin-bottom:22px;padding-left:0;counter-reset:item}
.article-body ol li{position:relative;padding-left:30px;margin-bottom:11px;line-height:1.95;
  counter-increment:item;}
.article-body ol li::before{content:counter(item);
  position:absolute;left:0;top:3px;
  width:20px;height:20px;border-radius:50%;
  background:var(--green-700);color:#fff;
  font-size:11.5px;font-weight:600;
  display:grid;place-items:center;line-height:1;}
/* 正文图片 */
.article-figure{margin:30px 0;border-radius:8px;overflow:hidden;
  box-shadow:0 8px 26px rgba(15,43,34,.1);}
.article-figure .ph{position:relative;width:100%;padding-top:56.25%}
.article-figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.article-figure figcaption{padding:13px 18px;background:#f7fbf9;
  font-size:12.5px;color:var(--muted);text-align:center;
  letter-spacing:.5px;line-height:1.7;}
/* 提示框 */
.article-tip{margin:28px 0;padding:20px 24px;
  background:linear-gradient(135deg,#f7fbf9,#f1f8f4);
  border-left:3px solid var(--gold);border-radius:0 8px 8px 0;
  font-size:14px;line-height:1.9;color:#4a5a53;}
.article-tip strong{color:var(--green-700)}
.article-tip .tip-title{display:block;font-size:14px;color:var(--green-800);
  font-weight:600;letter-spacing:1px;margin-bottom:8px;}
/* 表格 */
.article-table{width:100%;border-collapse:collapse;margin:28px 0;
  font-size:14px;overflow:hidden;border-radius:8px;
  box-shadow:0 4px 16px rgba(15,43,34,.06);}
.article-table thead{background:var(--green-800)}
.article-table thead th{padding:14px 16px;color:#fff;font-weight:600;
  letter-spacing:1px;text-align:left;font-size:13.5px;
  white-space:nowrap;}
.article-table tbody tr{background:#fff;transition:background .3s}
.article-table tbody tr:nth-child(even){background:#fafcfb}
.article-table tbody tr:hover{background:#f2f8f5}
.article-table tbody td{padding:13px 16px;border-bottom:1px solid #eef2f0;
  color:#4a5a53;line-height:1.75;vertical-align:top;}
.article-table tbody tr:last-child td{border-bottom:0}
/* 正文结束装饰 */
.article-end{display:flex;align-items:center;justify-content:center;gap:14px;
  margin:44px 0 0;padding-top:30px;
  border-top:1px dashed #eef2f0;}
.article-end::before,.article-end::after{content:"";height:1px;width:44px;background:#dde5e1;}
.article-end span{font-size:12px;color:#b6c0bb;letter-spacing:4px;}
/* --- 上一篇 / 下一篇 --- */
.article-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;
  margin-top:38px;padding-top:32px;border-top:1px solid #f0f4f2;}
.article-nav-item{display:flex;flex-direction:column;gap:9px;
  padding:18px 20px;border-radius:8px;
  background:#fafcfb;border:1px solid #eef2f0;
  transition:all .4s cubic-bezier(.2,.8,.3,1);}
.article-nav-item:hover{background:#fff;border-color:#d7e6df;
  box-shadow:0 10px 26px rgba(15,43,34,.1);
  transform:translateY(-3px);}
.article-nav-item .an-label{font-size:12px;color:#a9b3ae;letter-spacing:2px;
  display:flex;align-items:center;gap:7px;}
.article-nav-item .an-label svg{width:13px;height:13px}
.article-nav-item .an-title{font-size:14.5px;color:var(--green-800);font-weight:600;
  line-height:1.6;letter-spacing:.3px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;
  transition:color .3s;}
.article-nav-item:hover .an-title{color:var(--green-600)}
.article-nav-item.next{text-align:right;align-items:flex-end}
.article-nav-item.next .an-label{justify-content:flex-end}
.article-nav-item.disabled{opacity:.5;pointer-events:none;cursor:default;}
/* ============ 侧边栏 ============ */
.sidebar{display:grid;gap:24px;position:sticky;top:calc(var(--header-h) + 24px)}
.side-card{background:#fff;border-radius:10px;overflow:hidden;
  box-shadow:0 6px 24px rgba(15,43,34,.07);
  border:1px solid #eef2f0;}
.side-card-head{display:flex;align-items:center;justify-content:space-between;
  padding:20px 22px 14px;border-bottom:1px solid #f2f6f4;
  position:relative;}
.side-card-head::after{content:"";position:absolute;left:22px;bottom:-1px;width:38px;height:2px;background:var(--gold);}
.side-card-head h3{font-size:16px;color:var(--green-800);font-weight:600;letter-spacing:2px;}
.side-card-head span{font-size:11px;color:#b6c0bb;letter-spacing:2px;}
/* 文章目录 */
.toc-list{padding:14px 22px 18px}
.toc-list li{margin-bottom:8px}
.toc-list li:last-child{margin-bottom:0}
.toc-list a{display:block;position:relative;padding:9px 12px 9px 18px;
  font-size:13.5px;color:#5c6b64;line-height:1.6;border-radius:6px;
  transition:all .3s;}
.toc-list a::before{content:"";position:absolute;left:6px;top:50%;transform:translateY(-50%);
  width:4px;height:4px;border-radius:50%;background:#cfd9d4;
  transition:background .3s,transform .3s;}
.toc-list a:hover{background:#f7fbf9;color:var(--green-700)}
.toc-list a:hover::before{background:var(--gold);transform:translateY(-50%) scale(1.4)}
.toc-list a.active{background:#f2f8f5;color:var(--green-700);font-weight:600}
.toc-list a.active::before{background:var(--gold);transform:translateY(-50%) scale(1.4)}
/* 热门资讯 */
.hot-list{padding:8px 22px 18px}
.hot-item{display:flex;align-items:flex-start;gap:13px;
  padding:14px 0;border-bottom:1px dashed #eef2f0;
  transition:padding-left .35s;}
.hot-item:last-child{border-bottom:0}
.hot-item:hover{padding-left:5px}
.hot-rank{flex:0 0 22px;height:22px;border-radius:5px;
  display:grid;place-items:center;
  font-size:12px;font-weight:700;
  background:#f2f6f4;color:#93a09a;
  transition:background .35s,color .35s;}
.hot-item:nth-child(1) .hot-rank{background:#f7efdc;color:#a9812f}
.hot-item:nth-child(2) .hot-rank{background:#eef2f6;color:#7a8a96}
.hot-item:nth-child(3) .hot-rank{background:#f8f0e6;color:#b58a5a}
.hot-item:hover .hot-rank{background:var(--green-700);color:#fff}
.hot-txt{flex:1;min-width:0}
.hot-txt a{display:block;font-size:13.5px;color:#3f4d47;line-height:1.65;
  margin-bottom:5px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;
  transition:color .3s;}
.hot-item:hover .hot-txt a{color:var(--green-600)}
.hot-txt time{font-size:11.5px;color:#b6c0bb;letter-spacing:.5px}
/* 快捷服务 */
.side-serv{padding:14px 22px 20px}
.side-serv li{margin-bottom:10px}
.side-serv li:last-child{margin-bottom:0}
.side-serv a{display:flex;align-items:center;justify-content:space-between;
  padding:11px 15px;border-radius:7px;
  background:#f7fbf9;border:1px solid #edf4f0;
  font-size:13.5px;color:#3f4d47;letter-spacing:.5px;
  transition:all .35s;}
.side-serv a::after{content:"→";font-size:14px;color:#a9b3ae;
  transition:transform .35s,color .35s;}
.side-serv a:hover{background:var(--green-700);border-color:var(--green-700);color:#fff;
  transform:translateX(4px);}
.side-serv a:hover::after{color:var(--gold-light);transform:translateX(3px)}
/* 联系方式卡片 */
.side-contact{background:linear-gradient(150deg,var(--green-800),var(--green-700));
  color:#fff;padding:28px 24px 30px;
  border-radius:10px;position:relative;overflow:hidden;}
.side-contact::after{content:"";position:absolute;right:-34px;bottom:-34px;
  width:130px;height:130px;border-radius:50%;
  background:rgba(201,169,97,.14);}
.side-contact > *{position:relative;z-index:2}
.side-contact .sc-label{font-size:11.5px;letter-spacing:3px;color:var(--gold-light);
  margin-bottom:12px;}
.side-contact .sc-tel{font-size:25px;font-weight:600;letter-spacing:1.5px;
  margin-bottom:14px;line-height:1.25;}
.side-contact .sc-desc{font-size:12.5px;line-height:1.85;color:rgba(255,255,255,.7);
  padding-top:14px;border-top:1px solid rgba(255,255,255,.14);}
@media (max-width:1100px){
  .main-grid{grid-template-columns:1fr 288px;gap:30px}
  .article-inner{padding:38px 40px 44px}
}
@media (max-width:1024px){
  :root{--header-h:66px}
  :where(#page-detailed) .logo{gap:10px}
  :where(#page-detailed) .logo-mark{width:40px;height:40px;font-size:20px;border-radius:4px}
  :where(#page-detailed) .logo-text strong{font-size:17px;letter-spacing:2px}
  :where(#page-detailed) .logo-text small{font-size:8px;letter-spacing:1px;margin-top:3px}
  :where(#page-detailed) .nav-item:active > a{background:rgba(255,255,255,.1)}
  :where(#page-detailed) .dropdown a:active{background:rgba(255,255,255,.07);color:#fff;padding-left:46px}
  :where(#page-detailed) .dropdown a.active{color:var(--gold-light);background:rgba(201,169,97,.1)}
  .main-grid{grid-template-columns:1fr;gap:34px}
  .sidebar{position:static;grid-template-columns:1fr 1fr;gap:22px}
  .side-contact{grid-column:1 / -1}
}
@media (max-width:768px){
  :root{--gutter:5%}
  /* --- 顶部条 --- */
  :where(#page-detailed) .topbar{font-size:12px}
  :where(#page-detailed) .topbar-links{gap:14px}
  :where(#page-detailed) .topbar-links a:not(.hot){display:none}
  :where(#page-detailed) .topbar-links .hot{font-size:12.5px;letter-spacing:.3px}
  :where(#page-detailed) .page-banner .crumb span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  /* --- 主内容 --- */
  :where(#page-detailed) .main-wrap{padding:32px 0 50px}
  /* --- 文章 --- */
  .article{border-radius:9px}
  .article-inner{padding:26px 20px 32px}
  .article-head{padding-bottom:22px;margin-bottom:26px}
  .article-head::after{width:48px}
  .article-cat{padding:4px 11px;font-size:11.5px;letter-spacing:1px;margin-bottom:14px}
  .article-head h1{font-size:19px;line-height:1.55;letter-spacing:0;margin-bottom:16px}
  .article-meta{gap:16px;font-size:12px}
  .article-meta svg{width:13px;height:13px}
  .article-body{font-size:14.5px;line-height:2}
  .article-body p{margin-bottom:18px}
  .article-body h2{font-size:16.5px;margin:30px 0 15px;padding-left:12px;letter-spacing:.5px}
  .article-body h2::before{width:3px;height:15px}
  .article-body ul li,.article-body ol li{margin-bottom:9px;line-height:1.9}
  .article-body ul li{padding-left:20px}
  .article-body ul li::before{top:12px;width:5px;height:5px}
  .article-body ol li{padding-left:27px}
  .article-body ol li::before{width:19px;height:19px;font-size:11px;top:3px}
  .article-figure{margin:24px 0;border-radius:7px}
  .article-figure figcaption{padding:11px 15px;font-size:12px}
  .article-tip{margin:22px 0;padding:16px 18px;
    font-size:13.5px;line-height:1.85;border-radius:0 7px 7px 0;}
  .article-tip .tip-title{font-size:13.5px;margin-bottom:7px}
  /* 表格：移动端横向滚动 */
  .article-table{display:block;overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    white-space:nowrap;font-size:13px;}
  .article-table thead th{padding:12px 14px;font-size:12.5px}
  .article-table tbody td{padding:11px 14px}
  .article-end{margin-top:34px;padding-top:24px;gap:11px}
  .article-end::before,.article-end::after{width:34px}
  .article-end span{font-size:11px;letter-spacing:3px}
  /* --- 上下篇 --- */
  .article-nav{grid-template-columns:1fr;gap:12px;
    margin-top:30px;padding-top:26px;}
  .article-nav-item{padding:15px 17px;gap:7px}
  .article-nav-item:hover{transform:none}
  .article-nav-item:active{border-color:var(--green-600);background:#f7fbf9}
  .article-nav-item.next{text-align:left;align-items:flex-start}
  .article-nav-item.next .an-label{justify-content:flex-start}
  .article-nav-item .an-label{font-size:11.5px;letter-spacing:1.5px}
  .article-nav-item .an-title{font-size:13.5px}
  /* --- 侧边栏 --- */
  .sidebar{grid-template-columns:1fr;gap:18px}
  .side-contact{grid-column:auto}
  .side-card-head{padding:17px 18px 12px}
  .side-card-head::after{left:18px;width:32px}
  .side-card-head h3{font-size:15px;letter-spacing:1.5px}
  .toc-list{padding:12px 18px 15px}
  .toc-list a{padding:8px 11px 8px 17px;font-size:13px}
  .hot-list{padding:6px 18px 14px}
  .hot-item{padding:12px 0;gap:11px}
  .hot-txt a{font-size:13px}
  .hot-txt time{font-size:11px}
  .side-serv{padding:12px 18px 16px}
  .side-serv a{padding:10px 13px;font-size:13px}
  .side-contact{padding:24px 20px 26px}
  .side-contact .sc-tel{font-size:22px;margin-bottom:12px}
  .side-contact .sc-desc{font-size:12px;padding-top:12px}
  /* --- 页脚 --- */
  :where(#page-detailed) .footer{padding-top:48px}
  :where(#page-detailed) .f-brand .logo{margin-bottom:16px}
  :where(#page-detailed) .f-brand p{font-size:12.5px;line-height:1.95}
  :where(#page-detailed) .f-brand .hot{font-size:13.5px;margin-top:8px}
  :where(#page-detailed) .f-col h4{font-size:14px;margin-bottom:16px;padding-bottom:10px}
  :where(#page-detailed) .f-col h4::after{width:22px}
  :where(#page-detailed) .f-col li{margin-bottom:11px}
  :where(#page-detailed) .f-col a{font-size:13px}
  :where(#page-detailed) .footer-bottom{font-size:11.5px;padding:18px 0;line-height:1.9}
}
@media (max-width:400px){
  :root{--gutter:5.5%}
  :where(#page-detailed) .page-banner .crumb span{max-width:120px}
  :where(#page-detailed) .main-wrap{padding:26px 0 44px}
  .article-inner{padding:22px 16px 28px}
  .article-head h1{font-size:17.5px}
  .article-body{font-size:14px;line-height:1.95}
  .article-body h2{font-size:15.5px}
  .article-tip{font-size:13px;padding:14px 15px}
}
@media (max-height:480px) and (orientation:landscape){
  :where(#page-detailed) .nav{padding-top:70px}
}
/* ============ 本页与公共样式的差异覆盖（保持本页原有表现） ============ */
:where(#page-detailed) .page-banner{height:280px}
:where(#page-detailed) .page-banner .bg img{filter:saturate(.8) brightness(.8) contrast(1.04)}
:where(#page-detailed) .page-banner::after{background:linear-gradient(90deg,rgba(8,26,20,.9) 0%,rgba(8,26,20,.62) 52%,rgba(8,26,20,.34) 100%)}
:where(#page-detailed) .page-banner .crumb{margin-bottom:18px}
:where(#page-detailed) .page-banner h1{font-size:38px;letter-spacing:5px;margin-bottom:14px}
@media (max-width:1100px){
  :where(#page-detailed) .page-banner h1{font-size:32px}
}
@media (max-width:768px){
  :where(#page-detailed) .page-banner{height:190px}
  :where(#page-detailed) .page-banner h1{font-size:20px;letter-spacing:2px;margin-bottom:9px}
  :where(#page-detailed) .page-banner .crumb{font-size:11.5px;margin-bottom:10px;gap:6px}
  :where(#page-detailed) .page-banner .en{font-size:9.5px;letter-spacing:2px}
}
@media (max-width:400px){
  :where(#page-detailed) .page-banner{height:176px}
  :where(#page-detailed) .page-banner h1{font-size:17px;letter-spacing:1px}
  :where(#page-detailed) .page-banner .crumb{font-size:11px}
}
@media (max-height:480px) and (orientation:landscape){
  :where(#page-detailed) .page-banner{height:160px}
  :where(#page-detailed) .page-banner h1{font-size:18px;margin-bottom:8px}
}

/* ============ 通用单页（single.html） ============ */
:where(#page-single) .dropdown a.active{color:var(--green-700);font-weight:600;background:#f2f8f5}
:where(#page-single) .burger:active{background:rgba(255,255,255,.1)}
:where(#page-single) .main-wrap{padding:56px 0 74px}
/* 单栏没有侧边栏，正文居中收窄一点更好读 */
:where(#page-single) .article{max-width:940px;margin:0 auto}
@media (max-width:768px){
  :where(#page-single) .main-wrap{padding:32px 0 50px}
}
@media (max-width:400px){
  :where(#page-single) .main-wrap{padding:26px 0 44px}
}

/* ============ 园区景观（images.html） ============ */
:where(#page-images) .dropdown a.active{color:var(--green-700);font-weight:600;background:#f2f8f5}
:where(#page-images) .burger:active{background:rgba(255,255,255,.1)}
/* ============ 主内容 ============ */
:where(#page-images) .main-wrap{padding:52px 0 74px}
/* --- 分类标签 --- */
:where(#page-images) .cat-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px;
  padding-bottom:22px;border-bottom:1px solid #e8edea;}
.cat-tab{display:inline-block;position:relative;padding:11px 26px;border-radius:30px;
  border:1px solid #dfe6e2;background:#fff;
  font-size:14.5px;line-height:1.4;color:#5c6b64;letter-spacing:1px;cursor:pointer;
  transition:all .35s;}
.cat-tab:hover{border-color:var(--green-600);color:var(--green-700)}
.cat-tab.on{background:var(--green-700);border-color:var(--green-700);color:#fff;
  box-shadow:0 8px 20px rgba(45,106,79,.26);}
.cat-tab .cnt{display:inline-block;font-size:12px;margin-left:6px;opacity:.7;}
/* --- 图片网格 --- */
.gallery{display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;}
/* 卡片 */
.gal-item{position:relative;display:block;
  border-radius:10px;overflow:hidden;
  background:#fff;
  box-shadow:0 6px 22px rgba(15,43,34,.07);
  cursor:pointer;
  transition:transform .55s cubic-bezier(.2,.8,.3,1),box-shadow .55s;}
.gal-item:hover{transform:translateY(-8px);
  box-shadow:0 26px 52px rgba(15,43,34,.18);}
/* 图片区 */
.gal-img{position:relative;width:100%;padding-top:70%;
  overflow:hidden;background:#1b4332;}
.gal-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(.92) contrast(1.03);
  transition:transform 1s cubic-bezier(.2,.8,.3,1);}
.gal-item:hover .gal-img img{transform:scale(1.12)}
/* 渐变遮罩 */
.gal-img::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,rgba(15,43,34,0) 40%,rgba(15,43,34,.82) 100%);
  opacity:.55;transition:opacity .5s;}
.gal-item:hover .gal-img::after{opacity:1}
/* 分类小标签 */
.gal-tag{position:absolute;top:14px;left:14px;z-index:3;
  padding:4px 12px;font-size:12px;border-radius:3px;letter-spacing:1px;
  background:rgba(201,169,97,.94);color:#25301f;
  transition:transform .4s;}
.gal-item:hover .gal-tag{transform:translateY(-2px)}
/* 悬浮放大镜图标 */
.gal-zoom{position:absolute;top:50%;left:50%;z-index:4;
  width:52px;height:52px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.5);
  color:#fff;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  opacity:0;transform:translate(-50%,-50%) scale(.7);
  transition:opacity .45s,transform .45s cubic-bezier(.34,1.4,.64,1);}
.gal-zoom svg{width:20px;height:20px}
.gal-item:hover .gal-zoom{opacity:1;transform:translate(-50%,-50%) scale(1);}
/* 底部文字（默认完整可见，hover 时展开描述） */
.gal-info{position:absolute;left:0;right:0;bottom:0;z-index:3;
  padding:20px 22px 20px;
  color:#fff;}
.gal-info h3{font-size:16.5px;font-weight:600;letter-spacing:1px;
  margin-bottom:8px;line-height:1.4;
  text-shadow:0 2px 12px rgba(0,0,0,.4);}
.gal-info p{font-size:12.5px;color:rgba(255,255,255,.78);
  line-height:1.7;letter-spacing:.5px;
  max-height:0;overflow:hidden;
  opacity:0;
  transition:max-height .5s,opacity .45s .1s;}
.gal-item:hover .gal-info p{max-height:80px;opacity:1;}
/* 无结果 */
.gal-empty{grid-column:1 / -1;
  text-align:center;padding:80px 20px;color:#a9b3ae;
  background:#fff;border-radius:10px;border:1px solid #eef2f0;}
.gal-empty svg{width:52px;height:52px;margin:0 auto 18px;color:#cfd9d4}
.gal-empty p{font-size:14px;letter-spacing:1px}
/* ============ 灯箱 ============ */
.lightbox{position:fixed;inset:0;z-index:1000;
  background:rgba(6,18,14,.94);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;
  transition:opacity .4s,visibility .4s;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  padding:40px;}
.lightbox.show{opacity:1;visibility:visible}
.lb-stage{position:relative;
  max-width:1000px;width:100%;
  transform:scale(.94);
  transition:transform .45s cubic-bezier(.34,1.3,.64,1);}
.lightbox.show .lb-stage{transform:scale(1)}
.lb-img-wrap{position:relative;width:100%;
  padding-top:62%;
  border-radius:10px;overflow:hidden;
  background:#0f2b22;
  box-shadow:0 40px 90px rgba(0,0,0,.6);}
.lb-img-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
/* 灯箱底部信息条 */
.lb-caption{position:absolute;left:0;right:0;bottom:0;
  padding:30px 30px 22px;
  background:linear-gradient(180deg,rgba(10,28,22,0) 0%,rgba(10,28,22,.94) 100%);
  color:#fff;border-radius:0 0 10px 10px;
  pointer-events:none;}
.lb-cat{display:inline-block;padding:3px 11px;border-radius:3px;
  background:rgba(201,169,97,.94);color:#25301f;
  font-size:11.5px;letter-spacing:1px;margin-bottom:10px;}
.lb-caption h3{font-size:19px;font-weight:600;letter-spacing:1.5px;
  margin-bottom:7px;text-shadow:0 2px 10px rgba(0,0,0,.5);}
.lb-caption p{font-size:13px;color:rgba(255,255,255,.72);
  line-height:1.7;letter-spacing:.5px;}
.lb-counter{position:absolute;top:20px;right:22px;
  padding:6px 15px;border-radius:20px;
  background:rgba(0,0,0,.42);
  border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.85);
  font-size:12.5px;letter-spacing:1.5px;}
/* 灯箱按钮 */
.lb-close{position:fixed;top:26px;right:26px;z-index:1010;
  width:48px;height:48px;border-radius:50%;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.08);
  color:#fff;cursor:pointer;
  display:grid;place-items:center;
  transition:background .35s,border-color .35s,transform .35s;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.lb-close:hover{background:var(--gold);border-color:var(--gold);color:var(--green-900);
  transform:rotate(90deg);}
.lb-close svg{width:20px;height:20px}
.lb-arrow{position:fixed;top:50%;transform:translateY(-50%);z-index:1010;
  width:54px;height:54px;border-radius:50%;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.08);
  color:#fff;font-size:26px;line-height:1;cursor:pointer;
  display:grid;place-items:center;
  transition:background .35s,border-color .35s,color .35s;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.lb-arrow:hover{background:var(--gold);border-color:var(--gold);color:var(--green-900)}
.lb-arrow svg{width:22px;height:22px}
.lb-prev{left:26px}
.lb-next{right:26px}
@media (max-width:1100px){
  .gallery{grid-template-columns:repeat(3,1fr);gap:20px}
  .gal-info h3{font-size:15.5px}
}
@media (max-width:1024px){
  :where(#page-images) .logo{gap:10px}
  :where(#page-images) .logo-mark{width:40px;height:40px;font-size:20px;border-radius:4px}
  :where(#page-images) .logo-text strong{font-size:17px;letter-spacing:2px}
  :where(#page-images) .logo-text small{font-size:8px;letter-spacing:1px;margin-top:3px}
  :where(#page-images) .nav-item:active > a{background:rgba(255,255,255,.1)}
  :where(#page-images) .dropdown a:active{background:rgba(255,255,255,.07);color:#fff;padding-left:46px}
  :where(#page-images) .dropdown a.active{color:var(--gold-light);background:rgba(201,169,97,.1)}
  .gallery{grid-template-columns:repeat(2,1fr);gap:18px}
  .lightbox{padding:28px}
  .lb-close{top:18px;right:18px;width:44px;height:44px}
  .lb-arrow{width:48px;height:48px}
  .lb-prev{left:16px}
  .lb-next{right:16px}
}
@media (max-width:768px){
  /* --- 顶部条 --- */
  :where(#page-images) .topbar{font-size:12px}
  :where(#page-images) .topbar-links{gap:14px}
  :where(#page-images) .topbar-links a:not(.hot){display:none}
  :where(#page-images) .topbar-links .hot{font-size:12.5px;letter-spacing:.3px}
  /* --- 主内容 --- */
  :where(#page-images) .main-wrap{padding:34px 0 52px}
  :where(#page-images) .cat-tabs{gap:8px;margin-bottom:24px;padding-bottom:18px}
  .cat-tab{padding:9px 18px;font-size:13.5px;letter-spacing:.5px}
  .cat-tab .cnt{font-size:11px;margin-left:4px}
  /* --- 网格：手机单列 --- */
  .gallery{grid-template-columns:1fr;gap:18px}
  .gal-item:hover{transform:translateY(-4px)}
  .gal-item:active .gal-img img{transform:scale(1.06)}
  .gal-img{padding-top:66%}
  /* 手机端取消悬停隐藏，信息始终可见 */
  .gal-img::after{opacity:1}
  .gal-info h3{font-size:16px;margin-bottom:6px}
  .gal-info p{max-height:80px;opacity:1;font-size:12.5px}
  .gal-zoom{display:none}
  /* --- 灯箱：手机适配 --- */
  .lightbox{padding:0}
  .lb-stage{max-width:100%;width:100%;
    padding:0;}
  .lb-img-wrap{border-radius:0;
    padding-top:110%;}
  .lb-caption{padding:24px 20px 22px;border-radius:0}
  .lb-caption h3{font-size:16px;margin-bottom:6px}
  .lb-caption p{font-size:12.5px}
  .lb-counter{top:14px;right:14px;padding:5px 12px;font-size:11.5px}
  .lb-close{top:14px;left:14px;right:auto;width:40px;height:40px}
  .lb-close:hover{transform:none}
  .lb-arrow{width:42px;height:42px;
    bottom:20px;top:auto;transform:none;}
  .lb-arrow:hover{transform:none}
  .lb-prev{left:16px}
  .lb-next{right:16px}
  /* --- 页脚 --- */
  :where(#page-images) .footer{padding-top:48px}
  :where(#page-images) .f-brand .logo{margin-bottom:16px}
  :where(#page-images) .f-brand p{font-size:12.5px;line-height:1.95}
  :where(#page-images) .f-brand .hot{font-size:13.5px;margin-top:8px}
  :where(#page-images) .f-col h4{font-size:14px;margin-bottom:16px;padding-bottom:10px}
  :where(#page-images) .f-col h4::after{width:22px}
  :where(#page-images) .f-col li{margin-bottom:11px}
  :where(#page-images) .f-col a{font-size:13px}
  :where(#page-images) .footer-bottom{font-size:11.5px;padding:18px 0;line-height:1.9}
}
@media (max-width:400px){
  :where(#page-images) .main-wrap{padding:28px 0 46px}
  .cat-tab{padding:8px 14px;font-size:13px}
  .gal-img{padding-top:70%}
  .gal-info{padding:16px 16px 18px}
  .gal-info h3{font-size:15px}
  .lb-img-wrap{padding-top:120%}
  .lb-caption{padding:20px 16px 18px}
}
@media (max-height:480px) and (orientation:landscape){
  :where(#page-images) .nav{padding-top:70px}
  .lb-img-wrap{padding-top:52%}
}
/* ============ 本页与公共样式的差异覆盖（保持本页原有表现） ============ */
:where(#page-images) .page-banner .bg img{filter:saturate(.82) brightness(.8) contrast(1.04)}

/* ============ 资讯信息（news.html） ============ */
:where(#page-news) .dropdown a.active{color:var(--green-700);font-weight:600;background:#f2f8f5}
:where(#page-news) .burger:active{background:rgba(255,255,255,.1)}
/* ============ 主内容布局 ============ */
:where(#page-news) .main-wrap{padding:56px 0 74px}
/* ============ 分类标签 ============ */
:where(#page-news) .cat-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px;
  padding-bottom:22px;border-bottom:1px solid #e8edea;}
/* ============ 资讯列表 ============ */
:where(#page-news) .news-list{display:grid;gap:22px}
.news-item{display:flex;gap:24px;
  background:#fff;border-radius:10px;overflow:hidden;
  padding:22px;
  box-shadow:0 4px 18px rgba(15,43,34,.055);
  border:1px solid #eef2f0;
  transition:transform .5s cubic-bezier(.2,.8,.3,1),box-shadow .5s,border-color .5s;}
.news-item:hover{transform:translateY(-5px);
  border-color:#d7e6df;
  box-shadow:0 18px 40px rgba(15,43,34,.13);}
.news-thumb{position:relative;flex:0 0 240px;height:158px;
  border-radius:8px;overflow:hidden;}
/* .ph 需要有实际尺寸：hover 时它会被 transform 提升为包含块 */
:where(#page-news) .ph{position:relative;width:100%;height:100%;overflow:hidden}
.news-thumb .ph{transition:transform .85s cubic-bezier(.2,.8,.3,1)}
.news-item:hover .news-thumb .ph{transform:scale(1.09)}
.news-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(.9) contrast(1.02);}
.news-thumb::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,rgba(15,43,34,0) 55%,rgba(15,43,34,.34));}
.news-cat-tag{position:absolute;top:12px;left:12px;z-index:3;
  padding:4px 12px;font-size:12px;border-radius:3px;letter-spacing:1px;
  background:rgba(201,169,97,.94);color:#25301f;}
.news-main{flex:1;min-width:0;display:flex;flex-direction:column}
.news-meta{display:flex;align-items:center;gap:16px;margin-bottom:11px;
  font-size:12.5px;color:#a9b3ae;letter-spacing:.5px;}
.news-meta .m-date{display:inline-flex;align-items:center;gap:6px}
.news-meta .m-date svg{width:13px;height:13px}
.news-meta .m-view{display:inline-flex;align-items:center;gap:6px}
.news-meta .m-view svg{width:13px;height:13px}
.news-main h3{font-size:18px;color:var(--green-800);font-weight:600;
  letter-spacing:.5px;line-height:1.5;margin-bottom:11px;
  transition:color .3s;}
.news-item:hover .news-main h3{color:var(--green-600)}
.news-main p{font-size:13.5px;color:var(--muted);line-height:1.85;
  margin-bottom:16px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;}
.news-more{margin-top:auto;align-self:flex-start;
  display:inline-flex;align-items:center;gap:7px;
  font-size:13px;color:#a9812f;letter-spacing:1px;
  padding-bottom:3px;border-bottom:1px solid rgba(201,169,97,.4);
  transition:gap .4s,color .4s,border-color .4s;}
.news-item:hover .news-more{gap:13px;color:var(--green-700);border-color:var(--green-600)}
/* 列表为空 */
.news-empty{text-align:center;padding:70px 20px;color:#a9b3ae;
  background:#fff;border-radius:10px;border:1px solid #eef2f0;}
.news-empty svg{width:48px;height:48px;margin:0 auto 16px;color:#cfd9d4}
.news-empty p{font-size:14px;letter-spacing:1px}
/* ============ 分页 ============ */
.pagination{display:flex;justify-content:center;align-items:center;
  gap:8px;margin-top:42px;flex-wrap:wrap;}
.page-btn{min-width:42px;height:42px;padding:0 12px;
  display:grid;place-items:center;
  border:1px solid #dfe6e2;border-radius:7px;background:#fff;
  font-size:14px;color:#5c6b64;cursor:pointer;
  transition:all .3s;letter-spacing:.5px;}
.page-btn:hover:not(:disabled):not(.on):not(.disabled){border-color:var(--green-600);color:var(--green-700);background:#f7fbf9;}
.page-btn.on{background:var(--green-700);border-color:var(--green-700);color:#fff;
  box-shadow:0 8px 20px rgba(45,106,79,.24);cursor:default;}
.page-btn:disabled,
.page-btn.disabled{opacity:.4;cursor:not-allowed}
.page-btn.ellipsis{background:transparent;border:0;cursor:default;color:#b6c0bb}
@media (max-width:1100px){
  .news-thumb{flex:0 0 200px;height:142px}
}
@media (max-width:1024px){
  :where(#page-news) .logo{gap:10px}
  :where(#page-news) .logo-mark{width:40px;height:40px;font-size:20px;border-radius:4px}
  :where(#page-news) .logo-text strong{font-size:17px;letter-spacing:2px}
  :where(#page-news) .logo-text small{font-size:8px;letter-spacing:1px;margin-top:3px}
  :where(#page-news) .nav-item:active > a{background:rgba(255,255,255,.1)}
  :where(#page-news) .dropdown a:active{background:rgba(255,255,255,.07);color:#fff;padding-left:46px}
  :where(#page-news) .dropdown a.active{color:var(--gold-light);background:rgba(201,169,97,.1)}
}
@media (max-width:768px){
  /* --- 顶部条 --- */
  :where(#page-news) .topbar{font-size:12px}
  :where(#page-news) .topbar-links{gap:14px}
  :where(#page-news) .topbar-links a:not(.hot){display:none}
  :where(#page-news) .topbar-links .hot{font-size:12.5px;letter-spacing:.3px}
  /* --- 主内容 --- */
  :where(#page-news) .main-wrap{padding:36px 0 56px}
  :where(#page-news) .cat-tabs{gap:8px;margin-bottom:22px;padding-bottom:16px}
  /* --- 列表 --- */
  :where(#page-news) .news-list{gap:16px}
  .news-item{flex-direction:column;gap:0;padding:0;
    border-radius:10px;}
  .news-item:hover{transform:translateY(-3px)}
  .news-thumb{flex:none;width:100%;height:186px;border-radius:10px 10px 0 0;}
  .news-item:hover .news-thumb .ph{transform:scale(1.06)}
  .news-main{padding:18px 18px 20px}
  .news-meta{gap:14px;margin-bottom:9px;font-size:12px}
  .news-main h3{font-size:16px;line-height:1.5;margin-bottom:9px}
  .news-main p{font-size:13px;line-height:1.8;margin-bottom:14px}
  .news-more{font-size:12.5px}
  /* --- 分页 --- */
  .pagination{gap:6px;margin-top:30px}
  .page-btn{min-width:38px;height:38px;font-size:13.5px;padding:0 10px;border-radius:6px}
  .side-contact{grid-column:auto}
  .side-contact{padding:24px 20px 26px}
  /* --- 页脚 --- */
  :where(#page-news) .footer{padding-top:48px}
  :where(#page-news) .f-brand .logo{margin-bottom:16px}
  :where(#page-news) .f-brand p{font-size:12.5px;line-height:1.95}
  :where(#page-news) .f-brand .hot{font-size:13.5px;margin-top:8px}
  :where(#page-news) .f-col h4{font-size:14px;margin-bottom:16px;padding-bottom:10px}
  :where(#page-news) .f-col h4::after{width:22px}
  :where(#page-news) .f-col li{margin-bottom:11px}
  :where(#page-news) .f-col a{font-size:13px}
  :where(#page-news) .footer-bottom{font-size:11.5px;padding:18px 0;line-height:1.9}
}
@media (max-width:400px){
  :where(#page-news) .main-wrap{padding:30px 0 48px}
  .news-thumb{height:166px}
  .news-main{padding:16px 15px 18px}
  .news-main h3{font-size:15px}
  .news-main p{font-size:12.5px}
  .page-btn{min-width:34px;height:34px;font-size:12.5px;padding:0 8px}
}
@media (max-height:480px) and (orientation:landscape){
  :where(#page-news) .nav{padding-top:70px}
}

/* ============ 服务中心（service.html） ============ */
:where(#page-service) .dropdown a.active{color:var(--green-700);font-weight:600;background:#f2f8f5}
:where(#page-service) .burger:active{background:rgba(255,255,255,.1)}
/* ============ 服务中心锚点导航 ============ */
.service-nav{position:sticky;top:var(--header-h);z-index:60;
  background:#fff;border-bottom:1px solid #eef2f0;
  box-shadow:0 6px 20px rgba(15,43,34,.06);
  transition:top .3s;}
.service-nav-inner{display:flex;gap:8px;overflow-x:auto;padding:0;
  scrollbar-width:none;-ms-overflow-style:none;
  scroll-snap-type:x proximity;}
.service-nav-inner::-webkit-scrollbar{display:none}
.service-nav a{position:relative;flex:0 0 auto;padding:20px 22px;
  font-size:15px;color:#5c6b64;letter-spacing:1px;white-space:nowrap;
  transition:color .3s;scroll-snap-align:start;}
.service-nav a::after{content:"";position:absolute;left:22px;right:22px;bottom:0;height:2px;
  background:var(--gold);transform:scaleX(0);transition:transform .35s cubic-bezier(.4,0,.2,1);}
.service-nav a:hover{color:var(--green-700)}
.service-nav a:hover::after,.service-nav a.on::after{transform:scaleX(1)}
.service-nav a.on{color:var(--green-800);font-weight:600}
/* ============ 通用区块 ============ */
:where(#page-service) .section{padding:74px 0;scroll-margin-top:calc(var(--header-h) + 50px)}
.section.alt{background:#fff}
:where(#page-service) .sec-head{text-align:center;margin-bottom:46px}
/* ============ 安葬流程 时间轴 ============ */
.timeline{position:relative;display:grid;grid-template-columns:repeat(6,1fr);
  gap:0;margin-top:16px;}
.timeline::before{content:"";position:absolute;top:29px;left:8.3%;right:8.3%;height:1px;
  background:repeating-linear-gradient(90deg,#d9e4de 0 8px,transparent 8px 16px);}
.step{position:relative;text-align:center;padding:0 10px}
.step-num{position:relative;z-index:2;width:58px;height:58px;margin:0 auto 20px;
  border-radius:50%;background:#fff;border:1.5px solid var(--gold);
  display:grid;place-items:center;
  font-size:20px;font-weight:600;color:var(--gold);
  letter-spacing:0;transition:all .5s cubic-bezier(.34,1.4,.64,1);}
.step:hover .step-num{background:var(--green-700);border-color:var(--green-700);color:#fff;
  transform:translateY(-6px) scale(1.06);
  box-shadow:0 14px 28px rgba(45,106,79,.3);}
.step h4{font-size:16px;color:var(--green-800);font-weight:600;
  letter-spacing:1px;margin-bottom:10px}
.step p{font-size:12.5px;color:var(--muted);line-height:1.75}
/* ============ 礼仪服务（文字） ============ */
.rite-text{max-width:960px;margin:0 auto}
.rite-intro{font-size:15.5px;line-height:2.05;color:#3f4d47;text-align:justify;
  margin-bottom:34px;}
.rite-list{display:grid;grid-template-columns:1fr 1fr;gap:26px 44px}
.rite-item h3{font-size:17px;color:var(--green-800);font-weight:600;letter-spacing:1px;
  margin-bottom:10px;padding-left:14px;position:relative;line-height:1.5;}
.rite-item h3::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:4px;height:15px;border-radius:2px;background:var(--gold);}
.rite-item p{font-size:14.5px;line-height:1.95;color:#5c6b64;text-align:justify}
.field{margin-bottom:18px}
.field label{display:block;font-size:13px;color:#5c6b64;margin-bottom:8px;letter-spacing:.5px}
.field label i{font-style:normal;color:#c05a5a}
.field input,.field select{width:100%;height:46px;padding:0 15px;border:1px solid #dfe6e2;border-radius:6px;
  font-size:15px;color:var(--text);background:#fbfdfc;
  transition:border-color .3s,box-shadow .3s,background .3s;outline:none;
  -webkit-appearance:none;-moz-appearance:none;appearance:none;}
.field select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238a9691' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 15px center;
  padding-right:38px;}
.field input[type="date"]{padding-right:12px;
  min-height:46px;}
.field input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55;}
.field input:focus,.field select:focus{border-color:var(--green-600);background:#fff;
  box-shadow:0 0 0 3px rgba(64,145,108,.12);}
.field input::placeholder{color:#b3bdb8}
.field input[readonly]{background:#f2f6f4;cursor:default}
.loading-steps li.on{color:var(--green-700)}
.loading-steps li.on::before{background:var(--green-500);box-shadow:0 0 0 4px rgba(82,183,136,.16)}
/* ============ 墓位查询 面板 ============ */
.panel-wrap{max-width:680px;margin:0 auto}
/* ============ 祭祀双卡 ============ */
.panel{background:#fff;border-radius:10px;padding:38px 36px 40px;
  box-shadow:0 8px 30px rgba(15,43,34,.08);
  border:1px solid #eef2f0;
  transition:transform .5s cubic-bezier(.2,.8,.3,1),box-shadow .5s;}
.panel:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(15,43,34,.14)}
.panel-head{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.panel-ico{flex:0 0 48px;width:48px;height:48px;border-radius:12px;
  background:#eaf4ef;color:var(--green-700);display:grid;place-items:center;}
.panel-ico svg{width:23px;height:23px}
.panel-head h3{font-size:19px;color:var(--green-800);font-weight:600;letter-spacing:1.5px}
.panel-head p{font-size:12px;color:#a9b3ae;letter-spacing:2px;margin-top:3px}
.panel .btn-submit{width:100%;height:48px;border:0;border-radius:6px;cursor:pointer;
  background:var(--green-700);color:#fff;font-size:15px;letter-spacing:3px;
  position:relative;overflow:hidden;transition:background .4s;}
.panel .btn-submit::before{content:"";position:absolute;inset:0;background:var(--green-600);
  transform:translateX(-101%);transition:transform .45s cubic-bezier(.4,0,.2,1);}
.panel .btn-submit span{position:relative;z-index:1}
.panel .btn-submit:hover{background:var(--green-800)}
.panel .btn-submit:hover::before{transform:translateX(0)}
.panel-note{margin-top:18px;font-size:12.5px;color:#a0aaa5;line-height:1.8;
  padding-top:16px;border-top:1px dashed #eef2f0;}
.panel-note b{color:#c9a961;font-weight:600}
/* --- 墓位查询：提示 / 结果 / toast --- */
.query-tip{font-size:12.5px;color:#8a9691;line-height:1.85;margin:-4px 0 18px;}
.query-result{margin-top:24px;padding-top:20px;border-top:1px dashed #eef2f0;}
.query-result-head{font-size:13px;color:#8a9691;letter-spacing:1px;margin-bottom:12px;}
.query-item{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;
  padding:13px 15px;margin-bottom:10px;border-radius:8px;
  background:#f8fbf9;border:1px solid #eef2f0;}
.query-item:last-child{margin-bottom:0}
.qi-address{font-size:14.5px;font-weight:600;color:var(--green-800);letter-spacing:.5px;}
.qi-buyer{margin-left:auto;font-size:13px;color:#8a9691;}
.query-empty{padding:26px 20px;text-align:center;font-size:13.5px;color:#a0aaa5;
  background:#f8fbf9;border:1px dashed #e8eeeb;border-radius:8px;line-height:1.8;}
.query-toast{position:fixed;left:50%;bottom:46px;z-index:9999;
  transform:translate(-50%,10px);opacity:0;visibility:hidden;
  padding:11px 22px;border-radius:24px;max-width:80vw;
  background:rgba(15,43,34,.92);color:#fff;font-size:13.5px;letter-spacing:.5px;
  text-align:center;box-shadow:0 10px 26px rgba(9,26,20,.3);
  transition:opacity .3s,transform .3s,visibility .3s;}
.query-toast.show{opacity:1;visibility:visible;transform:translate(-50%,0);}
.btn-submit.is-loading{opacity:.75;cursor:wait;}
:where(#page-service) .memorial-card{position:relative;height:340px;border-radius:10px;overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:38px;color:#fff;}
:where(#page-service) .memorial-card p{font-size:13.5px;line-height:1.85;color:rgba(255,255,255,.78);margin-bottom:24px;max-width:430px}
@media (max-width:1100px){
  .timeline{grid-template-columns:repeat(3,1fr);gap:38px 0}
  .timeline::before{display:none}
}
@media (max-width:1024px){
  :where(#page-service) .logo{gap:10px}
  :where(#page-service) .logo-mark{width:40px;height:40px;font-size:20px;border-radius:4px}
  :where(#page-service) .logo-text strong{font-size:17px;letter-spacing:2px}
  :where(#page-service) .logo-text small{font-size:8px;letter-spacing:1px;margin-top:3px}
  :where(#page-service) .nav-item:active > a{background:rgba(255,255,255,.1)}
  :where(#page-service) .dropdown a:active{background:rgba(255,255,255,.07);color:#fff;padding-left:46px}
  :where(#page-service) .dropdown a.active{color:var(--gold-light);background:rgba(201,169,97,.1)}
  :where(#page-service) .memorial-grid{grid-template-columns:1fr}
}
@media (max-width:768px){
  /* --- 顶部条 --- */
  :where(#page-service) .topbar{font-size:12px}
  :where(#page-service) .topbar-links{gap:14px}
  :where(#page-service) .topbar-links a:not(.hot){display:none}
  :where(#page-service) .topbar-links .hot{font-size:12.5px;letter-spacing:.3px}
  /* --- 服务导航 --- */
  .service-nav-inner{gap:0}
  .service-nav a{padding:14px 14px;font-size:13.5px;letter-spacing:.5px}
  .service-nav a::after{left:14px;right:14px;height:2px}
  /* --- 通用区块 --- */
  :where(#page-service) .section{padding:46px 0;scroll-margin-top:120px}
  :where(#page-service) .sec-head{margin-bottom:32px}
  :where(#page-service) .sec-head h2{font-size:21px;letter-spacing:3px;padding-bottom:12px}
  :where(#page-service) .sec-head h2::after{width:36px}
  :where(#page-service) .sec-head p{font-size:10px;letter-spacing:3px;margin-top:10px}
  /* --- 时间轴 --- */
  .timeline{grid-template-columns:1fr;gap:0}
  .step{display:flex;gap:16px;text-align:left;padding:0 0 26px;
    position:relative;}
  .step:not(:last-child)::before{content:"";position:absolute;left:23px;top:48px;bottom:0;width:1px;
    background:repeating-linear-gradient(180deg,#d9e4de 0 8px,transparent 8px 16px);}
  .step-num{margin:0;flex:0 0 46px;width:46px;height:46px;font-size:17px}
  .step-txt{padding-top:4px}
  .step h4{font-size:15px;margin-bottom:6px}
  .step p{font-size:12.5px;line-height:1.7}
  .field{margin-bottom:15px}
  .field label{font-size:12.5px;margin-bottom:7px}
  .field input,.field select{height:46px;font-size:16px;padding:0 14px}
  .field select{padding-right:36px;background-position:right 14px center}
  /* --- 礼仪服务 --- */
  .rite-intro{font-size:14.5px;line-height:1.95;margin-bottom:24px}
  .rite-list{grid-template-columns:1fr;gap:20px}
  .rite-item h3{font-size:16px;margin-bottom:8px}
  .rite-item p{font-size:13.5px;line-height:1.85}
  /* --- 墓位查询 --- */
  .panel{padding:24px 20px 26px}
  .query-item{flex-direction:column;align-items:flex-start;gap:4px}
  .qi-buyer{margin-left:0}
  .query-tip{font-size:12px}
  .panel-head{gap:12px;margin-bottom:22px}
  .panel-ico{flex:0 0 44px;width:44px;height:44px;border-radius:11px}
  .panel-ico svg{width:21px;height:21px}
  .panel-head h3{font-size:17px}
  .panel-head p{font-size:10.5px;letter-spacing:1.5px}
  .panel .btn-submit{height:48px;font-size:14.5px;letter-spacing:2px}
  .panel-note{font-size:12px;margin-top:15px;padding-top:14px;line-height:1.75}
  /* --- 祭祀双卡 --- */
  :where(#page-service) .memorial-grid{gap:18px}
  :where(#page-service) .memorial-card{height:260px;padding:26px 22px}
  :where(#page-service) .memorial-card .tagline{font-size:11px;letter-spacing:3px;margin-bottom:10px}
  :where(#page-service) .memorial-card h3{font-size:21px;letter-spacing:2px;margin-bottom:12px}
  :where(#page-service) .memorial-card p{font-size:12.5px;line-height:1.8;margin-bottom:18px}
  :where(#page-service) .memorial-link{font-size:13px;letter-spacing:1.5px}
  :where(#page-service) .memorial-card:hover .bg{transform:none}
  :where(#page-service) .memorial-card:active .bg{transform:scale(1.05)}
  /* --- 页脚 --- */
  :where(#page-service) .footer{padding-top:48px}
  :where(#page-service) .f-brand .logo{margin-bottom:16px}
  :where(#page-service) .f-brand p{font-size:12.5px;line-height:1.95}
  :where(#page-service) .f-brand .hot{font-size:13.5px;margin-top:8px}
  :where(#page-service) .f-col h4{font-size:14px;margin-bottom:16px;padding-bottom:10px}
  :where(#page-service) .f-col h4::after{width:22px}
  :where(#page-service) .f-col li{margin-bottom:11px}
  :where(#page-service) .f-col a{font-size:13px}
  :where(#page-service) .footer-bottom{font-size:11.5px;padding:18px 0;line-height:1.9}
}
@media (max-width:400px){
  .service-nav a{padding:13px 11px;font-size:13px;letter-spacing:0}
  .service-nav a::after{left:11px;right:11px}
  :where(#page-service) .section{padding:40px 0}
  :where(#page-service) .sec-head h2{font-size:19px;letter-spacing:2px}
  :where(#page-service) .sec-head p{letter-spacing:2px}
  :where(#page-service) .memorial-card{height:240px;padding:22px 18px}
  :where(#page-service) .memorial-card h3{font-size:19px}
}
@media (max-height:480px) and (orientation:landscape){
  :where(#page-service) .nav{padding-top:70px}
}
/* ============ 本页与公共样式的差异覆盖（保持本页原有表现） ============ */
:where(#page-service) .reveal{transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.8,.3,1),transform .9s cubic-bezier(.2,.8,.3,1)}
