:root {
    --ws-bg: #fdfcf9;
    --ws-bg-soft: #faf8f4;
    --ws-bg-deep: #f5f1ea;
    --ws-surface: rgba(255, 255, 255, 0.72);
    --ws-surface-strong: rgba(255, 255, 255, 0.88);
    --ws-card: rgba(255, 255, 255, 0.80);
    --ws-card-strong: #ffffff;
    --ws-text: #1f2430;
    --ws-text-soft: #737b88;
    --ws-text-muted: #8b93a0;
    --ws-border: rgba(224, 216, 204, 0.38);
    --ws-border-strong: rgba(208, 196, 180, 0.58);
    --ws-primary: #9f7a50;
    --ws-primary-strong: #7f603d;
    --ws-accent-soft: rgba(244, 237, 227, 0.42);
    --ws-dark: #1f2430;
    --ws-dark-2: #2c3240;
    --ws-dark-3: #454d5f;
    --ws-shadow-xs: 0 8px 24px rgba(74, 60, 42, 0.04);
    --ws-shadow-sm: 0 16px 40px rgba(74, 60, 42, 0.06);
    --ws-shadow-md: 0 24px 64px rgba(74, 60, 42, 0.08);
    --ws-shadow-lg: 0 36px 100px rgba(74, 60, 42, 0.12);
    --ws-radius-sm: 16px;
    --ws-radius-md: 24px;
    --ws-radius-lg: 30px;
    --ws-radius-xl: 40px;
    --ws-container: 1680px;
    --ws-transition: 0.42s cubic-bezier(.22, 1, .36, 1);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body.ws-body {
    margin: 0;
    font-family: 'Inter', sans-serif;
    color: var(--ws-text);
    background: radial-gradient(circle at top left, rgba(255,255,255,0.96) 0%, transparent 28%), radial-gradient(circle at top right, rgba(255,255,255,0.88) 0%, transparent 24%), linear-gradient(180deg, #fefdfa 0%, #faf8f4 52%, #f7f3ed 100%);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

body.ws-menu-open {
    overflow: hidden;
}

.ws-page-bg {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -2;
    overflow: hidden;
}

.ws-bg-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(90px);
    opacity: 0.68;
}

.ws-bg-orb-1 {
    width: 38rem;
    height: 38rem;
    top: -10rem;
    left: -10rem;
    background: radial-gradient(circle, rgba(255,255,255,0.78), transparent 68%);
}

.ws-bg-orb-2 {
    width: 32rem;
    height: 32rem;
    top: 8rem;
    right: -9rem;
    background: radial-gradient(circle, rgba(244, 237, 227, 0.46), transparent 70%);
}

.ws-bg-grid {
    position: absolute;
    inset: 0;
    background: linear-gradient(rgba(255, 255, 255, 0.18) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.16) 1px, transparent 1px);
    background-size: 36px 36px;
    opacity: 0.10;
}

.ws-container {
    width: min(100% - 34px, var(--ws-container));
    margin-inline: auto;
    padding-inline: clamp(8px, 1vw, 18px);
}

.ws-page-shell {
    position: relative;
    z-index: 1;
}

.ws-main {
    min-height: 60vh;
}

img {
    max-width: 100%;
    display: block;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color var(--ws-transition), background-color var(--ws-transition), border-color var(--ws-transition), transform var(--ws-transition), box-shadow var(--ws-transition), opacity var(--ws-transition);
}

    a:hover {
        text-decoration: none;
    }

button,
.btn {
    transition: transform var(--ws-transition), background-color var(--ws-transition), border-color var(--ws-transition), box-shadow var(--ws-transition), color var(--ws-transition);
}

    button:focus,
    button:focus-visible,
    a:focus-visible,
    .btn:focus-visible {
        outline: 0;
        box-shadow: 0 0 0 3px rgba(159, 122, 80, 0.18);
    }

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    font-family: 'Manrope', sans-serif;
    color: var(--ws-text);
}

p {
    margin-top: 0;
}

