/* === CSS VARIABLES === */
:root {
    --color-primary: #F6C12E;
    --color-primary-dark: #e0a800;
    --color-primary-darker: #f2b705;
    --color-secondary: #025043;
    --color-blue-dark: #001F1A;
    --color-background-light: #FFFFFF;
    --color-text-light: #1F2937;
    --gray-50: #F9FAFB;
    --gray-100: #F3F4F6;
    --gray-200: #E5E7EB;
    --gray-400: #9CA3AF;
    --gray-500: #6B7280;
    --gray-600: #4B5563;
    --gray-700: #374151;
    --gray-900: #111827;
    --blue-100: #CCF5E9;
    --blue-900: #014039;
    --yellow-200: #FDE68A;
    --yellow-400: #FACC15;
    --green-400: #4ADE80;
    --white: #FFFFFF;
    --text-xxs-size: 13px;
    --text-xs-size: 14px;
    --text-sm-size: 15px;
    --text-base-size: 15px; --text-base-line: 23px;
    --text-lg-size: 17px; --text-lg-line: 25px;
    --text-xl-size: 19px; --text-xl-line: 28px;
    --text-3xl-size: 26px; --text-3xl-line: 34px;
    --text-4xl-size: 32px; --text-4xl-line: 38px;
    --text-5xl-size: 40px; --text-5xl-line: 1.05;
    --text-6xl-size: 52px; --text-6xl-line: 1.05;
    --text-8xl-size: 80px;
    --font-light: 300; --font-medium: 500;
    --font-semibold: 600; --font-bold: 700; --font-extrabold: 800; --font-black: 900;
    --weight-eyebrow: 600; --weight-label: 600; --weight-button: 600;
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.08), 0 10px 10px -5px rgba(0,0,0,0.04);
    --shadow-2xl: 0 25px 50px -12px rgba(0,0,0,0.25);
    --container-max: 768px;
    --page-padding-x: 13px;
    --font-family-main: "Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --tracking-tight: -0.02em; --tracking-display: -0.04em;
    --tracking-wider: 0.15em; --tracking-widest: 0.18em; --tracking-ultra: 0.2em;
    --tracking-eyebrow: var(--tracking-wider);
    --tracking-wide: 0.12em;
    --tracking-medium: 0.06em;
    --tracking-label: var(--tracking-wider);
    --tracking-button: var(--tracking-medium);
    --transition-all: all 150ms cubic-bezier(0.4,0,0.2,1);
    --transition-all-500: all 500ms cubic-bezier(0.4,0,0.2,1);

    /*
     * Header-aware sticky offset for page-level sticky elements.
     * Default: reserve full header height + 16px breathing room.
     * When the header is auto-hidden on scroll, `html.is-header-hidden`
     * collapses this to just the breathing room (see rule below).
     * Consumers: `top: var(--sticky-top-offset)`.
     */
    --sticky-top-offset: calc(var(--header-height, 80px) + 16px);
}

html.is-header-hidden {
    --sticky-top-offset: 16px;
}

/* === RESET === */
*,*::before,*::after { box-sizing: border-box; }
html,body { margin:0; padding:0; }
body { font-family:'Inter',sans-serif; }
body.page-body {
    min-height:100vh;
    padding-top:var(--header-height,0);
    background-color:var(--color-background-light);
    color:var(--color-text-light);
    line-height:var(--text-base-line);
    -webkit-font-smoothing:antialiased;
    transition:background-color 300ms ease, color 300ms ease;
}
h1,h2,h3,h4,h5,h6 { margin:0; font-weight:var(--font-bold); letter-spacing: normal; }
p { margin:0; }
a { color:inherit; text-decoration:none; }
/* Visually hidden headings (document H1 fallback, form labels) — WCAG-friendly clip pattern */
.screen-reader-text {
    border:0;
    clip:rect(1px,1px,1px,1px);
    clip-path:inset(50%);
    height:1px;
    margin:-1px;
    overflow:hidden;
    padding:0;
    position:absolute !important;
    width:1px;
    word-wrap:normal !important;
}
.skip-link.screen-reader-text:focus {
    clip:auto !important;
    clip-path:none;
    height:auto;
    left:8px;
    top:8px;
    width:auto;
    margin:0;
    padding:12px 16px;
    z-index:100000;
    background:var(--color-secondary);
    color:var(--white);
    font-weight:600;
    border-radius:8px;
    outline:2px solid var(--color-primary);
    outline-offset:2px;
}
img,svg { max-width:100%; display:block; }

.layout-container {
    width:100%;
    margin-left:auto;
    margin-right:auto;
    padding-left:var(--page-padding-x);
    padding-right:var(--page-padding-x);
    max-width:var(--container-max);
}
.scroll-container::-webkit-scrollbar { height:5px; }
.scroll-container::-webkit-scrollbar-track { background:transparent; }
.scroll-container::-webkit-scrollbar-thumb { background:#E5E7EB; border-radius:8px; }



.site-header {
    position:fixed; top:0; left:0; right:0;
    z-index:50; width:100%;
    transform:translateY(0);
    transition:transform 320ms cubic-bezier(0.4,0,0.2,1), opacity 320ms ease;
    will-change:transform;
}
.site-header.header--hidden {
    transform:translateY(-110%); opacity:0; pointer-events:none;
}

/* TOP BAR */
.header-top-bar {
    background:linear-gradient(90deg,#001a15 0%,#012d24 50%,#001a15 100%);
    border-bottom:1px solid rgba(246,193,46,0.13);
    overflow:hidden; max-height:44px;
    transition:max-height 260ms ease, opacity 200ms ease;
}
.site-header.header--compact .header-top-bar {
    max-height:0; opacity:0; pointer-events:none;
}
.header-top-bar-inner {
    display:flex; align-items:center; justify-content:space-between;
    height:44px; padding:0 var(--page-padding-x);
    max-width:1229px; margin:0 auto; gap:16px;
}

/* Left email */
.header-top-left { display:flex; align-items:center; flex-shrink:0; }
.header-email-link {
    display:inline-flex; align-items:center; gap:8px;
    color:rgba(255,255,255,0.80); font-size:12px;
    font-weight:500; letter-spacing: normal;
    text-decoration:none; padding:5px 0;
    transition:color 200ms ease;
}
.header-email-link:hover { color:#fff; }
.header-email-icon {
    font-size:15px;
    font-variation-settings:'wght' 300,'FILL' 0,'opsz' 20;
    color:var(--color-primary); flex-shrink:0;
    opacity:0.85; transition:opacity 200ms ease;
}
.header-email-link:hover .header-email-icon { opacity:1; }

/* Center hours */
.header-top-center { display:none; flex:1; justify-content:center; }
@media (min-width:1024px) { .header-top-center { display:flex; } }
.header-hours {
    display:inline-flex; align-items:center; gap:8px;
    font-size:11.5px; color:rgba(255,255,255,0.45);
    letter-spacing: normal; font-weight:400;
}
.header-hours-dot {
    width:6px; height:6px; border-radius:50%;
    background:var(--color-primary); opacity:0.9;
    animation:topbar-pulse 2.8s ease-in-out infinite;
    box-shadow:0 0 6px rgba(246,193,46,0.5);
}
@keyframes topbar-pulse {
    0%,100% { opacity:.7;  transform:scale(1);   box-shadow:0 0 4px rgba(246,193,46,0.4); }
    50%      { opacity:1;  transform:scale(1.3); box-shadow:0 0 10px rgba(246,193,46,0.8); }
}

/* Right phones */
.header-top-right {
    display:flex; align-items:center; gap:0; flex-shrink:0;
}
.header-phone-item {
    display:inline-flex; align-items:center; gap:7px;
    color:rgba(255,255,255,0.84); font-size:12px;
    font-weight:500; letter-spacing: normal;
    text-decoration:none; padding:5px 16px;
    white-space:nowrap;
    transition:color 200ms ease;
    position:relative; border-radius:4px;
}
.header-phone-item+.header-phone-item::before {
    content:''; position:absolute; left:0; top:20%; bottom:20%;
    width:1px; background:rgba(255,255,255,0.12);
}
.header-phone-item:first-child { padding-left:0; }
.header-phone-item:hover { color:#fff; }
.header-phone-icon {
    font-size:14px;
    font-variation-settings:'wght' 300,'FILL' 0,'opsz' 20;
    color:var(--color-primary); flex-shrink:0;
    opacity:0.85; transition:opacity 200ms ease, transform 200ms ease;
}
.header-phone-item:hover .header-phone-icon { opacity:1; transform:scale(1.1); }

/* MAIN BAR */
.header-main-wrapper {
    background: rgba(255,255,255,0.98);
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border-bottom: 1px solid rgba(0,0,0,0.06);
    box-shadow: 0 1px 0 rgba(0,0,0,0.03), 0 4px 20px rgba(0,31,26,0.04);
    transition: background 300ms ease, box-shadow 300ms ease;
}
.site-header.header--compact .header-main-wrapper {
    box-shadow: 0 1px 0 rgba(0,0,0,0.06), 0 8px 32px rgba(0,31,26,0.09);
}
.header-main {
    display:flex; align-items:center; justify-content:space-between;
    height:64px; gap:8px;
    padding:0 var(--page-padding-x);
    max-width:1229px; margin:0 auto;
}

/* LOGO */
.logo-wrapper {
    display:flex; align-items:center; gap:10px;
    text-decoration:none; flex-shrink:0;
}
.logo-monogram {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 36px;
    flex-shrink: 0;
}

.logo-monogram-svg {
    display: block;
    height: 27px;
    width: auto;
}

.logo-text { display:flex; flex-direction:column; line-height:1; gap:3px; }
.logo-title {
    font-size:15px; font-weight:800; letter-spacing: normal;
    text-transform:uppercase; color:var(--color-secondary); line-height:1;
}
.logo-subtitle {
    font-size:9px; font-weight:600; letter-spacing: normal;
    text-transform:uppercase; color:rgba(2,80,67,1); line-height:1;
}

/* MAIN NAV */
.main-nav {
    display:none; align-items:center; gap:0; flex:1; justify-content:center;
}
@media (min-width:1024px) {
    .main-nav { display:flex; }
    .mobile-menu-toggle { display:none !important; }
}
.nav-link {
    position:relative; display:inline-flex; align-items:center;
    font-size:14px; font-weight:500; letter-spacing: normal;
    color:var(--gray-500); padding:8px 14px; border-radius:8px;
    text-decoration:none; white-space:nowrap; overflow:hidden;
    transition:color 180ms ease,background 180ms ease;
}
.nav-link::after {
    content:''; position:absolute; bottom:4px; left:14px; right:14px;
    height:1.5px; border-radius:2px; background:var(--color-primary);
    transform:scaleX(0); transform-origin:left center;
    transition:transform 240ms cubic-bezier(0.4,0,0.2,1);
}
.nav-link:hover { color:var(--color-secondary); background:rgba(0,0,0,0.04); }
.nav-link:hover::after { transform:scaleX(1); }
.nav-link.is-active { color:var(--color-secondary); font-weight:600; }
.nav-link.is-active::after { transform:scaleX(1); }


.nav-item { position:relative; }
.nav-item--dropdown { padding:0; }
.nav-dropdown-bar {
    display:inline-flex;
    align-items:center;
    position:relative;
    border-radius:8px;
    gap:0;
    transition:background 180ms ease;
}
.nav-dropdown-bar::after {
    content:'';
    position:absolute;
    bottom:4px;
    left:14px;
    right:14px;
    height:1.5px;
    border-radius:2px;
    background:var(--color-primary);
    transform:scaleX(0);
    transform-origin:left center;
    transition:transform 240ms cubic-bezier(0.4,0,0.2,1);
    pointer-events:none;
}
.nav-item--dropdown:hover .nav-dropdown-bar,
.nav-item--dropdown:focus-within .nav-dropdown-bar {
    background:rgba(0,0,0,0.04);
}
.nav-item--dropdown:hover .nav-dropdown-bar::after,
.nav-item--dropdown:focus-within .nav-dropdown-bar::after {
    transform:scaleX(1);
}
.nav-link--dropdown-parent {
    padding:8px 0 8px 14px;
    margin-right:-2px;
    border-radius:0;
    background:transparent!important;
}
.nav-link--dropdown-parent:hover {
    background:transparent!important;
}
.nav-link--dropdown-parent::after {
    display:none;
}
.nav-item--dropdown:hover .nav-link--dropdown-parent,
.nav-item--dropdown:focus-within .nav-link--dropdown-parent {
    color:var(--color-secondary);
}
.nav-dropdown-trigger--split {
    padding:8px 12px 8px 0;
    gap:0;
    border-radius:0;
    margin:0 0 0 -6px;
    min-width:0;
    background:transparent!important;
}
.nav-dropdown-trigger--split::after {
    display:none;
}
.nav-item--dropdown:hover .nav-dropdown-trigger--split,
.nav-item--dropdown:focus-within .nav-dropdown-trigger--split {
    color:var(--color-secondary);
    background:transparent!important;
}
.nav-item--dropdown:hover .nav-dropdown-trigger--split .nav-dropdown-icon,
.nav-item--dropdown:focus-within .nav-dropdown-trigger--split .nav-dropdown-icon {
    transform:rotate(180deg);
    opacity:0.75;
}
.nav-dropdown-trigger--split .nav-dropdown-icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    margin:0 0 0 -2px;
    width:20px;
    opacity:0.5;
}
.nav-dropdown-trigger {
    position:relative; display:inline-flex; align-items:center; gap:4px;
    background:none; border:none; cursor:pointer; font-family:inherit;
    font-size:14px; font-weight:500; letter-spacing: normal;
    color:var(--gray-500); padding:8px 14px; border-radius:8px; overflow:hidden;
    transition:color 180ms ease,background 180ms ease;
}
.nav-dropdown-trigger::after {
    content:''; position:absolute; bottom:4px; left:14px; right:14px;
    height:1.5px; border-radius:2px; background:var(--color-primary);
    transform:scaleX(0); transform-origin:left center;
    transition:transform 240ms cubic-bezier(0.4,0,0.2,1);
}
.nav-item--dropdown:hover .nav-dropdown-trigger { color:var(--color-secondary); background:rgba(0,0,0,0.04); }
.nav-item--dropdown:hover .nav-dropdown-trigger::after { transform:scaleX(1); }
.nav-dropdown-icon {
    font-size:16px; opacity:0.45;
    transition:transform 240ms ease,opacity 200ms ease;
}
.nav-item--dropdown:hover .nav-dropdown-icon { transform:rotate(180deg); opacity:0.8; }

.dropdown-panel {
    opacity:0; visibility:hidden; transform:translateY(6px); pointer-events:none;
    transition:opacity 200ms ease, transform 220ms cubic-bezier(0.165,0.84,0.44,1), visibility 200ms;
}
.dropdown-panel.is-open {
    opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto;
}
.nav-dropdown-panel {
    position:absolute; top:calc(100% + 2px); left:50%;
    transform:translateX(-50%);
    width:416px; background:#fff; border-radius:16px;
    box-shadow:0 0 0 1px rgba(0,0,0,0.055),0 4px 6px rgba(0,0,0,0.035),0 24px 48px rgba(0,31,26,0.11);
    overflow:hidden; z-index:60;
}
/* invisible bridge above panel so mouse movement through gap keeps hover alive */
.nav-dropdown-panel::before {
    content:'';
    position:absolute;
    bottom:100%;
    left:0; right:0;
    height:10px;
}
.nav-dropdown-inner { padding:14px; }
.nav-dropdown-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:5px; }
.nav-dropdown-card {
    display:flex; align-items:flex-start; gap:11px; padding:12px;
    border-radius:10px; border:1px solid transparent; text-decoration:none;
    transition:background 160ms ease,border-color 160ms ease;
}
.nav-dropdown-card:hover { background:rgba(2,80,67,0.04); border-color:rgba(2,80,67,0.09); }
.nav-dropdown-card-icon {
    width:48px; height:48px; flex-shrink:0; border-radius:10px;
    background:rgba(2,80,67,0.08); display:flex; align-items:center;
    justify-content:center; color:var(--color-secondary);
    transition:background 160ms ease,color 160ms ease;
}
.nav-dropdown-card-icon .material-symbols-outlined {
    font-size:24px; font-variation-settings:'wght' 300,'opsz' 24;
}
.nav-dropdown-card:hover .nav-dropdown-card-icon { background:var(--color-primary); color:var(--blue-900); }
.nav-dropdown-card-title { font-size:14px; font-weight:600; color:var(--gray-900); line-height:1.3; }
.nav-dropdown-card-subtitle { margin-top:2px; font-size:12.5px; color:var(--gray-400); line-height:1.4; }
.nav-dropdown-footer {
    background: var(--gray-50);
    border-top: 1px solid rgba(0,0,0,0.045);
    padding: 10px 14px;
    text-align: center;
}

.nav-dropdown-footer-link {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: normal;
    color: var(--color-secondary);
    text-decoration: none;
    transition: color 160ms ease;
}

.nav-dropdown-footer-link:hover {
    color: var(--color-primary);
}

.btn-consultation-premium {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    cursor: pointer;
    flex-shrink: 0;
    position: relative;
    background: transparent;
    border: none;
    padding: 0;
    filter: drop-shadow(0 4px 12px rgba(2,80,67,0.18));
    transition: filter 220ms ease, transform 220ms ease;
}
.btn-consultation-premium:hover {
    transform: translateY(-2px);
    filter: drop-shadow(0 7px 18px rgba(2,80,67,0.26));
}
.btn-consultation-premium:active { transform: translateY(0); }

.btn-cta-icon-circle {
    position: relative;
    z-index: 2;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-right: -12px;
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.35);
    transition: transform 260ms cubic-bezier(0.4,0,0.2,1);
}
.btn-consultation-premium:hover .btn-cta-icon-circle {
    transform: scale(1.07);
}
.header-consultation-icon {
    font-size: 19px;
    font-variation-settings: 'wght' 300, 'FILL' 0, 'opsz' 24;
    color: var(--color-secondary);
}

.btn-cta-main {
    display: inline-flex;
    align-items: center;
    padding: 0 18px 0 24px;
    height: 34px;
    background: #ffffff;
    border-radius: 10px;
    border: none;
    position: relative;
    overflow: hidden;
    align-self: center;
}
.btn-cta-text {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: normal;
    text-transform: uppercase;
    color: var(--color-secondary);
    white-space: nowrap;
    line-height: 1;
    transition: color 200ms ease;
}
.btn-consultation-premium:hover .btn-cta-text {
    color: var(--blue-900);
}

/* "Free" pre-label is present in markup but hidden visually; the visible text is .btn-cta-text */
.btn-cta-label { display: none; }

/* MOBILE TOGGLE */
.mobile-menu-toggle {
    display:inline-flex; align-items:center; justify-content:center;
    width:38px; height:38px; border-radius:9px;
    border:1px solid rgba(0,0,0,0.08); background:transparent;
    color:var(--gray-500); cursor:pointer;
    transition:background 160ms ease,color 160ms ease,border-color 160ms ease;
}
.mobile-menu-toggle:hover { background:rgba(2,80,67,0.06); border-color:rgba(2,80,67,0.14); color:var(--color-secondary); }
.mobile-menu-toggle .material-symbols-outlined { font-size:22px; font-variation-settings:'wght' 300; }

/* MOBILE DRAWER */
.mobile-menu-backdrop {
    position:fixed; inset:0; background:rgba(0,20,15,0.5);
    opacity:0; pointer-events:none; transition:opacity 220ms ease;
    z-index:999; backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
}
.mobile-menu-drawer {
    position:fixed; left:0; right:0; top:0; bottom:0; width:100%;
    overflow:auto; z-index:1000;
    background:radial-gradient(900px 380px at 12% 0%,rgba(2,80,67,0.07) 0%,transparent 52%),rgba(255,255,255,0.99);
    transform:translateX(100%); opacity:0; pointer-events:none;
    transition:transform 260ms cubic-bezier(0.16,1,0.3,1),opacity 200ms ease;
}
body.mobile-menu-open .mobile-menu-backdrop { opacity:1; pointer-events:auto; }
body.mobile-menu-open { overflow:hidden; }
body.mobile-menu-open .mobile-menu-drawer { transform:translateX(0); opacity:1; pointer-events:auto; }
body.mobile-menu-open .mobile-menu-close {
    opacity:1; transform:translateY(0); transition-delay:calc(var(--i,0)*70ms);
}
.mobile-menu-inner {
    padding:calc(18px + env(safe-area-inset-top,0px)) 18px calc(18px + env(safe-area-inset-bottom,0px));
    display:flex; flex-direction:column; gap:12px;
}
.mobile-menu-top {
    display:flex; align-items:center; justify-content:space-between;
    gap:12px; padding-bottom:16px; border-bottom:1px solid rgba(0,0,0,0.07); padding-top:4px;
}
.mobile-menu-title {
    font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing: normal;
    color:var(--gray-900); display:flex; align-items:center; gap:8px;
}
.mobile-menu-title::before {
    content:''; width:8px; height:8px; border-radius:50%;
    background:var(--color-secondary); box-shadow:0 0 0 3px rgba(2,80,67,0.14);
}
.mobile-menu-close {
    border:1px solid rgba(0,0,0,0.08); background:transparent; cursor:pointer;
    color:var(--gray-400); display:inline-flex; align-items:center; justify-content:center;
    width:36px; height:36px; border-radius:8px;
    opacity:0; transform:translateY(10px);
    transition:opacity 220ms ease,transform 340ms cubic-bezier(0.16,1,0.3,1),background 160ms ease,color 160ms ease;
}
.mobile-menu-close:hover { background:rgba(2,80,67,0.06); border-color:rgba(2,80,67,0.14); color:var(--color-secondary); transform:none; }
.mobile-nav { display:flex; flex-direction:column; gap:5px; }
.mobile-nav-section {
    display:flex; flex-direction:column; gap:2px; padding:12px; border-radius:12px;
    background:rgba(2,80,67,0.03); border:1px solid rgba(2,80,67,0.07);
}
.mobile-nav-section-title {
    font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing: normal;
    color:var(--gray-400); margin-bottom:6px; padding:0 4px;
    display:flex; align-items:center; justify-content:space-between;
    background:none; border:none;
}
.mobile-nav-section-title::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--color-secondary); opacity:0.45; }
.mobile-nav-section-title::after { content:''; width:8px; height:8px; border-right:1.5px solid rgba(2,80,67,0.4); border-bottom:1.5px solid rgba(2,80,67,0.4); transform:rotate(45deg); }
a.mobile-nav-section-title--link {
    text-decoration:none;
    color:inherit;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
}
a.mobile-nav-section-title--link:hover,
a.mobile-nav-section-title--link:focus-visible {
    color:var(--color-secondary);
    outline:none;
}
.mobile-nav-link {
    font-size:14px; font-weight:500; color:var(--gray-700);
    padding:10px 12px; border-radius:8px;
    display:flex; align-items:center; justify-content:space-between;
    text-decoration:none; border:1px solid transparent; min-height:42px;
    opacity:0; transform:translateY(10px);
    transition:opacity 240ms ease,transform 360ms cubic-bezier(0.16,1,0.3,1),color 160ms ease,background 160ms ease,border-color 160ms ease;
}
.mobile-nav-link::after { content:''; width:7px; height:7px; border-right:1.5px solid rgba(2,80,67,0.35); border-top:1.5px solid rgba(2,80,67,0.35); transform:rotate(45deg); opacity:0.7; flex-shrink:0; }
.mobile-nav-link:hover { color:var(--color-secondary); background:rgba(2,80,67,0.05); border-color:rgba(2,80,67,0.09); }
.mobile-nav-section .mobile-nav-link { font-size:14px; padding:8px 10px; }
.mobile-nav-section .mobile-nav-link::after { display:none; }
.mobile-nav-link--muted { color:var(--gray-400); font-size:13px; }
.mobile-nav-link--active { background:rgba(2,80,67,0.08)!important; border-color:rgba(2,80,67,0.18)!important; color:var(--color-secondary)!important; font-weight:600; }
.mobile-menu-cta { width:fit-content; margin-top:8px; opacity:0; transform:translateY(10px); transition:opacity 240ms ease,transform 360ms cubic-bezier(0.16,1,0.3,1); }
body.mobile-menu-open .mobile-nav-link { opacity:1; transform:translateY(0); transition-delay:0ms!important; }
body.mobile-menu-open .mobile-menu-cta { opacity:1; transform:translateY(0); transition-delay:0ms!important; }
@media (min-width:1024px) {
    .mobile-menu-backdrop,.mobile-menu-drawer { display:none!important; }
}

