.bento-grid {
            display: grid;
            grid-template-columns: repeat(12, 1fr);
            gap: 24px;
        }
.border-left-accent {
    border-left: 4px solid #00152f
    }
.border-steel {
            border-color: #54607A;
        }
.card-hover-effect {
            transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease;
        }
.card-hover-effect:hover {
            transform: translateY(-4px);
            border-color: #9A6B12;
        }
.card-shadow {
            box-shadow: 0px 4px 8px rgba(26, 31, 43, 0.15);
        }
.crest-watermark {
            mask-image: radial-gradient(circle at center, black 0%, transparent 70%);
            -webkit-mask-image: radial-gradient(circle at center, black 0%, transparent 70%);
            opacity: 0.035;
            pointer-events: none;
        }
.crest-watermark {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            opacity: 0.03;
            pointer-events: none;
            z-index: 0;
            width: 80%;
            max-width: 400px;
        }
.crest-watermark {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            opacity: 0.03;
            z-index: 0;
            pointer-events: none;
            width: 80%;
        }
.crest-watermark {
            position: fixed;
            bottom: -5%;
            right: -10%;
            width: 80%;
            opacity: 0.03;
            pointer-events: none;
            z-index: 0;
            transform: rotate(-15deg);
        }
.crest-watermark {
            position: fixed;
            bottom: -5%;
            right: -5%;
            width: 600px;
            height: 600px;
            opacity: 0.03;
            pointer-events: none;
            z-index: -1;
            filter: grayscale(100%);
        }
.crest-watermark {
            position: fixed;
            bottom: -5%;
            right: -5%;
            width: 80%;
            opacity: 0.03;
            pointer-events: none;
            z-index: 0;
            transform: rotate(-15deg);
        }
.crest-watermark {
            position: fixed;
            bottom: 5%;
            right: 5%;
            width: 400px;
            height: 400px;
            opacity: 0.03;
            z-index: -1;
            pointer-events: none;
        }
.crest-watermark {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            opacity: 0.03;
            pointer-events: none;
            z-index: -1;
            width: 80%;
            max-width: 500px;
        }
.crest-watermark {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            opacity: 0.03;
            z-index: -1;
            pointer-events: none;
            width: 80%;
            max-width: 600px;
        }
.crest-watermark {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            opacity: 0.03;
            z-index: -1;
            pointer-events: none;
            width: 80%;
        }
.crest-watermark {
    background-image: var(--kairowk-crest);
    background-blend-mode: overlay;
    opacity: 0.03;
    pointer-events: none
    }
.crest-watermark {
    background-image: var(--kairowk-crest);
    opacity: 0.03;
    background-position: bottom right;
    background-repeat: no-repeat;
    background-size: 40%;
    pointer-events: none
    }
.crest-watermark {
    position: fixed;
    bottom: -5%;
    right: -5%;
    width: 600px;
    height: 600px;
    opacity: 0.03;
    pointer-events: none;
    z-index: 0;
    background-image: var(--kairowk-crest);
    background-size: contain;
    background-repeat: no-repeat;
    filter: grayscale(100%) contrast(120%)
    }
.crest-watermark {
    position: fixed;
    bottom: 5%;
    right: -5%;
    opacity: 0.03;
    z-index: -1;
    pointer-events: none;
    width: 80vw;
    height: 80vw;
    background-image: var(--kairowk-crest);
    background-size: contain;
    background-repeat: no-repeat;
    filter: grayscale(100%)
    }
.filter-chip-active {
            @apply bg-primary text-on-primary;
        }
.focus-ring {
            outline: 3px solid #9A6B12;
            outline-offset: 2px;
        }
.focus-ring:focus {
            outline: none;
            box-shadow: 0 0 0 3px #9A6B12;
        }
.focus-ring:focus {
    outline: none;
    box-shadow: 0 0 0 3px #9A6B12
    }
.ghost-hover:hover {
            text-decoration: underline;
            text-decoration-color: #9A6B12;
            text-decoration-thickness: 2px;
            text-underline-offset: 8px;
        }
.hard-shadow {
            box-shadow: 0px 4px 8px rgba(26, 31, 43, 0.15);
        }
.hard-tactical-shadow {
            box-shadow: 0px 4px 8px rgba(26, 31, 43, 0.15);
        }
.hard-tactical-shadow {
    box-shadow: 0 4px 8px rgba(26, 31, 43, 0.15)
    }
.heritage-gold-focus:focus {
            outline: none;
            box-shadow: 0 0 0 3px #9A6B12;
        }
