/* EH49 · Single source for typography roles. Loaded after legacy layout sheets.
   H1: page title; H2: section/project; H3: person/principle.
   Lead is an explicit editorial role. Home uses compact H1 to preserve media. */
:root {
  --font-heading: 'Urbanist', Arial, sans-serif;
  --font-body: 'Inter', Arial, sans-serif;
  --font-metadata: 'Inter', Arial, sans-serif;
  --text-h1: clamp(2.5rem, 5.6vw, 5rem);
  --text-h2: clamp(1.75rem, 2.6vw, 2.5rem);
  --text-h3: clamp(1.375rem, 1.8vw, 1.75rem);
  --text-lead: clamp(1.25rem, 2.1vw, 1.75rem);
  --text-body: 1rem;
  --text-label: .875rem;
  --text-meta: .8125rem;
  --type-display: var(--text-h1); --type-section: var(--text-h2);
  --type-item: var(--text-h3); --type-body: var(--text-body);
  --type-nav: var(--text-label); --type-small: var(--text-meta); --type-meta: var(--text-meta);
}
/* Specificity deliberately beats legacy page-level typography. */
html body.editorial-page {font-family:var(--font-body);font-size:var(--text-body);line-height:1.65}
html body.editorial-page :is(h1,h2,h3) {font-family:var(--font-heading);font-weight:500;text-wrap:balance;overflow-wrap:anywhere}
html body.editorial-page :is(.page-heading,.home-heading,.archive-heading) h1 {font-size:var(--text-h1);line-height:1.08;letter-spacing:-.035em}
html body.editorial-page :is(.studio-concise-label,.collage-project-info,.project-info,.contact-hero,.service-row,.contact-content) h2 {font-size:var(--text-h2);line-height:1.18;letter-spacing:-.025em}
html body.editorial-page :is(.team-card-copy,.principles-compact) h3 {font-size:var(--text-h3);line-height:1.25;letter-spacing:-.015em}
html body.editorial-page :is(p,.team-bio,.principles-compact p,.contact-brief,.service-row p,.contact-directory a,.contact-directory-row p,.social-link>span) {font-family:var(--font-body);font-size:var(--text-body);line-height:1.65;letter-spacing:normal}
html body.editorial-page :is(.ed-lead,.studio-statement) {font-size:var(--text-lead);line-height:1.6;max-width:42ch;color:var(--text)}
html body.editorial-page :is(.ed-kicker,.studio-section-index,.project-number,.project-credits,.project-credits p,.project-credits-label,.feature-meta,.project-info p,.project-info>span,.carousel-counter,.feature-controls>span,.service-row>span,.principles-compact>div>span,.site-footer,.team-role,.archive-vertical a span,.search-results small,.search-results span) {font-family:var(--font-metadata);font-size:var(--text-meta);font-weight:400;line-height:1.5;letter-spacing:.015em;color:var(--muted)}
html body.editorial-page :is(.editorial-nav a,.editorial-brand span,.editorial-theme button,.archive-vertical a,.team-collaborators-label,.form-field>span,.contact-directory a>span,.contact-directory-row>span,.text-link,.ed-button,button) {font-family:var(--font-metadata);font-size:var(--text-label);line-height:1.45;letter-spacing:normal}
html body.editorial-page :is(input,textarea,select) {font-family:var(--font-body);font-size:var(--text-body);line-height:1.5}
html body.editorial-page [data-copy] {white-space:pre-line}





