/* Shared heading hierarchy; typography matches the Tracy Ting wordmark. */
:root{--title-font-family:'DM Sans',sans-serif;--title-font-weight:600;--title-letter-spacing:-.04em;--page-headline-size:clamp(38px,5.3vw,72px);--page-headline-line:1.05;--page-headline-tracking:var(--title-letter-spacing);--page-heading-ink:#23291f;--page-heading-rule:#dedfd6}
body[data-page]:not([data-page=home]) .page-top.page-intro{display:block;padding:65px 0 35px;margin:0 0 35px;border-bottom:1px solid var(--page-heading-rule);max-width:none}
body[data-page]:not([data-page=home]) .page-intro .page-intro-content{max-width:none}
body[data-page]:not([data-page=home]) .page-intro .page-intro-eyebrow{display:block;font:9px/1.5 'IBM Plex Mono',monospace;letter-spacing:.08em;color:#727b64;margin:0 0 25px}
body[data-page]:not([data-page=home]) .page-intro .page-intro-copy{max-width:none;letter-spacing:normal;font:inherit}
body[data-page]:not([data-page=home]) .page-intro .page-intro-copy h1,
body[data-page]:not([data-page=home]) .postal-hero h1,
body[data-page]:not([data-page=home]) .endorsements-intro h1{display:block;font:var(--title-font-weight) var(--page-headline-size)/var(--page-headline-line) var(--title-font-family);letter-spacing:var(--page-headline-tracking);color:var(--page-heading-ink);max-width:1000px;margin:0;padding:0}
body[data-page]:not([data-page=home]) .page-intro .page-intro-copy h1 em{font:inherit;letter-spacing:inherit}
body[data-page]:not([data-page=home]) .page-intro .page-intro-copy>p{display:block;font:14px/1.8 'DM Sans',sans-serif;letter-spacing:normal;color:#626a58;max-width:630px;margin:25px 0 0;padding:0}
body[data-page]:not([data-page=home]) .postal-hero h1{margin:25px 0 0}
body[data-page]:not([data-page=home]) .endorsements-intro h1{margin:25px 0}
@media(max-width:650px){:root{--page-headline-size:38px;--page-headline-line:1.07}body[data-page]:not([data-page=home]) .page-top.page-intro{padding:35px 0 26px;margin-bottom:26px}body[data-page]:not([data-page=home]) .page-intro .page-intro-eyebrow{font-size:8px;margin-bottom:20px}body[data-page]:not([data-page=home]) .page-intro .page-intro-copy>p{font-size:12px;margin-top:20px}body[data-page]:not([data-page=home]) .postal-hero h1{margin-top:20px}}
@media(max-width:360px){:root{--page-headline-size:34px}}
body[data-page=collaborate] .page-top.page-intro+.collab-feature{border-top:0;padding-top:10px}

/* Central title policy wins over the older component-specific serif declarations.
   Keep every component's responsive size, line height, layout and colour. */
body[data-page] #main :is(h1,h2,h3,h4,h5,h6,.career-summary-title,.collab-role-heading>p,.collab-role-tab,.case-category-links>a>span:last-child,.big-number,.event-metrics strong),
body[data-page] #enquiry legend{
 font-family:var(--title-font-family);
 font-weight:var(--title-font-weight);
 font-style:normal;
 letter-spacing:var(--title-letter-spacing);
}
body[data-page] #main :is(h1,h2,h3,h4,h5,h6,.career-summary-title) :is(em,strong,b,span){
 font-family:inherit;
 font-weight:inherit;
 font-style:inherit;
 letter-spacing:inherit;
}
body[data-page] #main :is(h1,h2,h3,h4,h5,h6){text-wrap:balance}

/* One quiet introduction system: eyebrow, title, rule, supporting copy. */
:root{--page-headline-size:clamp(30px,3.2vw,46px);--page-headline-line:1.16;--title-font-weight:500;--title-letter-spacing:-.025em}
body[data-page]:not([data-page=home]) #main .page-top.page-intro{padding:48px 0 30px;margin:0 0 30px}
body[data-page=about] #main .postal-hero{padding:48px 0 40px}
body[data-page=about] #main .about-page-heading{padding:0 0 30px;margin:0;border-bottom:1px solid var(--page-heading-rule)}
body[data-page]:not([data-page=home]) #main .page-intro-eyebrow,
body[data-page=about] #main .about-page-heading>.mono{display:block;font:9px/1.5 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:#727b64;margin:0 0 20px}
body[data-page]:not([data-page=home]) #main .page-intro .page-intro-copy h1,
body[data-page=about] #main .postal-hero h1{font:500 var(--page-headline-size)/1.16 'DM Sans',sans-serif;letter-spacing:-.025em;max-width:900px;margin:0;padding:0;text-wrap:pretty}
body[data-page=about] #main .about-bio-row{padding-top:30px;align-items:start}
body[data-page] #main .case-summary>p,
body[data-page=about] #main .about-bio-row .postal-intro p,
body[data-page=collaborate] #main .intro-summary>p{font:400 15px/1.8 'DM Sans',sans-serif;color:#50574b;max-width:730px;margin:0}
body[data-page=collaborate] #main .intro-summary{margin:0 0 38px}
body[data-page] #main .case-summary dd{font-size:12px;line-height:1.75}
@media(max-width:650px){:root{--page-headline-size:30px}
body[data-page]:not([data-page=home]) #main .page-top.page-intro{padding:30px 0 24px;margin-bottom:24px}
body[data-page=about] #main .postal-hero{padding:30px 0}
body[data-page=about] #main .about-page-heading{padding-bottom:24px}
body[data-page=about] #main .about-bio-row{padding-top:24px}
body[data-page]:not([data-page=home]) #main .page-intro-eyebrow,body[data-page=about] #main .about-page-heading>.mono{font-size:8px;margin-bottom:16px}
body[data-page] #main .case-summary>p,body[data-page=about] #main .about-bio-row .postal-intro p,body[data-page=collaborate] #main .intro-summary>p{font-size:14px;line-height:1.8}}