/* === HERO === */
.hero-tech-grid {
    background-size:50px 50px;
    background-image:linear-gradient(to right,rgba(246,193,46,0.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(246,193,46,0.05) 1px,transparent 1px);
}
.abstract-shape { filter:blur(80px); opacity:0.4; }

/* === METRICS === */
.metrics-section { padding-top:64px; padding-bottom:88px; background-color:var(--gray-50); }
.metrics-grid { display:grid; grid-template-columns:1fr; gap:32px; margin-bottom:64px; margin-top:-88px; position:relative; z-index:20; }
@media (max-width:1023.98px) { .metrics-grid { margin-top:-32px; } }
@media (min-width:768px) { .metrics-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.metric-card { background-color:var(--white); padding:30px; border-radius:19px; box-shadow:var(--shadow-2xl); border:1px solid var(--gray-100); text-align:center; }
.metric-value { font-size:var(--text-6xl-size); line-height:var(--text-6xl-line); font-weight:var(--font-black); color:var(--color-secondary); margin-bottom:0; }
.metric-underline { height:6px; width:44px; background-color:var(--color-primary); border-radius:7999px; margin:14px auto 18px; transform:scaleX(0); transform-origin:center; transition:transform 600ms ease; }
.metric-card.is-revealed .metric-underline { transform:scaleX(1); }
.metric-title { font-size:var(--text-lg-size); line-height:var(--text-lg-line); font-weight:var(--font-bold); color:#1F2937; margin-bottom:12px; }
.metric-text { font-size:var(--text-base-size); line-height:var(--text-base-line); color:var(--gray-500); }
.metrics-cta-strip { background-color:var(--color-secondary); border-radius:19px; overflow:hidden; box-shadow:0 20px 40px rgba(15,23,42,0.4); position:relative; border:1px solid rgba(255,255,255,0.05); }
.metrics-cta-skew { position:absolute; top:0; right:0; width:205px; height:100%; background-color:var(--color-primary); transform:skewX(12deg) translateX(80px); opacity:0.9; display:none; }
@media (min-width:768px) { .metrics-cta-skew { display:block; } }
.metrics-cta-inner { position:relative; z-index:10; padding:32px; display:flex; flex-direction:column; gap:19px; }
@media (min-width:768px) { .metrics-cta-inner { flex-direction:row; align-items:center; justify-content:space-between; padding-left:51px; padding-right:51px; } }
.metrics-cta-text { color:var(--white); max-width: 50%; }
.metrics-cta-title { font-size:var(--text-3xl-size); line-height:var(--text-3xl-line); font-weight:var(--font-bold); margin-bottom:6px; }
.metrics-cta-accent { color:var(--color-primary); }
.metrics-cta-subtitle { font-size:var(--text-sm-size); color:rgba(204,245,233,0.9); }
.metrics-cta-right { display:flex; align-items:center; gap:26px; }
.metrics-cta-price-info { display:none; text-align:right; }
@media (min-width:768px) { .metrics-cta-price-info { display:block; } }
.metrics-cta-old-price { display:block; font-size:var(--text-xxs-size); color:var(--gray-400); text-decoration:line-through; text-decoration-thickness:2px; text-decoration-color:#EF4444; }
.metrics-cta-new-price { display:block; font-size:var(--text-3xl-size); font-weight:var(--font-black); color:var(--white); }
.metrics-cta-button { background-color:var(--color-primary); color:var(--blue-900); font-weight:var(--weight-button); padding:16px 32px; border-radius:12px; text-transform:uppercase; letter-spacing: normal; font-size:var(--text-xs-size); white-space:nowrap; border:none; cursor:pointer; }
.metrics-cta-button:hover { background-color:var(--yellow-400); transform:translateY(-4px); }

/* === ABOUT === */
.about-section { position:relative; padding-top:77px; padding-bottom:77px; background-color:var(--white); overflow:hidden; }
.opacity-layer { opacity:0.3; }
.about-bg-illustration { position:absolute; inset:0; background-image:radial-gradient(circle at 1px 1px,rgba(2,80,67,0.06) 1px,transparent 0); background-size:40px 40px; }
.about-bg-svg-wrapper { position:absolute; top:0; right:0; width:100%; height:100%; opacity:0.05; pointer-events:none; }
.about-bg-svg { width:100%; height:100%; }
.about-bg-circle-secondary { color:var(--color-secondary); }
.about-bg-circle-primary { color:var(--color-primary); }
.about-bg-line-secondary { color:var(--color-secondary); }
.about-inner { position:relative; z-index:10; }
.about-layout { display:flex; flex-direction:column; gap:38px; align-items:center; }
@media (min-width:1024px) { .about-layout { flex-direction:row; gap:77px; } }
.about-card-wrapper { width:100%; }
@media (min-width:1024px) { .about-card-wrapper { width:60%; } }
.about-card { position:relative; background-color:rgba(255,255,255,0.8); padding:26px; border-radius:32px; backdrop-filter:blur(12px); box-shadow:0 20px 60px -15px rgba(0,0,0,0.1); border:1px solid var(--gray-50); }
@media (min-width:1024px) { .about-card { padding:45px; } }
.about-card-decoration { position:absolute; top:-19px; left:-19px; width:64px; height:64px; background-color:rgba(246,193,46,0.1); border-radius:19px; z-index:-1; }
.about-title { font-size: var(--text-3xl-size);
    line-height: var(--text-3xl-line);
    font-weight: var(--font-bold);
    text-transform: uppercase;
    letter-spacing: normal;
    color: var(--blue-900);
    margin-bottom: 16px; }
.about-text-block { display:flex; flex-direction:column; gap:19px; }
.about-company-name { font-size:var(--text-lg-size); font-weight:var(--font-bold); color:var(--gray-900); }
.about-paragraph { font-size:var(--text-base-size); line-height:var(--text-lg-line); color:var(--gray-600); }
.about-highlight { color:var(--color-secondary); font-weight:var(--font-bold); }
.about-visual-wrapper { width:100%; }
@media (min-width:1024px) { .about-visual-wrapper { width:40%; } }
.about-visual { position:relative; height:320px; border-radius:32px; overflow:hidden; }
@media (min-width:1024px) { .about-visual { height:400px; } }
.about-visual-pattern { position:absolute; inset:0; opacity:0.3; }
.about-visual-overlay { position:absolute; inset:0; }
.pattern-grid { background-image:linear-gradient(rgba(2,80,67,0.06) 1px,transparent 1px),linear-gradient(90deg,rgba(2,80,67,0.06) 1px,transparent 1px); background-size:40px 40px; }
.pattern-overlay { background:radial-gradient(circle at 50% 50%,rgba(246,193,46,0.05) 0%,transparent 70%); }
.about-visual-orbits { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.about-orbit-outer { width:205px; height:205px; border-radius:7999px; border:1px solid rgba(2,80,67,0.18); display:flex; align-items:center; justify-content:center; position:relative; }
.about-orbit-line-outer { position:absolute; inset:0; border-radius:inherit; border-top:2px solid rgba(246,193,46,0.4); }
.about-orbit-inner { width:154px; height:154px; border-radius:7999px; border:1px solid rgba(2,80,67,0.18); display:flex; align-items:center; justify-content:center; position:relative; }
.about-orbit-line-inner { position:absolute; inset:0; border-radius:inherit; border-right:2px solid rgba(2,80,67,0.5); }
.about-visual-center { width:102px; height:102px; border-radius:26px; background-color:rgba(2,80,67,0.07); border:1px solid rgba(2,80,67,0.28); display:flex; align-items:center; justify-content:center; transform:rotate(45deg); box-shadow:inset 0 0 15px rgba(15,23,42,0.4); }
.about-visual-icon { font-size:var(--text-4xl-size); color:var(--color-secondary); transform:rotate(-45deg); }
.about-orbit-accent { position:absolute; backdrop-filter:blur(4px); }
.about-orbit-accent-top { top:64px; right:32px; width:77px; height:77px; background-color:rgba(246,193,46,0.05); border:1px solid rgba(246,193,46,0.2); border-radius:19px; transform:rotate(12deg); }
.about-orbit-accent-bottom { bottom:64px; left:32px; width:102px; height:102px; background-color:rgba(2,80,67,0.07); border:1px solid rgba(2,80,67,0.28); border-radius:7999px; }
.about-orbit-cross-vertical { position:absolute; left:50%; top:0; width:1px; height:100%; background-image:linear-gradient(to bottom,transparent,rgba(2,80,67,0.35),transparent); }
.about-orbit-cross-horizontal { position:absolute; top:50%; left:0; height:1px; width:100%; background-image:linear-gradient(to right,transparent,rgba(2,80,67,0.35),transparent); }

/* === PROCESS === */
.process-section { position:relative; padding-top:64px; padding-bottom:64px; background-image:radial-gradient(circle at center,#025043,#001F1A); overflow:hidden; }
.process-aww-bg { position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(60,100,60,0.35) 0%,transparent 70%),radial-gradient(ellipse 40% 50% at 10% 60%,rgba(246,193,46,0.07) 0%,transparent 60%),radial-gradient(ellipse 40% 50% at 90% 40%,rgba(246,193,46,0.05) 0%,transparent 60%); z-index:0; }
.process-aww-noise { position:absolute; inset:0; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"); background-size:150px 150px; opacity:0.5; z-index:0; }
.process-aww { position:relative; z-index:1; }
.process-aww-header { text-align:center; margin-bottom:80px; }
.process-aww-pill { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--color-primary); border-radius:9999px; padding:6px 18px; font-family:var(--font-family-main); font-size:var(--text-xxs-size); letter-spacing: normal; font-weight:var(--weight-eyebrow); color:var(--color-primary); text-transform:uppercase; margin-bottom:24px; }
.process-aww-pill::before { content:''; width:6px; height:6px; background:var(--color-primary); border-radius:50%; }
.process-aww-title { font-family:var(--font-family-main); font-size:clamp(var(--text-4xl-size),4.5vw,var(--text-6xl-size)); font-weight:var(--font-black); line-height:var(--text-5xl-line); letter-spacing: normal; color:var(--white); text-transform:uppercase; }
.process-aww-title span { color:var(--color-primary); }
.process-aww-subtitle { margin-top:18px; color:rgba(255,255,255,0.6); font-size:var(--text-sm-size); max-width:440px; margin-inline:auto; }
.process-aww-grid-wrap { position:relative; }
.process-aww-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; }
.process-aww-grid::before { content:''; position:absolute; top:64px; left:12.5%; right:12.5%; height:1px; background:linear-gradient(90deg,transparent 0%,var(--color-primary) 15%,var(--color-primary) 85%,transparent 100%); opacity:0.35; z-index:0; }
.process-aww-card { position:relative; z-index:1; padding:0 20px 40px; display:flex; flex-direction:column; align-items:center; cursor:default; }
.process-aww-icon-wrap { position:relative; width:108px; height:108px; margin-bottom:32px; flex-shrink:0; }
.process-aww-icon-bg { width:100%; height:100%; background:linear-gradient(135deg,rgba(2,80,67,0.9),rgba(6,70,58,0.7)); border:1px solid rgba(246,193,46,0.25); border-radius:24px; display:flex; align-items:center; justify-content:center; transition:border-color .4s cubic-bezier(0.16,1,0.3,1), box-shadow .4s cubic-bezier(0.16,1,0.3,1), transform .4s cubic-bezier(0.16,1,0.3,1); position:relative; }
.process-aww-card:hover .process-aww-icon-bg { border-color:var(--color-primary); box-shadow:0 0 0 1px var(--color-primary),0 0 16px rgba(246,193,46,0.12); transform:translateY(-4px); }
.process-aww-icon-bg svg { width:36px; height:36px; stroke:var(--white); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; transition:transform .4s cubic-bezier(0.16,1,0.3,1); position:relative; z-index:1; }
.process-aww-card:hover .process-aww-icon-bg svg { transform:scale(1.15) rotate(-3deg); }
.process-aww-step-badge { position:absolute; bottom:-10px; right:-10px; width:38px; height:38px; background:var(--color-primary); border-radius:50%; border:2px solid #0d2318; display:flex; align-items:center; justify-content:center; font-size:var(--text-xs-size); font-weight:var(--font-bold); color:#0d2318; box-shadow:0 0 20px rgba(246,193,46,0.6); z-index:10; }
.process-aww-step-num { font-size:var(--text-xxs-size); letter-spacing: normal; font-weight:var(--weight-eyebrow); color:var(--color-primary); opacity:0.5; margin-bottom:10px; text-align:center; text-transform:uppercase; }
.process-aww-card-title { font-size:var(--text-sm-size); font-weight:var(--font-bold); letter-spacing: normal; color:var(--white); text-align:center; margin-bottom:14px; text-transform:uppercase; }
.process-aww-title-wrap { position:relative; display:inline-block; }
.process-aww-title-wrap::after { content:''; position:absolute; bottom:-4px; left:0; right:0; height:1px; background:var(--color-primary); transform:scaleX(0); transform-origin:center; transition:transform .35s ease; }
.process-aww-card:hover .process-aww-title-wrap::after { transform:scaleX(1); }
.process-aww-card-text { font-size:var(--text-xs-size); line-height:var(--text-base-line); color:rgba(255,255,255,0.65); text-align:center; max-width:220px; }
.process-aww-connector { position:absolute; top:51px; width:28px; height:28px; border-radius:50%; border:1px solid var(--color-primary); background:#0d2318; display:flex; align-items:center; justify-content:center; z-index:2; }
.process-aww-connector::after { content:''; width:8px; height:8px; background:var(--color-primary); border-radius:50%; box-shadow:0 0 10px rgba(246,193,46,0.6); }
.process-aww-connector-1 { left:calc(25% - 14px); }
.process-aww-connector-2 { left:calc(50% - 14px); }
.process-aww-connector-3 { left:calc(75% - 14px); }
.process-aww-bottom { margin-top:72px; display:flex; align-items:center; justify-content:center; gap:12px; }
.process-aww-line { height:1px; width:80px; background:linear-gradient(90deg,transparent,var(--color-primary)); }
.process-aww-line:last-child { background:linear-gradient(90deg,var(--color-primary),transparent); }
.process-aww-bottom-text { font-size:var(--text-xxs-size); letter-spacing: normal; font-weight:var(--weight-eyebrow); color:var(--color-primary); opacity:0.6; text-transform:uppercase; }
@media (max-width:900px) { .process-aww-grid { grid-template-columns:repeat(2,1fr); gap:40px 0; } .process-aww-grid::before,.process-aww-connector,.process-aww-card+.process-aww-card::before { display:none; } }
@media (max-width:560px) { .process-aww-grid { grid-template-columns:1fr; gap:50px; } .process-section { padding:70px 0 90px; } }

/* === TECH === */
.tech-section { padding-top:51px; padding-bottom:51px; background-color:var(--white); }
.section-header { margin-bottom:56px; }
.section-header--center { text-align:center; }
.section-title { font-size:var(--text-3xl-size); line-height:var(--text-3xl-line); font-weight:var(--font-bold); text-transform:uppercase; letter-spacing: normal; color:var(--blue-900); margin-bottom:16px; }
.section-underline { width:64px; height:5px; border-radius:7999px; margin:0 auto 24px; }
.section-underline--accent { background-color:var(--color-primary-darker); }
.section-description { font-size:var(--text-base-size); line-height:var(--text-lg-line); color:var(--gray-500); max-width:720px; margin:0 auto; }
.tech-grid { display:grid; grid-template-columns:1fr; gap:24px; }
@media (min-width:1024px) { .tech-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.tech-card { background-color:var(--white); border-radius:18px; padding:22px 24px; box-shadow:var(--shadow-sm); border:1px solid var(--gray-100); display:flex; flex-direction:column; justify-content:flex-start; transition:transform 350ms cubic-bezier(0.4,0,0.2,1), box-shadow 350ms cubic-bezier(0.4,0,0.2,1); }
.tech-card:hover { transform:translateY(-2px); box-shadow:0 8px 24px -4px rgba(0,0,0,0.10); }
.tech-card-main { margin-bottom:auto; }
.tech-card-hover .tech-icon-bg { transition:transform 350ms cubic-bezier(0.4,0,0.2,1), background-color 350ms cubic-bezier(0.4,0,0.2,1), color 350ms cubic-bezier(0.4,0,0.2,1); }
.tech-card-hover:hover .tech-icon-bg { transform:scale(1.08) rotate(3deg); background-color:var(--color-primary); color:var(--color-blue-dark); }
.tech-icon-bg { width:48px; height:48px; border-radius:14px; background-color:#04362C; color:#CCF5E9; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.tech-title { font-size:var(--text-xl-size); line-height:var(--text-xl-line); font-weight:var(--font-semibold); color:#111827; margin-bottom:14px; }
.tech-features { list-style:none; padding:0; margin:0 0 20px; display:flex; flex-direction:column; gap:7px; }
.tech-feature-item { display:flex; align-items:flex-start; gap:10px; font-size:var(--text-sm-size); color:var(--gray-700); line-height:1.55; }
.tech-feature-dot { width:5px; height:5px; border-radius:7999px; background-color:var(--color-primary); flex-shrink:0; margin-top:7px; }
.tech-card-footer { border-top:1px solid var(--gray-100); padding-top:16px; margin-top:16px; display:flex; align-items:center; justify-content:space-between; }
.tech-tags { display:flex; gap:6px; flex-wrap:wrap; }
.tech-tag { padding:4px 11px; border-radius:7999px; background-color:var(--gray-100); font-size:var(--text-xxs-size); font-weight:var(--weight-label); text-transform:uppercase; letter-spacing: normal; color:var(--gray-500); }
.tech-more-link { display:inline-flex; align-items:center; gap:6px; font-weight:var(--weight-label); font-size:var(--text-xxs-size); color:var(--color-secondary); }
.tech-more-link:hover { color:var(--color-primary); }
.tech-more-icon { font-size:var(--text-xs-size); transition:transform 150ms ease-in-out; }
.tech-more-link:hover .tech-more-icon { transform:translateX(4px); }

/* === PROJECTS === */
.projects-section { padding-top:51px; padding-bottom:51px; background-color:var(--gray-50); }
.projects-header { margin-bottom:51px; position:relative; }
.section-header--projects .section-header-inner { max-width:614px; margin:0 auto; }
.projects-controls { display:flex; gap:13px; justify-content:center; margin-top:26px; }
@media (min-width:768px) { .projects-controls { position:absolute; right:0; bottom:0; margin-top:0; } .section-header--projects .section-header-inner { max-width:819px; } }
.projects-control-btn { width:38px; height:38px; border-radius:7999px; border:1px solid var(--gray-200); background-color:var(--white); display:inline-flex; align-items:center; justify-content:center; color:var(--color-secondary); cursor:pointer; transition:var(--transition-all); }
.projects-control-btn:hover { background-color:var(--color-primary); border-color:var(--color-primary); }
.projects-scroll { overflow:hidden; position:relative; }
.projects-track { display:flex; gap:26px; padding:0 13px 4px; will-change:transform; }
.projects-track--animating { transition:transform 460ms cubic-bezier(0.4,0,0.2,1); }
.project-card { flex-shrink:0; width:360px; max-width:90vw; border-radius:32px; padding:26px; background-color:var(--white); border:1px solid var(--gray-100); box-shadow:var(--shadow-sm); display:flex; flex-direction:column; }
.project-card:hover { border-color:var(--color-primary); box-shadow:var(--shadow-2xl); }
.project-card-header { display:flex; flex-direction:column; align-items:center; text-align:center; margin-bottom:26px; }
.project-logo-placeholder { width:100%; height:154px; background-color:rgba(229,231,235,0.5); border-radius:13px; display:flex; align-items:center; justify-content:center; margin-bottom:26px; }
.project-logo-text { text-transform:uppercase; letter-spacing: normal; font-weight:var(--weight-label); font-size:var(--text-base-size); color:var(--gray-400); }
.project-title { font-size:var(--text-xl-size); line-height:var(--text-xl-line); font-weight:var(--font-bold); color:var(--gray-900); margin-bottom:8px; }
.project-kpi-chip { display:inline-flex; align-items:center; gap:6px; padding:5px 13px; border-radius:7999px; background-color:var(--gray-50); border:1px solid var(--gray-100); }
.project-kpi-icon { color:var(--color-primary); font-size:var(--text-lg-size); }
.project-kpi-value { color:var(--color-primary); font-weight:var(--font-black); font-size:var(--text-base-size); }
.project-kpi-label { font-size:var(--text-xxs-size); font-weight:var(--weight-label); text-transform:uppercase; letter-spacing: normal; color:var(--gray-500); }
.project-card-body { margin-bottom:26px; flex-grow:1; }
.project-quote { font-style:italic; font-size:var(--text-sm-size); line-height:var(--text-lg-line); color:var(--gray-600); margin-bottom:19px; border-left:4px solid rgba(246,193,46,0.4); padding-left:13px; background-color:rgba(249,250,251,0.5); padding-top:10px; padding-bottom:10px; border-radius:0 13px 13px 0; }
.project-points { display:flex; flex-direction:column; gap:13px; }
.project-point { display:flex; align-items:flex-start; gap:10px; }
.project-point-icon { font-size:var(--text-xxs-size); margin-top:3px; }
.project-point-icon--primary { color:var(--color-primary); }
.project-point-icon--secondary { color:var(--color-secondary); }
.project-point-text { font-size:var(--text-sm-size); color:var(--gray-700); line-height:var(--text-lg-line); }
.project-point-label { font-weight:var(--font-semibold); }
.project-card-footer { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--gray-100); padding-top:19px; }
.project-solution { display:flex; flex-direction:column; }
.project-solution-label { font-size:var(--text-xxs-size); font-weight:var(--weight-label); text-transform:uppercase; letter-spacing: normal; color:var(--gray-400); }
.project-solution-text { font-size:var(--text-sm-size); font-weight:var(--font-semibold); color:var(--gray-900); }
.project-link-btn { width:38px; height:38px; border-radius:13px; background-color:var(--gray-50); display:inline-flex; align-items:center; justify-content:center; color:var(--color-primary); transition:var(--transition-all); }
.project-card:hover .project-link-btn { background-color:var(--color-primary); color:var(--color-blue-dark); }

/* === CONTACT === */
.ai-contact-section { position:relative; padding-top:51px; padding-bottom:51px; background-image:radial-gradient(circle at center,#025043,#001F1A); background-color:var(--color-blue-dark); overflow:hidden; }
.ai-contact-grid { position:absolute; inset:0; opacity:0.2; }
.ai-contact-inner { position:relative; z-index:10; }
.ai-contact-wrapper { max-width:762px; margin:0 auto; }
.ai-contact-header { text-align:center; margin-bottom:38px; }
.ai-contact-badge { display:inline-flex; align-items:center; gap:6px; padding:3px 10px; border-radius:7999px; background-color:rgba(246,193,46,0.2); color:var(--color-primary); font-size:var(--text-xxs-size); font-weight:var(--weight-eyebrow); text-transform:uppercase; letter-spacing: normal; margin-bottom:13px; }
.ai-contact-badge-icon { font-size:var(--text-xxs-size); }
.ai-contact-title { font-size:var(--text-3xl-size); line-height:var(--text-3xl-line); font-weight:var(--font-extrabold); color:var(--white); margin-bottom:16px; }
.ai-contact-subtitle { font-size:var(--text-xxs-size); color:rgba(255,255,255,0.7); }
.ai-contact-subtitle--white { color:#fff; }
.ai-chat-container { background-color:rgba(17,24,39,0.6); backdrop-filter:blur(40px); border-radius:19px; border:1px solid rgba(255,255,255,0.1); box-shadow:0 25px 50px -12px rgba(0,0,0,0.25); overflow:hidden; }
.chat-bubble-glow { box-shadow:0 0 20px rgba(2,80,67,0.35); }
.ai-chat-header { padding:13px; border-bottom:1px solid rgba(255,255,255,0.05); background-color:rgba(255,255,255,0.05); display:flex; align-items:center; justify-content:space-between; }
.ai-chat-header-left { display:flex; align-items:center; gap:10px; }
.ai-chat-avatar { width:26px; height:26px; border-radius:7999px; background-color:var(--color-primary); display:flex; align-items:center; justify-content:center; }
.ai-chat-avatar-icon { color:var(--color-blue-dark); font-size:var(--text-base-size); }
.ai-chat-header-text { display:flex; flex-direction:column; }
.ai-chat-name { font-size:var(--text-xxs-size); font-weight:var(--font-bold); color:var(--white); }
.ai-chat-status { display:inline-flex; align-items:center; gap:3px; font-size:var(--text-xxs-size); color:var(--green-400); }
.ai-chat-status-dot { width:5px; height:5px; border-radius:7999px; background-color:var(--green-400); }
.ai-chat-header-right { display:flex; gap:6px; }
.ai-chat-header-dot { width:6px; height:6px; border-radius:7999px; background-color:rgba(255,255,255,0.2); }
.ai-chat-body { padding:26px; display:flex; flex-direction:column; gap:19px; }
.ai-chat-message-row { display:flex; gap:13px; }
.ai-chat-bot-icon-bg { width:32px; height:32px; border-radius:10px; background-color:var(--color-secondary); display:flex; align-items:center; justify-content:center; }
.ai-chat-bot-icon-bg .material-symbols-outlined { color:var(--white); }
.ai-chat-message-content { max-width:384px; }
.ai-chat-message-bubble { background-color:rgba(255,255,255,0.05); border-radius:13px; border-top-left-radius:4px; border:1px solid rgba(255,255,255,0.1); padding:16px; color:var(--blue-100); font-size:var(--text-base-size); line-height:var(--text-base-line); }
.ai-chat-message-highlight { color:var(--color-primary); font-weight:var(--font-bold); }
.ai-chat-form { display:flex; flex-direction:column; gap:19px; }
.ai-chat-input-wrapper { position:relative; }
.ai-chat-input { width:100%; background-color:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:13px; padding:19px; font-size:var(--text-base-size); color:var(--white); resize:none; outline:none; transition:var(--transition-all); }
.ai-chat-input::placeholder { color:rgba(255,255,255,0.2); }
.ai-chat-input:focus { box-shadow:0 0 15px rgba(246,193,46,0.3); border-color:#F6C12E; }
.ai-chat-input-hint { position:absolute; right:13px; bottom:13px; color:rgba(255,255,255,0.2); }
.ai-chat-form-grid { display:grid; grid-template-columns:1fr; gap:19px; }
@media (min-width:768px) { .ai-chat-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.ai-chat-field-wrapper { position:relative; }
.ai-chat-field-label { position:absolute; top:-10px; left:13px; background-color:#0F172A; padding:0 6px; font-size:var(--text-xxs-size); font-weight:var(--font-black); text-transform:uppercase; letter-spacing: normal; color:var(--color-primary); }
.ai-chat-input-short { padding:13px 19px; }
.ai-chat-footer { display:flex; flex-direction:column; gap:13px; padding-top:13px; border-top:1px solid rgba(255,255,255,0.05); }
@media (min-width:768px) { .ai-chat-footer { flex-direction:row; align-items:center; justify-content:space-between; } }
.ai-chat-security { font-size:var(--text-xxs-size); color:rgba(204,245,233,0.7); display:flex; align-items:center; gap:6px; }
.ai-chat-security-icon { font-size:var(--text-xxs-size); }
.ai-chat-submit-btn { background-color:var(--color-primary); color:var(--color-blue-dark); font-weight:var(--font-black); padding:13px 32px; border-radius:10px; box-shadow:0 0 40px rgba(246,193,46,0.2); display:inline-flex; align-items:center; gap:10px; text-transform:uppercase; letter-spacing: normal; font-size:var(--text-xxs-size); border:none; cursor:pointer; }
.ai-chat-submit-btn:hover { background-color:var(--yellow-400); transform:translateY(-2px); }
.ai-chat-submit-icon { font-size:var(--text-xs-size); transition:transform 150ms ease-in-out; }
.ai-chat-submit-btn:hover .ai-chat-submit-icon { transform:translateX(4px); }

/* ── ERP CONTACT ── */
.erp-contact {
    padding: 80px 0;
    background-image: radial-gradient(circle at center, #025043, #001F1A);
    position: relative;
    overflow: hidden;
}
.erp-contact-bg {
    position: absolute; inset: 0; opacity: 0.1;
    background-image:
        linear-gradient(rgba(2,80,67,0.15) 1px, transparent 1px),
        linear-gradient(90deg, rgba(2,80,67,0.15) 1px, transparent 1px);
    background-size: 40px 40px;
}
.erp-contact-inner { position: relative; z-index: 10; }
.erp-contact-box {
    max-width: 1024px;
    margin: 0 auto;
    background: rgba(255,255,255,0.05);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 48px;
    overflow: hidden;
    box-shadow: 0 25px 60px rgba(0,0,0,0.35);
}
.erp-contact-grid {
    display: grid;
    grid-template-columns: 1fr;
}
@media (min-width: 1024px) {
    .erp-contact-grid { grid-template-columns: 1fr 1fr; }
}
.erp-contact-left {
    padding: 56px 48px;
    background: linear-gradient(135deg, rgba(2,80,67,0.45), transparent);
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.erp-contact-right { padding: 56px 48px; }
@media (max-width: 767px) {
    .erp-contact-left,
    .erp-contact-right {
        padding: 36px 24px;
    }
}
.erp-contact-title {
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 800;
    color: var(--white);
    line-height: 1.2;
}
.erp-contact-desc {
    font-size: 15px;
    color: rgba(255,255,255,0.65);
    line-height: 1.6;
}
.erp-contact-features { display: flex; flex-direction: column; gap: 20px; }
.erp-contact-feature {
    display: flex;
    align-items: center;
    gap: 16px;
    color: var(--white);
}
.erp-contact-feature-icon {
    width: 48px; height: 48px;
    background: var(--color-primary);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 0 20px rgba(246,193,46,0.4);
}
.erp-contact-feature-icon .material-symbols-outlined {
    font-size: 22px;
    color: var(--color-blue-dark);
    font-variation-settings: 'wght' 400, 'opsz' 24;
}
.erp-contact-feature-title { font-weight: 700; font-size: 15px; }
.erp-contact-feature-sub { font-size: 13px; color: rgba(255,255,255,0.5); }

/* ERP Contact: fallback-форма (коли CF7 не задано) */
/* Тільки fallback-форма (прямий нащадок), не CF7 форма всередині .erc-form--cf7 */
.erp-contact-right > form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.erp-form-group { margin-bottom: 0; }
.erp-form-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: normal;
    color: rgba(255,255,255,0.45);
    margin-bottom: 8px;
}
.erp-form-input,
.erp-form-textarea {
    width: 100%;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 14px;
    padding: 16px 20px;
    color: var(--white);
    font-size: 15px;
    font-family: inherit;
    outline: none;
    transition: border-color 200ms ease, box-shadow 200ms ease;
    resize: none;
    box-sizing: border-box;
}
.erp-form-input::placeholder,
.erp-form-textarea::placeholder { color: rgba(255,255,255,0.25); }
.erp-form-input:focus,
.erp-form-textarea:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 15px rgba(246,193,46,0.25);
}
.erp-form-checkbox-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}
.erp-form-checkbox {
    width: 20px; height: 20px;
    border-radius: 6px;
    border: 2px solid rgba(255,255,255,0.2);
    background: rgba(255,255,255,0.08);
    accent-color: var(--color-primary);
    cursor: pointer;
    flex-shrink: 0;
}
.erp-form-checkbox-label {
    font-size: 13px;
    color: rgba(255,255,255,0.5);
}
.erp-form-submit {
    width: 100%;
    padding: 18px;
    background: var(--color-primary);
    color: var(--color-blue-dark);
    font-weight: 800;
    font-size: 15px;
    font-family: inherit;
    border: none;
    border-radius: 14px;
    cursor: pointer;
    transition: transform 200ms ease, box-shadow 200ms ease;
}
.erp-form-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 40px rgba(246,193,46,0.55);
}

/* === FOOTER === */
.site-footer { background-color:var(--white); border-top:1px solid var(--gray-200); padding-top:51px; padding-bottom:31px; }
.footer-inner { display:flex; flex-direction:column; gap:38px; }
.footer-grid { display:grid; grid-template-columns:1fr; gap:38px; }
@media (min-width:768px) { .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1024px) { .footer-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (min-width:1024px) { .footer-grid--3col { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.footer-col--brand { display:flex; flex-direction:column; gap:19px; }
.footer-logo-monogram {
    height: 38px;
}
.footer-logo-monogram-svg {
    height: 38px;
    width: auto;
    max-width: none;
    display: block;
}
.footer-logo-title { font-size:var(--text-lg-size); }
.footer-logo-subtitle { font-size:var(--text-xxs-size); }
.footer-description { font-size:14px; color:var(--gray-600); max-width:205px; line-height:1.6; }
.footer-socials { display:flex; gap:13px; }
.footer-social-btn { width:40px; height:40px; border-radius:7999px; background-color:var(--gray-50); border:1px solid var(--gray-100); display:inline-flex; align-items:center; justify-content:center; color:var(--color-secondary); transition:var(--transition-all); }
.footer-social-btn:hover { background-color:var(--color-secondary); color:var(--white); }
.footer-social-icon { width:16px; height:16px; fill:currentColor; }
.footer-heading { font-size:12px; font-weight:var(--weight-eyebrow); text-transform:uppercase; letter-spacing: normal; color:var(--gray-900); margin-bottom:26px; border-bottom:2px solid var(--color-primary); padding-bottom:3px; width:fit-content; }
.footer-nav { display:flex; flex-direction:column; gap:13px; font-size:14px; font-weight:var(--font-medium); color:var(--gray-600); }
.footer-nav-link { transition:color 150ms ease-in-out; }
.footer-nav-link:hover { color:var(--color-secondary); }
.footer-contact-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:19px; font-size:14px; color:var(--gray-700); font-weight:var(--font-medium); }
.footer-steps-list { list-style:none; padding:0; margin:0; display:grid; gap:7px; }
.footer-steps-item { display: grid; grid-template-columns: 15px 1fr; align-items: baseline; gap: 5px; }
.footer-step-num { font-size:11px; font-weight:var(--weight-eyebrow); letter-spacing: normal; color:var(--color-primary); line-height:1.6; }
.footer-step-text { font-size:14px; font-weight:var(--font-medium); color:var(--gray-600); line-height:1.6; }
.footer-process-text { font-size:14px; font-weight:var(--font-medium); color:var(--gray-600); line-height:1.6; margin:0; }
.footer-contact-item { display:flex; align-items:center; gap:13px; }
.footer-contact-icon { color:var(--color-secondary); }
.footer-contact-link { color:inherit; }

.footer-bottom { padding-top:32px; border-top:1px solid var(--gray-100); font-size:12px; font-weight:var(--font-bold); text-transform:uppercase; letter-spacing: normal; color:var(--gray-500); text-align:center; }

/* === MOTION === */
.reveal { opacity:0; --reveal-translate:16px; transform:translateY(calc(var(--reveal-translate)+var(--card-lift,0px))); transition:opacity 600ms ease,transform 600ms ease; }
.reveal.is-revealed { opacity:1; --reveal-translate:0px; }
.reveal--scale { --reveal-scale:0.98; transform:translateY(calc(var(--reveal-translate)+var(--card-lift,0px))) scale(var(--reveal-scale)); }
.reveal--scale.is-revealed { --reveal-scale:1; }
.reveal--soft { --reveal-translate:18px; transform:translateY(calc(var(--reveal-translate)+var(--card-lift,0px))) scale(0.985); filter:blur(4px); transition:opacity 1000ms ease,transform 1000ms ease,filter 1000ms ease; }
.reveal--soft.is-revealed { filter:blur(0); }
.process-card.reveal--soft { transform:none; filter:none; transition:opacity 900ms ease; }
.process-card.reveal--soft.is-revealed { opacity:1; }
.interactive-card { --card-lift:0px; transition:transform 350ms ease,box-shadow 350ms ease,border-color 350ms ease; }
.interactive-card:hover { --card-lift:-6px; box-shadow:var(--shadow-2xl); border-color:rgba(246,193,46,0.3); }
.btn,.hero-evolution-cta-primary,.hero-evolution-cta-secondary,.metrics-cta-button,.ai-chat-submit-btn { position:relative; overflow:hidden; }
.btn::after,.hero-evolution-cta-primary::after,.hero-evolution-cta-secondary::after,.metrics-cta-button::after,.ai-chat-submit-btn::after { content:""; position:absolute; top:-50%; left:-50%; width:200%; height:200%; background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,0.35) 45%,transparent 60%); transform:translateX(-120%) rotate(6deg); transition:transform 700ms ease; pointer-events:none; }
.btn:hover::after,.hero-evolution-cta-primary:hover::after,.hero-evolution-cta-secondary:hover::after,.metrics-cta-button:hover::after,.ai-chat-submit-btn:hover::after { transform:translateX(120%) rotate(6deg); }
.parallax { will-change:transform; transform:translate3d(0,var(--parallax-offset,0px),0); }

/* === ANIMATIONS === */
@keyframes ping { 0% { transform:scale(1); opacity:.75; } 75%,100% { transform:scale(2); opacity:0; } }
@keyframes pulse { 0%,100% { opacity:1; } 50% { opacity:.5; } }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes float { 0%,100% { transform:rotate(3deg) translate3d(0,0,0); } 50% { transform:rotate(3deg) translate3d(0,-8px,0); } }
@keyframes chat-fade { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.animate-pulse { animation:pulse 2000ms cubic-bezier(0.4,0,0.6,1) infinite; }
.animate-spin-outer { animation:spin 10s linear infinite; }
.animate-spin-inner { animation:spin 15s linear infinite reverse; }

/* === BREAKPOINTS === */
@media (min-width:640px) { .layout-container { max-width:768px; } }
@media (min-width:768px) { .layout-container { max-width:819px; } }
@media (min-width:1024px) { .layout-container { max-width:1024px; } }
@media (min-width:1280px) { .layout-container { max-width:1229px; } }
@media (min-width:1536px) { .layout-container { max-width:1229px; } }

/* === REDUCED MOTION === */
@media (prefers-reduced-motion:reduce) {
    .reveal { opacity:1; transform:none; transition:none; }
    .interactive-card { transition:none; }
    .btn::after,.hero-evolution-cta-primary::after,.hero-evolution-cta-secondary::after,
    .metrics-cta-button::after,.ai-chat-submit-btn::after { display:none; }
    .parallax { transform:none; }
    .mobile-menu-backdrop,.mobile-menu-drawer { transition:none; animation:none; }
    .site-header,.header-top-bar,.header-main-wrapper,.nav-link,.nav-link::after,
    .nav-dropdown-trigger,.nav-dropdown-trigger::after,.nav-dropdown-icon,.dropdown-panel,
    .btn-consultation-premium,.header-consultation-icon {
        opacity:1;
        transform:none;
        transition:none;
        animation:none;
    }
    .site-header.header--hidden {
        transform:translateY(-110%);
        opacity:0;
        pointer-events:none;
        transition:none;
    }
    .ps-hero-orb-ring { animation:none; }
    .ps-hero-orb-glow { animation:none; }
}
.grecaptcha-badge {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Custom SVG icons rendered via CSS mask */
.psoft-mask-icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    flex-shrink: 0;
    vertical-align: middle;
    background-color: currentColor;
    -webkit-mask-image: var(--psoft-icon-mask);
    mask-image: var(--psoft-icon-mask);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.nav-dropdown-card-icon-inner.psoft-mask-icon {
    width: 24px;
    height: 24px;
}

.header-phone-icon.psoft-mask-icon {
    width: 14px;
    height: 14px;
}

.footer-contact-icon.psoft-mask-icon,
.footer-social-icon.psoft-mask-icon,
.header-consultation-icon.psoft-mask-icon {
    width: 25px;
    height: 25px;
}
/* Prevent icon names from flashing as text before font loads */
.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}

/* Accessibility utilities */
.visually-hidden {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

/* Remove top margin from the first block inside the page main area */
#primary.site-main > :first-child {
    margin-top: 0 !important;
    margin-block-start: 0 !important;
}





/* Header CTA on mobile: icon only */
@media (max-width: 1023.98px) {
    .header-main .header-consultation-btn {
        filter: none;
    }

    .header-main .header-consultation-btn .btn-cta-main {
        display: none;
    }

    .header-main .header-consultation-btn .btn-cta-icon-circle {
        margin-right: 0;
        width: 44px;
        height: 44px;
        border-radius: 12px;
    }

    .header-main .header-consultation-btn .header-consultation-icon {
        font-size: 22px;
    }
}

/* Top bar mobile simplification: first phone only */
@media (max-width: 767.98px) {
    .header-top-left,
    .header-top-center,
    .header-small-text {
        display: none !important;
    }

    .header-top-bar-inner {
        justify-content: center;
    }

    .header-top-right {
        width: 100%;
        justify-content: center;
    }

    .header-top-right .header-phone-item:not(:first-child) {
        display: none !important;
    }

    .header-top-right .header-phone-item:first-child {
        padding-left: 0;
    }

    .header-top-right .header-phone-item:first-child::before {
        display: none;
    }
}

/* iOS horizontal overflow hard-fix: тільки html — body не обрізає тіні карток */
html {
    max-width: 100%;
    overflow-x: hidden;
}

@supports (overflow: clip) {
    html {
        overflow-x: clip;
    }
}

body {
    max-width: 100%;
}

.site-header,
.header-main-wrapper,
.header-top-bar,
.mobile-menu-drawer,
.ai-contact-section,
.hero-evolution-section {
    max-width: 100%;
}

.ps-catalog {
    padding: 80px 0;
    background: var(--white);
}
.ps-catalog-header,
.ps-catalog__header { margin-bottom: 48px; }
.ps-catalog-eyebrow {
    display: block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: normal;
    color: var(--color-primary);
    margin-bottom: 10px;
}
.ps-catalog-title {
    font-size: var(--text-3xl-size);
    line-height: var(--text-3xl-line);
    font-weight: var(--font-bold);
    text-transform: uppercase;
    letter-spacing: normal;
    color: var(--blue-900);
    margin-bottom: 16px;
}
.ps-catalog-line {
    width: 64px; height: 4px;
    background: var(--color-primary);
    border-radius: 9999px;
    margin-bottom: 20px;
}
.ps-catalog-desc {
    font-size: 15px;
    line-height: 1.7;
    color: var(--gray-500);
    max-width: 680px;
}
/* programy-ta-poslugy.htm */
.ps-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 40px;
}
.ps-filter-btn {
    padding: 9px 22px;
    border-radius: 9999px;
    border: 1.5px solid var(--gray-200);
    background: transparent;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: normal;
    color: var(--gray-500);
    cursor: pointer;
    transition: border-color 180ms ease, color 180ms ease, background-color 180ms ease;
    font-family: inherit;
}
a.ps-filter-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-sizing: border-box;
}
.ps-filter-btn:hover,
.ps-filter-btn.active {
    border-color: var(--color-primary);
    color: var(--color-secondary);
    background: rgba(246, 193, 46, 0.08);
}
.ps-cards-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
@media (min-width: 640px) {
    .ps-cards-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
    .ps-cards-grid { grid-template-columns: repeat(3, 1fr); }
}
/* Client line filter: must beat .ps-product-card { display:flex } */
.ps-product-card.ps-line-filter-hidden {
    display: none !important;
}
.ps-catalog-empty.js-product-line-empty[hidden] {
    display: none !important;
}

.ps-product-card {
    position: relative;
    background: var(--white);
    border: 1px solid var(--gray-100);
    border-radius: 24px;
    padding: 28px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: var(--shadow-xl);
    transition: transform 300ms ease, box-shadow 300ms ease;
    overflow: hidden;
}
.ps-product-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-2xl);
}
a.ps-product-card-info-btn {
    position: absolute;
    top: 14px; right: 14px;
    width: 32px; height: 32px;
    border-radius: 9999px;
    background: var(--color-secondary);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    cursor: pointer;
    font-family: inherit;
    transition: background 160ms ease;
    text-decoration: none;
}
a.ps-product-card-info-btn:hover { background: #036b59; color: var(--white); }
a.ps-product-card-info-btn:visited,
a.ps-product-card-info-btn:focus,
a.ps-product-card-info-btn:focus-visible { color: var(--white); }
.ps-product-card-info-btn .material-symbols-outlined {
    font-size: 17px;
    font-variation-settings: 'wght' 600, 'opsz' 20;
}
.ps-product-icon-wrap {
    width: 100px; height: 100px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    border: 1.5px dashed rgba(246,193,46,0.4);
    padding: 16px;
}
.ps-product-icon-wrap .material-symbols-outlined {
    font-size: 52px;
    color: var(--color-primary);
    font-variation-settings: 'wght' 300, 'FILL' 0, 'opsz' 48;
}
.ps-product-icon-wrap > img,
.ps-product-icon-wrap > .psoft-mask-icon {
    width: 52px;
    height: 52px;
    object-fit: contain;
    flex-shrink: 0;
}
.ps-product-icon-wrap > .psoft-mask-icon {
    color: var(--color-primary);
}
.ps-product-card-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--color-secondary);
    text-transform: uppercase;
    letter-spacing: normal;
    margin-bottom: 12px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.3;
}
.ps-product-card-desc {
    font-size: 15px;
    color: var(--gray-500);
    line-height: 1.6;
    margin-bottom: 20px;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ps-product-card-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 20px;
    border-radius: 9999px;
    background: var(--color-secondary);
    color: var(--white);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: normal;
    text-decoration: none;
    transition: background 200ms ease;
    box-sizing: border-box;
}
.ps-product-card-btn:hover { background: #036b59; color: var(--white); }
.ps-product-card-btn:visited { color: var(--white); }
.ps-product-card-btn .material-symbols-outlined {
    font-size: 17px;
    font-variation-settings: 'wght' 400, 'opsz' 20;
}
.ps-catalog-empty {
    grid-column: 1 / -1;
    text-align: center;
    color: var(--gray-500);
    padding: 32px 16px;
    font-size: 15px;
    line-height: 1.6;
}

.ps-services {
    padding: 80px 0;
    background: var(--gray-50);
}
.ps-services-header {
    text-align: center;
    margin-bottom: 56px;
}
.ps-services-title {
    font-size: var(--text-3xl-size);
    line-height: var(--text-3xl-line);
    font-weight: var(--font-bold);
    text-transform: uppercase;
    letter-spacing: normal;
    color: var(--blue-900);
    margin-bottom: 16px;
}
.ps-services-sub {
    color: var(--gray-500);
    font-size: 15px;
    max-width: 560px;
    margin: 0 auto;
    line-height: 1.6;
}
.ps-services-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    max-width: 1024px;
    margin: 0 auto;
}
@media (min-width: 768px) {
    .ps-services-grid { grid-template-columns: repeat(2, 1fr); }
    
}
.ps-service-card {
    padding: 40px;
    background: var(--white);
    border-radius: 40px;
    border: 1px solid var(--gray-100);
    transition: box-shadow 300ms ease, transform 300ms ease;
    display: flex;
    align-items: flex-start;
    gap: 28px;
}
.ps-service-card:hover {
    box-shadow: var(--shadow-2xl);
    transform: translateY(-4px);
}
.ps-service-icon-bg {
    width: 64px; height: 64px;
    flex-shrink: 0;
    background: rgba(2,80,67,0.07);
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-secondary);
    transition: transform 300ms ease;
}
.ps-service-card:hover .ps-service-icon-bg { transform: scale(1.1); }
.ps-service-icon-bg .material-symbols-outlined {
    font-size: 32px;
    font-variation-settings: 'wght' 300, 'opsz' 32;
}
.ps-service-icon-bg > img,
.ps-service-icon-bg > .psoft-mask-icon {
    width: 32px;
    height: 32px;
    object-fit: contain;
    flex-shrink: 0;
}
.ps-service-card-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--gray-900);
    margin-bottom: 12px;
    line-height: 1.3;
}
.ps-service-card-desc {
    font-size: 15px;
    line-height: 1.7;
    color: var(--gray-500);
    margin-bottom: 20px;
}
.ps-service-link {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: normal;
    color: var(--color-secondary);
    text-decoration: none;
    transition: color 160ms ease;
}
.ps-service-link:hover { color: var(--color-primary); }
.ps-services-empty {
    grid-column: 1 / -1;
    text-align: center;
    color: var(--gray-500);
    padding: 32px 16px;
    font-size: 15px;
}

.ps-hero {
    position: relative;
    background-image: radial-gradient(circle at center, #025043, #001F1A);
    color: var(--white);
    padding-top: 96px;
    padding-bottom: 96px;
    overflow: hidden;
}
.ps-hero-grid {
    position: absolute;
    inset: 0;
    opacity: 0.2;
    background-size: 50px 50px;
    background-image:
        linear-gradient(to right, rgba(246,193,46,0.05) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(246,193,46,0.05) 1px, transparent 1px);
}
.ps-hero-wave {
    position: absolute;
    inset: 0;
    opacity: 0.08;
    pointer-events: none;
}
.ps-hero-wave svg {
    width: 100%;
    height: 100%;
}
.ps-hero-inner {
    position: relative;
    z-index: 10;
}
.ps-hero-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
    align-items: center;
}
@media (min-width: 1024px) {
    .ps-hero-layout {
        grid-template-columns: minmax(0, 1fr) minmax(420px, 540px);
        gap: clamp(28px, 3.2vw, 52px);
    }
}
.ps-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    border-radius: 9999px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.1);
    color: var(--color-primary);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: normal;
    margin-bottom: 24px;
}
.ps-hero-title {
    font-size: clamp(36px, 6vw, 72px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: normal;
    margin-bottom: 24px;
    color: var(--white);
}
.ps-hero-title em {
    font-style: italic;
    color: var(--color-primary);
}
.ps-hero-subtitle {
    font-size: 19px;
    line-height: 1.7;
    color: rgba(204,245,233,0.8);
    font-weight: 300;
    margin-bottom: 40px;
    max-width: 520px;
}
.ps-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.ps-hero-btn-primary {
    background: var(--color-primary);
    color: var(--color-blue-dark);
    padding: 16px 36px;
    border-radius: 14px;
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: normal;
    text-decoration: none;
    box-shadow: 0 0 32px rgba(246,193,46,0.25);
    transition: background 200ms ease, transform 200ms ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}
.ps-hero-btn-primary:hover {
    background: var(--yellow-400);
    transform: translateY(-3px);
    color: var(--color-blue-dark);
}
.ps-hero-btn-secondary {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.2);
    backdrop-filter: blur(12px);
    color: var(--white);
    padding: 16px 36px;
    border-radius: 14px;
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: normal;
    text-decoration: none;
    transition: background 200ms ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}
.ps-hero-btn-secondary:hover {
    background: rgba(255,255,255,0.14);
    color: var(--white);
}
.ps-hero-visual {
    display: none;
}
@media (min-width: 1024px) {
    .ps-hero-visual {
        display: block;
        position: relative;
        width: 100%;
        max-width: 540px;
        justify-self: end;
        align-self: center;
    }
}
.ps-hero-orb {
    width: 100%;
    height: 440px;
    background: linear-gradient(135deg, rgba(255,255,255,0.08), transparent);
    border-radius: 64px;
    border: 1px solid rgba(255,255,255,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
}
.ps-hero-orb-glow {
    position: absolute;
    width: 220px;
    height: 220px;
    background: rgba(246,193,46,0.15);
    border-radius: 9999px;
    filter: blur(80px);
    animation: pulse 3s ease-in-out infinite;
}
.ps-hero-orb-icon {
    font-size: 200px;
    color: rgba(255,255,255,0.04);
    position: absolute;
    z-index: 1;
    font-variation-settings: 'wght' 100, 'FILL' 0;
    user-select: none;
    pointer-events: none;
}
.ps-hero-orb img.ps-hero-orb-icon,
.ps-hero-orb .ps-hero-orb-icon.psoft-mask-icon {
    font-size: inherit;
    width: min(68%, 280px);
    height: auto;
    max-height: 280px;
    object-fit: contain;
    opacity: 0.45;
    color: rgba(255,255,255,0.5);
}
/* Custom SVG/PNG in orb: same layer/center as default cloud glyph (absolute, under ring z-index 2) */
.ps-hero-orb img.ps-hero-orb-icon.psoft-custom-svg-img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    pointer-events: none;
    user-select: none;
    opacity: 1;
    width: auto !important;
    height: auto !important;
    max-width: min(42vw, 168px);
    max-height: 168px;
    object-fit: contain;
}
.ps-hero-orb-ring {
    width: 220px;
    height: 220px;
    border-radius: 9999px;
    border: 1px solid rgba(255,255,255,0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: spin 18s linear infinite;
    position: relative;
    z-index: 2;
}
.ps-hero-orb-ring-inner {
    width: 160px;
    height: 160px;
    border-radius: 9999px;
    border: 1px solid rgba(246,193,46,0.18);
}

.ps-hero-visual--image .ps-hero-visual-image-wrap {
    width: 100%;
    max-width: 540px;
    aspect-ratio: 4 / 3;
    min-height: 0;
    max-height: none;
    border-radius: 28px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.03);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    box-sizing: border-box;
    box-shadow:
        0 18px 42px rgba(0,31,26,0.24),
        inset 0 1px 0 rgba(255,255,255,0.06);
}
@media (min-width: 1024px) {
    .ps-hero-visual--image .ps-hero-visual-image-wrap {
        border-radius: 32px;
    }
}
.ps-hero-visual__media {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    border-radius: inherit;
}
.ps-hero-visual-img,
.ps-hero-visual__image {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.ps-why {
    padding: 80px 0;
    background: var(--gray-50);
}
.ps-why-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 56px;
    align-items: center;
}
@media (min-width: 1024px) {
    .ps-why-layout {
        grid-template-columns: 1fr 1fr;
    }
}
.ps-why-layout--stats-only {
    max-width: 420px;
    margin: 0 auto;
}
@media (min-width: 1024px) {
    .ps-why-layout--stats-only {
        grid-template-columns: 1fr;
    }
}
.ps-why-title {
    font-size: clamp(28px, 3.5vw, 38px);
    font-weight: 900;
    color: var(--color-secondary);
    text-transform: uppercase;
    line-height: 1.15;
    margin-bottom: 16px;
}
.ps-why-title span {
    color: var(--color-primary);
}
.ps-why-subtitle {
    font-size: 17px;
    color: var(--gray-500);
    line-height: 1.7;
    margin-bottom: 40px;
}
.ps-why-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}
.ps-why-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ps-why-icon-wrap {
    width: 44px;
    height: 44px;
    background: rgba(246,193,46,0.15);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-secondary);
}
.ps-why-icon-wrap .ps-why-point-icon.material-symbols-outlined {
    font-size: 22px;
    font-variation-settings: 'wght' 300, 'opsz' 24;
}
.ps-why-icon-wrap > img.ps-why-point-icon,
.ps-why-icon-wrap > .ps-why-point-icon.psoft-mask-icon {
    width: 22px;
    height: 22px;
    object-fit: contain;
    flex-shrink: 0;
}
.ps-why-item-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--gray-900);
    line-height: 1.3;
}
.ps-why-item-desc {
    font-size: 15px;
    color: var(--gray-500);
    line-height: 1.6;
}
.ps-stats-box {
    position: relative;
    border-radius: 48px;
    overflow: hidden;
    background: radial-gradient(circle at center, #025043, #001F1A);
    padding: 64px 48px;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.ps-stats-box--image {
    padding: 0;
    overflow: hidden;
}

.ps-stats-box--image .ps-stats-box__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ps-stats-grid {
    position: absolute;
    inset: 0;
    opacity: 0.2;
    background-size: 50px 50px;
    background-image:
        linear-gradient(to right, rgba(246,193,46,0.05) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(246,193,46,0.05) 1px, transparent 1px);
}
.ps-stats-glow {
    position: absolute;
    bottom: -40px;
    right: -40px;
    width: 160px;
    height: 160px;
    background: rgba(246,193,46,0.15);
    border-radius: 9999px;
    filter: blur(60px);
}
.ps-stats-content {
    position: relative;
    z-index: 10;
}
.ps-stats-number {
    font-size: clamp(56px, 12vw, 80px);
    font-weight: 900;
    color: var(--color-primary);
    line-height: 1;
    margin-bottom: 8px;
}
.ps-stats-label {
    font-size: 19px;
    font-weight: 700;
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: normal;
    margin-bottom: 24px;
}
.ps-stats-desc {
    font-size: 15px;
    color: rgba(204,245,233,0.55);
    line-height: 1.6;
    max-width: 220px;
    margin: 0 auto;
}

.site-main--offering-archive {
    padding-top: 32px;
    padding-bottom: 72px;
}

.erp-hero {
    position: relative;
    background-image: radial-gradient(circle at center, #025043, #001F1A);
    color: var(--white);
    padding: 96px 0;
    overflow: hidden;
}
.erp-hero-grid {
    position: absolute; inset: 0; opacity: 0.2;
    background-size: 50px 50px;
    background-image:
        linear-gradient(to right, rgba(246,193,46,0.05) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(246,193,46,0.05) 1px, transparent 1px);
}
.erp-hero-glow {
    position: absolute;
    top: -96px; right: -96px;
    width: 384px; height: 384px;
    background: var(--color-primary);
    border-radius: 9999px;
    filter: blur(120px);
    opacity: 0.08;
}
.erp-hero-inner { position: relative; z-index: 10; }
.erp-hero-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
    align-items: center;
}
@media (min-width: 1024px) {
    .erp-hero-layout { grid-template-columns: 1fr 1fr; }
}
.erp-hero-title {
    font-size: clamp(32px, 5.5vw, 60px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: normal;
    margin-bottom: 24px;
    color: var(--white);
}
.erp-hero-title span { color: var(--color-primary); }
.erp-hero-subtitle {
    font-size: 19px;
    line-height: 1.7;
    color: rgba(255,255,255,0.75);
    max-width: 520px;
    margin-bottom: 36px;
}
.erp-hero-actions { display: flex; flex-wrap: wrap; gap: 16px; }
.erp-hero-btn-primary {
    padding: 15px 32px;
    background: var(--color-primary);
    color: var(--color-blue-dark);
    font-weight: 800;
    font-size: 15px;
    border-radius: 14px;
    text-decoration: none;
    box-shadow: 0 0 32px rgba(246,193,46,0.25);
    transition: transform 200ms ease, box-shadow 200ms ease;
}
.erp-hero-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 0 50px rgba(246,193,46,0.4); }
.erp-hero-btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 24px;
    border: 1.5px solid rgba(255,255,255,0.25);
    color: rgba(255,255,255,0.8);
    font-weight: 600;
    font-size: 15px;
    border-radius: 14px;
    text-decoration: none;
    transition: border-color 200ms ease, color 200ms ease, background 200ms ease;
}
.erp-hero-btn-secondary:hover {
    border-color: rgba(255,255,255,0.5);
    color: #fff;
    background: rgba(255,255,255,0.06);
}
.erp-hero-media {
    width: 100%;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.16);
    background: rgba(255,255,255,0.06);
    box-shadow: 0 20px 50px rgba(0,0,0,0.28);
}
.erp-hero-media-image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}
.erp-hero-card {
    position: relative;
    width: 100%;
    background: linear-gradient(145deg,
        rgba(255,255,255,0.11) 0%,
        rgba(255,255,255,0.04) 50%,
        rgba(2,80,67,0.08) 100%);
    border-radius: 32px;
    border: 1px solid rgba(255,255,255,0.14);
    overflow: hidden;
    padding: 32px 36px 36px;
    display: flex;
    flex-direction: column;
    gap: 0;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.12),
        0 4px 20px rgba(0,0,0,0.15);
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);
}
.erp-hero-card::before {
    content: '';
    position: absolute;
    top: 0; left: 10%; right: 10%;
    height: 2px;
    background: linear-gradient(90deg,
        transparent,
        rgba(246,193,46,0.7) 30%,
        rgba(246,193,46,0.9) 50%,
        rgba(246,193,46,0.7) 70%,
        transparent);
    border-radius: 0 0 2px 2px;
}
.erp-hero-card-glow {
    position: absolute;
    width: 240px; height: 240px;
    background: rgba(246,193,46,0.07);
    border-radius: 9999px;
    filter: blur(60px);
    bottom: -60px; right: -40px;
    pointer-events: none;
}
.erp-hero-card-glow-tl {
    position: absolute;
    width: 180px; height: 180px;
    background: rgba(2,80,67,0.4);
    border-radius: 9999px;
    filter: blur(50px);
    top: -50px; left: -50px;
    pointer-events: none;
}
.erp-hero-card-watermark {
    position: absolute;
    bottom: -28px; right: -12px;
    font-size: 140px;
    color: rgba(255,255,255,0.028);
    font-variation-settings: 'wght' 100, 'FILL' 0, 'opsz' 48;
    user-select: none;
    pointer-events: none;
    line-height: 1;
}
.erp-hero-card-ring {
    position: absolute;
    top: -32px; left: -32px;
    width: 140px; height: 140px;
    border-radius: 9999px;
    border: 1px solid rgba(255,255,255,0.05);
    pointer-events: none;
    animation: spin 26s linear infinite;
}
.erp-hero-card-ring-inner {
    position: absolute; inset: 18px;
    border-radius: 9999px;
    border: 1px solid rgba(246,193,46,0.09);
}
.erp-hero-card-badge {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px 5px 8px;
    background: rgba(246,193,46,0.15);
    border: 1px solid rgba(246,193,46,0.3);
    border-radius: 9999px;
    margin-bottom: 14px;
    width: fit-content;
}
.erp-hero-card-badge-dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--color-primary);
    box-shadow: 0 0 6px rgba(246,193,46,0.7);
    animation: pulse 2s ease-in-out infinite;
    flex-shrink: 0;
}
.erp-hero-card-badge-text {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: normal;
    color: var(--color-primary);
}
.erp-hero-card-title {
    font-size: 19px;
    font-weight: 400;
    color: rgba(255,255,255,0.88);
    line-height: 1.5;
    position: relative;
    z-index: 1;
    width: 100%;
    margin: 10px 0 20px;
}
.erp-hero-card-stats {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 0;
    margin-bottom: 24px;
    border-top: 1px solid rgba(255,255,255,0.07);
    border-bottom: 1px solid rgba(255,255,255,0.07);
    padding: 14px 0;
}
.erp-hero-card-stat {
    flex: 1;
    text-align: center;
    position: relative;
}
.erp-hero-card-stat + .erp-hero-card-stat::before {
    content: '';
    position: absolute;
    left: 0; top: 10%; bottom: 10%;
    width: 1px;
    background: rgba(255,255,255,0.1);
}
.erp-hero-card-stat-num {
    display: block;
    font-size: 22px;
    font-weight: 800;
    color: var(--color-primary);
    line-height: 1;
    margin-bottom: 3px;
}
.erp-hero-card-stat-label {
    display: block;
    font-size: 10px;
    color: rgba(255,255,255,0.4);
    text-transform: uppercase;
    letter-spacing: normal;
    font-weight: 500;
}
.erp-hero-card-cta-row {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.erp-hero-card-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 24px;
    background: var(--color-primary);
    color: var(--color-blue-dark);
    font-weight: 800;
    font-size: 12.5px;
    text-transform: uppercase;
    letter-spacing: normal;
    border-radius: 12px;
    text-decoration: none;
    box-shadow: 0 4px 20px rgba(246,193,46,0.28);
    transition: transform 200ms ease, box-shadow 200ms ease;
}
.erp-hero-card-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(246,193,46,0.45);
}
.erp-hero-card-btn .material-symbols-outlined {
    font-size: 17px;
    font-variation-settings: 'wght' 400, 'opsz' 20;
    transition: transform 200ms ease;
}
.erp-hero-card-btn:hover .material-symbols-outlined { transform: translateX(3px); }
.erp-hero-card-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 11px;
    color: rgba(255,255,255,0.35);
    font-weight: 400;
}
.erp-hero-card-hint .material-symbols-outlined {
    font-size: 15px;
    font-variation-settings: 'wght' 300, 'opsz' 20;
}

