/* =========================================================================
   个人品牌咨询站 · 全站样式表
   -------------------------------------------------------------------------
   设计语言：米浅黄纸感底 + 紫苏蜡笔插画 + 淡紫与鼠尾草绿
   零外部依赖：不加载任何 CDN 字体、图标库或框架

   想换配色？只改下面第 1 节 :root 里的变量即可，全站自动跟随。
   ========================================================================= */


/* ---------- 1. 设计变量（Design Tokens） ---------- */
:root{
  /* 品牌强调色 */
  --brand:#E8DDEC;
  --accent:#804E83;
  --accent-hover:#58415D;
  --accent-soft:#AB8AAF;
  --accent-deep:#614666;
  --accent-wash:#F0E7EF;
  --accent-line:#D5C5D6;
  --leaf:#68734F;
  --leaf-wash:#E7EAD9;

  /* 文字 */
  --ink-strong:#49394F;
  --ink-title:#54435A;
  --ink-body:#55514B;
  --ink-muted:#716A61;
  --ink-faint:#797267;
  --btn-label:#FFF9E9;

  /* 背景 */
  --bg-page:#FFF8DF;
  --bg-card:#FCF7E8;
  --bg-tint:#EEEBD9;
  --bg-dark:#65506B;
  --bg-arch:#E8DDEC;

  /* 线条 / 圆角 / 阴影 */
  --border:rgba(105,83,106,.24);
  --border-soft:rgba(105,83,106,.15);
  --radius-btn:18px 15px 20px 14px;
  --radius-card:26px 21px 28px 19px;
  --radius-lg:32px 25px 36px 22px;
  --radius-pill:999px;
  --shadow-1:none;
  --shadow-2:none;
  --shadow-3:none;

  /* 排版 */
  --font-serif:"KaiTi","STKaiti","Kaiti SC","Noto Serif SC","Songti SC",Georgia,serif;
  --font-sans:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;

  /* 布局 */
  --container:1120px;
  --container-narrow:820px;
  --gutter:20px;
  --section-y:88px;
}


/* ---------- 2. 基础重置 ---------- */
*,*::before,*::after{box-sizing:border-box}

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:96px;
}

body{
  margin:0;
  background-color:var(--bg-page);
  /* 极淡的纸面颗粒，避免大面积纯色显得平板 */
  background-image:
    radial-gradient(circle at 18% 12%, rgba(241,232,214,.55), transparent 42%),
    radial-gradient(circle at 84% 6%, rgba(232,214,196,.40), transparent 38%);
  background-repeat:no-repeat;
  color:var(--ink-body);
  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.85;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img,svg,video{max-width:100%;height:auto;display:block}

a{color:var(--accent-deep);text-decoration:none}
a:hover{color:var(--accent-hover)}

h1,h2,h3,h4{
  font-family:var(--font-serif);
  color:var(--ink-strong);
  line-height:1.35;
  letter-spacing:.02em;
  margin:0 0 16px;
  font-weight:700;
}
h1{font-size:clamp(30px,4.4vw,50px);line-height:1.26;letter-spacing:.03em;font-weight:800}
h2{font-size:clamp(24px,2.9vw,33px);font-weight:800}
h3{font-size:clamp(18px,2vw,21px)}
h4{font-size:17px}

p{margin:0 0 16px}
ul,ol{margin:0 0 16px;padding-left:1.25em}
li{margin-bottom:.4em}

hr{border:0;border-top:1px solid var(--border);margin:40px 0}

code{
  font-family:"Cascadia Mono",Consolas,monospace;
  font-size:.9em;
  background:var(--bg-tint);
  border-radius:4px;
  padding:.1em .4em;
}

:focus-visible{
  outline:3px solid var(--accent-soft);
  outline-offset:2px;
  border-radius:4px;
}

::selection{background:var(--accent);color:var(--btn-label)}


/* ---------- 3. 通用组件 ---------- */
.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--gutter);
}
.container--narrow{max-width:var(--container-narrow)}

.section{padding:var(--section-y) 0}
.section--tight{padding:56px 0}
.section--tint{background:var(--bg-tint);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}
.section--dark{background:var(--bg-dark);color:#E7E2DA}

.section-head{text-align:center;max-width:720px;margin:0 auto 46px}
.section-head h2{margin-bottom:14px}
.section-head p{color:var(--ink-muted);font-size:15.5px;margin:0}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--font-sans);
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent-deep);
  margin-bottom:16px;
}
.eyebrow::before{
  content:"";
  width:22px;
  height:1px;
  background:var(--accent-soft);
}
.section-head .eyebrow{justify-content:center}

