@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Work+Sans:wght@400;500;600&display=swap');

:root{
  --navy:#101C2C;
  --navy-soft:#1B2A40;
  --ivory:#F6F2EA;
  --brass:#A9814F;
  --brass-soft:#C9A876;
  --ink:#1B1B1B;
  --slate:#5B6572;
  --border:#E1DACB;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  font-family:'Work Sans', sans-serif;
  color:var(--ink);
  background:var(--ivory);
  line-height:1.6;
}
h1,h2,h3{
  font-family:'Fraunces', serif;
  font-weight:500;
  letter-spacing:-0.01em;
  line-height:1.15;
}
a{color:inherit;}
img{max-width:100%; display:block;}

/* Header */
header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:22px 6%;
  background:var(--ivory);
  border-bottom:1px solid var(--border);
  flex-wrap:wrap;
}
.logo{
  font-family:'Fraunces', serif;
  font-size:19px;
  letter-spacing:0.02em;
  color:var(--navy);
  text-decoration:none;
}
nav a{
  color:var(--slate);
  text-decoration:none;
  font-size:14px;
  margin-left:28px;
}
nav a:hover{ color:var(--navy); }
nav a.active{ color:var(--navy); font-weight:600; }

/* Hero (used on Home) */
.hero{
  background:var(--navy);
  color:var(--ivory);
  padding:90px 6% 100px;
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  top:-40%; right:-10%;
  width:600px; height:600px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(201,168,118,0.35), transparent 70%);
}
.hero-inner{ max-width:640px; position:relative; }
.kicker{ color:var(--brass-soft); font-size:14px; margin-bottom:18px; font-weight:500; }
.hero h1{ font-size:44px; margin-bottom:22px; max-width:560px; color:var(--ivory); }
.hero p{ font-size:17px; color:#D8DEE7; max-width:480px; margin-bottom:34px; }
.rating-line{ margin-top:34px; font-size:14px; color:#B9C2CE; }
.rating-line strong{ color:var(--brass-soft); }

/* Page header (used on inner pages, lighter) */
.page-header{
  background:var(--navy-soft);
  color:var(--ivory);
  padding:70px 6%;
}
.page-header .kicker{ margin-bottom:14px; }
.page-header h1{ font-size:36px; color:var(--ivory); max-width:640px; }
.page-header p{ font-size:16px; color:#D8DEE7; max-width:560px; margin-top:16px; }

/* Buttons */
.btn-primary{
  display:inline-block;
  background:var(--brass);
  color:var(--navy);
  padding:14px 28px;
  border-radius:2px;
  text-decoration:none;
  font-weight:600;
  font-size:15px;
}
.btn-primary:hover{ background:var(--brass-soft); }
.link-cta{
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  color:var(--navy);
  border-bottom:1.5px solid var(--brass);
  padding-bottom:2px;
}

/* Two-path cards (Home) */
.paths{
  padding:80px 6%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  max-width:1100px;
  margin:0 auto;
}
.path-card{ border:1px solid var(--border); padding:40px 32px; background:#fff; }
.path-card.corp{ background:var(--navy-soft); color:var(--ivory); border:none; }
.path-card h3{ font-size:23px; margin-bottom:14px; }
.path-card.corp h3{ color:#fff; }
.path-card p{ font-size:15px; color:var(--slate); margin-bottom:26px; }
.path-card.corp p{ color:#C7CEDA; }
.path-card.corp .link-cta{ color:var(--brass-soft); border-bottom-color:var(--brass-soft); }

/* Generic content section */
.section{
  padding:70px 6%;
  max-width:900px;
  margin:0 auto;
}
.section h2{ font-size:28px; margin-bottom:20px; }
.section p{ font-size:16px; color:var(--slate); margin-bottom:16px; max-width:680px; }

/* Checklist */
.checklist{ list-style:none; max-width:700px; margin:30px auto 0; }
.checklist li{
  display:flex;
  gap:14px;
  padding:14px 0;
  border-bottom:1px solid var(--border);
  font-size:15px;
  color:var(--ink);
}
.checklist li .num{ color:var(--brass); font-weight:600; min-width:22px; }

/* Comparison table */
.compare{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  max-width:900px;
  margin:30px auto 0;
}
.compare-col{ padding:28px; }
.compare-col.bad{ background:#fff; border:1px solid var(--border); }
.compare-col.good{ background:var(--navy-soft); color:var(--ivory); }
.compare-col h3{ font-size:18px; margin-bottom:16px; }
.compare-col.good h3{ color:#fff; }
.compare-col ul{ list-style:none; font-size:14px; }
.compare-col.bad ul{ color:var(--slate); }
.compare-col.good ul{ color:#C7CEDA; }
.compare-col li{ padding:8px 0; }

/* FAQ */
.faq-item{ border-bottom:1px solid var(--border); padding:22px 0; max-width:750px; margin:0 auto; }
.faq-item h3{ font-size:16px; margin-bottom:8px; font-family:'Work Sans', sans-serif; font-weight:600; }
.faq-item p{ font-size:15px; color:var(--slate); }

/* Proof / reviews */
.proof{ background:#EFE8D8; padding:60px 6%; text-align:center; }
.proof h2{ font-size:26px; margin-bottom:10px; }
.stars{ color:var(--brass); font-size:20px; letter-spacing:3px; }
.proof-sub{ color:var(--slate); font-size:14px; margin-top:6px; }

/* Closing CTA */
.closing{ padding:90px 6%; text-align:center; max-width:600px; margin:0 auto; }
.closing h2{ font-size:30px; margin-bottom:16px; }
.closing p{ color:var(--slate); font-size:16px; margin-bottom:30px; }

/* Contact page */
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  max-width:900px;
  margin:0 auto;
  padding:70px 6%;
}
.contact-block h3{ font-size:16px; margin-bottom:8px; color:var(--navy); font-family:'Work Sans',sans-serif; font-weight:600; }
.contact-block p{ color:var(--slate); font-size:15px; margin-bottom:22px; }
.contact-block a{ color:var(--brass); font-weight:600; text-decoration:none; }

/* Footer */
footer{
  background:var(--navy);
  color:#9AA5B3;
  padding:36px 6%;
  font-size:13px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
footer a{ color:#C7CEDA; text-decoration:none; }

@media(max-width:720px){
  .paths, .compare, .contact-grid{ grid-template-columns:1fr; }
  .hero h1, .page-header h1{ font-size:30px; }
  footer{ flex-direction:column; text-align:center; }
}
