/* Home — full-viewport sections */

.home-page .hero {
    min-height: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0;
}

.snap-panel--hero .snap-panel__inner {
    justify-content: center;
    gap: var(--space-md);
}

.snap-panel--fit .section-head:not(.center) {
    text-align: left;
}

.snap-panel--fit .services-layout,
.snap-panel--fit .project-card,
.snap-panel--fit .contact-card {
    margin-inline: auto;
    width: 100%;
}

.snap-panel--hero .tech-strip--section {
    flex-shrink: 0;
    margin-top: 0;
    width: 100%;
    max-width: none;
    margin-inline: auto;
    padding: 0;
    border: none;
    background: transparent;
}

.snap-panel--fit .section-head {
    margin-bottom: var(--space-lg);
    flex-shrink: 0;
}

.snap-panel--fit .services-layout,
.snap-panel--fit .process-grid,
.snap-panel--fit .why-grid {
    flex-shrink: 0;
}

.home-page .snap-panel--end .footer {
    border-top: 1px solid var(--border);
    background: var(--bg-elevated);
    padding-top: var(--space-lg);
    padding-bottom: calc(var(--space-md) + env(safe-area-inset-bottom, 0px));
}
