@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Inter:wght@300;400;500;600&display=swap');

* { margin:0; padding:0; box-sizing:border-box; }
:root {
  --navy:#0F1F3D;
  --navy-mid:#162847;
  --gold:#C9A84C;
  --gold-light:#e4c97a;
  --white:#ffffff;
  --off-white:#f8f7f4;
  --text:#1a1a1a;
  --text-muted:#555;
  --text-light:#8a9ab5;
  --border:#e2e0da;
}
body { font-family:'Inter',sans-serif; color:var(--text); background:var(--white); }
.container { max-width:1060px; margin:0 auto; padding:0 2rem; }

/* NAV */
nav { background:var(--navy); padding:1.4rem 0; border-bottom:1px solid rgba(201,168,76,0.15); }
.nav-inner { max-width:1060px; margin:0 auto; padding:0 2rem; display:flex; justify-content:space-between; align-items:center; }
.logo { color:var(--white); font-family:'Playfair Display',serif; font-size:1.3rem; font-weight:600; letter-spacing:0.02em; }
.nav-links { display:flex; align-items:center; gap:2.5rem; }
.nav-links a { color:var(--text-light); text-decoration:none; font-size:0.8rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; transition:color 0.2s; }
.nav-links a:hover { color:var(--white); }
.btn-nav { color:var(--gold) !important; border:1px solid rgba(201,168,76,0.4); padding:0.45rem 1.1rem; letter-spacing:0.08em !important; }
.btn-nav:hover { border-color:var(--gold) !important; background:rgba(201,168,76,0.08); }

/* HERO */
.hero { background:var(--navy); color:var(--white); padding:7rem 0 6rem; text-align:center; }
.hero-eyebrow { font-size:0.75rem; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); margin-bottom:1.8rem; }
.hero h1 { font-family:'Playfair Display',serif; font-size:3.6rem; font-weight:700; line-height:1.12; margin-bottom:1.8rem; letter-spacing:-0.01em; }
.hero h1 em { font-style:normal; color:var(--gold); }
.hero-sub { font-size:1.05rem; color:var(--text-light); max-width:580px; margin:0 auto 1rem; line-height:1.8; font-weight:300; }
.hero-choice-label { text-align:center; font-family:"Playfair Display",serif; font-size:1.25rem; color:#C9A84C; font-style:italic; margin:2rem 0 0.5rem; letter-spacing:0.02em; }
.hero-choice { display:flex; justify-content:center; gap:1rem; margin:2.5rem auto 0; max-width:860px; flex-wrap:wrap; }
.choice-card { flex:1; min-width:220px; border:1px solid rgba(201,168,76,0.25); padding:1.4rem 1.6rem; text-align:left; }
.choice-label { font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); margin-bottom:0.5rem; display:block; }
.choice-card p { font-size:0.92rem; color:#c5d0df; line-height:1.6; font-weight:300; }
.hero-cta { margin-top:2.8rem; }
.btn-primary { display:inline-block; background:var(--gold); color:var(--navy); padding:0.9rem 2.4rem; text-decoration:none; font-weight:600; font-size:0.9rem; letter-spacing:0.06em; border:none; cursor:pointer; transition:background 0.2s; }
.btn-primary:hover { background:var(--gold-light); }

/* RULE LINE */
.rule { width:48px; height:2px; background:var(--gold); margin:0 auto 2rem; }
.rule.left { margin:0 0 2rem; }

/* HOW IT WORKS */
.steps { padding:6rem 0; background:var(--white); }
.steps .container > h2 { font-family:'Playfair Display',serif; font-size:2rem; color:var(--navy); text-align:center; margin-bottom:0.6rem; }
.steps .section-sub { text-align:center; color:var(--text-muted); font-size:0.95rem; margin-bottom:4rem; font-weight:300; }
.step-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:3rem; }
.step { border-top:1px solid var(--border); padding-top:1.8rem; }
.step-num { font-family:'Playfair Display',serif; font-size:2.2rem; color:var(--gold); font-weight:400; margin-bottom:1rem; line-height:1; }
.step h3 { font-size:1rem; color:var(--navy); margin-bottom:0.6rem; font-weight:600; letter-spacing:0.02em; }
.step p { color:var(--text-muted); line-height:1.7; font-size:0.9rem; font-weight:300; }

