*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --navy:#0c1626;
  --navy2:#132539;
  --navy3:#1c3450;
  --red:#c8281c;
  --red2:#e03127;
  --red-bright:#ff4b3a;
  --white:#ffffff;
  --off:#f7f8fa;
  --off2:#eef1f5;
  --gray:#667085;
  --lg:#dfe3e9;
  --rule:#e6e9ee;
  --text:#101828;
  --text2:#4b5768;
  --max:1200px;
  --r:10px;
  --shadow:0 1px 2px rgba(16,24,40,0.04),0 8px 24px -8px rgba(16,24,40,0.10);
  --shadow-lg:0 2px 4px rgba(16,24,40,0.04),0 18px 40px -12px rgba(16,24,40,0.18);
}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  font-size:16px;color:var(--text);background:var(--white);
  line-height:1.65;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Manrope','Inter',Helvetica,Arial,sans-serif;font-weight:800;letter-spacing:-.022em;}
.red{color:var(--red);}

/* ── SHARED TYPE ── */
.s-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--red);margin-bottom:16px;
}
.s-eyebrow::before{content:'';width:20px;height:2px;background:var(--red);border-radius:2px;}
.s-title{
  font-size:clamp(30px,3.8vw,44px);color:var(--navy);
  line-height:1.12;margin-bottom:18px;
}
.s-rule{display:none;}
.s-lead{
  font-size:17.5px;font-weight:400;color:var(--text2);
  line-height:1.7;max-width:680px;
}

/* ── LAYOUT ── */
section{padding:96px 40px;}
section > *{max-width:var(--max);margin-left:auto;margin-right:auto;}
.section-head{max-width:760px;}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:84px;padding:0 36px;
  display:flex;align-items:center;justify-content:flex-start;gap:30px;
  /* Black with red bled into it from the logo side, fading back to near-black
     under the menu so the red page names stay punchy. */
  background:
    radial-gradient(46% 240% at 1% 0%,rgba(200,40,28,0.58) 0%,rgba(200,40,28,0) 72%),
    linear-gradient(97deg,#24090a 0%,#0d0509 38%,#05090f 100%);
  border-bottom:1px solid rgba(255,75,58,0.26);
}
.nav-logo{
  font-family:'Manrope','Inter',sans-serif;font-size:17px;font-weight:800;
  letter-spacing:-.01em;
  color:var(--white);display:flex;align-items:center;gap:11px;text-decoration:none;
}
.nav-logo .red{color:var(--red-bright);}
/* Page names sit inside the bar itself, one directly after the next, starting
   right off the logo - not spread out across the width, and never a dropdown,
   a second row, or a stacked list. Type and spacing scale down instead of the
   menu folding away. */
.nav-links{display:flex;align-items:center;gap:20px;}
.nav-links a{
  position:relative;
  font-family:'Manrope','Inter',sans-serif;
  font-size:15.5px;font-weight:700;letter-spacing:.055em;text-transform:uppercase;
  color:var(--red-bright);text-decoration:none;white-space:nowrap;
  padding:8px 0;transition:color .18s;
}
.nav-links a::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:3px;
  background:var(--red-bright);border-radius:3px;
  transform:scaleX(0);transform-origin:left center;transition:transform .2s;
}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--white);}
.nav-links a:hover::after,.nav-links a:focus-visible::after{transform:scaleX(1);}
.nav-links a.is-active{color:var(--red-bright);}
.nav-links a.is-active::after{transform:scaleX(1);}
.nav-cta{
  margin-left:auto;
  font-size:14px;font-weight:600;padding:10px 20px;border-radius:8px;
  background:var(--red);color:var(--white);text-decoration:none;
  transition:background .18s,transform .18s,box-shadow .18s;
  box-shadow:0 1px 2px rgba(16,24,40,0.06);
}
.nav-cta:hover{background:var(--red2);transform:translateY(-1px);box-shadow:0 6px 16px -6px rgba(200,40,28,0.5);}