.erp-offering-content {
    padding: 56px 0 64px;
    background: var(--white);
}
.erp-offering-content-inner {
    max-width: 720px;
    margin: 0 auto;
    font-size: var(--text-base-size);
    line-height: var(--text-base-line);
    color: var(--gray-700);
}
.erp-offering-content-inner > *:first-child { margin-top: 0; }
.erp-offering-content-inner p { margin: 0 0 1.1em; }
.erp-offering-content-inner ul,
.erp-offering-content-inner ol { margin: 0 0 1.1em 1.25em; padding: 0; }
.erp-offering-content-inner li { margin-bottom: 0.35em; }
.erp-offering-content-inner h2,
.erp-offering-content-inner h3 {
    margin: 2rem 0 0.65rem;
    color: var(--color-secondary);
    font-weight: 700;
}
.erp-offering-content-inner h2 { font-size: var(--text-3xl-size); }
.erp-offering-content-inner h3 { font-size: var(--text-xl-size); }
.erp-offering-content-inner a { color: var(--color-secondary); text-decoration: underline; text-underline-offset: 3px; }
.erp-offering-content-inner a:hover { color: var(--blue-900); }
.erp-offering-content-inner img { border-radius: 12px; height: auto; }

.erp-pricing {
    padding: 80px 0;
    background: var(--gray-50);
}
.erp-pricing-header {
    text-align: center;
    max-width: 680px;
    margin: 0 auto 56px;
}
.erp-pricing-title {
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 700;
    color: var(--color-secondary);
    text-transform: uppercase;
    letter-spacing: normal;
    margin-bottom: 12px;
}
.erp-pricing-line {
    width: 80px;
    height: 6px;
    background: var(--color-primary);
    border-radius: 9999px;
    margin: 0 auto 20px;
}
.erp-pricing-subtitle {
    font-size: 19px;
    color: var(--gray-500);
    line-height: 1.6;
}