html body.editorial-page .team-collaborators-list span {font-family:var(--font-body);font-size:var(--text-body);line-height:1.65}
/* Nosotros: a quiet margin column, wide statement, portrait-led team, open rows. */
html body.nosotros-page .studio-main {max-width:var(--max);padding:clamp(48px,7vw,100px) var(--gutter) 96px;margin:0 auto}
html body.nosotros-page .page-heading {display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,3fr);gap:clamp(24px,5vw,80px);padding:0 0 clamp(56px,8vw,112px);border-bottom:1px solid var(--line)}
html body.nosotros-page .page-heading .ed-kicker {padding:6px 0 0;margin:0}
html body.nosotros-page .page-heading h1 {margin:0;max-width:17ch}
html body.nosotros-page .page-heading h1 .studio-title-secondary {font:inherit;letter-spacing:inherit;line-height:inherit;color:var(--muted);display:block;margin-top:.25em}
html body.nosotros-page .studio-concise-section {display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,3fr);gap:clamp(24px,5vw,80px);padding:clamp(48px,7vw,96px) 0;border-bottom:1px solid var(--line)}
html body.nosotros-page .studio-concise-label {display:block;position:static;align-self:start}
html body.nosotros-page .studio-concise-label h2 {padding:0;margin:18px 0 0}
html body.nosotros-page .studio-concise-content {min-width:0;padding:0}
html body.nosotros-page .studio-statement {margin:0;white-space:pre-line}
html body.nosotros-page .studio-statement::first-letter {float:none;font:inherit;line-height:inherit;padding:0;margin:0;color:inherit}
html body.nosotros-page .team-principals {display:grid;grid-template-columns:1fr;gap:56px}
html body.nosotros-page .team-card {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,4vw,56px);align-items:start;padding:0;border:0;background:none}
html body.nosotros-page .team-portrait {width:100%;max-width:none;aspect-ratio:3/4;margin:0;overflow:hidden;border-radius:0}
html body.nosotros-page .team-portrait img {width:100%;height:100%;object-fit:cover;object-position:center}
html body.nosotros-page .team-card-copy {padding:12px 0 0;min-width:0}
html body.nosotros-page .team-card-copy h3 {margin:0 0 10px}
html body.nosotros-page .team-role {margin:0 0 28px}
html body.nosotros-page .team-bio {margin:0;white-space:pre-line;max-width:45ch}
html body.nosotros-page .team-card:has(.team-portrait-placeholder) {grid-template-columns:1fr}
html body.nosotros-page .team-portrait:has(.team-portrait-placeholder) {display:none}
html body.nosotros-page .team-collaborators {display:grid;grid-template-columns:1fr 2fr;gap:24px;margin-top:56px;padding-top:28px;border-top:1px solid var(--line)}
html body.nosotros-page .team-collaborators-list {display:grid;gap:14px}
html body.nosotros-page .principles-compact {display:grid;grid-template-columns:1fr;gap:0}
html body.nosotros-page .principles-compact>div {display:grid;grid-template-columns:24px minmax(0,1fr) minmax(0,1.2fr);gap:24px;padding:28px 0;border:0;border-top:1px solid var(--line);background:none;align-items:baseline}
html body.nosotros-page .principles-compact>div:first-child {padding-top:0;border-top:0}
html body.nosotros-page .principles-compact h3,html body.nosotros-page .principles-compact p {margin:0}
html body.nosotros-page .principles-compact p {color:var(--muted)}
html body.editorial-page .service-row p {white-space:pre-line}
html body.editorial-page .editorial-brand {min-width:0}
@media(max-width:800px) {
 html body.nosotros-page .page-heading,html body.nosotros-page .studio-concise-section {grid-template-columns:1fr;gap:32px}
 html body.nosotros-page .studio-concise-label {display:flex;gap:20px;align-items:baseline}
 html body.nosotros-page .studio-concise-label h2 {margin:0}
 html body.nosotros-page .page-heading h1 {max-width:20ch}
}
@media(max-width:540px) {
 html body.nosotros-page .team-card {grid-template-columns:1fr;gap:24px}
 html body.nosotros-page .team-portrait {max-width:360px}
 html body.nosotros-page .team-collaborators {grid-template-columns:1fr;gap:16px}
 html body.nosotros-page .principles-compact>div {grid-template-columns:24px minmax(0,1fr);gap:12px 18px}
 html body.nosotros-page .principles-compact p {grid-column:2}
 
}


html body.editorial-page .project-placeholder__name {font-family:var(--font-heading);font-size:var(--text-h2);line-height:1.18}
