@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Space+Grotesk:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --navy:#0B1F3D;
  --navy-deep:#081729;
  --cream:#F1EFE6;
  --gray:#555555;
  --white:#FFFFFF;
  --steel:#3D5A73;
  --steel-light:#7C93A6;
  --gold:#B9942F;
  --gold-light:#D4B65E;
  --line:#E2DFD3;
  --line-dark:#DAD6C7;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Space Grotesk',sans-serif;
  color:var(--navy);
  background:var(--white);
  line-height:1.6;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:'Cinzel',serif;font-weight:600;letter-spacing:0.01em;}
.mono{font-family:'JetBrains Mono',monospace;letter-spacing:0.08em;text-transform:uppercase;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important;}}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--steel-light);outline-offset:3px;
}

/* ============ NAV ============ */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(11,31,61,0.96);
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(124,147,166,0.25);
}
.nav-inner{
  max-width:1200px;margin:0 auto;padding:16px 32px;
  display:flex;align-items:center;justify-content:space-between;
}
.logo-mark{display:flex;align-items:center;gap:13px;}
.logo-icon{height:36px;width:auto;display:block;}
.logo{font-family:'Cinzel',serif;color:var(--white);font-size:1.05rem;letter-spacing:0.06em;font-weight:600;}
.logo span{color:var(--gold-light);}
.nav-links{display:flex;gap:32px;list-style:none;align-items:center;}
.nav-links a{
  color:var(--cream);font-size:0.8rem;font-family:'JetBrains Mono',monospace;
  letter-spacing:0.1em;text-transform:uppercase;transition:color 0.25s ease;position:relative;
}
.nav-links a::after{
  content:'';position:absolute;bottom:-6px;left:0;width:0;height:1px;
  background:var(--gold);transition:width 0.3s ease;
}
.nav-links a:hover{color:var(--white);}
.nav-links a:hover::after{width:100%;}
.nav-links a.active{color:var(--gold-light);}
.nav-cta{border:1px solid var(--gold);padding:9px 20px;font-size:0.76rem;color:var(--gold-light) !important;}
.nav-cta::after{display:none;}
.nav-cta:hover{background:var(--gold);color:var(--navy-deep) !important;}

/* ============ MOBILE MENU ============ */
.menu-toggle{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:32px;height:32px;background:none;border:none;cursor:pointer;padding:0;
}
.menu-toggle span{
  display:block;width:100%;height:1px;background:var(--cream);
  transition:transform 0.25s ease,opacity 0.25s ease;
}
.menu-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.menu-toggle.open span:nth-child(2){opacity:0;}
.menu-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.mobile-menu{
  display:none;flex-direction:column;
  background:var(--navy-deep);border-top:1px solid rgba(124,147,166,0.25);
  max-height:0;overflow:hidden;transition:max-height 0.3s ease;
}
.mobile-menu.open{max-height:340px;}
.mobile-menu a{
  display:block;padding:16px 32px;color:var(--cream);
  font-family:'JetBrains Mono',monospace;font-size:0.85rem;
  letter-spacing:0.08em;text-transform:uppercase;
  border-bottom:1px solid rgba(124,147,166,0.15);
}
.mobile-menu a:hover{color:var(--gold-light);}
.mobile-menu-phone{color:var(--gold-light) !important;}

/* ============ BUTTONS ============ */
.btn-primary{
  background:var(--navy);color:var(--white);
  padding:15px 30px;font-size:0.78rem;font-family:'JetBrains Mono',monospace;
  letter-spacing:0.08em;text-transform:uppercase;transition:all 0.25s ease;
  border:1px solid var(--navy);display:inline-block;cursor:pointer;
}
.btn-primary:hover{background:transparent;color:var(--navy);}
.btn-primary.on-dark{background:var(--cream);color:var(--navy-deep);border-color:var(--cream);}
.btn-primary.on-dark:hover{background:transparent;color:var(--cream);}
.btn-secondary{
  border:1px solid var(--steel);color:var(--navy);
  padding:15px 30px;font-size:0.78rem;font-family:'JetBrains Mono',monospace;
  letter-spacing:0.08em;text-transform:uppercase;transition:all 0.25s ease;
  display:inline-block;background:none;cursor:pointer;
}
.btn-secondary:hover{background:var(--navy);color:var(--gold-light);border-color:var(--navy);}
.btn-secondary.on-dark{border-color:var(--steel-light);color:var(--cream);}
.btn-secondary.on-dark:hover{border-color:var(--gold);color:var(--gold-light);background:transparent;}

