:root{
  --navy:#102A43;
  --navy-deep:#0A1A2B;
  --navy-soft:#173550;
  --green:#415A3C;
  --steel:#7B8794;
  --brass:#B08D57;
  --brass-soft:#D7C09A;
  --paper:#EEF2F5;
  --fog:#C8D1DA;
  --ink:#E9EEF3;
  --line:rgba(200,209,218,.18);
  --line-strong:rgba(200,209,218,.34);
  --shadow:0 28px 60px rgba(5,13,22,.32);
  --radius:24px;
  --container:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"IBM Plex Sans",sans-serif;
  font-size:18px;
  line-height:1.6;
  color:var(--ink);
  background:
    radial-gradient(circle at 20% 0%, rgba(176,141,87,.18), transparent 28%),
    radial-gradient(circle at 90% 18%, rgba(65,90,60,.18), transparent 22%),
    linear-gradient(180deg, #06111c 0%, #0a1a2b 28%, #0d2337 58%, #102a43 100%);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:52px 52px;
  opacity:.15;
  pointer-events:none;
  z-index:0;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  background:
    radial-gradient(circle at 12% 16%, rgba(255,255,255,.05) 0 2px, transparent 2px 100%),
    radial-gradient(circle at 74% 64%, rgba(255,255,255,.04) 0 2px, transparent 2px 100%),
    linear-gradient(115deg, rgba(176,141,87,.06), transparent 28%, transparent 72%, rgba(65,90,60,.08));
  background-size:280px 280px, 360px 360px, 100% 100%;
  opacity:.55;
  pointer-events:none;
  mix-blend-mode:screen;
  z-index:0;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(calc(100% - 2rem),var(--container));margin:0 auto;position:relative;z-index:1}
h1,h2,h3{
  margin:0 0 1rem;
  font-family:"Barlow",sans-serif;
  text-transform:uppercase;
  letter-spacing:.02em;
  line-height:.98;
}
h1{font-size:clamp(4.6rem,7.6vw,5.2rem)}
h2{font-size:clamp(3.35rem,5.4vw,4.4rem)}
h3{font-size:1.35rem}
p{margin:0}
.section-label{
  margin:0 0 1rem;
  color:var(--brass-soft);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.7rem;
  font-weight:600;
  opacity:.82;
}
.section-copy,.hero-lead{max-width:60ch;color:#cbd6df}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(6,17,28,.82);
  border-bottom:1px solid rgba(123,135,148,.18);
  backdrop-filter:blur(18px);
  box-shadow:0 18px 40px rgba(0,0,0,.18);
}
.nav-shell{
  min-height:104px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:2.6rem;
}
.brand-lockup img{width:min(240px,25vw);filter:drop-shadow(0 10px 24px rgba(0,0,0,.28))}
.site-nav{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:1.05rem;
  flex-wrap:nowrap;
  white-space:nowrap;
}
.site-nav a{
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:#b5c0cb;
}
.site-nav a:hover{color:#fff}
.header-cta{
  min-width:0;
  padding-inline:1.15rem;
  white-space:nowrap;
}
.menu-toggle{
  display:none;
  border:1px solid var(--line-strong);
  border-radius:999px;
  padding:.85rem 1rem;
  background:transparent;
  color:#fff;
  font:inherit;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.desktop-only{display:inline-flex}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:.9rem 1.35rem;
  border-radius:999px;
  border:1px solid transparent;
  font-size:.85rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{
  background:linear-gradient(135deg, var(--brass) 0%, #d5b37b 100%);
  color:var(--navy-deep);
  box-shadow:0 22px 40px rgba(176,141,87,.24), inset 0 1px 0 rgba(255,255,255,.32);
}
.btn-ghost{
  border-color:rgba(233,238,243,.28);
  color:#fff;
  background:rgba(255,255,255,.06);
}

.hero{
  padding:6rem 0 5rem;
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 18%, rgba(176,141,87,.14), transparent 24%),
    radial-gradient(circle at 86% 14%, rgba(255,255,255,.06), transparent 16%),
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 40%, rgba(0,0,0,.18));
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;
  inset:8% 4% auto auto;
  width:34vw;
  height:34vw;
  max-width:520px;
  max-height:520px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(176,141,87,.12), transparent 70%);
  filter:blur(10px);
}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(.85rem,1.8vw,1.4rem);
  align-items:center;
}
.hero-copy{
  max-width:520px;
  padding-right:0;
}
.hero-copy h1{
  max-width:11ch;
  margin-bottom:.7rem;
  text-wrap:balance;
  font-size:clamp(3rem,5.1vw,4.6rem);
  line-height:.98;
  letter-spacing:-.025em;
  text-transform:none;
}
.hero-lead{
  max-width:38ch;
  font-size:1.38rem;
  line-height:1.46;
  margin-bottom:1.1rem;
  color:#d7e1e8;
}
.hero-actions{
  display:flex;
  gap:.9rem;
  flex-wrap:wrap;
  margin:0;
}
.hero-visual{
  display:block;
}
.hero-photo{
  min-height:820px;
  border-radius:32px;
  border:1px solid rgba(233,238,243,.12);
  background:
    linear-gradient(180deg, rgba(8,16,25,.06), rgba(8,16,25,.16)),
    url("assets/hero-veteran-business.jpg") 54% center/cover no-repeat;
  box-shadow:0 46px 90px rgba(2,8,14,.38), inset 0 1px 0 rgba(255,255,255,.08);
  position:relative;
  overflow:hidden;
}
.hero-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(6,17,28,.28), transparent 18%, transparent 72%, rgba(6,17,28,.18)),
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 36%, rgba(6,17,28,.16));
}
.hero-photo::before{
  content:"";
  position:absolute;
  inset:1.2rem;
  border:1px solid rgba(255,255,255,.09);
  border-radius:24px;
}

