/* A continuous background connects the homepage sections below the hero. */
.homepage { --homepage-background: #f2f6fc; background: var(--homepage-background); }
.homepage .hero h1 { font-size:clamp(66px,7.2vw,112px); }
.homepage .hero-content .primary-nav-link { font-size:18px; }
@media(min-width:1051px) {
    .homepage .hero-content .site-header { left:46%; right:24%; width:auto; }
    .homepage .hero-content .primary-nav { flex-wrap:wrap; justify-content:flex-end; }
    .homepage .hero-content .primary-nav-link { font-size:14px; padding-inline:7px; letter-spacing:.02em; }
}
@media(min-width:701px) {
    .homepage .hero-sales-representative { width:42%; max-height:510px; }
    .homepage .studio .studio-inner { align-items:stretch; }
}
.homepage #main > section:not(.hero) { background: var(--homepage-background); }
.homepage .process .process-card:not(:last-child)::after { border-color: var(--homepage-background); }

/* Keep neighboring sections close and remove unused space within cards. */
.homepage #main > section:not(.hero) { padding-block:32px; }
.homepage #main > .capabilities { padding-top:48px; }
.homepage .capabilities .section-heading,
.homepage .process .process-heading { margin-bottom:28px; }
.homepage .capabilities .capability-caption { padding:20px; }
.homepage .capabilities .capability-caption small { min-height:0; }
.homepage .capability-card-link { margin-top:8px; padding-top:12px; }
.homepage .capabilities .capability-caption b { font-size:var(--card-title-size); }
.homepage .capabilities .capability-caption small { font-size:var(--content-size); line-height:1.7; color:#4e607c; }
.homepage .capability-card-link { font-size:16px; line-height:1.5; color:#244e8a; gap:12px; }
.homepage .capabilities .capability-arrow { width:36px; height:36px; font-size:21px; }
/* Consistent content sizes across services, process, and about. */
.homepage { --card-title-size:22px; --content-size:16px; --content-link-size:14px; }
.homepage .capabilities .capability-caption b,
.homepage .process .process-card h3 { font-size:var(--card-title-size); }
.homepage .capabilities .capability-caption small,
.homepage .process .process-card p,
.homepage .capabilities .section-heading>p,
.homepage .process .process-heading>p,
.homepage .studio .studio-copy>p,
.homepage .contact .contact-right>p { font-size:var(--content-size); line-height:1.7; color:#4e607c; }
.homepage .process .process-card:first-child p { color:#d2e0f5; }
.homepage .contact .contact-right>p { color:#d2e0f5; }
.homepage .capability-card-link,
.homepage .capabilities-bottom>span,
.homepage .capabilities-bottom>a,
.homepage .process-next>span,
.homepage .process-next a,
.homepage .studio .text-link,
.homepage .studio-capabilities>span,
.homepage .contact .button-primary,
.homepage .contact-products-link { font-size:var(--content-link-size); line-height:1.5; }
.homepage .capabilities-bottom>span,
.homepage .process-next>span { color:#4e607c; }
.homepage .capabilities .section-heading>p { max-width:560px; }
.homepage .capabilities-bottom>a { font-size:var(--content-link-size); }
.homepage .capabilities-bottom>a>span { font-size:28px; }
.homepage .studio .studio-copy>p { max-width:none; }
.homepage .capabilities-bottom>span,
.homepage .process-next>span { font-size:var(--content-size); line-height:1.7; }
.homepage .studio .section-kicker { font-size:12px; line-height:1.5; }
.homepage .process .section-kicker { font-size:12px; line-height:1.5; }
.homepage .studio-capabilities>span,
.homepage .studio .text-link { font-size:var(--content-link-size); line-height:1.5; }
.homepage .studio-capabilities>span { padding:9px 14px; }
.homepage .capabilities-bottom,
.homepage .process-next { margin-top:20px; padding-top:16px; }
.homepage .process .process-card { min-height:0; padding:22px; }
.homepage .process-card-top { margin-bottom:18px; }
@media(max-width:700px) {
    .homepage { --card-title-size:20px; --content-size:16px; }
    .homepage #main,
    .homepage .dh-footer { text-align:center; }
    .homepage .capabilities .section-heading>p,
    .homepage .process .process-heading>p,
    .homepage .studio .studio-copy>p { margin-inline:auto; }
    .homepage .capabilities-bottom,
    .homepage .process-next,
    .homepage .studio .studio-copy,
    .homepage .contact-actions { align-items:center; }
    .homepage .capability-card-link,
    .homepage .process-next>span,
    .homepage .studio-image-note { justify-content:center; }
    .homepage .capabilities .capability-caption { align-items:center; }
    .homepage .capability-card-link { width:100%; }
    .homepage .dh-footer-services-heading,
    .homepage .dh-footer-bottom { justify-content:center; }
    .homepage .dh-footer-services-heading { flex-direction:column; align-items:center; }
    .homepage .dh-footer-brand-line,
    .homepage .dh-footer-links nav { justify-content:center; align-items:center; }
    .homepage .dh-footer-links nav a { justify-content:center; }
    .homepage .capabilities .section-heading>div,
    .homepage .process .process-heading>div,
    .homepage .studio .studio-copy>h2,
    .homepage .studio .studio-copy>.section-kicker,
    .homepage .contact .contact-heading,
    .homepage .dh-footer-services-heading>div { width:100%; text-align:center; }
    .homepage .section-kicker { justify-content:center; }
    .homepage .hero h1 { font-size:clamp(49px,10.2vw,70px); }
    .homepage #main > section:not(.hero) { padding-block:24px; }
    .homepage #main > .capabilities { padding-top:32px; }
    .homepage .capabilities .section-heading,
    .homepage .process .process-heading { margin-bottom:22px; }
    .homepage .capabilities .capability-caption { padding:16px; }
    .homepage .capabilities .capability-grid { grid-template-columns:1fr; }
    .homepage .capabilities .capability-caption b { font-size:var(--card-title-size); }
    .homepage .process .process-card { padding:18px 15px; }
    .homepage .process .process-card { text-align:center; }
    .homepage .process-card-top { flex-direction:column; align-items:center; gap:12px; }
    .homepage .process-card-number { align-items:center; }
    .homepage .process .process-steps { grid-template-columns:1fr; }
    .homepage .process .process-card::after { display:none; }
    .homepage .process-card-top { margin-bottom:16px; }
    .homepage .studio-capabilities>span,
    .homepage .studio .text-link { font-size:var(--content-link-size); }
}
