/* ==========================================================
   Shared styles for service parent pages + about
   Used by: cybersecurity, custom-development, tribal-services, public-safety, about
   ========================================================== */

/* ---- Service hero ---- */
.svc-hero{
  position:relative; overflow:hidden;
  padding:120px 0 100px;
  background:
    linear-gradient(180deg, rgba(0,26,40,.55) 0%, rgba(0,42,64,.78) 100%),
    url("../public/DBWebBackgrounds/bg-dark.png") center center / cover no-repeat,
    linear-gradient(180deg, #001a28 0%, #002a40 100%);
  color:#fff;
}
.svc-hero::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(72% 110% at 50% 0%, rgba(156,250,199,.05) 0%, transparent 60%),
    var(--hero-network-dark) center top / 720px 480px repeat;
  opacity:.36;
  mask-image: radial-gradient(ellipse at top right, #000, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse at top right, #000, transparent 70%);
}
.svc-hero .inner{ position:relative; display:grid; grid-template-columns: 1.3fr 1fr; gap:60px; align-items:center }
@media (max-width:1020px){ .svc-hero .inner{ grid-template-columns:1fr; gap:40px } }
.svc-hero .kicker{ color:#9cfac7 }
.svc-hero .kicker::before{ background:#9cfac7 }
.svc-hero h1{ color:#fff; max-width:16ch; margin:20px 0 20px }
.svc-hero .lede{ color:#AFCBDE; font-size:19px; max-width:56ch }
.svc-hero .ctas{ display:flex; gap:12px; margin-top:32px; flex-wrap:wrap }
.svc-hero .btn.primary{ background:#9cfac7; color:var(--darker-azure); box-shadow:0 14px 28px -12px rgba(156,250,199,.35) }
.svc-hero .btn.primary:hover{ background:#b6fdd5 }
.svc-hero .btn.ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.25) }
.svc-hero .btn.ghost:hover{ border-color:#fff }

/* Hero side card */
.svc-hero .side-card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  padding:28px;
  backdrop-filter:blur(12px);
}
.svc-hero .side-card h4{ color:#9cfac7; font-family:var(--mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:500; margin:0 0 14px }
.svc-hero .side-card ul{ list-style:none; padding:0; margin:0 }
.svc-hero .side-card li{
  display:flex; align-items:flex-start; gap:12px;
  color:#D5E5F1; font-size:14.5px; padding:10px 0;
  border-top:1px solid rgba(255,255,255,.06);
}
.svc-hero .side-card li:first-child{ border-top:0 }
.svc-hero .side-card li svg{ flex-shrink:0; margin-top:2px; color:#9cfac7 }

/* ---- Capability grid ---- */
.caps{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;
}
@media (max-width:900px){ .caps{ grid-template-columns:1fr 1fr } }
@media (max-width:560px){ .caps{ grid-template-columns:1fr } }
.cap{
  padding:28px 24px;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  background:#fff;
  transition:all .22s;
  position:relative;
  overflow:hidden;
}
.cap:hover{ transform:translateY(-3px); border-color:var(--vivid-azure); box-shadow:var(--shadow-md) }
.cap::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(180deg, var(--vivid-azure), var(--pastel-green));
  opacity:0; transition:opacity .22s;
}
.cap:hover::before{ opacity:1 }
.cap .ic{
  width:44px; height:44px; border-radius:12px;
  background:var(--highlight); color:var(--vivid-azure);
  display:inline-flex; align-items:center; justify-content:center;
  margin-bottom:18px;
}
.cap h3{ font-size:18px; margin-bottom:8px }
.cap p{ color:var(--body); font-size:14.5px; margin:0; line-height:1.6 }
.cap .more{
  margin-top:14px;
  display:inline-flex; align-items:center; gap:6px;
  color:var(--vivid-azure); font-weight:600; font-size:14px;
  text-decoration:none;
}

/* ---- Approach / numbered steps ---- */
.approach{
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:24px;
  padding:48px;
  display:grid; grid-template-columns:repeat(4, 1fr); gap:28px;
  counter-reset: ap;
}
@media (max-width:900px){ .approach{ grid-template-columns:repeat(2,1fr); padding:32px } }
@media (max-width:520px){ .approach{ grid-template-columns:1fr; padding:24px } }
.ap{
  counter-increment: ap;
  position:relative;
}
.ap::before{
  content: counter(ap, decimal-leading-zero);
  font-family:var(--mono); font-size:12px; letter-spacing:.1em;
  color:var(--vivid-azure);
  display:block; margin-bottom:10px;
}
.ap h4{ font-size:17px; color:var(--darker-azure); margin:0 0 6px }
.ap p{ color:var(--body); font-size:14px; margin:0; line-height:1.6 }

/* ---- FAQ-style accordion ---- */
.faq{ max-width:800px; margin:0 auto }
.faq details{
  border-bottom:1px solid var(--line);
  padding:20px 0;
}
.faq summary{
  cursor:pointer; list-style:none;
  display:flex; justify-content:space-between; align-items:center;
  font-family:var(--display); font-weight:600; font-size:18px; color:var(--darker-azure);
  gap:20px;
}
.faq summary::-webkit-details-marker{ display:none }
.faq summary::after{
  content:"+"; color:var(--vivid-azure); font-size:24px; font-weight:400;
  transition: transform .2s;
}
.faq details[open] summary::after{ content:"–" }
.faq p{ color:var(--body); margin:14px 0 0; line-height:1.65; max-width:65ch }

/* ---- Stat strip ---- */
.stat-strip{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:0;
  border:1px solid var(--line); border-radius:var(--r-lg);
  background:#fff; overflow:hidden;
}
@media (max-width:720px){ .stat-strip{ grid-template-columns:1fr 1fr } }
.stat-strip .s{
  padding:28px 24px;
  border-right:1px solid var(--line);
}
.stat-strip .s:last-child{ border-right:0 }
@media (max-width:720px){ .stat-strip .s{ border-right:0; border-bottom:1px solid var(--line) } .stat-strip .s:nth-child(odd){ border-right:1px solid var(--line) } }
.stat-strip .num{
  font-family:var(--display); font-weight:700; font-size:36px;
  color:var(--darker-azure); letter-spacing:-0.02em;
}
.stat-strip .lbl{
  font-family:var(--mono); font-size:11px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted); margin-top:4px;
}

/* ---- Deliverables list (two-column) ---- */
.delivery-split{
  display:grid; grid-template-columns: 1fr 1fr; gap:48px; align-items:start;
}
@media (max-width:860px){ .delivery-split{ grid-template-columns:1fr; gap:32px } }
.delivery-split ul{ list-style:none; padding:0; margin:20px 0 0 }
.delivery-split ul li{
  padding:14px 0;
  border-top:1px solid var(--line);
  display:flex; align-items:flex-start; gap:12px;
  color:var(--body); font-size:15px;
}
.delivery-split ul li:first-child{ border-top:0 }
.delivery-split ul li svg{ flex-shrink:0; margin-top:4px; color:var(--vivid-azure) }
.delivery-split .note{
  background:linear-gradient(135deg, #f0f9ff 0%, #e6f9f0 100%);
  border:1px solid #c8e4f4;
  border-radius:18px;
  padding:28px;
  font-size:15px; color:var(--darker-azure); line-height:1.65;
}
.delivery-split .note strong{ color:var(--darker-azure) }

/* ---- Page CTA (reusable) ---- */
.page-cta{
  background:
    linear-gradient(100deg, rgba(0,42,64,.88) 0%, rgba(0,79,122,.78) 60%, rgba(0,138,252,.7) 100%),
    url("../public/DBWebBackgrounds/bg-dark.png") center center / cover no-repeat,
    linear-gradient(100deg, #002a40 0%, #004f7a 60%, #008afc 100%);
  color:#fff;
  padding:60px 0;
  position:relative; overflow:hidden;
  margin-top:80px;
}
.page-cta::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(115deg, transparent 40%, rgba(255,255,255,.08) 50%, transparent 60%);
  pointer-events:none;
}
.page-cta .inner{
  position:relative;
  display:flex; align-items:center; justify-content:space-between; gap:32px;
}
.page-cta h2{ color:#fff; max-width:26ch }
.page-cta .btn.primary{ background:#fff; color:var(--darker-azure) }
.page-cta .btn.primary:hover{ background:#E6F3FE }
@media (max-width:760px){ .page-cta .inner{ flex-direction:column; align-items:flex-start } }

/* ---- Service parent page body — dark bg full page ---- */
body.svc-page{
  background:
    linear-gradient(180deg, rgba(0,26,40,.85) 0%, rgba(0,42,64,.92) 100%),
    url("../public/DBWebBackgrounds/bg-dark.png") center top / cover no-repeat fixed,
    #001a28;
  color:#E6F3FE;
}

body.svc-page .svc-hero{
  background:transparent;
  padding:80px 0 80px;
}
body.svc-page .svc-hero::before{ display:block }

body.svc-page h2,
body.svc-page h3,
body.svc-page h4{ color:#fff }
body.svc-page .lede{ color:#AFCBDE }

body.svc-page .cap{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.08);
  color:#D5E5F1;
}
body.svc-page .cap:hover{
  background:rgba(255,255,255,.07);
  border-color:rgba(156,250,199,.35);
}
body.svc-page .cap h3{ color:#fff }
body.svc-page .cap p{ color:#AFCBDE }
body.svc-page .cap .ic{
  background:rgba(0,138,252,.18);
  color:#9cfac7;
  border:1px solid rgba(156,250,199,.2);
}
body.svc-page .cap .more{ color:#9cfac7 }

body.svc-page .stat-strip{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.08);
}
body.svc-page .stat-strip .s{ border-right-color:rgba(255,255,255,.08) }
body.svc-page .stat-strip .num{ color:#fff }
body.svc-page .stat-strip .lbl{ color:#91B4C9 }

body.svc-page .approach{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.08);
}
body.svc-page .ap h4{ color:#fff }
body.svc-page .ap p{ color:#AFCBDE }
body.svc-page .ap::before{ color:#9cfac7 }

body.svc-page .faq details{ border-bottom-color:rgba(255,255,255,.08) }
body.svc-page .faq summary{ color:#fff }
body.svc-page .faq summary::after{ color:#9cfac7 }
body.svc-page .faq p{ color:#AFCBDE }

body.svc-page .certs{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.08);
}
body.svc-page .certs h3{ color:#fff }
body.svc-page .badge{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.08);
}
body.svc-page .badge:hover{ background:rgba(255,255,255,.07); border-color:#9cfac7 }
body.svc-page .badge .n{ color:#fff }
body.svc-page .badge .s{ color:#91B4C9 }

body.svc-page .tech{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.08);
  color:#E6F3FE;
}
body.svc-page .tech:hover{
  background:rgba(0,138,252,.18);
  border-color:#9cfac7;
}

body.svc-page .delivery-split ul li{
  border-top-color:rgba(255,255,255,.08);
  color:#AFCBDE;
}
body.svc-page .delivery-split ul li svg{ color:#9cfac7 }
body.svc-page .delivery-split .note{
  background:rgba(0,138,252,.1);
  border-color:rgba(156,250,199,.25);
  color:#D5E5F1;
}
body.svc-page .delivery-split .note strong{ color:#9cfac7 }

body.svc-page .value{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.08);
}
body.svc-page .value:hover{ background:rgba(255,255,255,.07); border-color:rgba(156,250,199,.35) }
body.svc-page .value h3{ color:#fff }
body.svc-page .value p{ color:#AFCBDE }
body.svc-page .value .num{ color:#9cfac7 }

body.svc-page .page-cta{
  background:rgba(0,0,0,.25);
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}

body.svc-page .kicker{ color:#9cfac7 }
body.svc-page .kicker::before{ background:#9cfac7 }

body.svc-page .crumbs{ color:rgba(255,255,255,.6) }
body.svc-page .crumbs a{ color:rgba(255,255,255,.85) }

body.svc-page .btn.ghost{
  background:transparent; color:#fff; border-color:rgba(255,255,255,.25);
}
body.svc-page .btn.ghost:hover{ border-color:#fff; background:rgba(255,255,255,.05) }
/* ---- Breadcrumbs ---- */
.crumbs{
  font-family:var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.6);
  margin-bottom:8px;
}
.crumbs a{ color:rgba(255,255,255,.85); text-decoration:none }
.crumbs a:hover{ color:#9cfac7 }
.crumbs span{ margin:0 8px; opacity:.5 }

/* ---- About-specific ---- */
.about-values{
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
}
@media (max-width:820px){ .about-values{ grid-template-columns:1fr } }
.value{
  padding:32px 28px;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  background:#fff;
  transition:all .22s;
}
.value:hover{ transform:translateY(-3px); border-color:var(--pastel-gray); box-shadow:var(--shadow-md) }
.value .num{
  font-family:var(--mono); font-size:12px; letter-spacing:.14em;
  color:var(--vivid-azure); text-transform:uppercase; margin-bottom:14px;
  display:block;
}
.value h3{ font-size:22px; margin-bottom:10px; color:var(--darker-azure) }
.value p{ color:var(--body); font-size:15px; margin:0; line-height:1.6 }

/* ==========================================================
   Parent page layout (concise hero + service grid)
   Used by: cybersecurity, custom-development, tribal-services, public-safety
   ========================================================== */

.parent-hero{
  position:relative; overflow:hidden;
  padding:96px 0 30px;
  background:
    linear-gradient(180deg, rgba(0,26,40,.55) 0%, rgba(0,42,64,.78) 100%),
    url("../public/DBWebBackgrounds/bg-dark.png") center center / cover no-repeat,
    linear-gradient(180deg, #001a28 0%, #002a40 100%);
  color:#fff;
}
.parent-hero::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(72% 110% at 50% 0%, rgba(156,250,199,.05) 0%, transparent 60%),
    var(--hero-network-dark) center top / 720px 480px repeat;
  opacity:.36;
  mask-image: radial-gradient(ellipse at top right, #000, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse at top right, #000, transparent 70%);
}
.parent-hero .container{ position:relative }
.parent-hero .crumbs{ margin-bottom:18px }
.parent-hero h1{
  color:#fff; max-width:16ch;
  font-size:clamp(40px, 5vw, 64px);
  line-height:1.05; letter-spacing:-0.02em;
  margin:0 0 20px;
}
.parent-hero .accent{ color:#9cfac7 }
.parent-hero p.lede{
  color:#D5E5F1; font-size:18px; line-height:1.6;
  max-width:62ch; margin:0 0 28px;
}
.parent-hero .accent-inline{ color:#9cfac7 }
.parent-hero .ctas{ display:flex; gap:12px; flex-wrap:wrap }
.parent-hero .btn.primary{
  background:linear-gradient(180deg,#004f7a,#002a40);
  color:#fff; border:1px solid rgba(255,255,255,.14);
  box-shadow:0 10px 24px -10px rgba(0,0,0,.55);
}
.parent-hero .btn.primary:hover{
  background:linear-gradient(180deg,#006aa5,#003d5f);
}
.parent-hero .btn.ghost{
  background:transparent; color:#fff;
  border-color:rgba(255,255,255,.25);
}
.parent-hero .btn.ghost:hover{ border-color:#9cfac7; color:#9cfac7 }

.parent-sub{
  max-width:900px; margin:36px 0 0;
  padding:28px 0 20px;
  border-top:1px solid rgba(255,255,255,.1);
  color:#AFCBDE; font-size:16px; line-height:1.7;
}

.parent-body{
  position:relative; overflow:hidden;
  background:
    linear-gradient(180deg, rgba(0,26,40,.78) 0%, rgba(0,26,40,.92) 100%),
    url("../public/DBWebBackgrounds/bg-dark.png") center center / cover no-repeat,
    linear-gradient(180deg, #001a28 0%, #00111c 100%);
  padding:20px 0 96px;
  color:#fff;
}

.srv-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:28px;
}
@media (max-width:820px){ .srv-grid{ grid-template-columns:1fr } }
.srv-card{
  position:relative; display:flex; flex-direction:column;
  background:linear-gradient(180deg, rgba(0,79,122,.42) 0%, rgba(0,42,64,.55) 100%);
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  padding:32px 32px 28px;
  text-decoration:none; color:inherit;
  box-shadow:0 18px 40px -18px rgba(0,0,0,.45);
  transition:transform .22s, border-color .22s, box-shadow .22s, background .22s;
  min-height:260px;
  overflow:hidden;
}
.srv-card:hover{
  transform:translateY(-4px);
  border-color:rgba(156,250,199,.5);
  background:linear-gradient(180deg, rgba(0,102,156,.55) 0%, rgba(0,50,76,.65) 100%);
  box-shadow:0 26px 50px -18px rgba(0,0,0,.55);
  text-decoration:none;
}
.srv-card .head{
  display:flex; align-items:center; gap:14px;
  margin-bottom:18px;
}
.srv-card .ic{
  width:44px; height:44px; border-radius:12px;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(156,250,199,.08);
  border:1px solid rgba(156,250,199,.18);
  color:#9cfac7;
  flex-shrink:0;
}
.srv-card h3{
  color:#fff; font-size:26px; margin:0;
  letter-spacing:-0.01em;
  font-family:var(--display); font-weight:700;
  line-height:1.15;
}
.srv-card p{
  color:#C6DCEA; font-size:15.5px; line-height:1.6;
  margin:0 0 28px;
  flex:1;
}

/* ============================================================
   Page-specific blocks migrated from site.css (Move 2.5)
   Honors DESIGN.md: site.css = brand tokens + shared shell,
   pages.css = transitional page-scoped rules.
   ============================================================ */

/* Contact page — sidebar + form. Scoped to .contact-section to avoid cross-page leakage. */
body.contact-page .contact-section .contact-grid{
  display:grid;
  grid-template-columns:minmax(280px, 380px) minmax(0, 1fr);
  gap:32px;
  align-items:start;
}
body.contact-page .contact-section .contact-aside{
  display:flex;
  flex-direction:column;
  gap:24px;
}
body.contact-page .contact-section .contact-card{
  position:relative;
  border-radius:24px;
  padding:28px 28px 30px;
  background:rgba(0,42,64,.58);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 24px 60px -32px rgba(0,42,64,.55);
  color:rgba(255,255,255,.86);
}
body.contact-page .contact-section .contact-card p{margin:0 0 14px;line-height:1.55;color:rgba(255,255,255,.78)}
body.contact-page .contact-section .contact-card a{color:#9cfac7}
body.contact-page .contact-section .contact-card-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:10px;
}
body.contact-page .contact-section .contact-card-head-spaced{margin-top:24px}
body.contact-page .contact-section .contact-card-head h3{
  margin:0;
  font-family:var(--display, "Schibsted Grotesk", sans-serif);
  font-size:20px;
  font-weight:800;
  color:#fff;
  letter-spacing:.2px;
}
body.contact-page :is(.contact-section, .contact-trust) .contact-icon{
  display:inline-grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:12px;
  background:rgba(156,250,199,.14);
  color:#9cfac7;
  flex:0 0 40px;
}
body.contact-page .contact-section .contact-icon svg{width:22px;height:22px}
body.contact-page .contact-section .contact-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 22px;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
  margin:6px 0 4px;
}
body.contact-page .contact-section .contact-or{
  text-align:center;
  margin:6px 0;
  opacity:.7;
  font-weight:600;
}

body.contact-page .contact-section .contact-form{
  position:relative;
  border-radius:24px;
  padding:28px;
  background:rgba(0,42,64,.58);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 24px 60px -32px rgba(0,42,64,.55);
  display:flex;
  flex-direction:column;
  gap:14px;
}
body.contact-page .contact-section .contact-field{position:relative}
body.contact-page .contact-section .contact-form input,
body.contact-page .contact-section .contact-form select,
body.contact-page .contact-section .contact-form textarea{
  width:100%;
  padding:14px 22px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(120,140,170,.22);
  color:#fff;
  font:inherit;
  font-size:15px;
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
body.contact-page .contact-section .contact-form textarea{
  border-radius:22px;
  resize:vertical;
  min-height:96px;
  padding:14px 20px;
}
body.contact-page .contact-section .contact-form input::placeholder,
body.contact-page .contact-section .contact-form textarea::placeholder{
  color:rgba(255,255,255,.78);
}
body.contact-page .contact-section .contact-form input:focus,
body.contact-page .contact-section .contact-form select:focus,
body.contact-page .contact-section .contact-form textarea:focus{
  border-color:rgba(156,250,199,.55);
  box-shadow:0 0 0 3px rgba(156,250,199,.18);
  background:rgba(120,140,170,.3);
}
body.contact-page .contact-section .contact-select{position:relative}
body.contact-page .contact-section .contact-select::after{
  content:"";
  position:absolute;
  right:22px;
  top:50%;
  width:10px;
  height:10px;
  border-right:2px solid rgba(255,255,255,.7);
  border-bottom:2px solid rgba(255,255,255,.7);
  transform:translateY(-70%) rotate(45deg);
  pointer-events:none;
}
body.contact-page .contact-section .contact-form select{
  appearance:none;
  -webkit-appearance:none;
  padding-right:48px;
  color:rgba(255,255,255,.78);
}
body.contact-page .contact-section .contact-form select:valid{color:#fff}
body.contact-page .contact-section .contact-form select option{color:#0b1220;background:#fff}
body.contact-page .contact-section .contact-actions{
  display:flex;
  justify-content:center;
  margin-top:6px;
}
body.contact-page .contact-section .contact-submit{
  min-width:180px;
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 32px;
  border-radius:999px;
  font-weight:700;
  border:1px solid rgba(156,250,199,.35);
}
body.contact-page .contact-section .contact-form-status{
  min-height:1.2em;
  font-size:14px;
  color:#9cfac7;
  text-align:center;
}
body.contact-page .contact-section .contact-privacy{
  margin-top:28px;
  text-align:center;
  color:rgba(255,255,255,.7);
  font-size:14px;
}
body.contact-page .contact-section .contact-privacy a{color:#9cfac7}

body.contact-page .contact-section .sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

@media (max-width: 880px){
  body.contact-page .contact-section .contact-grid{
    grid-template-columns:minmax(0, 1fr);
  }
}
@media (max-width: 560px){
  body.contact-page .contact-section .contact-grid{ gap:22px; }
  body.contact-page .contact-section .contact-card,
  body.contact-page .contact-section .contact-form{ padding:22px; }
}

/* About page redesign */
body.svc-parent-page.about-page{
  font-family:var(--body-font);
  background:
    radial-gradient(72% 46% at 78% 4%, rgba(0,138,252,.18), transparent 62%),
    radial-gradient(58% 42% at 6% 18%, rgba(156,250,199,.08), transparent 58%),
    #00111c;
}
body.svc-parent-page.about-page :is(h1,h2,h3,h4,p,a,button,span,strong,small,div,li){
  font-family:var(--body-font);
}
body.svc-parent-page.about-page .page-bg{
  background:
    radial-gradient(70% 52% at 70% 0%, rgba(0,79,122,.32), transparent 62%),
    url("../public/DBWebBackgrounds/bg-dark.png") top center / cover no-repeat,
    #00111c;
}
body.svc-parent-page.about-page .section{
  padding:50px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
body.svc-parent-page.about-page .section .container,
body.svc-parent-page.about-page .svc-hero .container{
  max-width:1180px;
}
body.svc-parent-page.about-page .kicker,
body.svc-parent-page.about-page .home-kicker-accent{
  color:#9cfac7;
  font-size:11px;
  letter-spacing:.18em;
}
body.svc-parent-page.about-page .kicker::before,
body.svc-parent-page.about-page .home-kicker-accent::before{
  background:#9cfac7;
}
body.svc-parent-page.about-page .home-section-title{
  color:#fff;
  font-size:clamp(28px, 3.5vw, 42px);
  line-height:1.05;
  letter-spacing:0;
  margin-top:12px;
}
body.svc-parent-page.about-page .home-section-lede,
body.svc-parent-page.about-page .lede{
  color:#C6DCEA;
}
body.svc-parent-page.about-page .svc-hero.hero{
  padding:86px 0 44px;
  background:transparent;
}
body.svc-parent-page.about-page .svc-hero.hero::before{
  opacity:.18;
  mask-image:radial-gradient(ellipse at 70% 20%, #000 16%, transparent 68%);
  -webkit-mask-image:radial-gradient(ellipse at 70% 20%, #000 16%, transparent 68%);
}
body.svc-parent-page.about-page .svc-hero.hero .inner{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(340px, .85fr);
  gap:34px 48px;
  align-items:center;
}
body.svc-parent-page.about-page .hero-copy{
  max-width:720px;
}
body.svc-parent-page.about-page .svc-hero h1{
  max-width:13ch;
  margin:0 0 18px;
  font-size:clamp(40px, 5vw, 64px);
  line-height:1.05;
  letter-spacing:-.02em;
}
body.svc-parent-page.about-page .svc-hero h1 span{
  display:block;
  color:#fff;
  text-shadow:none;
}
body.svc-parent-page.about-page .svc-hero .lede{
  max-width:68ch;
  margin:0 0 28px;
  color:#AFCBDE;
  font-size:18px;
  line-height:1.6;
}
body.svc-parent-page.about-page .svc-hero .btn.primary{
  background:rgba(156,250,199,.18);
  color:#9cfac7;
  border:0.5px solid transparent;
  box-shadow:none;
}
body.svc-parent-page.about-page .svc-hero .btn.primary:is(:hover, :focus-visible){
  background:rgba(156,250,199,.28);
  border-color:#9cfac7;
  color:#9cfac7;
  transform:translateY(-1px);
  text-decoration:none;
}
body.svc-parent-page.about-page .svc-hero .btn.ghost{
  background:rgba(255,255,255,.78);
  color:#031526;
  border:1px solid rgba(255,255,255,.85);
}
body.svc-parent-page.about-page .svc-hero .btn.ghost:is(:hover, :focus-visible){
  background:#9cfac7;
  border-color:#9cfac7;
  color:#031526;
  transform:translateY(-1px);
  text-decoration:none;
}
body.svc-parent-page.about-page .about-hero-visual{
  position:relative;
  min-height:330px;
  display:grid;
  place-items:center;
  overflow:visible;
  border-radius:0;
  background:none;
}
body.svc-parent-page.about-page .about-hero-logo-mark{
  position:relative;
  z-index:1;
  width:auto;
  height:auto;
  overflow:visible;
  display:flex;
  align-items:center;
  justify-content:center;
  filter:drop-shadow(0 8px 24px rgba(0,138,252,.22));
}
body.svc-parent-page.about-page .about-hero-logo-mark img{
  display:block;
  max-width:100%;
  width:280px;
  height:280px;
  object-fit:cover;
  object-position:left center;
  image-rendering:-webkit-optimize-contrast;
}
body.svc-parent-page.about-page .side-card{
  position:relative;
  grid-column:1 / -1;
  max-width:none;
  margin-top:0;
  padding:0;
  border-radius:0;
  background:none;
  border:0;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:none;
  overflow:visible;
}
body.svc-parent-page.about-page .side-card ul{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
}
body.svc-parent-page.about-page .side-card li{
  display:grid;
  grid-template-columns:56px minmax(0, 1fr);
  align-items:start;
  padding:24px 22px;
  column-gap:14px;
  row-gap:18px;
  border:1px solid rgba(180,220,245,.14);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(22,40,60,.32) 0%, rgba(16,32,50,.4) 100%);
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  box-shadow:var(--glass-shadow-panel);
  transition:
    background .24s ease,
    border-color .24s ease,
    box-shadow .24s ease,
    transform .24s ease;
}
body.svc-parent-page.about-page .side-card li:first-child{
  border-left:1px solid rgba(180,220,245,.14);
}
body.svc-parent-page.about-page .side-card li:is(:hover, :focus-within){
  transform:translateY(-6px);
  background:
    radial-gradient(88% 82% at 12% 0%, rgba(156,250,199,.13), transparent 58%),
    linear-gradient(180deg, rgba(34,56,78,.36) 0%, rgba(26,46,68,.44) 100%);
  border-color:rgba(156,250,199,.26);
  box-shadow:
    0 24px 48px -22px rgba(0,0,0,.52),
    inset 0 0 0 1px rgba(156,250,199,.18),
    inset 0 18px 46px rgba(156,250,199,.06);
}
body.svc-parent-page.about-page .side-card li > span:not(.about-icon-box){
  display:contents;
}
@media (prefers-reduced-motion: reduce){
  body.svc-parent-page.about-page .side-card li{
    transition:background .01s linear, border-color .01s linear, box-shadow .01s linear;
  }
  body.svc-parent-page.about-page .side-card li:is(:hover, :focus-within){
    transform:none;
  }
}
body.svc-parent-page.about-page .side-card strong{
  display:flex;
  align-items:center;
  min-height:56px;
  color:#fff;
  font-size:clamp(14px, 1.02vw, 15.5px);
  line-height:1.16;
  margin-bottom:0;
  text-wrap:balance;
}
body.svc-parent-page.about-page .side-card small{
  display:block;
  grid-column:1 / -1;
  text-align:left;
  color:#C6DCEA;
  font-size:13px;
  line-height:1.45;
  margin-top:0;
}
body.svc-parent-page.about-page .delivery-split{
  grid-template-columns:minmax(240px, .55fr) minmax(0, 1fr);
  align-items:center;
  gap:64px;
}
body.svc-parent-page.about-page .about-story .home-section-title{
  max-width:11ch;
}
body.svc-parent-page.about-page .about-story .lede{
  color:#AFCBDE;
  font-size:18px;
  line-height:1.6;
}
body.svc-parent-page.about-page .about-process-card{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:24px;
  padding:48px 34px 34px;
  border-radius:18px;
  background:var(--glass-fill-panel);
  border:1px solid var(--glass-border-panel);
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  box-shadow:var(--glass-shadow-panel);
}
body.svc-parent-page.about-page .about-process-card::before{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  top:140px;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(156,250,199,.72), rgba(156,250,199,.72), transparent);
  box-shadow:0 0 16px rgba(156,250,199,.42);
}
body.svc-parent-page.about-page .about-process-step{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
body.svc-parent-page.about-page .about-process-step::after{
  content:"";
  position:absolute;
  top:93px;
  left:50%;
  transform:translate(-50%, -50%);
  width:13px;
  height:13px;
  border-radius:50%;
  background:#9cfac7;
  box-shadow:0 0 16px rgba(156,250,199,.9);
  z-index:2;
  transition:background .22s ease, box-shadow .22s ease, transform .22s ease;
}
body.svc-parent-page.about-page .about-process-step:is(:hover, :focus-within)::after{
  background:#b6ffd6;
  box-shadow:
    0 0 0 4px rgba(156,250,199,.18),
    0 0 28px rgba(156,250,199,1);
  transform:translate(-50%, -50%) scale(1.15);
}
@media (prefers-reduced-motion: reduce){
  body.svc-parent-page.about-page .about-process-step::after,
  body.svc-parent-page.about-page .about-process-step:is(:hover, :focus-within)::after{
    transition:background .01s linear, box-shadow .01s linear;
    transform:translate(-50%, -50%);
  }
}
body.svc-parent-page.about-page .about-process-step .about-icon-box{
  width:56px;
  height:56px;
  border-radius:14px;
  margin:0 0 56px;
  order:1;
  color:#9cfac7;
  background:rgba(156,250,199,.12);
  border:1px solid rgba(156,250,199,.22);
  box-shadow:none;
}
body.svc-parent-page.about-page .about-process-step .about-icon-box svg{
  width:26px;
  height:26px;
}
body.svc-parent-page.about-page .about-process-step > div{
  order:3;
}
body.svc-parent-page.about-page .about-process-step strong{
  display:block;
  color:#fff;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:12px;
}
body.svc-parent-page.about-page .about-process-step p{
  color:#C6DCEA;
  font-size:13px;
  line-height:1.55;
  margin:0;
  max-width:22ch;
}
body.svc-parent-page.about-page .about-values-section .section-head{
  display:block;
}
body.svc-parent-page.about-page .about-values{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
}
body.svc-parent-page.about-page .value{
  position:relative;
  min-height:154px;
  display:grid;
  grid-template-columns:56px minmax(0, 1fr);
  gap:18px;
  align-items:center;
  padding:28px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(22,40,60,.32) 0%, rgba(16,32,50,.4) 100%);
  border:1px solid rgba(180,220,245,.14);
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  box-shadow:var(--glass-shadow-panel);
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    background .22s ease;
}
body.svc-parent-page.about-page .value:is(:hover, :focus-visible){
  background:linear-gradient(180deg, rgba(34,56,78,.36) 0%, rgba(26,46,68,.44) 100%);
  border-color:rgba(156,250,199,.22);
  transform:translateY(-5px);
  box-shadow:0 24px 48px -22px rgba(0,0,0,.52), 0 0 0 1px rgba(156,250,199,.05);
}
body.svc-parent-page.about-page .value h3{
  font-size:20px;
  margin:0 0 8px;
}
body.svc-parent-page.about-page .about-service-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}
body.svc-parent-page.about-page .about-section-link{
  color:#35d4ff;
  font-weight:700;
  font-size:14px;
  text-decoration:none;
}
body.svc-parent-page.about-page .about-service-card{
  position:relative;
  display:grid;
  grid-template-columns:72px minmax(0, 1fr) 42px;
  gap:20px;
  align-items:center;
  min-height:140px;
  padding:24px;
  border-radius:18px;
  background:
    radial-gradient(48% 84% at 96% 50%, rgba(0,138,252,.12), transparent 70%),
    linear-gradient(180deg, rgba(22,40,60,.32) 0%, rgba(16,32,50,.4) 100%);
  border:1px solid rgba(180,220,245,.14);
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  box-shadow:var(--glass-shadow-panel);
  color:#fff;
  text-decoration:none;
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    background .22s ease;
}
body.svc-parent-page.about-page .about-service-card:is(:hover, :focus-visible){
  background:
    radial-gradient(48% 84% at 96% 50%, rgba(0,138,252,.16), transparent 70%),
    linear-gradient(180deg, rgba(34,56,78,.36) 0%, rgba(26,46,68,.44) 100%);
  border-color:rgba(156,250,199,.22);
  transform:translateY(-5px);
  box-shadow:0 24px 48px -22px rgba(0,0,0,.52), 0 0 0 1px rgba(156,250,199,.05);
  text-decoration:none;
}
@media (prefers-reduced-motion: reduce){
  body.svc-parent-page.about-page :is(.value, .about-service-card, .about-resource-grid a){
    transition:background .01s linear, border-color .01s linear, box-shadow .01s linear;
  }
  body.svc-parent-page.about-page :is(.value, .about-service-card, .about-resource-grid a):is(:hover, :focus-visible){
    transform:none;
  }
}
body.svc-parent-page.about-page .about-service-card h3{
  margin:0 0 6px;
  color:#fff;
  font-size:20px;
  line-height:1.2;
}
body.svc-parent-page.about-page .about-service-card p{
  margin:0;
  color:#C6DCEA;
  font-size:14px;
  line-height:1.5;
  max-width:34ch;
}
body.svc-parent-page.about-page .about-service-card .about-service-arrow{
  width:28px;
  height:28px;
  justify-self:end;
  display:block;
  object-fit:contain;
  filter:brightness(0) saturate(100%) invert(88%) sepia(24%) saturate(659%) hue-rotate(84deg) brightness(103%) contrast(97%);
  transition:transform .22s ease;
}
body.svc-parent-page.about-page .about-service-card:is(:hover, :focus-visible) .about-service-arrow{
  transform:translateX(4px);
}
@media (prefers-reduced-motion: reduce){
  body.svc-parent-page.about-page .about-service-card .about-service-arrow,
  body.svc-parent-page.about-page .about-service-card:is(:hover, :focus-visible) .about-service-arrow{
    transition:none;
    transform:none;
  }
}
body.svc-parent-page.about-page .about-resource-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}
body.svc-parent-page.about-page .about-resource-grid .about-resource-card{
  display:grid;
  grid-template-columns:72px minmax(0, 1fr) 42px;
  gap:20px;
  align-items:center;
  min-height:140px;
  padding:24px;
}
body.svc-parent-page.about-page .about-resource-grid .about-resource-card:is(:hover, :focus-visible){
  text-decoration:none;
}
body.svc-parent-page.about-page .about-resource-grid .about-resource-card h3{
  margin:0 0 6px;
  font-size:20px;
  line-height:1.2;
  color:#fff;
}
body.svc-parent-page.about-page .about-resource-grid .about-resource-card p{
  margin:0;
  color:#C6DCEA;
  font-size:14px;
  line-height:1.5;
  max-width:34ch;
}
body.svc-parent-page.about-page .about-resource-icon img{
  display:block;
  filter:brightness(0) saturate(100%) invert(88%) sepia(24%) saturate(659%) hue-rotate(84deg) brightness(103%) contrast(97%);
}
body.svc-parent-page.about-page .home-section-no-border .home-section-title{
  max-width:none;
}
/* ---- Testimonial slideshow (mirrors body.home rules from site.css) ---- */
body.svc-parent-page.about-page .testi-slideshow{
  position:relative;
  max-width:780px;
  margin:40px auto 0;
}
body.svc-parent-page.about-page .testi-slides-wrapper{
  position:relative;
  height:387px;
}
body.svc-parent-page.about-page .testi-slide{
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background:rgba(10,30,50,.38);
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r-xl);
  padding:36px 40px;
  box-shadow:var(--shadow-md);
  display:flex;
  flex-direction:column;
  gap:24px;
  opacity:0;
  visibility:hidden;
  transition:opacity .5s ease, visibility 0s linear .5s, transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  pointer-events:none;
}
body.svc-parent-page.about-page .testi-slide.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .5s ease, visibility 0s linear 0s, transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
body.svc-parent-page.about-page .testi-slide.active:hover{
  transform:translateY(-4px);
  border-color:#004f7a;
  box-shadow:0 2px 0 rgba(0,0,0,.2), 0 20px 50px -16px rgba(0,0,0,.55);
}
body.svc-parent-page.about-page .testi-slide .quote{
  font-size:16px;
  color:#D5E5F1;
  line-height:1.7;
  position:relative;
  padding-top:8px;
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  padding-right:8px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.85) transparent;
}
body.svc-parent-page.about-page .testi-slide .quote::-webkit-scrollbar{ width:6px }
body.svc-parent-page.about-page .testi-slide .quote::-webkit-scrollbar-track{ background:transparent }
body.svc-parent-page.about-page .testi-slide .quote::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.85); border-radius:999px }
body.svc-parent-page.about-page .testi-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.1);
  flex-wrap:wrap;
}
body.svc-parent-page.about-page .testi-logo{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  min-width:90px;
  height:80px;
  flex-shrink:0;
}
body.svc-parent-page.about-page .testi-logo img{
  max-height:100%;
  width:auto;
  max-width:170px;
  object-fit:contain;
  display:block;
  transition:opacity .25s ease;
}
body.svc-parent-page.about-page .testi-logo .testi-logo-color{
  position:absolute;
  top:50%;
  left:0;
  transform:translateY(-50%);
  opacity:0;
  pointer-events:none;
}
body.svc-parent-page.about-page .testi-slide.active:hover .testi-logo > img:not(.testi-logo-color){ opacity:0 }
body.svc-parent-page.about-page .testi-slide.active:hover .testi-logo-color{ opacity:1 }
body.svc-parent-page.about-page .testi-logo .testi-logo-md{ width:132px; max-width:none }
body.svc-parent-page.about-page .testi-logo .testi-logo-ctsa{ width:72px; max-width:none }
body.svc-parent-page.about-page .testi-logo .testi-logo-pyt{ width:84px; max-width:none }
body.svc-parent-page.about-page .testi-logo .testi-logo-standley{ max-width:150px }
body.svc-parent-page.about-page .testi-logo .testi-logo-okie{ width:120px; max-width:none }
body.svc-parent-page.about-page .testi-author{ text-align:right }
body.svc-parent-page.about-page .testi-author .name{ font-family:var(--display); font-weight:600; font-size:11px; color:#fff }
body.svc-parent-page.about-page .testi-author .role{ font-size:11px; color:#7AACC0; margin-top:1px }
body.svc-parent-page.about-page .testi-author .org{ font-size:11px; color:#9cfac7; margin-top:1px; font-weight:500 }
body.svc-parent-page.about-page .testi-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:50%;
  background:rgba(10,30,50,.5);
  backdrop-filter:blur(12px) saturate(140%);
  -webkit-backdrop-filter:blur(12px) saturate(140%);
  border:1px solid rgba(255,255,255,.14);
  color:#D5E5F1;
  cursor:pointer;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .2s, border-color .2s, color .2s, transform .2s;
  z-index:2;
}
body.svc-parent-page.about-page .testi-nav:hover{
  background:rgba(0,138,252,.35);
  border-color:rgba(156,250,199,.4);
  color:#9cfac7;
  transform:translateY(-50%) scale(1.05);
}
body.svc-parent-page.about-page .testi-nav.prev{ left:-72px }
body.svc-parent-page.about-page .testi-nav.next{ right:-72px }
@media (max-width:960px){
  body.svc-parent-page.about-page .testi-nav.prev{ left:-24px }
  body.svc-parent-page.about-page .testi-nav.next{ right:-24px }
}
@media (max-width:600px){
  body.svc-parent-page.about-page .testi-nav.prev{ left:6px }
  body.svc-parent-page.about-page .testi-nav.next{ right:6px }
}
body.svc-parent-page.about-page .testi-dots{
  display:flex;
  justify-content:center;
  gap:6px;
  margin-top:28px;
  flex-wrap:wrap;
}
body.svc-parent-page.about-page .dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--pastel-gray);
  border:none;
  cursor:pointer;
  padding:0;
  transition:background .2s, transform .2s;
}
body.svc-parent-page.about-page .dot.active{ background:var(--vivid-azure); transform:scale(1.3) }
body.svc-parent-page.about-page .page-cta.cta-band{
  width:min(1180px, calc(100% - 48px));
  margin:40px auto 76px;
  border-radius:18px;
  background:
    radial-gradient(80% 170% at 100% 50%, rgba(0,138,252,.24), transparent 70%),
    var(--glass-fill-strong);
  border:1px solid var(--glass-border-strong);
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
}
body.svc-parent-page.about-page .about-icon-box{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  flex:0 0 56px;
  border-radius:12px;
  background:rgba(156,250,199,.14);
  border:1px solid rgba(156,250,199,.22);
  color:#9cfac7;
  font-size:18px;
  font-style:normal;
  font-weight:800;
}
body.svc-parent-page.about-page .about-icon-box :is(svg, img){
  width:26px;
  height:26px;
  display:block;
  object-fit:contain;
  padding:0;
  border:0;
  background:none;
}
body.svc-parent-page.about-page .about-icon-box img{
  filter:brightness(0) saturate(100%) invert(88%) sepia(24%) saturate(659%) hue-rotate(84deg) brightness(103%) contrast(97%);
}

@media (max-width:1020px){
  body.svc-parent-page.about-page .svc-hero.hero .inner{
    grid-template-columns:1fr;
  }
  body.svc-parent-page.about-page .about-hero-visual{
    min-height:300px;
  }
  body.svc-parent-page.about-page .side-card ul,
  body.svc-parent-page.about-page .about-process-card,
  body.svc-parent-page.about-page .about-resource-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  body.svc-parent-page.about-page .side-card li:nth-child(odd){
    border-left:0;
  }
  body.svc-parent-page.about-page .delivery-split{
    grid-template-columns:1fr;
    gap:32px;
  }
}
@media (max-width:760px){
  body.svc-parent-page.about-page .section{
    padding:42px 0;
  }
  body.svc-parent-page.about-page .svc-hero.hero{
    padding:56px 0 36px;
  }
  body.svc-parent-page.about-page .about-hero-visual{
    min-height:240px;
  }
  body.svc-parent-page.about-page .side-card ul,
  body.svc-parent-page.about-page .about-values,
  body.svc-parent-page.about-page .about-service-grid,
  body.svc-parent-page.about-page .about-resource-grid{
    grid-template-columns:1fr;
  }
  body.svc-parent-page.about-page .side-card li{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.12);
  }
  body.svc-parent-page.about-page .side-card li:first-child{
    border-top:0;
  }
  body.svc-parent-page.about-page .about-process-card{
    grid-template-columns:1fr;
  }
  body.svc-parent-page.about-page .about-process-card::before{
    display:none;
  }
  body.svc-parent-page.about-page .about-process-step{
    text-align:left;
    display:grid;
    grid-template-columns:68px minmax(0, 1fr);
    column-gap:18px;
    align-items:center;
  }
  body.svc-parent-page.about-page .about-process-step::after{
    display:none;
  }
  body.svc-parent-page.about-page .about-process-step .about-icon-box{
    grid-row:1 / span 2;
    width:58px;
    height:58px;
    margin:0;
    order:initial;
  }
  body.svc-parent-page.about-page .about-process-step > div{
    order:initial;
  }
  body.svc-parent-page.about-page .about-process-step p{
    max-width:none;
  }
  body.svc-parent-page.about-page .value{
    grid-template-columns:56px minmax(0, 1fr);
    padding:24px;
  }
  body.svc-parent-page.about-page .about-service-card{
    grid-template-columns:72px minmax(0, 1fr);
  }
  body.svc-parent-page.about-page .about-service-card em{
    display:none;
  }
  body.svc-parent-page.about-page .page-cta.cta-band{
    width:calc(100% - 32px);
  }
}

/* Hero "Explore services" ghost button: cyber + custom-development pages
   use .hero (not .parent-hero); align them with the tribal/public-safety
   .parent-hero white-ghost style. */
body.svc-parent-page:is(.cybersecurity-page, .custom-development-page) .hero .btn.ghost{
  background:rgba(255,255,255,.78);
  color:#031526;
  border:1px solid rgba(255,255,255,.85);
}
body.svc-parent-page:is(.cybersecurity-page, .custom-development-page) .hero .btn.ghost:is(:hover, :focus-visible){
  background:#9cfac7;
  border-color:#9cfac7;
  color:#031526;
  transform:translateY(-1px);
  text-decoration:none;
}

/* bounce-down: long-arrow image variant (replaces inline 8/4-9 chevron svg) */
body.svc-parent-page .btn.bounce-down img.bounce-down-arrow,
body.case-studies-page .btn.bounce-down img.bounce-down-arrow,
body.home .btn.bounce-down img.bounce-down-arrow{
  flex-shrink:0;
  width:14px;
  height:20px;
  display:block;
  object-fit:contain;
  filter:brightness(0) saturate(100%);
  transition:transform .18s;
}
body.svc-parent-page :is(.hero, .parent-hero) .btn.bounce-down:is(:hover, :focus-visible) img.bounce-down-arrow,
body.case-studies-page .case-study-hero .btn.bounce-down:is(:hover, :focus-visible) img.bounce-down-arrow,
body.home .hero .btn.bounce-down:is(:hover, :focus-visible) img.bounce-down-arrow{
  animation:cyber-arrow-bounce .62s cubic-bezier(.2,.88,.3,1);
  filter:brightness(0) saturate(100%) invert(88%) sepia(24%) saturate(659%) hue-rotate(84deg) brightness(103%) contrast(97%);
  transform:translateY(0);
  transform-origin:center;
}
/* In dark hero contexts where the ghost button is dark-on-light, keep arrow dark.
   For about hero (frosted dark bg + white-bg ghost button), arrow is dark by default. */
@media (prefers-reduced-motion: reduce){
  body.svc-parent-page .btn.bounce-down img.bounce-down-arrow,
  body.case-studies-page .btn.bounce-down img.bounce-down-arrow,
  body.home .btn.bounce-down img.bounce-down-arrow{
    animation:none;
    transition:none;
  }
}

/* About "What we do" service card arrows: add right-bounce animation on hover */
body.svc-parent-page.about-page .about-service-card:is(:hover, :focus-visible, :focus-within) .about-service-arrow{
  animation:cyber-arrow-bounce-right .62s cubic-bezier(.2,.88,.3,1);
  transform:translateX(0);
  transform-origin:center;
}
@media (prefers-reduced-motion: reduce){
  body.svc-parent-page.about-page .about-service-card:is(:hover, :focus-visible, :focus-within) .about-service-arrow{
    animation:none;
  }
}

/* svc-learn button: long-arrow image variant (replaces inline svg arrow) */
body.home .svc-learn img.svc-learn-arrow,
body.svc-parent-page .svc-learn img.svc-learn-arrow{
  flex-shrink:0;
  width:20px;
  height:14px;
  display:block;
  object-fit:contain;
  filter:brightness(0) invert(1);
  transition:transform .18s;
}
body.home .svc-learn:hover img.svc-learn-arrow,
body.home .svc-learn:focus-visible img.svc-learn-arrow,
body.svc-parent-page .svc-learn:is(:hover, :focus-visible) img.svc-learn-arrow{
  animation:cyber-arrow-bounce-right .62s cubic-bezier(.2,.88,.3,1);
  filter:brightness(0) saturate(100%) invert(88%) sepia(24%) saturate(659%) hue-rotate(84deg) brightness(103%) contrast(97%) !important;
  transform:translateX(0);
  transform-origin:center;
}
body.svc-parent-page.about-page .about-resource-grid .about-resource-card:is(:hover, :focus-within) .svc-learn{
  background:rgba(0,138,252,.28) !important;
  border-color:#008afc !important;
  color:#9cfac7 !important;
  transform:translateY(-1px);
  box-shadow:none;
  text-decoration:none;
}
body.svc-parent-page.about-page .about-resource-grid .about-resource-card:is(:hover, :focus-within) .svc-learn img.svc-learn-arrow{
  animation:cyber-arrow-bounce-right .62s cubic-bezier(.2,.88,.3,1);
  filter:brightness(0) saturate(100%) invert(88%) sepia(24%) saturate(659%) hue-rotate(84deg) brightness(103%) contrast(97%) !important;
  transform:translateX(0);
  transform-origin:center;
}
@media (prefers-reduced-motion: reduce){
  body.home .svc-learn img.svc-learn-arrow,
  body.svc-parent-page .svc-learn img.svc-learn-arrow{
    animation:none;
    transition:none;
  }
}

/* About page: bg-dark.png background + container parity with home .svc-card */
body.svc-page.svc-parent-page.about-page{
  background:#001a28 url("../public/DBWebBackgrounds/bg-dark.png") top center / cover no-repeat fixed;
}

body.svc-parent-page.about-page .value,
body.svc-parent-page.about-page .about-service-card,
body.svc-parent-page.about-page .about-resource-grid .about-resource-card{
  position:relative;
  background:rgba(10,30,50,.42);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 1px 0 rgba(0,0,0,.2), 0 8px 30px -10px rgba(0,0,0,.4);
  color:#D5E5F1;
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

body.svc-parent-page.about-page .value::before,
body.svc-parent-page.about-page .about-service-card::before,
body.svc-parent-page.about-page .about-resource-grid .about-resource-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(70% 55% at 100% 0%, rgba(0,138,252,.14), transparent 55%);
  opacity:.5;
  transition:opacity .3s;
  pointer-events:none;
  z-index:0;
}

body.svc-parent-page.about-page .value > *,
body.svc-parent-page.about-page .about-service-card > *,
body.svc-parent-page.about-page .about-resource-grid .about-resource-card > *{
  position:relative;
  z-index:1;
}

body.svc-parent-page.about-page .value:hover,
body.svc-parent-page.about-page .about-service-card:is(:hover, :focus-visible),
body.svc-parent-page.about-page .about-resource-grid .about-resource-card:is(:hover, :focus-visible){
  transform:translateY(-4px);
  border:0.5px solid #004f7a;
  box-shadow:0 2px 0 rgba(0,0,0,.2), 0 20px 50px -16px rgba(0,0,0,.55);
  background:rgba(10,30,50,.42);
}
body.svc-parent-page.about-page .value:hover::before,
body.svc-parent-page.about-page .about-service-card:is(:hover, :focus-visible)::before,
body.svc-parent-page.about-page .about-resource-grid .about-resource-card:is(:hover, :focus-visible)::before{
  opacity:1;
}

@media (prefers-reduced-motion: reduce){
  body.svc-parent-page.about-page .value:hover,
  body.svc-parent-page.about-page .about-service-card:is(:hover, :focus-visible),
  body.svc-parent-page.about-page .about-resource-grid .about-resource-card:is(:hover, :focus-visible){
    transform:none;
  }
}

/* Contact page: bg-dark.png background + container parity with home .svc-card */
body.contact-page[data-site-section]:not(.svc-parent-page):not(.home):not([data-site-section="home"]){
  background:#001a28 url("../public/DBWebBackgrounds/bg-dark.png") top center / cover no-repeat fixed;
}
body.contact-page{
  color:#D5E5F1;
}
body.contact-page .site-footer{
  background:#052742;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body.contact-page .site-footer::before{ display:none }
body.contact-page .sub-hero{
  background:transparent;
}
body.contact-page .sub-hero::before{
  background:
    radial-gradient(72% 110% at 50% 0%, rgba(156,250,199,.05) 0%, transparent 60%),
    var(--hero-network-dark) center top / 720px 480px repeat;
  opacity:.36;
  mask-image:radial-gradient(ellipse at top center, #000 20%, transparent 74%);
  -webkit-mask-image:radial-gradient(ellipse at top center, #000 20%, transparent 74%);
}
body.contact-page .sub-hero h1{ color:#fff }
body.contact-page .sub-hero .lede{ color:#AFCBDE }
body.contact-page .sub-hero .crumbs{ color:rgba(255,255,255,.62) }
body.contact-page .sub-hero .crumbs a{ color:rgba(255,255,255,.86) }
body.contact-page .sub-hero .crumbs a:hover{ color:#9cfac7 }
body.contact-page .sub-features{ background:transparent }

body.contact-page .contact-section .contact-card,
body.contact-page .contact-section .contact-form{
  position:relative;
  background:rgba(10,30,50,.42);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 1px 0 rgba(0,0,0,.2), 0 8px 30px -10px rgba(0,0,0,.4);
  color:#D5E5F1;
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
body.contact-page .contact-section .contact-card::before,
body.contact-page .contact-section .contact-form::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(70% 55% at 100% 0%, rgba(0,138,252,.14), transparent 55%);
  opacity:.5;
  transition:opacity .3s;
  pointer-events:none;
  z-index:0;
}
body.contact-page .contact-section .contact-card > *,
body.contact-page .contact-section .contact-form > *{
  position:relative;
  z-index:1;
}
body.contact-page .contact-section .contact-card:hover,
body.contact-page .contact-section .contact-form:hover,
body.contact-page .contact-section .contact-form:focus-within{
  transform:translateY(-4px);
  border:0.5px solid #004f7a;
  box-shadow:0 2px 0 rgba(0,0,0,.2), 0 20px 50px -16px rgba(0,0,0,.55);
}
body.contact-page .contact-section .contact-card:hover::before,
body.contact-page .contact-section .contact-form:hover::before,
body.contact-page .contact-section .contact-form:focus-within::before{
  opacity:1;
}

/* Buttons match the .svc-learn "Learn More" style from cybersecurity feat cards */
body.contact-page .contact-section .contact-pill,
body.contact-page .contact-section .contact-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:42px;
  padding:0 24px;
  font-size:14px;
  font-weight:600;
  width:auto;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:0.5px solid transparent;
  color:#fff;
  text-decoration:none;
  transition:background .2s, border-color .2s, transform .18s, color .18s;
}
body.contact-page .contact-section .contact-pill{
  margin:8px 0;
  width:100%;
}
body.contact-page .contact-section .contact-pill:is(:hover, :focus-visible),
body.contact-page .contact-section .contact-submit:is(:hover, :focus-visible){
  background:rgba(0,138,252,.28);
  border:0.5px solid #008afc;
  transform:translateY(-1px);
  color:#fff;
  text-decoration:none;
}
body.contact-page .contact-section .contact-actions{
  margin-top:auto;
  justify-content:flex-end;
}
body.contact-page .contact-section .contact-privacy{
  color:rgba(213,229,241,.8);
}

@media (prefers-reduced-motion: reduce){
  body.contact-page .contact-section .contact-card:hover,
  body.contact-page .contact-section .contact-form:hover,
  body.contact-page .contact-section .contact-form:focus-within{
    transform:none;
  }
}

/* Contact page — polished dark frosted-glass layout */
body.contact-page[data-site-section]:not(.svc-parent-page):not(.home):not([data-site-section="home"]){
  background:
    radial-gradient(58% 42% at 84% 12%, rgba(0,138,252,.2), transparent 68%),
    radial-gradient(46% 36% at 18% 14%, rgba(156,250,199,.1), transparent 64%),
    url("../public/DBWebBackgrounds/bg-dark.png") top center / cover no-repeat fixed,
    var(--darker-azure);
}
body.contact-page{
  color:var(--white);
  font-family:var(--body-font);
}
body.contact-page *{
  font-family:var(--body-font);
}
body.contact-page .site-footer{
  background:rgba(5,39,66,.55);
  backdrop-filter:blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter:blur(var(--glass-blur-lg)) saturate(var(--glass-saturate));
}
body.contact-page .site-footer::before{ display:block }
body.contact-page .contact-page-wrap{
  position:relative;
  overflow:hidden;
  --hero-network-overlay-height:420px;
}
body.contact-page .contact-page-wrap::before,
body.case-studies-page :is(.case-study-shell, .case-study-page)::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:var(--hero-network-overlay-height, 430px);
  pointer-events:none;
  background:
    radial-gradient(72% 110% at 50% 0%, rgba(156,250,199,.05) 0%, transparent 60%),
    var(--hero-network-dark) center top / 720px 480px repeat;
  opacity:.36;
  mask-image:radial-gradient(ellipse at top center, #000 20%, transparent 74%);
  -webkit-mask-image:radial-gradient(ellipse at top center, #000 20%, transparent 74%);
}
body.contact-page .contact-section{
  position:relative;
  padding:46px 0 22px;
}
body.contact-page .contact-section .container{
  position:relative;
  z-index:1;
}
body.contact-page .contact-section .contact-grid{
  display:grid;
  grid-template-columns:minmax(280px, 370px) minmax(0, 1fr);
  column-gap:clamp(72px, 7vw, 116px);
  row-gap:52px;
  align-items:stretch;
}
body.contact-page .contact-section .crumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-bottom:28px;
  font-family:var(--mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(183,206,219,.74);
}
body.contact-page .contact-section .crumbs a{
  color:rgba(255,255,255,.9);
  text-decoration:none;
}
body.contact-page .contact-section .crumbs a:hover{ color:var(--pastel-green) }
body.contact-page .contact-section .crumbs span{ color:rgba(183,206,219,.48) }
body.contact-page .contact-intro h1{
  margin:0 0 48px;
  color:#fff;
  font-size:clamp(40px, 5vw, 64px);
  line-height:1.05;
  letter-spacing:-0.02em;
}
body.contact-page .contact-intro h1 .accent{
  color:#fff;
}
body.contact-page .contact-intro .lede{
  margin:0;
  max-width:60ch;
  color:#9AB7C8;
  font-size:16px;
  line-height:1.72;
}
body.contact-page .contact-section .contact-aside{
  display:flex;
  flex-direction:column;
  gap:22px;
  align-self:stretch;
}
body.contact-page .contact-section .contact-card,
body.contact-page .contact-section .contact-form,
body.contact-page .contact-trust{
  position:relative;
  overflow:hidden;
  background:rgba(0,42,64,.58);
  border:1px solid rgba(183,206,219,.22);
  border-radius:18px;
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  box-shadow:
    0 20px 60px rgba(0,42,64,.35),
    inset 0 1px 0 rgba(255,255,255,.08);
  color:#D5E5F1;
}
body.contact-page .contact-section .contact-card::before,
body.contact-page .contact-section .contact-form::before,
body.contact-page .contact-trust::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(70% 54% at 100% 0%, rgba(0,138,252,.14), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 34%);
  opacity:.76;
}
body.contact-page .contact-section .contact-card > *,
body.contact-page .contact-section .contact-form > *,
body.contact-page .contact-trust > *{
  position:relative;
  z-index:1;
}
body.contact-page .contact-section .contact-card{
  padding:28px 30px;
}
body.contact-page .contact-section .contact-aside > .contact-card:not(.contact-card--support){
  margin-top:0;
}
body.contact-page .contact-section .contact-card-head{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:14px;
}
body.contact-page .contact-section .contact-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  flex:0 0 50px;
  border-radius:14px;
  background:rgba(156,250,199,.12);
  border:1px solid rgba(156,250,199,.22);
  color:#9cfac7;
}
body.contact-page :is(.contact-section, .contact-trust) .contact-icon svg{
  width:22px;
  height:22px;
}
body.contact-page :is(.contact-section, .contact-trust) .contact-icon img{
  width:28px;
  height:28px;
  display:block;
  object-fit:contain;
  filter:brightness(0) saturate(100%) invert(88%) sepia(24%) saturate(659%) hue-rotate(84deg) brightness(103%) contrast(97%);
}
body.contact-page .contact-section .contact-card h2,
body.contact-page .contact-section .contact-card h3{
  margin:0;
  color:var(--white);
  letter-spacing:0;
}
body.contact-page .contact-section .contact-card h2{ font-size:25px }
body.contact-page .contact-section .contact-card h3{ font-size:16px }
body.contact-page .contact-section .contact-card p{
  margin:0 0 18px;
  color:#D5E5F1;
  font-size:16px;
  line-height:1.5;
}
body.contact-page .contact-section .contact-pill{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
  min-height:54px;
  margin:14px 0 0;
  padding:0 18px;
  border-radius:999px;
  background:rgba(0,79,122,.46);
  border:1px solid rgba(183,206,219,.22);
  color:#fff;
  font-size:18px;
  font-weight:800;
  text-decoration:none;
  transition:background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
body.contact-page .contact-section .contact-pill span{
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
  flex:0 0 24px;
}
body.contact-page .contact-section .contact-pill svg{
  width:21px;
  height:21px;
}
body.contact-page .contact-section .contact-pill--chat{
  background:linear-gradient(90deg, rgba(156,250,199,.9), rgba(55,188,158,.78));
  border-color:rgba(156,250,199,.38);
  color:var(--darker-azure);
}
body.contact-page .contact-section .contact-pill:is(:hover, :focus-visible){
  background:rgba(0,138,252,.28);
  border-color:var(--vivid-azure);
  color:#fff;
  text-decoration:none;
  transform:translateY(-1px);
}
body.contact-page .contact-section .contact-pill-row{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:6px;
  margin-top:14px;
}
body.contact-page .contact-section .contact-pill-row .contact-pill{
  width:100%;
  flex:0 0 auto;
  min-height:54px;
  margin:0;
  padding:0 18px;
  font-size:18px;
  font-weight:800;
}
body.contact-page .contact-section .contact-pill-row .contact-or{
  color:var(--pastel-gray);
  font-size:16px;
  font-weight:600;
  flex:0 0 auto;
  text-align:center;
  margin:0;
  opacity:.7;
}
body.contact-page .contact-section .contact-pill--chat:is(:hover, :focus-visible){
  background:var(--pastel-green);
  border-color:var(--pastel-green);
  color:var(--darker-azure);
}
body.contact-page .contact-socials{
  display:grid;
  grid-template-columns:repeat(3, 50px);
  align-items:center;
  justify-content:center;
  gap:34px;
  margin-top:18px;
}
body.contact-page .contact-social{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  flex:0 0 50px;
  border-radius:14px;
  background:rgba(156,250,199,.12);
  border:1px solid rgba(156,250,199,.22);
  color:#9cfac7;
  text-decoration:none;
  transition:background .2s ease, border-color .2s ease, color .18s ease, transform .18s ease;
}
body.contact-page .contact-social svg{
  width:18px;
  height:18px;
}
body.contact-page .contact-social img{
  width:28px;
  height:28px;
  display:block;
  object-fit:contain;
  filter:brightness(0) saturate(100%) invert(88%) sepia(24%) saturate(659%) hue-rotate(84deg) brightness(103%) contrast(97%);
}
body.contact-page .contact-social:is(:hover, :focus-visible){
  background:rgba(156,250,199,.16);
  border-color:rgba(156,250,199,.34);
  color:#9cfac7;
  transform:translateY(-1px);
  box-shadow:0 0 0 2px rgba(156,250,199,.08);
  text-decoration:none;
}
body.contact-page .contact-card--support .contact-pill{
  justify-content:center;
  gap:10px;
  width:185px;
  align-self:center;
  min-height:42px;
  margin-left:auto;
  margin-right:auto;
  padding:0 24px;
  font-size:14px;
  font-weight:600;
}
body.contact-page .contact-section .contact-card--support{
  padding-bottom:36px;
}
body.contact-page .contact-hours{
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid rgba(183,206,219,.18);
}
body.contact-page .contact-hours .contact-card-head{
  margin-bottom:10px;
}
body.contact-page .contact-hours p{
  margin:0 0 0 38px;
  font-size:14px;
}
body.contact-page .contact-hours span{
  color:var(--pastel-gray);
  margin:0 8px;
}
body.contact-page .contact-section .contact-form{
  align-self:start;
  padding:30px 30px 12px;
}
body.contact-page .contact-section .contact-pill,
body.contact-page .contact-section .contact-submit{
  background:rgba(0,100,180,.38) !important;
  border:0.5px solid transparent !important;
  color:#fff !important;
  box-shadow:none;
  transition:background .2s, border-color .2s, transform .18s, color .18s;
}
body.contact-page .contact-section .contact-pill:is(:hover, :focus-visible),
body.contact-page .contact-section .contact-submit:is(:hover, :focus-visible){
  background:rgba(0,138,252,.28) !important;
  border:0.5px solid #008afc !important;
  color:#9cfac7 !important;
  transform:translateY(-1px);
  box-shadow:none;
  text-decoration:none;
}
body.contact-page .contact-section :is(.contact-pill, .contact-submit) img{
  filter:brightness(0) invert(1);
  transition:filter .18s ease, transform .18s ease;
}
body.contact-page .contact-section :is(.contact-pill, .contact-submit):is(:hover, :focus-visible) img{
  filter:brightness(0) saturate(100%) invert(88%) sepia(24%) saturate(659%) hue-rotate(84deg) brightness(103%) contrast(97%);
}
body.contact-page .contact-section .contact-submit:is(:hover, :focus-visible) img,
body.contact-page .contact-section .contact-card--support .contact-pill:is(:hover, :focus-visible) img{
  animation:cyber-arrow-bounce-right .62s cubic-bezier(.2,.88,.3,1);
  transform:translateX(0);
}
body.contact-page .contact-form-head{
  margin-bottom:20px;
}
body.contact-page .contact-form-head h2{
  margin:0 0 4px;
  color:var(--white);
  font-size:28px;
  letter-spacing:0;
}
body.contact-page .contact-form-head p{
  margin:0;
  color:#D5E5F1;
  font-size:14px;
}
body.contact-page .contact-fieldset{
  min-width:0;
  margin:0 0 20px;
  padding:0;
  border:0;
}
body.contact-page .contact-form .contact-fieldset:last-of-type{
  margin-bottom:0;
}
body.contact-page .contact-fieldset legend{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  margin:0 0 14px;
  color:var(--pastel-green);
  font-size:15px;
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
}
body.contact-page .contact-fieldset legend .contact-legend-text{
  min-width:0;
}
body.contact-page .contact-form .contact-fieldset legend::after{
  content:"";
  flex:1 1 auto;
  height:1px;
  background:rgba(213,229,241,.18);
}
body.contact-page .contact-fieldset legend span{ color:var(--pastel-green) }
body.contact-page .contact-row{
  display:grid;
  gap:18px;
}
body.contact-page .contact-row--three{ grid-template-columns:repeat(3, minmax(0, 1fr)) }
body.contact-page .contact-row--two{ grid-template-columns:repeat(2, minmax(0, 1fr)) }
body.contact-page .contact-row--spaced{ margin-top:24px }
body.contact-page .contact-section .contact-field{
  min-width:0;
}
body.contact-page .contact-section label,
body.contact-page .contact-label{
  display:block;
  margin:0 0 8px;
  color:#fff;
  font-size:13px;
  font-weight:800;
  line-height:1.25;
}
body.contact-page .contact-section .contact-form input,
body.contact-page .contact-section .contact-form select,
body.contact-page .contact-section .contact-form textarea{
  width:100%;
  min-height:46px;
  padding:12px 14px;
  border-radius:8px;
  background:rgba(183,206,219,.1);
  border:1px solid rgba(183,206,219,.22);
  color:#fff;
  font:inherit;
  font-size:14px;
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
body.contact-page .contact-section .contact-form textarea{
  min-height:84px;
  resize:vertical;
}
body.contact-page .contact-section .contact-form input::placeholder,
body.contact-page .contact-section .contact-form textarea::placeholder{
  color:rgba(183,206,219,.75);
}
body.contact-page .contact-section .contact-form input:focus,
body.contact-page .contact-section .contact-form select:focus,
body.contact-page .contact-section .contact-form textarea:focus{
  border-color:var(--pastel-green);
  box-shadow:0 0 0 3px rgba(156,250,199,.18);
  background:rgba(183,206,219,.14);
}
body.contact-page .contact-section .contact-select{ position:relative }
body.contact-page .contact-section .contact-select::after{
  content:"";
  position:absolute;
  right:16px;
  bottom:17px;
  width:10px;
  height:10px;
  border-right:2px solid rgba(255,255,255,.86);
  border-bottom:2px solid rgba(255,255,255,.86);
  transform:rotate(45deg);
  pointer-events:none;
}
body.contact-page .contact-section .contact-form select{
  appearance:none;
  -webkit-appearance:none;
  padding-right:44px;
  color:rgba(183,206,219,.85);
}
body.contact-page .contact-section .contact-form select:valid{ color:#fff }
body.contact-page .contact-section .contact-form select option{
  color:var(--darker-azure);
  background:#fff;
}
body.contact-page .contact-interest-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:10px;
}
body.contact-page .contact-section label.interest-option{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:60px;
  margin:0;
  padding:10px 14px;
  border-radius:8px;
  background:rgba(0,79,122,.24);
  border:1px solid rgba(183,206,219,.22);
  color:#fff;
  font-size:12px;
  font-weight:600;
  text-align:center;
  cursor:pointer;
  line-height:1.25;
  transition:background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease, color .18s ease;
}
body.contact-page .interest-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
body.contact-page .interest-option:is(:hover, :focus-within){
  transform:translateY(-4px);
  border-color:#004f7a;
  background:rgba(10,30,50,.42);
  box-shadow:0 2px 0 rgba(0,0,0,.2), 0 20px 50px -16px rgba(0,0,0,.55);
  color:#9cfac7;
}
body.contact-page .interest-option:has(input:focus-visible),
body.contact-page .interest-option:has(input:checked){
  transform:none;
  border-color:var(--pastel-green);
  box-shadow:0 0 0 3px rgba(156,250,199,.18);
  background:rgba(0,138,252,.2);
  color:#9cfac7;
}
body.contact-page .contact-interest-error,
body.contact-page .contact-phone-error{
  margin:8px 0 0;
  color:#ff9a9a;
  font-size:12px;
  font-weight:600;
}
body.contact-page .interest-option:has(input[aria-invalid="true"]){
  border-color:#ff9a9a;
}
body.contact-page .contact-field:has(#cf-phone[aria-invalid="true"]) input[type="tel"]{
  border-color:#ff9a9a;
  box-shadow:0 0 0 3px rgba(255,154,154,.18);
}
body.contact-page .contact-modal[hidden]{ display:none; }
body.contact-page .contact-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
body.contact-page .contact-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,12,24,.72);
  backdrop-filter:blur(4px);
}
body.contact-page .contact-modal-panel{
  position:relative;
  max-width:440px;
  width:100%;
  padding:36px 28px 28px;
  border-radius:16px;
  background:linear-gradient(180deg, #0a1e32 0%, #04111f 100%);
  border:1px solid rgba(156,250,199,.28);
  box-shadow:0 30px 80px -20px rgba(0,0,0,.7);
  color:#fff;
  text-align:center;
}
body.contact-page .contact-modal-panel h2{
  margin:0 0 10px;
  color:var(--pastel-green, #9cfac7);
  font-size:22px;
  font-weight:700;
}
body.contact-page .contact-modal-panel p{
  margin:0 0 22px;
  color:#cfe1ec;
  font-size:15px;
  line-height:1.45;
}
body.contact-page .contact-modal-ok{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:185px;
  min-height:42px;
  padding:0 24px;
  border-radius:999px;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  background:rgba(0,100,180,.38);
  border:0.5px solid transparent;
  color:#fff;
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease, transform .18s ease, color .18s ease;
}
body.contact-page .contact-modal-ok:is(:hover, :focus-visible){
  background:rgba(0,138,252,.28);
  border:0.5px solid #008afc;
  color:#9cfac7;
  transform:translateY(-1px);
  outline:none;
  text-decoration:none;
}
body.contact-page .contact-section .contact-form-status{
  min-height:0;
  margin:0;
  color:var(--pastel-green);
  font-size:13px;
  text-align:center;
}
body.contact-page .contact-section .contact-form-status:empty{
  display:none;
}
body.contact-page .contact-submit{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:auto;
  min-width:176px;
  min-height:42px;
  margin:14px auto 14px;
  padding:0 24px;
  border:0.5px solid transparent;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font:inherit;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  box-shadow:none;
  transition:background .2s ease, border-color .2s ease, color .18s ease, transform .18s ease;
}
body.contact-page .contact-submit img{
  width:20px;
  height:20px;
  display:block;
  object-fit:contain;
  filter:brightness(0) invert(1);
  transition:filter .18s ease, transform .18s ease;
}
body.contact-page .contact-section .contact-submit:is(:hover, :focus-visible){
  background:rgba(0,138,252,.28);
  border-color:#008afc;
  color:#9cfac7;
  transform:translateY(-1px);
  box-shadow:none;
}
body.contact-page .contact-section .contact-submit:is(:hover, :focus-visible) img{
  filter:brightness(0) saturate(100%) invert(88%) sepia(24%) saturate(659%) hue-rotate(84deg) brightness(103%) contrast(97%);
  animation:cyber-arrow-bounce-right .62s cubic-bezier(.2,.88,.3,1);
  transform:translateX(0);
}
body.contact-page .contact-response-note{
  margin:0;
  color:rgba(255,255,255,.74);
  font-size:13px;
  text-align:center;
}
body.contact-page .contact-consent-note{
  max-width:760px;
  margin:8px auto 0;
  color:rgba(255,255,255,.7);
  font-size:12.5px;
  line-height:1.55;
  text-align:center;
}
body.contact-page .contact-consent-note a{
  color:#9cfac7;
  text-decoration:underline;
}
body.contact-page .contact-consent-note a:hover{ color:#fff }
body.contact-page .contact-trust{
  max-width:920px;
  margin:36px auto 0;
  padding:0;
  border-radius:0;
  background:none;
  border:0;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:none;
}
body.contact-page .contact-trust::before{ display:none }
body.contact-page .contact-trust > p{
  margin:0 0 15px;
  color:#fff;
  font-size:17px;
  font-weight:800;
  text-align:center;
}
body.contact-page .contact-trust-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}
body.contact-page .contact-trust-item{
  display:flex;
  align-items:center;
  gap:18px;
  padding:22px 24px;
  border:1px solid rgba(180,220,245,.14);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(22,40,60,.32) 0%, rgba(16,32,50,.4) 100%);
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  box-shadow:var(--glass-shadow-panel);
  transition:
    background .24s ease,
    border-color .24s ease,
    box-shadow .24s ease,
    transform .24s ease;
}
body.contact-page .contact-trust-item:is(:hover, :focus-within){
  transform:translateY(-6px);
  background:
    radial-gradient(88% 82% at 12% 0%, rgba(156,250,199,.13), transparent 58%),
    linear-gradient(180deg, rgba(34,56,78,.36) 0%, rgba(26,46,68,.44) 100%);
  border-color:rgba(156,250,199,.26);
  box-shadow:
    0 24px 48px -22px rgba(0,0,0,.52),
    inset 0 0 0 1px rgba(156,250,199,.18),
    inset 0 18px 46px rgba(156,250,199,.06);
}
body.contact-page .contact-trust h3{
  margin:0 0 4px;
  color:#fff;
  font-size:16px;
  line-height:1.2;
  letter-spacing:0;
}
body.contact-page .contact-trust-item p{
  margin:0;
  color:#C6DCEA;
  font-size:14px;
  line-height:1.35;
}
body.contact-page .contact-privacy{
  margin:30px 0 0;
  color:rgba(213,229,241,.82);
  font-size:13px;
  line-height:1.55;
  text-align:center;
}
body.contact-page .contact-privacy a{
  color:var(--pastel-green);
  text-decoration:none;
}
body.contact-page .contact-privacy a:hover{
  color:var(--vivid-azure);
  text-decoration:underline;
}
body.contact-page .contact-section .sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Support page */
body.support-page{
  color:var(--darker-azure);
}
body.support-page .support-wrap{
  overflow:hidden;
}
body.support-page .support-hero{
  padding-bottom:28px;
}
body.support-page .support-hero h1{
  max-width:16ch;
}
body.support-page .support-hero h1::after{
  content:"";
  display:block;
  width:62px;
  height:3px;
  margin-top:18px;
  border-radius:999px;
  background:var(--vivid-azure);
}
body.support-page .support-hero .lede{
  max-width:48ch;
}
body.support-page .support-options{
  position:relative;
  padding:20px 0 34px;
}
body.support-page .sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
body.support-page .support-options .container,
body.support-page .support-quick .container{
  position:relative;
  z-index:1;
}
body.support-page .support-option-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:40px;
}
body.support-page .support-option-card,
body.support-page .support-alert,
body.support-page .support-reach{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.68) 0%, rgba(245,249,252,.52) 100%);
  border:1px solid rgba(255,255,255,.7);
  backdrop-filter:blur(22px) saturate(145%);
  -webkit-backdrop-filter:blur(22px) saturate(145%);
  box-shadow:
    0 1px 0 rgba(255,255,255,.62) inset,
    0 24px 54px -30px rgba(0,42,64,.28);
  color:var(--darker-azure);
}
body.support-page .support-option-card::before,
body.support-page .support-alert::before,
body.support-page .support-reach::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.34), transparent 42%),
    radial-gradient(80% 70% at 50% 0%, rgba(0,138,252,.08), transparent 72%);
}
body.support-page .support-option-card > *,
body.support-page .support-alert > *,
body.support-page .support-reach > *{
  position:relative;
  z-index:1;
}
body.support-page .support-option-card{
  min-height:560px;
  padding:46px 56px 40px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
body.support-page .support-option-card:hover{
  transform:translateY(-4px);
  border-color:rgba(0,138,252,.28);
  background:linear-gradient(180deg, rgba(255,255,255,.78) 0%, rgba(245,249,252,.62) 100%);
  box-shadow:
    0 1px 0 rgba(255,255,255,.7) inset,
    0 28px 60px -30px rgba(0,42,64,.34);
}
body.support-page .support-option-card--urgent:hover{
  border-color:rgba(156,250,199,.38);
  box-shadow:
    0 1px 0 rgba(255,255,255,.7) inset,
    0 28px 60px -30px rgba(0,42,64,.34),
    0 0 0 2px rgba(156,250,199,.1);
}
body.support-page .support-icon-box{
  width:70px;
  height:70px;
  border-radius:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(156,250,199,.18);
  border:1px solid rgba(156,250,199,.34);
  color:var(--darker-azure);
  flex:0 0 auto;
  margin-bottom:24px;
}
body.support-page .support-icon-box img{
  width:30px;
  height:30px;
  display:block;
  object-fit:contain;
  filter:brightness(0) saturate(100%) invert(19%) sepia(43%) saturate(1346%) hue-rotate(167deg) brightness(92%) contrast(102%);
}
body.support-page .support-eyebrow{
  margin:0 0 16px;
  color:var(--vivid-azure);
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.support-page .support-option-card--urgent .support-eyebrow{
  color:var(--darker-azure);
}
body.support-page .support-option-card h3{
  max-width:18ch;
  margin:0 auto 18px;
  color:var(--darker-azure);
  font-size:clamp(24px, 3vw, 32px);
  line-height:1.08;
  letter-spacing:0;
}
body.support-page .support-option-card p{
  max-width:36ch;
  margin:0 auto 24px;
  color:#39516D;
  font-size:16px;
  line-height:1.65;
}
body.support-page .support-check-list{
  width:min(100%, 330px);
  margin:0 auto 32px;
  padding:0;
  list-style:none;
  text-align:left;
  color:#2D4562;
  display:flex;
  flex-direction:column;
  justify-content:center;
  flex:1;
}
body.support-page .support-check-list li{
  display:flex;
  align-items:center;
  gap:10px;
  margin:12px 0;
  font-size:15px;
}
body.support-page .support-check-list li::before{
  content:"";
  flex:0 0 auto;
  width:16px;
  height:16px;
  background-color:var(--vivid-azure);
  -webkit-mask:url("/public/Fontawesome/check-duotone-solid-full%281%29.svg") center / contain no-repeat;
          mask:url("/public/Fontawesome/check-duotone-solid-full%281%29.svg") center / contain no-repeat;
}
body.support-page .support-option-card--urgent .support-check-list li::before{
  background-color:var(--pastel-green);
}
body.support-page .support-action{
  margin-top:auto;
}
body.support-page .support-action img{
  width:20px;
  height:14px;
  display:block;
  object-fit:contain;
  filter:brightness(0) invert(1);
}
body.support-page .support-callout{
  margin:18px 0 0;
  color:#183B5A;
  font-size:14px;
  font-weight:700;
}
body.support-page .support-callout a{
  color:var(--darker-azure);
  text-decoration:none;
}
body.support-page .support-callout a:hover{
  color:var(--vivid-azure);
  text-decoration:underline;
}
body.support-page .support-quick{
  padding:0 0 76px;
}
body.support-page .support-alert{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  align-items:center;
  gap:24px;
  padding:26px 34px;
  margin-bottom:28px;
}
body.support-page .support-alert .support-icon-box,
body.support-page .support-reach .support-icon-box{
  width:58px;
  height:58px;
  border-radius:16px;
  margin:0;
}
body.support-page .support-alert h2,
body.support-page .support-reach h2{
  margin:0;
  color:var(--darker-azure);
  letter-spacing:0;
}
body.support-page .support-alert p{
  margin:4px 0 0;
  color:#39516D;
}
body.support-page .support-reach{
  padding:34px 36px 38px;
}
body.support-page .support-reach h2{
  text-align:center;
  margin-bottom:28px;
}
body.support-page .support-reach-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:0;
}
body.support-page .support-reach-grid > div{
  padding:0 28px;
  text-align:center;
  border-left:1px solid rgba(0,42,64,.12);
}
body.support-page .support-reach-grid > div:first-child{
  border-left:0;
}
body.support-page .support-reach-grid .support-icon-box{
  margin:0 auto 16px;
}
body.support-page .support-reach h3{
  margin:0 0 10px;
  color:var(--darker-azure);
  font-size:17px;
}
body.support-page .support-reach p{
  margin:0;
  color:#39516D;
  font-size:14px;
  line-height:1.65;
}
body.support-page .support-reach a{
  color:var(--darker-azure);
  text-decoration:none;
}
body.support-page .support-reach a:hover{
  color:var(--vivid-azure);
}
@media (max-width:900px){
  body.support-page .support-option-grid,
  body.support-page .support-reach-grid{
    grid-template-columns:1fr;
  }
  body.support-page .support-reach-grid > div{
    border-left:0;
    border-top:1px solid rgba(0,42,64,.12);
    padding:24px 0;
  }
  body.support-page .support-reach-grid > div:first-child{
    border-top:0;
    padding-top:0;
  }
  body.support-page .support-alert{
    grid-template-columns:1fr;
    text-align:center;
    justify-items:center;
  }
}
@media (max-width:560px){
  body.support-page .support-option-card{
    min-height:0;
    padding:34px 24px 30px;
  }
  body.support-page .support-option-grid{
    gap:22px;
  }
  body.support-page .support-alert,
  body.support-page .support-reach{
    padding:26px 22px;
  }
}
@media (max-width:1100px){
  body.contact-page .contact-section .contact-grid{
    grid-template-columns:1fr;
    gap:34px;
  }
  body.contact-page .contact-section .contact-form{
    margin-top:0;
  }
  body.contact-page .contact-intro h1{ max-width:13ch }
  body.contact-page .contact-intro .lede{ max-width:46ch }
  body.contact-page .contact-section .contact-aside{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-self:auto;
  }
  body.contact-page .contact-section .contact-aside > .contact-card:not(.contact-card--support){
    margin-top:0;
  }
  body.contact-page .contact-section .contact-card--support{
    margin-top:0;
  }
  body.contact-page .contact-section .crumbs,
  body.contact-page .contact-intro{
    grid-column:1 / -1;
  }
}
@media (max-width:860px){
  body.contact-page .contact-row--three,
  body.contact-page .contact-row--two,
  body.contact-page .contact-trust-grid{
    grid-template-columns:1fr;
  }
  /* Multi-select reads as a 2-column chip grid on mobile instead of five
     full-width bars; the lone last option spans the full width. */
  body.contact-page .contact-interest-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
  }
  body.contact-page .contact-section label.interest-option{
    min-height:52px;
    padding:10px 12px;
  }
  body.contact-page .contact-interest-grid .interest-option:last-child:nth-child(odd){
    grid-column:1 / -1;
  }
  /* 16px fields stop iOS from zooming the page when a field gains focus. */
  body.contact-page .contact-section .contact-form input,
  body.contact-page .contact-section .contact-form select,
  body.contact-page .contact-section .contact-form textarea{
    font-size:16px;
  }
  body.contact-page .contact-section .contact-aside{
    grid-template-columns:1fr;
  }
  body.contact-page .contact-trust{
    padding:24px;
  }
  body.contact-page .contact-trust-item{
    padding:22px 24px;
    border:1px solid rgba(180,220,245,.14);
  }
}
@media (max-width:520px){
  body.contact-page .contact-section{
    padding-top:32px;
  }
  body.contact-page .contact-intro h1{
    font-size:42px;
  }
  body.contact-page .contact-section .contact-card,
  body.contact-page .contact-section .contact-form{
    padding:22px 22px 12px;
  }
  body.contact-page .contact-section .contact-pill{
    font-size:16px;
  }
  body.contact-page .contact-section .contact-pill-row .contact-pill{
    font-size:16px;
  }
}
/* Phone & chat pills: inline icon+text links — no button fill, no icon chip, shake on hover */
@keyframes contact-pill-shake{
  0%   { transform:translateX(0) rotate(0deg); }
  15%  { transform:translateX(-1px) rotate(-12deg); }
  30%  { transform:translateX(1px) rotate(12deg); }
  45%  { transform:translateX(-1px) rotate(-10deg); }
  60%  { transform:translateX(1px) rotate(10deg); }
  75%  { transform:translateX(-1px) rotate(-6deg); }
  100% { transform:translateX(0) rotate(0deg); }
}
body.contact-page .contact-section .contact-pill-row .contact-pill--phone,
body.contact-page .contact-section .contact-pill-row .contact-pill--chat{
  background:transparent !important;
  border-color:transparent !important;
  color:#fff !important;
  box-shadow:none;
  width:fit-content;
  max-width:100%;
  margin-inline:auto;
}
body.contact-page .contact-section .contact-pill-row .contact-pill--phone:is(:hover, :focus-visible),
body.contact-page .contact-section .contact-pill-row .contact-pill--chat:is(:hover, :focus-visible){
  background:transparent !important;
  border-color:transparent !important;
  color:var(--pastel-green) !important;
  transform:none;
  box-shadow:none;
}
body.contact-page .contact-section .contact-pill-row .contact-pill--phone .contact-icon,
body.contact-page .contact-section .contact-pill-row .contact-pill--chat .contact-icon{
  background:transparent;
  border:0;
  border-radius:0;
  width:auto;
  height:auto;
  flex:0 0 auto;
  padding:0;
}
body.contact-page .contact-section .contact-pill-row .contact-pill--phone .contact-icon :is(svg, img),
body.contact-page .contact-section .contact-pill-row .contact-pill--chat .contact-icon :is(svg, img){
  width:45px;
  height:45px;
  transform-origin:50% 50%;
}
body.contact-page .contact-section .contact-pill-row .contact-pill--phone .contact-icon img,
body.contact-page .contact-section .contact-pill-row .contact-pill--chat .contact-icon img{
  display:block;
  object-fit:contain;
  filter:brightness(0) saturate(100%) invert(88%) sepia(24%) saturate(659%) hue-rotate(84deg) brightness(103%) contrast(97%);
}
body.contact-page .contact-section .contact-pill--phone:is(:hover, :focus-visible) .contact-icon :is(svg, img),
body.contact-page .contact-section .contact-pill--chat:is(:hover, :focus-visible) .contact-icon :is(svg, img){
  animation:contact-pill-shake .5s ease-in-out;
}

@media (prefers-reduced-motion: reduce){
  body.contact-page .contact-section .contact-pill,
  body.contact-page .contact-submit{
    transition:none;
  }
  body.contact-page .contact-section .contact-pill:is(:hover, :focus-visible),
  body.contact-page .contact-submit:is(:hover, :focus-visible){
    transform:none;
  }
  body.contact-page .contact-section .contact-submit:is(:hover, :focus-visible) img,
  body.contact-page .contact-section .contact-card--support .contact-pill:is(:hover, :focus-visible) img{
    animation:none;
  }
  body.contact-page .contact-section .contact-pill--phone:is(:hover, :focus-visible) .contact-icon :is(svg, img),
  body.contact-page .contact-section .contact-pill--chat:is(:hover, :focus-visible) .contact-icon :is(svg, img){
    animation:none;
  }
  body.contact-page .contact-trust-item:is(:hover, :focus-within){
    transform:none;
  }
}

/* Case Studies index page */
body.case-studies-page[data-site-section]:not(.svc-parent-page):not(.home):not([data-site-section="home"]){
  background:
    url("../public/DBWebBackgrounds/bg-dark.png") top center / cover no-repeat fixed,
    #001a28;
  color:#fff;
}
body.case-studies-page .crumbs{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 22px;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
}
body.case-studies-page .crumbs a{ color:rgba(255,255,255,.86); text-decoration:none }
body.case-studies-page .crumbs a:hover{ color:#9cfac7 }
body.case-studies-page .crumbs span{ margin:0 2px; opacity:.5 }
body.case-studies-page{
  color:#fff;
  font-family:var(--body-font);
}
body.case-studies-page :is(h1, h2, h3, h4, p, a, span, strong, em, small, button, input, textarea, select, div){
  font-family:var(--body-font);
}
body.case-studies-page .case-study-shell{
  position:relative;
  padding:0 0 44px;
  overflow:hidden;
  --hero-network-overlay-height:430px;
}
body.case-studies-page .case-study-shell > *{
  position:relative;
  z-index:1;
}
body.case-studies-page .case-study-shell .container{
  max-width:1188px;
}
body.case-studies-page .case-study-hero{
  padding:58px 0 48px;
  border-bottom:1px solid rgba(0,138,252,.12);
  margin-bottom:30px;
}
body.case-studies-page .case-study-kicker{
  margin:0 0 14px;
  color:#4ea7ff;
  font-size:16px;
  line-height:1;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0;
}
body.case-studies-page .case-study-hero h1{
  margin:0;
  max-width:720px;
  font-family:var(--display);
  font-size:clamp(42px, 6vw, 64px);
  line-height:1.02;
  font-weight:800;
  letter-spacing:0;
  color:#fff;
}
body.case-studies-page .case-study-lede{
  margin:18px 0 0;
  max-width:60ch;
  color:#AFCBDE;
  font-size:18px;
  line-height:1.6;
}
body.case-studies-page .case-study-hero .ctas{
  margin-top:36px;
}
body.case-studies-page .case-study-hero-btn,
body.case-studies-page .case-study-featured-link,
body.case-studies-page .case-study-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  text-decoration:none;
  color:#fff;
  font-weight:700;
  transition:background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
body.case-studies-page .case-study-hero-btn{
  margin-top:30px;
  min-height:54px;
  padding:0 24px;
  border-radius:17px;
  border:1px solid rgba(82,164,255,.9);
  background:rgba(2,14,29,.56);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
body.case-studies-page .case-study-hero-btn img,
body.case-studies-page .case-study-featured-link img,
body.case-studies-page .case-study-cta-btn img{
  display:block;
  filter:brightness(0) invert(1);
}
body.case-studies-page .case-study-hero-btn:is(:hover, :focus-visible),
body.case-studies-page .case-study-featured-link:is(:hover, :focus-visible){
  color:#9cfac7;
  border-color:#9cfac7;
  transform:translateY(-1px);
  text-decoration:none;
}
body.case-studies-page .case-study-hero-btn:is(:hover, :focus-visible) img,
body.case-studies-page .case-study-featured-link:is(:hover, :focus-visible) img{
  filter:brightness(0) saturate(100%) invert(88%) sepia(24%) saturate(659%) hue-rotate(84deg) brightness(103%) contrast(97%);
  animation:cyber-arrow-bounce-right .62s cubic-bezier(.2,.88,.3,1);
}
body.case-studies-page .case-study-hero-btn--down img{
  width:14px;
  height:20px;
  object-fit:contain;
  transition:transform .18s;
}
body.case-studies-page .case-study-hero-btn--down:is(:hover, :focus-visible) img{
  animation:cyber-arrow-bounce .62s cubic-bezier(.2,.88,.3,1);
  transform:translateY(0);
  transform-origin:center;
}
body.case-studies-page .case-study-featured-section{
  padding:0 0 28px;
}
body.case-studies-page .case-study-featured{
  position:relative;
  min-height:456px;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(202,221,238,.42);
  background:
    linear-gradient(90deg, rgba(2,9,20,.98) 0%, rgba(2,9,20,.9) 36%, rgba(2,9,20,.3) 68%, rgba(2,9,20,.02) 100%),
    linear-gradient(180deg, rgba(2,9,20,.08), rgba(2,9,20,.62)),
    var(--featured-bg) center / cover no-repeat;
  box-shadow:0 26px 70px -42px rgba(0,0,0,.86);
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
body.case-studies-page .case-study-featured:is(:hover, :focus-within){
  transform:translateY(-4px);
  border-color:rgba(156,250,199,.5);
  box-shadow:0 34px 78px -40px rgba(0,0,0,.9), 0 0 0 1px rgba(156,250,199,.09);
}
body.case-studies-page .case-study-featured::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.04), transparent 34%);
  pointer-events:none;
}
body.case-studies-page .case-study-featured-copy{
  position:relative;
  z-index:2;
  width:min(100%, 570px);
  padding:74px 48px 52px;
}
body.case-studies-page .case-study-featured-logo{
  position:absolute;
  z-index:1;
  top:50%;
  right:58px;
  width:min(34%, 360px);
  max-height:160px;
  transform:translateY(-50%);
  object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.62));
}
body.case-studies-page .case-study-tag-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  max-width:100%;
}
body.case-studies-page .case-study-category{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:28px;
  padding:0 15px;
  border-radius:999px;
  border:1px solid rgba(79,162,255,.64);
  background:rgba(0,97,186,.24);
  color:#9fc9ff;
  font-size:13px;
  font-weight:700;
  line-height:1;
}
body.case-studies-page .case-study-tag-tribal{
  border-color:rgba(106,44,168,.7);
  background:rgba(106,44,168,.24);
  color:#d8b8f5;
}
body.case-studies-page .case-study-featured-sector{
  margin:0;
}
body.case-studies-page .case-study-featured-tags{
  margin:0 0 22px;
}
body.case-studies-page .case-study-service-tag{
  border-color:rgba(156,250,199,.68);
  background:rgba(45,157,112,.22);
  color:#9cfac7;
}
body.case-studies-page .case-study-featured h2{
  margin:0;
  max-width:560px;
  font-family:var(--display);
  font-size:clamp(40px, 5vw, 58px);
  line-height:1.04;
  font-weight:800;
  color:#fff;
}
body.case-studies-page .case-study-featured-copy > p:not(.case-study-featured-sector){
  margin:20px 0 0;
  max-width:520px;
  color:#d2dde8;
  font-size:21px;
  line-height:1.55;
}
body.case-studies-page .case-study-featured-link{
  margin-top:42px;
  color:#69adff;
  font-size:20px;
}
body.case-studies-page .case-study-featured:is(:hover, :focus-within) .case-study-featured-link{
  color:#9cfac7;
  text-decoration:none;
}
body.case-studies-page .case-study-featured:is(:hover, :focus-within) .case-study-featured-link img{
  filter:brightness(0) saturate(100%) invert(88%) sepia(24%) saturate(659%) hue-rotate(84deg) brightness(103%) contrast(97%);
  animation:cyber-arrow-bounce-right .62s cubic-bezier(.2,.88,.3,1);
}
body.case-studies-page .case-study-value-section{
  padding:0 0 20px;
}
body.case-studies-page .case-study-value-strip{
  position:relative;
  display:grid;
  grid-template-columns:450px minmax(0, 1fr);
  align-items:center;
  gap:40px;
  padding:0;
  overflow:visible;
  border-radius:0;
  border:0;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:none;
}
body.case-studies-page .case-study-value-strip::before{
  content:none;
}
body.case-studies-page .case-study-value-intro{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:48px minmax(0, 1fr);
  align-items:center;
  align-content:center;
  gap:15px;
  width:450px;
  padding:18px;
  border-radius:14px;
  border:1px solid rgba(156,250,199,.2);
  background:
    radial-gradient(80% 84% at 16% 14%, rgba(156,250,199,.13), transparent 62%),
    linear-gradient(180deg, rgba(9,31,48,.74) 0%, rgba(5,20,34,.78) 100%);
  box-shadow:
    0 22px 48px -34px rgba(0,0,0,.78),
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 0 42px rgba(156,250,199,.04);
}
body.case-studies-page .case-study-value-main-icon,
body.case-studies-page .case-study-value-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  flex:0 0 48px;
  border-radius:12px;
  background:rgba(156,250,199,.14);
  border:1px solid rgba(156,250,199,.22);
  color:#9cfac7;
}
body.case-studies-page .case-study-value-main-icon img{
  width:24px;
  height:24px;
  filter:brightness(0) saturate(100%) invert(88%) sepia(24%) saturate(659%) hue-rotate(84deg) brightness(103%) contrast(97%);
}
body.case-studies-page .case-study-value-intro h2{
  margin:0;
  color:#fff;
  font-family:var(--display);
  font-size:22px;
  line-height:1.18;
  font-weight:800;
}
body.case-studies-page .case-study-value-intro p{
  margin:8px 0 0;
  color:#C6DCEA;
  font-size:13.5px;
  line-height:1.45;
}
body.case-studies-page .case-study-value-node{
  position:absolute;
  top:50%;
  right:-9px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#9cfac7;
  border:1px solid rgba(229,255,241,.78);
  box-shadow:
    0 0 0 6px rgba(156,250,199,.1),
    0 0 24px rgba(156,250,199,.78);
  opacity:.58;
  transform:translateY(-50%) scale(.78);
  transition:opacity .22s ease, transform .22s ease, box-shadow .22s ease;
}
body.case-studies-page .case-study-value-strip.is-connector-active .case-study-value-node{
  opacity:1;
  transform:translateY(-50%) scale(1);
  box-shadow:
    0 0 0 8px rgba(156,250,199,.13),
    0 0 32px rgba(156,250,199,.86);
}
body.case-studies-page .case-study-value-connector{
  position:absolute;
  inset:0;
  z-index:4;
  width:100%;
  height:100%;
  pointer-events:none;
  overflow:visible;
  opacity:0;
  transition:opacity .2s ease;
}
body.case-studies-page .case-study-value-strip.is-connector-active .case-study-value-connector{
  opacity:1;
}
body.case-studies-page .case-study-value-connector-path{
  fill:none;
  stroke:#9cfac7;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:1;
  stroke-dashoffset:1;
  filter:drop-shadow(0 0 9px rgba(156,250,199,.76));
  marker-end:url(#case-study-value-arrowhead);
  transition:stroke-dashoffset .38s cubic-bezier(.2,.82,.2,1), opacity .18s ease;
}
body.case-studies-page .case-study-value-connector marker circle{
  fill:#9cfac7;
  stroke:rgba(229,255,241,.78);
  stroke-width:.5;
}
body.case-studies-page .case-study-value-strip.is-connector-active .case-study-value-connector-path{
  stroke-dashoffset:0;
}
body.case-studies-page .case-study-value-items{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  width:400px;
  justify-self:end;
  padding-left:0;
}
body.case-studies-page .case-study-value-item{
  position:relative;
  display:grid;
  grid-template-columns:48px minmax(0, 1fr);
  align-items:flex-start;
  column-gap:15px;
  row-gap:6px;
  min-height:0;
  padding:14px;
  border-radius:13px;
  border:1px solid rgba(180,220,245,.17);
  background:
    radial-gradient(90% 120% at 0% 0%, rgba(156,250,199,.07), transparent 58%),
    linear-gradient(180deg, rgba(12,34,54,.58), rgba(7,22,37,.66));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
  text-align:left;
  outline:none;
  transition:
    transform .24s ease,
    border-color .24s ease,
    background .24s ease,
    box-shadow .24s ease;
}
body.case-studies-page .case-study-value-item:is(:hover, :focus-visible, .is-active){
  transform:translateY(-3px);
  border-color:rgba(156,250,199,.43);
  background:
    radial-gradient(90% 120% at 0% 0%, rgba(156,250,199,.11), transparent 58%),
    linear-gradient(180deg, rgba(16,42,63,.72), rgba(8,25,42,.78));
  box-shadow:
    0 18px 36px -28px rgba(0,0,0,.82),
    0 0 0 1px rgba(156,250,199,.08),
    0 0 26px rgba(156,250,199,.07),
    inset 0 1px 0 rgba(255,255,255,.06);
}
body.case-studies-page .case-study-value-icon{
  margin:0;
  position:relative;
  z-index:1;
  grid-row:1 / span 2;
  transition:
    background .24s ease,
    border-color .24s ease,
    box-shadow .24s ease,
    transform .24s ease;
}
body.case-studies-page .case-study-value-icon img{
  width:23px;
  height:23px;
  filter:brightness(0) saturate(100%) invert(88%) sepia(24%) saturate(659%) hue-rotate(84deg) brightness(103%) contrast(97%);
}
body.case-studies-page .case-study-value-item h3{
  grid-column:2;
  margin:0;
  color:#fff;
  font-family:var(--display);
  font-size:16px;
  line-height:1.2;
  font-weight:800;
}
body.case-studies-page .case-study-value-item p{
  grid-column:2;
  margin:0;
  max-width:24ch;
  color:#C6DCEA;
  font-size:12.5px;
  line-height:1.4;
}
body.case-studies-page .case-study-value-item:is(:hover, :focus-visible, .is-active) .case-study-value-icon{
  transform:translateY(-2px);
  background:rgba(156,250,199,.2);
  border-color:rgba(156,250,199,.36);
  box-shadow:0 0 0 1px rgba(156,250,199,.08), 0 14px 28px -18px rgba(156,250,199,.5);
}
body.case-studies-page .case-study-filter-section{
  padding:28px 0 32px;
  border-top:1px solid rgba(0,138,252,.12);
  scroll-margin-top:96px;
}
body.case-studies-page .case-study-filter-nav{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:16px;
}
body.case-studies-page .case-study-filter-btn{
  min-height:42px;
  height:42px;
  padding:0 24px;
  border-radius:999px;
  border:0.5px solid transparent;
  background:rgba(0,100,180,.38);
  color:#fff;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  box-shadow:none;
  transition:
    background .2s ease,
    border-color .2s ease,
    color .18s ease,
    transform .18s ease;
}
body.case-studies-page .case-study-filter-btn:is(:hover, :focus-visible){
  transform:translateY(-1px);
  border-color:#008afc;
  color:#9cfac7;
  background:rgba(0,138,252,.28);
  text-decoration:none;
}
body.case-studies-page .case-study-filter-btn.is-active{
  background:rgba(0,79,122,.45);
  border:0.5px solid rgba(156,250,199,.35);
  color:#9cfac7;
  box-shadow:none;
}
body.case-studies-page .case-study-filter-btn.is-active:is(:hover, :focus-visible){
  background:rgba(0,79,122,.45);
  border-color:rgba(156,250,199,.35);
  color:#9cfac7;
}
body.case-studies-page .case-study-grid-section{
  padding:0 0 28px;
}
body.case-studies-page .case-studies-grid{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:18px;
  max-height:644px;
  overflow-y:auto;
  padding:4px 18px 4px 4px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.85) transparent;
}
body.case-studies-page .case-studies-grid::-webkit-scrollbar{
  width:6px;
}
body.case-studies-page .case-studies-grid::-webkit-scrollbar-track{
  background:transparent;
}
body.case-studies-page .case-studies-grid::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.85);
  border-radius:999px;
}
body.case-studies-page .case-studies-grid.is-filter-transitioning{
  scrollbar-color:transparent transparent;
}
body.case-studies-page .case-studies-grid.is-filter-transitioning::-webkit-scrollbar-thumb{
  background:transparent;
}
body.case-studies-page .case-study-card{
  grid-column:span 4;
  position:relative;
  min-height:304px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(165,195,220,.42);
  background:#061322;
  color:#fff;
  text-decoration:none;
  box-shadow:0 20px 48px -34px rgba(0,0,0,.86);
  isolation:isolate;
  transition:
    opacity .22s ease,
    filter .22s ease,
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}
body.case-studies-page .case-study-card.is-filtering-in{
  animation:case-study-card-filter-in .34s ease both;
}
body.case-studies-page .case-study-card[hidden]{
  display:none;
}
body.case-studies-page .case-studies-grid.is-filtered .case-study-card:not([hidden]){
  grid-column:span 4;
}
body.case-studies-page .case-studies-grid.is-filtered[data-visible-count="1"] .case-study-card:not([hidden]),
body.case-studies-page .case-studies-grid.is-filtered[data-visible-count="2"] .case-study-card:not([hidden]){
  grid-column:span 6;
}
body.case-studies-page .case-studies-grid.is-filtered[data-visible-count="1"] .case-study-card:not([hidden]){
  grid-column:4 / span 6;
}
body.case-studies-page .case-studies-grid .case-study-card.is-last-row-start:not([hidden]){
  grid-column:3 / span 4;
}
body.case-studies-page .case-studies-grid .case-study-card.is-last-row-second:not([hidden]){
  grid-column:7 / span 4;
}
body.case-studies-page .case-studies-grid .case-study-card.is-last-row-only:not([hidden]){
  grid-column:5 / span 4;
}
body.case-studies-page .case-study-card-pyramid{
  grid-column:span 4;
}
body.case-studies-page .case-study-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:var(--cs-bg) center / cover no-repeat;
  filter:grayscale(100%) brightness(.44) contrast(1.05);
  transform:scale(1.035);
  transition:filter .26s ease, transform .26s ease;
}
body.case-studies-page .case-study-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(72% 70% at 50% 34%, rgba(15,44,75,.12), transparent 60%),
    linear-gradient(180deg, rgba(2,9,20,.1) 0%, rgba(2,9,20,.42) 48%, rgba(2,9,20,.96) 100%);
  pointer-events:none;
}
body.case-studies-page .case-study-card:hover{
  transform:translateY(-4px);
  border-color:rgba(156,250,199,.5);
  box-shadow:0 28px 64px -34px rgba(0,0,0,.88), 0 0 0 1px rgba(156,250,199,.09);
  text-decoration:none;
}
body.case-studies-page .case-study-card.is-filtering-out,
body.case-studies-page .case-study-card.is-filtering-out:hover{
  opacity:0;
  filter:blur(4px);
  transform:translateY(12px) scale(.985);
  pointer-events:none;
}
body.case-studies-page .case-study-card:hover::before{
  filter:grayscale(78%) brightness(.55) contrast(1.1);
  transform:scale(1.065);
}
body.case-studies-page .case-study-card-blank::before{
  background:
    radial-gradient(82% 88% at 74% 18%, rgba(0,138,252,.18), transparent 58%),
    radial-gradient(64% 74% at 18% 72%, rgba(156,250,199,.08), transparent 68%),
    linear-gradient(135deg, rgba(13,42,71,.76), rgba(3,13,25,.96));
  filter:none;
  transform:none;
}
body.case-studies-page .case-study-card-blank:hover::before{
  filter:none;
  transform:none;
}
body.case-studies-page .case-study-card-tag{
  position:absolute;
  top:18px;
  left:20px;
  z-index:1;
  display:inline-block;
  padding:0 0 4px;
  font-size:13px;
  font-weight:700;
  line-height:1.1;
  color:#9cfac7;
  letter-spacing:.02em;
  text-transform:none;
  background:transparent;
  border:0;
  border-radius:0;
}
body.case-studies-page .case-study-card-tag::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:1.5px;
  background:#9cfac7;
  transition:width .28s ease;
}
body.case-studies-page .case-study-card:hover .case-study-card-tag::after{
  width:50%;
}
body.case-studies-page .case-study-logo{
  position:absolute;
  top:48px;
  bottom:96px;
  left:0;
  right:0;
  margin:auto;
  width:auto;
  max-width:70%;
  max-height:92px;
  object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.48));
}
body.case-studies-page .case-study-logo-worksoft{
  max-width:82%;
  max-height:112px;
}
body.case-studies-page .case-study-logo-ctsa{
  max-width:76%;
  max-height:118px;
}
body.case-studies-page .case-study-meta{
  position:absolute;
  left:20px;
  right:20px;
  bottom:24px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:11px;
}
body.case-studies-page .case-study-meta h3{
  margin:0;
  max-width:calc(100% - 54px);
  color:#fff;
  font-family:var(--display);
  font-size:16px;
  font-weight:600;
  line-height:1.2;
}
body.case-studies-page .case-study-arrow{
  position:absolute;
  right:20px;
  bottom:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  background:transparent;
  transition:transform .2s ease;
}
body.case-studies-page .case-study-arrow img{
  width:42px;
  height:28px;
  display:block;
  filter:brightness(0) invert(1);
}
body.case-studies-page .case-study-card:hover .case-study-arrow{
  transform:translateX(2px);
}
body.case-studies-page .case-study-card:hover .case-study-arrow img{
  filter:brightness(0) saturate(100%) invert(88%) sepia(24%) saturate(659%) hue-rotate(84deg) brightness(103%) contrast(97%);
  animation:cyber-arrow-bounce-right .62s cubic-bezier(.2,.88,.3,1);
}
body.case-studies-page .case-study-grid-section{
  scroll-margin-top:96px;
}
body.case-studies-page .case-study-cta{
  padding:0 0 18px;
}
body.case-studies-page .case-study-cta-panel{
  min-height:138px;
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:28px;
  padding:30px 44px 30px 32px;
  text-align:left;
  border-radius:16px;
  border:1px solid rgba(0,138,252,.16);
  background:linear-gradient(180deg, rgba(9,29,41,.46) 0%, rgba(4,19,30,.52) 100%);
  backdrop-filter:blur(24px) saturate(1.2);
  -webkit-backdrop-filter:blur(24px) saturate(1.2);
  box-shadow:0 18px 42px -30px rgba(0,0,0,.52);
}
body.case-studies-page .case-study-cta-kicker{
  display:inline-flex;
  align-items:center;
  gap:0;
  margin:0 0 14px;
  padding:9px 16px;
  border-radius:999px;
  background:rgba(8,24,42,.42);
  border:1px solid rgba(156,250,199,.18);
  color:#9cfac7;
  font-family:var(--mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
body.case-studies-page .case-study-cta-kicker > span{
  position:relative;
  z-index:1;
}
body.case-studies-page .case-study-cta-kicker::after{
  content:"";
  position:absolute;
  inset:-18% auto -18% -34%;
  width:34%;
  background:linear-gradient(115deg, transparent 0%, rgba(255,255,255,.04) 30%, rgba(255,255,255,.34) 50%, rgba(156,250,199,.2) 62%, transparent 100%);
  transform:translateX(-180%) skewX(-20deg);
  pointer-events:none;
  z-index:0;
  animation:cyber-kicker-sheen 4s ease-out infinite;
}
body.case-studies-page .case-study-cta-copy h2{
  margin:0;
  font-family:var(--display);
  color:#fff;
  font-size:30px;
  line-height:1.16;
  font-weight:800;
}
body.case-studies-page .case-study-cta-btn{
  min-height:42px;
  height:42px;
  padding:0 24px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:0.5px solid transparent;
  color:#fff;
  font-size:14px;
  font-weight:600;
  box-shadow:none;
  width:fit-content;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:background .2s, border-color .2s, transform .18s, color .18s;
}
body.case-studies-page .case-study-cta-btn img{
  flex-shrink:0;
  transition:transform .18s;
}
body.case-studies-page .case-study-cta-btn:is(:hover, :focus-visible){
  background:rgba(0,138,252,.28);
  border:0.5px solid #008afc;
  color:#9cfac7;
  transform:translateY(-1px);
  text-decoration:none;
}
body.case-studies-page .case-study-cta-btn:is(:hover, :focus-visible) img{
  transform:translateX(2px);
  filter:brightness(0) saturate(100%) invert(88%) sepia(24%) saturate(659%) hue-rotate(84deg) brightness(103%) contrast(97%);
  animation:cyber-arrow-bounce-right .62s cubic-bezier(.2,.88,.3,1);
}

@media (max-width:1060px){
  body.case-studies-page .case-study-card,
  body.case-studies-page .case-study-card-pyramid{
    grid-column:span 6;
  }
  body.case-studies-page .case-studies-grid.is-filtered .case-study-card:not([hidden]),
  body.case-studies-page .case-studies-grid.is-filtered[data-visible-count] .case-study-card:not([hidden]){
    grid-column:span 6;
  }
  body.case-studies-page .case-studies-grid.is-filtered[data-visible-count="1"] .case-study-card:not([hidden]){
    grid-column:span 6;
  }
  body.case-studies-page .case-studies-grid .case-study-card.is-last-row-start:not([hidden]),
  body.case-studies-page .case-studies-grid .case-study-card.is-last-row-second:not([hidden]),
  body.case-studies-page .case-studies-grid .case-study-card.is-last-row-only:not([hidden]){
    grid-column:span 6;
  }
  body.case-studies-page .case-study-featured{
    background:
      linear-gradient(90deg, rgba(2,9,20,.98) 0%, rgba(2,9,20,.86) 48%, rgba(2,9,20,.22) 100%),
      linear-gradient(180deg, rgba(2,9,20,.08), rgba(2,9,20,.62)),
      var(--featured-bg) center / cover no-repeat;
  }
  body.case-studies-page .case-study-featured-logo{
    right:36px;
    width:min(30%, 290px);
    max-height:130px;
  }
  body.case-studies-page .case-study-value-strip{
    grid-template-columns:1fr;
    gap:26px;
    padding:0;
  }
  body.case-studies-page .case-study-value-intro{
    min-height:auto;
    width:auto;
  }
  body.case-studies-page .case-study-value-node,
  body.case-studies-page .case-study-value-connector{
    display:none;
  }
  body.case-studies-page .case-study-value-items{
    padding-left:0;
    width:auto;
  }
  body.case-studies-page .case-study-filter-nav{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}
@media (max-width:760px){
  body.case-studies-page .case-study-shell::before{
    opacity:.32;
  }
  body.case-studies-page .case-study-hero{
    padding:42px 0 22px;
  }
  body.case-studies-page .case-study-lede{
    font-size:18px;
  }
  body.case-studies-page .case-study-value-intro{
    grid-template-columns:48px minmax(0, 1fr);
    gap:15px;
  }
  body.case-studies-page .case-study-filter-nav{
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding-bottom:4px;
    scrollbar-width:none;
  }
  body.case-studies-page .case-study-filter-nav::-webkit-scrollbar{
    display:none;
  }
  body.case-studies-page .case-study-filter-btn{
    min-width:max-content;
    min-height:46px;
    padding:0 18px;
    border-radius:14px;
  }
  body.case-studies-page .case-study-value-items{
    grid-template-columns:1fr;
  }
  body.case-studies-page .case-study-value-item{
    text-align:left;
  }
  body.case-studies-page .case-study-value-icon{
    margin:0;
  }
  body.case-studies-page .case-study-value-item p{
    max-width:38ch;
  }
  body.case-studies-page .case-study-featured{
    min-height:0;
    background:
      linear-gradient(180deg, rgba(2,9,20,.66), rgba(2,9,20,.98) 72%),
      var(--featured-bg) center / cover no-repeat;
  }
  body.case-studies-page .case-study-featured-copy{
    padding:220px 24px 32px;
  }
  body.case-studies-page .case-study-featured-logo{
    top:70px;
    left:24px;
    right:auto;
    width:min(62%, 280px);
    max-height:96px;
    transform:none;
  }
  body.case-studies-page .case-study-card,
  body.case-studies-page .case-study-card-pyramid{
    grid-column:span 12;
    min-height:292px;
  }
  body.case-studies-page .case-studies-grid.is-filtered .case-study-card:not([hidden]),
  body.case-studies-page .case-studies-grid.is-filtered[data-visible-count] .case-study-card:not([hidden]){
    grid-column:span 12;
  }
  body.case-studies-page .case-studies-grid .case-study-card.is-last-row-start:not([hidden]),
  body.case-studies-page .case-studies-grid .case-study-card.is-last-row-second:not([hidden]),
  body.case-studies-page .case-studies-grid .case-study-card.is-last-row-only:not([hidden]){
    grid-column:span 12;
  }
  body.case-studies-page .case-study-cta-panel{
    grid-template-columns:1fr;
    justify-items:start;
    padding:28px 24px;
  }
  body.case-studies-page .case-study-cta-btn{
    width:100%;
  }
  body.case-studies-page .case-study-logo-worksoft,
  body.case-studies-page .case-study-logo-ctsa{
    max-height:92px;
  }
}
@media (max-width:480px){
  body.case-studies-page .case-study-featured-copy{
    padding:180px 20px 28px;
  }
  body.case-studies-page .case-study-featured h2{
    font-size:36px;
  }
  body.case-studies-page .case-study-featured-copy > p:not(.case-study-featured-sector){
    font-size:18px;
  }
  body.case-studies-page .case-study-value-intro{
    grid-template-columns:1fr;
  }
  body.case-studies-page .case-study-value-item{
    grid-template-columns:1fr;
  }
  body.case-studies-page .case-study-value-icon,
  body.case-studies-page .case-study-value-item h3,
  body.case-studies-page .case-study-value-item p{
    grid-column:1;
  }
  body.case-studies-page .case-study-value-icon{
    grid-row:auto;
  }
  body.case-studies-page .case-study-logo{
    max-width:68%;
  }
}

@media (prefers-reduced-motion: reduce){
  body.case-studies-page .case-study-hero-btn,
  body.case-studies-page .case-study-featured-link,
  body.case-studies-page .case-study-cta-btn,
  body.case-studies-page .case-study-featured,
  body.case-studies-page .case-study-card,
  body.case-studies-page .case-study-card::before,
  body.case-studies-page .case-study-value-item,
  body.case-studies-page .case-study-value-node,
  body.case-studies-page .case-study-value-connector,
  body.case-studies-page .case-study-value-connector-path,
  body.case-studies-page .case-study-value-icon img,
  body.case-studies-page .case-study-filter-btn,
  body.case-studies-page .case-study-arrow{
    transition:none;
  }
  body.case-studies-page .case-study-hero-btn:is(:hover, :focus-visible),
  body.case-studies-page .case-study-featured-link:is(:hover, :focus-visible),
  body.case-studies-page .case-study-cta-btn:is(:hover, :focus-visible),
  body.case-studies-page .case-study-featured:is(:hover, :focus-within),
  body.case-studies-page .case-study-card:hover,
  body.case-studies-page .case-study-card:hover::before,
  body.case-studies-page .case-study-value-item:hover,
  body.case-studies-page .case-study-filter-btn:is(:hover, :focus-visible),
  body.case-studies-page .case-study-card:hover .case-study-arrow{
    transform:none;
  }
  body.case-studies-page :is(.case-study-hero-btn, .case-study-hero-btn--down, .case-study-featured-link, .case-study-cta-btn):is(:hover, :focus-visible) img,
  body.case-studies-page .case-study-featured:is(:hover, :focus-within) .case-study-featured-link img,
  body.case-studies-page .case-study-card:hover .case-study-arrow img,
  body.case-studies-page .case-study-card.is-filtering-in,
  body.case-studies-page .case-study-cta-kicker::after{
    animation:none;
  }
}
