/* ================= Public Homepage ================= */
.home-body{ background:var(--paper); }

/* ---- Nav ---- */
.home-nav{ position:sticky; top:0; z-index:30; background:rgba(247,245,240,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.home-nav-inner{ max-width:1180px; margin:0 auto; padding:.8rem 1.6rem; display:flex; align-items:center; justify-content:space-between; gap:1.2rem; }
.home-brand{ display:flex; align-items:center; gap:.6rem; }
.home-brand-text{ font-family:'Fraunces',serif; font-weight:700; font-size:.95rem; color:var(--navy-900); line-height:1.15; max-width:260px; }
.home-nav-links{ display:flex; }
.home-nav-links a{ color:var(--navy-700); font-weight:600; font-size:.88rem; margin-left:1.6rem; }
.home-nav-links a:first-child{ margin-left:0; }
.home-nav-links a:hover{ color:var(--gold-600); }
.btn-lg{ padding:.85rem 1.7rem; font-size:.95rem; }
.btn-outline-light{ background:transparent; border:1.5px solid #fff; color:#fff; }
.btn-outline-light:hover{ background:rgba(255,255,255,.12); }

/* ---- Hero ---- */
.home-hero{
  background:radial-gradient(circle at 15% 20%, var(--navy-700), var(--navy-900) 55%), linear-gradient(160deg, var(--navy-900), var(--navy-800));
  color:#eef2f9; text-align:center; padding:5rem 1.5rem 6rem; position:relative; overflow:hidden;
}
.home-hero::before, .home-hero::after{
  content:''; position:absolute; border-radius:50%; background:radial-gradient(circle, rgba(201,162,39,.25), transparent 70%);
}
.home-hero::before{ width:420px; height:420px; top:-140px; right:-100px; }
.home-hero::after{ width:340px; height:340px; bottom:-160px; left:-80px; }
.home-hero-inner{ max-width:820px; margin:0 auto; position:relative; z-index:1; }
.home-eyebrow{ display:inline-block; font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; color:var(--gold-300); font-weight:700; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); padding:.4rem .9rem; border-radius:99px; margin-bottom:1.3rem; }
.home-hero h1{ color:#fff; font-size:2.5rem; line-height:1.15; margin-bottom:.7rem; }
.home-hero-motto{ font-family:'Fraunces',serif; font-style:italic; font-size:1.2rem; color:var(--gold-300); margin-bottom:1.2rem; }
.home-hero-sub{ font-size:1.02rem; color:#c9d4e8; line-height:1.65; margin-bottom:2rem; }
.home-hero-ctas{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* ---- Stats band ---- */
.home-stats{ background:var(--navy-800); padding:1.8rem 1.5rem; }
.home-stats-inner{ max-width:1000px; margin:0 auto; display:flex; justify-content:space-around; flex-wrap:wrap; gap:1.5rem; text-align:center; }
.home-stat-num{ font-family:'Fraunces',serif; font-size:2rem; font-weight:700; color:var(--gold-400); }
.home-stat-lbl{ font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:#aebcd6; margin-top:.2rem; }

/* ---- Sections ---- */
.home-section{ padding:5rem 1.5rem; }
.home-section-alt{ background:var(--paper-dim); }
.home-section-inner{ max-width:1180px; margin:0 auto; }
.home-kicker{ display:block; font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; color:var(--gold-600); font-weight:700; margin-bottom:.5rem; }
.home-section h2{ font-size:2rem; max-width:640px; margin-bottom:1.4rem; }

.home-about-grid{ display:flex; flex-wrap:wrap; gap:3rem; align-items:center; }
.home-about-grid > *:first-child{ flex:1 1 480px; }
.home-about-grid > *:last-child{ flex:1 1 280px; }
.home-about-grid p{ color:var(--ink); line-height:1.75; margin-bottom:1.2rem; }
.home-check-list{ list-style:none; padding:0; margin:0; }
.home-check-list li{ padding:.5rem 0 .5rem 1.7rem; position:relative; color:var(--ink); }
.home-check-list li::before{ content:'✓'; position:absolute; left:0; color:var(--success); font-weight:700; }
.home-about-card{ background:var(--card); border:1px solid var(--line); border-top:4px solid var(--gold-500); border-radius:var(--radius-lg); padding:2.2rem 1.6rem; box-shadow:var(--shadow-md); }
.home-motto-quote{ font-family:'Fraunces',serif; font-style:italic; color:var(--navy-700); font-size:1.1rem; }

.home-cards-grid{ display:flex; flex-wrap:wrap; gap:1.4rem; }
.home-cards-grid > *{ flex:1 1 240px; }
.home-cards-grid-3 > *{ flex:1 1 220px; }
.home-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg); padding:1.6rem; box-shadow:var(--shadow-sm); transition:transform .15s ease, box-shadow .15s ease; }
.home-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); }
.home-card-ic{ font-size:1.8rem; margin-bottom:.7rem; }
.home-card h3{ font-size:1.05rem; margin-bottom:.5rem; }
.home-card p{ color:var(--muted); font-size:.9rem; line-height:1.6; margin:0; }

.home-feature{ padding:1.2rem 0; }
.home-feature-ic{ font-size:1.6rem; margin-bottom:.5rem; }
.home-feature h4{ font-size:1rem; margin-bottom:.4rem; }
.home-feature p{ color:var(--muted); font-size:.88rem; line-height:1.6; margin:0; }

/* ---- CTA band ---- */
.home-cta{ background:linear-gradient(135deg, var(--navy-900), var(--navy-700)); color:#fff; text-align:center; padding:4rem 1.5rem; }
.home-cta h2{ color:#fff; margin-bottom:.5rem; }
.home-cta p{ color:#c9d4e8; margin-bottom:1.6rem; }

/* ---- Footer ---- */
.home-footer{ background:var(--navy-900); color:#aebcd6; padding:3rem 1.5rem 1.2rem; }
.home-footer-inner{ max-width:1180px; margin:0 auto; display:flex; flex-wrap:wrap; gap:2rem; padding-bottom:1.8rem; border-bottom:1px solid rgba(255,255,255,.1); }
.home-footer-inner > *{ flex:1 1 220px; }
.home-footer h4{ color:#fff; font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:.7rem; }
.home-footer p{ margin:0 0 .4rem; font-size:.88rem; }
.home-footer a{ color:#aebcd6; }
.home-footer a:hover{ color:var(--gold-300); }
.home-footer-muted{ color:#8fa0c2; }
.home-footer-bottom{ max-width:1180px; margin:1.2rem auto 0; font-size:.78rem; text-align:center; color:#7c8db3; }

/* ---- Responsive ---- */
@media (max-width:900px){
  .home-nav-links{ display:none; }
  .home-about-grid{ grid-template-columns:1fr; }
  .home-footer-inner{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .home-hero h1{ font-size:1.9rem; }
  .home-hero{ padding:3.5rem 1.2rem 4rem; }
  .home-section{ padding:3rem 1.2rem; }
  .home-brand-text{ font-size:.8rem; max-width:160px; }
}
