/* SECURE X — small global styles for things Elementor (free) has no widget for. */
.hec-main:focus{outline:none}
.skip-link.screen-reader-text:focus{z-index:100000;background:#fff;color:#840E0E;padding:12px 18px;border-radius:6px;font-weight:600}
mark.sx-todo{background:#FFF1A8;color:#2B2B2E;padding:0 4px;border-radius:3px}
:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid #840E0E;outline-offset:2px}

/* Data tables (HTML widget with class sx-table-wrap) */
.sx-table-wrap{overflow-x:auto;border:1px solid #EDE4D6;border-radius:14px;background:#fff}
.sx-table{width:100%;min-width:560px;border-collapse:collapse;font-size:15px;margin:0}
.sx-table thead th{background:#840E0E;color:#fff;font:500 15px/1.3 Oswald,sans-serif;letter-spacing:1px;text-transform:uppercase;text-align:left;padding:15px 20px;border:0}
.sx-table tbody th{color:#840E0E;font-weight:600;text-align:left;vertical-align:top;padding:15px 20px;border:0;border-top:1px solid #EDE4D6}
.sx-table td{vertical-align:top;line-height:1.6;padding:15px 20px;border:0;border-top:1px solid #EDE4D6;color:#2B2B2E}
.sx-table tr:nth-child(even) td,.sx-table tr:nth-child(even) th{background:#FFFDF9}
.sx-dark .sx-table-wrap{border-color:rgba(213,181,134,.3);background:rgba(255,255,255,.04)}
.sx-dark .sx-table tbody th{color:#EACB9F;border-top-color:rgba(213,181,134,.25)}
.sx-dark .sx-table td{color:rgba(255,255,255,.86);border-top-color:rgba(213,181,134,.25)}
.sx-dark .sx-table tr:nth-child(even) td,.sx-dark .sx-table tr:nth-child(even) th{background:rgba(255,255,255,.03)}

/* FAQ (Elementor Toggle widget) */
.sx-faq .elementor-toggle-item{background:#fff;border:1px solid #EDE4D6;border-radius:12px;margin-bottom:12px;overflow:hidden}
.sx-faq .elementor-tab-title{border:0!important;padding:20px 24px!important}
.sx-faq .elementor-tab-content{border:0!important;padding:0 24px 22px!important}

/* MetForm — brand styling (MetForm prints per-field CSS with high specificity, so these need !important) */
.metform-form-content .mf-input-required-indicator{display:none!important}
.metform-form-content .mf-input-label{font:600 14px/1.4 Inter,sans-serif!important;color:#2B2B2E!important;margin-bottom:8px!important}
.metform-form-content .mf-input,.metform-form-content .mf-input-select>.mf_select__control{min-height:48px!important;border:1px solid #D9CDBB!important;border-radius:8px!important;font-size:15px!important;color:#2B2B2E!important;background:#fff!important}
.metform-form-content textarea.mf-input{min-height:150px!important}
.metform-form-content .mf-input:focus,.metform-form-content .mf_select__control--is-focused{border-color:#840E0E!important;outline:2px solid #840E0E!important;outline-offset:1px;box-shadow:none!important}
.metform-form-content .mf-btn-wraper{text-align:left!important}
.metform-form-content .metform-btn{background:#840E0E!important;color:#fff!important;font:600 16px/1.2 Inter,sans-serif!important;border:0!important;border-radius:8px!important;padding:16px 32px!important;min-height:52px;cursor:pointer}
.metform-form-content .metform-btn:hover,.metform-form-content .metform-btn:focus{background:#4A0606!important;color:#fff!important}
.metform-form-content .mf-error-message{color:#A11212!important;font-size:13px!important}
.mf-response-msg{background:#FAF7F2!important;border:1px solid #D5B586!important;border-left:4px solid #840E0E!important;color:#2B2B2E!important;border-radius:8px!important;padding:18px 20px!important}

/* Two-column data tables stack label-over-value on phones */
@media (max-width:600px){
.sx-table-wrap:not(.sx-wide) .sx-table{min-width:0}
.sx-table-wrap:not(.sx-wide) .sx-table thead{display:none}
.sx-table-wrap:not(.sx-wide) .sx-table tbody th,.sx-table-wrap:not(.sx-wide) .sx-table td{display:block;width:100%;box-sizing:border-box}
.sx-table-wrap:not(.sx-wide) .sx-table tbody th{padding-bottom:4px}
.sx-table-wrap:not(.sx-wide) .sx-table td{border-top:0;padding-top:0}
}

.metform-form-content .mf_select__placeholder{color:#6B6B73!important}
/* Links inside text are underlined, not colour-only (WCAG 1.4.1) */
.sx-table a,.elementor-widget-heading p.elementor-heading-title a[href^="mailto:"],.elementor-widget-heading p.elementor-heading-title a[href^="tel:"],.elementor-widget-heading p.elementor-heading-title a[href^="#"]{text-decoration:underline;text-underline-offset:2px}

/* Sticky header (Global Templates option) — desktop, tablet and mobile */
.hec-header--sticky{position:sticky;top:0;z-index:999;box-shadow:0 2px 14px rgba(37,1,0,.18)}
.admin-bar .hec-header--sticky{top:32px}
@media (max-width:782px){.admin-bar .hec-header--sticky{top:46px}}
@media (max-width:600px){.admin-bar .hec-header--sticky{top:0}}
html{scroll-padding-top:100px}
/* Mobile menu dropdown spans the full header width, directly below it */
.hec-header .e-con,.hec-header .e-con-inner,.hec-header .elementor-widget-shortcode,.hec-header .elementor-shortcode,.hec-header .hec-nav{position:static!important}
.hec-header{position:relative}
.hec-header.hec-header--sticky{position:sticky}
/* Monogram tiles (stand-ins until partner/client logos are supplied) */
.sx-mono{width:112px;height:64px;border-radius:10px;background:linear-gradient(135deg,#840E0E,#4A0606);color:#EACB9F;display:flex;align-items:center;justify-content:center;font:600 24px/1 Oswald,sans-serif;letter-spacing:2px;text-transform:uppercase}
.sx-mono--circle{width:88px;height:88px;border-radius:50%;margin:0 auto;font-size:18px;letter-spacing:1px;border:2px solid #D5B586}

/* Home hero: slow gradient mesh background */
.elementor-15 .elementor-element.elementor-element-a65ed38{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse 60% 70% at 88% 108%,#4A0606 0,rgba(74,6,6,0) 100%),#250100!important}
.elementor-15 .elementor-element.elementor-element-a65ed38>*{position:relative;z-index:1}
.elementor-15 .elementor-element.elementor-element-a65ed38{background-image:radial-gradient(ellipse 60% 70% at 88% 108%,#4A0606 0,rgba(74,6,6,0) 100%)!important;background-color:#250100!important}
.elementor-15 .elementor-element.elementor-element-a65ed38::before,.elementor-15 .elementor-element.elementor-element-a65ed38::after{content:""!important;position:absolute!important;border-radius:50%;pointer-events:none;z-index:0!important;will-change:transform;filter:blur(40px);opacity:1!important;mix-blend-mode:normal!important}
.elementor-15 .elementor-element.elementor-element-a65ed38::before{inset:auto!important;width:70%!important;height:120%!important;left:-18%!important;top:-35%!important;background:radial-gradient(closest-side,rgba(132,14,14,.95),rgba(132,14,14,0))!important;animation:sxMesh1 14s ease-in-out infinite alternate}
.elementor-15 .elementor-element.elementor-element-a65ed38::after{inset:auto!important;width:42%!important;height:70%!important;left:38%!important;top:0!important;background:radial-gradient(closest-side,rgba(138,90,31,.42),rgba(138,90,31,0))!important;animation:sxMesh2 17s ease-in-out infinite alternate}
@keyframes sxMesh1{to{transform:translate(28%,18%) scale(1.15)}}
@keyframes sxMesh2{to{transform:translate(-45%,35%) scale(1.1)}}
@media (prefers-reduced-motion:reduce){.elementor-15 .elementor-element.elementor-element-a65ed38::before,.elementor-15 .elementor-element.elementor-element-a65ed38::after{animation:none}}
/* Agency cards: text column beside logo */
.e-con.sx-card-text{flex:1 1 0%!important;min-width:0;width:auto!important;--width:auto}

/* ===== Capability Statement page (v1.2) ===== */
/* Generic slow gradient mesh (used on page headers / closing bands) */
.e-con.sx-mesh{position:relative;overflow:hidden;isolation:isolate;background-image:radial-gradient(ellipse 60% 70% at 88% 108%,#4A0606 0,rgba(74,6,6,0) 100%)!important;background-color:#250100!important}
.e-con.sx-mesh>*{position:relative;z-index:1}
.e-con.sx-mesh::before,.e-con.sx-mesh::after{content:""!important;position:absolute!important;inset:auto!important;border-radius:50%;pointer-events:none;z-index:0!important;will-change:transform;filter:blur(40px);opacity:1!important;mix-blend-mode:normal!important}
.e-con.sx-mesh::before{width:70%!important;height:120%!important;left:-18%!important;top:-35%!important;background:radial-gradient(closest-side,rgba(132,14,14,.95),rgba(132,14,14,0))!important;animation:sxMesh1 14s ease-in-out infinite alternate}
.e-con.sx-mesh::after{width:42%!important;height:70%!important;left:38%!important;top:0!important;background:radial-gradient(closest-side,rgba(138,90,31,.42),rgba(138,90,31,0))!important;animation:sxMesh2 17s ease-in-out infinite alternate}
.e-con.sx-mesh--alt::before{left:auto!important;right:-15%!important}
@keyframes sxMesh1{to{transform:translate(28%,18%) scale(1.15)}}
@keyframes sxMesh2{to{transform:translate(-45%,35%) scale(1.1)}}
/* Security grid with travelling light (dark sections) */
.e-con.sx-gridbg{position:relative;overflow:hidden;isolation:isolate;background-image:linear-gradient(rgba(213,181,134,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(213,181,134,.07) 1px,transparent 1px),radial-gradient(ellipse 80% 60% at 50% 0,#5A0909 0,#4A0606 70%)!important;background-size:48px 48px,48px 48px,100% 100%!important}
.e-con.sx-gridbg>*{position:relative;z-index:1}
.e-con.sx-gridbg::before{content:""!important;position:absolute!important;inset:0!important;z-index:0!important;opacity:1!important;pointer-events:none;background:linear-gradient(90deg,transparent 0,rgba(234,203,159,.0) 40%,rgba(234,203,159,.16) 50%,rgba(234,203,159,0) 60%,transparent 100%)!important;background-size:200% 100%!important;-webkit-mask:linear-gradient(#000 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,#000 1px,transparent 1px) 0 0/48px 48px;mask:linear-gradient(#000 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,#000 1px,transparent 1px) 0 0/48px 48px;animation:sxGrid 7s linear infinite}
@keyframes sxGrid{from{background-position:120% 0}to{background-position:-80% 0}}
/* Shrink-to-fit helper */
.e-con.sx-fit{width:auto!important;--width:auto;max-width:100%}
/* Data tile links */
.elementor-16 .sx-card-text a{color:#840E0E;text-decoration:underline}
@media (prefers-reduced-motion:reduce){.e-con.sx-mesh::before,.e-con.sx-mesh::after,.e-con.sx-gridbg::before{animation:none}}

.e-con.sx-row>.elementor-widget-heading{flex:1 1 0%!important;min-width:0;width:auto!important;max-width:none}

/* Past Performance · featured project (v1.2.1) */
.sx-pj-tabs .e-n-tabs-heading{gap:0!important;border-bottom:1px solid #EDE4D6;counter-reset:pjt}
.sx-pj-tabs .e-n-tab-title{background:none!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;margin-bottom:-1px;padding:10px 14px 12px!important;counter-increment:pjt;flex:0 0 auto!important;width:auto!important}
.sx-pj-tabs .e-n-tab-title-text::before{content:"0" counter(pjt);font:600 11px Inter,sans-serif;letter-spacing:1px;color:#B8A58A;margin-right:8px}
.sx-pj-tabs .e-n-tab-title[aria-selected="true"]{border-bottom-color:#840E0E!important}
.sx-pj-tabs .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text::before{color:#840E0E}
.sx-pj-tabs .e-n-tab-title:focus-visible{outline:2px solid #840E0E;outline-offset:2px}
.sx-pj-tabs .e-n-tabs-content>.e-con{padding:18px 0 0!important;border:0!important;background:none!important}
.sx-pj-tabs .e-n-tabs-content>.e-con[aria-hidden="false"]{animation:sxpjIn .35s ease-out}
@keyframes sxpjIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.sx-pj-tabs .elementor-widget-text-editor p{margin:0 0 14px}
.sx-pj-tabs .elementor-widget-text-editor p:last-child{margin-bottom:0}
.e-con.sx-pj-facts>.e-con+.e-con{border-left:1px solid #EDE4D6;padding-left:20px}
@media(max-width:767px){
 .sx-pj-tabs .e-n-tabs-heading{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none}
 .sx-pj-tabs .e-n-tab-title{padding:10px 10px 12px!important;white-space:nowrap}
 .e-con.sx-pj-facts>.e-con+.e-con{border-left:0;padding-left:0;border-top:1px solid #EDE4D6;padding-top:12px}
}
@media(prefers-reduced-motion:reduce){.sx-pj-tabs .e-n-tabs-content>.e-con{animation:none!important}}
@media(max-width:400px){.sx-pj-tabs .e-n-tab-title-text::before{display:none}.sx-pj-tabs .e-n-tab-title{padding:10px 9px 12px!important}}

/* Past Performance · joint venture stack (v1.1.11) */
.e-con.sx-jv-sec{position:relative;overflow:hidden}
.e-con.sx-jv-sec::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(213,181,134,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(213,181,134,.06) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at 80% 50%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse at 80% 50%,#000 10%,transparent 70%)}
.e-con.sx-jv-sec>.e-con-inner,.e-con.sx-jv-sec>.e-con{position:relative;z-index:1}
.sx-jv-copy p{margin:0 0 16px}.sx-jv-copy p:last-child{margin-bottom:0}
.sx-jv-copy strong{color:#fff;font-weight:600}
.e-con.sx-pc{transition:transform .25s ease}
.e-con.sx-pc:hover{transform:translateY(-3px)}
.e-con.sx-pc-logo{border-right:1px solid #EDE4D6}
.sx-pc-logo img{max-height:78px!important;width:auto!important;max-width:100%!important;height:auto}
.sx-pc-yrs span{font:500 14px Inter,Arial,sans-serif;color:#3E3E44;margin-left:4px}
.sx-cn{height:44px;position:relative;display:flex!important;justify-content:center;align-items:center;margin:0!important}
.sx-cn::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:repeating-linear-gradient(#D5B586 0 6px,transparent 6px 12px);background-size:2px 12px;animation:sxCnFlow 1.2s linear infinite}
@keyframes sxCnFlow{to{background-position:0 12px}}
.sx-cn .elementor-heading-title{position:relative;display:block;width:26px;height:26px;border-radius:50%;background:#4A0606;border:2px solid #D5B586;color:#D5B586;font:700 16px/22px Inter,Arial,sans-serif;text-align:center}
.sx-jvc-logo img{height:auto}
@media(max-width:1024px){.e-con.sx-jv-stack{margin:0 auto;max-width:100%}}
@media(max-width:767px){.e-con.sx-pc-logo{border-right:0;border-bottom:1px solid #EDE4D6}.sx-pc-logo img{max-height:62px!important}.sx-cn{height:36px}}
@media(prefers-reduced-motion:reduce){.sx-cn::before{animation:none}.e-con.sx-pc{transition:none}}

/* Robotics · mission card images (v1.1.12) */
.e-con.sx-mission{overflow:hidden}
.sx-mission-img{margin:-24px -24px 10px!important;width:calc(100% + 48px)!important;max-width:none!important}
.sx-mission-img img{display:block;width:100%!important;aspect-ratio:16/10;object-fit:cover;transition:transform .5s ease}
.e-con.sx-mission:hover .sx-mission-img img{transform:scale(1.04)}
@media(max-width:767px){.sx-mission-img{margin:-24px -22px 10px!important;width:calc(100% + 44px)!important}}
@media(prefers-reduced-motion:reduce){.sx-mission-img img{transition:none}}

/* legal page links (v1.1.13) */
.sx-legal-p a{color:#840E0E;text-decoration:underline;text-underline-offset:2px}
.sx-legal-p a:hover{color:#4A0606}
