﻿:root {
            --color-primary: #093ca8;
            --color-secondary: #64748b;
        }
        .text-primary,
        .hover\:text-primary:hover {
            color: var(--color-primary);
        }
        .text-secondary {
            color: var(--color-secondary);
        }
        .bg-primary,
        .hover\:bg-primary:hover {
            background-color: var(--color-primary);
        }
        .bg-primary\/10 {
            background-color: rgba(9, 60, 168, 0.1);
        }
        .shadow-primary\/20 {
            --tw-shadow-color: rgba(9, 60, 168, 0.2);
        }
        body {
            font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            -webkit-font-smoothing: antialiased;
            color: #172033;
            background: #ffffff;
            overflow-x: hidden;
        }
        html {
            scroll-behavior: smooth;
        }
        h1, h2, h3, h4, h5, h6 {
            font-family: 'Inter', sans-serif;
            letter-spacing: -0.025em;
        }
        .display-title {
            font-size: clamp(2.5rem, 3.2vw, 3.75rem);
            line-height: 1.08;
            font-weight: 800;
            letter-spacing: -0.055em;
        }
        .section-title {
            font-size: clamp(2.25rem, 3.5vw, 3.75rem);
            line-height: 1.08;
            font-weight: 800;
            letter-spacing: -0.045em;
        }
        .section-kicker {
            display: inline-flex;
            align-items: center;
            gap: 0.6rem;
            margin-bottom: 1rem;
            color: #093ca8;
            font-size: 0.75rem;
            font-weight: 800;
            letter-spacing: 0.16em;
            text-transform: uppercase;
        }
        .section-kicker::before {
            width: 2.5rem;
            height: 2px;
            background: currentColor;
            content: "";
        }
        .premium-card {
            border: 1px solid #e8edf5;
            background: #ffffff;
            box-shadow: 0 20px 50px rgba(15, 35, 75, 0.06);
            transition: transform 0.35s ease, box-shadow 0.35s ease;
        }
        .premium-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 28px 70px rgba(9, 60, 168, 0.14);
        }
        .title-banner {
            min-height: 310px;
            background: #0b43a5;
        }
        .product-category-card {
            border: 1px solid #dbe3ee;
            background: #fff;
            transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
        }
        .product-category-card:hover {
            transform: translateY(-4px);
            border-color: #9db7df;
            box-shadow: 0 20px 45px rgba(15, 35, 75, .11);
        }
        .desktop-nav-item {
            position: relative;
            display: flex;
            align-items: center;
        }
        .desktop-dropdown,
        .desktop-submenu {
            position: absolute;
            visibility: hidden;
            opacity: 0;
            background: #fff;
            color: #172033;
            border: 1px solid #dbe5f1;
            box-shadow: 0 18px 45px rgba(15, 35, 75, .16);
            transition: opacity .18s ease, visibility .18s ease;
        }
        .desktop-dropdown {
            top: calc(100% + 18px);
            left: 50%;
            width: min(1170px, calc(100vw - 48px));
            transform: translateX(-50%);
            padding: 0;
        }
        .desktop-nav-item:hover > .desktop-dropdown,
        .desktop-nav-item:focus-within > .desktop-dropdown,
        .desktop-dropdown-item:hover > .desktop-submenu,
        .desktop-dropdown-item:focus-within > .desktop-submenu {
            visibility: visible;
            opacity: 1;
        }
        .desktop-dropdown::before {
            position: absolute;
            top: -20px;
            left: 0;
            width: 100%;
            height: 20px;
            content: "";
        }
        .desktop-dropdown-item {
            position: relative;
        }
        .cascade-dropdown {
            width: 260px;
        }
        .cascade-link {
            display: flex;
            min-height: 48px;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding: 12px 16px;
            border-bottom: 1px solid #edf1f6;
            color: #172033;
            font-size: .9rem;
            font-weight: 700;
        }
        .cascade-link:hover,
        .cascade-link:focus {
            color: #093ca8;
            background: #eef4ff;
        }
        .desktop-submenu {
            top: -1px;
            left: 100%;
            width: 245px;
        }
        .desktop-submenu::before {
            position: absolute;
            top: 0;
            left: -12px;
            width: 12px;
            height: 100%;
            content: "";
        }
        .mega-menu {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr)) 260px;
            min-height: 330px;
        }
        .mega-menu-column {
            padding: 24px 26px;
            border-right: 1px solid #dbe5f1;
        }
        .mega-menu-title {
            margin-bottom: 20px;
            color: #172033;
            font-size: 1rem;
            font-weight: 800;
        }
        .mega-menu-link {
            display: flex;
            align-items: flex-start;
            gap: 8px;
            padding: 9px 0;
            color: #172033;
            font-size: .95rem;
            line-height: 1.25;
            font-weight: 500;
        }
        .mega-menu-link::before {
            width: 9px;
            height: 9px;
            margin-top: 5px;
            flex: 0 0 auto;
            background: #f59e0b;
            content: "";
        }
        .mega-menu-link:hover,
        .mega-menu-link:focus {
            color: #093ca8;
        }
        .mega-menu-image {
            min-height: 100%;
            background:
                linear-gradient(rgba(8, 18, 38, .22), rgba(8, 18, 38, .22)),
                url("assets/images/unsplash-01.jpg") center / cover no-repeat;
        }
        .hero-grid {
            background-image:
                linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
            background-size: 44px 44px;
        }
        .hero-placeholder {
            color: #64748b;
            background:
                linear-gradient(145deg, rgba(9,60,168,0.08), rgba(9,60,168,0.02)),
                repeating-linear-gradient(135deg, transparent 0 24px, rgba(9,60,168,0.04) 24px 25px);
            border-color: rgba(9,60,168,0.22);
        }
        .hero-placeholder i {
            color: #093ca8;
        }
        .seo-richtext {
            color: #475569;
            font-size: 1rem;
            line-height: 1.85;
        }
        .seo-richtext > * + * {
            margin-top: 1.25rem;
        }
        .seo-richtext h2,
        .seo-richtext h3,
        .seo-richtext h4 {
            color: #0f172a;
            font-weight: 800;
            line-height: 1.3;
        }
        .seo-richtext h2 {
            margin-top: 2.5rem;
            padding-left: 1rem;
            border-left: 4px solid #093ca8;
            font-size: 1.65rem;
        }
        .seo-richtext h2:first-child {
            margin-top: 0;
        }
        .seo-richtext h3 {
            margin-top: 2rem;
            color: #093ca8;
            font-size: 1.3rem;
        }
        .seo-richtext h4 {
            margin-top: 1.5rem;
            font-size: 1.1rem;
        }
        .seo-richtext a {
            color: #093ca8;
            font-weight: 600;
            text-decoration: underline;
            text-underline-offset: 3px;
        }
        .seo-richtext ul,
        .seo-richtext ol {
            padding-left: 1.5rem;
        }
        .seo-richtext ul {
            list-style: disc;
        }
        .seo-richtext ol {
            list-style: decimal;
        }
        .seo-richtext li + li {
            margin-top: 0.45rem;
        }
        .seo-richtext img {
            width: 100%;
            margin: 2rem 0;
            border-radius: 1rem;
            box-shadow: 0 18px 45px rgba(15, 35, 75, 0.12);
        }
        .seo-richtext blockquote {
            margin: 2rem 0;
            padding: 1.25rem 1.5rem;
            border-left: 4px solid #093ca8;
            background: #eff6ff;
            color: #334155;
        }
        .seo-richtext table {
            display: block;
            width: 100%;
            margin: 2rem 0;
            overflow-x: auto;
            border-collapse: collapse;
        }
        .seo-richtext th,
        .seo-richtext td {
            min-width: 140px;
            padding: 0.9rem 1rem;
            border: 1px solid #e2e8f0;
            text-align: left;
        }
        .seo-richtext th {
            background: #eff6ff;
            color: #0f172a;
            font-weight: 700;
        }
        .seo-content-layout {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 380px;
            align-items: start;
            gap: 42px;
        }
        .seo-sticky-inquiry {
            position: sticky;
            top: 104px;
            border-top: 5px solid #093ca8;
            border-radius: 8px;
            background: #fff;
            padding: 28px;
            box-shadow: 0 20px 55px rgba(15, 35, 75, .1);
        }
        .seo-sticky-inquiry .inquiry-field {
            padding: 13px 14px;
        }
        @media (max-width: 1023px) {
            .seo-content-layout {
                grid-template-columns: 1fr;
            }
            .seo-sticky-inquiry {
                display: none;
            }
        }
        .seo-disclosure summary::-webkit-details-marker {
            display: none;
        }
        .seo-disclosure summary {
            list-style: none;
        }
        .seo-disclosure .seo-chevron {
            transition: transform 0.25s ease;
        }
        .seo-disclosure[open] .seo-chevron {
            transform: rotate(180deg);
        }
        .seo-disclosure .seo-label-close,
        .seo-disclosure[open] .seo-label-open {
            display: none;
        }
        .seo-disclosure[open] .seo-label-close {
            display: inline;
        }
        .image-placeholder {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 0.75rem;
            width: 100%;
            color: #64748b;
            text-align: center;
            background:
                linear-gradient(135deg, rgba(9, 60, 168, 0.08), rgba(30, 64, 175, 0.02)),
                repeating-linear-gradient(135deg, transparent 0 18px, rgba(9, 60, 168, 0.05) 18px 19px);
            border: 1px dashed rgba(9, 60, 168, 0.28);
        }
        .image-placeholder i {
            color: #093ca8;
            font-size: 1.75rem;
        }
        .image-placeholder span {
            max-width: 80%;
            font-size: 0.75rem;
            font-weight: 700;
            letter-spacing: 0.08em;
            line-height: 1.5;
            text-transform: uppercase;
        }
        .contact-rail {
            position: fixed;
            top: 50%;
            right: 18px;
            z-index: 45;
            width: 302px;
            transform: translateY(-50%);
            padding: 12px 0;
            pointer-events: none;
        }
        .contact-rail::before {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            width: 54px;
            background: #b8b8b8;
            content: "";
        }
        .contact-rail a {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: flex-end;
            width: 54px;
            height: 52px;
            margin-left: auto;
            color: #fff;
            text-decoration: none;
            pointer-events: auto;
            transition: width .22s ease, background .22s ease, border-radius .22s ease, box-shadow .22s ease;
        }
        .contact-rail a i {
            flex: 0 0 54px;
            text-align: center;
            font-size: 1.1rem;
            line-height: 52px;
        }
        .contact-rail a .contact-label {
            order: -1;
            width: 0;
            overflow: hidden;
            padding-left: 0;
            white-space: nowrap;
            font-size: .9rem;
            font-weight: 800;
            opacity: 0;
            transition: width .22s ease, padding .22s ease, opacity .16s ease;
        }
        .contact-rail a:hover,
        .contact-rail a:focus {
            width: 302px;
            border-radius: 999px;
            background: #0049de;
            box-shadow: 0 14px 34px rgba(15, 35, 75, .25);
        }
        .contact-rail a:hover .contact-label,
        .contact-rail a:focus .contact-label {
            width: 248px;
            padding-left: 18px;
            opacity: 1;
        }
        .contact-rail .contact-phone:hover .contact-label,
        .contact-rail .contact-phone:focus .contact-label {
            width: 220px;
        }
        .contact-rail .contact-qr {
            position: absolute;
            top: 32px;
            right: 62px;
            width: 178px;
            padding: 10px;
            background: #fff;
            border: 1px solid #dbe5f1;
            border-radius: 8px;
            box-shadow: 0 16px 40px rgba(15, 35, 75, .18);
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity .18s ease, visibility .18s ease;
        }
        .contact-rail .contact-qr img {
            display: block;
            width: 100%;
            height: auto;
        }
        .contact-rail a:hover .contact-qr,
        .contact-rail a:focus .contact-qr {
            opacity: 1;
            visibility: visible;
        }
        .inquiry-modal {
            position: fixed;
            inset: 0;
            z-index: 100;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 20px;
        }
        .inquiry-modal.is-open {
            display: flex;
        }
        .inquiry-modal-mask {
            position: absolute;
            inset: 0;
            background: rgba(5, 18, 52, .72);
        }
        .inquiry-modal-panel {
            position: relative;
            z-index: 1;
            width: min(100%, 540px);
            max-height: calc(100vh - 40px);
            overflow-y: auto;
            border-radius: 18px;
            background: #fff;
            padding: 32px;
            box-shadow: 0 28px 80px rgba(5, 18, 52, .32);
        }
        .inquiry-modal-close {
            position: absolute;
            top: 14px;
            right: 14px;
            width: 38px;
            height: 38px;
            border-radius: 50%;
            background: #eef4ff;
            color: #093ca8;
        }
        .inquiry-field {
            width: 100%;
            border: 1px solid #9fb0c5;
            border-radius: 10px;
            background: #fff;
            padding: 14px 16px;
            outline: none;
            transition: border-color .2s ease, box-shadow .2s ease;
        }
        .inquiry-field:focus {
            border-color: #093ca8;
            box-shadow: 0 0 0 3px rgba(9, 60, 168, .14);
        }
        .mobile-contact-bar {
            display: none;
        }
        body.modal-open {
            overflow: hidden;
        }
        @media (max-width: 767px) {
            body {
                padding-bottom: 76px;
            }
            .contact-rail {
                display: none;
            }
            .mobile-contact-bar {
                position: fixed;
                left: 0;
                right: 0;
                bottom: 0;
                z-index: 60;
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 10px;
                padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
                border-top: 1px solid #d9e1ec;
                background: #fff;
                box-shadow: 0 -10px 30px rgba(15, 35, 75, .14);
            }
            .mobile-contact-bar a {
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 8px;
                height: 50px;
                border-radius: 25px;
                color: #fff;
                font-size: .875rem;
                font-weight: 800;
            }
            .mobile-inquiry-btn {
                background: #093ca8;
            }
            .mobile-whatsapp-btn {
                background: #25d366;
            }
            .inquiry-modal-panel {
                padding: 28px 18px 20px;
            }
        }

