/* Final shared rules: approved consultation + About typography and rhythm. */
html,body{background:var(--paper,#fbf7f2)}
body{padding-bottom:env(safe-area-inset-bottom)}
.site-header{padding-top:max(20px,env(safe-area-inset-top))}
.editorial-hero{display:block;max-width:1440px;padding-bottom:65px;border-bottom:1px solid var(--line)}
.editorial-hero>div{max-width:950px}.editorial-hero .about-lead{max-width:700px}
.about-story{max-width:1440px;margin-inline:auto}.about-chapter>div{min-width:0}
.about-chapter p,.about-chapter li{font-size:16px;line-height:1.9;color:var(--muted)}
.about-chapter h3{font:400 27px/1.35 var(--serif);margin:28px 0 16px;letter-spacing:-.02em}
.about-chapter ul,.about-chapter ol{padding-left:22px;margin:20px 0}.about-chapter li{padding-left:6px;margin-bottom:12px}
.about-chapter img{max-width:100%;height:auto;border-radius:2px}.about-chapter .article-image{margin:0 0 30px}
.about-chapter a:not(.button){text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px}
.chapter-anchor{display:block;scroll-margin-top:125px}
.about-index{max-height:calc(100dvh - 150px);overflow-y:auto;scrollbar-width:thin}
.page-policy .about-chapter h2{font-size:32px}.page-policy .about-story{padding-top:55px}
.editorial-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;padding-top:55px}
.editorial-cards>a{display:flex;flex-direction:column;align-items:flex-start;border-top:1px solid var(--line);padding:28px 0 10px}
.editorial-cards h2{font:400 clamp(28px,3vw,40px)/1.2 var(--serif);margin:20px 0;letter-spacing:-.03em}
.editorial-cards p{color:var(--muted);font-size:15px;line-height:1.8;margin-bottom:25px}
.editorial-cards .text-link{margin-top:auto}.editorial-cards a:hover h2{color:var(--accent)}
.related-reading{background:var(--surface);border-top:1px solid var(--line)}
.related-reading>h2,.policy-help h2{font:400 40px/1.2 var(--serif);margin:20px 0}
.related-reading .connection-directory{padding:25px 0}.related-reading h3{font:400 30px/1.25 var(--serif)}
.related-reading p,.policy-help p{color:var(--muted);line-height:1.8}.policy-help{border-top:1px solid var(--line)}
.contact-methods{display:grid;gap:0}.contact-methods a{padding:20px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere;text-decoration:none!important}
.contact-methods small{display:block;color:var(--muted);font-size:10px;letter-spacing:1.5px;margin-bottom:10px}
.footer-grid.footer-compact{grid-template-columns:1fr 1fr;gap:10%}
.button,.consult-cta{justify-content:center;gap:0;min-height:50px}.text-link{gap:0}
.service-row{grid-template-columns:130px 1fr 1fr;gap:30px}.page-home:lang(zh-Hans) .service-row{grid-template-columns:1fr 1fr}
.consult-mobile-cta a{display:flex;align-items:center;justify-content:center}
:where(a,button,summary):focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.page-event .page-title h1{font-family:var(--serif)}
.page-event .about-chapter dl{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px 20px;font-size:14px;line-height:1.7}
.page-event .about-chapter dd{margin:0;color:var(--muted)}
@media(max-width:900px){.service-row{grid-template-columns:100px 1fr 1fr;gap:20px}}
@media(max-width:650px){.editorial-hero{padding-top:35px;padding-bottom:40px}.about-index{max-height:none;overflow:visible}.about-chapter p,.about-chapter li{font-size:15px}.editorial-cards{grid-template-columns:1fr;gap:22px;padding-top:30px}.editorial-cards>a{padding-top:25px}.service-row,.page-home:lang(zh-Hans) .service-row{grid-template-columns:1fr;gap:14px}.service-row .row-number,.service-row p{grid-column:1}.footer-grid.footer-compact{grid-template-columns:1fr;gap:35px}.page-event .about-chapter dl{grid-template-columns:1fr;gap:6px}.page-event .about-chapter dd{margin-bottom:12px}.about-hero .about-photo{width:90%}.site-header{padding-inline:max(24px,env(safe-area-inset-left))}.consult-mobile-cta{padding-bottom:max(16px,env(safe-area-inset-bottom))}}
.appointment-directory{gap:30px 50px;padding-top:35px}.appointment-directory>a{padding:30px 0}.appointment-directory h2{font-size:36px;line-height:1.2}.appointment-directory p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.8}.page-events .list>a{display:block;position:relative;padding:30px 0}.page-events .list p{max-width:650px;color:var(--muted);font-size:15px;line-height:1.8}.page-events .list h3{font-size:clamp(28px,3vw,40px);margin:18px 0}.page-events .list small{font-size:11px;color:var(--accent)}
