/* Shared specimens and full-page studies. Only typography varies by pairing. */
.type-precise { --type-heading:"Space Grotesk",sans-serif; --type-body:"DM Sans",sans-serif; --type-weight:500; --type-tracking:-.055em; }
.type-editorial { --type-heading:"Fraunces",Georgia,serif; --type-body:"Manrope",sans-serif; --type-weight:450; --type-tracking:-.045em; }
.type-forward { --type-heading:"Sora",sans-serif; --type-body:"Source Sans 3",sans-serif; --type-weight:500; --type-tracking:-.06em; }
.type-atelier { --type-heading:"Instrument Serif",Georgia,serif; --type-body:"Plus Jakarta Sans",sans-serif; --type-weight:400; --type-tracking:-.025em; }
.type-character { --type-heading:"Bricolage Grotesque",sans-serif; --type-body:"IBM Plex Sans",sans-serif; --type-weight:550; --type-tracking:-.055em; }
.type-study { font-family:var(--type-body); }
.type-study h1,.type-study h2,.type-study .steps h3,.type-study .use-cases h3,.type-study .temporal-heading h3,.type-study .option-brand,
.type-specimen .specimen-heading,.type-specimen .specimen-brand {
  font-family:var(--type-heading); font-weight:var(--type-weight); letter-spacing:var(--type-tracking); font-optical-sizing:auto;
}
.type-study .studio-hero h1 { font-size:clamp(2.65rem,5.65vw,5.55rem); line-height:1.09; text-wrap:balance; }
.type-study .studio-intro { line-height:1.7; }
.type-study .option-brand span { font-family:var(--type-body); letter-spacing:.035em; }
.type-study .workspace h3 { font-family:var(--type-body); font-weight:600; }
.type-study .workspace,.type-study .step-detail { overflow-wrap:anywhere; }
.type-atelier .studio-hero h1 em,.type-atelier .specimen-heading em { font-style:italic; }
.type-study .option-eyebrow { font-size:.8125rem; }
.type-review { font-family:"DM Sans",sans-serif; background:#eef1f7; border-bottom:1px solid #dce1eb; color:#46516b; }
.type-review-inner { width:min(1200px,calc(100% - 3rem)); margin:auto; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 0; }
.type-review a { font-size:.875rem; text-decoration:none; }
.type-review p { font-size:.875rem; line-height:1.5; text-align:center; }
.type-review p span { display:block; font-size:.8125rem; }
.type-review nav { display:flex; flex-wrap:wrap; gap:.35rem; }
.type-review nav a { padding:.35rem .65rem; border:1px solid #b9c3d8; border-radius:5px; }
.type-review nav a[aria-current] { color:#fff; background:#405bb3; border-color:#405bb3; }
.type-comparison { background:#fbfcfe; font-family:"DM Sans",sans-serif; }
.type-container { width:min(1240px,calc(100% - 4rem)); margin-inline:auto; }
.type-overview-nav { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; padding-block:1.6rem; border-bottom:1px solid #dce1eb; font-size:.875rem; }
.type-overview-nav a { text-decoration:none; }
.type-home { font-size:1.65rem; font-weight:600; letter-spacing:-.06em; }
.type-home span { font-size:.8rem; font-weight:400; letter-spacing:0; margin-left:.45rem; color:#5b6474; }
.type-intro { padding-block:3.5rem 2.7rem; max-width:46rem; }
.type-kicker { text-transform:uppercase; letter-spacing:.13em; font-size:.8125rem; color:#50658f; margin-bottom:1rem; }
.type-intro h1 { font-size:clamp(2.5rem,4.5vw,4rem); font-weight:500; letter-spacing:-.055em; }
.type-intro>p:last-child { max-width:39rem; margin-top:1.1rem; color:#5b6474; font-size:1.0625rem; }
.type-cards { display:grid; gap:1.5rem; }
.type-card { display:grid; grid-template-columns:300px minmax(0,1fr); border:1px solid #dce1eb; border-radius:12px; overflow:hidden; background:white; }
.type-card-info { padding:1.8rem; background:#f0f3f9; font-family:"DM Sans",sans-serif; }
.type-number { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; color:#50658f; font-size:.75rem; letter-spacing:.07em; }
.type-pick { font-size:.75rem; background:#e0e7fa; color:#344b98; padding:.15rem .45rem; border-radius:4px; letter-spacing:0; }
.type-card-info h2 { font:500 1.45rem/1.2 "DM Sans",sans-serif; letter-spacing:-.03em; margin-top:.75rem; }
.type-card-info dl { margin:1.3rem 0 1rem; }
.type-card-info dl div+div { margin-top:.7rem; }
.type-card-info dt { font-size:.75rem; color:#5b6474; }
.type-card-info dd { margin:0; font-size:1rem; font-weight:500; }
.type-card-info>p:last-of-type { font-size:.875rem; color:#5b6474; line-height:1.65; }
.type-open { display:inline-block; margin-top:1.2rem; color:#344b98; font-size:.875rem; font-weight:600; }
.type-specimen { padding:2rem clamp(1.25rem,3.7vw,3.5rem); font-family:var(--type-body); display:flex; flex-direction:column; justify-content:center; }
.specimen-brand { font-size:1.8rem; line-height:1; margin-bottom:1.6rem; }
.specimen-brand span { display:inline-block; font-family:var(--type-body); font-size:.75rem; color:#657084; font-weight:400; letter-spacing:0; margin-left:.6rem; }
.specimen-heading { font-size:clamp(2.1rem,3.6vw,3.1rem); line-height:1.12; }
.specimen-heading em { color:#405bb3; font-style:normal; }
.specimen-body { max-width:40rem; color:#5b6474; font-size:1rem; line-height:1.7; margin-top:1.2rem; }
.specimen-interface { margin-top:1.5rem; padding-top:1rem; border-top:1px solid #e0e4ec; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; font-size:.875rem; color:#5b6474; }
.specimen-interface strong { color:#222938; margin-left:.5rem; font-weight:600; }
.specimen-status { background:#fff4dc; color:#76530c; border:1px solid #e8d7ac; padding:.2rem .6rem; border-radius:4px; font-size:.8125rem; }
.type-overview-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; padding-block:2rem; color:#5b6474; font-size:.875rem; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:900px) {
  .type-card { grid-template-columns:240px minmax(0,1fr); }
  .type-card-info { padding:1.4rem; }
  .specimen-heading { font-size:2.25rem; }
  .type-review-inner { flex-wrap:wrap; }
}
@media(max-width:650px) {
  .type-container { width:calc(100% - 2rem); }
  .type-intro { padding-block:2.5rem 2rem; }
  .type-card { grid-template-columns:1fr; }
  .type-card-info { padding:1.4rem; }
  .type-card-info dl { display:flex; flex-wrap:wrap; gap:.7rem 2rem; }
  .type-card-info dl div+div { margin-top:0; }
  .type-specimen { padding:1.8rem 1.4rem; }
  .specimen-heading { font-size:clamp(1.8rem,7vw,2.6rem); }
  .type-review-inner { width:calc(100% - 2rem); gap:.75rem; }
  .type-review p { text-align:left; }
  .type-review nav { width:100%; }
  .type-study .studio-hero h1 { font-size:clamp(2.1rem,8.2vw,3.35rem); }
}
