*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:#000;font:400 17px/1.7 'Atkinson Hyperlegible',-apple-system,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;letter-spacing:.005em;overflow-wrap:break-word}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,h4{font-family:'Crimson Pro',Georgia,'Songti SC',serif;font-weight:700;letter-spacing:-.04em;line-height:1.02;margin:0}
p{margin:0 0 1.15rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* 顶部导航 */
.masthead{position:sticky;top:0;z-index:40;background:#fff}
.top{display:flex;align-items:center;gap:clamp(.6rem,2vw,1.2rem);padding:.45rem clamp(1rem,3.5vw,2.5rem);border-bottom:1px solid #000}
.rail{display:flex;align-items:center;gap:clamp(.7rem,2vw,1.5rem);min-width:0}
.rail-l{flex:1;justify-content:flex-start}
.rail-r{flex:1;justify-content:flex-end}
.rail-nav{display:flex;gap:clamp(.7rem,2vw,1.5rem);min-width:0}
.rail a{display:inline-flex;align-items:center;min-height:44px;font-size:.88rem;text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}
.rail a:hover{border-bottom-color:#000}
.brand{flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;font-family:'Crimson Pro',Georgia,serif;font-size:1.2rem;font-weight:700;letter-spacing:-.03em;text-decoration:none;padding:0 .4rem}
.cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 1.1rem;background:#000;color:#fff;border-radius:10px;font-size:.86rem;font-weight:700;text-decoration:none;white-space:nowrap}
.cta:hover{background:#fff;color:#000;box-shadow:inset 0 0 0 1px #000}
.burger{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:0 .7rem;background:#fff;color:#000;border:1px solid #000;border-radius:10px;font:inherit;font-size:.82rem;cursor:pointer}
.burger-bar{display:block;width:13px;height:2px;background:#000}
.burger-bar:last-of-type{width:8px}

.subbar{border-bottom:1px solid #000;background:#fff;overflow-x:auto;overflow-y:hidden}
.subbar nav{display:flex;gap:1.5rem;padding:0 clamp(1rem,3.5vw,2.5rem);white-space:nowrap}
.subbar a{display:inline-flex;align-items:center;min-height:44px;font-size:.8rem;text-decoration:none;border-bottom:3px solid transparent}
.subbar a:hover,.subbar a[aria-current="true"]{border-bottom-color:#000}

/* 全屏菜单 */
.overlay{position:fixed;inset:0;z-index:70;background:#000;color:#fff;display:flex;visibility:hidden;opacity:0;transition:opacity .28s ease,visibility .28s ease}
body.nav-open{overflow:hidden}
body.nav-open .overlay{visibility:visible;opacity:1}
.overlay-in{margin:auto;width:min(1080px,88vw);max-height:92vh;overflow:auto;padding:3rem 0;display:grid;gap:2rem}
.close{justify-self:end;min-height:44px;padding:0 1.1rem;background:none;border:1px solid #fff;color:#fff;border-radius:10px;font:inherit;font-size:.85rem;cursor:pointer}
.overlay-nav{display:grid}
.overlay-nav a{display:flex;align-items:center;min-height:52px;padding:.3rem 0;font-family:'Crimson Pro',Georgia,serif;font-size:clamp(1.5rem,4.6vw,3rem);font-weight:700;letter-spacing:-.04em;text-decoration:none;border-bottom:1px solid #ffffff33}
.overlay-nav a:hover{background:#fff;color:#000}
.cta-big{justify-self:start;min-height:52px;padding:0 1.8rem;font-size:1rem;background:#fff;color:#000}
.cta-big:hover{background:#000;color:#fff;box-shadow:inset 0 0 0 1px #fff}

/* 首屏 */
.hero{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1.4rem,5vw,4rem);align-items:center;padding:clamp(2rem,6vw,4rem) clamp(1rem,3.5vw,2.5rem) clamp(3rem,9vw,7rem);border-bottom:1px solid #000}
.hero-copy{min-width:0}
.hero-copy h1{font-size:clamp(3rem,10vw,12rem);line-height:.86;letter-spacing:-.05em;word-break:break-word}
.lead{max-width:42ch;margin:1.7rem 0 0;font-size:1.02rem;color:#000000cc}
.hero-cta{display:inline-flex;align-items:center;min-height:48px;margin-top:2.4rem;padding:0 1.7rem;background:#000;color:#fff;border-radius:10px;font-weight:700;text-decoration:none}
.hero-cta:hover{background:#fff;color:#000;box-shadow:inset 0 0 0 1px #000}
.hero-media{position:relative;min-height:44vh;will-change:transform}
.shot{position:absolute;object-fit:cover;border-radius:10px}
.shot-a{width:64%;aspect-ratio:4/5;top:0;right:0}
.shot-b{width:52%;aspect-ratio:3/4;bottom:-6%;left:0}

/* 正文 */
main{border-bottom:1px solid #000}
.wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,16.5rem);gap:clamp(2rem,5vw,4.5rem);max-width:1240px;margin:0 auto;padding:clamp(2.5rem,7vw,6rem) clamp(1rem,3.5vw,2.5rem)}
.content{min-width:0}
.prose>article{padding-bottom:clamp(2.2rem,6vw,4rem);margin-bottom:clamp(2.2rem,6vw,4rem);border-bottom:1px solid #000;scroll-margin-top:132px}
.prose>article:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.prose h2{font-size:clamp(1.85rem,4.6vw,3.2rem);margin:0 0 1.2rem}
.prose h2>span{display:inline-block;border-bottom:6px solid #000;padding-bottom:.12em}
.prose h3{font-size:clamp(1.25rem,3vw,1.85rem);letter-spacing:-.03em;margin:2rem 0 .7rem}
.prose p{max-width:66ch}
.prose a{text-underline-offset:.18em}
.prose img{border-radius:10px;margin:1.4rem 0}
.prose figure,.prose blockquote{margin:1.5rem 0;padding:1.2rem;border:1px solid #000;border-bottom-width:5px;border-radius:10px}
.prose blockquote p:last-child{margin-bottom:0}
.prose hr{border:0;border-top:1px solid #000;margin:2rem 0}

/* 侧栏 */
.side{align-self:start;position:sticky;top:132px}
.side h2{font-size:1.05rem;letter-spacing:-.02em;border-bottom:4px solid #000;padding-bottom:.5rem}
.side nav{display:grid;margin-top:1rem}
.side nav a{display:flex;align-items:center;min-height:44px;padding:.35rem .8rem;margin-bottom:.5rem;font-size:.9rem;text-decoration:none;border:1px solid #000;border-bottom-width:5px;border-radius:10px}
.side nav a:hover{background:#000;color:#fff}

/* 页脚 */
.foot{padding:clamp(2rem,5vw,3.5rem) clamp(1rem,3.5vw,2.5rem) 1.5rem;display:grid;gap:clamp(1.4rem,4vw,2.6rem)}
.foot-top{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem;border-bottom:1px solid #000;padding-bottom:1.3rem}
.foot h2{font-size:1.05rem;letter-spacing:-.02em}
.sub{display:flex;gap:.5rem;flex-wrap:wrap;flex:1 1 16rem;min-width:0}
.sub input{flex:1 1 11rem;min-width:0;min-height:44px;padding:0 .85rem;border:1px solid #000;border-radius:10px;background:#fff;color:#000;font:inherit;font-size:.95rem}
.sub button{min-height:44px;padding:0 1.2rem;background:#000;color:#fff;border:0;border-radius:10px;font:inherit;font-weight:700;cursor:pointer}
.totop{display:inline-flex;align-items:center;min-height:44px;padding:0 .7rem;font-size:.85rem;text-decoration:none;border-bottom:2px solid #000}
.foot-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.foot dl{margin:0;min-width:0}
.foot dt{font-size:.76rem;font-weight:700;letter-spacing:.1em;border-bottom:1px solid #000;padding-bottom:.35rem;margin-bottom:.45rem}
.foot dd{margin:0;font-size:.92rem;color:#000000cc}
.foot-nav dd a{display:flex;align-items:center;min-height:40px;text-decoration:none}
.foot-nav dd a:hover{text-decoration:underline}
.copy{margin:0;padding-top:1rem;border-top:1px solid #000;font-size:.8rem}

/* 动效 */
[data-stagger].anim>*{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
[data-stagger].anim>*.in{opacity:1;transform:none}

@media (max-width:1024px){
  .rail-l,.rail-nav{display:none}
  .brand{flex:1;justify-content:center;font-size:1.1rem}
  .rail-r{flex:0 0 auto}
}
@media (max-width:900px){
  .hero{grid-template-columns:1fr;min-height:0;padding-bottom:clamp(3rem,10vw,5rem)}
  .hero-media{min-height:52vh;margin-top:2rem}
  .hero-copy h1{font-size:clamp(3rem,13vw,6rem)}
  .wrap{grid-template-columns:1fr;padding-top:clamp(2rem,7vw,3rem)}
  .side{position:static;margin-top:1rem}
  .prose>article{scroll-margin-top:124px}
  .foot-cols{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .foot-cols{grid-template-columns:1fr}
  .foot-top{gap:.6rem}
  .totop{margin-left:0}
  .prose h2>span{border-bottom-width:4px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
  [data-stagger].anim>*{opacity:1;transform:none}
  .hero-media{transform:none!important}
}

button[aria-expanded]{min-width:44px;min-height:44px}
