:root{
  --bg:#FAF7F2;--bg-alt:#e9e3f5;--ink:#2A2A28;--ink-soft:#5A5A55;
  --brand:#6b5ba0;--brand-deep:#4a3d75;--accent:#C56A2D;--line:#d8d0e8;--card:#FFFFFF;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",-apple-system,sans-serif;background:var(--bg);color:var(--ink);line-height:1.8;font-size:16px;}
h1,h2,h3,h4{font-family:"Noto Serif SC","Songti SC",serif;color:var(--brand-deep);line-height:1.3;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;}

/* Header / Nav */
header{background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;backdrop-filter:blur(8px);}
.nav{max-width:1180px;margin:0 auto;padding:18px 32px;display:flex;justify-content:space-between;align-items:center;}
.logo{display:inline-flex;align-items:center;height:56px;padding:0;letter-spacing:0;}
.logo img{height:56px;width:auto;max-width:140px;max-height:56px;object-fit:contain;display:block;}
.nav-breadcrumb{font-size:15px;font-weight:700;color:#fff;background:#6b5ba0;padding:4px 12px;border-radius:4px;}
.nav-breadcrumb a{color:#fff;}
.nav-breadcrumb a:hover{color:#E8E0D0;}
.nav-links{display:flex;gap:32px;font-size:15px;}
.nav-links a{padding:4px 0;border-bottom:2px solid transparent;}
.nav-links a.active{border-bottom-color:var(--brand);color:var(--brand-deep);font-weight:600;}
.nav-links a:hover{border-bottom-color:var(--brand);}
.nav-cta{background:var(--brand);color:#fff !important;padding:8px 18px !important;border-radius:4px;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px 10px;font-size:26px;line-height:1;color:#4a3d75;}

/* Article hero */
.article-hero{padding:56px 32px 40px;text-align:center;background:linear-gradient(180deg,#FAF7F2 0%,#ede5f5 100%);}
.article-hero .eyebrow,.eyebrow{font-size:13px;color:var(--accent);letter-spacing:3px;text-transform:uppercase;margin-bottom:14px;display:inline-block;}
.section-tag{display:inline-block;background:var(--bg-alt);color:var(--brand-deep);font-size:12px;letter-spacing:1px;padding:5px 14px;border-radius:20px;margin-bottom:16px;}
.article-hero h1{font-size:30px;margin:0 auto 14px;max-width:820px;}
.article-meta{font-size:13px;color:var(--ink-soft);}
.lead{color:var(--ink-soft);font-size:16px;margin:12px 0 0;}

/* Article body */
.article-body{max-width:780px;margin:0 auto;padding:48px 24px 24px;}
.article-body p{margin-bottom:18px;color:var(--ink);}
.article-body h2,.article-body h3,.part-title{font-size:21px;color:var(--brand-deep);margin:34px 0 16px;padding-bottom:10px;border-bottom:2px solid var(--bg-alt);}
.part-title{font-family:"Noto Serif SC","Songti SC",serif;font-weight:700;}
.article-body strong{color:var(--brand-deep);}
.article-body img{display:block;width:100%;height:auto;margin:22px auto;border-radius:8px;box-shadow:0 4px 18px rgba(74,61,117,.08);}
.article-body ul,.article-body ol{margin:0 0 18px 22px;}
.article-body li{margin-bottom:8px;}
.lit-line{background:rgba(107,91,160,.06);border-left:3px solid var(--brand);padding:14px 18px;border-radius:0 6px 6px 0;font-size:14px;color:var(--ink-soft);line-height:1.7;margin:18px 0;}
.lit-line strong{color:var(--brand-deep);}

/* two-column + gallery */
.col-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:18px 0;}
@media(max-width:768px){.col-2{grid-template-columns:1fr;}}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:22px 0;}
@media(max-width:640px){.gallery{grid-template-columns:1fr;}}
.gallery img{margin:0;}

/* review cards */
.review-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px 26px;margin-bottom:18px;}
.review-user{font-weight:600;color:var(--brand-deep);font-size:15px;margin-bottom:4px;}
.review-date{font-size:12px;color:var(--ink-soft);margin-bottom:12px;}
.review-text{font-size:15px;color:var(--ink);line-height:1.8;}

/* disclaimer + end nav */
.disclaimer{max-width:780px;margin:8px auto 0;padding:16px 24px;background:rgba(107,91,160,.06);border-radius:8px;font-size:13px;color:var(--ink-soft);line-height:1.75;}
.article-end{max-width:780px;margin:34px auto 0;padding:0 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.nav-back{max-width:780px;margin:24px auto 0;padding:0 24px;display:flex;flex-wrap:wrap;gap:16px 36px;font-size:15px;}
.nav-back a{color:var(--brand);}
.nav-back a:hover{text-decoration:underline;}
.btn{display:inline-block;padding:12px 26px;border-radius:6px;font-size:15px;border:1px solid transparent;cursor:pointer;transition:all .2s;font-weight:600;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:#B05822;}
.btn-outline{background:transparent;border-color:var(--brand);color:var(--brand);}
.btn-outline:hover{background:var(--brand);color:#fff;}

/* footer */
footer{background:var(--brand-deep);color:#E8E0D0;text-align:center;padding:48px 32px 36px;margin-top:56px;}
.footer-inner h4{color:#fff;font-size:20px;margin-bottom:8px;letter-spacing:1px;}
.footer-bottom{margin-top:24px;font-size:12px;color:#9a93b8;line-height:1.9;}

/* QR modal */
.qr-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:1000;align-items:center;justify-content:center;padding:20px;}
.qr-modal.open{display:flex;}
.qr-modal-card{background:#fff;border-radius:16px;max-width:720px;width:100%;padding:36px 40px 40px;position:relative;box-shadow:0 24px 56px rgba(0,0,0,0.2);}
.qr-modal-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border:none;background:none;font-size:22px;cursor:pointer;color:#5A5A55;border-radius:50%;line-height:30px;}
.qr-modal-close:hover{background:rgba(0,0,0,0.05);color:#2A2A28;}
.qr-modal h3{font-size:22px;margin-bottom:6px;text-align:center;color:#4a3d75;}
.qr-modal-sub{font-size:14px;color:#5A5A55;margin-bottom:24px;text-align:center;}
.qr-grid{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;justify-content:space-between !important;align-items:flex-start !important;gap:12px !important;}
.qr-item{flex:1 1 0;min-width:0;text-align:center;}
.qr-item img{width:100%;max-width:180px;height:auto;display:block;margin:0 auto;border-radius:8px;border:1px solid var(--line);}
.qr-item-name{margin-top:8px;font-size:14px;color:var(--ink);letter-spacing:1px;}

/* mobile */
@media(max-width:768px){
  .nav{flex-wrap:wrap;position:relative;padding:14px 20px;}
  .nav-breadcrumb{display:none;}
  .nav-toggle{display:block;}
  .nav-links{display:none !important;width:100%;flex-direction:column !important;gap:0 !important;background:#FAF7F2;border-top:1px solid #d8d0e8;margin-top:14px;padding:6px 0 14px;}
  .nav-links.open{display:flex !important;}
  .nav-links a{padding:9px 6px !important;border-bottom:1px solid #ede5f5 !important;width:100%;font-size:14px;line-height:1.5;}
  .nav-links a:last-child{border-bottom:none !important;}
  .nav-links a.nav-cta{background:#6b5ba0 !important;color:#fff !important;border-radius:0 !important;margin-top:0 !important;text-align:left !important;padding:9px 6px !important;font-size:14px !important;}
  .article-hero{padding:40px 20px 28px;}
  .article-hero h1{font-size:23px;}
  .article-body{padding:32px 16px 20px;}
  .qr-modal-card{padding:22px 14px 18px;border-radius:12px;}
  .qr-modal h3{font-size:18px;}
}