/* ── BUTTONS ── */
.btn-primary,.btn-ghost{
  font-size:15px;font-weight:600;letter-spacing:-.005em;
  text-decoration:none;border-radius:8px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  cursor:pointer;transition:all .18s;
}
.btn-primary{
  padding:14px 26px;background:var(--red);color:var(--white);
  border:1px solid var(--red);box-shadow:0 1px 2px rgba(16,24,40,0.08);
}
.btn-primary:hover{background:var(--red2);border-color:var(--red2);transform:translateY(-1px);box-shadow:0 10px 22px -10px rgba(200,40,28,0.6);}
.btn-primary:disabled{opacity:.6;cursor:default;transform:none;}
.btn-ghost{
  padding:14px 26px;border:1px solid var(--lg);
  color:var(--navy);background:var(--white);
}
.btn-ghost:hover{border-color:var(--navy);background:var(--off);}
.hero .btn-ghost,.story .btn-ghost,.cta-inner .btn-ghost{
  background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.22);color:var(--white);
}
.hero .btn-ghost:hover,.story .btn-ghost:hover,.cta-inner .btn-ghost:hover{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.4);}

/* ── HERO ── */
.hero{
  min-height:88vh;background:var(--navy);
  display:flex;flex-direction:column;justify-content:center;
  padding:116px 40px 88px;position:relative;overflow:hidden;
}
.hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(760px 420px at 88% 12%,rgba(200,40,28,0.30) 0%,transparent 68%),
    radial-gradient(620px 380px at 6% 96%,rgba(28,52,80,0.62) 0%,transparent 70%);
}
.hero::after{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:
    linear-gradient(rgba(255,255,255,0.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,0.035) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(760px 520px at 50% 30%,#000 0%,transparent 78%);
  -webkit-mask-image:radial-gradient(760px 520px at 50% 30%,#000 0%,transparent 78%);
}
.hero > *{position:relative;z-index:1;}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-size:12.5px;font-weight:600;letter-spacing:.04em;
  color:rgba(255,255,255,0.78);margin-bottom:26px;
  padding:7px 14px 7px 12px;border-radius:999px;
  background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.14);
  animation:fadeUp .6s ease both;
}
.hero-eyebrow::before{
  content:'';width:7px;height:7px;border-radius:50%;background:var(--red-bright);
  box-shadow:0 0 0 4px rgba(255,75,58,0.22);
}
.hero-title{
  font-family:'Manrope','Inter',sans-serif;font-weight:800;
  font-size:clamp(42px,6.6vw,84px);
  line-height:1.02;color:var(--white);letter-spacing:-.035em;
  animation:fadeUp .7s .08s ease both;
}
.hero-title .red{color:var(--red-bright);}
.hero-rule{
  width:64px;height:4px;background:var(--red);border-radius:4px;
  margin:30px 0 26px;animation:fadeUp .5s .18s ease both;
}
.hero-sub{
  font-size:19px;font-weight:400;color:rgba(255,255,255,0.72);
  max-width:660px;line-height:1.68;margin-bottom:40px;
  animation:fadeUp .6s .26s ease both;
}
.hero-sub strong{color:var(--white);font-weight:600;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;animation:fadeUp .6s .34s ease both;}
.hero-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  margin-top:72px;animation:fadeUp .6s .42s ease both;
}
.hero-stats > div{
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);
  border-radius:var(--r);padding:22px 22px 20px;
  transition:border-color .2s,background .2s;
}
.hero-stats > div:hover{border-color:rgba(255,75,58,0.45);background:rgba(255,255,255,0.07);}
.stat-num{
  font-family:'Manrope','Inter',sans-serif;font-weight:800;
  font-size:36px;color:var(--white);letter-spacing:-.03em;line-height:1.1;
}
.stat-num span{color:var(--red-bright);}
.stat-label{
  font-size:13px;font-weight:500;color:rgba(255,255,255,0.6);
  margin-top:8px;line-height:1.5;letter-spacing:0;
}

/* ── PROBLEM BAND ── */
.problem{background:var(--off);padding:72px 40px;border-bottom:1px solid var(--rule);}
.problem-text{
  font-family:'Manrope','Inter',sans-serif;font-weight:700;
  font-size:clamp(21px,2.5vw,30px);letter-spacing:-.022em;
  color:var(--navy);max-width:900px;margin:0 auto;line-height:1.4;text-align:center;
}
.problem-text .red{color:var(--red);}