.section-space {
    padding: clamp(4.2rem, 6vw, 7rem) 0;
}

.section-space-sm {
    padding: clamp(2.8rem, 4vw, 4rem) 0;
}

/* GLOBAL SHARED BUTTONS */
.ws-btn-primary,
.ws-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    min-height: 56px;
    padding: 0.95rem 1.35rem;
    border-radius: 18px;
    font-size: 0.96rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    white-space: nowrap;
}

.ws-btn-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--ws-primary) 0%, var(--ws-primary-strong) 100%);
    border: 1px solid transparent;
    box-shadow: 0 16px 40px rgba(127, 96, 61, 0.18);
}

    .ws-btn-primary:hover {
        color: #fff;
        transform: translateY(-2px);
        box-shadow: 0 22px 52px rgba(127, 96, 61, 0.24);
    }

.ws-btn-secondary {
    color: var(--ws-text);
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid var(--ws-border);
    box-shadow: var(--ws-shadow-xs);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

    .ws-btn-secondary:hover {
        color: var(--ws-primary);
        transform: translateY(-2px);
        border-color: var(--ws-border-strong);
        background: rgba(255, 255, 255, 0.94);
    }


/* BACK TO TOP */
.ws-back-to-top {
    position: fixed;
    right: 20px;
    bottom: 20px;
    width: 52px;
    height: 52px;
    border: 0;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--ws-primary) 0%, var(--ws-primary-strong) 100%);
    color: #fff;
    box-shadow: 0 16px 42px rgba(127, 96, 61, 0.22);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
}

    .ws-back-to-top.show {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .ws-back-to-top:hover {
        transform: translateY(-2px);
    }

/* RESPONSIVE */
@media (max-width: 1399.98px) {
    :root {
        --ws-container: 1520px;
    }
}

@media (max-width: 991.98px) {
    .section-space {
        padding: 3.8rem 0;
    }

    .ws-footer {
        margin-top: 3rem;
    }
}

@media (max-width: 767.98px) {
    .ws-container {
        width: min(100% - 18px, var(--ws-container));
        padding-inline: 4px;
    }

    .section-space {
        padding: 3.3rem 0;
    }

    .ws-btn-primary,
    .ws-btn-secondary {
        width: 100%;
    }

    .ws-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}




/* ===============================
   FULL WIDTH LAYOUT FIX (SAFE)
   =============================== */

.ws-container-wide {
    width: 100%;
    max-width: none !important;
    margin-left: 0;
    margin-right: 0;
    padding-left: clamp(12px, 1.2vw, 20px);
    padding-right: clamp(12px, 1.2vw, 20px);
}

/* Ensure navbar & topbar stretch fully */
.ws-header .ws-container,
.ws-nav-wrap .ws-container,
.ws-topbar .ws-container {
    width: 100% !important;
    max-width: none !important;
}






/* =========================================
   GLOBAL ENTERPRISE TYPOGRAPHY SYSTEM
   (Applies to ALL pages)
========================================= */

/* HERO (Top section only) */
/*.ws-hero-title,
.wk-home-title,
.ws-home-hero h1 {
    font-size: clamp(2.8rem, 4.5vw, 5rem);
    line-height: 0.95;
    letter-spacing: -0.06em;
    font-weight: 800;
}*/

/* MAIN SECTION TITLES */
/*.ws-section-title,
.ws-platform-title,
.ws-about-title,
.ws-products-title,
.ws-engineering-title,
.ws-ai-title,
.ws-industries-title,
h2.ws-title {
    font-size: clamp(2.1rem, 3vw, 3.4rem);
    line-height: 1.05;
    letter-spacing: -0.05em;
    font-weight: 800;
}*/

/* CTA / BOTTOM BANDS */
/*.ws-cta-title,
.ws-platform-cta-copy h2,
.ws-about-cta h2,
.ws-products-cta h2 {
    font-size: clamp(1.9rem, 2.4vw, 3rem);
    line-height: 1.08;
    letter-spacing: -0.045em;
    font-weight: 800;
}*/

/* SUB TEXT (Enterprise tone) */
/*.ws-text,
.ws-platform-text,
.ws-about-text,
.ws-products-text,
.ws-section-subtitle,
p {
    font-size: clamp(0.95rem, 1.05vw, 1.05rem);
    line-height: 1.65;
    color: #6b7280;
}*/

/* SMALL LABELS (NEXT STEP / ENGINEERING DEPTH etc.) */
/*.ws-label,
.ws-pill,
.ws-badge {
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    font-weight: 800;
    text-transform: uppercase;
    color: #8a94a6;
}*/





/* =========================================
   GLOBAL ENTERPRISE SPACING SYSTEM
========================================= */
/*:root {
    --ws-space-1: 8px;
    --ws-space-2: 12px;
    --ws-space-3: 16px;
    --ws-space-4: 20px;
    --ws-space-5: 24px;
    --ws-space-6: 32px;
    --ws-space-7: 40px;
    --ws-space-8: 56px;
    --ws-space-9: 72px;
    --ws-space-10: 96px;
    --ws-section-y: clamp(64px, 8vw, 104px);
    --ws-section-y-tight: clamp(40px, 5vw, 64px);
    --ws-shell-x: clamp(18px, 2vw, 28px);
    --ws-card-pad: clamp(18px, 2vw, 24px);
    --ws-card-pad-lg: clamp(22px, 2.4vw, 32px);
    --ws-gap-sm: clamp(12px, 1.2vw, 16px);
    --ws-gap-md: clamp(16px, 1.6vw, 24px);
    --ws-gap-lg: clamp(24px, 2vw, 32px);
}*/

/* PAGE SHELL */
/*.ws-container,
.ws-container-wide,
.wsh-container,
.ws-about-shell,
.ws-platform-shell,
.wsp-shell,
.ws-engineering-shell,
.ws-ai-shell,
.ws-industries-shell {
    padding-left: var(--ws-shell-x);
    padding-right: var(--ws-shell-x);
}*/

/* SECTION SPACING */
/*.section-space,
.ws-section,
.ws-home-section,
.ws-about-section,
.ws-platform-section,
.ws-products-section,
.ws-engineering-section,
.ws-ai-section,
.ws-industries-section {
    padding-top: var(--ws-section-y);
    padding-bottom: var(--ws-section-y);
}

.section-space-tight {
    padding-top: var(--ws-section-y-tight);
    padding-bottom: var(--ws-section-y-tight);
}

.pt-0 {
    padding-top: 0 !important;
}

.pb-0 {
    padding-bottom: 0 !important;
}*/

/* SECTION HEADERS */
.ws-section-head,
.ws-about-section-head,
.ws-platform-section-head,
.wsp-section-head,
.ws-engineering-section-head,
.ws-ai-section-head,
.ws-industries-section-head {
    margin-bottom: clamp(22px, 2.5vw, 36px);
}

    .ws-section-head h2,
    .ws-about-section-head h2,
    .ws-platform-section-head h2,
    .wsp-section-head h2,
    .ws-engineering-section-head h2,
    .ws-ai-section-head h2,
    .ws-industries-section-head h2 {
        margin-top: 10px;
        margin-bottom: 14px;
    }

    .ws-section-head p,
    .ws-about-section-head p,
    .ws-platform-section-head p,
    .wsp-section-head p,
    .ws-engineering-section-head p,
    .ws-ai-section-head p,
    .ws-industries-section-head p {
        margin: 0;
        max-width: 76ch;
    }

/* HERO SPACING */
.ws-hero,
.wsh-hero,
.ws-about-hero,
.ws-platform-hero,
.wsp-products-hero,
.ws-engineering-hero,
.ws-ai-hero,
.ws-industries-hero {
    padding-top: clamp(22px, 3vw, 40px);
    padding-bottom: clamp(42px, 5vw, 68px);
}

.ws-hero-grid,
.wsh-hero-grid,
.ws-about-hero-grid,
.ws-platform-hero-grid,
.wsp-products-hero-grid,
.ws-engineering-hero-grid,
.ws-ai-hero-grid,
.ws-industries-hero-grid {
    gap: var(--ws-gap-lg);
}

.ws-hero-copy > * + *,
.wsh-hero-copy > * + *,
.ws-about-hero-copy > * + *,
.ws-platform-hero-copy > * + *,
.wsp-products-hero-copy > * + *,
.ws-engineering-hero-copy > * + *,
.ws-ai-hero-copy > * + *,
.ws-industries-hero-copy > * + * {
    margin-top: 14px;
}

/* BUTTON GROUPS */
.ws-actions,
.wsh-actions,
.ws-about-actions,
.ws-platform-actions,
.wsp-products-hero-actions,
.ws-engineering-actions,
.ws-ai-actions,
.ws-industries-actions,
.ws-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 22px;
}

