/* ============================================================
   services.css — Module 5: Oversight Services
   ============================================================ */

#services {
  background: var(--navy);
  padding: var(--section-pad);
  position: relative;
  overflow: hidden;
}

.fee-banner { display:flex; align-items:center; justify-content:space-between; background:rgba(200,146,42,0.07); border:0.5px solid rgba(200,146,42,0.25); border-radius:var(--radius-lg); padding:20px 28px; margin-bottom:48px; gap:24px; flex-wrap:wrap; }
.fee-banner-left { display:flex; align-items:center; gap:16px; }
.fee-icon { width:40px;height:40px;border-radius:var(--radius-md);background:var(--amber-surface-md);border:0.5px solid rgba(200,146,42,0.3);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.fee-title { font-family:var(--font-serif); font-size:22px; font-weight:500; color:var(--amber-light); margin-bottom:3px; }
.fee-sub { font-size:14px; font-weight:300; color:var(--text-mid); }
.fee-detail { font-size:14px; font-weight:300; color:var(--text-mid); line-height:1.65; max-width:420px; }
.fee-detail strong { font-weight:500; color:var(--text-bright); }

.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:48px; }

.svc-card { background:var(--surface-1); border:0.5px solid var(--border-dim); border-radius:var(--radius-xl); padding:28px 24px; cursor:pointer; transition:background var(--transition-mid),border-color var(--transition-mid),transform var(--transition-fast); position:relative; overflow:hidden; }
.svc-card::before { content:''; position:absolute; top:0;left:0;right:0;height:1.5px; background:linear-gradient(90deg,rgba(200,146,42,0),rgba(200,146,42,0.5),rgba(200,146,42,0)); opacity:0; transition:opacity var(--transition-mid); }
.svc-card:hover { background:var(--surface-2); border-color:rgba(200,146,42,0.22); transform:translateY(-2px); }
.svc-card:hover::before { opacity:1; }
.svc-card.active { background:rgba(200,146,42,0.07); border-color:rgba(200,146,42,0.3); }
.svc-card.active::before { opacity:1; }

.svc-num { font-family:var(--font-serif); font-size:15px; font-weight:400; color:rgba(200,146,42,0.4); margin-bottom:8px; letter-spacing:0.06em; }
.svc-title { font-size:14px; font-weight:500; color:var(--text-bright); margin-bottom:8px; line-height:1.3; }
.svc-body { font-size:14px; font-weight:300; color:var(--text-mid); line-height:1.6; }

.detail-expand { background:rgba(200,146,42,0.05); border:0.5px solid rgba(200,146,42,0.2); border-radius:var(--radius-xl); padding:32px 36px; margin-top:-8px; margin-bottom:48px; display:none; }
.detail-expand.visible { display:block; animation:fadeIn 0.22s ease; }
.expand-tag { font-size:14px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--amber); margin-bottom:10px; display:block; }
.expand-title { font-family:var(--font-serif); font-size:26px; font-weight:500; color:var(--text-bright); margin:0 0 12px; }
.expand-body { font-size:16px; font-weight:300; line-height:1.8; color:var(--text-mid); margin-bottom:20px; max-width:640px; }
.expand-points { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.expand-point { display:flex; align-items:flex-start; gap:8px; font-size:14px; font-weight:300; color:var(--text-mid); line-height:1.5; }
.expand-dot { width:5px;height:5px;border-radius:50%;background:var(--amber);flex-shrink:0;margin-top:6px;opacity:0.6; }

.who-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.who-card { background:var(--surface-1); border:0.5px solid var(--border-dim); border-radius:var(--radius-lg); padding:24px; }
.who-title { font-size:14px; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:var(--text-dim); margin-bottom:14px; }
.who-item { display:flex; align-items:flex-start; gap:10px; font-size:15px; font-weight:300; color:var(--text-mid); line-height:1.5; margin-bottom:10px; }
.who-item:last-child { margin-bottom:0; }
.who-bullet { width:5px;height:5px;border-radius:50%;background:rgba(200,146,42,0.5);flex-shrink:0;margin-top:6px; }

/* ============================================================
   partners.css — Module 6: Who We Work With
   ============================================================ */

#partners {
  background: var(--navy);
  padding: var(--section-pad);
  position: relative;
  overflow: hidden;
}

