:root{
  --navy:#0e2a47; --navy2:#122f4d; --gold:#c9a45c; --gold2:#b8934a;
  --cream:#f7f3ea; --ink:#1c2b3a; --white:#fff;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--cream);line-height:1.6}
a{color:inherit}
h1,h2,h3{font-family:Georgia,serif;letter-spacing:.04em}
.rule{color:var(--gold);text-align:center;font-size:1.2rem;margin:.2rem 0 .8rem}
.script{font-family:'Brush Script MT','Segoe Script',cursive;color:var(--gold);font-size:2.4rem;line-height:1.2}
.script.small{font-size:1.8rem}

/* Top bar */
.topbar{position:sticky;top:0;z-index:10;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 1.5rem;border-bottom:3px solid var(--gold);flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.logo{width:64px;height:48px}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text strong{color:var(--navy);font-size:1.15rem;letter-spacing:.08em}
.brand-text em{font-style:normal;color:var(--navy);font-size:.62rem;letter-spacing:.28em}
nav{display:flex;gap:1.1rem;align-items:center;flex-wrap:wrap}
nav a{text-decoration:none;color:var(--navy);font-size:.95rem}
nav a:hover{color:var(--gold2)}
.btn-gold{display:inline-block;background:var(--gold);color:#fff;text-decoration:none;padding:.7rem 1.6rem;border:none;border-radius:4px;font-family:Georgia,serif;font-size:1rem;letter-spacing:.08em;cursor:pointer}
.btn-gold:hover{background:var(--gold2)}
.btn-sm{padding:.5rem 1rem;font-size:.9rem}
.btn-outline{display:inline-block;border:2px solid #fff;color:#fff;text-decoration:none;padding:.65rem 1.6rem;border-radius:4px;letter-spacing:.08em}
.btn-outline:hover{background:rgba(255,255,255,.15)}

/* Hero */
.hero{background:linear-gradient(rgba(10,25,45,.55),rgba(10,25,45,.55)),url('hero.webp') center/cover no-repeat;color:#fff;text-align:center;padding:5rem 1.5rem 4.5rem}
.hero h1{font-size:clamp(2.2rem,6vw,3.8rem);line-height:1.05;letter-spacing:.06em}
.hero h1 span{font-size:.55em;letter-spacing:.22em}
.tagline{letter-spacing:.3em;margin:1rem 0 .4rem;font-size:.95rem}
.hero .script{font-size:clamp(2.2rem,5vw,3.2rem);margin:.4rem 0 1rem}
.hero-copy{max-width:620px;margin:0 auto 1.8rem;font-size:1.1rem}
.hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* Features */
.features{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy);color:#fff}
.feature{padding:2rem 1rem;text-align:center;border-right:1px solid rgba(255,255,255,.12)}
.feature:last-child{border-right:none}
.feature .icon{font-size:2rem;color:var(--gold)}
.feature h3{font-size:.95rem;letter-spacing:.06em;margin:.6rem 0 .4rem;color:var(--gold)}
.feature p{font-size:.92rem;opacity:.9}

/* Mission / Homes */
.mission,.homes{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;max-width:1100px;margin:0 auto;padding:3.5rem 1.5rem}
.mission img,.homes img{width:100%;border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.18)}
.mission h2,.homes h2,.services h2,.who h2,.apply h2,.resources h2,.contact h2{color:var(--navy);letter-spacing:.12em;font-size:1.6rem;text-align:center}
.mission .rule,.homes .rule{text-align:left}
.mission p,.homes p{font-size:1.05rem}
.checklist{list-style:none;margin:1.2rem 0 1.6rem}
.checklist li{padding:.35rem 0 .35rem 1.6rem;position:relative}
.checklist li::before{content:"★";position:absolute;left:0;color:var(--gold)}

/* Services + Values */
.services{display:grid;grid-template-columns:1fr 1fr;max-width:1100px;margin:0 auto;padding:0 1.5rem 3.5rem;gap:0}
.services-col{background:var(--navy);color:#fff;padding:2.5rem}
.services-col h2{color:var(--gold)}
.service-list{list-style:none}
.service-list li{padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column}
.service-list strong{color:var(--gold);letter-spacing:.04em}
.service-list span{opacity:.9;font-size:.95rem}
.values-col{background:linear-gradient(rgba(10,25,45,.55),rgba(10,25,45,.55)),url('soldier.webp') center/cover no-repeat;color:#fff;padding:2.5rem;text-align:center}
.values-col h2{color:var(--gold)}
.values{list-style:none;margin:1rem 0}
.values li{letter-spacing:.25em;padding:.35rem 0;font-size:1.05rem}
.quote{font-style:italic;font-size:1.2rem;margin:1.2rem 0}
.values-col .script{color:var(--gold)}

/* Who / steps */
.who{max-width:1000px;margin:0 auto;padding:1rem 1.5rem 3.5rem;text-align:center}
.who>p{max-width:700px;margin:0 auto}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem;text-align:left}
.steps div{background:#fff;border-top:4px solid var(--gold);padding:1.4rem;border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,.08)}
.steps span{display:inline-block;background:var(--navy);color:var(--gold);width:2rem;height:2rem;line-height:2rem;text-align:center;border-radius:50%;font-weight:bold}
.steps h3{margin:.7rem 0 .3rem;color:var(--navy)}

/* Apply */
.apply{background:var(--navy);color:#fff;text-align:center;padding:3.5rem 1.5rem}
.apply h2{color:var(--gold)}
.apply form{max-width:560px;margin:2rem auto 0;text-align:left;background:rgba(255,255,255,.06);padding:1.8rem;border-radius:8px}
.apply label{display:block;margin-bottom:1rem;font-size:.95rem}
.apply input,.apply textarea{width:100%;margin-top:.35rem;padding:.7rem;border-radius:4px;border:1px solid #ccc;font-family:Georgia,serif;font-size:1rem}
.apply button{width:100%}
.form-note{text-align:center;font-size:.92rem;margin-top:1rem;opacity:.95}
.form-note a{color:var(--gold)}

/* Resources */
.resources{max-width:800px;margin:0 auto;padding:3rem 1.5rem;text-align:center}
.resources ul{list-style:none;margin-top:1rem}
.resources li{padding:.5rem 0}
.resources a{color:var(--navy);font-size:1.05rem}

/* Contact */
.contact{display:grid;grid-template-columns:1fr 1fr;max-width:1000px;margin:0 auto;padding:0 1.5rem 3.5rem;gap:2rem}
.contact>div{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.08);text-align:center}
.contact p{margin:.6rem 0;font-size:1.05rem}
.contact a{color:var(--navy)}

footer{background:var(--navy);color:#fff;text-align:center;padding:1.8rem 1rem;font-size:.92rem}
footer p{margin:.2rem 0}

@media(max-width:760px){
  .features{grid-template-columns:1fr 1fr}
  .mission,.homes,.services,.contact{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  nav{gap:.7rem}
}