.pill{
  display:inline-block;
  font-size:13px;
  line-height:1.5;
  color:var(--accent-deep);
  background:var(--accent-wash);
  border:1px solid var(--accent-line);
  border-radius:var(--radius-pill);
  padding:5px 14px;
  white-space:nowrap;
}

.tag{
  display:inline-block;
  font-size:12px;
  letter-spacing:.08em;
  color:var(--ink-muted);
  border-bottom:1px solid var(--accent-line);
  padding-bottom:2px;
}

/* 按钮 */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-family:var(--font-sans);
  font-size:15.5px;
  font-weight:600;
  line-height:1.4;
  padding:14px 30px;
  border-radius:var(--radius-btn);
  border:1px solid transparent;
  cursor:pointer;
  text-align:center;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn--primary{
  background:var(--accent);
  border-color:var(--accent);
  color:var(--btn-label);
  box-shadow:0 4px 14px rgba(168,95,73,.22);
}
.btn--primary:hover{
  background:var(--accent-hover);
  border-color:var(--accent-hover);
  color:var(--btn-label);
  box-shadow:0 8px 22px rgba(168,95,73,.28);
}
.btn--ghost{
  background:var(--bg-card);
  border-color:var(--accent);
  color:var(--accent);
}
.btn--ghost:hover{background:var(--accent);color:var(--btn-label)}
.btn--plain{
  background:transparent;
  border-color:var(--border);
  color:var(--ink-body);
}
.btn--plain:hover{border-color:var(--accent);color:var(--accent-deep)}
.btn--light{background:var(--btn-label);color:var(--accent-deep);border-color:var(--btn-label)}
.btn--light:hover{background:#fff;color:var(--accent-hover)}
.btn--sm{padding:10px 20px;font-size:14px}
.btn--block{width:100%}

/* 卡片 */
.card{
  background:var(--bg-card);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-card);
  padding:28px 26px;
  box-shadow:var(--shadow-1);
}

.grid{display:grid;gap:22px}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid--auto{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}

.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--accent);color:var(--btn-label);
  padding:12px 20px;border-radius:0 0 var(--radius-btn) 0;
}
.skip-link:focus{left:0}

.text-center{text-align:center}
.muted{color:var(--ink-muted)}
.small{font-size:14px}
.mb-0{margin-bottom:0}
.mt-32{margin-top:32px}