.three-col { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:52px; }

.col-card { border-radius:var(--radius-xl); padding:32px 28px 28px; border:0.5px solid var(--border-dim); background:var(--surface-1); display:flex; flex-direction:column; position:relative; overflow:hidden; }
.col-card.featured { background:var(--surface-amber); border-color:var(--border-amber); }
.col-card::after { content:''; position:absolute; top:0;left:0;right:0;height:1.5px; opacity:0.6; }
.col-card.c1::after { background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,0.15),rgba(255,255,255,0)); }
.col-card.c2::after { background:linear-gradient(90deg,rgba(200,146,42,0),rgba(200,146,42,0.55),rgba(200,146,42,0)); }
.col-card.c3::after { background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,0.15),rgba(255,255,255,0)); }

.col-icon { width:44px;height:44px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:20px;flex-shrink:0; }
.col-icon.dim { background:var(--surface-2); border:0.5px solid var(--border-mid); }
.col-icon.amber { background:var(--amber-surface-md); border:0.5px solid rgba(200,146,42,0.28); }
.col-tag { font-size:11.5px; font-weight:500; letter-spacing:0.16em; text-transform:uppercase; margin-bottom:10px; }
.tag-dim { color:var(--text-dim); }
.tag-amber { color:var(--amber); }
.col-title { font-family:var(--font-serif); font-size:24px; font-weight:500; line-height:1.2; color:var(--text-bright); margin-bottom:14px; }
.col-body { font-size:15px; font-weight:300; line-height:1.75; color:var(--text-mid); margin-bottom:22px; flex:1; }
.col-list { display:flex; flex-direction:column; gap:9px; margin-bottom:24px; }
.col-item { display:flex; align-items:flex-start; gap:9px; font-size:14px; font-weight:300; color:var(--text-mid); line-height:1.45; }
.col-dot { width:4px;height:4px;border-radius:50%;flex-shrink:0;margin-top:6px; }
.dot-dim { background:rgba(255,255,255,0.25); }
.dot-amber { background:rgba(200,146,42,0.6); }

.partners-section { margin-bottom:48px; }
.partners-label { font-size:14px; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:var(--text-dim); margin-bottom:20px; text-align:center; }
.partners-row { display:grid; grid-template-columns:1fr auto 1fr; gap:16px; align-items:stretch; }
.partner-side { display:flex; flex-direction:column; gap:12px; }

.partner-pill { background:var(--surface-1); border:0.5px solid var(--border-dim); border-radius:var(--radius-md); padding:14px 18px; display:flex; align-items:center; gap:10px; transition:background var(--transition-mid),border-color var(--transition-mid); }
.partner-pill.amber-pill { border-color:rgba(200,146,42,0.18); background:rgba(200,146,42,0.04); }
.partner-pill.amber-pill:hover { background:rgba(200,146,42,0.08); border-color:rgba(200,146,42,0.28); }
.pill-icon { width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.pill-icon.dim-bg { background:var(--surface-2); }
.pill-icon.amber-bg { background:var(--amber-surface-md); }
.pill-name { font-size:14px; font-weight:500; color:var(--text-bright); margin-bottom:2px; }
.pill-type { font-size:14px; font-weight:300; color:var(--text-dim); line-height:1.4; }
.pill-placeholder { font-size:15px; font-weight:300; color:rgba(200,146,42,0.4); font-style:italic; }

.steward-featured { background:rgba(200,146,42,0.07); border:0.5px solid rgba(200,146,42,0.3); border-radius:var(--radius-xl); padding:28px; display:flex; flex-direction:column; position:relative; overflow:hidden; min-width:280px; }
.steward-featured::before { content:''; position:absolute; top:0;left:0;right:0;height:2px; background:linear-gradient(90deg,rgba(200,146,42,0),rgba(200,146,42,0.7),rgba(200,146,42,0)); }
.sf-tag { font-size:11.5px; font-weight:500; letter-spacing:0.16em; text-transform:uppercase; color:var(--amber); margin-bottom:8px; }
.sf-title { font-family:var(--font-serif); font-size:26px; font-weight:500; color:var(--amber-light); margin-bottom:6px; line-height:1.1; }
.sf-sub { font-size:14px; font-weight:300; color:var(--text-mid); margin-bottom:18px; line-height:1.5; }
.sf-tags { display:flex; flex-wrap:wrap; gap:6px; }
.sf-tag-pill { font-size:15px; font-weight:400; padding:5px 10px; border-radius:var(--radius-sm); background:rgba(200,146,42,0.1); border:0.5px solid rgba(200,146,42,0.25); color:rgba(229,168,61,0.85); }

/* ============================================================
   application.css — Module 7: Company Application
   ============================================================ */

#application {
  background: var(--navy);
  padding: var(--section-pad);
  position: relative;
  overflow: hidden;
}

