/* Home page composition. Shared primitives belong in css/components/. */
.page-home .hero { display: grid; min-height: clamp(660px, calc(100vh - 68px), 720px); align-items: center; padding-block: clamp(4.5rem, 8vw, 7rem); border-bottom: 1px solid var(--color-border); }
.page-home .hero .container { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(290px, .75fr); gap: clamp(2.5rem, 7vw, 6rem); align-items: center; }
.page-home .hero-content { max-width: 780px; }
.page-home .hero h1 { max-width: 20ch; margin-bottom: 1.25rem; text-wrap: balance; }
.page-home .hero-description { max-width: 62ch; margin-bottom: 1.75rem; font-size: clamp(1.05rem, 1.8vw, 1.18rem); }
.page-home .hero-buttons { display: flex; flex-wrap: wrap; gap: .75rem; }
.page-home .hero-scope, .page-home .process-list { border-top: 1px solid var(--color-border-strong); }
.page-home .hero-scope__label { margin: 0; padding: .85rem 0; color: var(--color-text-subtle); font: var(--font-weight-semibold) var(--font-size-xs)/1.4 var(--font-family-mono); letter-spacing: var(--letter-spacing-wide); text-transform: uppercase; }
.page-home .hero-scope li, .page-home .process-list li { display: grid; grid-template-columns: 2.5rem 1fr; gap: .75rem; margin: 0; padding: 1rem 0; border-top: 1px solid var(--color-border); color: var(--color-text); }
.page-home .hero-scope li span, .page-home .process-list > li > span { color: var(--color-text-subtle); font: var(--font-weight-semibold) var(--font-size-xs)/1.4 var(--font-family-mono); }
.page-home .advantages, .page-home .about { border-bottom: 1px solid var(--color-border); background: var(--color-bg-alt); }
.page-home .advantages-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--color-border); }
.page-home .advantage-card { padding: 1.75rem; border-right: 1px solid var(--color-border); }
.page-home .advantage-card:last-child { border-right: 0; }
.page-home .advantage-icon { display: grid; width: 40px; height: 40px; margin-bottom: 1.5rem; place-items: center; border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-primary); }
.page-home .advantage-icon .svg-icon { width: 19px; height: 19px; }
.page-home .advantage-card h3 { margin-bottom: .65rem; font-size: 1.1rem; }
.page-home .advantage-card p { margin: 0; font-size: .95rem; }
.page-home .services-grid { display: grid; border-top: 1px solid var(--color-border); }
.page-home .home-service-row { display: grid; grid-template-columns: 72px minmax(150px, .7fr) minmax(230px, 1.5fr) minmax(130px, .45fr) auto; align-items: center; gap: 1.5rem; padding: 1.5rem 0; border-bottom: 1px solid var(--color-border); }
.page-home .home-service-row:hover { border-color: var(--color-border-strong); }
.page-home .home-service-row .service-image { width: 56px; height: 56px; }
.page-home .home-service-row .service-image img { width: 100%; height: 100%; object-fit: cover; }
.page-home .home-service-row h3, .page-home .home-service-row p, .page-home .home-service-row .service-meta { margin: 0; }
.page-home .home-service-row h3 { font-size: 1.05rem; }
.page-home .home-service-row p { font-size: .92rem; }
.page-home .service-price { color: var(--color-text); font-family: var(--font-family-mono); font-size: .9rem; }
.page-home .service-note { display: block; color: var(--color-text-subtle); font-size: var(--font-size-xs); }
.page-home .home-service-row .btn-secondary { white-space: nowrap; }
.page-home .about { border-top: 1px solid var(--color-border); }
.page-home .about-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .8fr); gap: clamp(2.5rem, 7vw, 6rem); }
.page-home .about-text > p { max-width: 64ch; }
.page-home .process-list li { padding: 1.15rem 0; }
.page-home .process-list > li > span { color: var(--color-primary); }
.page-home .process-list strong { display: block; margin-bottom: .25rem; }
.page-home .process-list p { margin: 0; font-size: .9rem; }
.page-home .home-cta { padding-block: clamp(4rem, 7vw, 6rem); }
.page-home .home-cta__content { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: end; padding-top: 2rem; border-top: 1px solid var(--color-border-strong); }
.page-home .home-cta h2 { max-width: 20ch; margin-bottom: .75rem; }
.page-home .home-cta p:last-child { max-width: 60ch; margin-bottom: 0; }
@media (max-width: 1100px) { .page-home .home-service-row { grid-template-columns: 56px minmax(180px, 1fr) auto; } .page-home .home-service-row > p, .page-home .home-service-row .service-meta { grid-column: 2 / -1; } }
@media (max-width: 900px) { .page-home .hero { min-height: auto; } .page-home .hero .container, .page-home .about-content { grid-template-columns: 1fr; } .page-home .hero-scope { max-width: 640px; } .page-home .advantages-grid { grid-template-columns: 1fr; } .page-home .advantage-card { border-right: 0; border-bottom: 1px solid var(--color-border); } .page-home .advantage-card:last-child { border-bottom: 0; } }
@media (max-width: 620px) { .page-home .hero { padding-block: 3.75rem; } .page-home .hero h1 { max-width: none; font-size: clamp(2.15rem, 8.5vw, 2.75rem); } .page-home .hero-buttons, .page-home .hero-buttons > * { width: 100%; } .page-home .advantage-card { padding-inline: 0; } .page-home .home-service-row { grid-template-columns: 48px 1fr; gap: .9rem; } .page-home .home-service-row .service-image { width: 48px; height: 48px; } .page-home .home-service-row > p, .page-home .home-service-row .service-meta, .page-home .home-service-row .btn-secondary { grid-column: 1 / -1; } .page-home .home-service-row .btn-secondary { width: 100%; } .page-home .home-cta__content { grid-template-columns: 1fr; align-items: start; } }
@media (max-width: 620px) { .has-ai-support.page-home main { padding-bottom: calc(60px + env(safe-area-inset-bottom)); } }