.erp-pricing-carousel {
    max-width: 1120px;
    margin: 0 auto;
}
.erp-pricing-controls {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin: 0 18px 16px 0;
}
.erp-pricing-control-btn {
    width: 38px;
    height: 38px;
    border-radius: 9999px;
    border: 1px solid var(--gray-200);
    background: var(--white);
    color: var(--color-secondary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, opacity 180ms ease;
}
.erp-pricing-control-btn:hover {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-blue-dark);
}
.erp-pricing-control-btn:disabled {
    opacity: 0.38;
    cursor: default;
    pointer-events: none;
}
.erp-pricing-control-btn .material-symbols-outlined {
    font-size: 22px;
    font-variation-settings: 'wght' 400, 'opsz' 20;
}

.erp-pricing-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: stretch;
    max-width: 1120px;
    margin: 0 auto;
}

@media (max-width: 768px) {
 .metrics-cta-text { color:var(--white); max-width: 100%; }
 .about-section {
    padding-top: 0px;
}
.metrics-section {
    padding-bottom: 50px;
}
}

@media (min-width: 768px) {
    .erp-pricing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    
}

@media (min-width: 1200px) {
    .erp-pricing-grid--cols-1 {
        grid-template-columns: minmax(0, 560px);
        justify-content: center;
    }

    .erp-pricing-grid--cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .erp-pricing-grid--cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.erp-pricing-viewport {
    position: relative;
    overflow: hidden;
    padding: 40px 34px 52px;
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
}
.erp-pricing-viewport * {
    user-select: none;
    -webkit-user-select: none;
}
.erp-pricing-viewport.is-pointer-down,
.erp-pricing-viewport.is-dragging {
    cursor: grabbing;
}
.erp-pricing-no-select,
.erp-pricing-no-select * {
    user-select: none !important;
    -webkit-user-select: none !important;
}
.erp-pricing-track {
    display: flex;
    gap: 24px;
    align-items: stretch;
    will-change: transform;
}

.erp-pricing-card {
    position: relative;
    min-width: 0;
    background: var(--white);
    padding: 32px;
    border-radius: 28px;
    box-shadow: var(--shadow-xl);
    border: 1px solid var(--gray-100);
    display: flex;
    flex-direction: column;
    min-height: 100%;
    transform: translateY(0);
    transition: transform 260ms ease, box-shadow 300ms ease, border-color 300ms ease;
}
.erp-pricing-card:hover {
    z-index: 2;
    transform: translateY(-6px);
    box-shadow: var(--shadow-2xl);
}
.erp-pricing-card--best {
    border: 2px solid var(--color-primary);
    box-shadow: var(--shadow-2xl);
}
.erp-pricing-card--promo {
    border-color: rgba(246, 193, 46, 0.45);
    background: linear-gradient(180deg, rgba(246, 193, 46, 0.08) 0%, #ffffff 42%);
}
.erp-pricing-card--has-badge {
    padding-top: 44px;
}
.erp-pricing-badge {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 18px;
    background: var(--color-primary);
    color: var(--color-blue-dark);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: normal;
    border-radius: 9999px;
    white-space: nowrap;
    max-width: calc(100% - 36px);
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 10px 24px rgba(246, 193, 46, 0.28);
}
.erp-pricing-card-header {
    margin-bottom: 24px;
    min-height: 72px;
}
.erp-pricing-card-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--color-secondary);
    margin-bottom: 6px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.erp-pricing-card-sub {
    font-size: 15px;
    color: var(--gray-400);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.erp-pricing-features {
    list-style: none;
    padding: 0;
    margin: 0 0 32px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex: 1;
}
.erp-pricing-feature {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 15px;
    color: var(--gray-600);
    line-height: 1.5;
}
.erp-pricing-feature .material-symbols-outlined {
    margin-top: 1px;
    font-size: 19px;
    color: var(--color-primary);
    font-variation-settings: 'wght' 600, 'opsz' 20;
    flex-shrink: 0;
}
.erp-pricing-price {
    margin-bottom: 20px;
    min-height: 42px;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
}
.erp-pricing-amount {
    font-size: clamp(30px, 2.3vw, 34px);
    font-weight: 800;
    color: var(--color-secondary);
    line-height: 1.1;
}
.erp-pricing-old {
    font-size: 15px;
    color: var(--gray-400);
    text-decoration: line-through;
    margin-left: 8px;
}
.erp-pricing-btn {
    width: 100%;
    padding: 15px;
    border-radius: 14px;
    font-size: 15px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    border: none;
    transition: background-color 200ms ease, color 200ms ease, box-shadow 200ms ease;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    box-sizing: border-box;
}
.erp-pricing-btn--default {
    background: var(--gray-100);
    color: var(--gray-700);
}
.erp-pricing-btn--default:hover {
    background: var(--color-primary);
    color: var(--color-blue-dark);
}
.erp-pricing-btn--primary {
    background: var(--color-primary);
    color: var(--color-blue-dark);
}
.erp-pricing-btn--primary:hover {
    box-shadow: 0 0 30px rgba(246, 193, 46, 0.5);
}


.erp-pricing-carousel .erp-pricing-card {
    border-color: var(--gray-100);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.05);
}

.erp-pricing-carousel .erp-pricing-card:hover {
    border-color: var(--gray-100);
    box-shadow: 0 20px 36px rgba(0, 0, 0, 0.12), 0 6px 14px rgba(0, 0, 0, 0.06);
}

.erp-pricing-carousel .erp-pricing-card--best {
    border-color: var(--color-primary);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.11), 0 6px 14px rgba(0, 0, 0, 0.05);
}

