/* ---------------------------------------------------------
   Redeployment — Shared Stylesheet
   Approved v1 design direction
   Palette (placeholder hex codes — confirm with Thomas):
     --ink:    #0F1B2D   deep naval blue
     --paper:  #F4EFE6   warm cream
     --brass:  #B08D57   accent
     --slate:  #5C6770   secondary text
   Type: Spectral (display/body) + Inter (UI/eyebrow)
   --------------------------------------------------------- */

:root{
  --ink:#2A4D69;       /* official brand navy */
  --paper:#FFFFFF;     /* white */
  --brass:#4DC6FF;     /* official brand cyan (legacy var name, value is brand cyan) */
  --slate:#5C6770;
  --ink-90:rgba(42,77,105,0.9);
  --ink-10:rgba(42,77,105,0.10);
  --ink-04:rgba(42,77,105,0.04);
  --paper-20:rgba(255,255,255,0.2);
  --paper-70:rgba(255,255,255,0.7);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Spectral', Georgia, serif;
  font-weight:400;color:var(--ink);background:var(--paper);
  line-height:1.55;-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
.container{max-width:1240px;margin:0 auto;padding:0 32px}
.eyebrow{
  font-family:'Inter', sans-serif;font-size:11px;font-weight:500;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--brass);display:inline-block;
}

/* NAV */
.nav{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--ink-10);
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 32px;max-width:1240px;margin:0 auto;
}
.brand{
  font-family:'Spectral', serif;font-weight:500;
  font-size:22px;letter-spacing:0.18em;color:var(--ink);
  text-transform:uppercase;
}
.nav-links{
  display:flex;gap:28px;align-items:center;
  font-family:'Inter', sans-serif;font-size:13px;font-weight:500;
}
.nav-links a{color:var(--ink-90);transition:color .2s}
.nav-links a:hover, .nav-links a.active{color:var(--brass)}
.nav-cta{
  padding:9px 18px;border:1px solid var(--ink);color:var(--ink);
  font-family:'Inter', sans-serif;font-size:13px;font-weight:500;
  transition:all .2s;
}
.nav-cta:hover{background:var(--ink);color:var(--paper)}

/* PAGE HERO (used on subpages) */
.page-hero{
  padding:120px 0 80px;border-bottom:1px solid var(--ink-10);
}
.page-hero-coords{
  font-family:'Inter', sans-serif;font-size:11px;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--slate);
  margin-bottom:32px;display:flex;gap:24px;
}
.page-hero-coords span:before{
  content:"";display:inline-block;width:18px;height:1px;
  background:var(--brass);vertical-align:middle;margin-right:10px;
}
.page-hero h1{
  font-family:'Spectral', serif;font-weight:300;
  font-size:clamp(56px, 8vw, 120px);line-height:0.95;
  letter-spacing:-0.03em;color:var(--ink);margin-bottom:32px;
}
.page-hero h1 em{font-style:italic;color:var(--brass);font-weight:500}
.page-hero-sub{
  font-family:'Spectral', serif;font-size:22px;font-weight:300;
  color:var(--slate);max-width:680px;line-height:1.45;
}
.page-hero-sub strong{color:var(--ink);font-weight:500}

/* HERO (homepage) */
.hero{padding:120px 0 100px;border-bottom:1px solid var(--ink-10)}
.hero-inner{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:end}
.hero-coords{
  font-family:'Inter', sans-serif;font-size:11px;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--slate);margin-bottom:40px;display:flex;gap:24px;
}
.hero-coords span:before{
  content:"";display:inline-block;width:18px;height:1px;
  background:var(--brass);vertical-align:middle;margin-right:10px;
}
.hero h1{
  font-family:'Spectral', serif;font-weight:300;
  font-size:clamp(44px, 6vw, 84px);line-height:1.04;
  letter-spacing:-0.02em;color:var(--ink);margin-bottom:32px;
}
.hero h1 em{font-style:italic;color:var(--brass);font-weight:500}
.hero-definition{
  font-family:'Spectral', serif;font-style:italic;
  font-size:18px;color:var(--slate);max-width:540px;
  border-left:2px solid var(--brass);padding-left:20px;margin-top:16px;
}
.hero-cta-block{display:flex;flex-direction:column;gap:14px}

