/* Shared, calmer type scale. Small labels retain their readable size. */
.v1 .hero h1{font-size:clamp(36px,4.2vw,58px);line-height:1.1;margin:22px 0}
.v1 main h2,.v1 .team-section .section-head h2,.v1 .compact-process h2{font-size:clamp(27px,2.6vw,36px);line-height:1.18}
.v1 .service-description h3,.v1 .process-panel h3,.v1 .formats-grid h3{font-size:23px;line-height:1.25}
.v1 .story-value h3{font-size:20px;min-height:50px}
.v1 .section-head{margin-bottom:26px}
.budget-glass{padding:22px;border-radius:22px}
.budget-heading{gap:24px}
.v1 .budget-heading h2{font-size:28px}
.budget-heading p{margin:0}
.budget-totals{margin:18px 0;padding:14px 0}
.budget-totals strong{font-size:34px}

.budget-explorer{gap:20px}
.budget-list{height:220px}
.budget-example{padding:8px 11px}
.budget-detail{padding-left:20px}
.budget-detail h3{font-size:20px;margin:8px 0 12px;min-height:50px}
.budget-track{height:7px;margin-bottom:9px}
.budget-difference{margin-bottom:8px}
@media(max-width:700px){
 .v1 .hero h1{font-size:36px}
 .v1 main h2,.v1 .team-section .section-head h2,.v1 .compact-process h2{font-size:27px}
 .v1 .service-description h3,.v1 .process-panel h3,.v1 .formats-grid h3{font-size:21px}
 .v1 .story-value h3{min-height:0}
 .budget-glass{padding:18px}
 .budget-heading{gap:12px}
 .v1 .budget-heading h2{font-size:26px}
 .budget-totals{gap:16px 0}
 .budget-totals strong{font-size:30px}
 .budget-list{height:168px}
 .budget-example{min-height:44px}
 .budget-detail{padding:18px 0 0}
}
/* One visual rhythm for all section titles, including inset panels. */
.v1 main h2,
.v1 .team-section .section-head h2,
.v1 .compact-process h2,
.v1 .budget-heading h2{font-size:clamp(26px,2.5vw,32px);font-weight:550;line-height:1.2;letter-spacing:-.035em;text-wrap:balance}
@media(max-width:700px){
 .v1 main h2,.v1 .team-section .section-head h2,.v1 .compact-process h2,.v1 .budget-heading h2{font-size:26px}
}
/* Title sits within the left column, not in a separate row above both. */
.process-navigation{min-width:0;padding:26px 22px;display:flex;flex-direction:column;justify-content:center;gap:20px}
.process-navigation .process-block-heading{padding:0;border:0;background:none}
.v1 .compact-process .process-navigation h2{font-size:clamp(23px,2vw,28px);line-height:1.22;max-width:26ch;text-wrap:balance}
.process-navigation .process-options{padding:0;gap:8px;align-content:start;grid-auto-rows:minmax(50px,auto)}
.process-navigation .process-option{min-height:50px}
@media(max-width:700px){.process-navigation{padding:22px;gap:16px}.v1 .compact-process .process-navigation h2{font-size:24px}.process-navigation .process-options{gap:5px}}