.hero-gradient {
            background: linear-gradient(135deg, #00152f 0%, #0f2a4a 100%);
        }
.hero-gradient {
            background: linear-gradient(180deg, #ffffff 0%, #f4f3f6 100%);
        }
.legal-content h2 {
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    border-left: 4px solid #00152f;
    padding-left: 1rem
    }
.legal-content li {
    margin-bottom: 0.5rem
    }
.legal-content p {
    margin-bottom: 1.25rem
    }
.legal-content ul {
    margin-bottom: 1.25rem;
    list-style-type: square;
    padding-left: 1.5rem
    }
.material-symbols-outlined {
            font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
            display: inline-block;
            line-height: 1;
        }
.material-symbols-outlined {
            font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
            vertical-align: middle;
        }
.material-symbols-outlined {
            font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
        }
.material-symbols-outlined {
    font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24
    }
.material-symbols-outlined {
    font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
    display: inline-block;
    line-height: 1
    }
.overlay-active {
    opacity: 1 !important;
    visibility: visible !important
    }
.product-card {
            transition: transform 0.2s cubic-bezier(0.2, 0, 0, 1), box-shadow 0.2s ease;
        }
.product-card:hover {
            transform: translateY(-4px);
        }
.project-card:hover .project-image {
            transform: scale(1.05);
        }
.side-nav-closed {
    transform: translatex(100%)
    }
.side-nav-open {
    transform: translatex(0) !important
    }
.sitemap-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
            gap: 2rem;
        }
.tactical-border {
            border-left: 4px solid #00152f;
        }
.tactical-border {
            box-shadow: inset 0 0 0 1px rgba(84, 96, 122, 0.2);
        }
.tactical-border {
            position: relative;
        }
.tactical-border { border-left: 4px solid #00152f; }
.tactical-border::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 4px;
            height: 100%;
            background-color: #00152f;
        }
.tactical-grid {
    background-size: 40px 40px;
    background-image: radial-gradient(circle, #54607A 1px, transparent 1px);
    opacity: 0.1
    }
.tactical-shadow {
            box-shadow: 0px 4px 8px rgba(26, 31, 43, 0.15);
        }
.tactical-shadow {
    box-shadow: 0 4px 8px rgba(26, 31, 43, 0.15)
    }
.watermark-bg {
            background-image: url("https://lh3.googleusercontent.com/aida-public/AB6AXuDb8tJQxVYGSRubhBN-H3BNTeJenGM7iU68hmJk774YRnIUP_CF0cjguAle3oeNUcEmb6cl8oDdkqlB9FqkAvqNWCNIQ_oQD_yQRUrlq7IPM0qJaOaDDBiAZw6r4CSJRnrZ5sXsERgBdN6HSjluMsgADK_LMIM-fjCKQ1qxWE33RMMoyp0q8Yrmok2fhwElBGOzCc7RLK5DZb4_Aj9bjC8KrnKDSQCqwYMV4bOoMlt-0DHISiZGE6J_eRH0Orc-c_KhUNHuUaJFpjgO");
            background-repeat: no-repeat;
            background-position: center;
            background-size: 600px;
            opacity: 0.04;
        }
.watermark-bg {
            position: fixed;
            bottom: -5%;
            right: -5%;
            width: 40%;
            opacity: 0.03;
            pointer-events: none;
            z-index: 0;
            transform: rotate(-15deg);
        }
.watermark-bg {
    background-image: linear-gradient(rgba(250, 249, 252, 0.92), rgba(250, 249, 252, 0.92)), url(https://lh3.googleusercontent.com/aida-public/AB6AXuAelWu1i-SAifNJx3lS2wXjNhiWVOomT7OsqxDNXIsVfKsR95DHG423arR88-Zv2Lp4enMTDYudbzSdMbu7HTogYOC2HkfMtxyFWwxcP-bMTfQCPUS9LRBvxosOUEBkup7NBmtTDJQskMWS8U8ga2iUP7Eg59GwAKuY7RYKOqqA6rSyQd5ExnGA6cQ2Zyvu6zUhLQ8GzRWsVCEL4FZUtu_CGlM8D1HHAQANwzLgLcCVH3ZoqnlPVkdMt0KgsPWazJOROoLkBDYNJ5Lq);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 600px
    }
.watermark-bg {
    background-image: linear-gradient(rgba(250, 249, 252, 0.94), rgba(250, 249, 252, 0.94)), url(https://lh3.googleusercontent.com/aida-public/AB6AXuA7N9pnPMXqU3yKOi3QkEbQ_b48g9_Q5_IzSh-_zbPHzUBNQ3-ZaezuaquEbZcio9BFHoeWrbKBA7589x1Ak2bx2A2OaXlUT4bHK-7sOlsVO2vtoFVbCdxFHoh2eDC6yQrvENmR_lfufT5-hnp0zPR2EzvZF7BsDHs17SU-yGNU-YmOpc3Q2qZ8TM-SSYO0nG3wd2JzZKHtm6cRTYfZBzO7uYZtQeRgwtkzKnZGd6lNUs-M2UmarUIhpcZyITSezTpNn0aDCV2tqyyN);
    background-attachment: fixed;
    background-size: cover;
    background-position: center
    }
.watermark-overlay {
            mask-image: linear-gradient(to bottom, rgba(0,0,0,0.05), rgba(0,0,0,0));
            -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.08), rgba(0,0,0,0));
            pointer-events: none;
        }
.watermark-overlay {
            pointer-events: none;
            opacity: 0.03;
            z-index: 0;
        }
.watermark-overlay {
            position: fixed;
            bottom: -5%;
            right: -5%;
            width: 600px;
            height: 600px;
            opacity: 0.03;
            pointer-events: none;
            z-index: 0;
            background-image: url('https://lh3.googleusercontent.com/aida-public/AB6AXuDb8tJQxVYGSRubhBN-H3BNTeJenGM7iU68hmJk774YRnIUP_CF0cjguAle3oeNUcEmb6cl8oDdkqlB9FqkAvqNWCNIQ_oQD_yQRUrlq7IPM0qJaOaDDBiAZw6r4CSJRnrZ5sXsERgBdN6HSjluMsgADK_LMIM-fjCKQ1qxWE33RMMoyp0q8Yrmok2fhwElBGOzCc7RLK5DZb4_Aj9bjC8KrnKDSQCqwYMV4bOoMlt-0DHISiZGE6J_eRH0Orc-c_KhUNHuUaJFpjgO');
            background-size: contain;
            background-repeat: no-repeat;
        }
.watermark-overlay {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 300px;
    height: 300px;
    opacity: 0.03;
    pointer-events: none;
    z-index: 0;
    background-image: url(https://lh3.googleusercontent.com/aida-public/AB6AXuAk_xbK-KgK-Yt8Bz9zhAnOEMjiLAo-XfAugBv3CELAyylDHevtp6IAJbWUo51HH5fK5Ajsz84NR9VCMKL6u3RZ8EGwdSpJ3dQSfZW5ozBX6hFngnVOyopsZhLGyJR72JvV8wPfJQQn56obov1IBcLOvVO8AhZAHv9KcWfzyLRDadQGLwDDJ3vVySJ5lWd_2NO5xrJpL0dyDrT0lNjOxL8jbiqH4eai4BXMMNPulGluIww2m7sHU9Cuq4Jw_ksVo2n2hUynOsyeLw1E);
    background-size: contain;
    background-repeat: no-repeat;
    filter: grayscale(100%)
    }
/* Custom scroll behavior for mission-first feel */
        html { scroll-behavior: smooth; }
body {
      min-height: max(884px, 100dvh);
    }
body { font-family: 'Inter', sans-serif; }
input:focus, button:focus {
            outline: none;
            box-shadow: 0 0 0 3px #9A6B12;
        }
input:focus, select:focus, textarea:focus {
            outline: none !important;
            box-shadow: 0 0 0 3px #9A6B12 !important;
            border-color: #54607A !important;
        }
input:focus, textarea:focus {
            outline: none;
            box-shadow: 0 0 0 3px #9A6B12 !important;
        }
input:focus, textarea:focus {
            outline: none;
            box-shadow: 0 0 0 3px #9A6B12;
        }

/* Stitch font-* utility bridges */
.font-display-lg,.font-display-md,.font-headline-lg,.font-headline-md,.font-headline-sm,.font-eyebrow{font-family:'Archivo Narrow',sans-serif;}
.font-body-lg,.font-body-md,.font-body-sm,.font-label{font-family:'Inter',sans-serif;}

/* ---- Kairowk global UI (off-canvas, skip link, watermark, defensive responsive) ---- */
:root{--kw-gold:#9A6B12;}
.kw-skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:#0f2a4a;color:#fff;padding:10px 16px;border-radius:6px;font:600 14px/1 Inter,sans-serif;}
.kw-skip-link:focus{left:8px;top:8px;}
.kw-sidenav{transform:translateX(100%);transition:transform .3s ease;}
.kw-sidenav.kw-open{transform:translateX(0);}
.kw-overlay{position:fixed;inset:0;background:rgba(15,42,74,.55);z-index:55;opacity:0;transition:opacity .3s ease;}
.kw-overlay.kw-show{opacity:1;}
.kw-overlay.invisible{display:none;}
body.kw-noscroll{overflow:hidden;}
.crest-watermark{background-image:var(--kairowk-crest)!important;background-repeat:no-repeat;background-position:center;background-size:contain;}
@media (prefers-reduced-motion: reduce){.kw-sidenav,.kw-overlay{transition:none!important;}}
/* defensive responsive: stack multi-col grids on small screens */
@media (max-width:767px){
  .grid.grid-cols-2,.grid.grid-cols-3,.grid.grid-cols-4,[class*='md:grid-cols-']{grid-template-columns:1fr!important;}
  .max-w-7xl{padding-left:16px;padding-right:16px;}
  .text-display-lg{font-size:40px!important;}.text-display-md{font-size:32px!important;}
}
img{max-width:100%;height:auto;}