.erp-pricing-carousel .erp-pricing-card--best:hover,
.erp-pricing-carousel .erp-pricing-card--promo:hover {
    border-color: var(--color-primary);
}

.erp-pricing-carousel .erp-pricing-card--promo {
    border-color: var(--color-primary);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.1), 0 4px 10px rgba(0, 0, 0, 0.05);
}
@media (max-width: 767px) {
    .erp-pricing-controls {
        margin-right: 0;
    }

    .erp-pricing-viewport {
        padding: 34px 16px 40px;
    }

    .erp-pricing-card {
        padding: 24px;
        border-radius: 22px;
    }

    .erp-pricing-subtitle {
        font-size: 17px;
    }
}

/* ── ERP PROMOS SECTION ── */
.erp-promos {
    padding: 80px 0;
    background: var(--gray-50);
}
.erp-promos-header {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 40px;
}
@media (min-width: 640px) {
    .erp-promos-header {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-end;
    }
}
.erp-promos-title {
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 700;
    color: var(--color-secondary);
    text-transform: uppercase;
    letter-spacing: normal;
    line-height: 1.15;
    margin-bottom: 16px;
}
.erp-promos-line {
    width: 80px;
    height: 6px;
    background: var(--color-primary);
    border-radius: 9999px;
    margin-bottom: 12px;
}
.erp-promos-sub {
    font-size: 16px;
    color: var(--gray-500);
}
.erp-promos-all-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border: 2px solid rgba(2, 80, 67, 0.18);
    color: var(--color-secondary);
    font-weight: 700;
    font-size: 14px;
    border-radius: 14px;
    text-decoration: none;
    white-space: nowrap;
    transition: background 200ms ease;
    flex-shrink: 0;
}
.erp-promos-all-link:hover {
    background: var(--white);
}
.erp-promos-all-link .material-symbols-outlined {
    font-size: 18px;
    font-variation-settings: 'wght' 400, 'opsz' 20;
}
.erp-promos-scroll {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px;
    padding: 8px 0;
}

