@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Montserrat:wght@600;700;800&display=swap");

:root { font-family: "Inter", Arial, sans-serif; }
body, button, input, textarea, select { font-family: "Inter", Arial, sans-serif !important; }
h1, h2, h3, h4, h5, h6, .font-headline-xl, .font-headline-lg, .font-headline-md, .font-headline-sm { font-family: "Montserrat", Arial, sans-serif !important; }
.site-nav { position: fixed; inset: 0 0 auto; z-index: 100; min-height: 48px; background: #fff; border-bottom: 1px solid #c1c6d5; }
.site-nav__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 1440px; min-height: 48px; margin: 0 auto; padding: 0 40px; }
.site-nav__brand { display: flex; align-items: center; gap: 8px; color: #004e9f; font-size: 18px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.site-nav__brand img { width: 28px; height: 28px; object-fit: contain; }
.site-nav__links { display: flex; align-items: center; gap: 20px; }
.site-nav__links a { color: #414753; font-size: 13px; font-weight: 600; text-decoration: none; }
.site-nav__links a:hover, .site-nav__links a[aria-current="page"] { color: #004e9f; }
.site-nav__cta { padding: 7px 14px; color: #fff !important; background: #004e9f; border-radius: 4px; }
.site-nav-spaced { margin-top: 48px; }
@media (max-width: 900px) { .site-nav__inner { padding: 0 16px; } .site-nav__links { gap: 12px; overflow-x: auto; } .site-nav__links a:nth-child(3), .site-nav__links a:nth-child(4), .site-nav__links a:nth-child(5) { display: none; } }
.quote-dropzone { border: 1.5px dashed #94a3b8; transition: border-color .2s ease, background-color .2s ease, transform .2s ease; }
.quote-dropzone.is-dragover { border-color: #004e9f; background: #eff6ff; transform: translateY(-1px); }
.quote-option input:checked + span { border-color: #004e9f; background: #eff6ff; color: #004e9f; }
.quote-hidden { display: none !important; }
.quote-success { scroll-margin-top: 96px; }
.cookie-consent-open { overflow: hidden; }
.cookie-consent { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: end center; padding: 24px; background: rgb(15 23 42 / 55%); }
.cookie-consent__card { width: min(100%, 640px); padding: 24px; color: #1f2937; background: #fff; border-radius: 16px; box-shadow: 0 20px 48px rgb(15 23 42 / 30%); }
.cookie-consent__card h2 { margin: 0 0 8px; color: #004e9f; font-size: 1.25rem; font-weight: 800; }
.cookie-consent__card p { margin: 0; line-height: 1.6; }
.cookie-consent__accept { margin-top: 18px; padding: 10px 18px; color: #fff; font-weight: 700; background: #004e9f; border: 0; border-radius: 6px; cursor: pointer; }
.cookie-consent__accept:hover, .cookie-consent__accept:focus-visible { background: #003d7d; }
@media (max-width: 600px) { .cookie-consent { padding: 16px; } .cookie-consent__card { padding: 20px; } .cookie-consent__accept { width: 100%; } }


/* index.html */
html.page-index .material-symbols-outlined {
            font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
        }
        html.page-index .glass-card {
            background: rgba(255, 255, 255, 0.8);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
        }
        html.page-index .diagonal-bg {
            clip-path: polygon(0 0, 100% 0, 100% 85%, 0% 100%);
        }
        html.page-index .bento-grid {
            display: grid;
            grid-template-columns: repeat(12, 1fr);
            gap: 24px;
        }

/* about.html */
html.page-about body { background-color: #f7f9fc; color: #191c1e; }
        html.page-about .material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
        html.page-about .bento-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; }
        html.page-about .feature-card { transition: transform 0.3s ease, border-color 0.3s ease; }
        html.page-about .feature-card:hover { transform: translateY(-4px); border-color: #004e9f; }
        html.page-about .glass-effect { background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(12px); border: 1px solid rgba(209, 217, 224, 0.5); }

/* contact.html */
html.page-contact body { font-family: 'Inter', sans-serif; background-color: #f7f9fc; color: #191c1e; }
        html.page-contact .material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
        html.page-contact .glass-card { background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(8px); border: 1px solid #D1D9E0; }

/* legal.html */
html.page-legal .material-symbols-outlined {
            font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
        }
        html.page-legal .zebra-table tr:nth-child(even) {
            background-color: #f9f9ff;
        }
        html.page-legal .glass-card {
            background: rgba(255, 255, 255, 0.8);
            backdrop-filter: blur(8px);
            border: 1px solid #E2E8F0;
        }

/* request-a-quote.php */
html.page-request-a-quote body { font-family: "Inter", sans-serif; background: #f7f9fc; color: #191c1e; }
        html.page-request-a-quote .material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24; }
        html.page-request-a-quote .quote-shell {
            background:
                radial-gradient(circle at top right, rgba(170, 199, 255, 0.45), transparent 30%),
                linear-gradient(180deg, #eef4fb 0%, #f7f9fc 18%, #f7f9fc 100%);
        }