.metrics-band{padding:0 0 5.25rem}
.metrics-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.15rem;
}
.metric-card{
  min-height:238px;
  padding:1.55rem 1.45rem 1.4rem;
  border:1px solid rgba(170,185,198,.18);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(22,46,67,.94), rgba(10,26,41,.98));
  box-shadow:0 20px 44px rgba(3,9,15,.24), inset 0 1px 0 rgba(255,255,255,.06);
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:center;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.metric-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;
  background:linear-gradient(90deg, rgba(176,141,87,.9), rgba(215,192,154,.66));
}
.metric-card::after{
  content:"";
  position:absolute;
  inset:auto -22% -45% auto;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(176,141,87,.16), transparent 72%);
}
.metric-card strong{
  display:block;
  margin-bottom:.18rem;
  font-family:"Barlow",sans-serif;
  font-size:clamp(3.55rem,4.85vw,4.55rem);
  line-height:.94;
  text-transform:uppercase;
}
.metric-card span{
  color:#bfccd7;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.84rem;
  font-weight:700;
  line-height:1.15;
  max-width:14ch;
}

.section{padding:2.2rem 0 6.75rem}
.section-tint{
  background:
    linear-gradient(180deg, rgba(233,238,243,.07), rgba(233,238,243,.03)),
    radial-gradient(circle at 80% 8%, rgba(176,141,87,.08), transparent 24%);
  border-top:1px solid rgba(123,135,148,.10);
  border-bottom:1px solid rgba(123,135,148,.10);
}
.section-paper{
  background:
    linear-gradient(180deg, rgba(248,251,253,.96), rgba(234,240,245,.92));
  color:var(--navy-deep);
  border-top:1px solid rgba(123,135,148,.16);
  border-bottom:1px solid rgba(123,135,148,.16);
}
.section-paper .section-label,
.section-paper .signal-kicker{color:#7a5c2c}
.section-paper .section-copy,
.section-paper .section-head p,
.section-paper .consultants-copy p,
.section-paper .consultants-note p,
.section-paper .faq-answer p{color:#274055}
.section-paper h2,
.section-paper h3,
.section-paper summary,
.section-paper .consultant-card h3{color:var(--navy-deep)}
.section-paper .consultants-note p{color:#2c455b}
.section-paper .consultant-card h3,
.section-paper .consultant-card li,
.section-paper .faq-item summary,
.section-paper .faq-item p{color:var(--ink)}

.section-dark{
  background:linear-gradient(180deg, rgba(3,10,17,.72), rgba(4,12,20,.88));
  border-top:1px solid rgba(123,135,148,.12);
  border-bottom:1px solid rgba(123,135,148,.12);
}
.section-framed{
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  border-top:1px solid rgba(123,135,148,.10);
  border-bottom:1px solid rgba(123,135,148,.10);
}
#faq .section-head h2{color:var(--ink)}
.section-map{
  position:relative;
  overflow:hidden;
}
.section-map::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 80% 10%, rgba(176,141,87,.12), transparent 22%),
    radial-gradient(circle at 16% 80%, rgba(65,90,60,.18), transparent 24%);
  pointer-events:none;
}
.intro-split,.two-column-grid,.consultation-grid,.consultants-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);
  gap:1.4rem;
  align-items:start;
}
.signal-box,.brief-card,.consultants-note,.consultation-card{
  padding:1.4rem;
  border-radius:24px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(19,39,57,.90), rgba(9,22,34,.96));
  box-shadow:0 28px 58px rgba(4,9,15,.32), inset 0 1px 0 rgba(255,255,255,.08);
  position:relative;
  overflow:hidden;
}
.signal-box::after,.brief-card::after,.consultants-note::after,.consultation-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(176,141,87,.08), transparent 36%),
    linear-gradient(180deg, transparent 65%, rgba(255,255,255,.02));
  pointer-events:none;
}
.signal-kicker{
  margin-bottom:.75rem;
  color:var(--brass-soft);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.2em;
  font-weight:700;
}
.advantage-grid{
  margin-top:1.8rem;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.advantage-card,.process-card,.quote-card,.timeline-step,.faq-item{
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(22,44,64,.88), rgba(11,24,36,.96));
  box-shadow:0 26px 52px rgba(4,9,15,.28), inset 0 1px 0 rgba(255,255,255,.08);
}
.advantage-card{
  padding:1.45rem;
  position:relative;
  overflow:hidden;
}
.advantage-card::after{
  content:"";
  position:absolute;
  inset:auto -12% -24% auto;
  width:120px;
  height:120px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(65,90,60,.22), transparent 70%);
}
.advantage-icon{
  display:inline-block;
  width:46px;
  height:46px;
  margin-bottom:1rem;
  border-radius:14px;
  border:1px solid rgba(176,141,87,.32);
  background:
    linear-gradient(135deg, rgba(176,141,87,.22), rgba(176,141,87,.04)),
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.12), transparent 40%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  position:relative;
}
.advantage-icon::before,.advantage-icon::after{
  content:"";
  position:absolute;
  background:rgba(233,238,243,.78);
}
.advantage-icon::before{
  width:18px;
  height:2px;
  top:22px;
  left:14px;
}
.advantage-icon::after{
  width:2px;
  height:18px;
  top:14px;
  left:22px;
}
.advantage-card h3{margin-bottom:.55rem}
.advantage-card p{color:#c4d0da}

.image-panel-photo{
  min-height:470px;
  border-radius:24px;
  border:1px solid rgba(233,238,243,.10);
  box-shadow:0 34px 68px rgba(4,10,16,.34), inset 0 1px 0 rgba(255,255,255,.08);
}
.image-panel-photo-mission{
  background:
    linear-gradient(180deg, rgba(8,18,28,.10), rgba(8,18,28,.62)),
    url("assets/mission-veteran.jpg") center/cover no-repeat;
}
.image-panel-photo-mission::after{
  content:"";
  display:block;
  width:100%;
  height:100%;
}

.emotional-journey{
  position:relative;
}
.story-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.15rem;
}
.story-panel{
  min-height:460px;
  border-radius:26px;
  overflow:hidden;
  position:relative;
  border:1px solid rgba(233,238,243,.10);
  box-shadow:0 34px 68px rgba(4,10,16,.34);
  display:flex;
  align-items:flex-end;
  padding:1.4rem;
}
.story-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(6,16,25,.10), rgba(6,16,25,.76));
}
.story-panel > div{
  position:relative;
  z-index:1;
}
.story-panel h3{
  max-width:12ch;
}
.story-panel p{
  color:#d2dce4;
  max-width:28ch;
}
.story-panel-uniform{
  background:url("assets/story-transition.jpg") center/cover no-repeat;
}
.story-panel-family{
  background:url("assets/story-family.jpg") center/cover no-repeat;
}
.story-panel-business{
  background:
    linear-gradient(180deg, rgba(10,26,43,.16), rgba(10,26,43,.64)),
    url("assets/story-business.jpg") center/cover no-repeat;
}