/* ── SERVICES ── */
.services{background:var(--white);}
.services-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:20px;margin-top:52px;
}
.service-card{
  background:var(--white);border:1px solid var(--rule);border-radius:var(--r);
  padding:30px 28px;transition:transform .2s,box-shadow .2s,border-color .2s;
}
.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--lg);}
.service-diamond{
  width:44px;height:44px;border-radius:9px;
  background:linear-gradient(145deg,rgba(200,40,28,0.12),rgba(200,40,28,0.05));
  border:1px solid rgba(200,40,28,0.18);
  position:relative;margin-bottom:22px;
}
.service-diamond::after{
  content:'';position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%) rotate(45deg);
  width:12px;height:12px;background:var(--red);border-radius:2px;
}
.service-name{
  font-family:'Manrope','Inter',sans-serif;font-size:19.5px;font-weight:700;
  letter-spacing:-.02em;color:var(--navy);margin-bottom:10px;line-height:1.3;
}
.service-desc{font-size:15px;font-weight:400;color:var(--text2);line-height:1.7;}

/* ── WHO WE SERVE ── */
.serve{background:var(--off);border-top:1px solid var(--rule);}
.serve-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:52px;
}
.serve-item{
  display:flex;gap:14px;align-items:flex-start;
  background:var(--white);border:1px solid var(--rule);border-radius:var(--r);
  padding:22px 24px;transition:border-color .2s,box-shadow .2s;
}
.serve-item:hover{border-color:var(--lg);box-shadow:var(--shadow);}
.serve-dot{
  width:22px;height:22px;border-radius:6px;flex-shrink:0;margin-top:2px;
  background:rgba(200,40,28,0.1);position:relative;
}
.serve-dot::after{
  content:'';position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%) rotate(45deg);
  width:7px;height:7px;background:var(--red);border-radius:1px;
}
.serve-text{font-size:15px;font-weight:400;color:var(--text2);line-height:1.65;}
.serve-text strong{
  font-family:'Manrope','Inter',sans-serif;font-size:16.5px;font-weight:700;
  letter-spacing:-.015em;color:var(--navy);display:block;margin-bottom:4px;
}

/* ── LEADERSHIP / TEAM ── */
.team{background:var(--white);}
.team-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:24px;margin-top:52px;
}
.team-card{
  background:var(--white);border:1px solid var(--rule);border-radius:var(--r);
  overflow:hidden;display:flex;flex-direction:column;
  transition:transform .2s,box-shadow .2s;
}
.team-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.team-photo-wrap{overflow:hidden;height:290px;background:var(--off2);position:relative;}
.team-photo-wrap::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,transparent 55%,rgba(12,22,38,0.28) 100%);
}
.team-photo{width:100%;height:290px;object-fit:cover;object-position:center 15%;display:block;}
.team-top{background:var(--white);padding:22px 24px 16px;position:relative;}
.team-initials{
  width:46px;height:46px;border-radius:9px;background:rgba(200,40,28,0.1);
  display:flex;align-items:center;justify-content:center;
  font-family:'Manrope','Inter',sans-serif;font-size:16px;font-weight:800;
  color:var(--red);margin-bottom:14px;
}
.team-name{
  font-family:'Manrope','Inter',sans-serif;font-size:21px;font-weight:800;
  letter-spacing:-.025em;color:var(--navy);line-height:1.2;
}
.team-certs{
  font-size:12.5px;font-weight:600;letter-spacing:.01em;
  color:var(--red);margin-top:7px;
}
.team-role{font-size:14px;font-weight:400;color:var(--gray);margin-top:5px;line-height:1.5;}
.team-body{padding:0 24px 24px;display:flex;flex-direction:column;flex:1;}
.team-bio{font-size:14.5px;font-weight:400;color:var(--text2);line-height:1.7;margin:8px 0 20px;}
.team-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;}
.tag{
  font-size:11.5px;font-weight:600;letter-spacing:.01em;
  padding:5px 11px;border-radius:999px;
  background:var(--off);color:var(--text2);border:1px solid var(--rule);
}
.placeholder-note{
  font-size:12.5px;color:var(--red);margin-top:14px;padding-top:14px;
  border-top:1px solid var(--rule);
}
.field-band{margin-top:72px;padding-top:56px;border-top:1px solid var(--rule);}
.field-band .team-card{max-width:440px;margin-top:36px;}