/* ---------- 4. 顶部提示条 ---------- */
.notice{
  background:var(--bg-dark);
  color:#DCD6CC;
  font-size:13.5px;
  line-height:1.6;
  position:relative;
  z-index:60;
}
.notice__inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:42px;
  padding:8px 44px 8px 0;
  text-align:center;
}
.notice a{color:#F1E8D6;border-bottom:1px solid rgba(241,232,214,.45)}
.notice a:hover{color:#fff}
.notice__close{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  width:28px;height:28px;
  display:grid;place-items:center;
  background:transparent;border:0;cursor:pointer;
  color:#B8B1A6;font-size:18px;line-height:1;
  border-radius:6px;
}
.notice__close:hover{color:#fff;background:rgba(255,255,255,.08)}
.notice[hidden]{display:none}


/* ---------- 5. 页头与导航 ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid var(--border-soft);
  box-shadow:0 1px 8px rgba(41,42,37,.04);
  transition:box-shadow .2s ease;
}
.site-header.is-stuck{box-shadow:0 4px 18px rgba(41,42,37,.08)}

.site-header__inner{
  display:flex;
  align-items:center;
  gap:18px;
  min-height:68px;
}

.brand{
  display:inline-flex;
  align-items:center;
  gap:11px;
  flex:0 0 auto;
  color:var(--ink-strong);
}
.brand:hover{color:var(--accent-deep)}
.brand__mark{width:34px;height:34px;flex:0 0 auto}
.brand__text{display:flex;flex-direction:column;line-height:1.25}
.brand__name{font-family:var(--font-serif);font-size:17px;font-weight:700;letter-spacing:.06em}
.brand__sub{font-size:11px;letter-spacing:.14em;color:var(--ink-faint)}

.nav{margin-left:auto}
.nav__list{
  display:flex;
  align-items:center;
  gap:6px;
  list-style:none;
  margin:0;padding:0;
}
.nav__list li{margin:0}
.nav__link{
  display:block;
  padding:9px 13px;
  border-radius:8px;
  font-size:14.5px;
  font-weight:500;
  color:var(--ink-body);
  white-space:nowrap;
  transition:background-color .16s ease,color .16s ease;
}
.nav__link:hover{background:var(--bg-tint);color:var(--accent-deep)}
.nav__link[aria-current="page"]{color:var(--accent-deep);font-weight:700}
.nav__cta{margin-left:8px}

.nav-toggle{
  display:none;
  margin-left:auto;
  width:44px;height:44px;
  align-items:center;justify-content:center;
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:10px;
  cursor:pointer;
  color:var(--ink-title);
}
.nav-toggle__bars{position:relative;width:20px;height:14px}
.nav-toggle__bars span{
  position:absolute;left:0;width:100%;height:2px;
  background:currentColor;border-radius:2px;
  transition:transform .22s ease,opacity .22s ease;
}
.nav-toggle__bars span:nth-child(1){top:0}
.nav-toggle__bars span:nth-child(2){top:6px}
.nav-toggle__bars span:nth-child(3){top:12px}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}


/* ---------- 6. 首屏 ---------- */
.hero{
  position:relative;
  overflow:hidden;
  padding:72px 0 64px;
}
.hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  gap:56px;
  align-items:center;
}
.hero h1{
  margin-bottom:14px;
  font-size:clamp(30px,3.9vw,46px);
  text-wrap:balance;
}
.hero__lead{
  font-family:var(--font-serif);
  font-size:clamp(18px,2.1vw,23px);
  font-weight:700;
  line-height:1.6;
  color:var(--ink-title);
  margin:0 0 18px;
}
.hero__sub{font-size:17px;line-height:1.85;color:var(--ink-body);margin:0 0 14px}
.hero__note{font-size:13.5px;line-height:1.85;color:var(--ink-muted);margin:0 0 22px}
.hero__tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.hero__price{
  font-family:var(--font-sans);
  font-size:13.5px;
  color:var(--ink-muted);
}

/* 首屏视觉：照片 + 拱形装饰 + 浮动数据卡 */
.hero__visual{position:relative;display:flex;justify-content:center}
.hero__arch{
  position:absolute;
  right:-8%;
  bottom:-6%;
  width:62%;
  opacity:.75;
  pointer-events:none;
  z-index:0;
}
.hero__photo{
  position:relative;
  z-index:1;
  width:100%;
  max-width:400px;
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid var(--border-soft);
  background:var(--bg-card);
  box-shadow:var(--shadow-3);
}
.hero__photo img{width:100%;aspect-ratio:3/4;object-fit:cover}
.hero__badge{
  position:absolute;
  z-index:2;
  left:-26px;
  bottom:34px;
  background:var(--bg-card);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-card);
  padding:14px 18px;
  box-shadow:var(--shadow-2);
  min-width:172px;
}
.hero__badge strong{
  display:block;
  font-family:var(--font-serif);
  font-size:20px;
  color:var(--ink-strong);
  line-height:1.3;
}
.hero__badge span{font-size:12px;color:var(--ink-muted)}


/* ---------- 7. 信任数据条 ---------- */
.trust{
  border-top:1px solid var(--border-soft);
  border-bottom:1px solid var(--border-soft);
  background:rgba(255,255,255,.6);
}
.trust__inner{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px 26px;
  padding:26px 0;
}
.trust__item{display:flex;align-items:center;gap:12px;min-width:0}
.trust__ico{flex:0 0 auto;width:26px;height:26px;color:var(--accent)}
.trust__ico svg{width:100%;height:100%}
.trust__txt{display:flex;flex-direction:column;min-width:0}
.trust__v{
  font-family:var(--font-serif);
  font-size:20px;
  font-weight:700;
  line-height:1.25;
  color:var(--ink-strong);
}
.trust__l{font-size:12.5px;color:var(--ink-muted);line-height:1.5}
.trust__link{color:var(--accent-deep);font-weight:600;font-size:12.5px}
.trust__link::after{content:" \203A"}


/* ---------- 8. 关于我 ---------- */
.persona__grid{
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
  gap:52px;
  align-items:start;
}
.persona__photo{
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid var(--border-soft);
  box-shadow:var(--shadow-2);
  background:var(--bg-card);
}
.persona__photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.persona__caption{
  font-size:12.5px;
  color:var(--ink-faint);
  margin:12px 0 0;
  text-align:center;
}
.persona__body p{font-size:15.5px;line-height:2;color:var(--ink-body)}
.persona__sign{
  font-family:var(--font-serif);
  font-size:16px;
  font-weight:700;
  color:var(--accent-deep);
  margin-top:6px;
}


/* ---------- 9. 方法论 ---------- */
.method__card{
  background:var(--bg-card);
  border:1px solid var(--border-soft);
  border-top:3px solid var(--accent);
  border-radius:var(--radius-card);
  padding:28px 26px;
  box-shadow:var(--shadow-1);
  transition:transform .2s ease,box-shadow .2s ease;
}
.method__card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}
.method__k{
  display:block;
  font-family:var(--font-serif);
  font-size:20px;
  font-weight:800;
  letter-spacing:.12em;
  color:var(--accent-deep);
  margin-bottom:12px;
}
.method__card p{font-size:14.5px;line-height:1.85;color:var(--ink-body);margin:0}

