/*
Theme Name: Arcuri Command
Theme URI: https://situationawarenesstraining.com
Author: Rich Meyer
Author URI: https://www.arcurigroupllc.us
Description: Arcuri Group website, built to the approved storyboard (HTML visual system): Command Navy canvas, Architectural Grey and Charcoal surfaces, Precision White type, Saturated Bronze actions. Source Serif 4 display type with IBM Plex Sans interface type.
Version: 0.1.4
License: Proprietary
Text Domain: arcuri-command
*/

/* ============ Design tokens (locked to storyboard, HTML system) ============ */
:root{
  --navy:#071B2B;
  --navy-2:#0A2438;
  --grey:#788185;
  --charcoal:#2B373D;
  --charcoal-2:#222D33;
  --white:#FFFFFF;
  --bronze:#B7824E;
  --bronze-bright:#C99A67;
  --ink-on-navy:#E9EEF1;
  --muted-on-navy:#A9B6BD;
  --hairline:rgba(183,130,78,.45);
  --serif:"Source Serif 4", Georgia, serif;
  --sans:"IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
  --max:1200px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--navy); color:var(--ink-on-navy);
  font-family:var(--sans); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto}
a{color:var(--bronze-bright); text-decoration:none}
a:hover{color:var(--white)}
.wrap{max-width:var(--max); margin:0 auto; padding:0 24px}

/* ============ Global header ============ */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(7,27,43,.97); border-bottom:1px solid var(--hairline);
}
.site-header .wrap{display:flex; align-items:center; gap:28px; min-height:76px}
.brand{display:flex; align-items:center; gap:14px; flex:none}
.brand img{height:52px; width:auto}
.brand .brand-name{
  font-family:var(--serif); font-size:21px; letter-spacing:.14em;
  color:var(--white); text-transform:uppercase; line-height:1.1;
}
.brand .brand-tag{
  display:block; font-family:var(--sans); font-size:10.5px; letter-spacing:.18em;
  color:var(--grey); text-transform:uppercase; margin-top:3px;
}
.main-nav{margin-left:auto}
.main-nav ul{display:flex; gap:26px; list-style:none; margin:0; padding:0}
.main-nav a{
  color:var(--ink-on-navy); font-size:15px; font-weight:500; letter-spacing:.02em;
  padding:8px 2px; border-bottom:2px solid transparent;
}
.main-nav a:hover{color:var(--white); border-bottom-color:var(--bronze)}
.utility-nav{display:flex; align-items:center; gap:18px; flex:none}
.utility-nav .cert-link{
  color:var(--muted-on-navy); font-size:13.5px; letter-spacing:.04em; white-space:nowrap;
}
.utility-nav .cert-link:hover{color:var(--white)}

