/* Shared site chrome — header, nav, footer */
        :root {
            --header-bg: #fdfdfd;
            --link-color: #7f8a95;
            --text-color: #66727e;
            --divider: #dce1e6;
            --brand-blue: #6ba0dc;
            --brand-blue-dark: #4d7fc8;
            --hero-left-bg: #ecf9ff;
            --hero-right-bg: #f7ffe0;
            --hero-tagline: #7aa3c4;
            --hero-title: #2c3138;
            --hero-quote: #5c656e;
            --hero-btn-solid: #8ab5e8;
            --hero-btn-solid-hover: #79a6dc;
            --hero-btn-outline: #8ab5e8;
        }
        .site-header {
            position: relative;
            z-index: 200;
            border-bottom: 1px solid #e8edf2;
            background: var(--header-bg);
        }

        .header-wrap {
            max-width: 1450px;
            margin: 0 auto;
            height: 86px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 18px;
            padding: 0 28px;
        }

        .brand {
            display: flex;
            align-items: center;
            min-width: 260px;
        }

        .brand img {
            width: 275px;
            max-width: 100%;
            height: auto;
            display: block;
        }

        .menu {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 40px;
            flex: 1;
        }

        .menu a {
            text-decoration: none;
            color: var(--link-color);
            font-size: 14px;
            font-weight: 500;
            line-height: 1;
            transition: color 0.2s ease;
            white-space: nowrap;
        }

        .menu a:hover {
            color: var(--brand-blue-dark);
        }

        .menu-dropdown {
            position: relative;
        }

        .menu-dropdown__trigger {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            border: 0;
            padding: 0;
            margin: 0;
            background: none;
            cursor: pointer;
            font: inherit;
            font-size: 14px;
            font-weight: 500;
            color: var(--link-color);
            line-height: 1;
            white-space: nowrap;
            transition: color 0.2s ease;
        }

        .menu-dropdown__trigger:hover,
        .menu-dropdown__trigger[aria-expanded="true"] {
            color: var(--brand-blue-dark);
        }

        .menu-dropdown__caret {
            font-size: 11px;
            opacity: 0.85;
        }

        .menu-dropdown__panel {
            list-style: none;
            margin: 0;
            padding: 8px 0;
            min-width: 220px;
            background: #ffffff;
            border-radius: 12px;
            box-shadow: 0 12px 32px rgba(35, 45, 55, 0.12);
            border: 1px solid #eef1f4;
        }

        .menu-dropdown__panel a {
            display: block;
            padding: 10px 18px;
            text-decoration: none;
            color: var(--link-color);
            font-size: 14px;
            font-weight: 500;
            transition: background 0.15s ease, color 0.15s ease;
        }

        .menu-dropdown__panel a:hover {
            background: #f4f8fc;
            color: var(--brand-blue-dark);
        }

        @media (min-width: 1025px) {
            .menu-dropdown:hover,
            .menu-dropdown:focus-within {
                z-index: 50;
            }

            .menu-dropdown__panel {
                position: absolute;
                z-index: 60;
                top: calc(100% + 12px);
                left: 50%;
                transform: translateX(-50%);
                opacity: 0;
                visibility: hidden;
                pointer-events: none;
                transition: opacity 0.2s ease, visibility 0.2s ease;
            }

            .menu-dropdown:hover .menu-dropdown__panel,
            .menu-dropdown:focus-within .menu-dropdown__panel {
                opacity: 1;
                visibility: visible;
                pointer-events: auto;
            }
        }

        @media (max-width: 1024px) {
            .menu-dropdown {
                width: 100%;
                flex-direction: column;
                align-items: flex-start;
            }

            .menu-dropdown__trigger {
                width: 100%;
                justify-content: flex-start;
                padding: 4px 0;
            }

            .menu-dropdown__panel {
                display: none;
                width: 100%;
                min-width: 0;
                padding: 4px 0 8px;
                margin-left: 0;
                border: none;
                box-shadow: none;
                background: transparent;
            }

            .menu-dropdown.is-open .menu-dropdown__panel {
                display: block;
            }

            .menu-dropdown__panel a {
                padding: 8px 0 8px 12px;
                font-size: 14px;
            }
        }

        .header-tools {
            display: flex;
            align-items: center;
            gap: 16px;
            min-width: 320px;
            justify-content: flex-end;
        }

        .divider {
            width: 1px;
            height: 22px;
            background: var(--divider);
        }

        .tool-icon {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #6d7782;
            text-decoration: none;
            font-size: 16px;
        }

        .tool-icon.whatsapp {
            color: #1cbe56;
            font-size: 17px;
        }

        .phone-link {
            color: var(--text-color);
            text-decoration: none;
            font-size: 13px;
            font-weight: 500;
            white-space: nowrap;
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }

        .phone-link i {
            font-size: 12px;
            color: #7d8792;
        }

        .contact-btn {
            border: 0;
            background: linear-gradient(180deg, #8ab5ec 0%, #75a2dd 100%);
            color: #fff;
            text-decoration: none;
            border-radius: 999px;
            height: 38px;
            min-width: 116px;
            padding: 0 16px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            font-size: 13px;
            font-weight: 600;
            line-height: 1;
            box-shadow: 0 2px 8px rgba(84, 134, 201, 0.18);
            white-space: nowrap;
        }

        .menu-toggle {
            border: 0;
            background: transparent;
            color: #6e7783;
            font-size: 23px;
            width: 36px;
            height: 36px;
            padding: 0;
            display: none;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: color 0.2s ease, transform 0.2s ease;
        }

        .menu-toggle:active {
            transform: scale(0.94);
        }

        @media (max-width: 1024px) {
            .header-wrap {
                height: 78px;
                padding: 0 16px;
            }

            .brand {
                min-width: 0;
                flex: 1;
            }

            .brand img {
                width: 205px;
            }

            .menu-toggle {
                display: inline-flex;
            }

            .menu {
                display: none;
                position: absolute;
                top: 78px;
                left: 0;
                right: 0;
                background: #ffffff;
                border-top: 1px solid #e8edf2;
                border-bottom: 1px solid #e8edf2;
                padding: 14px 16px;
                gap: 14px;
                flex-direction: column;
                align-items: flex-start;
                z-index: 300;
            }

            .menu.open {
                display: flex;
            }

            .header-tools {
                min-width: auto;
                gap: 10px;
            }

            .header-tools .divider,
            .header-tools .phone-link,
            .header-tools .contact-btn {
                display: none;
            }
        }

        @media (max-width: 540px) {
            .header-wrap {
                height: 72px;
                gap: 8px;
            }

            .brand img {
                width: 185px;
            }

            .menu {
                top: 72px;
            }
        }
/* Site footer */
        .site-footer {
            background: #ffffff;
            color: #5c656e;
            font-family: "Poppins", sans-serif;
        }

        .footer-main {
            border-top: 1px solid #eef1f4;
        }

        .footer-inner {
            max-width: 1320px;
            margin: 0 auto;
            padding: clamp(2.25rem, 4.5vw, 3.5rem) clamp(1.15rem, 3vw, 2rem);
            display: grid;
            grid-template-columns: minmax(220px, 1.4fr) 1fr 1fr 1.15fr minmax(200px, 1fr);
            gap: clamp(1.5rem, 3vw, 2.75rem);
            align-items: start;
        }

        .footer-col h2 {
            margin: 0 0 1rem;
            font-family: "Playfair Display", "DM Serif Text", Georgia, serif;
            font-size: 1.05rem;
            font-weight: 700;
            color: #1f2429;
            line-height: 1.25;
        }

        .footer-logo-link {
            display: inline-block;
            line-height: 0;
            margin-bottom: 1.15rem;
        }

        .footer-logo-link img {
            display: block;
            width: min(280px, 100%);
            height: auto;
        }

        .footer-tagline {
            margin: -0.35rem 0 1.1rem;
            font-size: 0.72rem;
            font-weight: 500;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: #8a939c;
        }

        .footer-contact-list {
            list-style: none;
            margin: 0 0 1.25rem;
            padding: 0;
        }

        .footer-contact-list li {
            display: flex;
            gap: 0.65rem;
            align-items: flex-start;
            margin-bottom: 0.85rem;
            font-size: 0.8125rem;
            line-height: 1.55;
            color: #5c656e;
        }

        .footer-contact-list li:last-child {
            margin-bottom: 0;
        }

        .footer-contact-list a {
            color: inherit;
            text-decoration: none;
        }

        .footer-contact-list a:hover {
            color: #8ebae3;
        }

        .footer-contact-icon {
            flex-shrink: 0;
            width: 22px;
            height: 22px;
            object-fit: contain;
            margin-top: 0.12rem;
        }

        .footer-social {
            display: flex;
            flex-wrap: wrap;
            gap: 0.65rem;
            align-items: center;
        }

        .footer-social a {
            display: block;
            line-height: 0;
            border-radius: 10px;
            overflow: hidden;
            transition: opacity 0.2s ease, transform 0.15s ease;
        }

        .footer-social a:hover {
            opacity: 0.88;
            transform: translateY(-2px);
        }

        .footer-social img {
            display: block;
            width: 38px;
            height: 38px;
            object-fit: contain;
        }

        .footer-links {
            list-style: none;
            margin: 0;
            padding: 0;
        }

        .footer-links li {
            margin-bottom: 0.55rem;
        }

        .footer-links li:last-child {
            margin-bottom: 0;
        }

        .footer-links a {
            font-size: 0.8125rem;
            color: #5c656e;
            text-decoration: none;
            transition: color 0.2s ease;
        }

        .footer-links a:hover {
            color: #8ebae3;
        }

        .footer-links a.is-active {
            color: #8ebae3;
            font-weight: 600;
        }

        .footer-col--services .footer-links {
            column-count: 2;
            column-gap: 1.5rem;
        }

        .footer-col--services .footer-links li {
            break-inside: avoid;
            -webkit-column-break-inside: avoid;
        }

        .footer-col--cta {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
        }

        .footer-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.35rem;
            padding: 0.72rem 1.1rem;
            font-family: "Poppins", sans-serif;
            font-size: 0.8125rem;
            font-weight: 600;
            text-decoration: none;
            border-radius: 999px;
            transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
            white-space: nowrap;
        }

        .footer-btn .bi {
            font-size: 0.78rem;
        }

        .footer-btn--outline {
            border: 1.5px solid #8ebae3;
            color: #8ebae3;
            background: #ffffff;
        }

        .footer-btn--outline:hover {
            background: rgba(142, 186, 227, 0.08);
        }

        .footer-btn--solid {
            border: 1.5px solid #8ebae3;
            background: #8ebae3;
            color: #ffffff;
        }

        .footer-btn--solid:hover {
            background: #7aacd8;
            border-color: #7aacd8;
        }

        .footer-bar {
            background: #8ebae3;
            color: #ffffff;
            text-align: center;
            padding: 0.85rem 1.25rem;
            font-size: 0.8125rem;
        }

        .footer-bar p {
            margin: 0;
        }

        @media (max-width: 1100px) {
            .footer-inner {
                grid-template-columns: 1fr 1fr;
            }

            .footer-col--brand {
                grid-column: 1 / -1;
            }

            .footer-col--cta {
                grid-column: 1 / -1;
                flex-direction: row;
                flex-wrap: wrap;
            }

            .footer-col--cta .footer-btn {
                flex: 1 1 auto;
                min-width: 200px;
            }
        }

        @media (max-width: 700px) {
            .footer-inner {
                grid-template-columns: 1fr;
                gap: 2rem;
            }

            .footer-col--brand {
                grid-column: auto;
            }

            .footer-col--cta {
                grid-column: auto;
                flex-direction: column;
            }

            .footer-col--cta .footer-btn {
                width: 100%;
                min-width: unset;
            }

            .footer-social {
                justify-content: flex-start;
            }

            .footer-col--services .footer-links {
                column-count: 1;
            }
        }

        body.menu-open {
            overflow: hidden;
        }

        p.is-long-justify {
            text-align: justify;
            text-wrap: pretty;
            hyphens: auto;
        }

        @media (prefers-reduced-motion: reduce) {
            .menu-toggle {
                transition: none;
            }

            .menu-toggle:active {
                transform: none;
            }

            [data-aos] {
                opacity: 1 !important;
                transform: none !important;
                transition: none !important;
                animation: none !important;
            }
        }