.flow{margin-top:44px;text-align:center}
.flow__label{display:block;font-size:13px;letter-spacing:.14em;color:var(--ink-muted);margin-bottom:16px}
.flow__track{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.flow__step{
  background:var(--accent-wash);
  border:1px solid var(--accent-line);
  color:var(--accent-deep);
  font-size:15.5px;
  font-weight:700;
  padding:10px 24px;
  border-radius:9px;
}
.flow__arrow{color:var(--accent-soft);font-size:18px;font-style:normal;line-height:1}
.flow__foot{
  max-width:660px;
  margin:34px auto 0;
  font-size:15px;
  font-weight:600;
  line-height:1.8;
  color:var(--ink-title);
}


/* ---------- 10. 适合谁 / 不适合谁 ---------- */
.fit__col{
  background:var(--bg-card);
  border:1px solid var(--border-soft);
  border-left:4px solid var(--border);
  border-radius:var(--radius-card);
  padding:28px 26px;
}
.fit__col--yes{border-left-color:var(--accent)}
.fit__h{
  display:flex;
  align-items:center;
  gap:9px;
  font-family:var(--font-serif);
  font-size:18.5px;
  font-weight:800;
  margin-bottom:14px;
  color:var(--ink-strong);
}
.fit__col--yes .fit__h{color:var(--accent-deep)}
.fit__col p{font-size:15px;line-height:1.9;margin:0;color:var(--ink-body)}

.cta-band{
  margin-top:40px;
  background:var(--bg-card);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  padding:34px 36px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  box-shadow:var(--shadow-1);
}
.cta-band__text{max-width:620px}
.cta-band__text strong{
  display:block;
  font-family:var(--font-serif);
  font-size:19px;
  color:var(--ink-strong);
  margin-bottom:6px;
}
.cta-band__text span{font-size:14.5px;color:var(--ink-muted)}


/* ---------- 11. 客户评价 ---------- */
.review{
  display:flex;
  flex-direction:column;
  background:var(--bg-card);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-card);
  padding:26px 24px;
  box-shadow:var(--shadow-1);
  transition:transform .2s ease,box-shadow .2s ease;
}
.review:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}
.review__stars{
  color:var(--accent-soft);
  font-size:14px;
  letter-spacing:.18em;
  margin-bottom:12px;
}
.review__title{
  font-family:var(--font-serif);
  font-size:16.5px;
  font-weight:700;
  color:var(--ink-strong);
  margin:0 0 10px;
}
.review__body{font-size:14.5px;line-height:1.9;color:var(--ink-body);margin:0 0 18px;flex:1}
.review__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-top:14px;
  border-top:1px solid var(--border-soft);
  font-size:13px;
  color:var(--ink-muted);
}
.review__source{
  font-size:11.5px;
  letter-spacing:.06em;
  color:var(--ink-faint);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-pill);
  padding:2px 10px;
}


/* ---------- 12. 服务与定价 ---------- */
.plans{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:stretch}
.plan{
  position:relative;
  display:flex;
  flex-direction:column;
  background:var(--bg-card);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  padding:34px 32px;
  box-shadow:var(--shadow-1);
  transition:transform .2s ease,box-shadow .2s ease;
}
.plan:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}
.plan--featured{
  border:1.5px solid var(--accent);
  box-shadow:0 8px 30px rgba(168,95,73,.14);
}
.plan__badge{
  position:absolute;
  top:-13px;
  left:32px;
  background:var(--accent);
  color:var(--btn-label);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  padding:4px 14px;
  border-radius:var(--radius-pill);
}
.plan__name{
  font-family:var(--font-serif);
  font-size:22px;
  font-weight:800;
  color:var(--ink-strong);
  margin:0 0 10px;
}
.plan__price{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin:0 0 6px;
}
.plan__price strong{
  font-family:var(--font-serif);
  font-size:34px;
  font-weight:800;
  color:var(--accent-deep);
  line-height:1.1;
}
.plan__price span{font-size:14px;color:var(--ink-muted)}
.plan__desc{font-size:14.5px;color:var(--ink-muted);margin:0 0 22px}
.plan__list{list-style:none;margin:0 0 26px;padding:0;flex:1}
.plan__list li{
  position:relative;
  padding-left:22px;
  margin-bottom:12px;
  font-size:14.5px;
  line-height:1.8;
}
.plan__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:9px;height:9px;
  border-radius:2px;
  background:var(--accent-soft);
  opacity:.75;
}
.plan__list dt{
  font-weight:700;
  color:var(--accent-deep);
  font-size:13.5px;
  letter-spacing:.04em;
}
.plan__note{
  margin:18px 0 0;
  padding-top:16px;
  border-top:1px solid var(--border-soft);
  font-size:13px;
  color:var(--ink-muted);
  text-align:center;
}

