/*
Theme Name: Drexson Technologies v2.33 Phone Footer
Theme URI: https://drexson.com
Author: Drexson Technologies
Description: Custom corporate WordPress theme for Drexson Technologies.
Version: 2.33.0
Text Domain: drexson
*/

:root{
  --navy-950:#041023;
  --navy-900:#071A36;
  --navy-800:#0A2E66;
  --blue-600:#1269CC;
  --blue-500:#1479E8;
  --blue-400:#2A94F4;
  --silver-500:#7D8998;
  --silver-200:#D7DDE5;
  --white:#FFFFFF;
  --ink:#0B1728;
  --bg:#F6F8FB;
  --radius:18px;
  --shadow:0 18px 50px rgba(7,26,54,.10);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{width:min(calc(100% - 40px),var(--max));margin:0 auto}
.kicker{display:inline-flex;align-items:center;gap:10px;color:var(--blue-600);font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.kicker:before{content:"";width:28px;height:2px;background:var(--blue-500);border-radius:999px}
h1,h2,h3{font-family:"Aptos Display",Inter,ui-sans-serif,system-ui,sans-serif;line-height:1.06;margin:0}
h1{font-size:clamp(3rem,7vw,6.6rem);letter-spacing:-.055em}
h2{font-size:clamp(2.2rem,4vw,4.1rem);letter-spacing:-.04em}
h3{font-size:1.28rem;letter-spacing:-.02em}
p{margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;border:1px solid transparent;font-weight:750;transition:.2s ease;cursor:pointer}
.btn-primary{background:linear-gradient(135deg,var(--blue-600),var(--blue-400));color:#fff;box-shadow:0 12px 30px rgba(20,121,232,.24)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 16px 38px rgba(20,121,232,.32)}
.btn-ghost{border-color:rgba(255,255,255,.22);color:#fff;background:rgba(255,255,255,.06)}
.btn-ghost:hover{background:rgba(255,255,255,.11)}
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(4,16,35,.84);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand-mini{display:flex;align-items:center;gap:11px;color:#fff;font-weight:800;letter-spacing:.09em;font-size:.92rem}
.brand-mini img{width:34px;height:34px;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:30px;color:#dce8f8;font-size:.92rem;font-weight:650}
.nav-links a:hover{color:#fff}
.hero{min-height:880px;color:#fff;background:radial-gradient(circle at 78% 30%,rgba(20,121,232,.30),transparent 26%),radial-gradient(circle at 20% 80%,rgba(18,105,204,.18),transparent 30%),linear-gradient(145deg,#041023 0%,#071A36 58%,#0A2E66 135%);position:relative;overflow:hidden;padding:160px 0 105px}
.hero:after{content:"";position:absolute;right:-13vw;bottom:-28vw;width:62vw;height:62vw;border-radius:50%;border:1px solid rgba(42,148,244,.18);box-shadow:0 0 0 60px rgba(42,148,244,.035),0 0 0 120px rgba(42,148,244,.025)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;position:relative;z-index:2}
.hero-copy{max-width:730px}
.hero h1{margin-top:22px}
.hero .lead{margin-top:28px;max-width:720px;color:#cbd9ea;font-size:clamp(1.08rem,1.65vw,1.35rem)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.hero-mark{background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.10);border-radius:32px;padding:20px;box-shadow:0 35px 100px rgba(0,0,0,.22);position:relative}
.hero-mark img{width:100%;filter:drop-shadow(0 18px 25px rgba(0,0,0,.18));border-radius:22px}
.hero-mark:before{content:"";position:absolute;inset:18px;border:1px solid rgba(42,148,244,.15);border-radius:24px;pointer-events:none}
.trust-strip{position:relative;z-index:3;margin-top:70px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.12)}
.trust-item{padding:24px 18px 0 0}
.trust-item strong{display:block;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.trust-item span{display:block;margin-top:6px;color:#91a5bf;font-size:.92rem}
.section{padding:108px 0}
.section-soft{background:var(--bg)}
.section-head{max-width:770px}
.section-head h2{margin-top:16px;color:var(--navy-900)}
.section-head p{margin-top:24px;color:#5d6b7c;font-size:1.08rem}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}
.card{background:#fff;border:1px solid #e8edf4;border-radius:var(--radius);padding:30px;box-shadow:0 10px 28px rgba(7,26,54,.045);transition:.2s ease}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#eaf4ff,#f8fbff);border:1px solid #dbeaf9;margin-bottom:22px}
.card-icon svg{width:25px;height:25px;stroke:var(--blue-600);fill:none;stroke-width:1.9}
.card p{margin-top:12px;color:#657386}
.approach-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:65px;align-items:start}
.principles{display:grid;gap:18px}
.principle{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:21px 0;border-bottom:1px solid #e7ebf1}
.principle:last-child{border-bottom:0}
.num{font-size:1rem;font-weight:900;color:var(--blue-600);letter-spacing:.10em;line-height:1}
.principle p{margin-top:7px;color:#647285}
.practice{background:linear-gradient(150deg,#06152c,#0a2e66);color:#fff;overflow:hidden;position:relative}
.practice:before{content:"";position:absolute;inset:auto -10% -55% auto;width:530px;height:530px;border-radius:50%;background:radial-gradient(circle,rgba(42,148,244,.27),transparent 60%)}
.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:2}
.practice h2{margin-top:16px}
.practice p{margin-top:22px;color:#c9d7e8;font-size:1.06rem}
.practice-panel{padding:32px;border:1px solid rgba(255,255,255,.12);border-radius:26px;background:rgba(255,255,255,.06);backdrop-filter:blur(12px)}
.practice-panel .small{font-size:.76rem;text-transform:uppercase;letter-spacing:.14em;color:#7fc4ff;font-weight:800}
.practice-panel h3{font-size:1.7rem;margin-top:12px}
.practice-panel p{font-size:.96rem}
.tag-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.tag{padding:8px 11px;border:1px solid rgba(255,255,255,.13);border-radius:999px;font-size:.78rem;color:#d8e7f8;background:rgba(255,255,255,.04)}
.company-grid{display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:center}
.company-copy p{margin-top:23px;color:#5f6d7e;font-size:1.08rem}
.quote-card{padding:38px;border-left:4px solid var(--blue-500);background:#f7f9fc;border-radius:0 18px 18px 0}
.quote-card strong{display:block;color:var(--navy-900);font-size:1.25rem;line-height:1.35}
.quote-card span{display:block;margin-top:15px;color:#7b8795;font-size:.9rem}
.footer{background:#031022;color:#a6b5c8;padding:38px 0}
.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer-brand{display:flex;align-items:center;gap:14px;color:#fff}
.footer-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(42,147,255,.42);border-radius:8px;background:rgba(42,147,255,.07);overflow:hidden}
.footer-mark img{width:27px;height:27px;object-fit:cover;object-position:center;border-radius:4px}
.footer-signature{display:flex;flex-direction:column;line-height:1}
.footer-signature strong{font-size:.88rem;font-weight:800;letter-spacing:.16em}
.footer-signature span{margin-top:5px;font-size:.56rem;font-weight:700;letter-spacing:.29em;color:#7fb9f4}
.footer small{font-size:.82rem}
.page-shell{padding:135px 0 80px;min-height:70vh}
.page-shell h1{font-size:clamp(2.6rem,6vw,5rem);color:var(--navy-900);margin-bottom:24px}
.page-shell .entry-content{max-width:850px}
.page-shell .entry-content p{margin:0 0 18px;color:#5d6b7c}
@media (max-width:900px){
  .nav-links{display:none}
  .hero{min-height:auto;padding-top:135px}
  .hero-grid,.approach-grid,.practice-grid,.company-grid{grid-template-columns:1fr}
  .hero-mark{max-width:620px}
  .cap-grid{grid-template-columns:1fr}
  .trust-strip{grid-template-columns:1fr 1fr}
  .section{padding:82px 0}
}
@media (max-width:560px){
  .container{width:min(calc(100% - 28px),var(--max))}
  .hero h1{font-size:3.2rem}
  .trust-strip{grid-template-columns:1fr}
  .footer-grid{align-items:flex-start;flex-direction:column}
  .hero-actions .btn{width:100%}
}


/* ===== Drexson v1.1 hero/header refinements ===== */
.site-header{background:rgba(4,16,35,.90)}
.nav{height:92px}
.brand-mini{gap:16px}
.brand-mini img{width:54px;height:54px}
.brand-mini span{font-size:1.10rem;letter-spacing:.12em}
.hero{padding:150px 0 82px;min-height:820px}
.hero-grid{grid-template-columns:1.13fr .87fr;gap:50px}
.hero-copy{max-width:840px}
.hero h1{
  font-size:clamp(4.3rem,6.6vw,7.4rem);
  line-height:.98;
  letter-spacing:-.06em;
  max-width:870px;
}
.hero .lead{max-width:700px;margin-top:28px}
.hero-visual{
  position:relative;
  min-height:500px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-visual:before{
  content:"";
  position:absolute;
  inset:8% 4% 4% 8%;
  border-radius:30px;
  background:radial-gradient(circle at 55% 45%,rgba(42,148,244,.20),transparent 58%);
  filter:blur(6px);
}
.hero-visual img{
  position:relative;
  width:100%;
  max-width:720px;
  border-radius:30px;
  box-shadow:0 35px 90px rgba(0,0,0,.26);
  border:1px solid rgba(255,255,255,.08);
}
.trust-strip{margin-top:54px}
.trust-item{padding-right:24px}
@media (max-width:1100px){
  .hero h1{font-size:clamp(4rem,7vw,6.3rem)}
  .hero-grid{grid-template-columns:1.05fr .95fr}
}
@media (max-width:900px){
  .nav{height:80px}
  .brand-mini img{width:46px;height:46px}
  .hero{padding-top:128px}
  .hero-grid{grid-template-columns:1fr}
  .hero h1{max-width:760px}
  .hero-visual{min-height:auto;margin-top:18px}
}


/* ===== Drexson v1.2 final top-of-page corrections ===== */
.nav{height:98px}
.brand-mini img{width:62px;height:62px}
.brand-mini span{font-size:1.18rem;letter-spacing:.13em}

.hero{padding:150px 0 78px;min-height:790px}
.hero > .container{width:min(calc(100% - 48px),1320px)}
.hero-grid{grid-template-columns:minmax(0,1.62fr) minmax(390px,.88fr);gap:44px}
.hero-copy{max-width:none}

.hero h1{
  font-size:clamp(4.35rem,5.35vw,5.25rem);
  line-height:.98;
  letter-spacing:-.055em;
  max-width:835px;
}
.hero .lead{max-width:720px;margin-top:25px;font-size:clamp(1.03rem,1.35vw,1.25rem)}
.hero-actions{margin-top:30px}

.hero-visual{
  min-height:465px;
  margin-right:-46px;
}
.hero-visual:before{
  inset:2% -4% 0 0;
  background:radial-gradient(circle at 55% 46%,rgba(42,148,244,.24),transparent 60%);
}
.hero-visual img{
  max-width:680px;
  border:0;
  border-radius:26px;
  box-shadow:none;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,black 7%,black 94%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0%,black 7%,black 94%,transparent 100%);
}

.trust-strip{
  margin-top:42px;
}
.trust-item strong{font-size:.79rem}
.trust-item span{font-size:.88rem}

@media (max-width:1200px){
  .hero > .container{width:min(calc(100% - 40px),1180px)}
  .hero-grid{grid-template-columns:1.45fr .9fr;gap:34px}
  .hero h1{font-size:clamp(4rem,5.8vw,5rem)}
  .hero-visual{margin-right:-20px}
}
@media (max-width:1000px){
  .hero-grid{grid-template-columns:1fr}
  .hero h1{font-size:clamp(4rem,8vw,5.4rem);max-width:850px}
  .hero-visual{margin-right:0;min-height:auto}
  .hero-visual img{max-width:760px}
}
@media (max-width:700px){
  .nav{height:82px}
  .brand-mini img{width:48px;height:48px}
  .brand-mini span{font-size:1rem}
  .hero{padding-top:122px}
  .hero h1{font-size:clamp(3.4rem,14vw,4.45rem)}
}


/* ===== Drexson v1.3 approved hero implementation ===== */

.site-header{
  background:#031022;
  border-bottom:1px solid rgba(42,148,244,.18);
}
.nav{
  height:118px;
}
.brand-mini{
  gap:0;
}
.brand-mini img{
  width:470px;
  max-width:42vw;
  height:auto;
  object-fit:contain;
  border-radius:0;
}
.brand-mini span{
  display:none;
}
.nav-links{
  gap:34px;
  font-size:.96rem;
  font-weight:700;
}
.nav-links a{
  color:#f3f6fb;
}
.nav-links a:hover{
  color:#64b8ff;
}

/* Hero shell */
.hero{
  min-height:0;
  padding:155px 0 0;
  background:
    radial-gradient(circle at 76% 36%,rgba(20,121,232,.13),transparent 25%),
    linear-gradient(145deg,#031022 0%,#06182f 48%,#0a2e66 132%);
}
.hero:after{
  opacity:.28;
}
.hero > .container{
  width:min(calc(100% - 56px),1420px);
}
.hero-grid{
  grid-template-columns:minmax(520px,.90fr) minmax(650px,1.10fr);
  gap:36px;
  align-items:center;
}
.hero-copy{
  max-width:650px;
  position:relative;
  z-index:3;
}
.hero h1{
  font-size:clamp(4.35rem,5.15vw,5.85rem);
  line-height:.99;
  letter-spacing:-.056em;
  max-width:650px;
  text-wrap:balance;
}
.hero .lead{
  margin-top:28px;
  max-width:610px;
  color:#d5deea;
  font-size:1.16rem;
  line-height:1.56;
}
.hero-actions{
  margin-top:30px;
  gap:16px;
}
.btn{
  min-height:56px;
  padding:0 28px;
  font-size:1rem;
}
.btn-primary{
  box-shadow:none;
}
.btn-ghost{
  border-color:#247ed6;
  background:transparent;
}

/* Fully integrated hero visual */
.hero-visual{
  position:relative;
  min-height:630px;
  margin:0 -42px 0 -16px;
  overflow:visible;
}
.hero-visual:before{
  display:none;
}
.hero-visual img{
  width:100%;
  max-width:none;
  height:630px;
  object-fit:cover;
  object-position:center center;
  border:0;
  border-radius:0;
  box-shadow:none;
  -webkit-mask-image:
    linear-gradient(to right,transparent 0%,rgba(0,0,0,.88) 8%,black 18%,black 100%),
    linear-gradient(to bottom,black 0%,black 92%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to right,transparent 0%,rgba(0,0,0,.88) 8%,black 18%,black 100%),
    linear-gradient(to bottom,black 0%,black 92%,transparent 100%);
  mask-composite:intersect;
}

/* Capability strip integrated into hero */
.trust-strip{
  width:min(calc(100% - 56px),1420px);
  margin:34px auto 0;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(72,158,239,.25);
  border-bottom:1px solid rgba(72,158,239,.16);
  padding:0;
}
.trust-item{
  min-height:136px;
  padding:26px 26px 24px 0;
  position:relative;
}
.trust-item:not(:last-child):after{
  content:"";
  position:absolute;
  right:18px;
  top:28px;
  bottom:26px;
  width:1px;
  background:rgba(72,158,239,.22);
}
.trust-item strong{
  font-size:.84rem;
  letter-spacing:.075em;
}
.trust-item span{
  margin-top:9px;
  color:#a9bed5;
  font-size:.92rem;
  max-width:250px;
}

/* Header responsiveness */
@media (max-width:1250px){
  .nav{height:105px}
  .brand-mini img{width:390px;max-width:40vw}
  .hero-grid{grid-template-columns:1fr 1fr}
  .hero h1{font-size:clamp(4rem,5.4vw,5.2rem)}
  .hero-visual{min-height:560px;margin-right:-24px}
  .hero-visual img{height:560px}
}
@media (max-width:1000px){
  .nav{height:88px}
  .brand-mini img{width:300px;max-width:56vw}
  .hero{padding-top:125px}
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{max-width:780px}
  .hero h1{max-width:760px;font-size:clamp(4rem,8vw,5.35rem)}
  .hero-visual{min-height:440px;margin:20px -18px 0}
  .hero-visual img{height:440px}
  .trust-strip{grid-template-columns:1fr 1fr}
  .trust-item:nth-child(2):after{display:none}
}
@media (max-width:700px){
  .brand-mini img{width:245px;max-width:70vw}
  .hero h1{font-size:clamp(3.2rem,13vw,4.4rem)}
  .hero .lead{font-size:1.02rem}
  .hero-visual{min-height:330px}
  .hero-visual img{height:330px}
  .trust-strip{grid-template-columns:1fr}
  .trust-item:after{display:none!important}
}


/* ===== Drexson v1.4 uniform background implementation ===== */
:root{--drexson-hero-bg:#000A20;}

.site-header{
  background:var(--drexson-hero-bg);
  border-bottom:1px solid rgba(42,148,244,.18);
}

.hero{
  background:var(--drexson-hero-bg);
}

.practice{
  background:var(--drexson-hero-bg);
}

.hero:after{
  display:none;
}

.hero-visual:before{
  display:none;
}

.hero-visual img{
  background:var(--drexson-hero-bg);
  -webkit-mask-image:
    linear-gradient(to right,transparent 0%,rgba(0,0,0,.98) 7%,black 15%,black 100%),
    linear-gradient(to bottom,transparent 0%,black 4%,black 96%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to right,transparent 0%,rgba(0,0,0,.98) 7%,black 15%,black 100%),
    linear-gradient(to bottom,transparent 0%,black 4%,black 96%,transparent 100%);
  mask-composite:intersect;
}

.trust-strip{
  background:var(--drexson-hero-bg);
}

.footer{
  background:var(--drexson-hero-bg);
}


/* ===== Drexson v1.5 headline line-break refinement ===== */
.hero h1{
  max-width:660px;
}


/* ===== Drexson v1.6: lock approved four-line desktop hero headline ===== */
@media (min-width: 1100px) {
  .hero-inner {
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr);
    gap: 24px;
  }

  .hero-copy {
    min-width: 0;
  }

  .hero h1 {
    max-width: none;
    width: 700px;
  }
}


/* ===== Drexson v1.7: remove redundant hero kicker ===== */
.hero-copy > .kicker{
  display:none;
}


/* ===== Drexson v1.8: calmer five-line hero ===== */
@media (min-width: 1100px) {
  .hero h1{
    width:610px;
    max-width:610px;
  }

  .hero{
    padding-bottom:92px;
  }

  .trust-strip{
    margin-top:60px;
  }
}


/* ===== Drexson v2.2: definitive header/hero flow correction ===== */
.site-header{
  position:relative;
  inset:auto;
}

@media (min-width:1001px){
  .hero{
    padding-top:52px;
  }
}

@media (max-width:1000px){
  .hero{
    padding-top:38px;
  }
}


/* ===== Drexson v2.3: restore persistent branded header without overlay ===== */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
}

/* Keep the sticky site header below the WordPress admin bar when logged in. */
body.admin-bar .site-header{
  top:32px;
}

@media screen and (max-width:782px){
  body.admin-bar .site-header{
    top:46px;
  }
}


/* ===== Drexson v2.6: responsive navigation + hero refinement ===== */
.mobile-menu-toggle{
  display:none;
  width:48px;
  height:48px;
  padding:0;
  border:1px solid rgba(74,163,255,.48);
  border-radius:12px;
  background:rgba(4,20,44,.72);
  color:#fff;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.mobile-menu-toggle span{
  display:block;
  width:22px;
  height:2px;
  background:currentColor;
  margin:4px auto;
  border-radius:2px;
  transition:transform .2s ease, opacity .2s ease;
}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media (max-width:1000px){
  /* Intentional one-column tablet hero: text first, visual retained below. */
  .hero-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .hero-copy{
    max-width:760px;
  }
  .hero h1{
    width:auto;
    max-width:720px;
    font-size:clamp(3.75rem,7.4vw,4.9rem);
    line-height:.98;
  }
  .hero-visual{
    display:flex;
    min-height:0;
    margin:8px auto 0;
    width:min(84%,760px);
  }
  .hero-visual img{
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
  }
}

@media (max-width:900px){
  .nav{
    position:relative;
    justify-content:space-between;
  }
  .mobile-menu-toggle{
    display:flex;
    flex:0 0 48px;
  }
  .nav-links{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:100%;
    z-index:120;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:10px 18px 16px;
    background:var(--drexson-hero-bg);
    border-top:1px solid rgba(42,148,244,.15);
    border-bottom:1px solid rgba(42,148,244,.24);
    box-shadow:0 18px 34px rgba(0,0,0,.28);
  }
  .nav-links.is-open{
    display:flex;
  }
  .nav-links a{
    display:block;
    padding:14px 10px;
    border-bottom:1px solid rgba(255,255,255,.07);
    font-size:1rem;
  }
  .nav-links a:last-child{border-bottom:0}
}

@media (max-width:700px){
  .hero{
    padding-top:34px;
  }
  .hero h1{
    font-size:clamp(2.85rem,11.4vw,3.75rem);
    max-width:100%;
  }
  .hero .lead{
    font-size:1rem;
    line-height:1.55;
  }
  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
  }
  .hero-actions .btn{
    width:100%;
    justify-content:center;
  }
  .hero-visual{
    width:100%;
    margin-top:14px;
  }
  .hero-visual img{
    height:auto;
  }
}


/* ===== Drexson v2.7: Core Products ===== */
.products-section{
  background:#fff;
  border-top:1px solid #edf1f6;
  border-bottom:1px solid #edf1f6;
}
.products-section .section-head{
  max-width:860px;
}
.products-section .section-head h2{
  max-width:780px;
}
.products-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:20px;
  margin-top:48px;
}
.product-card{
  grid-column:span 2;
  position:relative;
  min-height:210px;
  padding:30px 30px 28px;
  background:#f7f9fc;
  border:1px solid #e4eaf2;
  border-radius:20px;
  box-shadow:0 10px 28px rgba(7,26,54,.035);
}
.product-card:nth-child(4){
  grid-column:2 / span 2;
}
.product-card:nth-child(5){
  grid-column:4 / span 2;
}
.product-card:before{
  content:"";
  position:absolute;
  left:30px;
  top:0;
  width:44px;
  height:3px;
  background:var(--blue-500);
  border-radius:0 0 4px 4px;
}
.product-card .product-eyebrow{
  color:var(--blue-600);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.product-card h3{
  margin-top:20px;
  color:var(--navy-900);
  font-size:1.34rem;
  letter-spacing:.015em;
}
.product-card p{
  margin-top:13px;
  color:#617084;
  line-height:1.62;
}
.products-foundation{
  margin-top:34px;
  padding:22px 26px;
  border-left:3px solid var(--blue-500);
  background:#f7f9fc;
  color:#526276;
  font-size:1rem;
  line-height:1.6;
  max-width:980px;
}
.products-foundation strong{
  color:var(--navy-900);
}

@media (max-width:1000px){
  .products-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .product-card,
  .product-card:nth-child(4),
  .product-card:nth-child(5){
    grid-column:auto;
  }
  .product-card:last-child{
    grid-column:1 / -1;
  }
}

@media (max-width:650px){
  .products-grid{
    grid-template-columns:1fr;
    gap:16px;
    margin-top:34px;
  }
  .product-card,
  .product-card:nth-child(4),
  .product-card:nth-child(5),
  .product-card:last-child{
    grid-column:auto;
  }
  .product-card{
    min-height:0;
    padding:26px 24px 24px;
  }
  .products-foundation{
    margin-top:26px;
  }
}


/* ===== Drexson v2.8: revised Core Products treatment ===== */
.products-section{
  background:#f5f7fa;
  border-top:1px solid #edf1f6;
  border-bottom:1px solid #edf1f6;
}
.products-section .section-head{
  max-width:860px;
}
.products-section .section-head p{
  max-width:680px;
}
.products-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:48px;
}
.product-card,
.product-card:nth-child(4),
.product-card:nth-child(5){
  grid-column:auto;
  min-height:0;
  padding:28px 24px;
  background:#fff;
  border:1px solid #d7dde5;
  border-radius:10px;
  box-shadow:none;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.product-card:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  width:auto;
  height:3px;
  background:linear-gradient(90deg,#1269cc,#2a94f4);
  border-radius:0;
  transform:scaleX(.18);
  transform-origin:left;
  transition:transform .25s ease;
}
.product-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(7,26,54,.08);
  border-color:rgba(18,105,204,.35);
}
.product-card:hover:before{
  transform:scaleX(1);
}
.product-icon{
  width:40px;
  height:40px;
  border-radius:9px;
  background:rgba(18,105,204,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
}
.product-icon svg{
  width:20px;
  height:20px;
  stroke:#1269cc;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.product-card h3{
  margin:0 0 8px;
  color:#071a36;
  font-size:1rem;
  font-weight:700;
  letter-spacing:.01em;
}
.product-card p{
  margin:0;
  color:#7d8998;
  font-size:.91rem;
  line-height:1.55;
}
.product-card.product-brand{
  background:#071a36;
  border-color:rgba(215,221,229,.15);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.product-card.product-brand:before{
  background:linear-gradient(90deg,#2a94f4,#1479e8);
  transform:scaleX(1);
}
.product-card.product-brand:hover{
  box-shadow:0 12px 28px rgba(7,26,54,.28);
  border-color:rgba(42,148,244,.4);
}
.product-card .quote-mark{
  font-size:34px;
  line-height:1;
  color:#2a94f4;
  font-weight:700;
  margin-bottom:6px;
  font-family:Georgia,serif;
}
.product-card.product-brand p.quote{
  font-size:1rem;
  font-weight:600;
  color:#fff;
  line-height:1.5;
  margin:0 0 14px;
}
.product-card.product-brand p.attrib{
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#7d8998;
  margin:0;
}
.products-foundation{
  max-width:none;
  margin-top:56px;
  border-left:3px solid #1269cc;
  background:#fff;
  border-radius:0 8px 8px 0;
  padding:22px 28px;
  color:#26313f;
  font-size:1rem;
  line-height:1.6;
}
.products-foundation strong{
  color:#071a36;
}

@media (max-width:1000px){
  .products-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .product-card,
  .product-card:nth-child(4),
  .product-card:nth-child(5),
  .product-card:last-child{
    grid-column:auto;
  }
}
@media (max-width:650px){
  .products-grid{
    grid-template-columns:1fr;
    gap:16px;
    margin-top:34px;
  }
  .product-card{
    padding:26px 24px 24px;
  }
  .products-foundation{
    margin-top:30px;
  }
}


/* ===== Drexson v2.10: graphic-only technology foundation hero ===== */
.hero-visual img{
  width:100%;
  max-width:820px;
  height:auto;
  object-fit:contain;
  object-position:center;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
@media (max-width:1000px){
  .hero-visual img{
    max-width:760px;
    margin:0 auto;
  }
}


/* ===== Drexson v2.11: preserve full Business Information label ===== */
.hero-visual{
  overflow:visible;
}
.hero-visual img{
  max-width:840px;
  object-fit:contain;
  object-position:center;
}


/* ===== Drexson v2.12: approved full-width technology foundation graphic ===== */
.hero-visual{overflow:visible;}
.hero-visual img{width:100%;max-width:840px;height:auto;object-fit:contain;object-position:center;}


/* ===== Drexson v2.13: hero graphic fit/padding correction ===== */
@media (min-width:1001px){
  .hero-visual{
    box-sizing:border-box;
    padding-left:42px;
    padding-right:8px;
    overflow:visible;
  }

  .hero-visual img{
    width:88%;
    max-width:750px;
    height:auto;
    margin-left:auto;
    margin-right:0;
    object-fit:contain;
    object-position:center;
  }
}

@media (max-width:1000px){
  .hero-visual{
    padding-left:18px;
    padding-right:18px;
  }

  .hero-visual img{
    width:92%;
    max-width:700px;
    margin-left:auto;
    margin-right:auto;
  }
}


/* ===== Drexson v2.14: remove legacy hero-image fade mask ===== */
.hero-visual img{
  -webkit-mask-image:none !important;
  mask-image:none !important;
  -webkit-mask-composite:initial !important;
  mask-composite:initial !important;
}

/* v2.19 — hero ecosystem uses the exact Drexson D brand mark at center */
.hero-visual { background: transparent; overflow: visible; }
.hero-visual img {
  display:block;
  width:100%;
  max-width:760px;
  height:auto;
  object-fit:contain;
  object-position:center;
  background:transparent !important;
  border:0;
  border-radius:0;
  box-shadow:none;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}

/* ===== Drexson v2.20: transparent standalone hero graphic ===== */
.hero-visual{
  background:transparent !important;
  overflow:visible;
}
.hero-visual img{
  display:block;
  width:88%;
  max-width:750px;
  height:auto;
  margin-left:auto;
  margin-right:0;
  object-fit:contain;
  object-position:center;
  background:transparent !important;
  border:0;
  border-radius:0;
  box-shadow:none;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}

/* v2.24: three company-wide hero capabilities */
.trust-strip{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:800px){.trust-strip{grid-template-columns:1fr;}}

/* v2.25 — Our Approach benefit statement */
.approach-result{
  grid-column:1 / -1;
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid rgba(16,84,176,.14);
  font-size:1.05rem;
  line-height:1.7;
}
.approach-result strong{font-weight:800;}


/* ===== v2.26 Products: six specialized products ===== */
.products-six .products-head-wide{max-width:1120px;}
.products-six .products-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.products-six .product-card,
.products-six .product-card:nth-child(4),
.products-six .product-card:nth-child(5),
.products-six .product-card:nth-child(6){
  grid-column:auto !important;
}
.products-six .product-card{
  min-height:214px;
}
.products-quote-banner{
  display:grid;
  grid-template-columns:auto 1px minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  margin-top:26px;
  padding:28px 34px;
  background:#071a36;
  border-radius:10px;
  color:#fff;
}
.products-quote-mark{
  color:#2a94f4;
  font-family:Georgia,serif;
  font-size:3.4rem;
  line-height:.7;
  font-weight:700;
}
.products-quote-rule{
  width:1px;
  height:68px;
  background:rgba(42,148,244,.42);
}
.products-quote-banner p{
  margin:0;
  max-width:820px;
  color:#fff;
  font-size:1.08rem;
  line-height:1.5;
  font-weight:700;
}
.products-quote-attrib{
  display:flex;
  align-items:center;
  gap:16px;
  white-space:nowrap;
  color:#8396b2;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.products-quote-attrib:before{
  content:"";
  display:block;
  width:56px;
  height:2px;
  background:#2a94f4;
}

/* ===== v2.26 Technology in Practice slider ===== */
.practice-slider{
  background:#071a36;
  padding:92px 0 88px;
  overflow:hidden;
}
.practice-slider .practice-slider-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);
  gap:70px;
  align-items:end;
  margin-bottom:42px;
}
.practice-slider .practice-slider-head h2{
  margin:0;
  max-width:760px;
  color:#fff;
  font-size:clamp(2.3rem,3.8vw,3.8rem);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:800;
}
.practice-slider .practice-slider-head > p{
  margin:0;
  color:#aebbd0;
  font-size:1.05rem;
  line-height:1.68;
}
.practice-slider .kicker{color:#2a94f4;}
.practice-slider .practice-window{
  overflow:hidden;
  border-radius:18px;
}
.practice-slider .practice-track{
  display:flex;
  transition:transform .5s cubic-bezier(.2,.7,.2,1);
  will-change:transform;
}
.practice-slider .practice-slide{min-width:100%;}
.practice-slider .practice-card{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  min-height:405px;
  border:1px solid rgba(129,154,190,.22);
  border-radius:18px;
  overflow:hidden;
  background:#0b1934;
  box-shadow:0 24px 65px rgba(0,0,0,.18);
}
.practice-slider .practice-card-side{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:38px 36px;
  border-right:1px solid rgba(129,154,190,.18);
  background:radial-gradient(circle at 20% 15%,rgba(18,105,204,.14),transparent 46%),#09172f;
}
.practice-slider .practice-card-side .small{
  color:#70b9ff;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.practice-slider .practice-card-side h3{
  margin:14px 0 0;
  max-width:430px;
  color:#fff;
  font-size:clamp(1.85rem,3vw,2.75rem);
  line-height:1.08;
  letter-spacing:-.025em;
}
.practice-slider .practice-type{
  margin-top:24px;
  color:#8fa2bf;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.practice-slider .practice-card-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:42px 44px;
}
.practice-slider .practice-lead{
  margin:0;
  max-width:780px;
  color:#d9e3f1;
  font-size:1.13rem;
  line-height:1.68;
}
.practice-slider .practice-benefit{
  margin:24px 0 0;
  padding-left:18px;
  border-left:3px solid #2a94f4;
  color:#fff;
  font-size:1.02rem;
  line-height:1.6;
  font-weight:700;
}
.practice-slider .tag-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}
.practice-slider .tag{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:8px 13px;
  border:1px solid rgba(136,164,202,.24);
  border-radius:999px;
  color:#c9d7e9;
  background:rgba(255,255,255,.035);
  font-size:.82rem;
  line-height:1.2;
}
.practice-slider .practice-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:26px;
}
.practice-slider .practice-status{
  display:flex;
  align-items:center;
  gap:16px;
}
.practice-slider .practice-dots{
  display:flex;
  gap:9px;
}
.practice-slider .practice-dot{
  width:10px;
  height:10px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#425575;
  cursor:pointer;
}
.practice-slider .practice-dot.is-active{
  background:#2a94f4;
  transform:scale(1.25);
}
.practice-slider .practice-count{
  color:#8497b4;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.practice-slider .practice-arrows{
  display:flex;
  gap:10px;
}
.practice-slider .practice-arrow{
  width:44px;
  height:44px;
  border:1px solid rgba(125,157,198,.34);
  border-radius:50%;
  background:transparent;
  color:#fff;
  font-size:1.1rem;
  cursor:pointer;
}
.practice-slider .practice-arrow:hover{
  background:rgba(42,148,244,.12);
  border-color:#2a94f4;
}

@media(max-width:1000px){
  .products-six .products-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .products-quote-banner{grid-template-columns:auto 1px 1fr;}
  .products-quote-attrib{grid-column:3;white-space:normal;}
  .practice-slider{padding:72px 0;}
  .practice-slider .practice-slider-head{grid-template-columns:1fr;gap:20px;}
  .practice-slider .practice-card{grid-template-columns:1fr;}
  .practice-slider .practice-card-side{
    border-right:0;
    border-bottom:1px solid rgba(129,154,190,.18);
  }
}
@media(max-width:650px){
  .products-six .products-grid{grid-template-columns:1fr;}
  .products-quote-banner{display:block;padding:26px 24px;}
  .products-quote-rule{display:none;}
  .products-quote-mark{display:block;margin-bottom:14px;}
  .products-quote-attrib{margin-top:18px;white-space:normal;}
  .practice-slider{padding:58px 0;}
  .practice-slider .practice-card-side,
  .practice-slider .practice-card-body{padding:28px 24px;}
  .practice-slider .practice-controls{align-items:flex-end;}
  .practice-slider .practice-status{align-items:flex-start;flex-direction:column;gap:10px;}
}


/* ===== v2.27 Technology in Practice logos ===== */
.practice-slider .practice-logo{
  display:flex;
  align-items:center;
  min-height:96px;
  margin-top:24px;
}
.practice-slider .practice-logo img{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  object-fit:contain;
  object-position:left center;
}

/* Exact ASP white logo supplied by Drexson */
.practice-slider .practice-logo-asp img{
  max-width:390px;
  max-height:104px;
}

/*
 * FundMeSmart:
 * Uses the official FundMeSmart logo image from fundmesmart.com.
 * The monochrome light treatment preserves the exact logo artwork while
 * making it legible directly on Drexson navy without a white rectangle.
 */
.practice-slider .practice-logo-fms img{
  max-width:360px;
  max-height:100px;
  filter:brightness(0) invert(1);
  opacity:.98;
}

/* Official NDN Light mark supplied from National Defense Network's own site */
.practice-slider .practice-logo-ndn img{
  max-width:365px;
  max-height:104px;
}

@media(max-width:650px){
  .practice-slider .practice-logo{
    min-height:78px;
    margin-top:18px;
  }
  .practice-slider .practice-logo-asp img,
  .practice-slider .practice-logo-fms img,
  .practice-slider .practice-logo-ndn img{
    max-width:290px;
    max-height:82px;
  }
}


/* ===== v2.29 Products section visual separation ===== */
#products.products-section{
  background:#E9EEF5;
}


/* ===== v2.30 Our Approach conclusion band ===== */
.approach-result.approach-result-band{
  grid-column:1 / -1;
  position:relative;
  margin-top:38px;
  padding:34px 38px 36px;
  border:0;
  border-radius:10px;
  overflow:hidden;
  background:#071A36;
  box-shadow:0 16px 38px rgba(7,26,54,.12);
}
.approach-result.approach-result-band:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:112px;
  height:3px;
  background:linear-gradient(90deg,#1269CC,#2A94F4);
}
.approach-result-band .approach-result-label{
  margin:0 0 10px;
  color:#70B9FF;
  font-size:.76rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.approach-result-band .approach-result-message{
  max-width:1040px;
  color:#fff;
  font-size:clamp(1.35rem,2.2vw,2rem);
  line-height:1.35;
  font-weight:750;
  letter-spacing:-.018em;
}
@media(max-width:650px){
  .approach-result.approach-result-band{
    margin-top:28px;
    padding:28px 24px 30px;
  }
}


/* ===== Drexson v2.33: visible footer phone contact ===== */
.footer-contact{display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.footer-contact-label{font-size:.56rem;font-weight:800;letter-spacing:.22em;color:#7fb9f4}
.footer-contact a{color:#fff;font-size:1rem;font-weight:800;letter-spacing:.04em;text-decoration:none}
.footer-contact a:hover,.footer-contact a:focus{text-decoration:underline}
@media (max-width: 760px){.footer-contact{margin:4px 0 2px}}
