:root {
    --anthropic-container: 1400px;
    --anthropic-page-margin: 64px;
    --anthropic-shell-padding: max(var(--anthropic-page-margin), calc((100vw - var(--anthropic-container)) / 2 + var(--anthropic-page-margin)));
}

.figma-gutter {
    max-width: var(--anthropic-container);
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--anthropic-page-margin);
    padding-left: var(--anthropic-page-margin);
}

.hero-home,
.section,
.evolution,
.image-band,
.green-section,
.sub-hero,
.contact-hero,
.contact-details,
.contact-form-section,
.contact-footer,
.figma-cta-footer {
    padding-right: var(--anthropic-shell-padding);
    padding-left: var(--anthropic-shell-padding);
}

.hero-home-media {
    width: 100vw;
    max-width: none;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.hero-video-wrap {
    position: relative;
    width: 100vw;
    margin-top: 34px;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    transform: none !important;
}

.hero-video-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    display: block;
    background: rgba(25, 80, 5, .3);
}

.hero-video-wrap .hero-home-media {
    display: block;
    width: 100%;
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
    transform: none !important;
}

.figma-cta,
.figma-footer-mini {
    max-width: calc(var(--anthropic-container) - (var(--anthropic-page-margin) * 2));
    margin-right: auto;
    margin-left: auto;
}

.image-band::after {
    background: rgba(25, 80, 5, .3);
}

.image-band-content {
    max-width: calc(var(--anthropic-container) - (var(--anthropic-page-margin) * 2));
    margin-right: auto;
    margin-left: auto;
}

.sector-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.sector-strip div {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
}

@media (max-width: 1199px) {
    .sector-strip {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        margin-top: 140px;
    }
}

@media (max-width: 767px) {
    .sector-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 80px;
    }
}

@media (max-width: 991px) {
    :root {
        --anthropic-page-margin: 32px;
    }
}

@media (max-width: 767px) {
    :root {
        --anthropic-page-margin: 20px;
    }
}

/* Anthropic-inspired type scale */
:root {
    --font-display: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-serif-body: "Cardo", Georgia, serif;
}

.home-title h1,
.display-72,
.display-56,
.display-50,
.display-48,
.service-block h2,
.contact-footer h2,
.figma-cta-panel h2 {
    font-family: var(--font-display);
    font-weight: 200;
    letter-spacing: 0;
}

.home-title h1,
.display-72 {
    font-size: clamp(56px, 5.55vw, 80px);
    line-height: .95;
}

.display-56 {
    font-size: clamp(44px, 4.45vw, 64px);
    line-height: 1;
}

.display-50 {
    font-size: clamp(36px, 3.35vw, 48px);
    line-height: 1.06;
}

.display-48,
.service-block h2,
.figma-cta-panel h2,
.contact-footer h2 {
    font-size: clamp(32px, 3.05vw, 44px);
    line-height: 1.08;
}

.body-20,
.body-18,
.body-16,
.home-title-copy p,
.line-card p,
.timeline-line p,
.insight-card p,
.sector-card p,
.stage-card p,
.about-service-card p,
.figma-cta-panel p:not(.figma-kicker),
.contact-footer p,
.privacy-copy,
.contact-form input,
.contact-form textarea {
    font-family: var(--font-serif-body);
}

.home-title-copy p,
.body-20 {
    font-size: 20px;
    line-height: 1.4;
}

.body-18,
.line-card p,
.timeline-line p,
.insight-card p,
.sector-card p,
.stage-card p,
.about-service-card p,
.figma-cta-panel p:not(.figma-kicker),
.contact-footer p {
    font-size: 17px;
    line-height: 1.45;
}

.body-16,
.privacy-copy,
.contact-form input,
.contact-form textarea {
    font-size: 15px;
    line-height: 1.45;
}

/* Shorter first homepage section */
.hero-home {
    min-height: 0;
    padding-top: 24px;
}

.home-title-copy {
    padding-top: clamp(28px, 4vw, 58px);
}

.trusted-copy {
    margin-top: clamp(70px, 9vw, 145px);
}

.client-strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(88px, 1fr));
    gap: clamp(22px, 4vw, 64px);
    align-items: center;
    justify-items: center;
    margin-top: 18px;
    margin-left: min(380px, 30vw);
}

.trusted-copy {
    max-width: min(360px, 30vw);
    margin-bottom: -52px;
    white-space: normal;
}

.client-strip img {
    width: 132px;
    max-width: none;
    height: 56px;
    object-fit: contain;
}

.brand-mark,
.footer-logo {
    display: inline-flex;
    align-items: center;
    width: auto;
    height: auto;
    min-width: 0;
    overflow: visible;
}

.brand-mark img {
    display: block;
    position: static;
    width: 154px;
    height: auto;
    max-width: 100%;
}

.footer-logo img {
    display: block;
    position: static;
    width: 132px;
    height: auto;
    max-width: 100%;
}

.contact-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.about-page .section > .two-col,
.about-page .section > .about-service-grid,
.about-page .section > .logos-grid,
.about-page .section > .figma-kicker,
.about-page .section > .display-48 {
    max-width: calc(var(--anthropic-container) - (var(--anthropic-page-margin) * 2));
    margin-right: auto;
    margin-left: auto;
}

.services-page .service-block:last-child {
    border-bottom: 0;
}

.hero-home-media {
    margin-top: 34px;
}

.hero-video-wrap .hero-home-media {
    margin-top: 0;
}

@media (max-width: 767px) {
    .home-title h1,
    .display-72 {
        font-size: clamp(46px, 13vw, 58px);
        line-height: .96;
    }

    .display-56,
    .display-50,
    .display-48,
    .service-block h2,
    .figma-cta-panel h2,
    .contact-footer h2 {
        font-size: clamp(32px, 8.7vw, 40px);
        line-height: 1.08;
    }

    .home-title-copy p,
    .body-20 {
        font-size: 18px;
    }

    .body-18,
    .body-16,
    .line-card p,
    .timeline-line p,
    .insight-card p,
    .sector-card p,
    .stage-card p,
    .about-service-card p {
        font-size: 16px;
    }

    .trusted-copy {
        margin-top: 48px;
        max-width: none;
        margin-bottom: 0;
    }

    .client-strip {
        grid-template-columns: repeat(3, minmax(88px, 1fr));
        gap: 18px 22px;
        margin-top: 24px;
        margin-left: 0;
    }

    .client-strip img {
        max-width: 112px;
        height: 36px;
    }

    .brand-mark img {
        width: 128px;
    }

    img[src*="home-founder.png"],
    img[src*="about-founder.png"] {
        object-position: top center;
    }
}
