:root{
  --navy:#0f2a4a; --navy-dark:#0a1f38; --navy-2:#16406b;
  --gold:#c9a227; --gold-dark:#a9861a; --gold-soft:#e6cf7a;
  --bg:#f4f7fb; --surface:#ffffff; --text:#1c2733; --muted:#5b6b7c; --border:#e3e9f0;
}
*{box-sizing:border-box}
body{font-family:'Public Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);margin:0}
h1,h2,h3,h4,.navbar-brand{font-family:'Sora',sans-serif;letter-spacing:-.01em}
main{min-height:60vh}
a{color:var(--navy-2)}

/* Buttons */
.cvfl-btn-primary{background:var(--gold);border:none;color:var(--navy-dark);font-weight:600;
  display:inline-flex;align-items:center;gap:.45rem;border-radius:.6rem;padding:.6rem 1.1rem}
.cvfl-btn-primary:hover{background:var(--gold-dark);color:#fff}
.cvfl-btn-outline{border:1px solid rgba(255,255,255,.55);color:#fff;background:transparent;
  display:inline-flex;align-items:center;gap:.4rem;border-radius:.6rem;font-weight:600}
.cvfl-btn-outline:hover{background:rgba(255,255,255,.12);color:#fff}

/* Navbar */
.cvfl-navbar{background:var(--navy);box-shadow:0 2px 12px rgba(10,31,56,.18)}
.cvfl-navbar .nav-link{color:rgba(255,255,255,.85);font-weight:500}
.cvfl-navbar .nav-link:hover{color:#fff}
.cvfl-navbar .navbar-toggler{border-color:rgba(255,255,255,.3)}
.cvfl-navbar .navbar-toggler-icon{filter:invert(1) grayscale(1) brightness(1.6)}
.cvfl-brand-text{color:#fff;font-weight:700;font-size:1.15rem}
.cvfl-brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;
  background:var(--gold);color:var(--navy-dark);font-size:1rem}

/* Hero */
.cvfl-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);color:#fff;padding:4rem 0}
.cvfl-eyebrow{display:inline-block;color:var(--gold-soft);font-weight:600;text-transform:uppercase;
  letter-spacing:.12em;font-size:.78rem;margin-bottom:.6rem}
.cvfl-hero-title{font-size:2.5rem;font-weight:700;line-height:1.1;margin-bottom:1rem}
.cvfl-hero-lead{font-size:1.1rem;color:rgba(255,255,255,.9);max-width:36rem;margin-bottom:1.6rem}
.cvfl-deadline{color:var(--gold-soft);font-size:.95rem}

/* Cards & sections */
.cvfl-section{padding:3.5rem 0}
.cvfl-card{background:var(--surface);border:1px solid var(--border);border-radius:1rem;
  padding:1.75rem;box-shadow:0 6px 24px rgba(15,42,74,.06)}
.cvfl-card-title{font-size:1.15rem;font-weight:600;display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:var(--navy)}
.cvfl-req-card{background:#fff}
.cvfl-req-list{list-style:none;padding:0;margin:0}
.cvfl-req-list li{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;border-bottom:1px dashed var(--border);color:var(--text)}
.cvfl-req-list li:last-child{border-bottom:none}
.cvfl-req-list i{color:var(--gold-dark);font-size:1.05rem}

.cvfl-step{text-align:center;padding:1rem}
.cvfl-step-num{width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;
  display:grid;place-items:center;margin:0 auto .8rem;font-family:'Sora',sans-serif}
.cvfl-step h3{font-size:1.05rem;font-weight:600}
.cvfl-step p{color:var(--muted);font-size:.95rem}

/* Forms */
.cvfl-page-intro{margin-bottom:1.5rem}
.cvfl-h1{font-size:2rem;font-weight:700;color:var(--navy)}
.cvfl-form-section{padding:1.25rem 0;border-top:1px solid var(--border)}
.cvfl-form-section:first-of-type{border-top:none;padding-top:.25rem}
.cvfl-form-legend{font-size:1rem;font-weight:600;color:var(--navy);display:flex;align-items:center;gap:.5rem;margin-bottom:.9rem}
.cvfl-form-legend i{color:var(--gold-dark)}
.cvfl-rank-pill{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  background:var(--navy);color:#fff;font-weight:600;font-size:.85rem}
.cvfl-form .form-label{font-weight:500;font-size:.9rem}
.cvfl-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* Thanks */
.cvfl-thanks-icon{font-size:3.2rem;color:#1f8a54;margin-bottom:.5rem}
.cvfl-thanks .cvfl-card-title{justify-content:center}

/* Footer */
.cvfl-footer{background:var(--navy-dark);color:rgba(255,255,255,.75);padding:1.5rem 0;margin-top:3rem}
.cvfl-footer-brand{color:#fff;font-weight:600;font-family:'Sora',sans-serif}
.cvfl-footer-note{font-size:.85rem}

@media (max-width:768px){.cvfl-hero-title{font-size:2rem}.cvfl-hero{padding:2.5rem 0}}