.section-head{margin-bottom:2rem}
.process-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.15rem;
}
.process-card{
  padding:1.55rem;
  position:relative;
  overflow:hidden;
}
.process-card::after{
  content:"";
  position:absolute;
  inset:auto -20% -30% auto;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(176,141,87,.16), transparent 70%);
}
.process-card span{
  display:inline-block;
  margin-bottom:.9rem;
  color:var(--brass-soft);
  font-family:"Barlow",sans-serif;
  font-size:2.15rem;
  font-weight:800;
}
.process-card p{color:#c7d2db}

.timeline{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:1rem;
  align-items:stretch;
}
.timeline-step{
  padding:1.3rem;
  position:relative;
  text-align:left;
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease;
}
.timeline-step::after{
  content:"";
  position:absolute;
  inset:auto auto 0 0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg, var(--green) 0%, var(--brass) 100%);
}
.timeline-step::before{
  content:"";
  position:absolute;
  right:-.55rem;
  top:50%;
  width:1.1rem;
  height:1.1rem;
  border-top:2px solid rgba(176,141,87,.55);
  border-right:2px solid rgba(176,141,87,.55);
  transform:translateY(-50%) rotate(45deg);
}
.timeline-step:last-child::before{display:none}
.timeline-step strong{
  display:block;
  margin-bottom:.7rem;
  color:var(--brass-soft);
  font-family:"Barlow",sans-serif;
  font-size:1.6rem;
}
.timeline-step span{
  display:block;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.consultant-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.15rem;
}
.consultant-card{
  display:grid;
  grid-template-columns:112px 1fr;
  gap:1rem;
  align-items:start;
  padding:1.1rem;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(17,38,55,.92), rgba(9,20,31,.98));
  box-shadow:0 28px 58px rgba(4,9,15,.32), inset 0 1px 0 rgba(255,255,255,.08);
  position:relative;
  overflow:hidden;
}
.consultant-card > div{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  min-height:112px;
  gap:.15rem;
}
.consultant-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(176,141,87,.10), transparent 36%),
    linear-gradient(180deg, transparent 58%, rgba(255,255,255,.02));
  pointer-events:none;
}
.consultant-card img{
  width:112px;
  height:112px;
  border-radius:18px;
  object-fit:cover;
  border:1px solid rgba(176,141,87,.34);
  box-shadow:0 18px 34px rgba(0,0,0,.24);
}
.consultant-image-steve{
  object-position:center 22%;
}
.consultant-card h3{
  margin-bottom:.55rem;
  font-size:1.16rem;
}
.consultant-card ul{
  margin:0;
  padding:0;
  list-style:none;
  color:#cad4dd;
  font-size:.9rem;
}
.consultant-card li{
  position:relative;
  padding-left:1.05rem;
  margin-bottom:.25rem;
}
.consultant-card li:last-child{
  margin-bottom:0;
}
.consultant-card li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55rem;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--brass);
}
.consultant-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:auto;
  width:100%;
  padding:.95rem 0 0;
  border-top:1px solid rgba(176,141,87,.16);
  color:#e7d3a1;
  font-family:"Barlow",sans-serif;
  font-size:.77rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:color .2s ease, border-color .2s ease, transform .2s ease;
}
.consultant-cta::after{
  content:"↗";
  font-size:.95rem;
  line-height:1;
  opacity:.82;
  transition:transform .2s ease, opacity .2s ease;
}
.consultant-cta:hover{
  border-color:rgba(176,141,87,.38);
  color:#fff2cf;
}
.consultant-cta:hover::after{
  transform:translate(2px,-1px);
  opacity:1;
}