.progress-wrap { display:flex; align-items:center; gap:0; margin-bottom:40px; }
.prog-step { display:flex; align-items:center; gap:10px; cursor:pointer; }
.prog-circle { width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:500;border:0.5px solid var(--border-mid);background:var(--surface-1);color:var(--text-dim);transition:all var(--transition-mid);flex-shrink:0; }
.prog-circle.active { border-color:rgba(200,146,42,0.6); background:rgba(200,146,42,0.15); color:var(--amber-light); }
.prog-circle.done { border-color:rgba(200,146,42,0.4); background:rgba(200,146,42,0.1); color:rgba(200,146,42,0.8); }
.prog-name { font-size:16px; color:var(--text-dim); white-space:nowrap; transition:color var(--transition-mid); }
.prog-name.active { color:var(--text-bright); font-weight:500; }
.prog-name.done { color:rgba(200,146,42,0.6); }
.prog-line { flex:1; height:0.5px; background:var(--border-dim); margin:0 12px; min-width:20px; }
.prog-line.done { background:rgba(200,146,42,0.3); }

.form-wrap { display:grid; grid-template-columns:1fr 300px; gap:28px; align-items:start; }
.form-panel { background:var(--surface-1); border:0.5px solid rgba(255,255,255,0.08); border-radius:var(--radius-xl); padding:36px; position:relative; overflow:hidden; }
.form-panel::before { content:''; position:absolute; top:0;left:0;right:0;height:2px; background:linear-gradient(90deg,rgba(200,146,42,0.6),rgba(200,146,42,0.1),transparent); border-radius:var(--radius-xl) var(--radius-xl) 0 0; }
.step-title { font-family:var(--font-serif); font-size:26px; font-weight:500; color:var(--text-bright); margin:0 0 6px; }
.step-desc { font-size:15px; font-weight:300; color:var(--text-mid); margin:0 0 28px; line-height:1.6; }

.sidebar { display:flex; flex-direction:column; gap:16px; }
.sidebar-card { background:var(--surface-1); border:0.5px solid var(--border-dim); border-radius:var(--radius-lg); padding:20px; }
.sidebar-card.amber-card { background:rgba(200,146,42,0.05); border-color:rgba(200,146,42,0.18); }
.sidebar-title { font-size:15px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-dim); margin-bottom:12px; }
.sidebar-title.amber { color:var(--amber); }
.sidebar-item { display:flex; align-items:flex-start; gap:8px; font-size:14px; font-weight:300; color:var(--text-mid); line-height:1.5; margin-bottom:8px; }
.sidebar-item:last-child { margin-bottom:0; }
.si-dot { width:4px;height:4px;border-radius:50%;background:rgba(200,146,42,0.5);flex-shrink:0;margin-top:6px; }
.step-indicator { font-family:var(--font-serif); font-size:48px; font-weight:400; color:rgba(200,146,42,0.08); text-align:right; line-height:1; margin-bottom:4px; }
.step-of { font-size:15px; color:var(--text-dim); text-align:right; margin-bottom:16px; }

