/* v3.22 · typography, consolidated scene 02/07 stops, wider news cards */
/* Hierarchy: the cinematic hero photograph's overlay copy and controls keep original sizes. */
body{font-size:17px}
body:not(.unused) .site-header .brand-name{font-size:clamp(15px,1.02vw,18px)}
body .site-header .desktop-nav{gap:clamp(5px,.65vw,12px)}
body .site-header .desktop-nav a{font-size:clamp(12px,.80vw,14px)}
body .site-header .header-actions .btn,body .site-header .header-actions button{font-size:14px}
body .utility-nav .utility-link{font-size:12.5px}
body .announcement{font-size:12.5px}
/* Index chapter heading and body hierarchy: approximately +2px to +3px (close to 2pt). */
.sg-page .eyebrow,.notice-showcase .eyebrow{font-size:12.5px}
.sg-page .section-head h2,.sg-page .board-lead h2,.sg-page .impact-copy h2,
.sg-end-chapter .contact-strip h2{font-size:clamp(29px,2.85vw,43px)}
.sg-page .section-intro,.sg-page .board-lead p:last-child{font-size:15px;line-height:1.64}
.sg-page .text-link,.sg-page button.text-link{font-size:14px}
/* Index page project flow */
.sg-page .platform-showcase-copy h3{font-size:30px}
.sg-page .platform-showcase-copy>p:last-of-type{font-size:15px;line-height:1.65}
.sg-page .platform-points strong{font-size:15px}
.sg-page .platform-points span{font-size:13px;line-height:1.4}
.sg-page .project-info h3{font-size:16px}
.sg-page .project-info p{font-size:13px;line-height:1.5}
.sg-page .project-info .chip,.sg-page .issue-card .chip,.sg-page .board-card .chip{font-size:11.5px}
.sg-page .project-info .text-link,.sg-page .project-info button{font-size:13px}
/* About / regional issues */
.sg-page .info-card h3{font-size:18px}
.sg-page .info-card p{font-size:15px;line-height:1.64}
.sg-page .issue-card h3{font-size:18px}
.sg-page .issue-card p,.sg-page .issue-card .issue-need{font-size:14px;line-height:1.6}
.sg-page .filter-pill{font-size:14px}
.sg-page .example-note{font-size:13px}
/* Collaboration */
.sg-page .support-card strong{font-size:17px}
.sg-page .support-card>span:nth-of-type(2){font-size:14px;line-height:1.5}
.sg-page .closing-copy h3{font-size:25px}
.sg-page .closing-copy p{font-size:14px}
.sg-page .closing-actions .btn{font-size:14px}
.sg-page .collab-closing-kicker{font-size:11px}
/* Impact */
.sg-page .impact-copy>p:not(.eyebrow){font-size:15px;line-height:1.7}
.sg-page .impact-item strong{font-size:27px}
.sg-page .impact-item span{font-size:14px}
.sg-page .impact-copy .btn{font-size:14px}
/* Archive cards */
.sg-page .board-tab{font-size:14px}
.sg-page .board-card time{font-size:12px}
.sg-page .board-card h3{font-size:18px}
.sg-page .board-card p{font-size:14px}
.sg-page .board-card .board-footer button{font-size:14px}
.sg-page .board-card .board-footer small,.sg-page .board-note{font-size:13px}
/* First-chapter news: reserve headline space instead of squashing the cards. */
.sg-first-chapter .v31-news-heading h2{font-size:28px}
.sg-first-chapter .v31-news-heading p:not(.eyebrow){font-size:13px;line-height:1.55}
.sg-first-chapter .v31-news-links a{font-size:12px}
.sg-first-chapter .v31-picture-word{font-size:15px}
.sg-first-chapter .v31-news-content .notice-mini-chip{font-size:11px}
.sg-first-chapter .v31-news-content .notice-headline,.sg-first-chapter .v31-news-content strong{font-size:15px;line-height:1.48}
.sg-first-chapter .v31-news-content p{font-size:12.5px;line-height:1.5}
.sg-first-chapter .v31-news-content .v31-card-meta,.sg-first-chapter .v31-news-content time{font-size:11px}
/* Increase first-page available horizontal space but keep readable gutters and right paging rail. */
@media(min-width:1180px){
  .sg-first-chapter .notice-showcase.news-gradient>.container{
    width:min(calc(100% - 116px),1530px)!important;
    max-width:none!important;
  }
  .sg-first-chapter .notice-showcase.news-gradient .v31-news-layout{
    grid-template-columns:minmax(175px,195px) repeat(3,minmax(0,1fr));gap:15px;
  }
  .sg-first-chapter .v31-news-content{padding:13px 17px 14px;min-height:126px}
  .sg-first-chapter .v31-news-picture{height:77px}
}
@media(min-width:1024px) and (max-width:1179px){
  .sg-first-chapter .notice-showcase.news-gradient>.container{width:min(calc(100% - 88px),1100px)!important;}
  .sg-first-chapter .notice-showcase.news-gradient .v31-news-layout{grid-template-columns:168px repeat(3,minmax(0,1fr));gap:10px;}
}
/* PC reading density: scene 02 (projects) and scene 07 (archive). Maintain normal flow on mobile. */
@media(min-width:1024px) and (hover:hover) and (pointer:fine){
  html.sg-scene-ready #projects{padding:24px 0 22px!important;}
  html.sg-scene-ready #projects .section-head{margin-bottom:14px!important;align-items:center;}
  html.sg-scene-ready #projects .section-head h2{font-size:clamp(29px,2.55vw,37px)}
  html.sg-scene-ready #projects .platform-showcase{
    grid-template-columns:minmax(0,1fr) minmax(310px,355px);
    gap:14px;min-height:244px;padding:16px 20px;margin-bottom:13px;
  }
  html.sg-scene-ready #projects .platform-showcase-copy h3{font-size:23px;margin:0 0 4px}
  html.sg-scene-ready #projects .platform-showcase-copy>p:last-of-type{font-size:13.5px;line-height:1.5}
  html.sg-scene-ready #projects .platform-points{gap:7px;margin-top:10px}
  html.sg-scene-ready #projects .platform-points li{padding:8px 11px}
  html.sg-scene-ready #projects .platform-points strong{font-size:13.5px;margin:0}
  html.sg-scene-ready #projects .platform-points span{font-size:11.5px;line-height:1.33}
  html.sg-scene-ready #projects .platform-showcase-visual{height:228px;position:relative;min-width:0}
  html.sg-scene-ready #projects .platform-showcase-visual .hero-art{
    position:absolute;top:50%;left:50%;height:370px;width:420px;max-width:none;
    margin:0!important;transform:translate(-50%,-50%) scale(.61)!important;transform-origin:center center;
  }
  html.sg-scene-ready #projects .projects-grid{gap:10px}
  html.sg-scene-ready #projects .project-graphic.project-photo{height:104px}
  html.sg-scene-ready #projects .project-card{min-height:0}
  html.sg-scene-ready #projects .project-info{padding:11px 11px 12px}
  html.sg-scene-ready #projects .project-info h3{font-size:15px;line-height:1.33;margin:6px 0 5px}
  html.sg-scene-ready #projects .project-info p{font-size:12.5px;line-height:1.35}
  html.sg-scene-ready #projects .project-info .text-link{margin-top:7px;font-size:12px}
  html.sg-scene-ready #resources{padding:24px 0 25px!important}
  html.sg-scene-ready #resources .board-lead{gap:15px;margin-bottom:13px}
  html.sg-scene-ready #resources .board-tabs{padding-bottom:9px;margin-bottom:12px}
  html.sg-scene-ready #resources .board-tab{padding:8px 13px}
  html.sg-scene-ready #resources .board-grid{gap:10px}
  html.sg-scene-ready #resources .board-card{min-height:0}
  html.sg-scene-ready #resources .board-card .board-image{height:76px}
  html.sg-scene-ready #resources .board-card-body{padding:11px 14px}
  html.sg-scene-ready #resources .board-card h3{margin:7px 0 5px;font-size:16.5px;line-height:1.37}
  html.sg-scene-ready #resources .board-card p{font-size:13px;line-height:1.4}
  html.sg-scene-ready #resources .board-card .board-footer{margin-top:9px}
  html.sg-scene-ready #resources .board-note{margin-top:11px;font-size:11.5px}
}
/* Extremely short desktops: favor one meaningful chapter per wheel turn without hiding article text. */
@media(min-width:1024px) and (hover:hover) and (pointer:fine) and (max-height:750px){
  html.sg-scene-ready #projects{padding:14px 0!important}
  html.sg-scene-ready #projects .platform-showcase{min-height:220px;padding:10px 15px;margin-bottom:9px}
  html.sg-scene-ready #projects .platform-showcase-visual{height:202px}
  html.sg-scene-ready #projects .platform-showcase-visual .hero-art{transform:translate(-50%,-50%) scale(.55)!important}
  html.sg-scene-ready #projects .project-graphic.project-photo{height:86px}
  html.sg-scene-ready #resources{padding:13px 0!important}
  html.sg-scene-ready #resources .board-lead{margin-bottom:7px}
  html.sg-scene-ready #resources .board-tabs{margin-bottom:8px;padding-bottom:6px}
  html.sg-scene-ready #resources .board-card-body{padding:8px 11px}
  html.sg-scene-ready #resources .board-card .board-image{height:64px}
}
/* Mobile: no forced fullpage scene size; bigger text remains legible without sideways clipping. */
@media(max-width:1023px){
  .sg-page .section-head h2,.sg-page .board-lead h2{font-size:clamp(27px,5vw,34px)}
  .sg-first-chapter .notice-showcase.news-gradient .v31-news-layout{width:100%;}
  .sg-page .platform-showcase-copy h3{font-size:26px}
}
@media(max-width:740px){
  .site-header .brand-name{font-size:15px!important}
  .sg-page .section-intro{font-size:14px}
  .sg-page .platform-points span{font-size:13px}
  .sg-page .project-info h3{font-size:16px}
  .sg-first-chapter .v31-news-content .notice-headline{font-size:16px!important}
}
/* Subpage board writing/readability, excludes cinematic hero copy. */
body[data-board-page] .subpage-hero h1{font-size:clamp(31px,3vw,40px)}
body[data-board-page] .subpage-hero p{font-size:15px}
body[data-board-page] .community-heading-row h2{font-size:28px}
body[data-board-page] .community-row .board-title{font-size:15px}
body[data-board-page] .community-explainer,body[data-board-page] .community-row time{font-size:13px}
body[data-board-page] .sg-modal-body>p,body[data-board-page] .sg-post-content{font-size:15px}
/* Footer, organization and operational information */
.footer .footer-organization{font-size:17px}
.footer .footer-links a,.footer .footer-business,.footer .footer-business strong,.footer .footer-business a{font-size:14px}
.footer .footer-bottom p{font-size:12px}
.footer-banner-copy b{font-size:16px}
.footer-banner-copy small{font-size:13px}
.contact-strip .contact-mini small{font-size:13px}
.contact-strip .contact-mini strong,.contact-strip .contact-mini a{font-size:15px}
.contact-strip .contact-strip-inner p{font-size:14px}
