/* V4 supporting type: retain the display hierarchy and improve reading sizes. */
:root{--muted:#535a70}
body{font-size:16px}
nav,#menu{font-size:14px}
.header-note{font-size:12px;letter-spacing:.65px}
.edition,.hero-foot{font-size:12px;letter-spacing:.8px;line-height:1.5}
.hero-description p{font-size:17px;line-height:1.6}
.cta,.approach .cta{font-size:15px;line-height:1.5}
.poster-top,.poster-bottom{font-size:12px;letter-spacing:.5px;line-height:1.5;gap:16px}
.poster-top>span:first-child{white-space:nowrap}
.poster-top>span:last-child{text-align:right;max-width:70%}
.poster-bottom>span{max-width:calc(100% - 48px)}
.disc-label{font-size:12px;letter-spacing:.5px;left:52px;top:70px}
.poster-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 16px}
.poster-controls>span{grid-column:1/-1;font-size:12px;letter-spacing:.5px;width:auto}
.poster-controls button{font-size:14px;text-align:left;line-height:1.5;padding:10px 0}
.intro-copy p,.desk-title p,.attention-grid>div>p,.stack-head p,.stack-detail p,.notes details p,.contact-grid>div>p{font-size:16px;line-height:1.7}
.intro-copy p,.stack-detail p,.notes details p,.contact-grid>div>p{color:var(--muted)}
legend{font-size:18px;line-height:1.5}
small,.stack-list summary>small{font-size:12px;color:var(--muted)}
.chips button{font-size:14px;line-height:1.4;padding:12px 15px}
label{font-size:14px;line-height:1.5}
select,input,textarea,.contact input,.contact textarea{font-size:16px;line-height:1.5}
.budget-label>span{font-size:12px;letter-spacing:.4px;color:var(--muted)}
.fine,.approach .fine{font-size:12px;line-height:1.7;color:var(--muted)}
.approach-top{font-size:12px;letter-spacing:.6px;line-height:1.5}
.approach>p{font-size:16px;line-height:1.7}
.layer{grid-template-columns:110px 1fr;padding:16px 0}
.layer>span{font-size:12px;letter-spacing:.3px;line-height:1.5}
.layer strong{font-size:15px;line-height:1.5;font-weight:600}
.layer p{font-size:14px;line-height:1.65;color:var(--muted);margin-top:6px}
.approach-market{font-size:12px;color:var(--muted);line-height:1.6}
.attention-buttons button{font-size:15px;line-height:1.5;padding:16px 0}
.attention-buttons span{font-size:12px}
.chart-top{font-size:12px;letter-spacing:.5px;flex-wrap:wrap;gap:10px;line-height:1.5}
.chart-bottom p{font-size:16px;line-height:1.6;max-width:230px}
.dot-chart>.fine{font-size:12px;color:#d0d1e4}
.stack-list summary>span{font-size:14px;line-height:1.6;color:var(--muted)}
.platforms{font-size:17px!important}
.notes summary{font-size:17px;line-height:1.5}
.tagline{font-size:12px;line-height:1.7;letter-spacing:.6px}
.contact-form-head button{font-size:14px;line-height:1.5;padding:8px 0}
.contact-form-head+p,#email-status{font-size:14px;line-height:1.6;color:var(--muted)}
.contact input::placeholder,.contact textarea::placeholder{color:#62697b}
#copy-brief{font-size:16px;line-height:1.6}
footer>div{font-size:12px;line-height:1.8;letter-spacing:.4px}
.partners-heading>p{font-size:14px;line-height:1.5;color:var(--muted)}
.partner-choice{min-height:200px;height:100%}
.partner-name{font-size:16px;line-height:1.4}
.partner-category{font-size:12px;line-height:1.45;letter-spacing:.1px;color:var(--muted)}
#partner-role{font-size:12px;line-height:1.5;letter-spacing:.6px}
#partner-description{font-size:16px;line-height:1.7}
.partner-detail{min-height:220px}
@media(max-width:1000px){
  .layer{grid-template-columns:95px 1fr}
}
@media(max-width:700px){
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .hero h1{font-size:22vw}
  .edition,.hero-foot{font-size:12px;letter-spacing:.5px}
  .hero-description p{font-size:16px}
  .hero-description{gap:14px}
  .poster-controls{gap:6px 12px}
  .poster-controls>span{font-size:12px;width:auto}
  .poster-controls button{font-size:14px}
  .poster-top,.poster-bottom{font-size:12px}
  .poster{height:575px}
  .disc-label{font-size:12px;left:42px;top:59px}
  .desk-title p,.stack-head p{font-size:16px}
  .chips button{font-size:14px;padding:12px}
  .layer{grid-template-columns:1fr;gap:6px}
  .layer>span{padding-top:0}
  .approach{padding:24px}
  .chart-top{font-size:12px}
  .chart-bottom{flex-wrap:wrap;align-items:flex-start;gap:16px}
  .chart-bottom p{font-size:16px;max-width:none}
  .platforms{font-size:16px!important}
  .stack-list summary{grid-template-columns:28px 1fr 20px}
  .stack-detail{padding-left:0}
  .notes summary{font-size:17px}
  .contact .form-pair{grid-template-columns:1fr;gap:20px}
  .contact input,.contact textarea{font-size:16px}
  footer>div{font-size:12px}
  footer>div:last-child{gap:14px;flex-wrap:wrap}
  .partners-heading>p{font-size:14px}
  .partner-choice{min-height:190px;padding:26px 12px 22px}
  .partner-name{font-size:14px}
  .partner-category{font-size:12px}
  .partner-detail{min-height:0}
  #partner-description{font-size:16px}
}
@media(max-width:360px){.poster-type{font-size:50px}}

/* Poster caption uses the full width after decorative arrows are removed. */
.poster-bottom>span{max-width:100%}