/* Hover: підйом картки — тінь через ghost overlay поза overflow-контекстом */
.erp-promo-card:hover {
    transform: translateY(-6px);
    box-shadow: none;
}

/* Ghost-shadow overlay — position:fixed, поза будь-яким overflow-clipping */
.erp-promo-ghost-shadow {
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    border-radius: 28px;
    box-shadow:
        0 20px 60px -8px rgba(0, 0, 0, 0.28),
        0 0 0 2px rgba(246, 193, 46, 0.18);
    opacity: 0;
    transition: opacity 220ms ease;
    z-index: 9999;
    will-change: transform, width, height;
    background: transparent;
}
.erp-promo-ghost-shadow.is-active {
    opacity: 1;
}
.erp-promo-card-cover {
    height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}
.erp-promo-card-cover--emerald {
    background: var(--color-secondary);
}
.erp-promo-card-cover--dark {
    background: var(--color-blue-dark);
}
.erp-promo-card-cover--teal {
    background: rgba(2, 80, 67, 0.7);
}
.erp-promo-card-cover--image {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: var(--gray-200);
}
.erp-promo-card-cover--image::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}
.erp-promo-card-cover--image .erp-promo-tag {
    z-index: 2;
}
.erp-promo-card-cover-watermark.material-symbols-outlined {
    font-size: 80px;
    color: rgba(255, 255, 255, 0.08);
    font-variation-settings: 'wght' 100, 'opsz' 48;
}
.erp-promo-card-cover--image .erp-promo-card-cover-watermark {
    display: none !important;
}
.erp-promo-tag {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 4px 12px;
    background: var(--color-primary);
    color: var(--color-blue-dark);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: normal;
    border-radius: 9999px;
}
.erp-promo-card-body {
    padding: 28px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.erp-promo-card-icon-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.erp-promo-card-icon {
    width: 40px;
    height: 40px;
    background: rgba(246, 193, 46, 0.1);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary);
    flex-shrink: 0;
}
.erp-promo-card-icon .material-symbols-outlined {
    font-size: 22px;
    font-variation-settings: 'wght' 300, 'opsz' 24;
}
.erp-promo-card-icon > img,
.erp-promo-card-icon > .psoft-mask-icon {
    width: 22px;
    height: 22px;
    object-fit: contain;
}
.erp-promo-card-title {
    font-size: 17px;
    font-weight: 700;
    color: var(--color-secondary);
    line-height: 1.3;
    margin: 0;
}
.erp-promo-card-desc {
    font-size: 15px;
    color: var(--gray-500);
    line-height: 1.6;
    flex: 1;
    margin: 0 0 20px;
}
.erp-promo-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
}
.erp-promo-card-date {
    font-size: 11px;
    font-weight: 700;
    color: var(--gray-400);
    text-transform: uppercase;
    letter-spacing: normal;
}
.erp-promo-card-more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 15px;
    font-weight: 700;
    color: var(--color-secondary);
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
    text-decoration: none;
    transition: color 160ms ease;
}
.erp-promo-card-more:hover {
    color: var(--color-primary);
    text-decoration: none;
}
.erp-promo-card-more:focus,
.erp-promo-card-more:focus-visible {
    text-decoration: none;
}
.erp-promo-card-more .material-symbols-outlined {
    font-size: 17px;
    font-variation-settings: 'wght' 400, 'opsz' 20;
}