/* GRID GAPS */
.ws-grid,
.ws-card-grid,
.ws-feature-grid,
.ws-about-feature-grid,
.ws-about-cap-grid,
.ws-about-identity-grid,
.ws-platform-philosophy-grid,
.ws-platform-layer-grid,
.ws-platform-portfolio-grid,
.ws-platform-impact-grid,
.wsp-products-positioning-grid,
.wsp-product-side-grid,
.wsp-product-columns {
    gap: var(--ws-gap-md);
}

/* CARD SPACING */
.ws-card,
.ws-glass-card,
.ws-about-stat-card,
.ws-about-feature-card,
.ws-about-cap-card,
.ws-about-belief-card,
.ws-about-step-card,
.ws-about-identity-card,
.ws-platform-hero-card,
.ws-platform-philosophy-card,
.ws-platform-layer-card,
.ws-platform-portfolio-card,
.ws-platform-engineering-card,
.ws-platform-impact-card,
.wsp-products-positioning-card,
.wsp-product-side-card,
.wsp-product-summary-card,
.wsp-product-detail-main,
.wsp-product-detail-aside,
.wsp-mini-panel {
    padding: var(--ws-card-pad);
}

.ws-card-lg,
.ws-panel-lg,
.ws-about-belief-band,
.ws-about-identity-band,
.ws-about-cta-box,
.ws-platform-engineering-band,
.ws-platform-cta-box,
.wsp-products-closing-panel {
    padding: var(--ws-card-pad-lg);
}

