:root{--ds-navy:#071b36;--ds-red:#ed1b2f;--ds-light:#f5f8fc;--ds-text:#10213f;--ds-muted:#63718a;--ds-border:#dfe6ef;--ds-shadow:0 14px 40px rgba(7,27,54,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ds-text);background:#fff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}img{max-width:100%;height:auto}a{color:inherit}.ds-container{width:min(1180px,calc(100% - 36px));margin-inline:auto}.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link:focus{position:fixed!important;z-index:100000;top:10px;left:10px;width:auto!important;height:auto!important;padding:10px 14px!important;background:#fff;color:#000;clip:auto!important;border-radius:6px}.utility-bar{background:#fff;border-top:2px solid var(--ds-red);border-bottom:1px solid var(--ds-border)}.utility-inner{min-height:76px;display:grid;grid-template-columns:1.2fr 1.6fr 1.25fr 1.25fr auto;align-items:center}.utility-item{display:flex;gap:12px;align-items:center;min-height:48px;padding:8px 18px;border-right:1px solid var(--ds-border)}.u-icon{width:34px;height:34px;border:2px solid var(--ds-red);color:var(--ds-red);border-radius:50%;display:grid;place-items:center;font-weight:800;flex:none}.u-svg{width:17px;height:17px}.search-svg{width:21px;height:21px;display:block}.social-links{align-items:center}.social-links a,.social-links .social-link-disabled{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--ds-red);color:#fff;text-decoration:none}.social-links .social-link-disabled{opacity:.9}.social-svg{width:17px;height:17px;display:block}.social-links a:hover{background:#c91528;transform:translateY(-1px)}.utility-item strong,.utility-item small{display:block}.utility-item strong{font-size:14px;line-height:1.2}.utility-item small{font-size:11px;color:var(--ds-muted)}.social-links{display:flex;gap:8px;padding-left:18px}.social-links a{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--ds-red);color:#fff;text-decoration:none;font-size:10px;font-weight:800}.site-header{position:relative;z-index:1000;background:var(--ds-navy);border-bottom:4px solid var(--ds-red);box-shadow:0 10px 25px rgba(7,27,54,.12)}.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand-wrap{display:flex;align-items:center;gap:22px}.site-brand{text-decoration:none;display:flex;flex-direction:column;line-height:.9}.brand-main{font-size:29px;font-weight:900;letter-spacing:-1px;color:#fff}.brand-main span{color:var(--ds-red)}.brand-sub{color:#fff;font-size:10px;letter-spacing:5px;margin-top:7px}.brand-tagline{font-size:10px;letter-spacing:2px;color:#b9c6d8;border-left:1px solid rgba(255,255,255,.25);padding-left:20px}.site-brand img{max-height:58px;width:auto}.primary-nav{display:flex;align-items:center;gap:20px}.menu{display:flex;align-items:center;gap:2px;margin:0;padding:0;list-style:none}.menu li{position:relative}.menu a{display:block;padding:14px 15px;color:#fff;text-decoration:none;font-size:14px;font-weight:700}.menu a:hover,.menu .current-menu-item>a{color:var(--ds-red)}.menu .sub-menu{position:absolute;top:100%;left:0;min-width:220px;background:#fff;box-shadow:var(--ds-shadow);border-top:3px solid var(--ds-red);list-style:none;margin:0;padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}.menu .sub-menu a{color:var(--ds-text);padding:10px 12px}.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:800;border-radius:999px;padding:13px 20px;border:1px solid transparent}.header-cta,.btn-red{background:var(--ds-red);color:#fff}.header-cta{white-space:nowrap;font-size:13px}.search-toggle{border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer;padding:7px}.menu-toggle{display:none;background:transparent;border:0;color:#fff}.search-overlay{position:fixed;inset:0;background:rgba(3,12,25,.96);z-index:3000;padding-top:120px}.search-overlay[hidden]{display:none}.search-inner{position:relative}.search-close{position:absolute;right:0;top:-70px;border:0;background:var(--ds-red);color:#fff;width:44px;height:44px;border-radius:50%;font-size:28px;cursor:pointer}.search-form{display:flex;max-width:850px;margin:0 auto}.search-form label{flex:1}.search-form input{width:100%;height:64px;border:0;padding:0 20px;font-size:20px}.search-form button{height:64px;border:0;background:var(--ds-red);color:#fff;padding:0 28px;font-weight:800}.hero-slider{position:relative;background:#020b18;color:#fff;overflow:hidden}.hero-slides{position:relative;height:560px;min-height:560px}.hero-slide{height:560px;min-height:560px}.hero-slide{position:absolute;inset:0;display:flex;align-items:center;background-color:#020b18;background-size:cover;background-position:center;opacity:0;visibility:hidden;transition:opacity .55s ease}.hero-slide.is-active{opacity:1;visibility:visible;position:absolute;z-index:1}.hero-slide[aria-hidden="true"]{pointer-events:none}.hero-content{padding-block:110px}.hero-copy{max-width:650px}.eyebrow{display:inline-block;color:var(--ds-red);font-size:11px;font-weight:900;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}.hero-copy .eyebrow{color:#dce5f2}.hero-copy h1{font-size:clamp(42px,5.5vw,70px);line-height:1.02;letter-spacing:-2px;margin:0 0 22px;font-weight:900}.hero-copy h1 strong{display:block;color:var(--ds-red)}.hero-copy p{font-size:18px;color:#d8e0eb;max-width:650px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.btn{font-size:14px}.btn-outline{color:#fff;border-color:var(--ds-red);background:transparent}.btn-white{background:#fff;color:var(--ds-navy)}.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:48px;height:48px;border:0;border-radius:50%;background:var(--ds-red);color:#fff;font-size:35px;line-height:1;cursor:pointer}.slider-arrow.prev{left:20px}.slider-arrow.next{right:20px}.slider-dots{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:4}.slider-dots button{width:10px;height:10px;border:0;border-radius:50%;background:#cdd6e2;cursor:pointer}.slider-dots button.is-active{background:var(--ds-red)}.feature-strip{background:#fff;border-bottom:1px solid var(--ds-border)}.feature-grid{display:grid;grid-template-columns:repeat(6,1fr)}.feature-item{text-align:center;padding:28px 12px;border-right:1px solid var(--ds-border)}.feature-item:last-child{border-right:0}.feature-icon,.service-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#fff0f2;color:var(--ds-red);font-weight:900;margin:0 auto 10px}.ds-icon{width:22px;height:22px;display:block}.feature-item h3{font-size:13px;margin:0 0 4px}.feature-item p{font-size:11px;color:var(--ds-muted);margin:0}.section-space{padding:90px 0}.about-section{background:#fff}.about-grid{display:grid;grid-template-columns:1.1fr 1fr .6fr;gap:42px;align-items:center}.about-media{border-radius:16px;overflow:hidden;box-shadow:var(--ds-shadow);min-height:330px}.about-media img{width:100%;height:100%;object-fit:cover;display:block}.image-placeholder{height:100%;min-height:330px;display:grid;place-items:center;background:linear-gradient(135deg,#071b36,#163d69);color:#fff;font-size:36px;font-weight:900;text-align:center}.image-placeholder span{display:block;font-size:10px;letter-spacing:3px;color:#b8c7da;margin-top:8px}.about-copy h2,.section-heading h2{font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-1.5px;margin:0 0 16px}.about-copy p,.section-heading p{color:var(--ds-muted);font-size:15px}.about-copy .btn{margin-top:12px}.stats-list{display:grid;gap:18px}.stats-list div{padding-left:18px;border-left:3px solid var(--ds-red)}.stats-list strong,.stats-list span{display:block}.stats-list strong{font-size:28px;color:var(--ds-red)}.stats-list span{font-size:12px;color:var(--ds-muted)}.services-section{background:var(--ds-light)}.section-heading{text-align:center;max-width:800px;margin:0 auto 45px}.section-heading.centered .eyebrow{display:block}.section-heading.light{color:#fff}.section-heading.light p{color:#d3deec}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{background:#fff;border:1px solid var(--ds-border);border-radius:14px;padding:24px;box-shadow:0 8px 30px rgba(7,27,54,.04);transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);box-shadow:var(--ds-shadow)}.service-icon{margin:0 0 18px}.service-card h3{font-size:17px;margin:0 0 10px}.service-card p{font-size:12px;color:var(--ds-muted);min-height:58px}.service-card a,.text-link{color:var(--ds-red);font-size:12px;font-weight:900;text-decoration:none}.process-section{background:var(--ds-navy);color:#fff;position:relative;overflow:hidden}.process-section:after{content:"";position:absolute;inset:auto -10% -45% 45%;height:360px;background:radial-gradient(circle at center,rgba(237,27,47,.12),transparent 65%);pointer-events:none}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative;z-index:1}.process-card{padding:26px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.06);min-height:190px}.process-number{font-size:36px;font-weight:900;color:var(--ds-red)}.process-card h3{margin:8px 0}.process-card p{font-size:12px;color:#d4dfec}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.testimonial-card{border:1px solid var(--ds-border);border-radius:16px;padding:30px;background:#fff;box-shadow:0 8px 30px rgba(7,27,54,.04)}.testimonial-card.featured{background:var(--ds-red);color:#fff;border-color:var(--ds-red)}.quote-mark{font-size:48px;line-height:.6;color:var(--ds-red)}.featured .quote-mark{color:#fff}.testimonial-card blockquote{margin:20px 0 25px;font-size:14px;font-style:italic}.testimonial-card strong,.testimonial-card small{display:block}.testimonial-card small{font-size:11px;opacity:.75}.events-section{background:var(--ds-light)}.events-heading{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:30px;text-align:left}.events-heading h2{margin-bottom:10px}.events-heading p{max-width:760px}.btn-outline-red{color:var(--ds-red);border-color:var(--ds-red);background:#fff;white-space:nowrap}.btn-outline-red:hover{background:var(--ds-red);color:#fff}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.event-card{background:#fff;border:1px solid var(--ds-border);border-radius:14px;overflow:hidden}.event-media{height:210px;position:relative;background:#0d294b}.event-media img{width:100%;height:100%;object-fit:cover}.event-placeholder{height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#071b36,#164c82);color:#fff;font-size:30px;font-weight:900}.event-date{position:absolute;top:15px;left:15px;background:var(--ds-red);color:#fff;padding:9px 12px;border-radius:7px;font-size:12px;font-weight:900}.event-body{padding:22px}.event-label{font-size:10px;color:var(--ds-red);font-weight:900;letter-spacing:1px}.event-body h3{font-size:20px;line-height:1.2;margin:8px 0}.event-body p{font-size:13px;color:var(--ds-muted)}.cta-section{background:var(--ds-red);color:#fff;padding:58px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-inner h2{font-size:clamp(30px,4vw,48px);line-height:1.05;max-width:800px;margin:0}.cta-inner .eyebrow{color:#fff}.partners-section{background:#fff;padding:28px 0;border-bottom:1px solid var(--ds-border)}.centered-eyebrow{display:block;text-align:center}.partners-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;align-items:center;margin-top:15px}.partners-grid span{display:block;text-align:center;color:#6f7887;font-weight:800;font-size:16px}.partner-item{display:flex;align-items:center;justify-content:center;min-height:46px}.partner-item img{max-width:145px;max-height:38px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.78}.partner-item img:hover{filter:none;opacity:1}.site-footer{background:#071022;color:#dce5f2}.footer-main{padding:55px 0 35px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}.footer-brand-badge{display:inline-grid;place-items:center;width:44px;height:44px;background:var(--ds-red);border-radius:10px;color:#fff;font-weight:900;margin-bottom:12px}.footer-title{font-size:14px;color:#fff;margin:0 0 15px}.footer-col p,.footer-col li,.footer-col a{font-size:12px;color:#aebbd0}.footer-col ul,.footer-col .menu,.footer-col .footer-fallback{list-style:none;padding:0;margin:0}.footer-col .menu li,.footer-col .footer-fallback li{margin:7px 0}.footer-contact{display:flex;gap:9px;align-items:flex-start}.footer-contact>a{word-break:break-word}.footer-svg{width:16px;height:16px;display:block;color:var(--ds-red);flex:none;margin-top:2px}.footer-col .legal-fallback{display:flex;gap:16px;list-style:none;margin:0;padding:0}.footer-col .legal-fallback li{margin:0}.footer-col li{margin:7px 0}.footer-col a{text-decoration:none}.footer-col a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 0}.footer-bottom-inner{display:flex;justify-content:space-between;gap:20px;align-items:center}.footer-bottom small{color:#91a0b7}.breadcrumbs{width:min(1180px,calc(100% - 36px));margin:25px auto;font-size:13px;color:var(--ds-muted)}.breadcrumbs span{padding:0 8px}.content-wrap{padding:70px 0}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:45px}.post-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.post-card{border:1px solid var(--ds-border);border-radius:14px;overflow:hidden;background:#fff}.post-card-media{height:220px;position:relative;background:var(--ds-navy)}.post-card-media img{width:100%;height:100%;object-fit:cover}.post-placeholder{height:100%;display:grid;place-items:center;color:#fff;font-size:40px;font-weight:900}.post-card-media time{position:absolute;top:14px;left:14px;background:var(--ds-red);color:#fff;padding:8px 10px;border-radius:6px;font-size:11px;font-weight:800}.post-card-body{padding:22px}.post-tags{display:flex;gap:6px;flex-wrap:wrap}.post-tags span{background:#fff0f2;color:var(--ds-red);font-size:9px;font-weight:800;padding:4px 7px;border-radius:4px}.post-meta{font-size:11px;color:var(--ds-muted);margin-top:10px}.post-card h3{font-size:20px;line-height:1.25;margin:8px 0}.post-card h3 a{text-decoration:none}.post-card p{font-size:13px;color:var(--ds-muted)}.sidebar .widget{margin-bottom:30px}.widget-title{font-size:18px}.page-header{background:var(--ds-navy);color:#fff;padding:70px 0}.page-header h1{margin:0;font-size:48px}.entry-title{font-size:48px;line-height:1.08}.entry-content{font-size:16px}.entry-content a{color:var(--ds-red)}.pagination{margin-top:35px}.woocommerce .site-main{padding-bottom:70px}.woocommerce div.product .button,.woocommerce a.button,.woocommerce button.button{background:var(--ds-red);color:#fff}.woocommerce span.onsale{background:var(--ds-red)}
@media (max-width:1050px){.utility-inner{grid-template-columns:repeat(2,1fr);padding:10px 0}.utility-location{display:none}.social-links{justify-content:flex-end}.brand-tagline{display:none}.primary-nav{gap:8px}.menu a{padding-inline:10px}.service-grid{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:repeat(3,1fr)}.feature-item:nth-child(3n){border-right:0}.about-grid{grid-template-columns:1fr 1fr}.stats-list{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:780px){.ds-container{width:min(100% - 28px,680px)}.utility-inner{grid-template-columns:1fr 1fr}.utility-item{padding:6px 10px}.utility-item:nth-child(2),.utility-item:nth-child(3){display:none}.social-links{padding-left:0}.social-links-header{justify-content:flex-end}.header-inner{min-height:78px}.brand-main{font-size:24px}.menu-toggle{display:grid;gap:5px;width:42px;height:42px;place-content:center;cursor:pointer}.menu-toggle span:not(.screen-reader-text){display:block;width:25px;height:2px;background:#fff}.primary-nav{position:absolute;top:100%;left:0;right:0;background:var(--ds-navy);display:none;flex-direction:column;align-items:stretch;padding:12px 18px 20px;border-top:1px solid rgba(255,255,255,.12)}.primary-nav.is-open{display:flex}.menu{display:block}.menu a{padding:12px 8px}.menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;display:none;background:#0b2648;box-shadow:none;border:0;padding-left:12px}.menu li.menu-item-has-children:focus-within>.sub-menu,.menu li.menu-item-has-children:hover>.sub-menu{display:block}.header-cta{margin:8px 0}.search-toggle{align-self:flex-start}.hero-slides{height:620px;min-height:620px}.hero-slide{height:620px;min-height:620px}.hero-copy h1{font-size:42px}.hero-copy p{font-size:16px}.slider-arrow{width:40px;height:40px;font-size:28px}.feature-grid{grid-template-columns:repeat(2,1fr)}.feature-item:nth-child(3n){border-right:1px solid var(--ds-border)}.feature-item:nth-child(2n){border-right:0}.about-grid{grid-template-columns:1fr}.stats-list{grid-template-columns:repeat(2,1fr)}.section-space{padding:65px 0}.service-grid,.process-grid,.testimonial-grid,.event-grid,.post-card-grid{grid-template-columns:1fr}.partners-grid{grid-template-columns:repeat(3,1fr)}.events-heading{flex-direction:column;align-items:flex-start}.cta-inner{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom-inner{flex-direction:column;align-items:flex-start}.content-grid{grid-template-columns:1fr}.page-header h1,.entry-title{font-size:38px}}
@media (max-width:480px){.utility-inner{grid-template-columns:1fr auto}.social-links a{width:27px;height:27px}.utility-item{border:0}.social-links{gap:5px}.hero-slides{height:650px;min-height:650px}.hero-slide{height:650px;min-height:650px}.hero-content{padding:70px 0}.hero-slide{background-position:center}.hero-copy h1{font-size:35px;letter-spacing:-1px}.hero-actions .btn{width:100%}.feature-grid{grid-template-columns:1fr}.feature-item,.feature-item:nth-child(3n){border-right:0;border-bottom:1px solid var(--ds-border)}.feature-item:last-child{border-bottom:0}.stats-list{grid-template-columns:1fr 1fr}.partners-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.event-media{height:190px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

:focus-visible{outline:3px solid #ffbdc5;outline-offset:3px}.btn,.header-cta,.menu a,.social-links a,.search-toggle,.slider-arrow{transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease}.btn:hover,.header-cta:hover{transform:translateY(-1px)}

/* ============================================================
   DEEPSEC SECURE 4.1.2
   FINAL RESPONSIVE LAYOUT
   ============================================================ */

/* Core width safety */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.site-main,
.site-header,
.utility-bar,
.site-footer,
.hero-slider,
.feature-strip,
.about-section,
.services-section,
.process-section,
.testimonials-section,
.events-section,
.cta-section,
.partners-section {
  width: 100%;
  max-width: 100%;
}

.ds-container {
  width: min(1180px, calc(100% - 36px));
  max-width: 1180px;
  margin-inline: auto;
  box-sizing: border-box;
}

/* ------------------------------------------------------------
   HEADER: automatically adapts to menu count
   ------------------------------------------------------------ */

.site-header {
  position: relative;
  z-index: 1000;
}

.header-inner {
  position: relative;
  width: 100%;
  min-width: 0;
  min-height: 82px;
  display: flex;
  align-items: center;
  gap: 18px;
}

.brand-wrap {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 34%;
}

.site-brand {
  flex: 0 0 auto;
  min-width: 0;
}

.site-brand img {
  display: block;
  max-width: 210px;
  width: auto;
  height: auto;
  max-height: 58px;
  object-fit: contain;
}

.brand-main {
  white-space: nowrap;
}

.brand-tagline {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.primary-nav {
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.primary-nav > .menu {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0;
}

.primary-nav > .menu > li {
  flex: 0 1 auto;
  min-width: 0;
}

.primary-nav > .menu > li > a {
  padding: 12px 10px;
  white-space: nowrap;
  font-size: 14px;
}

.header-cta {
  flex: 0 0 auto;
  white-space: nowrap;
  padding-inline: 18px;
}

.search-toggle {
  flex: 0 0 40px;
}

/* Dropdowns stay attached to their menu item */
.primary-nav .menu > li {
  position: relative;
}

.primary-nav .menu .sub-menu {
  z-index: 1100;
}

/* ------------------------------------------------------------
   CONTENT VISIBILITY
   ------------------------------------------------------------ */

.feature-item h3,
.feature-item p,
.service-card h3,
.service-card p,
.process-card h3,
.process-card p,
.footer-services li a {
  visibility: visible;
  opacity: 1;
}

/* ------------------------------------------------------------
   FEATURE STRIP
   ------------------------------------------------------------ */

.feature-grid {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.feature-item {
  min-width: 0;
  overflow-wrap: anywhere;
}

.feature-item h3 {
  color: var(--ds-text);
}

.feature-item p {
  color: var(--ds-muted);
}

/* ------------------------------------------------------------
   SERVICES
   ------------------------------------------------------------ */

.services-section .ds-container {
  min-width: 0;
}

.service-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.service-card {
  min-width: 0;
  min-height: 215px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.service-card h3 {
  display: block;
  color: var(--ds-text);
  font-size: 17px;
  line-height: 1.3;
  margin: 0 0 10px;
}

.service-card p {
  display: block;
  color: var(--ds-muted);
  font-size: 12px;
  line-height: 1.6;
  margin: 0 0 18px;
  min-height: 58px;
}

.service-card > a {
  display: inline-block;
  margin-top: auto;
  color: var(--ds-red);
}

/* ------------------------------------------------------------
   PROCESS
   ------------------------------------------------------------ */

.process-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.process-card {
  min-width: 0;
  min-height: 190px;
  overflow: hidden;
}

.process-card h3 {
  display: block;
  color: #fff;
  font-size: 17px;
  line-height: 1.3;
  margin: 8px 0 10px;
}

.process-card p {
  display: block;
  color: #d4dfec;
  font-size: 12px;
  line-height: 1.6;
  margin: 0;
}

/* ------------------------------------------------------------
   PARTNERS
   ------------------------------------------------------------ */

.partners-section {
  min-height: 0;
  padding: 28px 0;
}

.partners-grid {
  width: 100%;
  min-width: 0;
}

.partner-item {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* ------------------------------------------------------------
   FOOTER
   ------------------------------------------------------------ */

.footer-grid {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns:
    minmax(220px, 1.35fr)
    minmax(140px, .85fr)
    minmax(180px, 1fr)
    minmax(240px, 1.25fr);
  gap: 40px;
}

.footer-col {
  min-width: 0;
}

.footer-col p,
.footer-col li,
.footer-col a {
  overflow-wrap: anywhere;
}

.footer-col .menu,
.footer-col .footer-fallback {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-col .menu li,
.footer-col .footer-fallback li {
  display: block;
  margin: 7px 0;
  padding: 0;
}

.footer-col .menu a,
.footer-col .footer-fallback a {
  display: inline-block;
  padding: 0;
  line-height: 1.55;
}

.footer-contact {
  min-width: 0;
}

.footer-contact > span:last-child,
.footer-contact > a {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.footer-bottom-inner {
  min-width: 0;
}

.footer-legal {
  min-width: 0;
}

.footer-legal .menu,
.footer-legal .legal-fallback {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-legal li {
  margin: 0;
  padding: 0;
}

.footer-legal a {
  padding: 0;
  white-space: nowrap;
}

/* ------------------------------------------------------------
   TABLET
   ------------------------------------------------------------ */

@media (max-width: 1199px) {
  .ds-container {
    width: min(1120px, calc(100% - 40px));
  }

  .header-inner {
    gap: 10px;
  }

  .brand-wrap {
    max-width: 30%;
  }

  .brand-tagline {
    display: none;
  }

  .primary-nav {
    gap: 4px;
  }

  .primary-nav > .menu > li > a {
    padding-inline: 7px;
    font-size: 13px;
  }

  .header-cta {
    padding-inline: 14px;
    font-size: 12px;
  }

  .service-grid,
  .process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .feature-item:nth-child(3n) {
    border-right: 0;
  }

  .footer-grid {
    grid-template-columns:
      minmax(200px, 1.2fr)
      minmax(140px, .9fr)
      minmax(160px, 1fr)
      minmax(210px, 1.2fr);
    gap: 28px;
  }
}

/* ------------------------------------------------------------
   MOBILE NAVIGATION
   ------------------------------------------------------------ */

@media (max-width: 900px) {
  .ds-container {
    width: min(100% - 28px, 680px);
  }

  .utility-inner {
    grid-template-columns: 1fr auto;
  }

  .utility-item:nth-child(2),
  .utility-item:nth-child(3),
  .utility-item.utility-location {
    display: none;
  }

  .social-links-header {
    justify-content: flex-end;
  }

  .header-inner {
    min-height: 76px;
    gap: 8px;
  }

  .brand-wrap {
    flex: 1 1 auto;
    max-width: none;
    min-width: 0;
  }

  .site-brand img {
    max-width: 175px;
    max-height: 52px;
  }

  .brand-main {
    font-size: 25px;
  }

  .menu-toggle {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    padding: 0;
    gap: 5px;
    place-content: center;
    background: transparent;
    border: 0;
    cursor: pointer;
    z-index: 1201;
  }

  .menu-toggle span:not(.screen-reader-text) {
    display: block;
    width: 25px;
    height: 2px;
    background: #fff;
    border-radius: 2px;
  }

  .primary-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    max-width: none;
    padding: 12px 18px 20px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 8px;
    background: var(--ds-navy);
    border-top: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 18px 30px rgba(0,0,0,.18);
    z-index: 1200;
  }

  .primary-nav.is-open {
    display: flex;
  }

  .primary-nav > .menu {
    display: block;
    width: 100%;
  }

  .primary-nav > .menu > li,
  .primary-nav > .menu > li > a {
    width: 100%;
  }

  .primary-nav > .menu > li > a {
    padding: 12px 8px;
    font-size: 15px;
  }

  .primary-nav .menu .sub-menu {
    position: static;
    display: none;
    width: 100%;
    min-width: 0;
    opacity: 1;
    visibility: visible;
    transform: none;
    background: #0b2648;
    box-shadow: none;
    border: 0;
    padding: 5px 10px 5px 18px;
  }

  .primary-nav .menu li.menu-item-has-children:hover > .sub-menu,
  .primary-nav .menu li.menu-item-has-children:focus-within > .sub-menu {
    display: block;
  }

  .header-cta {
    width: 100%;
    margin: 4px 0;
  }

  .search-toggle {
    align-self: flex-start;
  }

  .feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .feature-item:nth-child(3n) {
    border-right: 1px solid var(--ds-border);
  }

  .feature-item:nth-child(2n) {
    border-right: 0;
  }

  .service-grid,
  .process-grid,
  .testimonial-grid,
  .event-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-bottom-inner {
    align-items: flex-start;
  }
}

/* ------------------------------------------------------------
   SMALL MOBILE
   ------------------------------------------------------------ */

@media (max-width: 600px) {
  .ds-container {
    width: calc(100% - 28px);
  }

  .utility-inner {
    min-height: 58px;
  }

  .header-inner {
    min-height: 70px;
  }

  .site-brand img {
    max-width: 155px;
    max-height: 48px;
  }

  .brand-main {
    font-size: 23px;
  }

  .service-grid,
  .process-grid,
  .testimonial-grid,
  .event-grid,
  .about-grid {
    grid-template-columns: 1fr;
  }

  .feature-grid {
    grid-template-columns: 1fr;
  }

  .feature-item,
  .feature-item:nth-child(2n),
  .feature-item:nth-child(3n) {
    border-right: 0;
    border-bottom: 1px solid var(--ds-border);
  }

  .feature-item:last-child {
    border-bottom: 0;
  }

  .service-card {
    min-height: 0;
  }

  .process-card {
    min-height: 0;
  }

  .section-space {
    padding: 65px 0;
  }

  .partners-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .footer-main {
    padding: 45px 0 30px;
  }

  .footer-bottom-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .footer-legal .menu,
  .footer-legal .legal-fallback {
    justify-content: flex-start;
  }

  .hero-content {
    padding-inline: 46px;
  }

  .hero-copy h1 {
    font-size: clamp(32px, 8.5vw, 44px);
    line-height: 1.04;
    letter-spacing: -1px;
  }

  .hero-copy p {
    font-size: 15px;
  }

  .hero-actions {
    flex-direction: column;
    align-items: center;
  }

  .hero-actions .btn {
    width: min(280px, 100%);
  }
}

@media (max-width: 390px) {
  .ds-container {
    width: calc(100% - 20px);
  }

  .site-brand img {
    max-width: 140px;
  }

  .hero-content {
    padding-inline: 42px;
  }

  .hero-copy h1 {
    font-size: 31px;
  }

  .hero-copy p {
    font-size: 14px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

/* ============================================================
   DeepSec Secure 4.1.5 - Blog-only, isolated layout corrections
   ============================================================ */
body .deepsec-blog-index { display:block !important; clear:both !important; width:100% !important; float:none !important; overflow:visible !important; }
body .deepsec-blog-index > .deepsec-blog-container {
  display:block !important; width:calc(100% - 48px) !important;
  max-width:1320px !important; margin:0 auto !important;
  padding:0 !important; float:none !important; clear:both !important;
  position:relative !important; transform:none !important;
  grid-template-columns:none !important; column-count:auto !important;
}
body .deepsec-blog-index .deepsec-blog-heading {
  display:block !important; width:100% !important; margin:0 0 30px !important;
  padding:30px 32px !important; border-radius:12px !important;
  background:#071b36 !important; color:#fff !important;
}
body .deepsec-blog-index .deepsec-blog-heading h1 {margin:0 !important; font-size:clamp(28px,3vw,42px) !important; color:#fff !important;}
body .deepsec-blog-index .deepsec-three-column-grid {
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:26px !important; width:100% !important; max-width:none !important;
  align-items:stretch !important; grid-auto-flow:row !important;
  grid-auto-rows:auto !important; column-count:auto !important;
  margin:0 !important; padding:0 !important; float:none !important;
  clear:both !important; position:static !important; transform:none !important;
}
body .deepsec-blog-index .deepsec-three-column-grid > .post-card {
  display:flex !important; flex-direction:column !important; align-self:stretch !important;
  width:100% !important; min-width:0 !important; max-width:none !important;
  height:auto !important; min-height:0 !important; margin:0 !important;
  float:none !important; position:relative !important; transform:none !important;
  break-inside:avoid !important; overflow:hidden !important;
  border:1px solid #e0e7f0 !important; border-radius:14px !important;
  background:#fff !important;
}
body .deepsec-blog-index .post-card-media.deepsec-card-image-link {
  display:block !important; width:100% !important; height:auto !important;
  aspect-ratio:16/10 !important; position:relative !important;
  flex:0 0 auto !important; overflow:hidden !important; background:#071b36 !important;
  padding:0 !important; margin:0 !important; line-height:0 !important;
}
body .deepsec-blog-index .post-card-media img,
body .deepsec-blog-index .post-card-media .deepsec-blog-cover {
  display:block !important; width:100% !important; height:100% !important;
  position:absolute !important; inset:0 !important; object-fit:cover !important;
  object-position:center top !important; max-height:none !important;
  margin:0 !important; padding:0 !important;
}
body .deepsec-blog-index .post-card-media .post-placeholder {display:grid !important; height:100% !important; line-height:1 !important;}
body .deepsec-blog-index .post-card-body {
  display:flex !important; flex-direction:column !important; flex:1 1 auto !important;
  min-width:0 !important; padding:22px !important; margin:0 !important;
}
body .deepsec-blog-index .post-tags {display:flex !important; flex-wrap:wrap !important; gap:7px !important; margin:0 0 13px !important;}
body .deepsec-blog-index .post-tags .deepsec-category-tag {
  display:inline-flex !important; align-items:center !important;
  background:#fff0f2 !important; color:#d70c2a !important;
  border:1px solid #ffd4db !important; border-radius:999px !important;
  padding:6px 12px !important; font-size:11px !important; line-height:1.2 !important;
  font-weight:800 !important; letter-spacing:.1px !important;
}
body .deepsec-blog-index .post-card-body h3 {
  font-size:20px !important; line-height:1.3 !important;
  margin:0 0 12px !important; overflow-wrap:anywhere !important;
}
body .deepsec-blog-index .post-card-body p {
  color:#66758a !important; font-size:13px !important;
  font-weight:400 !important; line-height:1.65 !important;
  margin:0 0 18px !important;
}
body .deepsec-blog-index .post-card-body .text-link {
  display:inline-flex !important; align-self:flex-start !important;
  margin-top:auto !important; padding:0 0 15px !important;
  font-size:13px !important; font-weight:800 !important;
}
body .deepsec-blog-index .deepsec-card-footer {
  display:flex !important; justify-content:flex-end !important;
  margin-top:0 !important; padding-top:13px !important;
  border-top:1px solid #e9edf4 !important;
}
body .deepsec-blog-index .deepsec-card-date {
  display:inline-block !important; position:static !important;
  background:#f01836 !important; color:#fff !important;
  border-radius:6px !important; padding:8px 11px !important;
  font-size:11px !important; line-height:1.2 !important; font-weight:800 !important;
}
body .deepsec-blog-index .deepsec-blog-pagination {
  display:block !important; clear:both !important; width:100% !important;
  margin:36px 0 0 !important; position:relative !important;
}
@media (max-width:1020px) {
 body .deepsec-blog-index .deepsec-three-column-grid {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:640px) {
 body .deepsec-blog-index > .deepsec-blog-container {width:calc(100% - 28px) !important;}
 body .deepsec-blog-index .deepsec-three-column-grid {grid-template-columns:minmax(0,1fr) !important;gap:20px !important;}
 body .deepsec-blog-index .deepsec-blog-heading {padding:22px !important;}
}

/* DeepSec Secure 4.1.6 focused enhancements */
.site-footer .deepsec-footer-logo{display:block;width:auto;max-width:190px;max-height:85px;object-fit:contain;margin:0 0 14px}
.partners-grid .partner-item{min-height:82px;padding:8px}
.partners-grid .partner-item img{width:160px;height:64px;max-width:100%;max-height:none;object-fit:contain;filter:none;opacity:1;transition:filter .2s,opacity .2s}
.partners-grid .partner-item:hover img{filter:grayscale(1);opacity:.75}
.events-section .event-card{display:flex;flex-direction:column;overflow:hidden;border-radius:16px;transition:box-shadow .2s,transform .2s}
.events-section .event-card:hover{transform:translateY(-4px);box-shadow:0 15px 32px rgba(7,27,54,.12)}
.events-section .event-media{overflow:hidden;position:relative}
.events-section .event-media img{width:100%;height:100%;object-fit:cover}
.events-section .event-placeholder{height:100%;min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:30px;text-align:center;background:linear-gradient(135deg,#071b36,#174a7d);color:#fff}
.events-section .event-placeholder>span:last-child{font-size:clamp(20px,2vw,29px);font-weight:800;line-height:1.2}
.events-section .event-placeholder-kicker{font-size:11px;font-weight:800;letter-spacing:2px;color:#ff6476}
.events-section .event-body{display:flex;flex-direction:column;flex:1;padding:25px}
.events-section .event-body .text-link{margin-top:auto}
.deepsec-enquiry-wrap{max-width:760px;margin:26px 0;padding:30px;border:1px solid #e0e7f0;border-radius:14px;background:#fff}
.deepsec-enquiry-wrap h2{margin:0 0 8px;color:#071b36}
.deepsec-enquiry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}
.deepsec-enquiry-fields label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;color:#071b36}
.deepsec-enquiry-fields label span{color:#ed1b2f}
.deepsec-enquiry-fields input,.deepsec-enquiry-fields select,.deepsec-enquiry-fields textarea{width:100%;padding:12px 14px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#071b36;font:inherit}
.deepsec-enquiry-message{grid-column:1/-1}
.deepsec-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.deepsec-form-success{color:#146c43;font-weight:700}.deepsec-form-error{color:#b42318;font-weight:700}
@media(max-width:640px){.deepsec-enquiry-fields{grid-template-columns:1fr}.deepsec-enquiry-wrap{padding:18px}}
