/* Cornerstone pages copy the approved GEO composition; no new layout system. */
/* Bridge the approved refined components from seo-pages.css. The original
 * theme list intentionally remains untouched; only these new pages opt in.
 * Common section padding is already shared and is not changed here. */
.seo-theme--cornerstone {
    --lpvg-ink: var(--seo-ink);
    --lpvg-muted: var(--seo-muted);
    --lpvg-line: rgba(18, 22, 29, .09);
}
.seo-theme--cornerstone :is(h1, h2, h3, h4) {
    -webkit-hyphens: none !important;
    hyphens: none !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}
.seo-theme--cornerstone .seo-definition { padding-bottom: clamp(76px, 7vw, 108px); }
.seo-theme--cornerstone .seo-definition-layout { row-gap: clamp(42px, 5vw, 66px); }

.seo-theme--cornerstone .seo-capability-section .lpvg-flow-card {
    display: flex;
    min-height: 585px;
    flex-direction: column;
    padding: 0 27px 30px;
    overflow: hidden;
    border-radius: 30px;
    background: #fff;
}
.seo-theme--cornerstone .seo-capability-section .lpvg-flow-art {
    position: relative;
    z-index: 0;
    top: auto;
    right: auto;
    width: calc(100% + 54px);
    height: 335px;
    flex: 0 0 auto;
    margin: 0 -27px -54px;
    overflow: hidden;
    opacity: 1;
    -webkit-mask-image: none;
    mask-image: none;
}
.seo-theme--cornerstone .seo-capability-section .lpvg-flow-art::after {
    position: absolute;
    inset: 43% 0 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .82) 60%, #fff 88%, #fff);
    content: "";
    pointer-events: none;
}
.seo-theme--cornerstone .seo-capability-section .lpvg-flow-art img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.seo-theme--cornerstone .seo-capability-section .lpvg-flow-card:nth-child(3) .lpvg-flow-art img { object-position: 44% top; }
.seo-theme--cornerstone .seo-capability-section .lpvg-flow-card:nth-child(4) .lpvg-flow-art img { object-position: 54% top; }
.seo-theme--cornerstone .seo-capability-section .lpvg-flow-card h3 { margin: auto 0 0; font-size: clamp(25px, 2vw, 31px); line-height: 1.02; }
.seo-theme--cornerstone .seo-capability-section .lpvg-flow-card p { max-width: 100%; margin-top: 17px; font-size: 14px; line-height: 1.58; }