/* CARD INTERNAL RHYTHM */
.ws-card h3,
.ws-card h4,
.ws-glass-card h3,
.ws-glass-card h4,
.ws-about-stat-card h3,
.ws-about-feature-card h3,
.ws-about-cap-card h3,
.ws-about-belief-card h4,
.ws-about-step-card h4,
.ws-about-identity-card h4,
.ws-platform-hero-card h3,
.ws-platform-philosophy-card h3,
.ws-platform-layer-card h4,
.ws-platform-portfolio-card h3,
.ws-platform-engineering-card h4,
.ws-platform-impact-card h4,
.wsp-products-positioning-card h3,
.wsp-product-side-card h4,
.wsp-mini-panel h4 {
    margin-top: 0;
    margin-bottom: 10px;
}

.ws-card p,
.ws-glass-card p,
.ws-about-stat-card p,
.ws-about-feature-card p,
.ws-about-cap-card p,
.ws-about-belief-card p,
.ws-about-step-card p,
.ws-about-identity-card p,
.ws-platform-hero-card p,
.ws-platform-philosophy-card p,
.ws-platform-layer-card p,
.ws-platform-portfolio-card p,
.ws-platform-engineering-card p,
.ws-platform-impact-card p,
.wsp-products-positioning-card p,
.wsp-product-side-card p,
.wsp-mini-panel p {
    margin: 0;
}

/* BAND / PANEL LAYOUT */
.ws-about-belief-band,
.ws-about-cta-box,
.ws-platform-engineering-band,
.ws-platform-cta-box,
.wsp-products-closing-panel {
    gap: var(--ws-gap-lg);
}