/* Homepage leadership strip */
.leaders{background:var(--off);border-top:1px solid var(--rule);}
.leaders-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:22px;margin-top:48px;
}
.leader{
  background:var(--white);border:1px solid var(--rule);border-radius:var(--r);
  overflow:hidden;text-decoration:none;color:inherit;display:block;
  transition:transform .2s,box-shadow .2s;
}
.leader:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.leader img{
  width:100%;height:250px;object-fit:cover;object-position:center 15%;
  display:block;background:var(--off2);
}
.leader-info{padding:18px 20px 20px;border-top:1px solid var(--rule);}
.leader-name{
  font-family:'Manrope','Inter',sans-serif;font-size:17.5px;font-weight:800;
  letter-spacing:-.022em;color:var(--navy);
}
.leader-role{font-size:13.5px;font-weight:400;color:var(--gray);margin-top:4px;line-height:1.5;}
.leader-meta{font-size:12.5px;font-weight:600;color:var(--red);margin-top:8px;}
.leaders-foot{margin-top:36px;}

/* ── STORY BAND ── */
.story{
  background:var(--navy);padding:96px 40px;position:relative;overflow:hidden;text-align:center;
}
.story::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(620px 340px at 50% 0%,rgba(200,40,28,0.26) 0%,transparent 70%);
}
.story-quote{
  font-family:'Manrope','Inter',sans-serif;font-weight:800;
  font-size:clamp(24px,3.2vw,38px);letter-spacing:-.03em;
  color:var(--white);max-width:900px;margin:0 auto;line-height:1.24;
  position:relative;z-index:1;
}
.story-quote .red{color:var(--red-bright);}
.story-sub{
  font-size:16.5px;font-weight:400;color:rgba(255,255,255,0.65);
  max-width:620px;margin:22px auto 0;line-height:1.7;
  position:relative;z-index:1;
}

/* ── CTA BAND ── */
.cta-band{background:var(--white);border-top:1px solid var(--rule);}
.cta-inner{
  display:flex;align-items:center;justify-content:space-between;gap:44px;flex-wrap:wrap;
  background:var(--navy);border-radius:16px;padding:52px 48px;
  position:relative;overflow:hidden;
}
.cta-inner::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(560px 300px at 92% 8%,rgba(200,40,28,0.34) 0%,transparent 70%);
}
.cta-inner > *{position:relative;z-index:1;}
.cta-inner .s-eyebrow{color:var(--red-bright);}
.cta-inner .s-eyebrow::before{background:var(--red-bright);}
.cta-title{
  font-size:clamp(28px,3.4vw,40px);color:var(--white);line-height:1.14;margin:0 0 14px;
}
.cta-sub{font-size:16.5px;font-weight:400;color:rgba(255,255,255,0.68);max-width:500px;line-height:1.7;}
.cta-actions{display:flex;gap:14px;flex-wrap:wrap;}

/* ── PAGE HERO ── */
.page-hero{background:var(--navy);padding:118px 40px 76px;position:relative;overflow:hidden;}
.page-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(700px 360px at 86% 14%,rgba(200,40,28,0.28) 0%,transparent 68%);
}
.page-hero-inner{position:relative;z-index:1;max-width:var(--max);margin:0 auto;}
.page-title{
  font-family:'Manrope','Inter',sans-serif;font-weight:800;
  font-size:clamp(34px,5.2vw,60px);
  line-height:1.06;color:var(--white);letter-spacing:-.033em;
  animation:fadeUp .6s .05s ease both;
}
.page-title .red{color:var(--red-bright);}
.page-hero .hero-rule{margin:26px 0 22px;}
.page-sub{
  font-size:18px;font-weight:400;color:rgba(255,255,255,0.72);
  max-width:680px;line-height:1.68;animation:fadeUp .6s .18s ease both;
}
.page-sub strong{color:var(--white);font-weight:600;}
.page-hero .hero-eyebrow{margin-bottom:20px;}
.crumb{font-size:13.5px;font-weight:500;color:rgba(255,255,255,0.55);margin-bottom:22px;}
.crumb a{color:rgba(255,255,255,0.55);text-decoration:none;transition:color .2s;}
.crumb a:hover{color:var(--red-bright);}

