/* Shared presentation for the new landing pages, matching the existing public site. */
body.site-landing-page {
    --landing-ink: #1e293b;
    --landing-muted: #64748b;
    --landing-line: #e2e8f0;
    --landing-gold: #cba174;
    --landing-shadow: 0 4px 20px rgba(15, 23, 42, .05);
    background: #fdfcfb;
    color: var(--landing-ink);
    font-family: var(--ws-font-sans, sans-serif);
}
/* Image-led landing pages share the homepage's transparent initial header. */
body.site-landing-page .site-header:not(.scrolled),
body.site-landing-page .mobile-navbar:not(.scrolled) {
    background: transparent;
    border-bottom-color: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
body.site-landing-page :is(.directory-wrap, main .wsic-shell) {
    width: min(1280px, calc(100% - 80px));
    margin-inline: auto;
}
body.site-landing-page .landing-hero-image[data-hero-image] {
    padding: calc(var(--ws-header-height, 106px) + 64px) 0 84px;
    border-bottom: 0;
    text-align: center;
    background-image: linear-gradient(180deg, rgba(7, 21, 36, .74), rgba(7, 21, 36, .48)), var(--landing-hero-art);
    background-position: center, center 54%;
}
body.site-landing-page .landing-hero-image[data-hero-image] h1 {
    max-width: 1060px;
    margin: 0 auto 24px;
    color: #fff;
    font-family: var(--ws-font-serif, serif);
    font-size: var(--ws-page-title-size, clamp(1.85rem, 3.4vw, 3.5rem));
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0;
    text-align: center;
    text-wrap: balance;
}
body.site-landing-page .landing-hero-image :is(.directory-wrap > p, .wsic-lead) {
    max-width: 880px;
    margin: 0 auto;
    color: #e2e8f0;
    font-size: 1.2rem;
    line-height: 1.8;
    text-wrap: pretty;
}
body.site-landing-page .landing-hero-image .wsic-actions { justify-content: center; }
body.site-landing-page .landing-hero-image .wsic-button.is-secondary {
    min-height: 48px;
    padding: 12px 24px;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 8px;
    background: rgba(15, 23, 42, .25);
    color: #fff;
    font-size: 1rem;
}
body.site-landing-page .landing-hero-image .wsic-button.is-secondary:hover { background: rgba(255, 255, 255, .15); }
body.site-landing-page :is(.directory-page, .wsic-section.is-white, .wsic-overview-section) { background: #fdfcfb; color: var(--landing-ink); }
body.site-landing-page .directory-content { padding-top: 64px; padding-bottom: 88px; }
body.site-landing-page :is(.wsic-section, .wsic-overview-section) { padding-block: 64px; }
body.site-landing-page .directory-section { padding-block: 44px; border-color: var(--landing-line); }
body.site-landing-page :is(.directory-section h2, .directory-heading h2, .partner-directory h2, .wsic-section-head h2, .wsic-overview-heading h2, .wsic-overview-use h2) {
    color: var(--landing-ink);
    font-family: var(--ws-font-serif, serif);
    font-size: clamp(1.5rem, 2.3vw, 2rem);
    font-weight: 700;
    line-height: 1.5;
}
body.site-landing-page :is(.directory-section p, .partner-directory-intro, .partner-card-content p, .partner-directory-invitation p:not(.partner-directory-eyebrow), .wsic-outline-card p, .wsic-overview-heading p, .wsic-use-card p) {
    color: var(--landing-muted);
    font-size: 1rem;
    line-height: 1.85;
}
body.site-landing-page :is(.partner-card-content h3, .partner-way-card h3, .solution-scenario h3, .wsic-outline-card h3, .wsic-use-card h3) {
    color: var(--landing-ink);
    font-family: var(--ws-font-sans, sans-serif);
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.6;
}
body.site-landing-page :is(.partner-directory-card, .partner-way-card, .partner-contact-panel, .solution-scenario, .wsic-outline-card, .wsic-use-card) {
    border-color: var(--landing-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--landing-shadow);
}
body.site-landing-page :is(.partner-way-card, .partner-contact-panel) { border-top-color: var(--landing-gold); }
body.site-landing-page :is(.partner-card-content, .partner-way-card, .solution-scenario) { padding: 28px; }
body.site-landing-page .directory-number { color: #ad7e4b; }
body.site-landing-page .directory-jumps { border-color: var(--landing-line); }
body.site-landing-page .directory-jumps a { display: inline-flex; align-items: center; min-height: 44px; color: var(--landing-muted); font-size: .95rem; }
body.site-landing-page :is(.directory-link, .partner-card-link, .partner-way-link, .partner-text-link, .partnership-email, .wsic-use-link) {
    min-height: 44px;
    align-items: center;
    color: #9b6e3e;
    border-color: #ddc6aa;
    font-size: 1rem;
}
body.site-landing-page :is(.directory-link, .partner-card-link, .partner-way-link, .partner-text-link, .partnership-email, .wsic-use-link):hover { color: #76522f; }
body.site-landing-page main :is(a, button, summary, select, textarea, input):focus-visible { outline: 2px solid #ad7e4b; outline-offset: 4px; }
body.site-landing-page .landing-hero-image :is(a, button):focus-visible { outline-color: #f0d2a9; }

/* Partner lists, case placeholders and contact forms use the same card system. */
body.site-landing-page .partner-directory-heading { align-items: center; margin-bottom: 32px; }
body.site-landing-page .partner-directory-eyebrow { color: #9b6e3e; font-size: .8rem; }
body.site-landing-page .partner-directory-status { margin-top: 0; border-color: var(--landing-line); background: #f8fafc; color: var(--landing-muted); font-size: .875rem; }
body.site-landing-page .partner-directory-status > span { background: var(--landing-gold); }
body.site-landing-page .partner-logo-area { border-color: var(--landing-line); background: #f8fafc; }
body.site-landing-page .partner-tone-sand .partner-logo-area { background: #faf6f0; }
body.site-landing-page .partner-tone-blue .partner-logo-area { background: #f1f5f9; }
body.site-landing-page :is(.partner-preview-label, .partner-logo-placeholder > span, .partner-card-status, .reference-case-number) { color: var(--landing-muted); font-size: .8125rem; }
body.site-landing-page .partner-logo-placeholder { color: #94a3b8; }
body.site-landing-page .partner-card-category { color: #9b6e3e; font-size: .875rem; }
body.site-landing-page .partner-card-status { border-color: var(--landing-line); }
body.site-landing-page .partner-card-status > span { border-color: var(--landing-gold); }
body.site-landing-page .reference-case-drawing { color: #ad7e4b; }
body.site-landing-page .reference-case-disc { fill: #f1e7d9; }
body.site-landing-page .partner-tone-sage .reference-case-drawing { color: #64748b; }
body.site-landing-page .partner-tone-sage .reference-case-disc { fill: #e8edf3; }
body.site-landing-page .partner-tone-blue .reference-case-drawing { color: #476784; }
body.site-landing-page .partner-tone-blue .reference-case-disc { fill: #e2eaf2; }
body.site-landing-page .partner-directory-invitation { padding: 36px; border-color: var(--landing-line); border-radius: 12px; background: #f8fafc; }
body.site-landing-page .partner-directory-invitation h2 { color: var(--landing-ink); font: 600 1.5rem/1.5 var(--ws-font-sans, sans-serif); }
body.site-landing-page :is(.partner-invitation-link, .partner-button) { min-height: 48px; border: 1px solid var(--landing-gold); border-radius: 8px; background: var(--landing-gold); color: #172033; font-size: 1rem; font-weight: 600; }
body.site-landing-page :is(.partner-invitation-link, .partner-button):hover { background: #b8935f; border-color: #b8935f; color: #0f172a; }
body.site-landing-page :is(.partner-way-audience, .solution-scenario-meta, .partner-direction-field label, .partner-mail-note, .partner-checklist-heading, .partner-copy-status) { font-size: .875rem; color: var(--landing-muted); }
body.site-landing-page :is(.partner-way-topics li, .partner-contact-checklist, .partner-inquiry-preparation strong, .partner-template summary, .partner-copy) { font-size: 1rem; color: var(--landing-ink); }
body.site-landing-page :is(.partner-way-icon, .solution-code, .partner-inquiry-steps .partner-step-number) { background: #faf6f0; color: #9b6e3e; border-color: #ddc6aa; }
body.site-landing-page :is(.partner-direction-field select, .partner-template textarea, .partner-copy, .classification-search, .classification-clear) { border-color: #cbd5e1; border-radius: 8px; font-size: 1rem; }
body.site-landing-page .partner-template textarea { background: #f8fafc; }
body.site-landing-page .partner-template summary { min-height: 44px; }

/* Keep the existing classification tree and map interactions intact. */
body.site-landing-page .classification-main-button { border-radius: 8px; background: #f1f5f9; color: var(--landing-ink); }
body.site-landing-page .classification-main-button:hover { background: #e8edf3; }
body.site-landing-page .classification-main-button[aria-pressed="true"] { border-color: #ddc6aa; background: #faf6f0; color: #886039; }
body.site-landing-page :is(.classification-count, .classification-label, .classification-main-heading, .classification-tree-meta) { color: var(--landing-muted); font-size: .9375rem; }
body.site-landing-page .classification-tree-heading { color: var(--landing-ink); font-size: 1.25rem; font-weight: 600; }
body.site-landing-page :is(.classification-branch-summary, .classification-leaf-link) { color: var(--landing-ink); font-size: 1rem; }
body.site-landing-page .classification-leaf-link:hover { color: #886039; background: #faf6f0; }
body.site-landing-page .classification-tree-code { color: #9b6e3e; }
body.site-landing-page .wsic-landscape { border-radius: 12px; border-color: var(--landing-line); }
body.site-landing-page .wsic-outline-card { padding: 24px; }
body.site-landing-page .wsic-outline-card:hover { border-color: var(--landing-gold); }
body.site-landing-page .wsic-outline-card .wsic-outline-arrow,
body.site-landing-page .wsic-talent-module-head .wsic-eyebrow { color: #9b6e3e; }
body.site-landing-page .wsic-talent-module-head h3 { color: var(--landing-ink); font: 600 1.5rem/1.5 var(--ws-font-sans, sans-serif); }
body.site-landing-page .wsic-talent-module-lead { color: var(--landing-muted); font-size: 1rem; line-height: 1.85; }
body.site-landing-page .wsic-talent-module + .wsic-talent-module { border-color: var(--landing-line); }

@media (max-width: 1199px) {
    body.site-landing-page :is(.directory-wrap, main .wsic-shell) { width: calc(100% - 48px); }
    body.site-landing-page .landing-hero-image[data-hero-image] { padding-top: calc(var(--ws-header-height, 90px) + 48px); padding-bottom: 64px; }
}
@media (max-width: 767px) {
    body.site-landing-page :is(.directory-wrap, main .wsic-shell) { width: calc(100% - 40px); }
    body.site-landing-page .landing-hero-image[data-hero-image] {
        padding-top: calc(var(--ws-header-height, 64px) + 40px);
        padding-bottom: 48px;
        background-image: linear-gradient(180deg, rgba(7, 21, 36, .78), rgba(7, 21, 36, .58)), var(--landing-hero-art);
        background-position: center, 65% center;
    }
    body.site-landing-page .landing-hero-image[data-hero-image] h1 { margin-bottom: 18px; line-height: 1.4; }
    body.site-landing-page .landing-hero-image :is(.directory-wrap > p, .wsic-lead) { font-size: 1rem !important; line-height: 1.8; }
    body.site-landing-page .directory-content { padding-top: 36px; padding-bottom: 52px; }
    body.site-landing-page :is(.wsic-section, .wsic-overview-section) { padding-block: 36px; }
    body.site-landing-page .directory-section { padding-block: 32px; }
    body.site-landing-page :is(.partner-card-content, .partner-way-card, .solution-scenario, .partner-directory-invitation, .wsic-outline-card) { padding: 24px; }
    body.site-landing-page .partner-directory-heading { align-items: flex-start; }
    body.site-landing-page .partner-directory-eyebrow { font-size: .8rem !important; }
    body.site-landing-page :is(.directory-section p, .partner-directory-intro, .partner-card-content p, .partner-directory-invitation p:not(.partner-directory-eyebrow), .wsic-outline-card p, .wsic-overview-heading p, .wsic-use-card p) { font-size: 1rem !important; }
    body.site-landing-page :is(.partner-card-content h3, .partner-way-card h3, .solution-scenario h3, .wsic-outline-card h3, .wsic-use-card h3) { font-size: 1.25rem !important; }
    body.site-landing-page .partner-invitation-link { max-width: 100%; gap: 18px; padding: 12px 18px; }
    body.site-landing-page .classification-main-button { font-size: .9375rem; }
}
