/* ============ PAGE-SPECIFIC TWEAKS ============ */

/* HOME */
.home-hero { padding-bottom: 64px; }
.home-hero__cover {
    aspect-ratio: 21 / 9;
    background-color: var(--surface-2);
    background-position: center;
    background-size: cover;
    background-image: var(--brand-gradient-soft);
    margin-bottom: 56px;
}
.home-how {
    margin-top: 32px;
    max-width: 640px;            /* single-column reading column, matches Figma */
}
.home-how__lead {
    font-size: 18px;
    color: var(--text-dim);
    line-height: 1.6;
    margin: 0 0 24px;
}
.home-how__bullets {
    list-style: none;
    padding: 0;
    margin: 0 0 32px;
}
.home-how__bullets li {
    font-size: 18px;
    color: var(--text-dim);
    line-height: 1.6;
    padding: 4px 0;
}
.home-how__callout {
    font-weight: 800;
    font-size: var(--fs-h2);
    line-height: 1.15;
    color: var(--text);
    margin: 0 0 28px;
    text-transform: none;
}
.home-how__callout .accent {
    display: block;
    background: var(--brand-gradient);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
}
.home-how__cta { display: inline-flex; }


/* WORK index */
.work-index__head { max-width: 720px; }
.work-index__head .lead { max-width: 620px; }
.work-index .case-grid { margin-top: 32px; }

/* SERVICES */
.services-hero__cover {
    aspect-ratio: 21 / 9;
    background: var(--surface-2) center/cover no-repeat;
    background-image: var(--brand-gradient-soft);
}
.services-section + .services-section { margin-top: 80px; }
.services-link-card {
    background: var(--brand-gradient);
    border-radius: var(--radius);
    padding: 56px 48px;
    color: var(--text);
    display: flex; flex-direction: column; gap: 20px;
    align-items: flex-start;
    min-height: 240px;
    justify-content: center;
}
.services-link-card h3 {
    font-size: clamp(36px, 4vw, 50px);
    line-height: 1.05;
    text-transform: uppercase;
    margin: 0;
    max-width: 640px;
}

/* ABOUT */
.about-hero__cover {
    aspect-ratio: 21 / 8;
    background-color: var(--surface-2);
    background-position: center;
    background-size: cover;
    background-image: var(--brand-gradient-soft);
}
.about-manifesto {
    max-width: 680px;
    margin: 0 auto;
}
.about-manifesto p {
    font-size: 20px;
    color: var(--text-dim);
    line-height: 1.55;
    margin-bottom: 1.1em;
}

/* CAREERS */
.careers-intro p { font-size: 18px; color: var(--text-dim); line-height: 1.6; }
.careers-intro a { color: var(--text); text-decoration: underline; }

/* FAQ - extended inline overrides in components.css */

/* CONTACT */
.contact-hero p { font-size: 18px; color: var(--text-dim); }

/* 404 */
.error-404 {
    padding: 96px 0 120px;
    text-align: left;
}
.error-404 .split-headline {
    font-size: clamp(60px, 8vw, 96px);
    line-height: 1;
}
.error-404 p {
    font-size: clamp(28px, 3.5vw, 43px);
    font-weight: 800;
    max-width: 720px;
    text-transform: uppercase;
    line-height: 1.15;
    color: var(--text);
    margin: 8px 0 32px;
}
.error-404 .button-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-top: 24px;
}
.error-404 .btn {
    padding: 0 40px;
    min-width: 220px;
    height: 56px;
    font-size: 14px;
    letter-spacing: 0.08em;
}

/* PRIVACY POLICY (long form) */
.legal-body {
    max-width: 880px;
    margin: 0 auto;
}
.legal-body h2 {
    font-size: 22px;
    text-transform: uppercase;
    margin: 40px 0 12px;
    color: var(--text);
}
.legal-body h3 {
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    margin: 28px 0 8px;
    color: var(--text);
    letter-spacing: 0.04em;
}
.legal-body p,
.legal-body li {
    font-size: 16px;
    line-height: 1.7;
    color: var(--text);
}
.legal-body ul, .legal-body ol { list-style: disc; padding-left: 22px; margin: 0 0 18px; }
.legal-body a { color: var(--text); text-decoration: underline; }