.review-row { display:flex; justify-content:space-between; align-items:flex-start; padding:11px 16px; background:var(--surface-1); border:0.5px solid var(--border-dim); border-radius:var(--radius-md); gap:16px; margin-bottom:10px; }
.review-row:last-child { margin-bottom:0; }
.review-label { font-size:16px; font-weight:500; color:var(--text-dim); white-space:nowrap; }
.review-val { font-size:14px; font-weight:300; color:var(--text-mid); text-align:right; }

.success-screen { text-align:center; padding:40px 20px; }
.success-icon { width:64px;height:64px;border-radius:50%;background:rgba(200,146,42,0.1);border:0.5px solid rgba(200,146,42,0.3);display:flex;align-items:center;justify-content:center;margin:0 auto 24px; }
.success-title { font-family:var(--font-serif); font-size:32px; font-weight:500; color:var(--text-bright); margin-bottom:12px; }
.success-body { font-size:14px; font-weight:300; color:var(--text-mid); line-height:1.8; max-width:420px; margin:0 auto 28px; }
.success-steps { display:flex; flex-direction:column; gap:10px; max-width:380px; margin:0 auto; text-align:left; }
.success-step { display:flex; align-items:flex-start; gap:12px; }
.ss-num { width:22px;height:22px;border-radius:50%;background:rgba(200,146,42,0.12);border:0.5px solid rgba(200,146,42,0.3);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;color:var(--amber);flex-shrink:0;margin-top:1px; }
.ss-text { font-size:14px; font-weight:300; color:var(--text-mid); line-height:1.55; }

/* ============================================================
   faq.css — Module 8: FAQ
   ============================================================ */

#faq {
  background: var(--navy);
  padding: var(--section-pad);
  position: relative;
  overflow: hidden;
}

.faq-wrap { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start; margin-bottom:48px; }
.faq-col { display:flex; flex-direction:column; gap:8px; }

.faq-item { border:0.5px solid var(--border-dim); border-radius:var(--radius-lg); overflow:hidden; background:rgba(255,255,255,0.02); transition:border-color var(--transition-mid); }
.faq-item.open { border-color:rgba(200,146,42,0.25); background:rgba(200,146,42,0.04); }
.faq-q { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:18px 20px; cursor:pointer; transition:background var(--transition-fast); }
.faq-q:hover { background:rgba(255,255,255,0.025); }
.faq-item.open .faq-q { background:transparent; }
.faq-q-text { font-size:16px; font-weight:500; color:var(--text-bright); line-height:1.45; }
.faq-item.open .faq-q-text { color:var(--amber-light); }
.faq-chevron { flex-shrink:0; width:18px;height:18px; border-radius:50%; border:0.5px solid var(--border-mid); display:flex; align-items:center; justify-content:center; transition:transform var(--transition-mid),border-color var(--transition-mid),background var(--transition-mid); margin-top:2px; }
.faq-item.open .faq-chevron { transform:rotate(180deg); border-color:rgba(200,146,42,0.4); background:rgba(200,146,42,0.1); }
.faq-a { max-height:0; overflow:hidden; transition:max-height 0.32s ease, padding 0.2s; padding:0 20px; }
.faq-item.open .faq-a { max-height:600px; padding:0 20px 18px; }
.faq-a-text { font-size:15px; font-weight:300; color:var(--text-mid); line-height:1.75; border-top:0.5px solid var(--border-dim); padding-top:14px; }
.faq-a-list { margin:10px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:7px; }
.faq-a-list li { display:flex; align-items:flex-start; gap:8px; font-size:14px; font-weight:300; color:var(--text-mid); line-height:1.5; }
.faq-a-list li::before { content:''; width:4px;height:4px;border-radius:50%;background:rgba(200,146,42,0.5);flex-shrink:0;margin-top:6px; }