.plans__help{
  margin-top:30px;
  text-align:center;
  font-size:14.5px;
  color:var(--ink-muted);
}


/* ---------- 13. 服务边界 ---------- */
.boundary__col{
  background:var(--bg-card);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-card);
  padding:30px 28px;
}
.boundary__h{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-serif);
  font-size:19px;
  font-weight:800;
  margin:0 0 18px;
  color:var(--ink-strong);
}
.boundary__col--do .boundary__h{color:var(--accent-deep)}
.boundary__list{list-style:none;margin:0;padding:0}
.boundary__list li{
  position:relative;
  padding-left:28px;
  margin-bottom:13px;
  font-size:14.5px;
  line-height:1.85;
}
.boundary__list li::before{
  position:absolute;
  left:0;top:.15em;
  font-size:14px;
  font-weight:700;
}
.boundary__col--do .boundary__list li::before{content:"\2713";color:var(--accent)}
.boundary__col--dont .boundary__list li::before{content:"\2715";color:var(--ink-faint)}


/* ---------- 14. 文章列表 ---------- */
.post-card{
  display:flex;
  flex-direction:column;
  background:var(--bg-card);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-card);
  padding:26px 24px;
  box-shadow:var(--shadow-1);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.post-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:var(--accent-line)}
.post-card__cat{
  font-size:12px;
  letter-spacing:.08em;
  color:var(--accent-deep);
  margin-bottom:10px;
}
.post-card__title{
  font-family:var(--font-serif);
  font-size:17.5px;
  font-weight:700;
  line-height:1.55;
  margin:0 0 12px;
}
.post-card__title a{color:var(--ink-strong)}
.post-card__title a:hover{color:var(--accent-hover)}
.post-card__excerpt{font-size:14px;line-height:1.85;color:var(--ink-muted);margin:0 0 16px;flex:1}
.post-card__foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:12.5px;
  color:var(--ink-faint);
  padding-top:14px;
  border-top:1px solid var(--border-soft);
}


/* ---------- 15. 常见问题 ---------- */
.faq{max-width:820px;margin:0 auto}
.faq__item{
  background:var(--bg-card);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-card);
  margin-bottom:14px;
  overflow:hidden;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.faq__item[open]{border-color:var(--accent-line);box-shadow:var(--shadow-2)}
.faq__q{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:20px 24px;
  cursor:pointer;
  list-style:none;
  font-family:var(--font-serif);
  font-size:16.5px;
  font-weight:700;
  color:var(--ink-strong);
  line-height:1.6;
}
.faq__q::-webkit-details-marker{display:none}
.faq__q::after{
  content:"+";
  flex:0 0 auto;
  font-family:var(--font-sans);
  font-size:22px;
  font-weight:400;
  line-height:1;
  color:var(--accent);
  transition:transform .22s ease;
}
.faq__item[open] .faq__q::after{content:"\2212";transform:rotate(180deg)}
.faq__a{padding:0 24px 22px;font-size:14.5px;line-height:1.95;color:var(--ink-body)}
.faq__a p:last-child{margin-bottom:0}


/* ---------- 16. 结尾行动区 ---------- */
.closing{
  background:var(--bg-dark);
  color:#DDD7CD;
  padding:76px 0;
  text-align:center;
  border-top:1px solid rgba(255,255,255,.06);
}
.closing h2{color:#FBF8F3;margin-bottom:16px}
.closing p{color:#B7B0A4;font-size:15.5px;max-width:620px;margin:0 auto 12px}
.closing__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px;
  margin-top:30px;
}
.closing__links{
  margin-top:26px;
  font-size:14px;
  color:#9C9488;
}
.closing__links a{color:#E3DCCF;border-bottom:1px solid rgba(227,220,207,.35)}
.closing__links a:hover{color:#fff;border-bottom-color:#fff}


/* ---------- 17. 页脚 ---------- */
.site-footer{
  background:var(--bg-card);
  border-top:1px solid var(--border-soft);
  padding:56px 0 28px;
}
.footer__grid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));
  gap:34px;
  padding-bottom:34px;
  border-bottom:1px solid var(--border-soft);
}
.footer__about p{font-size:14px;color:var(--ink-muted);line-height:1.9;max-width:320px;margin:14px 0 0}
.footer__title{
  font-family:var(--font-sans);
  font-size:12.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink-faint);
  margin:0 0 14px;
}
.footer__list{list-style:none;margin:0;padding:0}
.footer__list li{margin-bottom:9px}
.footer__list a{font-size:14px;color:var(--ink-body)}
.footer__list a:hover{color:var(--accent-deep)}
.footer__bottom{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:22px;
  font-size:12.5px;
  color:var(--ink-faint);
}
.footer__bottom a{color:var(--ink-muted)}
.footer__bottom a:hover{color:var(--accent-deep)}

