/* Shared reference rhythm: small tags, Chinese title, English subtitle, short copy. */
.section-heading { position:relative; min-width:0; }
.section-meta { display:flex; align-items:center; flex-wrap:wrap; gap:6px; min-height:24px; margin-bottom:30px; padding-right:40px; }
.section-meta>span { display:inline-flex; align-items:center; min-height:20px; padding:3px 8px; border:1px solid #ffffff38; border-radius:999px; font-family:var(--font-label); font-size:8px; font-weight:700; line-height:1; letter-spacing:.07em; color:var(--color-muted); }
.section-heading[data-section-number]::after { content:attr(data-section-number); position:absolute; top:0; right:0; display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:var(--color-text); color:var(--color-bg); font-family:var(--font-label); font-size:9px; font-weight:700; }
.section-heading .section-kicker,.section-kicker { display:flex; align-items:center; gap:8px; margin:7px 0 0; font-family:var(--font-label); font-size:12px; font-weight:700; line-height:1.35; letter-spacing:.065em; color:var(--color-text); }
.section-heading h2 { margin:0; font-family:var(--font-display); font-size:clamp(36px,4.2vw,64px); font-weight:700; line-height:1.12; letter-spacing:.025em; font-synthesis:none; }
.portrait-title,.project-dialog .detail-heading h2,.case-section h3,.detail-subtitle { font-family:var(--font-display); font-weight:700; letter-spacing:.025em; font-synthesis:none; }
.portrait-title { font-size:12.6vw; }
.section-description { margin:10px 0 0; max-width:45em; font-size:12px; line-height:1.65; color:var(--color-muted); }
.collection-heading { align-items:start; padding-bottom:32px; border-bottom:0; }
.collection-heading>.section-heading { width:100%; }
.collection-toolbar { padding-block:16px 18px; }
.collection-barcode { margin-bottom:4px; }
.experience-section-heading { padding-top:64px; }
.experience-section-heading[data-section-number]::after { top:64px; right:var(--gutter); }
.experience .experience-stage { padding-top:36px; }
.experience .experience-name { margin-top:16px; }
.clients-heading>.section-heading { flex:1; }
.clients-aside { padding-top:5px; }
.contact .section-heading h2 { font-size:clamp(36px,4.2vw,64px); }
.contact .section-kicker { margin-top:7px; }
.contact-information { padding-top:12px; }
@media(max-width:767px) {
 .section-heading h2,.contact .section-heading h2 { font-size:clamp(32px,8.7vw,44px); }
 .portrait-title { font-size:13.3vw; }
 .section-meta { margin-bottom:24px; }
 .section-heading .section-kicker { font-size:10px; }
 .section-description { font-size:11px; margin-top:9px; }
 .experience-section-heading { padding-top:40px; }
 .experience-section-heading[data-section-number]::after { top:40px; }
 .experience .experience-stage { padding-top:28px; }
 .collection-barcode { display:none; }
 .clients-heading { gap:12px; }.clients-aside { padding-top:5px; flex:none; }
 .clients-note { font-size:10px; }
}