/* CTA BUTTONS */
.cta{
  font-family:'Inter', sans-serif;font-size:14px;font-weight:500;
  letter-spacing:0.02em;padding:18px 28px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  border:1px solid var(--ink);transition:all .2s;
}
.cta-primary{background:var(--ink);color:var(--paper)}
.cta-primary:hover{background:var(--brass);border-color:var(--brass)}
.cta-secondary:hover{background:var(--ink);color:var(--paper)}
.cta-label{display:block;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;opacity:0.7;margin-bottom:4px}
.cta-text{font-family:'Spectral', serif;font-size:18px;font-weight:500;letter-spacing:0}
.cta .arrow{font-family:'Inter', sans-serif;font-size:18px}
.cta-inline{
  display:inline-flex;align-items:center;gap:12px;
  padding:14px 22px;font-size:13px;
}

/* STATS BAR */
.stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--ink-10);border-bottom:1px solid var(--ink-10);
}
.stat{padding:32px 24px;border-right:1px solid var(--ink-10)}
.stat:last-child{border-right:none}
.stat-num{
  font-family:'Spectral', serif;font-weight:500;
  font-size:42px;color:var(--ink);line-height:1;
}
.stat-num span{color:var(--brass)}
.stat-label{
  font-family:'Inter', sans-serif;font-size:11px;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--slate);margin-top:10px;
}

/* SECTIONS */
.section{padding:120px 0}
.section-tight{padding:80px 0}
.section-head{
  display:grid;grid-template-columns:1fr 2fr;gap:60px;
  margin-bottom:60px;align-items:end;
}
.section-head h2{
  font-family:'Spectral', serif;font-weight:400;
  font-size:clamp(32px, 4vw, 52px);line-height:1.1;letter-spacing:-0.01em;
}
.section-head h2 em{font-style:italic;color:var(--brass);font-weight:500}
.section-head p{font-size:17px;color:var(--slate);max-width:520px}

/* VERTICALS / FEATURE GRID */
.verticals{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--ink-10);border:1px solid var(--ink-10);
}
.vertical{
  background:var(--paper);padding:48px 36px;
  display:flex;flex-direction:column;gap:20px;
  transition:background .25s;cursor:pointer;
}
.vertical:hover{background:var(--ink);color:var(--paper)}
.vertical:hover .vertical-num,
.vertical:hover .vertical-list li{color:var(--paper)}
.vertical:hover .vertical-list li:before{color:var(--brass)}
.vertical-num{
  font-family:'Inter', sans-serif;font-size:11px;
  letter-spacing:0.2em;color:var(--slate);
}
.vertical h3{
  font-family:'Spectral', serif;font-weight:500;
  font-size:30px;line-height:1.1;
}
.vertical-list{list-style:none;font-size:15px;color:var(--slate);margin-top:8px}
.vertical-list li{padding:6px 0;border-bottom:1px dotted var(--ink-10)}
.vertical-list li:before{content:"— ";color:var(--brass);margin-right:4px}
.vertical-list li:last-child{border-bottom:none}

/* WHY / DARK SECTIONS */
.why, .dark{background:var(--ink);color:var(--paper);padding:120px 0}
.why .section-head h2, .dark .section-head h2{color:var(--paper)}
.why .section-head p, .dark .section-head p{color:var(--paper-70)}
.why .eyebrow, .dark .eyebrow{color:var(--brass)}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:60px 80px;margin-top:40px}
.why-item{display:grid;grid-template-columns:60px 1fr;gap:20px}
.why-num{
  font-family:'Spectral', serif;font-weight:300;
  font-size:48px;color:var(--brass);line-height:1;
}
.why-item h3{
  font-family:'Spectral', serif;font-weight:500;
  font-size:22px;margin-bottom:10px;
}
.why-item p{color:var(--paper-70);font-size:16px;line-height:1.55}