.erp-promos--archive .erp-promos-archive-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}
@media (min-width: 640px) {
    .erp-promos--archive .erp-promos-archive-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 1024px) {
    .erp-promos--archive .erp-promos-archive-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
.erp-promos--archive .erp-promo-card {
    width: 100%;
    max-width: none;
    scroll-snap-align: unset;
}
.erp-promos-empty {
    grid-column: 1 / -1;
    text-align: center;
    color: var(--gray-500);
    padding: 40px 16px;
    margin: 0;
    font-size: 15px;
}
.erp-promos-scroll > .erp-promos-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 32px 16px;
}

/*
 */
.site-main--promo-archive .reveal {
    opacity: 1;
    transform: none;
    transition: none;
}

.erp-promo-single-hero.ps-hero {
    padding-top: 72px;
    padding-bottom: 64px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.erp-promo-single-hero--has-custom-height .erp-promo-single-hero-inner {
    min-height: var(--erp-promo-hero-height);
    justify-content: center;
}
.erp-promo-single-hero--has-custom-height.erp-promo-single-hero--custom-image .erp-promo-single-hero-inner {
    justify-content: start;
}
.erp-promo-single-hero--has-custom-height.erp-promo-single-hero--align-start .erp-promo-single-hero-inner {
    justify-content: start;
}

.erp-promo-single-hero-inner {
    display: flex;
    flex-direction: column;
    gap: 28px;
}
.erp-promo-single-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 0;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: normal;
    color: rgba(255, 255, 255, 0.88);
    text-decoration: none;
    transition: color 160ms ease;
    align-self: flex-start;
}
.erp-promo-single-back:hover {
    color: var(--color-primary);
}
.erp-promo-single-back .material-symbols-outlined {
    font-size: 19px;
    font-variation-settings: 'wght' 500, 'opsz' 20;
}
.erp-promo-single-head {
    max-width: 720px;
}
.erp-promo-tag--single {
    position: static;
    display: inline-flex;
    margin-bottom: 14px;
}
.ps-hero .erp-promo-single-title {
    margin: 0 0 12px;
    font-size: clamp(28px, 4.5vw, 44px);
    font-weight: 900;
    line-height: 1.12;
    text-transform: uppercase;
    letter-spacing: normal;
    color: var(--white);
}
.ps-hero .erp-promo-single-date {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: normal;
    color: rgba(204, 245, 233, 0.82);
}
.erp-promo-single-body {
    padding: 48px 0 96px;
    background: var(--white);
}

.site-main--single-promo .erp-promo-single-body > .layout-container.erp-offering-content-inner {
    max-width: var(--container-max);
    margin-left: auto;
    margin-right: auto;
}
@media (min-width: 640px) {
    .site-main--single-promo .erp-promo-single-body > .layout-container.erp-offering-content-inner {
        max-width: 768px;
    }
}
@media (min-width: 768px) {
    .site-main--single-promo .erp-promo-single-body > .layout-container.erp-offering-content-inner {
        max-width: 819px;
    }
}
@media (min-width: 1024px) {
    .site-main--single-promo .erp-promo-single-body > .layout-container.erp-offering-content-inner {
        max-width: 1024px;
    }
}
@media (min-width: 1280px) {
    .site-main--single-promo .erp-promo-single-body > .layout-container.erp-offering-content-inner {
        max-width: 1229px;
    }
}
@media (min-width: 1536px) {
    .site-main--single-promo .erp-promo-single-body > .layout-container.erp-offering-content-inner {
        max-width: 1229px;
    }
}
.erp-promo-single-fallback {
    font-size: 17px;
    line-height: 1.7;
    color: var(--gray-700);
}
.erp-promo-single-fallback--muted {
    color: var(--gray-500);
    font-size: 15px;
}
.erp-promo-single-cta-wrap {
    margin-top: 36px;
}
.erp-promo-single-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    border-radius: 9999px;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: normal;
    text-decoration: none;
    background: var(--color-secondary);
    color: var(--color-primary);
    transition: background 200ms ease, transform 200ms ease;
}
.erp-promo-single-cta:hover {
    background: var(--color-blue-dark);
    transform: translateY(-2px);
}
.site-main--single-promo .reveal {
    opacity: 1;
    transform: none;
    transition: none;
}

.site-main--single-promo-sections {
    padding-bottom: 64px;
}

/*
 * Modular single (акції / клієнти / крок процесу): body.page-body вже дає padding-top = висота fixed header.
 * Перший hero (.erp-hero / .ps-hero) мав ще 96px padding-top — візуально подвійний «повітряний» зазор.
 * Зменшуємо лише top у першого блоку-обгортки Gutenberg.
 */
.site-main--single-promo-sections > .wp-block:first-child .erp-hero,
.site-main--single-promo-sections > .wp-block:first-child section.ps-hero {
    padding-top: 24px;
    padding-bottom: 96px;
}
@media (min-width: 768px) {
    .site-main--single-promo-sections > .wp-block:first-child .erp-hero,
    .site-main--single-promo-sections > .wp-block:first-child section.ps-hero {
        padding-top: 32px;
    }
}