.contact-band { display:grid; grid-template-columns:1fr auto; align-items:center; gap:24px; background:var(--surface-amber); border:0.5px solid var(--border-amber); border-radius:var(--radius-xl); padding:28px 32px; }
.contact-title { font-family:var(--font-serif); font-size:26px; font-weight:500; color:var(--text-bright); margin-bottom:6px; }
.contact-body { font-size:15px; font-weight:300; color:var(--text-mid); line-height:1.65; max-width:480px; }

/* ============================================================
   footer.css — Module 9: Footer
   ============================================================ */

#footer { background:#070d16; overflow:hidden; }

.cta-band { background:var(--navy); border-bottom:0.5px solid var(--border-dim); padding:64px 48px; display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; position:relative; overflow:hidden; }
.cta-glow { position:absolute; width:500px;height:250px; border-radius:50%; background:radial-gradient(ellipse,rgba(200,146,42,0.1) 0%,transparent 70%); top:-60px; right:-60px; pointer-events:none; }
.cta-label { font-size:14px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--amber); margin:0 0 14px; }
.cta-headline { font-family:var(--font-serif); font-size:36px; font-weight:500; line-height:1.15; color:var(--text-bright); margin:0 0 18px; }
.cta-headline em { font-style:italic; color:var(--amber-light); }
.cta-sub { font-size:16px; font-weight:300; line-height:1.8; color:var(--text-mid); max-width:440px; }
.cta-right { display:flex; flex-direction:column; gap:12px; }

.cta-note-wrap { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.cta-note-box { background:var(--surface-1); border:0.5px solid var(--border-dim); border-radius:var(--radius-md); padding:10px 12px; }
.cta-note-box.amber-box { background:rgba(200,146,42,0.06); border-color:var(--border-amber); }
.cta-note-label { font-size:11.5px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-dim); margin-bottom:4px; }
.cta-note-label.amber { color:rgba(200,146,42,0.6); }
.cta-note-text { font-size:16px; font-weight:300; color:var(--text-mid); line-height:1.5; }

.footer-main { padding:52px 48px 40px; display:grid; grid-template-columns:220px 1fr 1fr 1fr; gap:40px; border-bottom:0.5px solid var(--border-dim); }
.footer-logo { font-family:var(--font-serif); font-size:24px; font-weight:500; color:var(--text-bright); margin-bottom:12px; }
.footer-logo span { color:var(--amber); }
.footer-tagline { font-size:14px; font-weight:300; color:var(--text-dim); line-height:1.6; margin-bottom:20px; }
.footer-col-title { font-size:14px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--text-dim); margin-bottom:16px; }
.footer-links { display:flex; flex-direction:column; gap:10px; }
.footer-link { font-size:15px; font-weight:300; color:var(--text-mid); cursor:pointer; transition:color var(--transition-mid); display:block; }
.footer-link:hover { color:var(--text-bright); }
.footer-link.amber { color:rgba(200,146,42,0.7); }
.footer-link.amber:hover { color:var(--amber-light); }

.contact-item { display:flex; align-items:flex-start; gap:10px; margin-bottom:12px; }
.contact-icon { width:16px;height:16px;flex-shrink:0;margin-top:1px;opacity:0.45; }
.contact-text { font-size:14px; font-weight:300; color:var(--text-mid); line-height:1.5; }
.contact-text a { color:var(--amber); text-decoration:none; }
.contact-text a:hover { color:var(--amber-light); }

.footer-divider { height:0.5px; background:rgba(255,255,255,0.05); }
.footer-bottom { padding:20px 48px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.footer-legal { font-size:15px; font-weight:300; color:var(--text-dim); line-height:1.65; max-width:680px; }
.footer-bottom-links { display:flex; gap:20px; flex-shrink:0; }
.footer-bottom-link { font-size:15px; font-weight:300; color:var(--text-dim); cursor:pointer; transition:color var(--transition-mid); white-space:nowrap; }
.footer-bottom-link:hover { color:var(--text-mid); }