/* WHAT YOU GET */
.proof { padding:6rem 0; background:var(--off-white); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.proof .container > h2 { font-family:'Playfair Display',serif; font-size:2rem; color:var(--navy); text-align:center; margin-bottom:0.6rem; }
.proof .section-sub { text-align:center; color:var(--text-muted); font-size:0.95rem; margin-bottom:4rem; font-weight:300; }
.proof-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
.proof-item { background:var(--white); padding:2rem 2.2rem; border:1px solid var(--border); }
.proof-item h3 { font-size:0.95rem; color:var(--navy); margin-bottom:0.5rem; font-weight:600; letter-spacing:0.02em; }
.proof-item h3::before { content:'—'; color:var(--gold); margin-right:0.6rem; font-weight:300; }
.proof-item p { color:var(--text-muted); line-height:1.7; font-size:0.88rem; font-weight:300; }

/* REQUEST */
.request { padding:6rem 0; background:var(--navy); }
.request .container > h2 { font-family:'Playfair Display',serif; font-size:2rem; color:var(--white); text-align:center; margin-bottom:0.6rem; }
.request .section-sub { text-align:center; color:var(--text-light); font-size:0.92rem; max-width:500px; margin:0 auto 3rem; line-height:1.8; font-weight:300; }
.request-form { max-width:520px; margin:0 auto; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }
.form-row.single { grid-template-columns:1fr; }
.form-row input,.form-row select { padding:0.85rem 1rem; border:1px solid rgba(255,255,255,0.15); background:rgba(255,255,255,0.06); color:var(--white); font-size:0.9rem; width:100%; font-family:'Inter',sans-serif; }
.form-row input::placeholder { color:rgba(255,255,255,0.35); }
.form-row select { color:rgba(255,255,255,0.55); }
.form-row select option { background:var(--navy); color:var(--white); }
.form-row input:focus,.form-row select:focus { outline:none; border-color:var(--gold); }
.cat-check { display:flex; align-items:center; gap:0.6rem; font-size:0.88rem; color:var(--text-light); }
.cat-check input { width:auto; }
.request-form .btn-primary { width:100%; margin-top:0.8rem; padding:1rem; font-size:0.9rem; letter-spacing:0.08em; text-transform:uppercase; }
.form-note { text-align:center; margin-top:1.2rem; font-size:0.8rem; color:var(--text-light); letter-spacing:0.04em; }

/* FOOTER */
footer { background:#080f1e; color:var(--text-light); padding:2.4rem 0; text-align:center; font-size:0.8rem; letter-spacing:0.06em; }
footer span { color:rgba(201,168,76,0.5); margin:0 0.6rem; }

/* MOBILE */
@media(max-width:700px){
  .hero h1 { font-size:2.4rem; }
  .hero-choice { flex-direction:column; }
  .step-grid { grid-template-columns:1fr; gap:2rem; }
  .proof-grid { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
  .nav-links { gap:1.2rem; }
}

/* ABOUT / SOUL SECTION */
.about { padding:7rem 0; background:var(--navy); color:var(--white); }
.about-mission { font-family:"Playfair Display",serif; font-size:2rem; color:var(--white); line-height:1.3; margin-bottom:2rem; max-width:680px; }
.about-tagline { font-family:"Playfair Display",serif; font-size:1.2rem; color:var(--gold); font-style:italic; margin-top:2rem; }
.about-eyebrow { font-size:0.75rem; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); margin-bottom:1.4rem; }
.about h2 { font-family:'Playfair Display',serif; font-size:2.6rem; color:var(--white); margin-bottom:1.8rem; }
.about-body { max-width:680px; }
.about-body p { font-size:1.05rem; color:#c5d0df; line-height:1.85; font-weight:300; margin-bottom:1.6rem; }
.about-pull { border-left:2px solid var(--gold); padding-left:1.8rem; margin:2.5rem 0; display:flex; flex-direction:column; gap:0.6rem; }
.about-pull span { font-family:'Playfair Display',serif; font-size:1.4rem; color:var(--white); font-style:italic; line-height:1.3; }
.about-close { font-family:'Playfair Display',serif; font-size:1.15rem; color:var(--white); font-style:italic; line-height:1.7; border-top:1px solid rgba(201,168,76,0.2); padding-top:1.8rem; margin-top:0.4rem; }

/* REQUEST TAGLINE */
.request-tagline { font-family:'Playfair Display',serif; font-size:1.8rem; color:var(--gold); text-align:center; margin-bottom:1rem; font-style:italic; }

/* FOOTER SOUL */
.footer-soul { font-family:'Playfair Display',serif; font-style:italic; color:rgba(201,168,76,0.7); font-size:0.95rem; margin-bottom:0.6rem; letter-spacing:0.02em; }

@media(max-width:700px){
  .about h2 { font-size:2rem; }
  .about-pull span { font-size:1.15rem; }
  .request-tagline { font-size:1.4rem; }
}