/* ============ BREADCRUMB ============ */
.breadcrumb{background:var(--cream);padding:110px 32px 20px;}
.breadcrumb-inner{max-width:1200px;margin:0 auto;font-size:0.72rem;color:var(--steel);}
.breadcrumb-inner a:hover{color:var(--gold);}

/* ============ PAGE HERO (light, for interior pages) ============ */
.page-hero{background:var(--cream);padding:40px 32px 90px;position:relative;}
.page-hero-inner{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:1.3fr 0.9fr;gap:60px;align-items:end;
}
.page-hero-inner.single{grid-template-columns:1fr;max-width:820px;}
.eyebrow{color:var(--steel);font-size:0.72rem;margin-bottom:20px;}
.page-title{font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.15;color:var(--navy);margin-bottom:24px;}
.page-sub{color:var(--gray);font-size:1rem;font-weight:300;max-width:560px;margin-bottom:36px;}
.page-buttons{display:flex;gap:16px;flex-wrap:wrap;}
.hero-side-card{background:var(--navy);color:var(--cream);padding:34px;border:1px solid var(--navy);}
.hero-side-card .stat-label{font-size:0.68rem;color:var(--gold-light);margin-bottom:10px;}
.hero-side-card .stat-body{font-size:0.92rem;font-weight:300;line-height:1.6;}

/* ============ SECTION SHARED ============ */
section{padding:100px 32px;}
.section-inner{max-width:1200px;margin:0 auto;}
.section-title{font-size:clamp(1.6rem,2.8vw,2.2rem);margin-bottom:18px;color:var(--navy);}
.section-lede{color:var(--gray);max-width:640px;font-size:0.98rem;font-weight:300;margin-bottom:60px;}

/* ============ CARD GRID (pillars / concerns / features) ============ */
.card-grid{display:grid;border-top:1px solid var(--line);}
.card-grid.cols-3{grid-template-columns:repeat(3,1fr);}
.card-grid.cols-4{grid-template-columns:repeat(4,1fr);}
.card{
  padding:34px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  border-top:2px solid transparent;transition:background 0.3s ease,border-color 0.3s ease;
}
.card-grid.cols-3 .card:nth-child(3n){border-right:none;}
.card-grid.cols-4 .card:nth-child(4n){border-right:none;}
.card:hover{background:var(--cream);border-top-color:var(--gold);}
.card-tag{color:var(--steel);font-size:0.66rem;margin-bottom:18px;display:block;}
.card h3{font-size:1rem;margin-bottom:10px;color:var(--navy);}
.card p{color:var(--gray);font-size:0.86rem;font-weight:300;}

/* ============ PROCESS STEPS (real sequence) ============ */
.approach{background:var(--cream);padding:100px 32px;}
.approach-steps{display:flex;flex-direction:column;border-top:1px solid var(--line-dark);margin-top:20px;}
.step{
  display:grid;grid-template-columns:100px 1fr 1fr;gap:30px;
  padding:32px 0;border-bottom:1px solid var(--line-dark);align-items:start;
}
.step-num{font-family:'JetBrains Mono',monospace;color:var(--gold);font-size:0.85rem;font-weight:500;}
.step h4{font-size:1.05rem;color:var(--navy);margin-bottom:6px;}
.step p{color:var(--gray);font-size:0.88rem;font-weight:300;}