/* ── ABOUT PAGE ── */
.about-intro{background:var(--white);}
.about-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:20px;margin-top:52px;
}
.about-item{
  background:var(--white);border:1px solid var(--rule);border-radius:var(--r);
  padding:30px 28px;transition:transform .2s,box-shadow .2s;
}
.about-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.about-item .about-num{
  font-family:'Manrope','Inter',sans-serif;font-size:13px;font-weight:800;
  letter-spacing:.08em;color:var(--red);
}
.about-item h3{font-size:21px;color:var(--navy);margin:10px 0 12px;line-height:1.25;}
.about-item p{font-size:15px;font-weight:400;color:var(--text2);line-height:1.7;}

/* ── CONTACT / VISITOR FORM ── */
.contact{background:var(--white);}
.contact-page{background:var(--off);}
.contact-layout{
  display:grid;grid-template-columns:1.15fr .85fr;gap:28px;
  align-items:start;max-width:var(--max);
}
.form-card{
  background:var(--white);border:1px solid var(--rule);border-radius:14px;
  padding:40px 40px 36px;box-shadow:var(--shadow);
}
.form-card .s-title{font-size:clamp(24px,2.6vw,32px);margin-bottom:12px;}
.form-intro{font-size:15.5px;font-weight:400;color:var(--text2);line-height:1.7;margin-bottom:30px;}
.contact-form{display:block;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field{display:block;margin-bottom:20px;}
.field label{
  display:block;font-size:13.5px;font-weight:600;color:var(--navy);margin-bottom:7px;
}
.field .req{color:var(--red);margin-left:3px;}
.field .opt{color:var(--gray);font-weight:400;margin-left:6px;}
.contact-form input,
.contact-form select,
.contact-form textarea{
  font-family:'Inter',Helvetica,Arial,sans-serif;font-size:15.5px;font-weight:400;
  width:100%;padding:12px 14px;
  border:1px solid var(--lg);border-radius:8px;
  background:var(--white);color:var(--text);
  outline:none;resize:none;transition:border-color .18s,box-shadow .18s;
  -webkit-appearance:none;appearance:none;
}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#98a2b3;}
.contact-form select{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23667085' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;
  color:var(--text);
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:var(--red);box-shadow:0 0 0 4px rgba(200,40,28,0.1);
}
.contact-form input:invalid:not(:placeholder-shown){border-color:var(--red2);}
.contact-form textarea{height:130px;line-height:1.6;}
.field-hint{font-size:13px;font-weight:400;color:var(--gray);margin-top:7px;line-height:1.55;}
.form-foot{
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  margin-top:26px;padding-top:24px;border-top:1px solid var(--rule);
}
.form-consent{font-size:13px;font-weight:400;color:var(--gray);line-height:1.6;max-width:320px;}
.form-status{
  display:none;margin-top:18px;padding:14px 16px;border-radius:8px;
  font-size:14.5px;line-height:1.6;border:1px solid var(--rule);background:var(--off);
}
.form-status.is-ok{border-color:#abefc6;background:#f0fdf4;color:#087443;}
.form-status.is-err{border-color:#fecdc9;background:#fef3f2;color:var(--red);}
.contact-email{margin-top:20px;font-size:14.5px;font-weight:400;color:var(--text2);}
.contact-email a{color:var(--red);text-decoration:none;font-weight:600;}
.contact-email a:hover{text-decoration:underline;}
.contact-detail{
  background:var(--white);border:1px solid var(--rule);border-radius:14px;
  padding:34px 30px;box-shadow:var(--shadow);
}
.contact-detail h2{font-size:22px;color:var(--navy);margin-bottom:6px;}
.contact-detail dl{display:grid;gap:22px;margin:22px 0 0;padding-top:22px;border-top:1px solid var(--rule);}
.contact-detail dt{
  font-size:12px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--red);
}
.contact-detail dd{font-size:15px;font-weight:400;color:var(--text2);line-height:1.65;margin:6px 0 0;}
.contact-detail dd a{color:var(--red);text-decoration:none;font-weight:600;}
.contact-detail dd a:hover{text-decoration:underline;}

/* ── FOOTER ── */
footer{background:var(--navy);padding:64px 40px 0;}
.footer-top{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:1.5fr 1fr 1.1fr;gap:48px;padding-bottom:44px;
}
.footer-logo{display:flex;align-items:center;gap:11px;margin-bottom:16px;}
.footer-name{
  font-family:'Manrope','Inter',sans-serif;font-size:17px;font-weight:800;
  letter-spacing:-.01em;color:var(--white);line-height:1.2;
}
.footer-name .red{color:var(--red-bright);}
.footer-tagline{font-size:15px;font-weight:400;color:rgba(255,255,255,0.6);line-height:1.7;max-width:330px;}
.footer-col h3{
  font-family:'Inter',sans-serif;font-size:12px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,0.45);margin-bottom:16px;
}
.footer-nav{display:flex;flex-direction:column;gap:11px;}
.footer-nav a{
  font-size:14.5px;font-weight:400;color:rgba(255,255,255,0.68);
  text-decoration:none;transition:color .18s;
}
.footer-nav a:hover{color:var(--red-bright);}
.footer-info{font-size:14.5px;font-weight:400;color:rgba(255,255,255,0.68);line-height:1.85;}
.footer-info a{color:rgba(255,255,255,0.68);text-decoration:none;}
.footer-info a:hover{color:var(--red-bright);}
.footer-bar{
  max-width:var(--max);margin:0 auto;
  border-top:1px solid rgba(255,255,255,0.1);padding:20px 0 24px;
  display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
}
.footer-legal{font-size:13.5px;font-weight:400;color:rgba(255,255,255,0.5);}
.footer-credit{
  font-size:13.5px;font-weight:600;color:rgba(255,255,255,0.62);
  display:flex;align-items:center;gap:9px;
}
.footer-credit::before{
  content:'';width:8px;height:8px;border-radius:2px;background:var(--red);
  transform:rotate(45deg);flex-shrink:0;
}

/* ── LOGO MARK ── */
.logo-svg{width:26px;height:26px;flex-shrink:0;}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}

