/* 飞网址 · 柔和界面演进 */
:root{
  --ink:#26171a;
  --ink-soft:#4b383c;
  --rose:#eb879c;
  --blush:#ffb6c1;
  --deep:#b65b71;
  --card:#ffffff;
  --card-a:#fff3f6;
  --line:rgba(235,135,156,.34);
  --s1:0 2px 4px rgba(38,23,26,.06);
  --s2:0 10px 24px rgba(235,135,156,.18);
  --s3:0 18px 44px rgba(38,23,26,.10);
  --r:10px;
  --t:240ms cubic-bezier(.22,.61,.36,1);
  --gutter:clamp(1.1rem,4vw,2.5rem);
  --nav-space:124px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}

body{
  margin:0;
  font-family:'Cormorant Infant','Songti SC','Noto Serif SC',Georgia,'Times New Roman',serif;
  font-size:17px;
  line-height:1.78;
  color:var(--ink);
  background-color:#fdf1f4;
  background-image:
    radial-gradient(760px 420px at 8% -6%, #ffe1e9 0%, rgba(255,225,233,0) 62%),
    radial-gradient(660px 380px at 102% 2%, #fff0f4 0%, rgba(255,240,244,0) 58%),
    linear-gradient(180deg,#fff9fb 0%, #fdeef2 46%, #ffe6ec 100%);
  background-attachment:fixed;
  padding-bottom:calc(var(--nav-space) + 2rem);
  overflow-wrap:break-word;
}

img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:'Cormorant Infant','Songti SC','Noto Serif SC',Georgia,serif;font-weight:600;line-height:1.25;letter-spacing:.01em}
a{color:var(--deep)}
:focus-visible{outline:3px solid var(--rose);outline-offset:3px;border-radius:8px}

/* ——— 底部胶囊导航 ——— */
.nav{
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:60;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:"brand brand" "list cta";
  align-items:center;
  gap:.35rem .55rem;
  padding:.55rem var(--gutter) calc(.6rem + env(safe-area-inset-bottom));
  background:rgba(255,246,248,.88);
  backdrop-filter:blur(16px) saturate(1.25);
  -webkit-backdrop-filter:blur(16px) saturate(1.25);
  border-radius:22px 22px 0 0;
  box-shadow:0 -2px 4px rgba(38,23,26,.05), 0 -14px 34px rgba(235,135,156,.22);
}
.nav-brand{
  grid-area:brand;
  justify-self:center;
  padding:.15rem .5rem;
  color:var(--ink);
  text-decoration:none;
  font-size:1rem;
  letter-spacing:.4em;
  text-indent:.4em;
  line-height:1.5;
}
.nav-list{
  grid-area:list;
  display:flex;
  align-items:center;
  gap:.4rem;
  margin:0;
  padding:.15rem .1rem .25rem;
  list-style:none;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
}
.nav-list::-webkit-scrollbar{display:none}
.nav-list li{flex:0 0 auto;scroll-snap-align:start}
.nav-list a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:.35rem .9rem;
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  font-size:.92rem;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:var(--s1);
  transition:transform var(--t),box-shadow var(--t),background var(--t);
}
.nav-list a:hover{transform:translateY(-2px);box-shadow:var(--s2);background:#fff0f4}
.nav-cta{
  grid-area:cta;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:.35rem 1.05rem;
  border-radius:999px;
  background:linear-gradient(135deg,var(--blush),var(--rose));
  color:var(--ink);
  font-weight:600;
  font-size:.92rem;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 6px 16px rgba(235,135,156,.45);
  transition:transform var(--t),box-shadow var(--t);
}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(235,135,156,.55)}

/* ——— 首屏 ——— */
main{display:block}
.hero{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(1.4rem,5vw,3.6rem);
  align-items:center;
  min-height:70vh;
  max-width:1180px;
  margin:0 auto;
  padding:clamp(1.6rem,7vh,4rem) var(--gutter) clamp(1.2rem,4vh,2rem);
}
.hero-copy{min-width:0}
.hero-title{
  margin:0 0 1rem;
  font-size:clamp(2rem,5.2vw,3.4rem);
  line-height:1.16;
  letter-spacing:.015em;
}
.hero-desc{
  margin:0;
  max-width:36ch;
  font-size:clamp(1rem,1.5vw,1.12rem);
  line-height:1.85;
  color:var(--ink-soft);
}
.hero-fig{
  margin:0;
  aspect-ratio:4 / 3;
  border-radius:12px;
  overflow:hidden;
  background:linear-gradient(150deg,var(--blush),#ffe3ea 60%,#fff);
  box-shadow:var(--s1),var(--s3);
  will-change:transform;
}
.hero-fig.is-empty{min-height:32vh}
.hero-img{width:100%;height:100%;object-fit:cover}

/* ——— 正文 + 右侧栏 ——— */
.stage{
  display:grid;
  grid-template-columns:minmax(0,1fr) 288px;
  align-items:start;
  gap:clamp(1.1rem,3vw,2.4rem);
  max-width:1180px;
  margin:0 auto;
  padding:0 var(--gutter) 1rem;
}
.prose{min-width:0;max-width:72ch}
.prose div{
  background:var(--card);
  border-radius:var(--r);
  padding:clamp(1.25rem,3vw,2.1rem);
  margin:0 0 clamp(.9rem,2.4vw,1.5rem);
  box-shadow:var(--s1),var(--s2);
  scroll-margin-top:1.4rem;
  transition:box-shadow var(--t),transform var(--t);
}
.prose div:nth-of-type(even){background:var(--card-a)}
.prose div:hover{box-shadow:var(--s1),0 16px 34px rgba(235,135,156,.24)}
.prose div > *:first-child{margin-top:0}
.prose div > *:last-child{margin-bottom:0}
.prose h2{font-size:clamp(1.35rem,2.6vw,1.85rem);margin:0 0 .8rem}
.prose h3{font-size:clamp(1.12rem,2vw,1.35rem);margin:1.4rem 0 .6rem}
.prose p{margin:0 0 1rem}
.prose ul,.prose ol{margin:0 0 1rem;padding-left:1.3rem}
.prose li{margin:.35rem 0}
.prose small{
  display:block;
  margin-bottom:.4rem;
  font-size:.76rem;
  letter-spacing:.22em;
  line-height:1.6;
  color:var(--deep);
}
.prose a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose a:hover{color:var(--rose)}
.prose blockquote{
  margin:1.2rem 0;
  padding:.9rem 1.1rem;
  border-radius:var(--r);
  background:#fff0f4;
  color:var(--ink-soft);
}
.prose blockquote p:last-child{margin-bottom:0}
.prose figure{margin:1.2rem 0}
.prose img{border-radius:var(--r);box-shadow:var(--s1)}

.rail{
  position:sticky;
  top:1.4rem;
  padding:1.1rem 1rem 1.2rem;
  border-radius:12px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:var(--s1),0 14px 30px rgba(235,135,156,.16);
}
.rail-kicker{
  display:block;
  font-size:.72rem;
  letter-spacing:.24em;
  color:var(--deep);
}
.rail-title{margin:.1rem 0 .7rem;font-size:1.25rem}
.rail-list{list-style:none;margin:0;padding:0;counter-reset:rail}
.rail-list li{counter-increment:rail}
.rail-list a{
  display:flex;
  align-items:center;
  gap:.6rem;
  min-height:40px;
  padding:.3rem .1rem;
  color:var(--ink);
  font-size:.95rem;
  text-decoration:none;
  border-bottom:1px dashed var(--line);
  transition:color var(--t),padding-left var(--t);
}
.rail-list a::before{
  content:counter(rail,decimal-leading-zero);
  font-size:.72rem;
  letter-spacing:.06em;
  color:var(--rose);
}
.rail-list a:hover{color:var(--deep);padding-left:.25rem}

/* ——— 页脚 ——— */
.foot{
  max-width:1180px;
  margin:clamp(1.6rem,5vw,3rem) auto 0;
  padding:clamp(1.4rem,4vw,2.2rem) var(--gutter) 0;
  border-top:1px solid var(--line);
}
.foot-brand{
  margin:0 0 1rem;
  font-family:'Great Vibes','Cormorant Infant','Songti SC',serif;
  font-size:clamp(2.6rem,12vw,5.2rem);
  line-height:1;
  letter-spacing:.07em;
  background:linear-gradient(120deg,var(--rose),#d9647f 48%,var(--blush));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}
.foot-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  padding-bottom:1.4rem;
}
.foot-addr{
  font-style:normal;
  font-size:.9rem;
  color:var(--ink-soft);
  letter-spacing:.06em;
}
.foot-links{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}
.foot-links a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:.3rem .85rem;
  border-radius:999px;
  background:rgba(255,255,255,.85);
  color:var(--ink);
  font-size:.9rem;
  text-decoration:none;
  box-shadow:var(--s1);
  transition:transform var(--t),box-shadow var(--t);
}
.foot-links a:hover{transform:translateY(-2px);box-shadow:var(--s2)}

/* ——— 断点 ——— */
@media (max-width:900px){
  :root{--nav-space:118px}
  .hero{
    grid-template-columns:1fr;
    min-height:0;
    padding-top:clamp(1.5rem,7vw,2.4rem);
    gap:1.1rem;
  }
  .hero-title{font-size:clamp(1.9rem,8vw,2.6rem)}
  .hero-desc{max-width:none}
  .hero-fig{order:2;aspect-ratio:16 / 10;margin-top:.3rem}
  .stage{grid-template-columns:1fr}
  .rail{position:static;order:2;margin-top:.2rem}
  .prose{max-width:none}
}

@media (max-width:420px){
  body{font-size:16.5px}
  .nav-brand{font-size:.92rem;letter-spacing:.3em;text-indent:.3em}
  .nav-list a,.nav-cta{font-size:.88rem;padding:.35rem .8rem}
  .prose div{padding:1.1rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important}
  .hero-fig{transform:none !important}
}

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