.socials{display:flex;gap:10px;margin-top:16px}
.socials a{
  display:grid;
  place-items:center;
  width:38px;height:38px;
  border:1px solid var(--border);
  border-radius:10px;
  color:var(--ink-muted);
  transition:border-color .18s ease,color .18s ease,background-color .18s ease;
}
.socials a:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-wash)}
.socials svg{width:18px;height:18px}

/* 移动端底部固定行动条 */
.action-bar{
  display:none;
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:55;
  background:rgba(255,255,255,.97);
  border-top:1px solid var(--border-soft);
  box-shadow:0 -4px 18px rgba(41,42,37,.08);
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  gap:10px;
}
.action-bar .btn{flex:1}


/* ---------- 18. 子页面首屏 ---------- */
.page-hero{
  padding:60px 0 46px;
  border-bottom:1px solid var(--border-soft);
  background:linear-gradient(180deg,rgba(241,232,214,.55),rgba(250,247,242,0));
}
.page-hero__inner{max-width:780px}
.page-hero h1{font-size:clamp(27px,3.6vw,40px);margin-bottom:14px}
.page-hero p{font-size:16.5px;color:var(--ink-muted);margin:0}

.breadcrumb{
  font-size:13px;
  color:var(--ink-faint);
  margin-bottom:18px;
}
.breadcrumb a{color:var(--ink-muted)}
.breadcrumb span{margin:0 6px}


/* ---------- 19. 长文排版 ---------- */
.prose{max-width:760px}
.prose h2{margin-top:44px;font-size:clamp(21px,2.4vw,26px)}
.prose h3{margin-top:32px}
.prose p,.prose li{font-size:16px;line-height:2;color:var(--ink-body)}
.prose blockquote{
  margin:28px 0;
  padding:20px 24px;
  background:var(--accent-wash);
  border-left:4px solid var(--accent);
  border-radius:0 var(--radius-card) var(--radius-card) 0;
}
.prose blockquote p{margin:0;font-size:15.5px;color:var(--accent-deep)}
.prose img{border-radius:var(--radius-card);margin:28px 0}
.prose table{width:100%;border-collapse:collapse;margin:28px 0;font-size:14.5px}
.prose th,.prose td{border:1px solid var(--border);padding:10px 14px;text-align:left}
.prose th{background:var(--bg-tint);font-weight:700;color:var(--ink-strong)}

.answer-box{
  background:var(--bg-card);
  border:1px solid var(--accent-line);
  border-radius:var(--radius-card);
  padding:24px 26px;
  margin:0 0 32px;
  box-shadow:var(--shadow-1);
}
.answer-box__label{
  display:block;
  font-size:12px;
  letter-spacing:.14em;
  color:var(--accent-deep);
  margin-bottom:8px;
}
.answer-box p{margin:0;font-size:15.5px;line-height:1.95;color:var(--ink-title)}


/* ---------- 20. 表单 ---------- */
.form{display:grid;gap:18px;max-width:620px}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font-size:14px;font-weight:600;color:var(--ink-title)}
.field .hint{font-size:12.5px;color:var(--ink-faint)}
.field input,.field select,.field textarea{
  font-family:inherit;
  font-size:15px;
  color:var(--ink-body);
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius-btn);
  padding:12px 14px;
  width:100%;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.field textarea{min-height:140px;resize:vertical;line-height:1.8}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(168,95,73,.14);
}
.field--row{flex-direction:row;align-items:flex-start;gap:10px}
.field--row input{width:auto;margin-top:.3em}
.field--row label{font-weight:400;font-size:14px;color:var(--ink-body)}


/* ---------- 21. 滚动入场动画 ---------- */
html.js .reveal{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .65s cubic-bezier(.22,.61,.36,1),transform .65s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;
}
html.js .reveal.is-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.js .reveal{opacity:1;transform:none;transition:none}
  *{animation-duration:.001ms !important;transition-duration:.001ms !important}
}