/* Buttons */
.btn{
  display:inline-block; font-family:var(--sans); font-weight:600; font-size:15.5px;
  letter-spacing:.03em; padding:13px 26px; border-radius:3px; border:1px solid transparent;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.btn-bronze{background:var(--bronze); color:#0A1A28}
.btn-bronze:hover{background:var(--bronze-bright); color:#0A1A28}
.btn-outline{border-color:rgba(255,255,255,.55); color:var(--white); background:transparent}
.btn-outline:hover{border-color:var(--white); color:var(--white); background:rgba(255,255,255,.06)}
.btn-small{padding:10px 20px; font-size:14.5px}

/* ============ Hero ============ */
.hero{padding:96px 0 72px; background:linear-gradient(180deg, var(--navy-2), var(--navy))}
.eyebrow{
  font-size:13px; font-weight:600; letter-spacing:.28em; text-transform:uppercase;
  color:var(--bronze-bright); margin:0 0 22px;
}
.hero h1, .page-hero h1{
  font-family:var(--serif); font-weight:600; color:var(--white);
  font-size:clamp(44px, 6vw, 76px); line-height:1.04; margin:0 0 24px; letter-spacing:.005em;
}
.hero .lede{font-size:20.5px; line-height:1.55; color:var(--muted-on-navy); max-width:640px; margin:0 0 36px}
.hero-actions{display:flex; gap:16px; flex-wrap:wrap}

/* Proof band */
.proof-band{border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); margin-top:72px}
.proof-band .wrap{display:grid; grid-template-columns:repeat(3,1fr); gap:0}
.proof-cell{padding:28px 28px 28px 0}
.proof-cell + .proof-cell{border-left:1px solid rgba(255,255,255,.09); padding-left:28px}
.proof-cell .proof-big{font-family:var(--serif); font-size:30px; color:var(--white); display:block; line-height:1.15}
.proof-cell .proof-small{color:var(--muted-on-navy); font-size:14.5px}

/* ============ Sections ============ */
.section{padding:84px 0}
.section-charcoal{background:var(--charcoal-2)}
.section h2{
  font-family:var(--serif); font-weight:600; color:var(--white);
  font-size:clamp(30px, 3.6vw, 44px); line-height:1.15; margin:0 0 14px;
}
.section .section-lede{color:var(--muted-on-navy); font-size:18.5px; max-width:680px; margin:0 0 44px}
.step-label{
  font-size:12.5px; font-weight:600; letter-spacing:.24em; text-transform:uppercase;
  color:var(--bronze-bright); margin:0 0 16px;
}

/* Challenge cards */
.card-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.card{
  background:var(--charcoal); border:1px solid rgba(255,255,255,.07); border-radius:6px;
  padding:28px 24px;
}
.card h3{font-family:var(--serif); font-size:21px; color:var(--white); margin:0 0 10px; font-weight:600}
.card p{color:var(--muted-on-navy); font-size:15.5px; margin:0}

/* Sector rows */
.sector-list{display:grid; gap:18px}
.sector-row{
  display:grid; grid-template-columns:88px 1fr auto; gap:28px; align-items:center;
  background:var(--charcoal); border:1px solid rgba(255,255,255,.07); border-radius:6px; padding:30px 32px;
}
.sector-row .sector-num{font-family:var(--serif); font-size:40px; color:var(--bronze); line-height:1}
.sector-row h3{font-family:var(--serif); font-size:25px; color:var(--white); margin:0 0 8px; font-weight:600}
.sector-row p{color:var(--muted-on-navy); margin:0; max-width:640px; font-size:16px}

/* Quote band */
.quote-band{background:var(--navy-2); border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); text-align:left}
.quote-band h2{margin-bottom:10px}
.quote-band p{color:var(--muted-on-navy); max-width:620px; margin:0 0 28px; font-size:18px}

/* Page hero (interior pages) */
.page-hero{padding:72px 0 56px; background:linear-gradient(180deg, var(--navy-2), var(--navy))}
.page-hero h1{font-size:clamp(36px, 4.6vw, 56px)}
.page-hero .lede{font-size:19.5px; color:var(--muted-on-navy); max-width:660px; margin:0}

/* Footer */
.site-footer{background:#051320; border-top:1px solid var(--hairline); padding:64px 0 36px; margin-top:0}
.site-footer .cols{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px}
.site-footer h4{
  font-size:12.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--bronze-bright); margin:0 0 16px;
}
.site-footer ul{list-style:none; margin:0; padding:0}
.site-footer li{margin:0 0 9px}
.site-footer a{color:var(--muted-on-navy); font-size:15px}
.site-footer a:hover{color:var(--white)}
.site-footer .foot-brand p{color:var(--muted-on-navy); font-size:15px; max-width:320px}
.site-footer .foot-social{display:flex; gap:12px; justify-content:center; margin-top:20px}
.site-footer .foot-social a{display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border:1px solid rgba(192,200,203,.4); border-radius:50%; color:var(--muted-on-navy)}
.site-footer .foot-social a:hover{color:var(--bronze-bright); border-color:var(--bronze)}
.site-footer .foot-social svg{width:18px; height:18px; display:block}
.site-footer .legal{
  border-top:1px solid rgba(255,255,255,.08); margin-top:44px; padding-top:22px;
  color:var(--grey); font-size:13.5px; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap;
}

/* Responsive */
@media (max-width:1020px){
  .card-grid{grid-template-columns:repeat(2,1fr)}
  .site-footer .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .main-nav{display:none}
  .proof-band .wrap{grid-template-columns:1fr}
  .proof-cell + .proof-cell{border-left:none; padding-left:0; border-top:1px solid rgba(255,255,255,.09)}
  .sector-row{grid-template-columns:1fr; gap:12px}
  .hero{padding:64px 0 52px}
  .section{padding:60px 0}
}
@media (max-width:520px){
  .card-grid{grid-template-columns:1fr}
  .utility-nav .cert-link{display:none}
}