/* LIST RHYTHM */
ul.ws-list,
.ws-platform-list,
.wsp-product-side-card ul,
.wsp-product-detail-aside ul,
.wsp-mini-panel ul {
    margin-top: 12px;
    margin-bottom: 0;
    padding-left: 18px;
}

    ul.ws-list li,
    .ws-platform-list li,
    .wsp-product-side-card li,
    .wsp-product-detail-aside li,
    .wsp-mini-panel li {
        margin-bottom: 8px;
    }

/* =========================
   FINAL FOOTER FIX (CLEAN)
========================= */

.ws-footer {
    position: relative;
    padding-top: 22px;
    padding-bottom: 18px;
    margin-top: 12px; /* reduced space above footer */
}

/* Brand */
.ws-footer-brand {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

/* Titles */
.ws-footer h5,
.ws-footer h6 {
    font-weight: 800;
    letter-spacing: -0.02em;
}

.ws-footer h5 {
    font-size: 1.14rem;
    margin-bottom: 0.7rem;
}

.ws-footer h6 {
    font-size: 0.98rem;
    margin-bottom: 0.9rem;
}

/* Text */
.ws-footer-brand p,
.ws-footer-links a,
.ws-footer-contact p,
.ws-footer-bottom,
.ws-footer-bottom-links a {
    color: var(--ws-text-soft);
}

/* Paragraph */
.ws-footer-brand p,
.ws-footer-contact p {
    line-height: 1.8;
    margin-bottom: 0;
}

/* Links */
.ws-footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.55rem;
}

    .ws-footer-links a:hover,
    .ws-footer-bottom-links a:hover {
        color: var(--ws-primary);
    }

/* Contact */
.ws-footer-contact {
    display: grid;
    gap: 0.5rem;
    margin-bottom: 0.8rem;
}

    .ws-footer-contact p {
        display: flex;
        align-items: center;
        gap: 0.6rem;
    }

/* Social */
.ws-footer-social {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

    .ws-footer-social a {
        width: 36px;
        height: 36px;
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.82);
        border: 1px solid var(--ws-border);
        color: var(--ws-text);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-shadow: var(--ws-shadow-xs);
        transition: all 0.25s ease;
    }

        .ws-footer-social a:hover {
            color: var(--ws-primary);
            transform: translateY(-2px);
        }

/* Bottom Bar */
.ws-footer-bottom {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--ws-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    font-size: 0.92rem;
}

/* Bottom Links */
.ws-footer-bottom-links {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 767.98px) {
    .ws-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.6rem;
    }
}

/* RESPONSIVE */
@media (max-width: 991.98px) {
    :root {
        --ws-section-y: clamp(52px, 7vw, 80px);
        --ws-section-y-tight: clamp(32px, 4vw, 48px);
        --ws-card-pad: 18px;
        --ws-card-pad-lg: 20px;
    }

    .ws-actions,
    .wsh-actions,
    .ws-about-actions,
    .ws-platform-actions,
    .wsp-products-hero-actions,
    .ws-engineering-actions,
    .ws-ai-actions,
    .ws-industries-actions,
    .ws-cta-actions {
        gap: 12px;
    }
}

@media (max-width: 767.98px) {
    :root {
        --ws-shell-x: 16px;
        --ws-gap-md: 14px;
        --ws-gap-lg: 18px;
    }

    .ws-actions,
    .wsh-actions,
    .ws-about-actions,
    .ws-platform-actions,
    .wsp-products-hero-actions,
    .ws-engineering-actions,
    .ws-ai-actions,
    .ws-industries-actions,
    .ws-cta-actions {
        flex-direction: column;
        align-items: stretch;
    }

        .ws-actions > *,
        .wsh-actions > *,
        .ws-about-actions > *,
        .ws-platform-actions > *,
        .wsp-products-hero-actions > *,
        .ws-engineering-actions > *,
        .ws-ai-actions > *,
        .ws-industries-actions > *,
        .ws-cta-actions > * {
            width: 100%;
        }
}

