/* One shared scale wins over legacy and customer-hosted typography overrides. */
html { scroll-padding-top:84px; }
#main { --type-page:clamp(1.75rem,2.8vw,2.5rem); --type-section:clamp(1.5rem,2.2vw,2rem); }
#main h1 { font-size:var(--type-page)!important; line-height:1.25!important; letter-spacing:-.025em!important; }
#main h2 { font-size:var(--type-section)!important; line-height:1.3!important; letter-spacing:-.02em!important; }
#main h3 { line-height:1.4!important; }
#main p { line-height:1.65; }
#main .eyebrow { margin-bottom:8px!important; }
#main .section { padding-top:32px!important; padding-bottom:32px!important; }
#main section[id],#main div[id] { scroll-margin-top:0; }
#main :is(.section-heading,.compact-section-heading,.teamwork-heading,.brand-section-heading) { margin-bottom:20px!important; }
#main :is(.section-heading,.compact-section-heading) h2 { margin-bottom:8px!important; }
#main :is(.section-heading,.compact-section-heading)>p { margin:0!important; font-size:1rem!important; }
#main .actions { margin-top:18px; gap:10px; }
#main .button { min-height:42px; padding:10px 18px; }
#main.subpage>.breadcrumb { padding-block:10px!important; font-size:.875rem; }
#main.subpage .page-intro { padding:18px 0!important; }
#main.subpage .page-intro :is(.section-heading,h1) { max-width:none!important; }
#main.subpage .page-intro h1 { margin:0 0 8px!important; }
#main.subpage .page-intro p { margin:0!important; max-width:95ch; font-size:1rem!important; }
#main.subpage>.page-intro+.section { padding-top:20px!important; }
#main.subpage .price-tabs { margin-bottom:14px!important; padding:5px; gap:4px; }
#main.subpage .price-tabs button { min-height:42px; padding:10px 16px; font-size:.9375rem; }
#main.subpage .price-showcase { grid-template-columns:96px minmax(0,1fr)!important; gap:20px!important; padding:16px 20px!important; margin-bottom:16px!important; }
#main.subpage .price-showcase .showcase-art { width:96px!important; height:96px!important; }
#main.subpage .showcase-copy { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:20px; }
#main.subpage .showcase-copy>h2 { font-size:1.375rem!important; margin-bottom:6px!important; }
#main.subpage .showcase-copy>p { margin-bottom:8px!important; font-size:1rem; }
#main.subpage .showcase-copy>.tags { margin:0!important; }
#main.subpage .showcase-start { grid-column:2; grid-row:1/span 4; padding:0 0 0 20px!important; margin:0!important; border-top:0; border-left:1px solid var(--border); }
#main.subpage .showcase-start strong { font-size:1.625rem!important; }
#main.subpage :is(.price-grid,.solution-grid,.module-grid) { gap:16px!important; }
#main.subpage :is(.price-card,.price-card.featured,.solution-card,.module-grid>article) { padding:20px!important; }
#main.subpage .price-card h3 { margin:8px 0!important; }
#main.subpage .price-card .badge { margin-bottom:4px!important; }
#main.subpage .price-card>p { margin-bottom:12px; }
#main.subpage .price-card .price { font-size:1.75rem!important; margin:0 0 14px!important; }
#main.subpage .price-card ul { margin-bottom:12px; line-height:1.65; }
#main.subpage .price-card li { margin-bottom:0!important; padding-block:4px; line-height:1.5!important; }
#main.subpage .price-note { margin-top:18px; padding:16px 20px; }
#main.subpage .solution-detail { padding-block:28px!important; }
#main.subpage .solution-detail .tags { margin:12px 0 16px; }
#main.subpage .project-heading { gap:20px!important; margin-bottom:20px!important; }
#main.subpage .project-heading h2 { max-width:none!important; }
#main.subpage .project-details { margin:24px 0!important; gap:24px; }
#main .studio-hero .hero-grid { min-height:0!important; padding:30px 0!important; gap:32px!important; }
#main.home-page .studio-hero .hero-copy h1 { font-size:clamp(2rem,3.3vw,3rem)!important; line-height:1.2!important; margin:0 0 14px!important; max-width:none!important; }
#main .studio-hero .hero-copy>p { font-size:1rem!important; margin-bottom:16px!important; }
#main .hero-assurances { margin-top:18px!important; gap:12px; }
#main .studio-visual { max-width:500px; justify-self:end; }
#main .studio-visual img { width:100%; height:260px!important; min-height:0!important; max-height:260px!important; object-fit:cover; object-position:center; }
#main .studio-visual-top { padding:10px 16px!important; min-height:0!important; }
#main .studio-visual-caption { padding:14px 18px; }
#main .capability-strip a { padding:16px 20px!important; gap:4px!important; }
#main .capability-strip strong { font-size:1rem!important; }
#main .compact-art-frame { height:150px!important; aspect-ratio:auto!important; }
#main .compact-art-frame .service-image { aspect-ratio:auto!important; }
#main .compact-service-copy { padding:14px 16px!important; }
#main .compact-service-copy h3 { font-size:1.125rem!important; min-height:0!important; margin-bottom:6px!important; }
#main .compact-service-copy>p { min-height:0!important; margin-bottom:12px!important; }
#main :is(.case-study-feature,.partnership-grid) { padding:20px!important; gap:24px!important; }
#main .benefit-grid { gap:14px; }
#main .benefit-grid article { padding:18px!important; }
#main .benefit-grid article>span { margin-bottom:10px; }
#main .benefit-grid h3 { margin-bottom:8px; }
#main .benefit-grid p { margin-bottom:0; }
#main .process-layout { gap:32px!important; }
#main .process-row summary { padding:16px 20px!important; }
#main .process-row .step-detail { padding:0 20px 18px!important; }
#main .teamwork-heading h2 { font-size:var(--type-section)!important; }
#main :is(.soul-link-card,.cta-inner) { padding:20px!important; }
#main :is(.soul-link-copy,.cta-inner) h2 { font-size:var(--type-section)!important; }
/* Keep the dropdown steady while the pointer moves from arrow to destination. */
.site-header { height:72px!important; z-index:100!important; overflow:visible!important; }
.site-header #main-nav>.nav-item { transform:none!important; }
.site-header #main-nav .nav-item>.nav-link { padding-block:10px!important; font-size:.9375rem!important; }
.site-header #main-nav>.nav-item>.nav-expand { height:42px!important; }
.site-header #main-nav>.nav-link { font-size:.9375rem!important; padding-block:10px!important; }
.site-header #main-nav .nav-contact { padding:10px 16px!important; min-height:42px!important; }
.site-header .nav-dropdown { z-index:101; padding:8px; max-height:calc(100dvh - 90px); overflow-y:auto; }
.site-header .nav-dropdown a { padding:10px 12px; transform:none!important; cursor:pointer; }
.site-header .brand-mark { width:40px!important; height:40px!important; }
.site-header .brand { font-size:1rem!important; }
.site-header .theme-toggle { min-height:40px; padding:8px 12px; }
@media(max-width:1050px) {
  #main.subpage .showcase-copy { display:block; }
  #main.subpage .showcase-start { margin-top:10px!important; padding:10px 0 0!important; border-top:1px solid var(--border); border-left:0; }
}
@media(max-width:900px) {
  .site-header nav { top:72px!important; max-height:calc(100dvh - 72px)!important; }
  .site-header .nav-dropdown { max-height:none; }
  #main .studio-hero .hero-grid { grid-template-columns:1fr!important; gap:20px!important; }
  #main .studio-visual { justify-self:center; width:100%; max-width:520px; }
}
@media(max-width:760px) {
  #main .section { padding-block:24px!important; }
  #main.subpage .page-intro h1 { font-size:1.75rem!important; }
  #main.subpage .price-showcase { grid-template-columns:64px minmax(0,1fr)!important; padding:16px!important; gap:14px!important; }
  #main.subpage .price-showcase .showcase-art { width:64px!important; height:64px!important; align-self:start; }
  #main.subpage .price-tabs button { flex:1 1 calc(50% - 4px); padding:9px; }
  #main .compact-art-frame { height:110px!important; }
  #main .compact-service-copy { padding:12px!important; }
  #main .capability-strip a { padding:14px!important; }
  #main .process-layout { gap:20px!important; }
}