.quote-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.15rem;
}
.quote-card{
  padding:2rem 2rem 2.1rem;
  position:relative;
  overflow:hidden;
  min-height:360px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:
    linear-gradient(180deg, rgba(24,48,70,.94), rgba(12,27,41,.98)),
    linear-gradient(135deg, rgba(255,255,255,.04), transparent 38%);
  border-color:rgba(109,132,153,.36);
  box-shadow:0 28px 58px rgba(4,9,15,.34), inset 0 1px 0 rgba(255,255,255,.08);
}
.quote-card::after{
  content:"";
  position:absolute;
  inset:auto -12% -18% auto;
  width:160px;
  height:160px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(176,141,87,.18), transparent 70%);
}
.quote-card blockquote{
  margin:0 0 1rem;
  font-family:"Barlow",sans-serif;
  font-size:1.58rem;
  line-height:1.2;
  letter-spacing:.01em;
  max-width:19ch;
  text-wrap:balance;
}
.quote-card p{
  color:var(--brass-soft);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.9rem;
  font-weight:700;
  margin-top:1.25rem;
}

.faq-list{
  display:grid;
  gap:1rem;
}
.faq-item{
  padding:1.2rem 1.3rem;
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease;
}
.faq-item summary{
  cursor:pointer;
  font-family:"Barlow",sans-serif;
  font-size:1.05rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  list-style:none;
  position:relative;
  padding-right:2rem;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";
  position:absolute;
  right:0;
  top:0;
  color:var(--brass-soft);
  font-size:1.5rem;
  line-height:1;
  transition:transform .22s ease;
}
.faq-item[open] summary::after{
  transform:rotate(45deg);
}
.faq-answer{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .28s ease, opacity .28s ease;
  opacity:.55;
}
.faq-item[open] .faq-answer{
  grid-template-rows:1fr;
  opacity:1;
}
.faq-answer p{
  overflow:hidden;
  margin-top:.85rem;
  color:#ccd6df;
}