/* PLACEMENTS */
.placements{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
  background:var(--ink-10);border:1px solid var(--ink-10);
}
.placement{
  background:var(--paper);padding:32px 36px;
  display:flex;justify-content:space-between;align-items:start;gap:24px;
}
.placement-role{font-family:'Spectral', serif;font-weight:500;font-size:20px;line-height:1.2}
.placement-co{font-family:'Inter', sans-serif;font-size:13px;color:var(--slate);margin-top:8px}
.placement-tag{
  font-family:'Inter', sans-serif;font-size:10px;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--brass);white-space:nowrap;padding-top:8px;
}

/* CLIENTS */
.clients{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border-top:1px solid var(--ink-10);border-bottom:1px solid var(--ink-10);
  margin-top:60px;
}
.client{
  padding:30px 24px;text-align:center;
  font-family:'Spectral', serif;font-weight:500;font-size:15px;
  color:var(--slate);letter-spacing:0.04em;
  border-right:1px solid var(--ink-10);
  border-bottom:1px solid var(--ink-10);
  transition:color .2s;
  display:flex;align-items:center;justify-content:center;
  min-height:120px;
}
.client img{
  max-width:100%;max-height:64px;object-fit:contain;
  filter:grayscale(100%);opacity:0.65;
  transition:filter .25s, opacity .25s;
}
.client:nth-child(4n){border-right:none}
.client:nth-last-child(-n+4){border-bottom:none}
.client:hover{color:var(--ink)}
.client:hover img{filter:grayscale(0%);opacity:1}

/* TESTIMONIALS */
.testimonials{background:var(--ink);color:var(--paper);padding:120px 0}
.testimonials .eyebrow{color:var(--brass)}
.testimonials h2{
  font-family:'Spectral', serif;font-weight:400;
  font-size:clamp(32px, 4vw, 48px);color:var(--paper);
  margin:16px 0 60px;max-width:700px;line-height:1.15;
}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.testimonial{display:flex;flex-direction:column;gap:24px}
.testimonial-quote{
  font-family:'Spectral', serif;font-weight:300;
  font-size:19px;line-height:1.5;color:var(--paper-70);
}
.testimonial-quote:before{
  content:"\201C";font-size:54px;color:var(--brass);
  line-height:0;vertical-align:-22px;margin-right:6px;
}
.testimonial-author{
  font-family:'Inter', sans-serif;font-size:12px;
  letter-spacing:0.15em;text-transform:uppercase;color:var(--brass);
  padding-top:20px;border-top:1px solid var(--paper-20);
}

/* FINAL CTA */
.final-cta{padding:140px 0;text-align:center;border-top:1px solid var(--ink-10)}
.final-cta h2{
  font-family:'Spectral', serif;font-weight:300;
  font-size:clamp(40px, 5.5vw, 72px);line-height:1.05;
  max-width:900px;margin:0 auto 40px;letter-spacing:-0.02em;
}
.final-cta h2 em{font-style:italic;color:var(--brass);font-weight:500}
.final-cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* FOOTER */
.footer{background:var(--ink);color:var(--paper);padding:80px 0 40px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:60px;margin-bottom:60px}
.footer-brand{
  font-family:'Spectral', serif;font-weight:600;
  font-size:28px;letter-spacing:0.18em;
  margin-bottom:16px;text-transform:uppercase;
  display:flex;align-items:center;gap:14px;
}
.footer-logo{height:48px;width:auto;display:block;filter:brightness(0) invert(1)}
.footer-tag{color:var(--paper-70);font-size:15px;font-style:italic;max-width:300px}
.footer h4{
  font-family:'Inter', sans-serif;font-size:11px;font-weight:500;
  letter-spacing:0.2em;text-transform:uppercase;
  color:var(--brass);margin-bottom:20px;
}
.footer ul{list-style:none}
.footer ul li{padding:6px 0}
.footer ul li a{color:var(--paper-70);font-size:14px;transition:color .2s}
.footer ul li a:hover{color:var(--paper)}
.footer-certs{
  border-top:1px solid var(--paper-20);padding-top:30px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;
}
.cert-badges{display:flex;gap:14px;flex-wrap:wrap}
.cert-badge{
  font-family:'Inter', sans-serif;font-size:10px;
  letter-spacing:0.15em;text-transform:uppercase;
  border:1px solid var(--paper-20);padding:8px 14px;color:var(--paper-70);
}
.footer-copy{font-size:12px;color:var(--paper-70);font-family:'Inter', sans-serif}