/* ── SPLASH (homepage) ── */
.splash{
  position:fixed;inset:0;z-index:1000;background:var(--navy);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:38px;
  transition:opacity .55s ease,visibility .55s ease;
}
.splash::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(620px 420px at 50% 45%,rgba(200,40,28,0.3) 0%,transparent 68%);
}
.splash.is-done{opacity:0;visibility:hidden;}
body.splash-lock{overflow:hidden;}
.splash-mark{position:relative;width:170px;height:170px;display:flex;align-items:center;justify-content:center;z-index:1;}
.splash-mark::after{content:'';position:absolute;width:8px;height:8px;border-radius:2px;background:var(--red-bright);transform:rotate(45deg);}
.splash-diamond{
  position:absolute;width:74px;height:74px;border-radius:10px;
  border:1px solid rgba(255,255,255,0.16);transform:rotate(45deg);
}
.splash-diamond.outer{width:124px;height:124px;border-radius:16px;border-color:rgba(255,255,255,0.08);}
.splash-line{
  position:absolute;width:168px;height:2px;transform-origin:50% 50%;border-radius:2px;
  background:linear-gradient(90deg,transparent 0%,var(--red) 20%,var(--red-bright) 50%,var(--red) 80%,transparent 100%);
  animation:splash-spin 1.4s linear infinite;
}
@keyframes splash-spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.splash-word{
  font-family:'Manrope','Inter',sans-serif;font-weight:800;
  font-size:clamp(17px,2.6vw,26px);letter-spacing:-.02em;
  color:var(--white);text-align:center;position:relative;z-index:1;
  animation:fadeUp .8s .2s ease both;
}
.splash-word .red{color:var(--red-bright);}
.splash-caption{
  font-size:13.5px;font-weight:500;letter-spacing:.02em;
  color:rgba(255,255,255,0.55);margin-top:10px;
}
.splash-meter{
  position:relative;width:min(240px,54vw);height:3px;border-radius:3px;
  background:rgba(255,255,255,0.12);overflow:hidden;z-index:1;
}
.splash-meter span{
  position:absolute;inset:0;background:var(--red);border-radius:3px;
  transform:scaleX(0);transform-origin:left center;
  animation:splash-fill 5s linear forwards;
}
@keyframes splash-fill{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@media(prefers-reduced-motion:reduce){
  .splash-line{animation:none;}
  .splash-meter span{animation-duration:.5s;}
  .splash-word{animation:none;}
  .hero-eyebrow,.hero-title,.hero-rule,.hero-sub,.hero-btns,.hero-stats,.page-title,.page-sub{animation:none;}
  .service-card:hover,.team-card:hover,.about-item:hover,.leader:hover,.btn-primary:hover,.nav-cta:hover{transform:none;}
}

/* ── RESPONSIVE ── */
@media(max-width:1080px){
  .hero-stats{grid-template-columns:repeat(2,1fr);}
  .footer-top{grid-template-columns:1fr 1fr;gap:40px;}
}
@media(max-width:1180px){
  nav{padding:0 26px;gap:24px;}
  .nav-logo{font-size:15.5px;gap:9px;}
  .nav-links{gap:18px;}
  .nav-links a{font-size:14.5px;letter-spacing:.045em;}
}
@media(max-width:1000px){
  nav{height:76px;padding:0 20px;gap:18px;}
  .nav-logo{font-size:14px;gap:8px;}
  .nav-links{gap:15px;}
  .nav-links a{font-size:13px;letter-spacing:.03em;}
  .nav-cta{font-size:12.5px;padding:9px 14px;}
  .hero{padding-top:108px;}
  .page-hero{padding-top:104px;}
}
@media(max-width:860px){
  /* To keep all four page names on the top row, the wordmark drops back to the
     diamond mark and then the CTA drops out - the menu itself never folds. */
  .nav-logo span{display:none;}
  .nav-links{gap:13px;}
  .nav-links a{font-size:12.5px;letter-spacing:.02em;}
}
@media(max-width:660px){
  .nav-cta{display:none;}
}
@media(max-width:960px){
  .contact-layout{grid-template-columns:1fr;gap:22px;}
  .serve-grid{grid-template-columns:1fr;}
  .cta-inner{padding:40px 32px;}
}
@media(max-width:768px){
  nav{height:70px;padding:0 18px;}
  .nav-logo .logo-svg{width:24px;height:24px;}
  .nav-links{gap:12px;}
  .nav-links a{font-size:12px;}
  .hero{padding:96px 20px 68px;min-height:auto;}
  section{padding:64px 20px;}
  .problem{padding:52px 20px;}
  .story{padding:68px 20px;}
  .page-hero{padding:92px 20px 56px;}
  .hero-stats{margin-top:48px;gap:12px;}
  .stat-num{font-size:30px;}
  .form-row{grid-template-columns:1fr;gap:0;}
  .form-card{padding:26px 20px 24px;}
  .cta-inner{padding:32px 24px;border-radius:12px;}
  .splash-mark{width:140px;height:140px;}
  .splash-line{width:136px;}
  .splash-diamond{width:62px;height:62px;}
  .splash-diamond.outer{width:104px;height:104px;}
  footer{padding:48px 20px 0;}
  .footer-top{grid-template-columns:1fr;gap:32px;padding-bottom:34px;}
  .footer-bar{flex-direction:column;align-items:flex-start;padding:18px 0 22px;}
  .field-band{margin-top:52px;padding-top:42px;}
}
@media(max-width:430px){
  nav{height:64px;padding:0 14px;}
  .nav-logo .logo-svg{width:20px;height:20px;}
  /* Last-resort safety on very narrow phones: the row slides sideways rather
     than wrapping, so the names still read one after another. */
  .nav-links{gap:7px;min-width:0;overflow-x:auto;scrollbar-width:none;}
  .nav-links::-webkit-scrollbar{display:none;}
  .nav-links a{font-size:10.5px;letter-spacing:0;}
  .hero{padding-top:88px;}
  .page-hero{padding-top:84px;}
}
@media(max-width:340px){
  nav{padding:0 10px;}
  .nav-links{gap:5px;}
  .nav-links a{font-size:10px;}
}