.consultation-section{padding-bottom:7rem}
.consultation-card{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.consultation-card .full{grid-column:1/-1}
.consultation-success,
.consultation-error{
  padding:1.1rem 1.15rem;
  border:1px solid rgba(176,141,87,.22);
  border-radius:18px;
  background:rgba(255,255,255,.04);
}
.consultation-success h3,
.consultation-error h3{
  margin-bottom:.35rem;
}
.consultation-success p:last-child,
.consultation-error p:last-child{
  margin:0;
  color:#c9d3db;
}
label{
  display:grid;
  gap:.45rem;
  color:#d9e2e8;
  font-size:.92rem;
  font-weight:600;
}
input,textarea,select{
  width:100%;
  border:1px solid rgba(233,238,243,.18);
  border-radius:16px;
  background:rgba(255,255,255,.04);
  color:#fff;
  padding:.95rem 1rem;
  font:inherit;
}
textarea{min-height:150px;resize:vertical}
.form-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.form-actions p{
  max-width:24rem;
  color:#b8c5cf;
  font-size:.84rem;
}
.consultation-grid > div:first-child{
  align-self:center;
}

.site-footer{
  padding:2rem 0 3rem;
  border-top:1px solid rgba(123,135,148,.14);
  background:rgba(5,13,22,.76);
}
.footer-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:start;
}
.footer-shell p{color:#c3ced7}
.footer-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.45rem 1.2rem;
}
.footer-links a{
  color:#dbe4eb;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.78rem;
  font-weight:700;
}

.site-progress{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:3px;
  transform:scaleX(0);
  transform-origin:left center;
  background:linear-gradient(90deg, var(--green) 0%, var(--brass) 100%);
  z-index:70;
  pointer-events:none;
}
.reveal-on-scroll{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal-on-scroll.is-visible{
  opacity:1;
  transform:none;
}

.metric-card:hover,
.advantage-card:hover,
.process-card:hover,
.quote-card:hover,
.consultant-card:hover,
.faq-item:hover,
.timeline-step:hover{
  transform:translateY(-4px);
  box-shadow:0 34px 68px rgba(4,9,15,.34), inset 0 1px 0 rgba(255,255,255,.10);
}

.btn-primary:hover{
  filter:brightness(1.05);
}

@media (max-width:1100px){
  .hero-grid,
  .intro-split,
  .two-column-grid,
  .consultation-grid,
  .consultants-shell{grid-template-columns:1fr}
  .hero-copy{max-width:none;padding-right:0}
  .hero-photo{min-height:620px}
  .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .timeline{grid-template-columns:repeat(3,minmax(0,1fr))}
  .consultant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quote-grid{grid-template-columns:1fr}
  .story-grid{grid-template-columns:1fr}
  .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:820px){
  h1{font-size:clamp(2.7rem,12vw,4.4rem)}
  h2{font-size:clamp(1.8rem,8vw,3rem)}
  .hero{padding:4.7rem 0 4rem}
  .hero-copy h1{
    max-width:13ch;
    font-size:clamp(2.5rem,8.4vw,3.5rem);
  }
  .hero-lead{
    max-width:unset;
    font-size:1.12rem;
  }
  .hero-photo{
    min-height:500px;
    border-radius:26px;
  }
  .site-nav{
    display:none;
    position:absolute;
    top:calc(100% + .75rem);
    right:1rem;
    left:1rem;
    padding:1rem;
    border:1px solid var(--line);
    border-radius:20px;
    background:rgba(8,20,33,.98);
    box-shadow:var(--shadow);
    white-space:normal;
  }
  .site-nav.open{display:grid}
  .menu-toggle{display:inline-flex}
  .desktop-only{display:none}
  .nav-shell{
    display:flex;
    min-height:92px;
    gap:1rem;
  }
  .consultant-grid,
  .advantage-grid,
  .process-grid,
  .timeline,
  .metrics-grid{grid-template-columns:1fr}
  .timeline-step::before{display:none}
  .consultant-card{grid-template-columns:88px 1fr}
  .consultant-card img{width:88px;height:88px}
  .consultation-card{grid-template-columns:1fr}
  .footer-shell,
  .footer-links{grid-template-columns:1fr}
}