/* TEAM (about page) */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink-10);border:1px solid var(--ink-10)}
.team-member{background:var(--paper);padding:48px 36px}
.team-photo{
  width:100%;aspect-ratio:1/1;background:var(--ink);
  margin-bottom:24px;display:flex;align-items:center;justify-content:center;
  color:var(--paper-70);font-family:'Inter', sans-serif;font-size:11px;
  letter-spacing:0.18em;text-transform:uppercase;
  object-fit:cover;object-position:center 20%;
}
.team-name{font-family:'Spectral', serif;font-weight:500;font-size:26px;line-height:1.1;margin-bottom:6px}
.team-role{
  font-family:'Inter', sans-serif;font-size:11px;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--brass);margin-bottom:18px;
}
.team-bio{list-style:none;font-size:14px;color:var(--slate);margin-bottom:20px}
.team-bio li{padding:4px 0}
.team-bio li:before{content:"+ ";color:var(--brass);margin-right:4px}
.team-links{
  font-family:'Inter', sans-serif;font-size:12px;
  letter-spacing:0.12em;text-transform:uppercase;
  display:flex;gap:18px;
}
.team-links a{color:var(--ink);border-bottom:1px solid var(--brass);padding-bottom:2px}
.team-links a:hover{color:var(--brass)}

/* PROCESS TIMELINE (hiring & candidates pages) */
.process{display:grid;gap:1px;background:var(--ink-10);border:1px solid var(--ink-10)}
.process-step{background:var(--paper);padding:40px 48px;display:grid;grid-template-columns:80px 1fr 2fr;gap:32px;align-items:start}
.process-num{
  font-family:'Spectral', serif;font-weight:300;
  font-size:42px;color:var(--brass);line-height:1;
}
.process-step-title{font-family:'Spectral', serif;font-weight:500;font-size:22px;line-height:1.2}
.process-step-detail{font-size:16px;color:var(--slate);line-height:1.6}

/* PRINCIPLES (about page) */
.principles{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--ink-10);border:1px solid var(--ink-10)}
.principle{background:var(--paper);padding:48px 40px;display:flex;flex-direction:column;gap:14px}
.principle h3{font-family:'Spectral', serif;font-weight:500;font-size:24px;line-height:1.2}
.principle h3 em{font-style:italic;color:var(--brass);font-weight:500}
.principle p{font-size:16px;color:var(--slate);line-height:1.6}

/* TOPICS (veterans page) */
.topics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink-10);border:1px solid var(--ink-10)}
.topic{background:var(--paper);padding:36px 28px}
.topic-num{
  font-family:'Inter', sans-serif;font-size:10px;
  letter-spacing:0.2em;color:var(--slate);margin-bottom:14px;
}
.topic h4{font-family:'Spectral', serif;font-weight:500;font-size:18px;line-height:1.25;margin-bottom:10px}
.topic p{font-size:14px;color:var(--slate);line-height:1.55}

/* FREE BANNER (veterans) */
.free-banner{
  display:inline-flex;align-items:center;gap:14px;
  border:1px solid var(--ink);padding:14px 22px;margin-bottom:28px;
}
.free-dot{width:8px;height:8px;background:var(--brass);border-radius:50%}
.free-text{font-family:'Inter', sans-serif;font-size:12px;letter-spacing:0.2em;text-transform:uppercase}

