:root{
    --ink:#2C2C2A; --ink2:#5F5E5A; --ink3:#888780;
    --line:#E5E3DC; --bg:#F7F9FB; --white:#fff;
    --navy:#0C447C; --navy2:#185FA5; --blue50:#E6F1FB; --blue200:#85B7EB;
    --teal:#0F6E56; --teal50:#E1F5EE;
    --amber:#EF9F27; --amber50:#FAEEDA; --amber700:#854F0B;
    --radius:10px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{-webkit-text-size-adjust:100%}
  body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
       color:var(--ink);background:#EFF2F5;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}
  .page{max-width:1240px;margin:0 auto;background:var(--white);box-shadow:0 1px 3px rgba(0,0,0,.06)}
  .wrap{max-width:1160px;margin:0 auto;padding:0 24px}
  img{display:block}
  a{text-decoration:none}

  .anno{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}
  .anno h2{font-size:19px;font-weight:500}
  .anno .tip{font-size:12px;color:var(--ink3);font-weight:400}
  .anno .more{margin-left:auto;font-size:13px;color:var(--navy2);font-weight:400}

  /* 顶部信息条 */
  .topbar{background:var(--navy);color:#fff;font-size:12.5px}
  .topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding:8px 0;flex-wrap:wrap}
  .topbar .hot{color:#FFD79A}

  /* 头部导航：左（logo+电话）· 中（栏目）· 右（登录/注册） */
  header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:50}
  .nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:12px 0}
  .nav .left{display:flex;align-items:center;gap:14px}
  .logo{display:flex;align-items:center;gap:10px}
  .logo img{width:46px;height:46px;border-radius:50%}
  .logo b{font-size:19px;font-weight:500;display:block;line-height:1.25}
  .logo span{font-size:11px;color:var(--ink3);display:block;line-height:1.25}
  .phone{border-left:1px solid var(--line);padding-left:14px;line-height:1.3}
  .phone small{display:block;font-size:11px;color:var(--ink3)}
  .phone b{font-size:18px;color:var(--navy);letter-spacing:.02em}
  .menu{justify-self:center;display:flex;align-items:center;gap:16px;font-size:14px;color:var(--ink2)}
  .menu a{color:inherit}
  .menu .active{color:var(--navy);font-weight:500;border-bottom:2px solid var(--navy2);padding-bottom:4px}
  .nav .right{justify-self:end;display:flex;align-items:center;gap:10px}
  .right .btn{background:var(--navy2);color:#fff;padding:9px 20px;border-radius:6px;font-size:14px}

  /* 汉堡菜单按钮（移动端显示） */
  .burger{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:8px;
          background:#fff;cursor:pointer;flex-direction:column;align-items:center;
          justify-content:center;gap:5px;padding:0}
  .burger i{display:block;width:20px;height:2px;background:var(--navy);border-radius:2px;
            transition:transform .25s,opacity .2s}
  .burger.open i:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger.open i:nth-child(2){opacity:0}
  .burger.open i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  /* 首屏 */
  .hero{position:relative;color:#fff;padding:86px 0 60px;
        background:linear-gradient(95deg,rgba(9,44,84,.88) 0%,rgba(12,68,124,.62) 48%,rgba(12,68,124,.28) 100%),
                   url(../images/hero.jpg) center/cover no-repeat}
  .hero h1{font-size:40px;line-height:1.32;font-weight:500;max-width:640px;margin-bottom:16px}
  .hero p{font-size:15px;color:#D8E7F6;line-height:1.85;max-width:620px;margin-bottom:28px}
  .hero .cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:44px}
  .btn-amber{background:var(--amber);color:#412402;font-size:15px;font-weight:500;
             padding:13px 32px;border-radius:6px;display:inline-block}
  .btn-ghost{color:#fff;font-size:15px;padding:13px 32px;border-radius:6px;
             border:1px solid var(--blue200);display:inline-block}
  .hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
  .hero-stats div{background:rgba(24,95,165,.66);border:1px solid rgba(133,183,235,.35);
                  border-radius:8px;padding:16px 18px;backdrop-filter:blur(2px)}
  .hero-stats b{font-size:22px;font-weight:500;display:block}
  .hero-stats span{font-size:12.5px;color:#CFE2F5}

  section{padding:52px 0}
  .bg-soft{background:var(--bg)}

  /* 优势 */
  .adv{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}
  .card b{font-size:16px;font-weight:500;display:block;margin-bottom:6px}
  .card p{font-size:13px;color:var(--ink2);line-height:1.75}

  /* 云祭祀横幅 */
  .yun{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
       background:linear-gradient(90deg,var(--teal) 0%,#12836A 100%);color:#fff;
       border-radius:var(--radius);padding:22px 26px}
  .yun b{font-size:18px;font-weight:500;display:block;margin-bottom:4px}
  .yun p{font-size:13px;color:#CDEEE2}
  .yun a{background:#fff;color:var(--teal);font-weight:500;font-size:14px;
         padding:11px 26px;border-radius:6px;display:inline-block}

  /* 海葬城市 */
  .cities{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
  .city{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
  .city .ph{position:relative}
  .city .ph img{width:100%;height:200px;object-fit:cover}
  .city .sea{position:absolute;top:12px;left:12px;background:rgba(12,68,124,.88);color:#fff;
             font-size:12px;padding:3px 10px;border-radius:4px}
  .city .real{position:absolute;bottom:10px;right:12px;background:rgba(0,0,0,.45);color:#fff;
              font-size:11px;padding:2px 8px;border-radius:4px}
  .city .info{padding:16px 18px 18px}
  .city .cityname{display:flex;align-items:baseline;gap:10px;margin-bottom:2px}
  .city .cityname b{font-size:18px;font-weight:500}
  .city .dock{font-size:12px;color:var(--ink3);margin-bottom:12px}
  .pkg{border-top:1px dashed var(--line);padding:10px 0}
  .pkg:first-of-type{border-top:0}
  .pkg .row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
  .pkg .name{font-size:14px;font-weight:500;color:var(--ink)}
  .pkg .price{font-size:18px;font-weight:500;color:var(--navy);white-space:nowrap}
  .pkg .price small{font-size:11.5px;color:var(--ink3);font-weight:400}
  .pkg .items{font-size:12px;color:var(--ink2);line-height:1.7;margin-top:3px}
  .city .extras{font-size:12px;color:var(--amber700);background:var(--amber50);
                border-radius:6px;padding:7px 10px;margin-top:8px}
  .city .go{display:block;text-align:center;margin-top:12px;font-size:13px;color:var(--navy2);
            border:1px solid var(--blue200);border-radius:6px;padding:8px 0}

  /* 办理流程 */
  .flow{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
  .step{position:relative;border-radius:var(--radius);overflow:hidden;height:210px;
        display:flex;flex-direction:column;justify-content:flex-end;
        background-size:cover;background-position:center}
  .step::before{content:"";position:absolute;inset:0;
        background:linear-gradient(180deg,rgba(12,40,74,.18) 0%,rgba(9,36,68,.82) 100%)}
  .step .inner{position:relative;padding:14px;color:#fff}
  .step .sn{font-size:11px;color:#FFD79A;font-weight:500;letter-spacing:.05em}
  .step b{font-size:15px;font-weight:500;display:block;margin:5px 0 4px}
  .step p{font-size:12px;color:#D8E7F6;line-height:1.65}

  /* 一对一 vs 集体 */
  .vs{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .vs .col{border-radius:var(--radius);padding:22px 24px;border:1px solid var(--line);background:#fff}
  .vs .col.one2one{border:2px solid var(--amber);background:#FFFDF7}
  .vs .col .hd{text-align:center;font-size:17px;font-weight:500;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--line)}
  .vs .col.one2one .hd{color:var(--amber700)}
  .vs ul{list-style:none}
  .vs li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--ink2);line-height:1.7;padding:7px 0}
  .vs li i{font-style:normal;flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--blue50);
           display:flex;align-items:center;justify-content:center;font-size:14px}
  .vs .col.one2one li i{background:var(--amber50)}
  .vs .ft{margin-top:16px;background:var(--blue50);border-radius:8px;padding:13px 18px;
          font-size:13.5px;color:var(--navy);display:flex;gap:10px;align-items:center}
  .vs .ft i{font-style:normal;font-size:17px}

  /* 注意事项 + 案例展示 */
  .ncase{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
  .rules{display:flex;flex-direction:column;gap:10px}
  .rule{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);
        border-radius:var(--radius);padding:14px 20px}
  .rule .no{flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;
            display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500}
  .rule b{font-size:14.5px;font-weight:500}
  .rule span{font-size:12.5px;color:var(--ink3);display:block}
  .rules-go{text-align:center;margin-top:18px}
  .rules-go a{display:inline-block;background:var(--navy2);color:#fff;font-size:14px;
              padding:11px 34px;border-radius:6px}

  /* 案例轮播（min-width/max-width 切断 grid 内容传播，防止 Swiper 尺寸反馈循环） */
  .caseSwiper,.gallerySwiper{min-width:0;max-width:100%;border-radius:var(--radius);overflow:hidden;background:var(--navy);position:relative}
  .caseSwiper .swiper-slide,.gallerySwiper .swiper-slide{position:relative}
  .caseSwiper img,.gallerySwiper img{width:100%;height:360px;object-fit:cover;object-position:center 30%;display:block}
  .caseSwiper .cap,.gallerySwiper .cap{position:absolute;left:0;right:0;bottom:0;padding:30px 18px 14px;color:#fff;font-size:13px;
                   background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(9,36,68,.86) 100%)}
  .caseSwiper .cap b,.gallerySwiper .cap b{display:block;font-size:14px;font-weight:500;margin-bottom:2px}
  .caseSwiper .cap span,.gallerySwiper .cap span{color:#CFE2F5;font-size:12.5px}
  .caseSwiper .swiper-button-prev,.caseSwiper .swiper-button-next,.gallerySwiper .swiper-button-prev,.gallerySwiper .swiper-button-next{
      width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);margin-top:-17px}
  .caseSwiper .swiper-button-prev::after,.caseSwiper .swiper-button-next::after,.gallerySwiper .swiper-button-prev::after,.gallerySwiper .swiper-button-next::after{
      font-size:12px;font-weight:700;color:var(--navy)}
  .caseSwiper .swiper-pagination,.gallerySwiper .swiper-pagination{bottom:8px}
  .caseSwiper .swiper-pagination-bullet,.gallerySwiper .swiper-pagination-bullet{background:#fff;opacity:.5;width:6px;height:6px}
  .caseSwiper .swiper-pagination-bullet-active,.gallerySwiper .swiper-pagination-bullet-active{opacity:1;background:var(--amber);width:16px;border-radius:3px}

  /* 客户评价 */
  .rev-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
           background:var(--blue50);border-radius:8px;padding:12px 18px;font-size:13px;
           color:var(--navy);margin-bottom:18px}
  .rev-bar .btns{display:flex;gap:10px}
  .rev-bar a{background:var(--navy2);color:#fff;padding:8px 18px;border-radius:6px;font-size:13px}
  .rev-bar a.ghost{background:#fff;color:var(--navy2);border:1px solid var(--blue200)}
  .revSwiper{padding-bottom:40px}
  .revSwiper .swiper-slide{height:auto}
  .rev{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;
       height:100%;display:flex;flex-direction:column}
  .rev .top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
  .rev .av{width:40px;height:40px;border-radius:50%;background:var(--blue50);color:var(--navy);
           display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:500;flex:0 0 auto}
  .rev .who b{font-size:14px;font-weight:500;display:block;line-height:1.3}
  .rev .who span{font-size:12px;color:var(--ink3)}
  .rev .stars{margin-left:auto;color:var(--amber);font-size:12px;letter-spacing:1px}
  .rev p{font-size:13px;color:var(--ink2);line-height:1.8;flex:1;margin-bottom:10px}
  .rev img{width:100%;height:124px;object-fit:cover;border-radius:8px}
  .revSwiper .swiper-pagination-bullet{background:var(--navy2);opacity:.25}
  .revSwiper .swiper-pagination-bullet-active{opacity:1;background:var(--navy)}
  .rev .av img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}

  /* 城市详情页 · 家庭评价卡 */
  .revlist{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .revcard{display:grid;grid-template-columns:56px 1fr;gap:14px;background:#fff;
           border:1px solid var(--line);border-radius:var(--radius);padding:16px;
           transition:transform .25s, box-shadow .25s}
  .revcard:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(12,68,124,.10)}
  .ravatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--blue50)}
  .rhead{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .rhead b{font-size:14.5px;font-weight:600;color:var(--ink)}
  .rhead .stars{color:var(--amber);font-size:12px;letter-spacing:2px}
  .rmeta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--ink3);margin:4px 0 8px}
  .revcard .rbody p{font-size:13px;color:var(--ink2);line-height:1.8;margin:0}

  /* 指南 / 新闻 */
  .two{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
  .glist{display:grid;grid-template-columns:1fr;gap:12px}
  .gitem{display:grid;grid-template-columns:118px 1fr;gap:14px;background:#fff;
         border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
  .gitem img{width:118px;height:86px;object-fit:cover}
  .gitem .tx{padding:10px 14px 10px 0}
  .gitem b{font-size:14.5px;font-weight:500;display:block;margin-bottom:3px}
  .gitem p{font-size:12.5px;color:var(--ink2);line-height:1.6;
           display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .gitem .cat{display:inline-block;font-size:11px;color:var(--navy2);background:var(--blue50);
              border-radius:3px;padding:1px 7px;margin-bottom:5px}
  .nitem{display:grid;grid-template-columns:118px 1fr;gap:14px;padding:12px 0;
         border-bottom:1px solid var(--line)}
  .nitem:last-child{border-bottom:0}
  .nitem img{width:118px;height:86px;object-fit:cover;border-radius:8px}
  .nitem .tx{display:flex;flex-direction:column;gap:4px;min-width:0}
  .nitem b{font-size:14.5px;font-weight:500;line-height:1.5}
  .nitem p{font-size:12.5px;color:var(--ink2);line-height:1.6;
           display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .nitem .meta{font-size:12px;color:var(--ink3);margin-top:auto}

  /* 预约 */
  .book{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}
  .form{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  .field{border:1px solid var(--line);border-radius:6px;padding:11px 13px;font-size:13px;color:var(--ink3);background:#fff}
  .field.full{grid-column:1/-1;padding:16px 13px}
  .submit{background:var(--navy);color:#fff;font-size:15px;font-weight:500;padding:13px 40px;
          border-radius:6px;display:inline-block;margin-top:16px}
  .promise{font-size:12.5px;color:var(--ink3);margin-top:10px}
  .side{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:#fff}
  .side h3{font-size:16px;font-weight:500;margin-bottom:12px}
  .side .hot-line{background:var(--navy);color:#fff;border-radius:8px;text-align:center;padding:14px;margin-bottom:16px}
  .side .hot-line small{display:block;font-size:12px;color:var(--blue200)}
  .side .hot-line b{font-size:21px;letter-spacing:.03em}
  .side .nums{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}
  .side .nums b{font-size:22px;font-weight:500;color:var(--navy);display:block}
  .side .nums span{font-size:12.5px;color:var(--ink3)}

  /* 侧栏：承诺 / 流程 / 口碑 */
  .side .sprom{margin-top:18px;padding-top:16px;border-top:1px dashed var(--line)}
  .side .sprom h4,.side .sflow h4,.side .squote h4{font-size:13.5px;font-weight:500;color:var(--navy);margin-bottom:10px}
  .side .sprom ul{list-style:none;display:grid;gap:10px}
  .side .sprom li{display:grid;grid-template-columns:8px 1fr;gap:0 9px;align-items:start}
  .side .sprom li .dot{width:6px;height:6px;border-radius:50%;background:var(--amber);margin-top:6px}
  .side .sprom li b{font-size:13px;font-weight:500;color:var(--ink)}
  .side .sprom li span{grid-column:2;font-size:12px;color:var(--ink3);line-height:1.55}

  .side .sflow{margin-top:18px;padding-top:16px;border-top:1px dashed var(--line)}
  .side .sflow ol{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center}
  .side .sflow li{font-size:11.5px;color:var(--ink3);line-height:1.4}
  .side .sflow li em{display:block;width:24px;height:24px;line-height:24px;border-radius:50%;
                     background:var(--blue50);color:var(--navy);font-size:12px;font-style:normal;margin:0 auto 5px}

  .side .squote{margin-top:18px;padding-top:16px;border-top:1px dashed var(--line)}
  .side .sq{background:var(--blue50);border-radius:8px;padding:11px 12px;margin-bottom:9px}
  .side .sq p{font-size:12px;color:var(--ink2);line-height:1.65;margin:0 0 6px}
  .side .sq span{font-size:11.5px;color:var(--navy)}

  /* 联系我们 */
  .contact{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}
  .ccard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;text-align:center}
  .ccard .ico{width:46px;height:46px;border-radius:50%;background:var(--blue50);
              display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-size:21px}
  .ccard b{font-size:15px;font-weight:500;display:block;margin-bottom:2px}
  .ccard .val{font-size:14.5px;color:var(--navy);font-weight:500;word-break:break-all}
  .ccard .tip{font-size:12px;color:var(--ink3);margin-top:3px}
  .ccard .wx-btn{display:inline-block;margin-top:8px;font-size:12.5px;color:#fff;background:var(--teal);
                 padding:6px 16px;border-radius:6px}
  .cbar{background:var(--navy);color:#fff;border-radius:var(--radius);
        display:flex;align-items:center;justify-content:space-between;gap:14px;
        padding:18px 26px;flex-wrap:wrap}
  .cbar b{font-size:20px;font-weight:500;letter-spacing:.02em}
  .cbar span{font-size:13px;color:var(--blue200)}

  footer{background:#2C2C2A;color:#B4B2A9;padding:44px 0 24px;font-size:13px}
  .fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:28px;margin-bottom:28px}
  .fgrid b{color:#fff;font-size:14px;font-weight:500;display:block;margin-bottom:12px}
  .flogo{display:flex;align-items:center;gap:10px;margin-bottom:10px}
  .flogo img{width:40px;height:40px;border-radius:50%}
  .flogo i{font-style:normal;color:#fff;font-size:17px}
  .fgrid p,.fgrid a{color:inherit;line-height:2.1;display:block}
  .fbot{border-top:1px solid #444441;padding-top:18px;font-size:12.5px;color:#888780;
        display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

  /* ============ 平板 ≤1020px ============ */
  @media(max-width:1020px){
    .adv{grid-template-columns:repeat(2,1fr)}
    .cities{grid-template-columns:1fr}
    .flow{grid-template-columns:repeat(2,1fr)}
    .hero-stats{grid-template-columns:repeat(2,1fr)}
    .two,.book,.fgrid{grid-template-columns:1fr}
    .contact{grid-template-columns:repeat(2,1fr)}
    .hero h1{font-size:30px}
    /* 导航折叠为汉堡菜单 */
    .nav{grid-template-columns:auto 1fr auto;padding:10px 0}
    .nav .left{gap:12px}
    .phone{display:none}
    .menu{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;
          flex-direction:column;align-items:stretch;gap:0;padding:6px 0;
          border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.10)}
    .menu.open{display:flex}
    .menu a{padding:13px 24px;font-size:15px;border-bottom:1px solid var(--line)}
    .menu a:last-child{border-bottom:0}
    .menu .active{border-bottom:1px solid var(--line);color:var(--navy);font-weight:500}
    .burger{display:flex}
    .right .btn{padding:9px 14px;font-size:13px}
  }

  /* ============ 手机 ≤640px ============ */
  @media(max-width:640px){
    .wrap{padding:0 16px}
    section{padding:38px 0}
    .topbar{font-size:11.5px}
    .topbar .wrap{justify-content:center;text-align:center;gap:4px}
    .logo img{width:40px;height:40px}
    .logo b{font-size:17px}
    .right .btn{padding:8px 12px;font-size:12.5px}
    .burger{width:38px;height:38px}

    .hero{padding:56px 0 44px}
    .hero h1{font-size:25px;margin-bottom:12px}
    .hero p{font-size:13.5px;margin-bottom:22px}
    .hero .cta{gap:10px;margin-bottom:30px}
    .btn-amber,.btn-ghost{font-size:14px;padding:11px 22px}
    .hero-stats{gap:8px}
    .hero-stats div{padding:12px 10px}
    .hero-stats b{font-size:17px}
    .hero-stats span{font-size:11.5px}

    .anno h2{font-size:17px}
    .anno .more{margin-left:0;width:100%}

    .adv{grid-template-columns:1fr;gap:10px}
    .card{padding:16px 18px}

    .yun{padding:18px}
    .yun b{font-size:16px}
    .yun a{width:100%;text-align:center}

    .city .ph img{height:180px}
    .city .info{padding:14px 14px 16px}
    .pkg .price{font-size:17px}

    .flow{grid-template-columns:1fr;gap:10px}
    .step{height:150px}

    .vs{grid-template-columns:1fr;gap:12px}
    .vs .col{padding:16px 16px}
    .vs .ft{flex-direction:row;align-items:flex-start}

    /* 注意事项与案例上下排布 */
    .ncase{grid-template-columns:minmax(0,1fr);gap:16px}
    .rule{padding:12px 14px;gap:12px}
    .rule .no{width:32px;height:32px;font-size:12.5px}
    .rule b{font-size:14px}
    .rule span{font-size:12px}
    .rules-go{margin-top:14px}
    .rules-go a{width:100%}

    .caseSwiper img{height:auto;aspect-ratio:8/5}
    .caseSwiper .cap b{font-size:13px}
    .caseSwiper .cap span{font-size:11.5px}

    .rev-bar{flex-direction:column;align-items:stretch;text-align:center}
    .rev-bar .btns{justify-content:center}
    .rev{padding:14px}
    .rev img{height:110px}

    .revlist{grid-template-columns:1fr}
    .revcard{grid-template-columns:48px 1fr;gap:12px;padding:13px}
    .ravatar{width:48px;height:48px}

    .gitem{grid-template-columns:96px 1fr}
    .gitem img{width:96px;height:74px}
    .nitem{grid-template-columns:96px 1fr}
    .nitem img{width:96px;height:74px}

    .form{grid-template-columns:1fr}
    .field.full{padding:12px 13px}
    .submit{width:100%;text-align:center}
    .side{padding:16px}
    .side .nums b{font-size:19px}

    .contact{grid-template-columns:1fr;gap:10px}
    .cbar{padding:16px}
    .cbar b{font-size:18px}

    footer{padding:32px 0 18px}
    .fgrid{gap:18px;margin-bottom:18px}
    .fbot{flex-direction:column;gap:6px;text-align:center}
  }


  /* ==========================================================
     栏目页通用组件（列表页 / 详情页 / 预约页 / 案例页）
     ========================================================== */

  /* 栏目头图 */
  .pagehead{position:relative;color:#fff;padding:44px 0 38px;
    background:linear-gradient(92deg,rgba(9,44,84,.92) 0%,rgba(12,68,124,.62) 58%,rgba(12,68,124,.32) 100%),
               url(../images/hero.jpg) center/cover no-repeat}
  .pagehead h1{font-size:27px;font-weight:500;margin-bottom:8px}
  .pagehead p{font-size:13.5px;color:#D3E4F4;line-height:1.8;max-width:660px}
  .crumb{font-size:12.5px;color:#A9C6E2;margin-bottom:12px}
  .crumb a{color:#CFE2F5}
  .crumb i{font-style:normal;opacity:.55;margin:0 7px}

  /* 主体 + 侧栏 */
  .layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
  .side-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
             padding:18px;margin-bottom:16px}
  .side-card h3{font-size:15px;font-weight:500;margin-bottom:12px;padding-bottom:10px;
                border-bottom:1px solid var(--line)}
  .side-card .hot{background:var(--navy);color:#fff;border-radius:8px;text-align:center;
                  padding:14px;margin-bottom:14px}
  .side-card .hot small{display:block;font-size:12px;color:var(--blue200)}
  .side-card .hot b{font-size:20px;letter-spacing:.03em}

  /* 热门排行 */
  .hotlist{list-style:none;counter-reset:hn}
  .hotlist li{counter-increment:hn;display:flex;gap:10px;align-items:flex-start;
              padding:9px 0;border-bottom:1px dashed var(--line);font-size:13px;line-height:1.55}
  .hotlist li:last-child{border-bottom:0}
  .hotlist li::before{content:counter(hn);flex:0 0 auto;width:19px;height:19px;border-radius:3px;
    background:var(--line);color:var(--ink2);font-size:11.5px;display:flex;align-items:center;
    justify-content:center;margin-top:2px}
  .hotlist li:nth-child(1)::before,.hotlist li:nth-child(2)::before,
  .hotlist li:nth-child(3)::before{background:var(--navy);color:#fff}
  .hotlist a{color:var(--ink);display:block}

  /* 标签云 / 分类 */
  .tags{display:flex;flex-wrap:wrap;gap:8px}
  .tags a{font-size:12.5px;color:var(--ink2);background:var(--bg);border:1px solid var(--line);
          border-radius:4px;padding:5px 11px}
  .tags a:hover{color:var(--navy2);border-color:var(--blue200)}

  /* 筛选条 */
  .filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
  .filter button{font-family:inherit;border:1px solid var(--line);background:#fff;border-radius:20px;
    padding:7px 17px;font-size:13px;color:var(--ink2);cursor:pointer;transition:.15s}
  .filter button:hover{border-color:var(--blue200);color:var(--navy2)}
  .filter button.on{background:var(--navy);border-color:var(--navy);color:#fff}
  .filter .count{margin-left:auto;align-self:center;font-size:12.5px;color:var(--ink3)}

  /* 文章列表：头条 */
  .lead{display:grid;grid-template-columns:1.05fr 1fr;gap:20px;background:#fff;
        border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:16px}
  .lead img{width:100%;height:250px;object-fit:cover}
  .lead .tx{padding:22px 24px;display:flex;flex-direction:column}
  .lead .flag{display:inline-block;align-self:flex-start;background:var(--navy);color:#fff;
              font-size:11.5px;border-radius:4px;padding:2px 9px;margin-bottom:10px}
  .lead h3{font-size:19px;font-weight:500;line-height:1.5;margin-bottom:8px}
  .lead p{font-size:13px;color:var(--ink2);line-height:1.8;margin-bottom:12px}
  .lead .meta{font-size:12px;color:var(--ink3);margin-top:auto;display:flex;gap:14px;flex-wrap:wrap}

  /* 文章列表：普通条目 */
  .alist{display:flex;flex-direction:column}
  .aitem{display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px;padding:16px 0;
         border-bottom:1px solid var(--line);align-items:center}
  .aitem:first-child{padding-top:0}
  .aitem:last-child{border-bottom:0}
  .aitem .ph{border-radius:8px;overflow:hidden;position:relative}
  .aitem .ph img{width:200px;height:132px;object-fit:cover;display:block;transition:transform .35s}
  .aitem:hover .ph img{transform:scale(1.05)}
  .aitem .ph span{position:absolute;top:8px;left:8px;background:rgba(12,68,124,.9);color:#fff;
                  font-size:11.5px;border-radius:4px;padding:2px 8px}
  .aitem h3{font-size:16px;font-weight:500;line-height:1.5;margin-bottom:6px}
  .aitem h3 a{color:var(--ink)}
  .aitem:hover h3 a{color:var(--navy2)}
  .aitem p{font-size:13px;color:var(--ink2);line-height:1.75;margin-bottom:8px;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .aitem .meta{font-size:12px;color:var(--ink3);display:flex;gap:14px;flex-wrap:wrap}

  /* 分页 */
  .pager{display:flex;gap:6px;justify-content:center;align-items:center;margin-top:28px;flex-wrap:wrap}
  .pager a,.pager b{display:flex;align-items:center;justify-content:center;min-width:34px;height:34px;
    padding:0 10px;border:1px solid var(--line);border-radius:6px;font-size:13px;color:var(--ink2);background:#fff}
  .pager b{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:500}
  .pager a:hover{border-color:var(--blue200);color:var(--navy2)}
  .pager .dis{opacity:.45;pointer-events:none}

  /* 城市列表卡片 */
  .citygrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .cc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
      overflow:hidden;display:flex;flex-direction:column}
  .cc .ph{position:relative;overflow:hidden}
  .cc .ph img{width:100%;height:186px;object-fit:cover;transition:transform .35s}
  .cc:hover .ph img{transform:scale(1.05)}
  .cc .ph .sea{position:absolute;top:10px;left:10px;background:rgba(12,68,124,.9);color:#fff;
               font-size:11.5px;border-radius:4px;padding:2px 9px}
  .cc .ph .real{position:absolute;bottom:10px;right:10px;background:rgba(0,0,0,.45);color:#fff;
                font-size:11px;border-radius:4px;padding:2px 8px}
  .cc .bd{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
  .cc h3{font-size:17px;font-weight:500;margin-bottom:3px;display:flex;align-items:baseline;gap:8px}
  .cc h3 em{font-style:normal;font-size:12px;color:var(--ink3)}
  .cc .dock{font-size:12px;color:var(--ink3);margin-bottom:12px}
  .cc .minipkg{font-size:12.5px;color:var(--ink2);line-height:1.9;flex:1}
  .cc .minipkg span{color:var(--navy);font-weight:500}
  .cc .foot{display:flex;align-items:center;justify-content:space-between;gap:10px;
            margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
  .cc .foot .from{font-size:12px;color:var(--ink3)}
  .cc .foot .from b{font-size:19px;color:var(--navy);font-weight:500;display:block;line-height:1.2}
  .cc .foot a{font-size:13px;color:var(--navy2);border:1px solid var(--blue200);
              border-radius:6px;padding:7px 15px}

  /* 城市详情页头 */
  .cityhead{position:relative;color:#fff;padding:38px 0 34px;background-size:cover;background-position:center}
  .cityhead::before{content:"";position:absolute;inset:0;
    background:linear-gradient(92deg,rgba(9,44,84,.93) 0%,rgba(12,68,124,.66) 55%,rgba(12,68,124,.3) 100%)}
  .cityhead .wrap{position:relative}
  .cityhead h1{font-size:30px;font-weight:500;margin-bottom:8px}
  .cityhead .sub{font-size:13.5px;color:#D3E4F4;line-height:1.8;max-width:660px;margin-bottom:16px}
  .cityhead .chips{display:flex;gap:8px;flex-wrap:wrap}
  .cityhead .chips span{font-size:12.5px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);
                        border-radius:20px;padding:4px 13px}

  /* 信息条 */
  .infobar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:26px}
  .infobar div{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:14px 16px}
  .infobar small{display:block;font-size:12px;color:var(--ink3);margin-bottom:3px}
  .infobar b{font-size:14.5px;font-weight:500;line-height:1.5}

  /* 套餐卡（城市详情） */
  .pkgs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .pk{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 20px 18px;
      display:flex;flex-direction:column;position:relative}
  .pk.rec{border:2px solid var(--amber);background:#FFFDF7}
  .pk .tag{position:absolute;top:-11px;right:14px;background:var(--amber);color:#412402;
           font-size:11.5px;border-radius:4px;padding:2px 10px}
  .pk h4{font-size:16px;font-weight:500;margin-bottom:2px}
  .pk .ship{font-size:12px;color:var(--ink3);margin-bottom:12px}
  .pk .pr{font-size:26px;font-weight:500;color:var(--navy);line-height:1.2;margin-bottom:2px}
  .pk .pr small{font-size:12px;color:var(--ink3);font-weight:400;margin-left:6px}
  .pk .hint{font-size:12px;color:var(--ink3);margin-bottom:12px}
  .pk ul{list-style:none;margin-bottom:14px;flex:1}
  .pk li{font-size:12.5px;color:var(--ink2);line-height:1.7;padding:4px 0 4px 18px;position:relative}
  .pk li::before{content:"";position:absolute;left:4px;top:12px;width:5px;height:5px;border-radius:50%;
                 background:var(--navy2)}
  .pk .buy{display:block;text-align:center;font-size:13.5px;background:var(--navy2);color:#fff;
           border-radius:6px;padding:9px 0}
  .pk.rec .buy{background:var(--amber700)}
  /* 套餐船型实拍图（overflow 保证不超出卡片边框） */
  .pk{overflow:hidden}
  .pkimg{margin:-20px -20px 0;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden;
         background:var(--blue50)}
  .pkimg img{display:block;width:100%;max-width:100%;height:150px;object-fit:cover;
             transition:transform .6s cubic-bezier(.2,.6,.2,1)}
  .pk:hover .pkimg img{transform:scale(1.07)}

  /* 出海须知（5 条 · 双列卡片） */
  .notice-sec,.faq-sec{position:relative;overflow:hidden}
  .notice-sec::before,.faq-sec::before{content:"";position:absolute;inset:0;pointer-events:none;
    background:
      radial-gradient(720px 220px at 12% 0%, rgba(24,95,165,.07), transparent 70%),
      radial-gradient(620px 200px at 88% 100%, rgba(239,159,39,.08), transparent 70%)}
  .notice-sec>.wrap,.faq-sec>.wrap{position:relative}
  .notice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .nitem{display:flex;align-items:flex-start;gap:14px;background:#fff;
         border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;position:relative;
         transition:transform .3s cubic-bezier(.2,.6,.2,1),box-shadow .3s,border-color .3s}
  .nitem::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;
                 background:linear-gradient(180deg,var(--navy2),var(--blue200))}
  .nitem:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(12,68,124,.10);border-color:var(--blue200)}
  .nitem.wide{grid-column:span 2}
  .nnum{flex:0 0 36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--navy),var(--navy2));
        color:#fff;font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:center;
        letter-spacing:.5px;box-shadow:0 3px 8px rgba(12,68,124,.22)}
  .ntx b{display:block;font-size:14.5px;font-weight:500;margin-bottom:4px;line-height:1.45}
  .ntx small{display:block;font-size:12.5px;color:var(--ink3);line-height:1.75}

  /* 办理流程（3 步） */
  .flow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}
  .fstep{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;
         position:relative;transition:transform .3s cubic-bezier(.2,.6,.2,1),box-shadow .3s,border-color .3s}
  .fstep::after{content:"→";position:absolute;right:-12px;top:50%;transform:translateY(-50%);
                color:var(--blue200);font-size:15px;z-index:1;background:#fff;border-radius:50%;padding:2px}
  .fstep:last-child::after{display:none}
  .fstep:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 10px 24px rgba(12,68,124,.10);border-color:var(--blue200)}
  .fnum{display:inline-flex;width:24px;height:24px;border-radius:50%;background:var(--amber);color:#412402;
        font-size:12px;font-weight:500;align-items:center;justify-content:center;margin-bottom:9px;
        box-shadow:0 3px 8px rgba(239,159,39,.35)}
  .fstep b{display:block;font-size:14px;font-weight:500;margin-bottom:3px}
  .fstep small{display:block;font-size:12px;color:var(--ink3);line-height:1.6}

  /* 常见问题（手风琴） */
  .faq{display:grid;gap:10px}
  .fq{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
      transition:border-color .3s,box-shadow .3s}
  .fq[open]{border-color:var(--blue200);box-shadow:0 8px 22px rgba(12,68,124,.08)}
  .fq summary{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;list-style:none;
              transition:background .25s}
  .fq summary::-webkit-details-marker{display:none}
  .fq summary:hover{background:var(--blue50)}
  .fq summary h3{font-size:14.5px;font-weight:500;flex:1;line-height:1.5}
  .fq summary i{flex:0 0 20px;height:20px;border-radius:50%;border:1px solid var(--line);position:relative;
                transition:transform .3s,background .3s,border-color .3s}
  .fq summary i::before,.fq summary i::after{content:"";position:absolute;left:50%;top:50%;background:var(--ink3);
                transition:background .3s;transform:translate(-50%,-50%)}
  .fq summary i::before{width:9px;height:1.5px}
  .fq summary i::after{width:1.5px;height:9px}
  .fq[open] summary i{transform:rotate(180deg);background:var(--navy2);border-color:var(--navy2)}
  .fq[open] summary i::before{background:#fff}
  .fq[open] summary i::after{height:0}
  .fq>p{padding:0 18px 15px 50px;font-size:13px;color:var(--ink2);line-height:1.9;
        border-top:1px dashed var(--line);padding-top:12px}
  .fq>p strong{color:var(--navy);font-weight:500}

  /* 航次实拍 swiper（hover 放大） */
  .gallerySwiper{border-radius:var(--radius);overflow:hidden}
  .gallerySwiper .swiper-slide{overflow:hidden;border-radius:var(--radius)}
  .gallerySwiper .ph{overflow:hidden;border-radius:var(--radius);background:var(--blue50)}
  .gallerySwiper .ph img{width:100%;height:300px;object-fit:cover;
                         transition:transform .7s cubic-bezier(.2,.6,.2,1)}
  .gallerySwiper .swiper-slide:hover .ph img{transform:scale(1.07)}

  /* 增值服务 */
  .addon{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .addon div{border:1px dashed var(--line);border-radius:8px;padding:13px 15px;background:#fff}
  .addon b{font-size:13.5px;font-weight:500;display:block;margin-bottom:2px}
  .addon b em{font-style:normal;color:var(--navy);float:right;font-weight:500}
  .addon span{font-size:12px;color:var(--ink3)}

  /* 图文段 */
  .split{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:center}
  .split img{width:100%;border-radius:var(--radius);object-fit:cover;height:280px}
  .split .tx h3{font-size:19px;font-weight:500;margin-bottom:10px}
  .split .tx p{font-size:13.5px;color:var(--ink2);line-height:1.9;margin-bottom:12px}

  /* 城市切换 */
  .citynav{display:flex;gap:8px;flex-wrap:wrap}
  .citynav a{font-size:13px;border:1px solid var(--line);border-radius:6px;padding:8px 16px;color:var(--ink2);background:#fff}
  .citynav a.on{background:var(--navy);border-color:var(--navy);color:#fff}

  /* 案例画廊 */
  .gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .gitem2{position:relative;border-radius:var(--radius);overflow:hidden;cursor:zoom-in;background:var(--navy)}
  .gitem2 img{width:100%;height:200px;object-fit:cover;transition:transform .4s}
  .gitem2:hover img{transform:scale(1.06)}
  .gitem2 .cap{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;color:#fff;font-size:12px;
    background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(9,36,68,.86) 100%)}
  .gitem2 .cap b{display:block;font-size:13.5px;font-weight:500;margin-bottom:2px}
  .gitem2 .cap span{color:#CFE2F5;font-size:11.5px}

  /* 灯箱 */
  .lb{position:fixed;inset:0;background:rgba(6,20,38,.92);display:none;align-items:center;
      justify-content:center;z-index:200;padding:24px}
  .lb.on{display:flex}
  .lb img{max-width:92vw;max-height:80vh;border-radius:6px}
  .lb .lbcap{position:absolute;bottom:26px;left:0;right:0;text-align:center;color:#CFE2F5;font-size:13px}
  .lb .lbclose{position:absolute;top:18px;right:22px;color:#fff;font-size:30px;cursor:pointer;line-height:1}

  /* 案例故事 */
  .story{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;background:#fff;
         border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:14px}
  .story img{width:220px;height:150px;object-fit:cover;border-radius:8px}
  .story h3{font-size:16px;font-weight:500;margin-bottom:6px}
  .story .who{font-size:12px;color:var(--ink3);margin-bottom:8px}
  .story p{font-size:13px;color:var(--ink2);line-height:1.85}
  .story .quote{margin-top:10px;font-size:13px;color:var(--navy);background:var(--blue50);
                border-radius:6px;padding:10px 14px}

  /* 文章正文 */
  .art{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 34px}
  .art .ahead{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
  .art h1{font-size:25px;font-weight:500;line-height:1.45;margin-bottom:12px}
  .art .meta{font-size:12.5px;color:var(--ink3);display:flex;gap:16px;flex-wrap:wrap}
  .art .body{font-size:14.5px;line-height:2.05;color:#3A3A37}
  .art .body p{margin-bottom:14px}
  .art .body h2{font-size:18px;font-weight:500;margin:24px 0 12px;padding-left:11px;
                border-left:3px solid var(--navy2)}
  .art .body h3{font-size:16px;font-weight:500;margin:18px 0 10px}
  .art .body img{width:100%;border-radius:8px;margin:14px 0}
  .art .body .cap{font-size:12.5px;color:var(--ink3);text-align:center;margin:-6px 0 16px}
  .art .body blockquote{background:var(--bg);border-left:3px solid var(--teal);border-radius:0 8px 8px 0;
    padding:14px 18px;margin:16px 0;font-size:13.5px;color:var(--ink2);line-height:1.85}
  .art .body ul{padding-left:22px;margin-bottom:14px}
  .art .body li{font-size:14.5px;line-height:2;margin-bottom:4px}
  .art .body table{width:100%;border-collapse:collapse;margin:14px 0;font-size:13px}
  .art .body th,.art .body td{border:1px solid var(--line);padding:9px 12px;text-align:left}
  .art .body th{background:var(--bg);font-weight:500}
  .art .tagsline{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);
                 font-size:12.5px;color:var(--ink3)}
  .art .prevnext{display:flex;justify-content:space-between;gap:12px;margin-top:18px;
                 font-size:13px;color:var(--ink2);flex-wrap:wrap}

  /* 详情页目录 */
  .toc{position:sticky;top:78px}
  .toc a{display:block;font-size:13px;color:var(--ink2);padding:7px 0 7px 12px;
         border-left:2px solid var(--line)}
  .toc a.on{color:var(--navy);border-left-color:var(--navy2);font-weight:500}

  /* 常见问题折叠 */
  .faq{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}
  .faq .q{padding:14px 18px;font-size:14px;font-weight:500;cursor:pointer;display:flex;
          align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}
  .faq .q:last-child{border-bottom:0}
  .faq .q i{font-style:normal;color:var(--navy2);font-size:18px;transition:transform .2s}
  .faq .q.open i{transform:rotate(45deg)}
  .faq .a{display:none;padding:0 18px 16px;font-size:13.5px;color:var(--ink2);line-height:1.9;
          border-bottom:1px solid var(--line)}
  .faq .a.open{display:block}

  /* 预约表单 */
  .bookform{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px}
  .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .fld{display:flex;flex-direction:column;gap:6px}
  .fld.full{grid-column:1/-1}
  .fld label{font-size:13px;color:var(--ink2)}
  .fld label em{font-style:normal;color:#C0392B;margin-left:3px}
  .fld input,.fld select,.fld textarea{font-family:inherit;font-size:13.5px;color:var(--ink);
    border:1px solid var(--line);border-radius:6px;padding:11px 13px;background:#fff;width:100%;
    transition:border-color .15s}
  .fld textarea{min-height:96px;resize:vertical}
  .fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--blue200);
    box-shadow:0 0 0 3px rgba(133,183,235,.18)}
  .fld .err{font-size:12px;color:#C0392B;display:none}
  .fld.bad input,.fld.bad select,.fld.bad textarea{border-color:#C0392B}
  .fld.bad .err{display:block}
  .agree{grid-column:1/-1;font-size:12.5px;color:var(--ink3);display:flex;gap:8px;align-items:flex-start}
  .agree input{width:15px;height:15px;margin-top:2px;flex:0 0 auto}
  .submit2{grid-column:1/-1;background:var(--navy);color:#fff;font-size:15px;font-weight:500;
    padding:13px 40px;border-radius:6px;border:0;cursor:pointer;font-family:inherit}
  .submit2:hover{background:var(--navy2)}
  .okbox{grid-column:1/-1;display:none;background:var(--teal50);border:1px solid var(--teal);
    color:var(--teal);border-radius:8px;padding:14px 18px;font-size:13.5px}

  /* 材料清单 */
  .mats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .mats div{display:flex;gap:11px;background:#fff;border:1px solid var(--line);
            border-radius:8px;padding:13px 15px}
  .mats .n{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--blue50);
           color:var(--navy);font-size:12px;display:flex;align-items:center;justify-content:center}
  .mats b{font-size:13.5px;font-weight:500;display:block;margin-bottom:2px}
  .mats span{font-size:12px;color:var(--ink3);line-height:1.6}

  /* 空态 */
  .empty{text-align:center;color:var(--ink3);font-size:13px;padding:40px 0}

  /* ============ 平板 ≤1020px（栏目页补充） ============ */
  @media(max-width:1020px){
    .layout{grid-template-columns:1fr}
    .toc{position:static}
    .citygrid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .pkgs{grid-template-columns:1fr}
    .infobar{grid-template-columns:repeat(2,minmax(0,1fr))}
    .addon{grid-template-columns:repeat(2,minmax(0,1fr))}
    .mats{grid-template-columns:1fr}
    .split{grid-template-columns:1fr}
    .split img{height:220px}
    .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
    .notice-grid{grid-template-columns:1fr}
    .nitem.wide{grid-column:span 1}
    .flow-steps{grid-template-columns:1fr}
    .fstep::after{display:none}
    .pkimg img{height:190px}
    .gallerySwiper .ph img{height:230px}
    .fq>p{padding-left:18px}
  }

  /* ============ 手机 ≤640px（栏目页补充） ============ */
  @media(max-width:640px){
    .pagehead{padding:30px 0 26px}
    .pagehead h1{font-size:21px}
    .pagehead p{font-size:12.5px}
    .cityhead{padding:28px 0 24px}
    .cityhead h1{font-size:22px}
    .lead{grid-template-columns:1fr}
    .lead img{height:180px}
    .lead .tx{padding:16px 16px 18px}
    .lead h3{font-size:16.5px}
    .aitem{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:14px 0}
    .aitem .ph img{width:96px;height:70px}
    .aitem h3{font-size:14.5px}
    .aitem p{font-size:12.5px}
    .citygrid{grid-template-columns:1fr}
    .cc .ph img{height:170px}
    .infobar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .infobar div{padding:11px 12px}
    .infobar b{font-size:13px}
    .addon{grid-template-columns:1fr}
    .gallery{grid-template-columns:1fr}
    .gitem2 img{height:190px}
    .story{grid-template-columns:1fr;gap:14px;padding:16px}
    .story img{width:100%;height:180px}
    .art{padding:20px 18px}
    .art h1{font-size:20px}
    .art .body{font-size:14px;line-height:1.95}
    .bookform{padding:18px 16px}
    .fgrid{grid-template-columns:1fr}
    .submit2{width:100%}
    .filter button{padding:6px 13px;font-size:12.5px}
    .gallerySwiper .ph img{height:200px}
    .nitem{padding:13px 14px;gap:11px}
    .nnum{flex-basis:32px;height:32px}
    .ntx b{font-size:13.5px}
    .ntx small{font-size:12px;line-height:1.65}
    .fstep{padding:14px 15px}
    .fq summary{padding:12px 14px}
    .fq summary h3{font-size:13.5px}
    .fq>p{padding:0 14px 13px 14px;font-size:12.5px;line-height:1.8}
  }

  /* ============ 服务故事 / 家庭评价 / 上下篇 ============ */
  .stgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .stcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
          display:flex;flex-direction:column}
  .stcard .ph{position:relative;display:block;overflow:hidden}
  .stcard .ph img{width:100%;height:176px;object-fit:cover;display:block;transition:transform .4s}
  .stcard:hover .ph img{transform:scale(1.06)}
  .stcard .ph .tag{position:absolute;left:10px;top:10px;background:rgba(12,68,124,.88);color:#fff;
    font-size:11.5px;padding:4px 10px;border-radius:20px}
  .stcard .bd{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}
  .stcard h3{font-size:15.5px;font-weight:500;line-height:1.5;margin-bottom:6px}
  .stcard h3 a{color:var(--ink)}
  .stcard:hover h3 a{color:var(--navy2)}
  .stcard .who{font-size:11.5px;color:var(--ink3);margin-bottom:9px}
  .stcard p{font-size:12.8px;color:var(--ink2);line-height:1.8;flex:1}
  .stcard .go{margin-top:12px;font-size:12.5px}
  .stcard .go a{color:var(--navy2)}

  .rvlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .rvcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}
  .rvcard .top{display:flex;align-items:center;gap:10px;margin-bottom:8px}
  .rvcard .av{width:34px;height:34px;border-radius:50%;background:var(--blue50);color:var(--navy);
    display:flex;align-items:center;justify-content:center;font-size:14px;flex:0 0 auto}
  .rvcard .who b{display:block;font-size:13.5px;font-weight:500}
  .rvcard .who span{font-size:11.5px;color:var(--ink3)}
  .rvcard .stars{color:var(--amber);font-size:12px;letter-spacing:2px;margin-bottom:7px}
  .rvcard p{font-size:13px;color:var(--ink2);line-height:1.85}

  .pnav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
  .pnav a,.pnav .dis{display:block;background:var(--bg);border:1px solid var(--line);
    border-radius:var(--radius);padding:13px 16px;font-size:12px;color:var(--ink3)}
  .pnav a span{display:block;margin-bottom:4px}
  .pnav a b{display:block;font-size:13.5px;font-weight:500;color:var(--ink);line-height:1.55}
  .pnav a:hover{border-color:var(--blue200);background:var(--blue50)}
  .pnav a:hover b{color:var(--navy2)}
  .pnav a.next{text-align:right}
  .pnav .dis{opacity:.65}
  .pnav .dis b{display:block;font-size:13px;font-weight:400;color:var(--ink3);margin-top:4px}

  .squote{margin:22px 0 4px;background:var(--blue50);border-left:3px solid var(--navy2);
    border-radius:0 8px 8px 0;padding:16px 20px;font-size:14.5px;color:var(--navy);line-height:1.9}
  .squote span{display:block;margin-top:6px;font-size:12.5px;color:var(--ink3)}

  /* ============ 登录 / 注册 / 发布 ============ */
  .auth{display:grid;grid-template-columns:1fr 372px;gap:24px;align-items:start}
  .authform{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 30px 30px}
  .authform h2{font-size:21px;font-weight:500;margin-bottom:5px}
  .authform .sub{font-size:13px;color:var(--ink3);margin-bottom:20px}
  .authform .fgrid{grid-template-columns:1fr 1fr}
  .authform .links{display:flex;justify-content:space-between;align-items:center;
                   font-size:13px;color:var(--ink2);margin-top:16px;flex-wrap:wrap;gap:10px}
  .authform .links a{color:var(--navy2)}
  .authform .tips{font-size:12px;color:var(--ink3);margin-top:14px;line-height:1.8}
  .authform .errmsg{display:none;background:#FDECEA;border:1px solid #E8B4B0;color:#C0392B;
                    border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:16px}
  .authform .errmsg.on{display:block}
  .authcode{display:flex;gap:10px;align-items:stretch}
  .authcode input{flex:1}
  .authcode img{height:42px;border:1px solid var(--line);border-radius:6px;cursor:pointer}

  .wxbox{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px;text-align:center}
  .wxbox b{display:block;font-size:16px;font-weight:500;margin-bottom:4px}
  .wxbox .tip{font-size:12.5px;color:var(--ink3);margin-bottom:14px}
  .wxbox .qrframe{width:300px;height:400px;margin:0 auto;border:1px solid var(--line);
                  border-radius:8px;overflow:hidden;background:#FAFCFE}
  .wxbox .qrframe iframe{width:100%;height:100%;border:0;display:block}
  .wxbox .off{width:300px;height:250px;margin:0 auto;border:1px dashed var(--blue200);
              border-radius:8px;background:var(--blue50);display:flex;flex-direction:column;
              align-items:center;justify-content:center;gap:8px;padding:0 22px}
  .wxbox .off i{font-style:normal;font-size:34px;opacity:.55}
  .wxbox .off p{font-size:12.5px;color:var(--ink2);line-height:1.8}
  .wxbox .btnline{margin-top:14px}
  .wxbox .btnline a{display:inline-block;background:var(--navy);color:#fff;font-size:14px;
                    padding:10px 26px;border-radius:6px}
  .wxbox .btnline a:hover{background:var(--navy2)}
  .wxbox .sectitle{font-size:12px;color:var(--ink3);letter-spacing:.08em;margin:18px 0 10px;
                   display:flex;align-items:center;gap:10px}
  .wxbox .sectitle::before,.wxbox .sectitle::after{content:"";flex:1;height:1px;background:var(--line)}
  .wxbox .whylist{text-align:left;display:grid;gap:9px}
  .wxbox .whylist div{display:flex;gap:9px;font-size:12.5px;color:var(--ink2);line-height:1.6}
  .wxbox .whylist em{flex:0 0 auto;width:18px;height:18px;border-radius:50%;background:var(--teal50);
                     color:var(--teal);font-size:11px;font-style:normal;display:flex;
                     align-items:center;justify-content:center;margin-top:2px}

  @media(max-width:1020px){
    .auth{grid-template-columns:1fr}
    .wxbox{order:-1}
  }
  @media(max-width:640px){
    .authform{padding:22px 18px 24px}
    .authform .fgrid{grid-template-columns:1fr}
    .wxbox .qrframe,.wxbox .off{width:100%}
  }

  @media(max-width:1020px){
    .stgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .rvlist{grid-template-columns:1fr}
  }
  @media(max-width:640px){
    .stgrid{grid-template-columns:1fr}
    .pnav{grid-template-columns:1fr}
    .pnav a.next{text-align:left}
    .rvcard{padding:14px 15px}
  }

  /* 单页（海葬介绍 / 关于我们 / 联系我们） */
  .pagebody{max-width:960px;margin:0 auto;padding:30px 34px}
  .pagebody .pgsec{margin-bottom:28px}
  .pagebody .pgsec:last-child{margin-bottom:0}
  .pagebody .pgsec > h2{font-size:19px;font-weight:500;color:var(--navy);margin:0 0 14px;
    padding-left:11px;border-left:3px solid var(--amber)}
  .pagebody p{font-size:14.5px;line-height:2.05;color:#3A3A37;margin-bottom:12px}
  .pagebody p:last-child{margin-bottom:0}
  .pagebody strong{color:var(--navy);font-weight:500}
  .pgcards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0 4px}
  .pgcard{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:16px 17px}
  .pgcard b{display:block;font-size:15px;font-weight:500;color:var(--navy);margin-bottom:8px}
  .pgcard p{font-size:13.5px;line-height:1.85;color:var(--ink2);margin-bottom:6px}
  .pgcard p:last-child{margin-bottom:0}
  .pghot{font-size:21px;font-weight:600;color:var(--amber700);letter-spacing:.5px}
  .pgbtn{display:inline-block;padding:10px 22px;margin:6px 12px 6px 0;background:var(--navy);color:#fff;
    border-radius:8px;font-size:14px;transition:background .18s}
  .pgbtn:hover{background:var(--navy2);color:#fff}
  .pgbtn2{background:#fff;color:var(--navy);border:1px solid var(--line)}
  .pgbtn2:hover{background:var(--blue50);color:var(--navy)}
  @media(max-width:1020px){
    .pgcards{grid-template-columns:repeat(2,minmax(0,1fr))}
    .pagebody{padding:24px 20px}
  }
  @media(max-width:640px){
    .pgcards{grid-template-columns:1fr}
  }