/* ---------- 22. 响应式 ---------- */
@media (max-width:1024px){
  :root{--section-y:68px}
  .hero{padding:56px 0 52px}
  .hero__grid{gap:40px}
  .persona__grid{grid-template-columns:260px minmax(0,1fr);gap:36px}
  .trust__inner{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
}

@media (max-width:860px){
  /* 导航折叠 */
  .nav-toggle{display:inline-flex}
  .nav{
    position:absolute;
    left:0;right:0;
    top:100%;
    margin:0;
    background:var(--bg-card);
    border-bottom:1px solid var(--border-soft);
    box-shadow:0 12px 28px rgba(41,42,37,.10);
    display:none;
  }
  .nav.is-open{display:block}
  .nav__list{flex-direction:column;align-items:stretch;gap:0;padding:10px 16px 18px}
  .nav__link{padding:13px 10px;font-size:15.5px;border-radius:8px}
  .nav__cta{margin:10px 0 0}
  .nav__cta .btn{width:100%}

  .hero__grid{grid-template-columns:1fr;gap:44px}
  .hero__visual{order:-1}
  .hero__photo{max-width:320px}
  .hero__badge{left:auto;right:-10px;bottom:-14px;padding:12px 15px;min-width:150px}

  .grid--2,.grid--3,.grid--4{grid-template-columns:1fr}
  .persona__grid{grid-template-columns:1fr;gap:28px}
  .persona__photo{max-width:260px;margin:0 auto}

  .cta-band{flex-direction:column;align-items:flex-start;padding:28px 24px}
  .footer__grid{grid-template-columns:1fr;gap:26px}
  .footer__bottom{flex-direction:column;align-items:flex-start;text-align:left}

  .action-bar{display:flex}
  body{/* 给底部固定条留出空间 */padding-bottom:0}
  body.has-action-bar{padding-bottom:76px}
}

@media (max-width:560px){
  :root{--gutter:16px;--section-y:56px}
  body{font-size:15.5px;line-height:1.85}
  .hero{padding:42px 0 44px}
  .hero h1{letter-spacing:.01em}
  .hero__actions{flex-direction:column;align-items:stretch}
  .hero__actions .btn{width:100%}
  .hero__badge{position:static;margin-top:16px;width:100%;min-width:0}
  .trust__inner{grid-template-columns:1fr;gap:14px;padding:22px 0}
  .notice__inner{font-size:12.5px;padding-right:40px}
  .card,.method__card,.review,.post-card,.boundary__col,.plan{padding:22px 20px}
  .plan--featured{padding-top:30px}
  .flow__track{gap:8px}
  .flow__step{padding:9px 16px;font-size:14.5px}
  .brand__sub{display:none}
  .closing{padding:58px 0}
}


/* ---------- 23. 紫苏绘本主题 ---------- */
body{background-image:url('../img/paper-grain.svg');background-repeat:repeat}
.site-header,.site-header.is-stuck{
  background:rgba(255,248,223,.97) url('../img/paper-grain.svg');box-shadow:none;backdrop-filter:none;
}
.notice{background:var(--leaf-wash);color:var(--leaf)}
.notice a,.notice a:hover{color:var(--accent-deep);border-color:var(--accent-soft)}
.notice__close,.notice__close:hover{color:var(--accent-deep)}
.brand__mark{width:39px;height:39px}
.eyebrow{color:var(--leaf);letter-spacing:.12em}
.eyebrow::before{
  width:19px;height:12px;border-radius:80% 8% 75% 10%;
  background:var(--leaf) url('../img/paper-grain.svg');transform:rotate(-24deg);
}
.btn,.btn--primary,.btn--primary:hover,.plan--featured{box-shadow:none}
.btn--primary,.plan__badge{background-image:url('../img/paper-grain.svg')}
.btn--ghost{background:var(--leaf-wash);border-color:transparent;color:var(--leaf)}
.btn--ghost:hover{background:var(--leaf);color:var(--btn-label)}
.btn--plain{border-style:dashed}
.pill{border:0;background:var(--accent-wash)}
.pill:nth-child(even){background:var(--leaf-wash);color:#56613F}
.hero{padding-top:54px;padding-bottom:64px}
.hero__grid{gap:40px}
.hero__copy{position:relative;z-index:1}
.hero h1{font-weight:700;line-height:1.4}
.hero__lead{font-weight:500}
.hero__visual{display:block;min-width:0}
.hero__photo{
  margin:0 auto;max-width:430px;border:0;border-radius:36px 24px 42px 28px;
  background:transparent;transform:rotate(2deg);
}
.hero__photo img,.persona__photo img{height:auto;aspect-ratio:auto;object-fit:contain;mix-blend-mode:multiply}
.hero__badge{
  position:relative;left:auto;right:auto;bottom:auto;max-width:280px;min-width:0;
  margin:12px auto 0;text-align:center;border:1px dashed var(--accent-line);
  background:var(--accent-wash);transform:rotate(-2deg);
}
.hero__badge strong{font-weight:500}
.trust{background:var(--leaf-wash) url('../img/paper-grain.svg');border-top-style:dashed;border-bottom-style:dashed}
.trust__ico{color:var(--leaf)}
.trust__v{font-weight:500}
.section--tint{background-image:url('../img/paper-grain.svg');border:0}
.section-head::after{
  content:"";display:block;width:72px;height:6px;margin:22px auto 0;
  border-radius:60% 35% 60% 35%;background:var(--accent-line);transform:rotate(-2deg);
}
.persona__photo{margin:0;transform:rotate(-2deg);border:0;background:transparent}
.persona__caption{color:var(--leaf);letter-spacing:.12em}
.method__card,.card,.review,.post-card,.boundary__col,.plan,.fit__col,.cta-band,.answer-box,.faq__item{
  background-image:url('../img/paper-grain.svg');
}
.method__card{border:0;background-color:var(--accent-wash)}
.method__card:nth-child(even){background-color:var(--leaf-wash)}
.method__card:nth-child(3){background-color:#F0E4CE}
.method__k{font-weight:500}
.review:nth-child(3n+2),.post-card:nth-child(3n+2){background-color:#F1EBF1}
.review:nth-child(3n+3),.post-card:nth-child(3n+3){background-color:#EDF0E1}
.flow__step{border:0;border-radius:var(--radius-btn)}
.flow__step:nth-of-type(even){background:var(--leaf-wash);color:var(--leaf)}
.plan--featured{border-style:dashed;background-color:#F2EAF1}
.plan__list li::before{border-radius:80% 10% 70% 10%;background:var(--leaf)}
.page-hero{
  position:relative;isolation:isolate;overflow:hidden;
  background:var(--bg-page) url('../img/paper-grain.svg');
}
.page-hero::after{
  content:"";position:absolute;z-index:-1;right:max(24px,calc((100vw - 1120px)/2));
  top:14px;bottom:14px;width:185px;
  background:url('../img/shiso-reference-v2.webp') center / contain no-repeat;
  mix-blend-mode:multiply;border-radius:48%;transform:rotate(8deg);opacity:.85;
}
.page-hero__inner{padding-right:90px}
.closing{
  position:relative;isolation:isolate;overflow:hidden;
  background:var(--leaf-wash) url('../img/paper-grain.svg');color:var(--ink-body);
}
.closing::before,.closing::after{
  content:"";position:absolute;z-index:-1;top:0;bottom:0;width:24%;
  background:url('../img/shiso-reference-v2.webp') center / cover no-repeat;
  mix-blend-mode:multiply;opacity:.23;
  mask-image:linear-gradient(to right,#000,transparent);
}
.closing::before{left:0}
.closing::after{right:0;transform:rotate(180deg)}
.closing h2{color:var(--ink-strong)}
.closing p,.closing__links{color:var(--ink-body)}
.closing__links a,.closing__links a:hover{color:var(--accent-deep);border-color:var(--accent-line)}
.closing .btn--light{background:var(--accent);color:var(--btn-label);border-color:var(--accent)}
.closing .btn--plain{color:var(--accent-deep);border-color:var(--accent-line)}
.site-footer{background:var(--bg-page) url('../img/paper-grain.svg');border-top-style:dashed}
.action-bar{background:var(--bg-page);box-shadow:none}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 3px #E5DAE6}
@media(min-width:1200px){.page-hero__inner{padding-right:20px}}
@media(max-width:860px){
  .hero__visual{order:0;max-width:390px;width:100%;margin:auto}
  .hero__photo{max-width:340px}
  .hero__badge{max-width:270px}
  .persona__photo{margin:0 auto}
  .page-hero__inner{padding-right:190px}
  .page-hero::after{width:150px;right:18px}
  .nav{box-shadow:none;background:var(--bg-page)}
}
@media(max-width:560px){
  .hero{padding-top:34px}
  .hero__grid{gap:32px}
  .hero__photo{max-width:290px}
  .hero__badge{margin:12px auto 0;width:85%}
  .page-hero{padding-top:30px}
  .page-hero::after{display:none}
  .page-hero__inner{padding-right:var(--gutter)}
  .closing::before,.closing::after{width:30%;opacity:.12}
  .plans{grid-template-columns:minmax(0,1fr)}
}

/* ---------- 24. 打印 ---------- */
@media print{
  .site-header,.notice,.action-bar,.socials,.closing__actions,.btn{display:none !important}
  body{background:#fff}
  .section{padding:20px 0}
  a{color:#000;text-decoration:underline}
}
