/* Case text, project chapters, and concise project summary. */
.hero.hero--compact { display: block; text-align: center; padding-top: 45px; padding-bottom: 38px; }
.hero--compact .hero-copy { max-width: 1000px; margin-inline: auto; }
.hero--compact .eyebrow, .hero--compact .hero-services { justify-content: center; }
.hero--compact h1 { font-size: clamp(40px, 4.5vw, 64px); white-space: nowrap; margin-top: 21px; }
.hero--compact h1 br { display: none; }
.hero--compact h1 em { margin-left: 16px; }
.hero--compact .hero-description { margin-top: 20px; }
.hero--compact .hero-services { margin-top: 17px; }
.hero--compact .hero-copy > .button { margin-top: 24px; }
.subheading { margin: 32px 0 20px; gap: 12px; }
.subheading h4 { font-size: 19px; font-weight: 700; }
.subheading::before { height: 19px; }
.subheading > span { font-size: 9px; }
table { font-size: 14px; min-width: 850px; }
th { font-size: 12px; padding: 14px 10px; }
td { padding: 14px 10px; line-height: 1.85; }
.td-title { font-weight: 650; }
.td-views { font-size: 15px; }
.analysis-grid { gap: 0 36px; }
.analysis-card { padding: 25px 0; }
.analysis-card h4 { font-size: 17px; font-weight: 700; line-height: 1.7; margin-bottom: 12px; }
.analysis-card h4::before { font-size: 12px; min-width: 21px; padding-top: 4px; }
.analysis-card p { font-size: 15px; line-height: 1.95; color: #53677f; padding-left: 31px; }
.insight { font-size: 15px; line-height: 1.95; color: #53677f; padding: 23px 25px; }
.insight strong { font-size: 15px; margin-bottom: 8px; }
.detail-lead { font-size: 15px; line-height: 1.9; color: #53677f; margin: 0 0 22px; }
.project-contents { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 7px 0 35px; }
.project-contents[data-chapters="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.snow-profile-metrics .project-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.project-body .project-contents a { display: flex; align-items: center; gap: 9px; padding: 16px 14px; border: 1px solid #d9e5f6; border-radius: 5px; background: #f5f9ff; font-size: 12px; line-height: 1.65; color: #2e5489; }
.project-body .project-contents a:hover { background: #e9f2ff; border-color: #9cc2fa; }
.project-contents a > span { font-size: 10px; color: #7395c6; }
.project-contents a > b { margin-left: auto; font-weight: 400; color: var(--blue); }
.project-chapter { scroll-margin-top: 18px; }
.project-chapter + .project-chapter { margin-top: 46px; padding-top: 35px; border-top: 1px solid #dce5f1; }
.chapter-title { display: flex; align-items: center; gap: 13px; margin-bottom: 25px; }
.chapter-title > span { display: grid; place-items: center; width: 31px; height: 31px; flex-shrink: 0; border-radius: 5px; font-size: 12px; color: var(--blue); background: #eaf2ff; }
.chapter-title > h4 { font-size: 23px; font-weight: 700; letter-spacing: -.5px; line-height: 1.6; }
.project-chapter > .subheading { margin-top: 0; }
.project-chapter > .single-image { margin-top: 0; }
.project-chapter .image-caption { font-size: 13px; }
.project-chapter .image-caption small { font-size: 11px; }
.project-chapter .profile-chart h4 { font-size: 14px; }
.profile-chart { min-width: 0; overflow: hidden; }
.profile-chart > .chart { min-width: 0; }
.formula { display: block; padding: 29px 31px; margin-top: 36px; border-radius: 8px; background: #172b49; }
.formula-heading > span { display: block; font-size: 13px; color: #a9c9fa; margin-bottom: 9px; letter-spacing: .6px; }
.formula-heading h4 { font-size: 23px; line-height: 1.6; font-weight: 650; letter-spacing: -.3px; }
.formula-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; padding: 0; margin: 24px 0 0; gap: 22px; }
.formula-steps li { display: flex; align-items: flex-start; gap: 11px; padding-top: 17px; border-top: 1px solid #ffffff2b; }
.formula-steps li > span { color: #85b5ff; font-size: 12px; padding-top: 3px; }
.formula-steps strong { font-size: 17px; font-weight: 650; color: #fff; line-height: 1.7; }
.formula-steps p { font-size: 14px; line-height: 1.85; color: #bfd0e9; margin-top: 7px; }
.formula .formula-evidence { font-size: 14px; line-height: 1.85; color: #c8d9f0; padding-top: 19px; margin-top: 22px; border-top: 1px solid #ffffff2b; }
.experience-section { padding-top: 60px; padding-bottom: 54px; }
.experience-section h2 { font-size: 28px; font-weight: 650; letter-spacing: -.5px; line-height: 1.65; margin-top: 13px; }
.experience-copy { max-width: 930px; font-size: 16px; color: #60748e; line-height: 1.95; margin-top: 16px; }
.site-footer { padding-top: 25px; border-top: 1px solid var(--line); }
@media (max-width: 1000px) {
  .project-contents[data-chapters="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-contents { gap: 9px; }
  .project-body .project-contents a { padding: 13px 11px; font-size: 11px; gap: 7px; }
  .formula-steps { gap: 16px; }
  .formula-steps strong { font-size: 16px; }
}
@media (max-width: 800px) {
  .project-contents[data-chapters="4"] { grid-template-columns: minmax(0, 1fr); }
  .analysis-grid { grid-template-columns: 1fr; }
  .analysis-card p { font-size: 15px; }
  .project-contents { grid-template-columns: 1fr; gap: 8px; margin-bottom: 27px; }
  .project-body .project-contents a { font-size: 13px; padding: 12px 14px; }
  .formula { padding: 25px; }
  .formula-heading h4 { font-size: 21px; }
  .formula-steps { grid-template-columns: 1fr; gap: 17px; margin-top: 20px; }
  .formula-steps li { padding-top: 14px; }
  .formula-steps strong { font-size: 17px; }
  .formula-steps p { font-size: 14px; margin-top: 3px; }
}
@media (max-width: 580px) {
  .hero.hero--compact { padding-top: 32px; padding-bottom: 30px; }
  .hero--compact h1 { font-size: 44px; white-space: normal; line-height: 1.22; }
  .hero--compact h1 br { display: block; }
  .hero--compact h1 em { margin-left: 0; }
  .subheading { margin: 27px 0 17px; gap: 9px; flex-wrap: wrap; }
  .subheading h4 { font-size: 17px; line-height: 1.7; }
  .subheading::before { height: 17px; }
  .subheading > span { font-size: 7px; }
  .responsive-table { font-size: 14px; }
  .responsive-table tr { padding: 16px; gap: 13px 12px; }
  .responsive-table td { line-height: 1.75; }
  .responsive-table td::before { font-size: 11px; color: #7c8da4; margin-bottom: 3px; }
  .responsive-table td.td-title { font-size: 14px; padding-bottom: 12px; font-weight: 650; }
  .responsive-table td.table-date { font-size: 11px; margin-bottom: -7px; }
  .responsive-table td.td-views { font-size: 15px; }
  .analysis-card { padding: 20px 0; }
  .analysis-card h4 { font-size: 16px; margin-bottom: 11px; gap: 9px; }
  .analysis-card h4::before { font-size: 11px; min-width: 19px; }
  .analysis-card p { padding-left: 28px; font-size: 14px; line-height: 1.95; }
  .insight { font-size: 14px; padding: 18px; }
  .insight strong { font-size: 14px; }
  .detail-lead { font-size: 14px; line-height: 1.9; }
  .chapter-title { gap: 10px; margin-bottom: 21px; align-items: flex-start; }
  .chapter-title > span { width: 26px; height: 26px; font-size: 10px; margin-top: 3px; }
  .chapter-title > h4 { font-size: 20px; line-height: 1.65; }
  .project-chapter { scroll-margin-top: 14px; }
  .project-chapter + .project-chapter { margin-top: 33px; padding-top: 28px; }
  .project-chapter .image-caption { font-size: 12px; padding: 11px; }
  .formula { padding: 22px 19px; margin-top: 29px; }
  .formula-heading > span { font-size: 12px; margin-bottom: 10px; }
  .formula-heading h4 { font-size: 21px; line-height: 1.6; }
  .formula-steps strong { font-size: 16px; }
  .formula-steps p { font-size: 14px; }
  .formula .formula-evidence { font-size: 13px; line-height: 1.9; padding-top: 17px; margin-top: 19px; }
  .experience-section { padding-top: 37px; padding-bottom: 35px; }
  .experience-section h2 { font-size: 23px; line-height: 1.65; }
  .experience-copy { font-size: 14px; line-height: 1.95; margin-top: 13px; }
}