/* Single promo (sections mode): plain text content should look like "hero + text" body */
.site-main--single-promo-sections > :where(
    p,
    h2,
    h3,
    h4,
    h5,
    h6,
    ul,
    ol,
    blockquote,
    table,
    .wp-block-paragraph,
    .wp-block-heading,
    .wp-block-list,
    .wp-block-quote,
    .wp-block-table,
    .wp-block-image,
    .wp-block-buttons
) {
    max-width: var(--container-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
}

.site-main--single-promo-sections > :where(p, .wp-block-paragraph) {
    font-size: var(--text-base-size);
    line-height: var(--text-base-line);
    color: var(--gray-700);
}

.site-main--single-promo-sections > :where(h2, .wp-block-heading) {
    margin-top: 2rem;
    margin-bottom: 0.65rem;
    color: var(--color-secondary);
    font-weight: 700;
    font-size: var(--text-3xl-size);
}

.site-main--single-promo-sections > :where(h3) {
    margin-top: 2rem;
    margin-bottom: 0.65rem;
    color: var(--color-secondary);
    font-weight: 700;
    font-size: var(--text-xl-size);
}
@media (min-width: 640px) {
    .site-main--single-promo-sections > :where(
        p,
        h2,
        h3,
        h4,
        h5,
        h6,
        ul,
        ol,
        blockquote,
        table,
        .wp-block-paragraph,
        .wp-block-heading,
        .wp-block-list,
        .wp-block-quote,
        .wp-block-table,
        .wp-block-image,
        .wp-block-buttons
    ) {
        max-width: 768px;
    }
}

@media (min-width: 768px) {
    .site-main--single-promo-sections > :where(
        p,
        h2,
        h3,
        h4,
        h5,
        h6,
        ul,
        ol,
        blockquote,
        table,
        .wp-block-paragraph,
        .wp-block-heading,
        .wp-block-list,
        .wp-block-quote,
        .wp-block-table,
        .wp-block-image,
        .wp-block-buttons
    ) {
        max-width: 819px;
    }
}

@media (min-width: 1024px) {
    .site-main--single-promo-sections > :where(
        p,
        h2,
        h3,
        h4,
        h5,
        h6,
        ul,
        ol,
        blockquote,
        table,
        .wp-block-paragraph,
        .wp-block-heading,
        .wp-block-list,
        .wp-block-quote,
        .wp-block-table,
        .wp-block-image,
        .wp-block-buttons
    ) {
        max-width: 1024px;
    }
}

@media (min-width: 1280px) {
    .site-main--single-promo-sections > :where(
        p,
        h2,
        h3,
        h4,
        h5,
        h6,
        ul,
        ol,
        blockquote,
        table,
        .wp-block-paragraph,
        .wp-block-heading,
        .wp-block-list,
        .wp-block-quote,
        .wp-block-table,
        .wp-block-image,
        .wp-block-buttons
    ) {
        max-width: 1229px;
    }
}

@media (min-width: 1536px) {
    .site-main--single-promo-sections > :where(
        p,
        h2,
        h3,
        h4,
        h5,
        h6,
        ul,
        ol,
        blockquote,
        table,
        .wp-block-paragraph,
        .wp-block-heading,
        .wp-block-list,
        .wp-block-quote,
        .wp-block-table,
        .wp-block-image,
        .wp-block-buttons
    ) {
        max-width: 1229px;
    }
}

/* Легкий safety net для випадкового core-тексту в modular single (не заміна rich-content-section) */
.site-main--single-promo-sections > .wp-block .wp-block-paragraph a,
.site-main--single-promo-sections > .wp-block .wp-block-list a,
.site-main--single-promo-sections > .wp-block .wp-block-heading a {
    color: var(--color-secondary);
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: 600;
}
.site-main--single-promo-sections > .wp-block .wp-block-paragraph a:hover,
.site-main--single-promo-sections > .wp-block .wp-block-list a:hover,
.site-main--single-promo-sections > .wp-block .wp-block-heading a:hover {
    color: var(--color-blue-dark);
}
.site-main--single-promo-sections > .wp-block .wp-block-list {
    padding-left: 1.25rem;
}
.site-main--single-promo-sections > .wp-block .wp-block-list li {
    margin-bottom: 0.5rem;
}
.site-main--single-promo-sections > .wp-block .wp-block-list ul,
.site-main--single-promo-sections > .wp-block .wp-block-list ol {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

/* Promo archive hero (/aktsii/) */
.erp-promos-archive-hero.ps-hero {
    padding-top: 72px;
    padding-bottom: 56px;
}
.erp-promos-archive-hero--has-custom-height .erp-promos-archive-hero-inner {
    min-height: var(--promo-archive-hero-height);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.erp-promos-archive-hero-inner {
    max-width: 768px;
}
.erp-promos-archive-hero-title {
    margin: 0;
    font-size: clamp(30px, 5vw, 58px);
    line-height: 1.05;
    text-transform: uppercase;
    letter-spacing: normal;
    color: var(--color-primary);
}
@media (min-width: 768px) {
    .erp-promos-archive-hero-inner {
        max-width: 819px;
    }
}
@media (min-width: 1024px) {
    .erp-promos-archive-hero-inner {
        max-width: 1024px;
    }
}
@media (min-width: 1280px) {
    .erp-promos-archive-hero-inner {
        max-width: 1229px;
    }
}
@media (min-width: 1536px) {
    .erp-promos-archive-hero-inner {
        max-width: 1229px;
    }
}
.erp-promos-archive-hero-sub {
    margin: 14px 0 0;
    max-width: 720px;
    font-size: 19px;
    line-height: 1.6;
    color: var(--white);
}
.erp-promos-archive-hero-cta {
    margin-top: 24px;
}
.erp-promos--archive {
    padding: 80px 0;
    background: var(--gray-50);
}
.erp-promos--after-hero {
    padding-top: 80px;
}

/* Clients CPT: single + archive + hub */
.erp-client-single-hero.ps-hero {
    padding-top: 72px;
    padding-bottom: 64px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.erp-client-single-hero--has-custom-height .erp-client-single-hero-inner {
    min-height: var(--erp-client-hero-height);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.erp-client-single-hero--has-custom-height.erp-client-single-hero--custom-image .erp-client-single-hero-inner {
    justify-content: start;
}
.erp-client-single-hero--has-custom-height.erp-client-single-hero--align-start .erp-client-single-hero-inner {
    justify-content: start;
}
.erp-client-single-hero-inner {
    display: flex;
    flex-direction: column;
    gap: 28px;
    position: relative;
    z-index: 10;
}
.erp-client-single-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.85);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: normal;
    text-decoration: none;
    transition: color 160ms ease;
    align-self: flex-start;
}
.erp-client-single-back:hover {
    color: var(--color-primary);
}
.erp-client-single-back .material-symbols-outlined {
    font-size: 19px;
    font-variation-settings: 'wght' 500, 'opsz' 20;
}
.erp-client-single-head {
    max-width: 720px;
}
.ps-hero .erp-client-single-title {
    margin: 0 0 12px;
    font-size: clamp(28px, 4.5vw, 44px);
    font-weight: 900;
    line-height: 1.12;
    text-transform: uppercase;
    letter-spacing: normal;
    color: var(--white);
}
.ps-hero .erp-client-single-meta {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: normal;
    color: rgba(204, 245, 233, 0.82);
}
.ps-hero .erp-client-single-kpi-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    border-radius: 9999px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.ps-hero .erp-client-single-kpi-icon {
    color: var(--color-primary);
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.ps-hero .material-symbols-outlined.erp-client-single-kpi-icon {
    font-size: 19px;
    line-height: 1;
}
.ps-hero .psoft-mask-icon.erp-client-single-kpi-icon {
    background-color: currentColor;
}
.ps-hero .erp-client-single-kpi-value {
    color: var(--color-primary);
    font-weight: 900;
    font-size: 15px;
    line-height: 1;
}
.ps-hero .erp-client-single-kpi-label {
    color: rgba(255, 255, 255, 0.94);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: normal;
    text-transform: uppercase;
    line-height: 1;
}
.erp-client-single-body {
    padding: 48px 0 96px;
    background: var(--white);
}
.site-main--single-client .erp-client-single-body > .layout-container.erp-offering-content-inner {
    max-width: var(--container-max);
    margin-left: auto;
    margin-right: auto;
}
@media (min-width: 640px) {
    .site-main--single-client .erp-client-single-body > .layout-container.erp-offering-content-inner {
        max-width: 768px;
    }
}
@media (min-width: 768px) {
    .site-main--single-client .erp-client-single-body > .layout-container.erp-offering-content-inner {
        max-width: 819px;
    }
}
@media (min-width: 1024px) {
    .site-main--single-client .erp-client-single-body > .layout-container.erp-offering-content-inner {
        max-width: 1024px;
    }
}
@media (min-width: 1280px) {
    .site-main--single-client .erp-client-single-body > .layout-container.erp-offering-content-inner {
        max-width: 1229px;
    }
}
@media (min-width: 1536px) {
    .site-main--single-client .erp-client-single-body > .layout-container.erp-offering-content-inner {
        max-width: 1229px;
    }
}
.erp-client-single-fallback {
    font-size: 17px;
    line-height: 1.7;
    color: var(--gray-700);
}
.erp-client-single-fallback--muted {
    color: var(--gray-500);
}

.erp-clients {
    padding: 51px 0;
    background: var(--gray-50);
    overflow: hidden;
}
.erp-clients--archive .erp-clients-archive-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}
@media (min-width: 640px) {
    .erp-clients--archive .erp-clients-archive-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 1100px) {
    .erp-clients--archive .erp-clients-archive-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
.erp-clients--archive .erp-clients-archive-grid > .project-card {
    width: auto;
    max-width: none;
    scroll-snap-align: unset;
    height: 100%;
}
.erp-clients--after-hero {
    padding-top: 80px;
}

.erp-clients-archive-hero.ps-hero {
    padding-top: 72px;
    padding-bottom: 56px;
}
.erp-clients-archive-hero--has-custom-height .erp-clients-archive-hero-inner {
    min-height: var(--client-archive-hero-height);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.erp-clients-archive-hero-inner {
    max-width: 768px;
}
.erp-clients-archive-hero-title {
    margin: 0;
    font-size: clamp(30px, 5vw, 58px);
    line-height: 1.05;
    text-transform: uppercase;
    letter-spacing: normal;
    color: var(--color-primary);
}
.erp-clients-archive-hero-sub {
    margin: 14px 0 0;
    max-width: 720px;
    font-size: 19px;
    line-height: 1.6;
    color: var(--white);
}
@media (min-width: 768px) {
    .erp-clients-archive-hero-inner {
        max-width: 819px;
    }
}
@media (min-width: 1024px) {
    .erp-clients-archive-hero-inner {
        max-width: 1024px;
    }
}
@media (min-width: 1280px) {
    .erp-clients-archive-hero-inner {
        max-width: 1229px;
    }
}
@media (min-width: 1536px) {
    .erp-clients-archive-hero-inner {
        max-width: 1229px;
    }
}

.erp-clients-hub .section-header--projects {
    display: grid;
    gap: 16px;
}
@media (min-width: 1024px) {
    .erp-clients-hub .section-header--projects {
        grid-template-columns: 1fr auto auto;
        align-items: end;
    }
}
.project-logo-placeholder--custom {
    background-color: var(--white);
    border: 1px solid var(--gray-100);
}
.project-logo-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.project-logo-placeholder--custom .project-logo-image {
    max-width: 70%;
    max-height: 92px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}
.erp-promo-card {
    background: var(--white);
    border-radius: 28px;
    overflow: hidden;
    border: 1px solid var(--gray-100);
    box-shadow: var(--shadow-xl);
    display: flex;
    flex-direction: column;
}

.ai-chat-consent {
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.ai-chat-consent .wpcf7-form-control-wrap {
    display: block;
}

.ai-chat-consent .wpcf7-form-control {
    display: block;
}

.ai-chat-consent .wpcf7-list-item {
    display: block;
    margin: 0;
}

.ai-chat-consent .wpcf7-list-item > label {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    column-gap: 12px;
    cursor: pointer;
}

.ai-chat-consent input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.03);
    position: relative;
    transition:
        border-color 0.25s ease,
        background-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.2s ease;
    flex-shrink: 0;
}

.ai-chat-consent input[type="checkbox"]:hover {
    border-color: rgba(255, 196, 46, 0.65);
    background: rgba(255, 196, 46, 0.06);
}

.ai-chat-consent input[type="checkbox"]:focus,
.ai-chat-consent input[type="checkbox"]:focus-visible {
    outline: none;
    border-color: #f4c433;
    box-shadow: 0 0 0 4px rgba(244, 196, 51, 0.14);
}

.ai-chat-consent input[type="checkbox"]:checked {
    background: #f4c433;
    border-color: #f4c433;
}

.ai-chat-consent input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 1px;
    width: 4px;
    height: 9px;
    border: solid #0f1f24;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.ai-chat-consent .wpcf7-list-item-label {
    display: block;
    color: rgba(255, 255, 255, 0.82);
    font-size: 13px;
    line-height: 1.45;
    letter-spacing: normal;
}

.ai-chat-consent .wpcf7-list-item-label a {
    color: #f4c433;
    text-decoration: none;
    border-bottom: 1px solid rgba(244, 196, 51, 0.35);
    transition: color 0.25s ease, border-color 0.25s ease;
}

.ai-chat-consent .wpcf7-list-item-label a:hover {
    color: #ffd95a;
    border-bottom-color: rgba(255, 217, 90, 0.7);
}

.ai-chat-consent .wpcf7-not-valid-tip {
    display: block;
    margin-top: 8px;
    color: #ff8f8f;
    font-size: 12px;
    line-height: 1.4;
}

.ai-chat-consent input[type="checkbox"].wpcf7-not-valid {
    border-color: #ff8f8f;
    box-shadow: 0 0 0 3px rgba(255, 143, 143, 0.12);
}

@media (max-width: 767px) {
    .ai-chat-consent {
        margin-top: 12px;
        padding-top: 12px;
    }

    .ai-chat-consent .wpcf7-list-item > label {
        column-gap: 10px;
    }

    .ai-chat-consent .wpcf7-list-item-label {
        font-size: 12px;
        line-height: 1.45;
    }
}
.ai-chat-submit-btn:disabled,
.ai-chat-submit-btn[aria-disabled="true"] {
    opacity: 1;
    cursor: not-allowed;
    pointer-events: none;
    background: linear-gradient(180deg, #8f7a2c 0%, #6f5d20 100%);
    color: rgba(255, 255, 255, 0.72);
    box-shadow: none;
    transform: none;
}

.ai-chat-submit-btn:disabled .ai-chat-submit-icon,
.ai-chat-submit-btn[aria-disabled="true"] .ai-chat-submit-icon {
    opacity: 0.72;
}

@media (min-width: 1024px) and (max-height: 900px) {
    .hero-evolution-section {
        padding-top: 72px;
        padding-bottom: 76px;
    }

    .hero-evolution-layout {
        gap: 18px;
    }

    .hero-badge {
        margin-bottom: 16px;
    }

    .hero-evolution-title {
        font-size: clamp(48px, 5vw, 68px);
        margin-bottom: 18px;
    }

    .hero-evolution-subtitle {
        font-size: 16px;
        line-height: 1.55;
        margin-bottom: 22px;
        max-width: 540px;
    }

    .hero-evolution-actions {
        gap: 12px;
    }

    .hero-evolution-visual {
        min-height: 240px;
    }

    .hero-evolution-visual-wrapper {
        max-width: 340px;
    }

    .hero-evolution-floating-card {
        top: 36%;
        right: 0;
        transform: rotate(2deg) scale(0.92);
    }

    .ps-hero {
        padding-top: 72px;
        padding-bottom: 72px;
    }

    .ps-hero-layout {
        gap: 32px;
    }

    .ps-hero-badge {
        margin-bottom: 16px;
    }

    .ps-hero-title {
        font-size: clamp(40px, 4.8vw, 60px);
        margin-bottom: 18px;
    }

    .ps-hero-subtitle {
        font-size: 17px;
        line-height: 1.55;
        margin-bottom: 26px;
        max-width: 500px;
    }

    .ps-hero-actions {
        gap: 12px;
    }

    .ps-hero-orb {
        height: 360px;
        border-radius: 52px;
    }

    .erp-hero {
        padding-top: 72px;
        padding-bottom: 72px;
    }

    .erp-hero-layout {
        gap: 32px;
    }

    .erp-hero-title {
        font-size: clamp(36px, 4.6vw, 54px);
        margin-bottom: 18px;
    }

    .erp-hero-subtitle {
        font-size: 17px;
        line-height: 1.55;
        margin-bottom: 24px;
        max-width: 500px;
    }

    .erp-hero-actions {
        gap: 12px;
    }

    .erp-hero-media {
        max-width: 480px;
        margin-left: auto;
    }
}

@media (min-width: 1024px) and (max-height: 780px) {
    .hero-evolution-section {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .hero-evolution-title {
        font-size: clamp(42px, 4.4vw, 58px);
        margin-bottom: 14px;
    }

    .hero-evolution-subtitle {
        font-size: 15px;
        line-height: 1.5;
        margin-bottom: 18px;
    }

    .hero-evolution-visual {
        min-height: 210px;
    }

    .hero-evolution-visual-wrapper {
        max-width: 300px;
    }

    .ps-hero {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .ps-hero-title {
        font-size: clamp(36px, 4.2vw, 52px);
        margin-bottom: 14px;
    }

    .ps-hero-subtitle {
        font-size: 15px;
        line-height: 1.5;
        margin-bottom: 20px;
    }

    .ps-hero-orb {
        height: 320px;
    }

    .erp-hero {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .erp-hero-title {
        font-size: clamp(34px, 4vw, 48px);
        margin-bottom: 14px;
    }

    .erp-hero-subtitle {
        font-size: 15px;
        line-height: 1.5;
        margin-bottom: 20px;
    }

    .erp-hero-media {
        max-width: 420px;
    }
}

/* =========================================================
   FINAL PREMIUM CTA SYSTEM
   Added for unified hero/metrics/chat/forms CTA behavior
   ========================================================= */

:root {
    --psoft-cta-radius: 14px;
    --psoft-cta-lift: -2px;
    --psoft-cta-transition:
        transform 240ms cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 240ms cubic-bezier(0.22, 1, 0.36, 1),
        background-color 240ms ease,
        border-color 240ms ease,
        color 240ms ease;
    --psoft-cta-accent-shadow:
        0 8px 20px rgba(246, 193, 46, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
    --psoft-cta-accent-shadow-hover:
        0 16px 30px rgba(246, 193, 46, 0.24),
        0 6px 14px rgba(0, 0, 0, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.28);
    --psoft-cta-glass-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
    --psoft-cta-glass-shadow-hover:
        0 12px 24px rgba(0, 0, 0, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.hero-evolution-cta-primary::after,
.hero-evolution-cta-secondary::after,
.ps-hero-btn-primary::after,
.ps-hero-btn-secondary::after,
.erp-hero-btn-primary::after,
.erp-hero-btn-secondary::after,
.erp-hero-card-btn::after,
.metrics-cta-button::after,
.ai-chat-submit-btn::after,
.erp-form-submit::after,
.contacts-form-panel__cf7 .wpcf7-submit::after {
    content: none !important;
}

.hero-evolution-cta-primary,
.ps-hero-btn-primary,
.erp-hero-btn-primary,
.erp-hero-card-btn,
.metrics-cta-button,
.ai-chat-submit-btn,
.erp-form-submit,
.contacts-form-panel__cf7 .wpcf7-submit,
.hero-evolution-cta-secondary,
.ps-hero-btn-secondary,
.erp-hero-btn-secondary {
    position: relative;
    isolation: isolate;
    transition: var(--psoft-cta-transition);
    will-change: transform;
}

.hero-evolution-cta-primary,
.ps-hero-btn-primary,
.erp-hero-btn-primary,
.metrics-cta-button,
.ai-chat-submit-btn,
.erp-form-submit,
.contacts-form-panel__cf7 .wpcf7-submit {
    border-radius: var(--psoft-cta-radius);
}

.hero-evolution-cta-primary::before,
.ps-hero-btn-primary::before,
.erp-hero-btn-primary::before,
.erp-hero-card-btn::before,
.metrics-cta-button::before,
.ai-chat-submit-btn::before,
.erp-form-submit::before,
.contacts-form-panel__cf7 .wpcf7-submit::before {
    content: "";
    position: absolute;
    inset: -10px;
    border-radius: 18px;
    background:
        radial-gradient(
            circle at 50% 50%,
            rgba(246, 193, 46, 0.30) 0%,
            rgba(246, 193, 46, 0.12) 38%,
            rgba(246, 193, 46, 0.00) 72%
        );
    filter: blur(18px);
    opacity: 0;
    transform: scale(0.94);
    transition:
        opacity 240ms ease,
        transform 240ms cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none;
    z-index: -1;
}

.hero-evolution-cta-primary,
.ps-hero-btn-primary,
.erp-hero-btn-primary,
.erp-hero-card-btn,
.metrics-cta-button,
.ai-chat-submit-btn,
.erp-form-submit,
.contacts-form-panel__cf7 .wpcf7-submit {
    box-shadow: var(--psoft-cta-accent-shadow);
}

.hero-evolution-cta-primary:hover,
.ps-hero-btn-primary:hover,
.erp-hero-btn-primary:hover,
.erp-hero-card-btn:hover,
.metrics-cta-button:hover,
.ai-chat-submit-btn:hover,
.erp-form-submit:hover,
.contacts-form-panel__cf7 .wpcf7-submit:hover {
    transform: translateY(var(--psoft-cta-lift));
    background-color: var(--yellow-400);
    color: var(--color-blue-dark);
    box-shadow: var(--psoft-cta-accent-shadow-hover);
}

.hero-evolution-cta-primary:hover::before,
.ps-hero-btn-primary:hover::before,
.erp-hero-btn-primary:hover::before,
.erp-hero-card-btn:hover::before,
.metrics-cta-button:hover::before,
.ai-chat-submit-btn:hover::before,
.erp-form-submit:hover::before,
.contacts-form-panel__cf7 .wpcf7-submit:hover::before {
    opacity: 1;
    transform: scale(1);
}

.erp-hero-card-btn {
    border-radius: 12px;
}

.hero-evolution-cta-secondary,
.ps-hero-btn-secondary,
.erp-hero-btn-secondary {
    border-radius: var(--psoft-cta-radius);
    box-shadow: var(--psoft-cta-glass-shadow);
}

.hero-evolution-cta-secondary::before,
.ps-hero-btn-secondary::before,
.erp-hero-btn-secondary::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.10) 0%,
            rgba(255, 255, 255, 0.00) 100%
        );
    opacity: 0;
    transition: opacity 240ms ease;
    pointer-events: none;
    z-index: 0;
}

.hero-evolution-cta-secondary:hover,
.ps-hero-btn-secondary:hover,
.erp-hero-btn-secondary:hover {
    transform: translateY(var(--psoft-cta-lift));
    background-color: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.34);
    color: var(--white);
    box-shadow: var(--psoft-cta-glass-shadow-hover);
}

.hero-evolution-cta-secondary:hover::before,
.ps-hero-btn-secondary:hover::before,
.erp-hero-btn-secondary:hover::before {
    opacity: 1;
}

.hero-evolution-cta-primary:active,
.ps-hero-btn-primary:active,
.erp-hero-btn-primary:active,
.erp-hero-card-btn:active,
.metrics-cta-button:active,
.ai-chat-submit-btn:active,
.erp-form-submit:active,
.contacts-form-panel__cf7 .wpcf7-submit:active,
.hero-evolution-cta-secondary:active,
.ps-hero-btn-secondary:active,
.erp-hero-btn-secondary:active {
    transform: translateY(0);
}

.ai-chat-submit-btn:disabled,
.ai-chat-submit-btn[aria-disabled="true"],
.contacts-form-panel__cf7 .wpcf7-submit[disabled] {
    transform: none !important;
    box-shadow: none !important;
}
/* =========================================
   Co-branded header layout
   ========================================= */

.header-main-wrapper {
    border-bottom: 1px solid rgba(2, 80, 67, 0.08);
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.header-main {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 24px;
    height: 84px;
}

.main-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

.header-right-rail {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex-shrink: 0;
    padding-left: 16px;
    margin-left: 16px;
    position: relative;
}

.header-partner-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    padding: 0 10px;
    border-radius: 10px;
    background: #ffffff;
    border: 1px solid rgba(2, 80, 67, 0.10);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
    text-decoration: none;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
    flex-shrink: 0;
}

.header-partner-badge:hover {
    transform: translateY(-1px);
    border-color: rgba(2, 80, 67, 0.16);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.10);
}

.header-partner-badge__logo {
    display: block;
    height: 45px;
    width: auto;
    max-width: none;
    object-fit: contain;
    flex-shrink: 0;
}

.header-partner-badge__label {
    display: none;
}

.header-consultation-btn {
    flex-shrink: 0;
}

.mobile-menu-toggle {
    display: none;
}

@media (max-width: 1150px) {

    .header-partner-badge {
        padding: 0 10px;
    }

    .header-partner-badge__logo {
        height: 21px;
    }
}

@media (max-width: 1023px) {
    .header-main {
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 72px;
    }

    .main-nav,
    .header-right-rail {
        display: none;
    }

    .mobile-menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}
@media (min-width: 1024px) and (max-width: 1180px) {
    .header-main {
        gap: 14px;
        grid-template-columns: auto 1fr auto;
    }

    .logo-wrapper {
        gap: 8px;
    }

    .logo-monogram-svg {
        height: 24px;
    }

    .logo-title {
        font-size: 13px;
    }

    .logo-subtitle {
        font-size: 8px;
    }

    .main-nav {
        min-width: 0;
    }

    .nav-link,
    .nav-dropdown-trigger {
        font-size: 13px;
        padding: 8px 10px;
    }

    .nav-link::after,
    .nav-dropdown-trigger::after,
    .nav-dropdown-bar::after {
        left: 10px;
        right: 10px;
    }

    .nav-link--dropdown-parent {
        padding: 8px 0 8px 10px;
    }

    .nav-dropdown-trigger--split {
        padding: 6px 10px 4px 10px;
    }

    .header-right-rail {
        gap: 8px;
        padding-left: 0px;
        margin-left: 5px;
    }

    .header-partner-badge {
        height: 38px;
        padding: 0 10px;
    }

    .header-partner-badge__logo {
       height: 35px;
    }

    .header-consultation-btn {
        padding-left: 10px;
        padding-right: 10px;
    }

    .header-consultation-btn .btn-cta-label {
        display: none;
    }

    .header-consultation-btn .btn-cta-text {
        font-size: 12px;
    }

    .btn-cta-icon-circle {
        width: 28px;
        height: 28px;
    }
}
