/* Readable editorial typography for Shiyu Space Design. */
:root{
  --font-sans:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC","Source Han Sans SC",Arial,sans-serif;
  --font-serif:"Songti SC","Noto Serif CJK SC","Source Han Serif SC",STSong,SimSun,serif;
}

html{font-size:16px;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{font-family:var(--font-sans);font-size:16px;line-height:1.75;letter-spacing:.015em;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}

.brand span,
.hero h1,.section h2,.philosophy h2,.pricing h2,
.process-hero h1,.materials-hero h1,
.milestones h3,.material-grid h3,
.detail-hero h1,.detail-body article h2,
.case-meta h3,.journey-grid h3,.accept-grid h3,.principle-grid h3,
.deliverables strong,.material-catalog h2,.material-rules li b{
  font-family:var(--font-serif);
  font-weight:500;
}

.nav-shell nav{font-size:14px;letter-spacing:.06em}
.brand span{font-size:26px;line-height:1;letter-spacing:.14em}
.brand small{font-size:10px;line-height:1.4;letter-spacing:.18em}

.eyebrow{font-size:11px;line-height:1.5;letter-spacing:.22em}
.hero h1{font-size:clamp(44px,4.7vw,68px);line-height:1.22;letter-spacing:.025em}
.hero-content>p{max-width:620px;font-size:16px;line-height:1.9}
.text-link,.btn{font-size:14px;letter-spacing:.035em}

.section-head h2,.philosophy h2,.pricing h2{font-size:clamp(36px,3.5vw,50px);line-height:1.3;letter-spacing:.02em}
.section-head>p,.philosophy-copy>p{font-size:15px;line-height:1.95}
.case-meta h3{font-size:23px;line-height:1.42}
.case-meta p{font-size:13px;line-height:1.7}
.case-photo span{font-size:11px;line-height:1.4;letter-spacing:.04em}
.philosophy-copy li strong{font-size:16px;line-height:1.5}
.philosophy-copy li span{font-size:13px;line-height:1.7}
.steps h3{font-size:19px;line-height:1.5}
.steps p,.price-cards p{font-size:14px;line-height:1.85}
.price-cards strong{font-size:29px;line-height:1.3}
.price-cards small{font-size:13px;line-height:1.7}
footer p,footer div{font-size:13px;line-height:1.8}

.process-hero h1,.materials-hero h1{font-size:clamp(44px,5.3vw,70px);line-height:1.25;letter-spacing:.025em}
.process-hero span,.materials-hero span{display:block;max-width:720px;font-size:16px;line-height:1.9}
.journey-grid h3,.accept-grid h3,.principle-grid h3{font-size:24px;line-height:1.45}
.journey-grid p,.accept-grid p,.principle-grid p,.deliverables p{font-size:14px;line-height:1.9}
.deliverables strong{font-size:24px;line-height:1.45}
.milestones h3{font-size:27px;line-height:1.45}
.milestones p,.material-grid p,.material-catalog p,.material-catalog li{font-size:15px;line-height:1.9}
.process-note{font-size:13px;line-height:1.9}

.detail-hero h1{font-size:clamp(42px,4.5vw,62px);line-height:1.25;letter-spacing:.02em}
.detail-body span{font-size:12px;line-height:1.5}
.detail-body strong{font-size:16px;line-height:1.6}
.case-detail .detail-story{font-size:16px;line-height:2}
.case-detail .detail-story>h2{font-size:clamp(32px,3vw,42px);line-height:1.4}
.case-detail .detail-story>h2:not(:first-child){font-size:28px;line-height:1.45}
.case-detail .detail-story>p{font-size:16px;line-height:2;color:#565950}

@media(max-width:800px){
  body{font-size:15px;line-height:1.75}
  .nav-shell nav{font-size:15px;line-height:1.6}
  .brand span{font-size:23px}
  .hero h1{font-size:clamp(38px,11vw,50px);line-height:1.25}
  .hero-content>p{font-size:15px;line-height:1.85}
  .section-head h2,.philosophy h2,.pricing h2{font-size:36px;line-height:1.35}
  .section-head>p,.philosophy-copy>p{font-size:15px}
  .case-meta h3{font-size:22px}
  .steps h3{font-size:20px}
  .process-hero h1,.materials-hero h1{font-size:40px;line-height:1.3}
  .process-hero span,.materials-hero span{font-size:15px}
  .milestones h3{font-size:24px}
  .milestones p,.material-catalog p,.material-catalog li{font-size:14px}
  .detail-hero h1{font-size:39px}
  .case-detail .detail-story{font-size:15px;line-height:1.95}
  .case-detail .detail-story>h2{font-size:32px}
  .case-detail .detail-story>h2:not(:first-child){font-size:25px}
  .case-detail .detail-story>p{font-size:15px;line-height:1.95}
}