/* ============ NAVY BAND (mission / quote / callout) ============ */
.navy-band{background:var(--navy);color:var(--cream);padding:100px 32px;text-align:center;position:relative;}
.navy-band::before{
  content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:1px;height:60px;background:var(--gold);
}
.navy-band-inner{max-width:820px;margin:0 auto;}
.navy-band-mark{color:var(--gold-light);font-size:0.72rem;margin-bottom:34px;}
.navy-band-text{font-family:'Cinzel',serif;font-size:clamp(1.2rem,2.4vw,1.7rem);line-height:1.6;font-weight:500;}
.navy-band-text.body-font{font-family:'Space Grotesk',sans-serif;font-weight:300;font-size:1.1rem;}
.navy-band-tag{margin-top:36px;color:var(--gold-light);font-size:0.78rem;}
.navy-band-disclaimer{margin-top:24px;font-size:0.74rem;color:var(--steel-light);font-weight:300;}

/* ============ SEGMENT / LIST ROWS ============ */
.row-list{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line-dark);}
.row-list.single{grid-template-columns:1fr;}
.row-item{
  background:var(--cream);padding:34px 36px;
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  transition:background 0.25s ease;cursor:default;
}
.row-item.linked{cursor:pointer;}
.row-item:hover{background:var(--white);}
.row-name{font-family:'Cinzel',serif;font-size:1.1rem;color:var(--navy);}
.row-note{color:var(--gray);font-size:0.82rem;font-weight:300;text-align:right;max-width:320px;}
.row-arrow{color:var(--gold);font-size:0.9rem;margin-left:14px;flex-shrink:0;}

/* ============ CREDENTIALS LIST ============ */
.creds-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:start;}
.creds-list{list-style:none;border-top:1px solid var(--line);}
.creds-list li{padding:20px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:20px;}
.creds-list .label{font-size:0.68rem;color:var(--steel);white-space:nowrap;}
.creds-list .val{color:var(--navy);font-size:0.95rem;text-align:right;}

/* ============ CTA BAND ============ */
.cta-band{padding:90px 32px;background:var(--white);text-align:center;}
.cta-band h2{font-size:clamp(1.6rem,3vw,2.1rem);color:var(--navy);margin-bottom:20px;}
.cta-band p{color:var(--gray);font-weight:300;max-width:520px;margin:0 auto 34px;}

/* ============ TWO-COL FEATURE (used on service pages) ============ */
.feature-row{
  display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;
  padding:90px 32px;border-bottom:1px solid var(--line);
}
.feature-row:nth-child(even){background:var(--cream);}
.feature-row-inner{max-width:1200px;margin:0 auto;display:contents;}
.feature-num{color:var(--gold);font-size:0.72rem;margin-bottom:16px;}
.feature-row h3{font-size:1.5rem;margin-bottom:18px;color:var(--navy);}
.feature-row p{color:var(--gray);font-weight:300;font-size:0.95rem;margin-bottom:14px;}
.feature-list{list-style:none;margin-top:18px;}
.feature-list li{
  padding:12px 0;border-top:1px solid var(--line);
  color:var(--navy);font-size:0.9rem;font-weight:400;
  display:flex;gap:12px;
}
.feature-list li::before{content:'—';color:var(--gold);flex-shrink:0;}
.feature-panel{
  background:var(--navy);color:var(--cream);padding:40px;
  font-size:0.9rem;font-weight:300;line-height:1.7;
}
.feature-panel p{color:var(--cream);font-size:0.9rem;font-weight:300;margin-bottom:0;}
.feature-panel .panel-label{color:var(--gold-light);font-size:0.68rem;margin-bottom:16px;}
.feature-panel.light{background:var(--white);color:var(--gray);border:1px solid var(--line);}
.feature-panel.light p{color:var(--gray);}
.feature-panel.light .panel-label{color:var(--steel);}

/* ============ FOOTER ============ */
footer{background:var(--navy-deep);color:var(--cream);padding:80px 32px 36px;}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:50px;padding-bottom:50px;border-bottom:1px solid rgba(124,147,166,0.25);}
.footer-logo{height:50px;width:auto;margin-bottom:18px;display:block;}
.footer-brand p{color:var(--steel-light);font-size:0.86rem;font-weight:300;max-width:300px;}
.footer-col h4{
  font-family:'JetBrains Mono',monospace;font-size:0.7rem;color:var(--gold-light);
  margin-bottom:16px;letter-spacing:0.1em;text-transform:uppercase;font-weight:500;
}
.footer-col a,.footer-col p{display:block;color:var(--cream);font-size:0.86rem;font-weight:300;margin-bottom:9px;opacity:0.9;}
.footer-col a:hover{opacity:1;color:var(--white);}
.footer-bottom{padding-top:26px;display:flex;justify-content:space-between;font-size:0.7rem;color:var(--steel-light);flex-wrap:wrap;gap:10px;}
.footer-bottom .mono{color:var(--gold-light);}