/* PULL QUOTE */
.pull-quote{
  border-left:3px solid var(--brass);padding:24px 28px;
  background:var(--ink-04);font-style:italic;font-size:19px;
  font-family:'Spectral', serif;line-height:1.5;
}
.pull-quote-sig{
  font-family:'Inter', sans-serif;font-size:12px;
  letter-spacing:0.15em;text-transform:uppercase;
  color:var(--slate);margin-top:14px;font-style:normal;
}

/* EVENTS GRID (4 cards) */
.events-grid-4{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--ink-10);border:1px solid var(--ink-10);
}
.events-grid-4 .vertical{padding:36px 28px}
.events-grid-4 .vertical h3{font-size:22px}
.events-grid-4 a.vertical{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:14px}
.events-grid-4 a.vertical:hover{background:var(--ink);color:var(--paper)}
.events-grid-4 .event-link-cta{
  font-family:'Inter',sans-serif;font-size:11px;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--brass);margin-top:auto;padding-top:14px;
}

/* TWO-FORMAT GRID (Veterans page — fix GRP overlap) */
.format-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 80px;margin-top:40px}
.format-item{display:grid;grid-template-columns:100px 1fr;gap:24px;align-items:start}
.format-num{
  font-family:'Spectral',serif;font-weight:400;
  font-size:36px;color:var(--brass);line-height:1;letter-spacing:0.04em;
}
.format-item h3{
  font-family:'Spectral',serif;font-weight:500;font-size:22px;margin-bottom:10px;
}
.format-item p{color:var(--paper-70);font-size:16px;line-height:1.55}

/* TOPICS — highlight top card */
.topic-feature{
  background:var(--ink);color:var(--paper);
  grid-column:span 2;
}
.topic-feature .topic-num,
.topic-feature h4,
.topic-feature p{color:var(--paper)}
.topic-feature .topic-num{color:var(--brass)}
.topic-feature h4{font-size:24px}
.topic-feature p{color:var(--paper-70)}

/* TESTIMONIAL MARQUEE (auto-scrolling carousel) */
.testimonial-marquee{
  overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}
.testimonial-track{
  display:flex;gap:32px;width:max-content;
  animation:marquee 90s linear infinite;
}
.testimonial-marquee:hover .testimonial-track{animation-play-state:paused}
@keyframes marquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
.testimonial-marquee .testimonial{
  width:360px;flex-shrink:0;
  border:1px solid var(--paper-20);padding:32px;border-radius:0;
}

/* INLINE BULLETS */
.inline-bullets{list-style:none;margin:18px 0;padding:0}
.inline-bullets li{
  padding:8px 0 8px 22px;position:relative;
  font-size:17px;color:var(--slate);line-height:1.55;
}
.inline-bullets li:before{
  content:"—";position:absolute;left:0;color:var(--brass);font-weight:500;
}

/* IMAGE PLACEHOLDER */
.img-placeholder{
  background:var(--ink);color:var(--paper);
  display:flex;align-items:center;justify-content:center;
  font-family:'Inter',sans-serif;font-size:11px;letter-spacing:0.18em;
  text-transform:uppercase;text-align:center;padding:24px;
  min-height:220px;width:100%;
}

/* TWO COLUMN */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.two-col h2{font-family:'Spectral', serif;font-weight:400;font-size:clamp(36px, 4.5vw, 56px);line-height:1.05;letter-spacing:-0.01em;margin-bottom:24px}
.two-col h2 em{font-style:italic;color:var(--brass);font-weight:500}
.two-col p{font-size:18px;color:var(--slate);line-height:1.65;margin-bottom:18px}
.two-col p strong{color:var(--ink);font-weight:500}

/* RESPONSIVE */
@media (max-width: 900px){
  .hero-inner,.section-head,.two-col,.process-step{grid-template-columns:1fr;gap:32px}
  .verticals,.placements,.why-grid,.testimonial-grid,.team-grid,.principles,.topics{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(2){border-right:none}
  .clients{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  .nav-links{display:none}
}
