/* Site-wide layout, manifesto, mobile stability, hero nudge */

/* v10 rhythm */
body{font-family:var(--fzh);font-weight:400;text-rendering:optimizeLegibility;}
.h-xl{font-size:clamp(21px,2.55vw,30px)!important;font-weight:400!important;line-height:2.08!important;letter-spacing:.045em!important;}
.h-lg{font-size:clamp(15px,1.65vw,19px)!important;font-weight:300!important;line-height:2.08!important;}
.sh-title{font-weight:300!important;letter-spacing:.035em;}
.mcard__q,.svc__card__h,.mag-title,.about__h{font-weight:400!important;}
#z30Article p,.z30-reader__article p{font-weight:350!important;color:var(--ink2)!important;}
.nav__cta{letter-spacing:.22em!important;}
.hero__veil{background:linear-gradient(to bottom,rgba(14,12,8,.08) 0%,rgba(14,12,8,.02) 22%,rgba(14,12,8,.16) 45%,rgba(14,12,8,.63) 72%,#0e0c08 100%),linear-gradient(to right,rgba(14,12,8,.45) 0%,rgba(14,12,8,.12) 55%,transparent 100%)!important;}
.mag-feat__body,.svc__card__body{background:var(--ivory)!important;}
.mag-card:hover,.mag-feat:hover{background:#FAF7F2!important;}

/* v30 manifesto — visual winner */
.manifesto__bgimg{filter:brightness(.84) saturate(1.02) contrast(1.02)!important;}
.manifesto__bgimg::after{background:linear-gradient(90deg,rgba(13,10,7,.34),rgba(13,10,7,.20) 45%,rgba(13,10,7,.30)),radial-gradient(ellipse 90% 70% at 50% 50%,transparent 12%,rgba(10,8,6,.42) 100%)!important;animation:none!important;}
.manifesto .mf-line{color:rgba(255,250,236,.96)!important;text-shadow:0 2px 12px rgba(0,0,0,.42)!important;}
.manifesto .mf-line.active{color:rgba(255,250,236,.99)!important;text-shadow:0 2px 14px rgba(0,0,0,.50)!important;}
.manifesto .mf-line.past{color:rgba(255,250,236,.72)!important;}
.manifesto .mf-line strong,.manifesto .mf-line em,.liqiu__line--gold{color:#E0B850!important;font-weight:650!important;text-shadow:0 2px 10px rgba(0,0,0,.48)!important;-webkit-text-stroke:0!important;filter:none!important;}
.mf-line em{display:inline-block!important;color:#d5a83e!important;font-style:normal!important;font-weight:700!important;}

/* Hero nudge — inline under coda (v48) */
.hero .h-scroll-hint{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:18px!important;position:relative!important;}
.hero .h-scroll-hint .h-coda{margin-top:28px!important;margin-bottom:0!important;}
.hero .h-scroll-hint .nudge,.hero .nudge.ziye-v48-inline-nudge{
  position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  gap:9px!important;width:max-content!important;margin:2px 0 0 0!important;z-index:10!important;opacity:.82!important;
  animation:none!important;text-align:center!important;
}
.hero .h-scroll-hint .nudge span,.hero .nudge.ziye-v48-inline-nudge span{
  font-family:var(--fen,'Cormorant Garamond',serif)!important;font-size:10px!important;font-weight:400!important;
  letter-spacing:.34em!important;color:rgba(241,230,200,.66)!important;
}
.hero .h-scroll-hint .nudge__bar,.hero .nudge.ziye-v48-inline-nudge .nudge__bar{
  width:1px!important;height:42px!important;margin:0 auto!important;
  background:linear-gradient(to bottom,rgba(196,151,55,.8),rgba(196,151,55,.05))!important;
  animation:pulse 2.8s ease-in-out infinite!important;
}

/* Declaration bg */
.decl__bg-img{inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;transform:none!important;}

/* Mobile stability */
html,body{max-width:100%!important;overflow-x:hidden!important;}
*,*::before,*::after{box-sizing:border-box;}
img,video,canvas,svg{max-width:100%;height:auto;}
button,a{-webkit-tap-highlight-color:rgba(160,120,40,.16);}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:1px solid rgba(160,120,40,.72);outline-offset:4px;}
section,main,header,footer,.nav,.hero,.stories,.about,.entry,.faq,.connect,#z30Reader{max-width:100vw!important;}

.nav__cta span{white-space:nowrap;}
.cta .apply__sub{max-width:780px!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important;line-height:2.15!important;letter-spacing:.045em!important;}
.ziye-about-name{font-weight:800!important;color:#1f160e!important;letter-spacing:.02em!important;}
.ziye-strong{background:none!important;padding:0!important;color:inherit!important;font-weight:inherit!important;}

.entry-card{min-width:0;}
.entry-card__body,.entry-card__media{min-width:0;}
.entry-card__link{display:inline-flex!important;align-items:center;justify-content:center;gap:.45em;min-height:42px;white-space:normal;text-wrap:balance;}
.entry-card__link::after{content:'';display:inline-block;width:.55em;height:.55em;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg);opacity:.68;margin-left:.15em;}
.entry-card__link:hover::after{opacity:1;transform:translateX(2px) rotate(45deg);transition:.28s ease;}

#applySection .apply__veil{background:linear-gradient(135deg,rgba(8,6,3,.78) 0%,rgba(11,8,4,.67) 52%,rgba(7,4,2,.80) 100%)!important;}
#applySection .apply__h,#applySection .apply__sub{text-shadow:0 3px 18px rgba(0,0,0,.36);}

.zy-letter-cta{border-radius:0;text-wrap:balance;}
.zy-letter-open{display:inline-flex!important;align-items:center;gap:.4em;}

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

@media(max-width:900px){
  .services__grid,.entry-v12__grid,.stories__grid,.about__inner,.cta__cards,.footer__inner{grid-template-columns:1fr!important;}
  .entry-card__link{width:100%;}
}

@media(max-width:760px){
  body{width:100%!important;position:relative;}
  .nav{left:0!important;right:0!important;width:100%!important;}
  .entry-card,.mag-card,.mag-feat,.svc__card,.about__inner,.faq__inner,.connect__inner{max-width:100%!important;overflow:hidden;}
  section,.hero,.moments,.scrolls,.stories,.services,.about,.faq,.cta{max-width:100vw;overflow-x:hidden;}
  .nav__inner,.hero__body,.moments__intro-bar,.sh,.services__grid,.entry-v12__grid,.about__inner,.faq__inner,.cta__actionband,.footer__inner{max-width:100%!important;}
  .h-xl{font-size:clamp(30px,10vw,48px)!important;line-height:1.38!important;}
  .h-lg{font-size:clamp(18px,5vw,25px)!important;line-height:1.8!important;}
  .sh-title{font-size:clamp(30px,9vw,44px)!important;line-height:1.35!important;}
  .sh-sub{font-size:14px!important;line-height:1.9!important;}
  .mag-card,.entry-card,.apply__card,.faq__item{min-width:0!important;}
  .moments-v12__visual{min-height:560px!important;overflow:hidden!important;}
  .moments-v12__visual img{object-position:center center!important;filter:brightness(.92) contrast(1.02)!important;}
  .moments-v12__caption{
    left:50%!important;right:auto!important;top:auto!important;bottom:clamp(28px,8vw,54px)!important;
    transform:translateX(-50%)!important;width:min(86vw,520px)!important;max-width:86vw!important;
    text-align:center!important;background:linear-gradient(180deg,rgba(13,10,7,.58),rgba(13,10,7,.38))!important;
    padding:22px 20px!important;border:1px solid rgba(214,174,82,.24)!important;
    backdrop-filter:blur(6px)!important;-webkit-backdrop-filter:blur(6px)!important;
  }
  .moments-v12__caption h3,.moments-v12__caption .moments-v12__title{font-size:clamp(26px,7.4vw,38px)!important;line-height:1.55!important;margin:0 0 14px!important;}
  .moments-v12__caption p{font-size:clamp(15px,4.2vw,18px)!important;line-height:2!important;margin:0!important;}
  .apply__options{gap:16px!important;}
  .apply__opt{border:1px solid rgba(220,205,180,.30)!important;border-radius:14px!important;background:rgba(255,255,255,.055)!important;box-shadow:0 8px 26px rgba(0,0,0,.26)!important;}
  .apply__opt.active-highlight,.apply__opt.selected{border-color:rgba(200,160,60,.6)!important;}
  .zy-letter-cta{width:100%;padding:1.1em .9em;font-size:17px;line-height:1.95;}
}

@media(max-width:720px){
  .hero .h-scroll-hint{align-items:flex-start!important;gap:14px!important;}
  .hero .h-scroll-hint .nudge,.hero .nudge.ziye-v48-inline-nudge{margin-top:0!important;}
  .hero .h-scroll-hint .nudge span,.hero .nudge.ziye-v48-inline-nudge span{font-size:9px!important;letter-spacing:.28em!important;}
  .hero .h-scroll-hint .nudge__bar,.hero .nudge.ziye-v48-inline-nudge .nudge__bar{height:34px!important;}
}

@media(max-width:600px){
  .h-xl{font-size:16.5px!important;line-height:1.9!important;letter-spacing:.02em!important;}
  .h-lg{font-size:13.5px!important;line-height:1.9!important;}
  .h-lg--soft{font-size:13px!important;}
}

/* v34 refinements */
/* 01｜Case cards: collapsed by default, expand on click */
.case-v12{
  cursor:pointer!important;
  position:relative!important;
  padding-bottom:52px!important;
}
.case-v12 .case-more{
  max-height:0;
  opacity:0;
  overflow:hidden;
  margin-top:0;
  padding-top:0;
  border-top:1px solid transparent;
  transition:max-height .55s var(--ease),opacity .4s ease,margin-top .4s ease,padding-top .4s ease,border-color .4s ease;
}
.case-v12.open .case-more{
  max-height:360px;
  opacity:1;
  margin-top:20px;
  padding-top:18px;
  border-top-color:rgba(224,184,80,.26);
}
.case-v12::after{
  content:'→ 听听子叶怎么说' !important;
  right:20px!important;bottom:18px!important;
  font-family:var(--fzh,'Noto Serif SC',serif)!important;
  font-size:clamp(13px,1.05vw,16px)!important;
  font-style:normal!important;font-weight:700!important;
  letter-spacing:.08em!important;color:rgba(240,201,106,.86)!important;
  text-shadow:0 0 18px rgba(240,201,106,.18)!important;
  transition:transform .35s ease,color .35s ease;
}
.case-v12:hover::after{transform:translateX(5px);color:#f0c96a!important;}
.case-v12.open::after{content:'← 收起子叶的话'!important;color:rgba(240,201,106,.72)!important;}
.case-v12 .case-more{border-top:1px solid rgba(224,184,80,.26)!important;}
.case-v12 .case-more .zy-reply-label{display:block;font-family:var(--fui,'Noto Sans SC',sans-serif);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:rgba(240,201,106,.8);margin-bottom:12px;}
.case-v12 .case-more p{font-size:clamp(15.5px,1.4vw,18px)!important;line-height:2.15!important;color:rgba(255,248,228,.78)!important;letter-spacing:.04em!important;}
.case-v12 .case-more strong{color:#f0c96a;font-weight:700;}

@media(max-width:760px){
  .case-v12::after{
    position:static!important;
    display:block!important;
    right:auto!important;
    bottom:auto!important;
    margin-top:18px!important;
    text-align:right!important;
  }
  .case-v12.open::after{margin-top:14px!important;}
}

/* 02｜Mobile visual: keep the helmsman visible, place text as a quiet caption */
.moments-v12__visual img{object-position:center center!important;}
.moments-v12__caption{max-width:72%;}
@media(max-width:760px){
  .moments-v12__visual{min-height:540px!important;}
  .moments-v12__visual img{object-position:58% center!important;filter:brightness(.96) contrast(1.02)!important;}
  .moments-v12__caption{left:22px!important;right:22px!important;bottom:22px!important;top:auto!important;max-width:none!important;padding:18px 20px!important;background:linear-gradient(135deg,rgba(18,14,10,.72),rgba(18,14,10,.38))!important;border-left:2px solid rgba(240,201,106,.65)!important;backdrop-filter:blur(6px);}
  .moments-v12__caption p{font-size:clamp(21px,6vw,32px)!important;line-height:1.6!important;}
}

/* 03｜Services entry-card CTA → assets/ziye-services.css */

/* 04｜Contact input: quieter, more intentional */
.apply__input#q5contact,.v30-field[type="text"],input.v30-field{
  width:100%!important;box-sizing:border-box!important;padding:18px 18px!important;
  border:1px solid rgba(160,120,40,.28)!important;background:rgba(255,252,246,.78)!important;
  font-family:var(--fzh,'Noto Serif SC',serif)!important;font-size:18px!important;line-height:1.7!important;color:#2e2418!important;
  outline:none!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)!important;
}
.apply__input#q5contact:focus,input.v30-field:focus,.v30-field:focus{border-color:rgba(160,120,40,.66)!important;box-shadow:0 0 0 3px rgba(160,120,40,.08)!important;}
.apply__input#q5contact::placeholder,.v30-field::placeholder{color:rgba(72,58,40,.45)!important;}
.z34-contact-note{font-family:var(--fzh,'Noto Serif SC',serif);font-size:14px;line-height:1.9;color:rgba(72,58,40,.58);margin-top:10px;}

/* 05｜Final paragraph centered */
.apply__sub,.cta .apply__sub,#apply .apply__sub{text-align:center!important;margin-left:auto!important;margin-right:auto!important;max-width:880px!important;}

/* 06｜Article long-form reading rhythm */
#z30Article p,.z30-reader__article p{line-height:2.35!important;letter-spacing:.045em!important;}
#z30Article strong,.z30-reader__article strong,.ziye-strong{font-weight:800!important;color:#1e150f!important;}
.z34-article-key{margin:clamp(28px,3vw,44px) 0 18px!important;padding:20px 24px!important;border-left:3px solid #b7892f!important;background:linear-gradient(90deg,rgba(183,137,47,.11),rgba(255,252,246,.0))!important;font-weight:800!important;color:#1e150f!important;font-size:clamp(21px,1.8vw,29px)!important;line-height:1.75!important;}
.z34-article-quote{margin:clamp(26px,3vw,42px) 0!important;padding:26px 32px!important;background:#f3eadc!important;border-left:4px solid #b7892f!important;font-size:clamp(19px,1.55vw,25px)!important;line-height:2.05!important;color:#2d2117!important;}
.z34-article-quote em{color:#9f7229;font-style:normal;font-weight:700;}

/* 08｜Top CTA clearer */
.nav__cta span{font-weight:700!important;letter-spacing:.16em!important;}

/* v36 targeted fixes */
/* v36：只保留「谁是子叶」开头二字加粗，不再全站高亮子叶 */
.ziye-strong{background:none!important;padding:0!important;color:inherit!important;font-weight:inherit!important;}
.ziye-about-name{font-weight:800!important;color:#1f160e!important;letter-spacing:.02em;}
.z34-article-key,.z36-article-key{margin:clamp(28px,3vw,44px) 0 20px!important;padding:22px 26px!important;border-left:4px solid #b7892f!important;background:linear-gradient(90deg,rgba(183,137,47,.12),rgba(255,252,246,.0))!important;font-weight:800!important;color:#1e150f!important;font-size:clamp(21px,1.75vw,29px)!important;line-height:1.75!important;letter-spacing:.06em!important;}

/* Moments v12 — full-width hero stack + cases below */
.moments-v12--stack .moments-v12__hero{
  position:relative;
  width:100%;
  overflow:hidden;
  background:#0e0c08;
  border-top:1px solid rgba(160,120,40,.12);
}
.moments-v12--stack .moments-v12__hero img{
  width:100%;
  height:clamp(300px,46vw,500px);
  max-height:68vh;
  object-fit:cover;
  object-position:center 38%;
  display:block;
  filter:brightness(.66) contrast(1.04) saturate(.9);
  transform:scale(1.04);
  transition:filter 2.1s cubic-bezier(.25,.46,.45,.94),transform 2.4s cubic-bezier(.25,.46,.45,.94);
}
.moments-v12--stack .moments-v12__hero.sr.in img,
.moments-v12--stack .moments-v12__hero.is-lit img{
  filter:brightness(1.08) contrast(1.06) saturate(1.03);
  transform:scale(1);
}
.moments-v12--stack .moments-v12__hero::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(14,11,8,.78) 0%,rgba(14,11,8,.22) 48%,rgba(14,11,8,.1) 100%);
  pointer-events:none;
}
.moments-v12--stack .moments-v12__caption{
  position:absolute;
  left:50%;
  top:50%;
  right:auto;
  bottom:auto;
  transform:translate(-50%,-50%)!important;
  width:min(560px,calc(100% - 48px));
  max-width:min(560px,calc(100% - 48px));
  padding:clamp(22px,3.5vw,36px)!important;
  text-align:left;
  background:linear-gradient(135deg,rgba(14,10,8,.34),rgba(14,10,8,.14))!important;
  border-left:2px solid rgba(240,201,106,.58)!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
.moments-v12__body{
  background:linear-gradient(135deg,#1d160f,#120e0a 65%);
}
.moments-v12--stack .moments-v12__cases{
  padding:clamp(32px,5vw,56px) clamp(24px,6vw,80px);
  max-width:1120px;
  margin:0 auto;
  background:none;
}
.moments-v12--stack .moments-v12__reflection{
  max-width:1120px;
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:760px){
  .moments-v12--stack .moments-v12__hero img{height:clamp(280px,62vw,420px);object-position:center 42%}
  .moments-v12--stack .moments-v12__caption{
    left:20px!important;
    right:20px!important;
    top:auto!important;
    bottom:20px!important;
    transform:none!important;
    width:auto!important;
    max-width:none!important;
  }
}

/* Moments v12 — 4-case grid + standalone 子叶一问 */
.moments-v12__cases-col{
  display:flex;
  flex-direction:column;
  min-height:680px;
  background:linear-gradient(135deg,#1d160f,#120e0a 65%);
}
.moments-v12__cases-col .moments-v12__cases{
  flex:1;
  background:none;
}
.moments-v12__reflection{
  text-align:center;
  padding:clamp(48px,6vw,72px) clamp(28px,5vw,56px) clamp(40px,5vw,64px);
  margin-top:clamp(8px,1.5vw,16px);
  border-top:1px solid rgba(224,184,80,.22);
  background:radial-gradient(circle at 50% 0%,rgba(160,120,40,.08),transparent 62%);
}
.moments-v12__reflection-kicker{
  display:block;
  font-family:var(--fen);
  font-size:12px;
  font-weight:600;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:rgba(224,184,80,.88);
  margin-bottom:clamp(20px,3vw,28px);
}
.moments-v12__reflection-lead{
  font-family:var(--fzh);
  font-size:clamp(18px,1.85vw,24px);
  font-weight:400;
  line-height:2;
  letter-spacing:.04em;
  color:rgba(255,248,232,.92);
  margin:0 0 clamp(18px,2.5vw,26px);
  max-width:36em;
  margin-left:auto;
  margin-right:auto;
}
.moments-v12__reflection-body{
  font-family:var(--fzh);
  font-size:clamp(16px,1.5vw,19px);
  font-weight:300;
  line-height:2.05;
  letter-spacing:.04em;
  color:rgba(245,237,216,.78);
  margin:0 0 clamp(22px,3vw,30px);
  max-width:32em;
  margin-left:auto;
  margin-right:auto;
}
.moments-v12__reflection-en{
  font-family:var(--fen);
  font-size:clamp(15px,1.35vw,18px);
  font-style:italic;
  line-height:1.95;
  letter-spacing:.06em;
  color:rgba(224,184,80,.72);
  margin:0;
  max-width:34em;
  margin-left:auto;
  margin-right:auto;
}
.moments-v12__reflection-en em{font-style:italic;font-weight:500;}
@media(max-width:980px){
  .moments-v12__cases-col{min-height:auto}
}