/* ============ CONTACT FORM ============ */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:1200px;margin:0 auto;}
.form-field{margin-bottom:22px;}
.form-field label{display:block;font-size:0.72rem;color:var(--steel);margin-bottom:8px;letter-spacing:0.05em;text-transform:uppercase;font-family:'JetBrains Mono',monospace;}
.form-field input,.form-field select,.form-field textarea{
  width:100%;border:1px solid var(--line);background:var(--white);
  padding:13px 14px;font-family:'Space Grotesk',sans-serif;font-size:0.92rem;color:var(--navy);
  transition:border-color 0.2s ease;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--gold);outline:none;}
.form-field textarea{resize:vertical;min-height:120px;}
.form-note{font-size:0.78rem;color:var(--gray);font-weight:300;margin-top:18px;}
.contact-info-block{border-top:1px solid var(--line);padding-top:24px;margin-top:24px;}
.contact-info-block .label{font-size:0.68rem;color:var(--steel);margin-bottom:6px;}
.contact-info-block .val{font-size:1.05rem;color:var(--navy);margin-bottom:20px;display:block;}
.contact-info-block .val:hover{color:var(--gold);}

/* ============ FAQ ACCORDION ============ */
.faq-group{margin-bottom:60px;}
.faq-group:last-child{margin-bottom:0;}
.faq-group-title{
  font-family:'Cinzel',serif;font-weight:600;color:var(--navy);
  font-size:1.15rem;margin-bottom:6px;padding-bottom:16px;border-bottom:1px solid var(--line-dark);
}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{
  cursor:pointer;padding:22px 34px 22px 0;position:relative;
  font-family:'Space Grotesk',sans-serif;font-weight:500;color:var(--navy);
  font-size:1rem;list-style:none;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:'+';position:absolute;right:2px;top:20px;
  color:var(--gold);font-size:1.3rem;font-weight:400;line-height:1;
  transition:transform 0.25s ease;
}
.faq-item[open] summary::after{content:'\2212';}
.faq-item summary:hover{color:var(--steel);}
.faq-answer{
  color:var(--gray);font-weight:300;font-size:0.94rem;line-height:1.75;
  padding-bottom:26px;max-width:680px;
}
.faq-answer a{color:var(--navy);text-decoration:underline;}
.faq-answer a:hover{color:var(--gold);}

/* ============ RESPONSIVE ============ */
@media (max-width:900px){
  .nav-links{display:none;}
  .menu-toggle{display:flex;}
  .mobile-menu{display:flex;}
  .page-hero-inner{grid-template-columns:1fr;}
  .card-grid.cols-3,.card-grid.cols-4{grid-template-columns:1fr 1fr;}
  .card-grid.cols-3 .card:nth-child(3n),.card-grid.cols-4 .card:nth-child(4n){border-right:1px solid var(--line);}
  .card-grid .card:nth-child(2n){border-right:none;}
  .step{grid-template-columns:1fr;gap:8px;}
  .footer-top{grid-template-columns:1fr 1fr;gap:34px;}
  .row-list{grid-template-columns:1fr;}
  .row-item{flex-direction:column;align-items:flex-start;gap:8px;}
  .row-note{text-align:left;max-width:100%;}
  .creds-grid{grid-template-columns:1fr;gap:40px;}
  .feature-row{grid-template-columns:1fr;gap:36px;}
  .contact-grid{grid-template-columns:1fr;gap:50px;}
}
@media (max-width:600px){
  section,.approach,.navy-band,.cta-band,.feature-row{padding-left:20px;padding-right:20px;}
  .breadcrumb,.page-hero{padding-left:20px;padding-right:20px;}
  .card-grid.cols-3,.card-grid.cols-4{grid-template-columns:1fr;}
  .card-grid .card{border-right:none !important;}
  .footer-top{grid-template-columns:1fr;}
}
