/* Private Recruiting Consulting page (/consulting).
   Builds on styles.css (app shell, nav, buttons, form grid); mobile-first. */
.consulting-page{--navy:#0F2340;--gold:#ffb000;padding-bottom:84px}
.consulting-page a{color:inherit}
.consulting-page footer{padding:8px 16px 24px;text-align:center;font-size:12px}
.consulting-page footer a{color:#62748b}
a.brand,a.mobile-brand{text-decoration:none;color:inherit}
a.nav-btn,a.ghost-btn{text-decoration:none}

.cx-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:14px 20px;font-weight:900;text-align:center}
.consulting-page a.primary-btn{color:#121212}
.consulting-page a.hero-secondary{color:#fff}

/* Hero */
.cx-hero{margin:18px 16px 0;padding:34px 22px;border-radius:18px;color:#fff;position:relative;overflow:hidden;
  background:radial-gradient(circle at 85% 10%,rgba(255,176,0,.18),transparent 30%),linear-gradient(125deg,#0a182c,var(--navy) 60%,#0b1a2e);box-shadow:var(--shadow)}
.cx-hero:after{content:"";position:absolute;width:260px;height:260px;border:56px solid rgba(255,176,0,.06);border-radius:50%;right:-120px;top:-110px}
.cx-hero .eyebrow{color:var(--gold);position:relative;z-index:1}
.cx-hero h1{font-size:clamp(34px,8.5vw,64px);line-height:1;letter-spacing:-2px;margin:14px 0 16px;max-width:820px;position:relative;z-index:1}
.cx-hero h1 em{font-style:normal;color:var(--gold)}
.cx-hero p{color:#c3d0de;line-height:1.6;font-size:15px;max-width:720px;margin:0;position:relative;z-index:1}
.cx-hero-cta{display:grid;gap:10px;margin-top:24px;position:relative;z-index:1}
.cx-hero-note{display:block;margin-top:14px;color:#9fb0c5;font-size:12px;position:relative;z-index:1}

/* Sections */
.cx-section{padding:40px 16px 0;scroll-margin-top:70px}
.cx-section h2{font-size:clamp(26px,6vw,38px);line-height:1.08;letter-spacing:-1px;margin:0 0 12px;color:var(--navy)}
.cx-head{margin-bottom:20px}.cx-head p{margin:0;color:#62748b;line-height:1.55}
.cx-why{max-width:820px}.cx-why p{font-size:16px;line-height:1.7;color:#3a4d63;margin:0}

/* Steps */
.cx-steps{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:12px}
.cx-step{background:#fff;border:1px solid #dfe5ec;border-radius:16px;padding:22px;position:relative}
.cx-step-num{width:40px;height:40px;border-radius:11px;background:var(--navy);color:var(--gold);display:grid;place-items:center;font-weight:950;font-size:18px}
.cx-step h3{margin:16px 0 8px;font-size:18px;color:var(--navy)}
.cx-step p{margin:0;color:#5b6d82;line-height:1.6;font-size:14px}

/* Plans */
.cx-plans{display:grid;gap:14px}
.cx-plan{background:#fff;border:1px solid #dfe5ec;border-radius:18px;padding:24px;display:flex;flex-direction:column;position:relative}
.cx-plan.featured{border:2px solid var(--gold);box-shadow:0 16px 40px rgba(255,176,0,.16)}
.cx-badge{position:absolute;top:-12px;left:24px;background:var(--gold);color:#121212;font-size:10px;font-weight:950;letter-spacing:1.2px;padding:6px 10px;border-radius:999px}
.cx-plan-name{font-size:12px;font-weight:950;letter-spacing:1.7px;color:#a27300}
.cx-price{display:flex;align-items:baseline;gap:4px;margin:8px 0 18px;color:var(--navy)}
.cx-price strong{font-size:42px;letter-spacing:-1.5px}.cx-price span{color:#6f8094;font-weight:700}
.cx-list{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px}
.cx-list li{position:relative;padding-left:26px;line-height:1.5;font-size:14px;color:#33475e}
.cx-list li:before{content:"✓";position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:#fff0c4;color:#8b6200;font-size:11px;font-weight:950;display:grid;place-items:center;margin-top:1px}
.cx-plan-btn{margin-top:auto;display:block;text-align:center;text-decoration:none;border-radius:10px;padding:13px 16px;font-weight:900;background:var(--navy);color:#fff!important}
.cx-plan-btn.primary{background:var(--gold);color:#121212!important}

/* Season package */
.cx-season{background:radial-gradient(circle at 90% 0,rgba(255,176,0,.2),transparent 40%),var(--navy);color:#fff;border-radius:20px;padding:28px 22px;display:grid;gap:22px}
.cx-season .eyebrow{color:var(--gold)}
.cx-season h2{color:#fff;margin-top:10px}
.cx-season p{margin:0;color:#c3d0de;line-height:1.6;max-width:640px}

/* Onboarding */
.cx-onboarding{background:#fff;border:1px solid #dfe5ec;border-radius:18px;padding:24px}
.cx-onboarding h2{font-size:clamp(22px,5vw,30px);margin-bottom:18px}
.cx-onboarding h2 span{color:#a27300;white-space:nowrap}
.cx-onboarding .cx-list{margin:0}

/* FAQ */
.cx-faq{display:grid;gap:10px;max-width:860px}
.cx-faq details{background:#fff;border:1px solid #dfe5ec;border-radius:14px}
.cx-faq details[open]{border-color:#c9d2dd}
.cx-faq summary{list-style:none;cursor:pointer;padding:18px 48px 18px 18px;font-weight:800;color:var(--navy);position:relative;line-height:1.4}
.cx-faq summary::-webkit-details-marker{display:none}
.cx-faq summary:after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:7px;background:#f0f3f7;display:grid;place-items:center;font-size:18px;color:#8b6200;transition:transform .2s}
.cx-faq details[open] summary:after{content:"−"}
.cx-faq summary:focus-visible{outline:3px solid rgba(255,176,0,.45);outline-offset:2px;border-radius:14px}
.cx-faq details p{margin:0;padding:0 18px 18px;color:#5b6d82;line-height:1.65;font-size:14px}

/* Apply form */
.cx-apply{background:#fff;border:1px solid #dfe5ec;border-radius:20px;padding:24px 18px;max-width:860px}
.cx-form .form-grid{grid-template-columns:1fr;gap:14px}
.cx-form .span-2{grid-column:auto}
.cx-form label small{font-weight:600;color:#8a99aa}
.cx-form input,.cx-form select,.cx-form textarea{display:block;width:100%;margin-top:6px;border:1px solid #d8e0e9;border-radius:9px;padding:12px;background:#fbfcfd;font-weight:500;color:#13253b;font-size:16px;outline:none}
.cx-form textarea{resize:vertical;line-height:1.45}
.cx-form input:focus,.cx-form select:focus,.cx-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,176,0,.2)}
.cx-hidden{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cx-submit{width:100%;margin-top:20px;padding:15px 18px;font-size:16px}
.cx-submit:disabled{opacity:.6;cursor:wait}
.cx-error{margin:16px 0 0;padding:12px 14px;border-radius:9px;background:#fff0f0;border:1px solid #ffc9c9;color:#9b2c2c;font-size:13px}
.cx-success{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:14px;background:#fff7df;border:1px solid #ffe19a;outline:none}
.cx-success[hidden]{display:none}
.cx-success strong{flex:none;width:34px;height:34px;border-radius:50%;background:var(--gold);color:#121212;display:grid;place-items:center}
.cx-success p{margin:0;color:#4d3a00;line-height:1.6;font-weight:600}

/* Closing CTA */
.cx-closing{text-align:center;padding:36px 22px;border-radius:20px;background:linear-gradient(125deg,#0a182c,var(--navy));color:#fff;margin-bottom:32px}
.cx-closing h2{color:#fff;max-width:640px;margin:0 auto 22px}

@media(min-width:600px){
  .cx-hero-cta{display:flex;flex-wrap:wrap}
  .cx-form .form-grid{grid-template-columns:1fr 1fr}
  .cx-form .span-2{grid-column:1/-1}
  .cx-apply{padding:32px}
}
@media(min-width:761px){
  .consulting-page{padding-bottom:0}
  .cx-hero{margin:34px 5vw 0;padding:56px;border-radius:24px}
  .cx-hero p{font-size:17px}
  .cx-section{padding:56px 5vw 0;scroll-margin-top:84px}
  .cx-steps{grid-template-columns:repeat(3,1fr);gap:14px}
  .cx-season{grid-template-columns:1fr auto;align-items:center;padding:40px}
  .cx-onboarding{padding:32px}
}
@media(min-width:1100px){
  .cx-plans{grid-template-columns:repeat(3,1fr);align-items:stretch}
  .cx-plan.featured{transform:translateY(-8px)}
}