.seo-theme--cornerstone .lpvg-noah-closing { margin-top: clamp(78px, 6.5vw, 104px); }
.seo-theme--cornerstone .lpvg-noah-live-core { --anora-orb-size: 100%; }
.seo-theme--cornerstone .lpvg-noah-live-core anora-thinking-orb {
    display: block !important;
    width: var(--anora-orb-size) !important;
    height: var(--anora-orb-size) !important;
}
.seo-theme--cornerstone .seo-differentiator-layout { grid-template-columns: minmax(520px, 1fr) minmax(0, .9fr); gap: clamp(58px, 8vw, 118px); }
.seo-theme--cornerstone .seo-differentiator-visual { padding: 12px; border: 1px solid rgba(17, 21, 27, .07); border-radius: 34px; background: #f7fbfb; box-shadow: 0 28px 84px rgba(38, 69, 74, .1); }
.seo-theme--cornerstone .seo-differentiator-visual img { border-radius: 24px; }
.seo-theme--cornerstone .seo-differentiator-copy h2 { max-width: 610px; font-size: clamp(43px, 4.6vw, 66px); line-height: .97; }

.seo-theme--cornerstone .seo-audience-grid .lpas-audience-card { isolation: isolate; min-height: 650px; padding: 0 30px 30px; }
.seo-theme--cornerstone .seo-audience-grid .lpas-audience-card picture { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; margin: 0; overflow: hidden; pointer-events: none; }
.seo-theme--cornerstone .seo-audience-grid .lpas-audience-card picture::after { inset: 0; height: auto; background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 52%, rgba(255,255,255,.84) 67%, #fff 76%, #fff 100%); }
.seo-theme--cornerstone .seo-audience-grid .lpas-audience-card picture img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 16%; transform: none; }
.seo-theme--cornerstone .seo-audience-grid .lpas-audience-card:nth-child(1) picture img { object-position: 49% 8%; }
.seo-theme--cornerstone .seo-audience-grid .lpas-audience-card:nth-child(2) picture img { object-position: 48% 8%; }
.seo-theme--cornerstone .seo-audience-grid .lpas-audience-card:nth-child(3) picture img { object-position: 67% 10%; }
.seo-theme--cornerstone .seo-audience-grid .lpas-audience-card > span { top: 27px; }
.seo-theme--cornerstone .seo-audience-grid .lpas-audience-card > p { margin-top: auto; }
.seo-theme--cornerstone .seo-audience-grid .lpas-audience-card h3,
.seo-theme--cornerstone .seo-audience-grid .lpas-audience-card > div { position: relative; z-index: 1; }
.seo-theme--cornerstone .seo-audience-grid .lpas-audience-card > div { margin-top: 20px; }
.seo-theme--cornerstone .seo-audience-grid + .lpvg-snap-nav { display: none; }

.seo-theme--cornerstone .seo-cta-card { position: relative; display: block; min-height: 570px; overflow: hidden; }
.seo-theme--cornerstone .seo-cta-visual { position: absolute; inset: 0; width: 100%; height: 100%; }
.seo-theme--cornerstone .seo-cta-visual::before { background: linear-gradient(90deg, #f8fbfc 0%, rgba(248,251,252,.995) 41%, rgba(248,251,252,.82) 53%, rgba(248,251,252,.2) 70%, transparent 82%); }
.seo-theme--cornerstone .seo-cta-visual::after { display: none; }
.seo-theme--cornerstone .seo-cta-visual img { width: 100%; height: 100%; object-position: center; }
.seo-theme--cornerstone .seo-cta-copy { width: min(61%, 720px); padding: clamp(54px, 6vw, 82px); }
.seo-theme--cornerstone .seo-cta-copy h2 { max-width: 620px; font-size: clamp(46px, 5vw, 70px); }
.seo-theme--cornerstone .seo-cta-copy > p:not(.apv2-kicker) { max-width: 560px; }

.seo-theme--cornerstone .anora-solution-hub__card--visual { position: relative; isolation: isolate; min-height: 540px; overflow: hidden; padding: 0 28px 28px; background: #fff; }
.seo-theme--cornerstone .anora-solution-hub__card--visual > figure { position: relative; z-index: 0; width: calc(100% + 56px); height: 294px; flex: 0 0 auto; overflow: hidden; margin: 0 -28px -38px; }
.seo-theme--cornerstone .anora-solution-hub__card--visual > figure::after { position: absolute; inset: 42% 0 0; background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.82) 62%, #fff 88%, #fff); content: ""; pointer-events: none; }
.seo-theme--cornerstone .anora-solution-hub__card--visual > figure img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 72% 48%; transform: scale(1.01); transition: transform .55s ease; }
.seo-theme--cornerstone .anora-solution-hub__card--visual > :not(figure) { position: relative; z-index: 1; }
.seo-theme--cornerstone .anora-solution-hub__card--visual:hover > figure img,
.seo-theme--cornerstone .anora-solution-hub__card--visual:focus-visible > figure img { transform: scale(1.035); }

@media (max-width: 1080px) {
    .seo-theme--cornerstone .seo-differentiator-layout { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    .seo-theme--cornerstone .seo-capability-section .lpvg-flow-card { min-height: 610px; flex-basis: min(88vw, 350px); padding: 0 30px 30px; }
    .seo-theme--cornerstone .seo-capability-section .lpvg-flow-art { width: calc(100% + 60px); height: 370px; margin: 0 -30px -60px; }
    .seo-theme--cornerstone .seo-capability-section .lpvg-flow-card h3 { font-size: 29px; }
    .seo-theme--cornerstone .seo-capability-section .lpvg-flow-card p { font-size: 14px; }
    .seo-theme--cornerstone .lpvg-noah-closing { margin-top: 62px; }
    .seo-theme--cornerstone .seo-differentiator-copy { order: -1; }
    .seo-theme--cornerstone .seo-audience-grid .lpas-audience-card { min-height: 610px; flex-basis: min(88vw, 350px); padding: 0 30px 30px; }
    .seo-theme--cornerstone .seo-audience-grid .lpas-audience-card picture { inset: 0; width: 100%; height: 100%; margin: 0; }
    .seo-theme--cornerstone .seo-audience-grid .lpas-audience-card picture::after { inset: 0; height: auto; }
    .seo-theme--cornerstone .seo-audience-grid .lpas-audience-card > span { top: 24px; left: 18px; }
    .seo-theme--cornerstone .seo-audience-grid + .lpvg-snap-nav { position: relative; z-index: 4; display: grid; grid-template-columns: 38px minmax(50px, 1fr) auto 38px; align-items: center; gap: 10px; margin-top: -3px; }
    .seo-theme--cornerstone .seo-audience-grid + .lpvg-snap-nav button { display: grid; width: 38px; height: 38px; place-items: center; padding: 0; border: 1px solid var(--lpvg-line); border-radius: 50%; color: #526069; background: rgba(255,255,255,.9); box-shadow: 0 8px 22px rgba(35,72,79,.06); cursor: pointer; }
    .seo-theme--cornerstone .seo-audience-grid + .lpvg-snap-nav button:disabled { opacity: .34; cursor: default; }
    .seo-theme--cornerstone .seo-audience-grid + .lpvg-snap-nav button svg { width: 17px; height: 17px; }
    .seo-theme--cornerstone .seo-audience-grid + .lpvg-snap-nav button:first-child svg { transform: rotate(180deg); }
    .seo-theme--cornerstone .seo-audience-grid + .lpvg-snap-nav .lpvg-snap-progress { overflow: hidden; height: 3px; border-radius: 999px; background: rgba(31,48,58,.09); }
    .seo-theme--cornerstone .seo-audience-grid + .lpvg-snap-nav .lpvg-snap-progress i { display: block; width: var(--lpvg-snap-progress, 0%); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #43c9b3, #7f9fe9, #a183e8); transition: width .24s ease; }
    .seo-theme--cornerstone .seo-audience-grid + .lpvg-snap-nav .lpvg-snap-count { min-width: 34px; color: #707b83; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-align: center; }
    .seo-theme--cornerstone .seo-cta-card { display: grid; min-height: 0; grid-template-columns: 1fr; }
    .seo-theme--cornerstone .seo-cta-visual { position: relative; inset: auto; height: 340px; grid-column: 1; grid-row: 2; }
    .seo-theme--cornerstone .seo-cta-visual::before { background: linear-gradient(180deg, #f8fbfc 0%, rgba(248,251,252,.8) 16%, rgba(248,251,252,.18) 40%, transparent 57%); }
    .seo-theme--cornerstone .seo-cta-visual img { object-position: 82% center; }
    .seo-theme--cornerstone .seo-cta-copy { width: 100%; grid-column: 1; grid-row: 1; padding: 32px 24px 26px; }
    .seo-theme--cornerstone .seo-cta-copy h2 { font-size: clamp(36px, 10.2vw, 43px); }
    .seo-theme--cornerstone .anora-solution-hub__card--visual { min-height: 510px; padding: 0 24px 26px; }
    .seo-theme--cornerstone .anora-solution-hub__card--visual > figure { width: calc(100% + 48px); height: 278px; margin: 0 -24px -35px; }
}
@media (prefers-reduced-motion: reduce) {
    .seo-theme--cornerstone .anora-solution-hub__card--visual > figure img { transition: none !important; }
}
.seo-theme--cornerstone .seo-page-hero {
    min-height: 760px;
    background: #fff;
}
.seo-theme--cornerstone .seo-page-hero::before { background: none; }
.geo-hero-art {
    position: absolute;
    top: 50%;
    right: 0;
    width: min(100%, 1500px);
    aspect-ratio: 1672 / 941;
    transform: translateY(-50%);
}
.seo-theme--cornerstone .seo-hero-media {
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
}
.seo-theme--cornerstone .seo-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right center;
    filter: none;
    opacity: 1;
}
.seo-theme--cornerstone .seo-hero-inner { min-height: 760px; }
.seo-theme--cornerstone .seo-hero-copy {
    width: min(600px, 51%);
    padding: 62px 0;
}
.seo-theme--cornerstone .seo-hero-copy h1 {
    max-width: 590px;
    font-size: clamp(48px, 4.5vw, 68px);
    line-height: .98;
}
.seo-theme--cornerstone .seo-hero-lead {
    max-width: 550px;
    font-size: clamp(16px, 1.2vw, 18px);
    line-height: 1.6;
}
.seo-theme--cornerstone .seo-hero-trust { margin: 22px 0; }
.geo-hero-providers { margin-top: 30px; }
.geo-hero-providers > p {
    margin: 0 0 12px;
    color: #687680;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.geo-provider-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.geo-provider-chip {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-width: 104px;
    min-height: 54px;
    margin: 0;
    padding: 14px 16px;
    border: 1px solid rgba(35, 72, 79, .10);
    border-radius: 14px;
    background: #fff;
    color: #283238;
    box-shadow: 0 8px 24px rgba(35, 72, 79, .045);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.2;
    white-space: nowrap;
}
.geo-provider-chip img { display: block; width: 24px; height: 24px; object-fit: contain; }
.geo-provider-chip--name { min-width: 95px; }

.seo-theme--cornerstone .seo-capability-section .lpvg-flow-card {
    min-height: 0;
    padding: 0 24px 28px;
    border-radius: 28px;
}
.seo-theme--cornerstone .seo-capability-section .lpvg-flow-art {
    width: calc(100% + 48px);
    height: 268px;
    margin: 0 -24px;
}
.seo-theme--cornerstone .seo-capability-section .lpvg-flow-art::after {
    inset: 58% 0 0;
    background: linear-gradient(180deg, transparent, rgba(255,255,255,.66) 60%, #fff);
}
.seo-theme--cornerstone .seo-capability-section .lpvg-flow-card h3 {
    min-height: 2.08em;
    margin: 20px 0 0;
    font-size: clamp(23px, 1.85vw, 28px);
    line-height: 1.04;
    letter-spacing: -.04em;
    text-wrap: initial;
}
.seo-theme--cornerstone .seo-capability-section .lpvg-flow-card h3 span {
    display: block;
    white-space: nowrap;
}
.seo-theme--cornerstone .seo-capability-section .lpvg-flow-card p {
    margin: 16px 0 0;
    font-size: 14px;
    line-height: 1.62;
}

@media (min-width: 701px) and (max-width: 1400px) {
    .seo-theme--cornerstone .seo-hero-copy { width: 43%; max-width: 530px; }
    .seo-theme--cornerstone .seo-hero-copy h1 { font-size: clamp(40px, 4.2vw, 58px); }
    .seo-theme--cornerstone .seo-hero-lead { max-width: 440px; }
    .seo-theme--cornerstone .seo-hero-media img { object-position: right center; }
    .geo-provider-list { gap: 8px; }
    .geo-provider-chip { padding: 12px; min-width: 86px; font-size: 11px; }
}
@media (min-width: 701px) and (max-width: 980px) {
    .seo-theme--cornerstone .seo-page-hero { min-height: 0; }
    .seo-theme--cornerstone .seo-hero-inner { display: block; min-height: 600px; padding-bottom: 0; }
    .geo-hero-art { inset: 0; width: 100%; height: 100%; aspect-ratio: auto; transform: none; z-index: 0; pointer-events: none; }
    .seo-theme--cornerstone .seo-hero-media img { object-fit: cover; object-position: right center; }
    .seo-theme--cornerstone .seo-page-hero::before {
        background: linear-gradient(90deg, rgba(255,255,255,.98), rgba(255,255,255,.92) 48%, rgba(255,255,255,.56) 76%, rgba(255,255,255,.18));
    }
    .seo-theme--cornerstone .seo-hero-copy { width: 100%; max-width: 620px; padding: 42px 0 48px; }
    .seo-theme--cornerstone .seo-hero-copy h1 { max-width: 620px; font-size: 48px; }
    .seo-theme--cornerstone .seo-hero-lead { max-width: 580px; }
}
@media (max-width: 700px) {
    .seo-theme--cornerstone .seo-page-hero {
        min-height: 0;
        padding-bottom: 0;
        overflow: hidden;
    }
    .seo-theme--cornerstone .seo-hero-inner {
        display: block;
        min-height: 0;
        padding-bottom: 0;
    }
    .seo-theme--cornerstone .seo-hero-media {
        inset: 0;
        width: 100%;
        height: 100%;
    }
    .geo-hero-art {
        inset: 0;
        width: 100%;
        height: 100%;
        aspect-ratio: auto;
        transform: none;
        z-index: 0;
        pointer-events: none;
    }
    .seo-theme--cornerstone .seo-hero-media img {
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center bottom;
        transform: none;
        opacity: 1;
    }
    .seo-theme--cornerstone .seo-page-hero::before {
        background: linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,.90) 48%, rgba(255,255,255,.72) 76%, rgba(255,255,255,.42));
    }
    .seo-theme--cornerstone .seo-hero-copy { width: 100%; padding: 34px 0 48px; }
    .seo-theme--cornerstone .seo-hero-copy h1 {
        max-width: 390px;
        font-size: clamp(35px, 9.6vw, 43px);
        line-height: 1.02;
    }
    .seo-theme--cornerstone .seo-hero-lead { max-width: 100%; font-size: 15px; line-height: 1.6; }
    .seo-theme--cornerstone .seo-hero-trust { max-width: 100%; font-size: 14px; margin: 18px 0; }
    .seo-theme--cornerstone .seo-hero-actions { flex-wrap: wrap; gap: 14px; }
    .geo-hero-providers { margin-top: 26px; }
    .geo-provider-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .geo-provider-chip { min-width: 0; min-height: 48px; gap: 9px; padding: 12px; font-size: 11px; }
    .geo-provider-chip--name { min-width: 71px; }
    .geo-provider-chip img { width: 22px; height: 22px; }
    .seo-theme--cornerstone .seo-capability-section .lpvg-flow-card { padding: 0 24px 26px; }
    .seo-theme--cornerstone .seo-capability-section .lpvg-flow-art { height: 262px; }
    .seo-theme--cornerstone .seo-capability-section .lpvg-flow-card h3 { margin-top: 18px; font-size: clamp(22px, 6.8vw, 27px); }
}

/* Use the approved symbol system in the same slot as the GEO provider logos. */
.seo-theme--cornerstone .geo-workflow-section { position: relative; overflow: visible; background: #fff; }
.seo-theme--cornerstone .geo-workflow-provider > svg { display: block; width: 27px; height: 27px; flex-shrink: 0; }
.seo-theme--cornerstone .geo-workflow-note { margin: 26px 0 0; color: var(--seo-muted); font-size: 13px; line-height: 1.6; }
/* Static first-phase positions only; enhanced WebGL/Canvas layouts own theirs. */
.seo-theme--cornerstone [data-workflow-theme="cornerstone"]:not([data-enhanced="true"]) .geo-workflow-provider:nth-of-type(2) { --geo-provider-x: 19%; --geo-provider-y: 27%; }
.seo-theme--cornerstone [data-workflow-theme="cornerstone"]:not([data-enhanced="true"]) .geo-workflow-provider:nth-of-type(3) { --geo-provider-x: 81%; --geo-provider-y: 27%; }
.seo-theme--cornerstone [data-workflow-theme="cornerstone"]:not([data-enhanced="true"]) .geo-workflow-provider:nth-of-type(4) { --geo-provider-x: 19%; --geo-provider-y: 74%; }
.seo-theme--cornerstone [data-workflow-theme="cornerstone"]:not([data-enhanced="true"]) .geo-workflow-provider:nth-of-type(5) { --geo-provider-x: 81%; --geo-provider-y: 74%; }
@media (max-width: 980px) {
    .seo-theme--cornerstone .geo-workflow-provider > svg { width: 24px; height: 24px; }
}
@media (max-width: 560px) {
    .seo-theme--cornerstone .geo-workflow-provider > svg { width: 21px; height: 21px; }
}
@media (max-width: 360px) {
    /* The approved no-hyphen policy cannot fit these long German compounds
     * on a 320px viewport. Only these new-page headings get a narrow fallback. */
    .seo-theme--cornerstone :is(.lpvg-noah-intro h2, .geo-workflow-intro h2) {
        -webkit-hyphens: auto !important;
        hyphens: auto !important;
        overflow-wrap: anywhere !important;
    }
}
