/* GradPath visual system — Stage 1 */
:root{
  --ink-950:#10231f;--ink-900:#18332d;--ink-800:#21463d;--ink-700:#31594f;
  --brand:#19715e;--brand-dark:#125546;--brand-soft:#e5f2ed;--brand-pale:#f1f8f5;
  --cream:#f7f8f6;--surface:#fff;--line:#e4e9e5;--line-strong:#d3dcd7;
  --text-950:#17211e;--text-700:#43514c;--text-500:#6f7d77;--text-400:#93a099;
  --gold:#c28a2b;--gold-soft:#fbf1dc;--danger:#b9544a;--danger-soft:#f9e7e5;
  --shadow-soft:0 1px 2px rgba(16,35,31,.03),0 14px 40px -24px rgba(16,35,31,.18);
  --shadow-hover:0 14px 34px -20px rgba(16,35,31,.25);
  --radius-xl:24px;--radius-lg:18px;--radius-md:13px;
}
body{background:var(--cream);color:var(--text-950);}
h1,h2,h3{font-family:"Inter","Helvetica Neue",Arial,sans-serif;letter-spacing:-.035em;}
button,a{font-family:inherit;}
.app-shell{min-height:100vh;}
.sidebar{width:248px;background:#fff;color:var(--text-950);border-right:1px solid var(--line);box-shadow:none;}
@media(min-width:768px){.app-shell{padding-left:248px;}}
.sidebar-inner{padding:22px 16px 18px;}
.sidebar-brand{border-bottom:0;margin-bottom:20px;padding:4px 8px 8px;}
.brand-lockup{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink-950);}
.brand-mark{width:36px;height:36px;border-radius:11px;background:var(--brand);color:#fff;}
.brand-wordmark{font-size:20px;font-weight:700;letter-spacing:-.045em;}
.brand-wordmark span{color:var(--brand);}
.sidebar-profile{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);background:var(--brand-pale);border-radius:14px;margin:0 2px 24px;}
.profile-avatar,.topbar-avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ink-900);color:#fff;font-weight:700;}
.profile-avatar{width:34px;height:34px;font-size:12px;}
.profile-copy{display:flex;flex-direction:column;min-width:0;flex:1;}
.profile-copy strong{font-size:12px;color:var(--text-950);}
.profile-copy span{font-size:11px;color:var(--brand);margin-top:2px;}
.profile-edit{color:var(--text-400);}
.sidebar-nav-label{padding:0 10px;margin:0 0 8px;color:var(--text-400);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}
.sidebar-nav-label--secondary{margin-top:25px;}
.nav-item{padding:10px 10px;border-radius:11px;color:var(--text-500);gap:10px;}
.nav-item:hover{background:var(--cream);color:var(--text-950);}
.nav-item-icon{width:32px;height:32px;background:transparent;color:currentColor;}
.nav-item-text{gap:2px;}
.nav-item-label{font-size:13.5px;font-weight:600;}
.nav-item-eyebrow{font-size:10.5px;color:var(--text-400);}
.nav-item--active{background:var(--brand-soft);color:var(--brand-dark);}
.nav-item--active .nav-item-icon{background:#fff;color:var(--brand);box-shadow:0 1px 3px rgba(16,35,31,.08);}
.nav-item--active::before{display:none;}
.sidebar-footer{border:1px solid var(--line);border-radius:14px;margin:16px 2px 0;padding:12px;display:flex;gap:9px;background:#fff;}
.sidebar-footer-icon{width:28px;height:28px;border-radius:9px;background:var(--gold-soft);color:var(--gold);display:flex;align-items:center;justify-content:center;flex:none;}
.sidebar-footer strong{display:block;font-size:11.5px;color:var(--text-950);}
.sidebar-footer span{display:block;font-size:10.5px;line-height:1.4;color:var(--text-400);margin-top:2px;}
.sidebar-footer-text,.sidebar-footer-sub,.deadline-rail{display:none;}
.topbar{height:76px;padding:0 34px;background:rgba(247,248,246,.88);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);}
.topbar-context{min-width:0;}
.topbar-eyebrow{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-400);font-weight:700;margin-bottom:3px;}
.topbar-title{font-size:18px;font-weight:700;color:var(--text-950);}
.topbar-actions{display:flex;align-items:center;gap:10px;}
.topbar-search{height:38px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--line);background:#fff;border-radius:10px;color:var(--text-400);font-size:12.5px;}
.topbar-search kbd{font:10px "IBM Plex Mono",monospace;background:var(--cream);border:1px solid var(--line);padding:2px 5px;border-radius:5px;color:var(--text-400);}
.topbar-avatar{width:34px;height:34px;font-size:11px;text-decoration:none;}
.drawer-open-btn{border:1px solid var(--line);background:#fff;color:var(--text-700);}
.content-inner{max-width:1180px;padding:34px 34px 80px;}
.btn-primary{background:var(--brand);color:#fff;border-radius:10px;padding:10px 15px;box-shadow:0 4px 12px -8px rgba(25,113,94,.7);}
.btn-primary:hover{background:var(--brand-dark);transform:translateY(-1px);}
.btn-secondary{background:#fff;border:1px solid var(--line);color:var(--text-700);border-radius:10px;padding:9px 14px;}
.btn-secondary:hover{border-color:var(--line-strong);background:var(--cream);color:var(--text-950);}
.eyebrow-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:var(--brand-soft);color:var(--brand-dark);font-size:10.5px;font-weight:700;letter-spacing:.04em;}
.section-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-400);font-weight:700;}
.section-heading,.panel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px;}
.section-heading h3,.panel-heading h3{font-size:18px;margin-top:4px;font-weight:700;}
.section-heading a,.panel-heading a{font-size:12px;color:var(--brand);text-decoration:none;font-weight:600;}
/* home */
.home-page{display:flex;flex-direction:column;gap:26px;}
.welcome-hero{position:relative;overflow:hidden;min-height:285px;border-radius:var(--radius-xl);padding:38px 42px;background:linear-gradient(120deg,#e8f3ee 0%,#f7faf8 58%,#edf6f2 100%);border:1px solid #dbe9e3;display:flex;align-items:center;}
.welcome-copy{max-width:650px;position:relative;z-index:2;}
.welcome-copy h2{font-size:42px;line-height:1.04;font-weight:700;margin:14px 0 12px;color:var(--ink-950);}
.welcome-copy h2::first-line{}
.welcome-copy p{font-size:14px;line-height:1.7;color:var(--text-700);max-width:600px;}
.hero-actions{display:flex;gap:9px;margin-top:22px;flex-wrap:wrap;}
.welcome-orbit{position:absolute;right:-25px;top:15px;width:330px;height:250px;opacity:.85;}
.orbit{position:absolute;border:1px solid rgba(25,113,94,.18);border-radius:50%;}
.orbit--one{width:260px;height:260px;right:15px;top:-15px;}
.orbit--two{width:170px;height:170px;right:60px;top:30px;}
.orbit-core{position:absolute;right:126px;top:91px;width:58px;height:58px;border-radius:50%;background:#fff;color:var(--brand);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px -12px rgba(25,113,94,.4);}
.orbit-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--gold);}
.orbit-dot--one{right:44px;top:55px}.orbit-dot--two{right:83px;top:196px;}
.profile-prompt{display:flex;align-items:center;gap:15px;padding:16px 18px;border:1px solid var(--line);background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);}
.profile-prompt-icon{width:42px;height:42px;border-radius:12px;background:var(--gold-soft);color:var(--gold);display:flex;align-items:center;justify-content:center;flex:none;}
.profile-prompt>div:nth-child(2){flex:1}.profile-prompt h3{font-size:15px;font-weight:700;margin:2px 0 3px}.profile-prompt p:not(.section-kicker){font-size:12.5px;line-height:1.5;color:var(--text-500);}
.home-section{padding-top:2px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.metric-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-soft);text-decoration:none;color:inherit;transition:.18s ease;}
.metric-card:hover{transform:translateY(-2px);border-color:#c8d8d1;box-shadow:var(--shadow-hover);}
.metric-value{font-size:30px;line-height:1;font-weight:750;color:var(--ink-950);letter-spacing:-.04em;}
.metric-label{font-size:12px;font-weight:700;color:var(--text-700);margin-top:8px}.metric-note{font-size:10.5px;color:var(--text-400);margin-top:3px}.metric-card--accent{background:var(--brand);color:#fff;border-color:var(--brand)}.metric-card--accent .metric-label{color:#fff}.metric-card--accent .metric-note{color:#cce5dc}.metric-icon{color:#dcefe8;margin-bottom:3px;}
.home-columns{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;}
.home-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow-soft);}
.home-panel--soft{background:var(--brand-pale);border-color:#dcece5;}
.deadline-item{padding:11px 6px}.deadline-item:hover{background:var(--cream);}.deadline-item-title,.deadline-item-sub{color:var(--text-950);}
.deadline-item-title{font-weight:650}.deadline-item-sub{color:var(--text-500);}
.deadline-item-date{font-family:"IBM Plex Mono",monospace;font-size:11.5px;color:var(--text-950);}
.home-empty{display:flex;align-items:center;gap:12px;padding:14px 4px}.home-empty-icon{width:34px;height:34px;border-radius:10px;background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--text-500)}.home-empty div:nth-child(2){flex:1}.home-empty strong{font-size:12.5px}.home-empty p{font-size:11.5px;color:var(--text-400);margin-top:2px}.home-empty a{font-size:11.5px;color:var(--brand);font-weight:600;}
.next-step{padding-top:4px}.next-step-icon{width:46px;height:46px;border-radius:14px;background:#fff;color:var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:12px}.next-step p{font-size:12.5px;line-height:1.6;color:var(--text-500)}.next-step strong{color:var(--text-950)}.next-step a{display:inline-block;margin-top:12px;color:var(--brand);font-size:12px;font-weight:700;text-decoration:none;}
/* explore */
.explore-page,.profile-page,.simple-product-page{display:flex;flex-direction:column;gap:26px}.explore-hero,.product-hero,.profile-hero{padding:38px 42px;border-radius:var(--radius-xl);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.explore-hero h2,.product-hero h2,.profile-hero h2{font-size:38px;line-height:1.05;margin:14px 0 10px;color:var(--ink-950);font-weight:750}.explore-hero h2 em{font-style:normal;color:var(--brand)}.explore-hero>p,.product-hero>p,.profile-hero>p{max-width:690px;font-size:14px;line-height:1.7;color:var(--text-500)}.discovery-search{margin-top:22px;max-width:760px;display:flex;align-items:center;gap:9px;padding:6px 7px 6px 14px;background:var(--cream);border:1px solid var(--line-strong);border-radius:13px}.discovery-search>svg{color:var(--text-400);flex:none}.discovery-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text-950);font-size:13px}.search-hints{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:11px}.search-hints span{font-size:10.5px;color:var(--text-400);margin-right:2px}.search-hints button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 9px;font-size:10.5px;color:var(--text-500)}.explore-section{padding-top:4px}.interest-grid,.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.interest-grid article,.feature-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow-soft)}.interest-icon,.feature-card>span{display:flex;width:36px;height:36px;border-radius:10px;background:var(--brand-soft);color:var(--brand);align-items:center;justify-content:center}.interest-grid strong,.feature-card h3{display:block;font-size:13px;margin-top:12px}.interest-grid p,.feature-card p{font-size:11.5px;line-height:1.55;color:var(--text-500);margin-top:5px}.empty-discovery,.researching-state{text-align:center;border:1px dashed var(--line-strong);border-radius:18px;padding:44px 20px;background:#fff}.empty-discovery-icon,.research-orb{width:46px;height:46px;border-radius:14px;background:var(--brand-soft);color:var(--brand);display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.empty-discovery h4,.researching-state h3{font-size:16px;font-weight:700}.empty-discovery p,.researching-state>p:not(.section-kicker){font-size:12px;color:var(--text-500);margin:5px auto 14px;max-width:480px;line-height:1.6}.product-hero--compact{max-width:860px}.profile-card{max-width:900px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-soft);overflow:hidden}.profile-form-section{padding:26px;border-bottom:1px solid var(--line)}.profile-form-section h3{font-size:20px;margin:5px 0 18px}.profile-form-section>label{display:block;max-width:620px;font-size:11.5px;font-weight:650;color:var(--text-700);margin-top:15px}.profile-form-section input,.profile-form-section select{display:block;width:100%;height:44px;margin-top:6px;border:1px solid var(--line-strong);border-radius:10px;background:var(--cream);padding:0 12px;font:13px Inter;color:var(--text-950);outline:0}.profile-form-section input:focus,.profile-form-section select:focus{border-color:var(--brand)}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choice{display:flex;gap:9px;align-items:flex-start;padding:13px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.choice:has(input:checked){border-color:#9bc8ba;background:var(--brand-pale)}.choice input{margin-top:3px;accent-color:var(--brand)}.choice span{display:flex;flex-direction:column}.choice strong{font-size:11.5px}.choice small{font-size:10.5px;line-height:1.45;color:var(--text-400);margin-top:3px}.profile-actions{display:flex;align-items:center;justify-content:space-between;padding:18px 26px;background:var(--cream);font-size:10.5px;color:var(--text-400)}.feature-grid{max-width:900px}.feature-card h3{font-size:15px}.simple-product-page{max-width:1000px;}
@media(max-width:1000px){.metric-grid{grid-template-columns:repeat(2,1fr)}.home-columns{grid-template-columns:1fr}.welcome-orbit{opacity:.4}.topbar-search span,.topbar-search kbd{display:none}}
@media(max-width:767px){.topbar{height:64px;padding:0 16px}.topbar-actions{gap:6px}.content-inner{padding:22px 16px 60px}.welcome-hero,.explore-hero,.product-hero,.profile-hero{padding:26px 22px}.welcome-copy h2,.explore-hero h2,.product-hero h2,.profile-hero h2{font-size:30px}.welcome-orbit{display:none}.profile-prompt{align-items:flex-start;flex-wrap:wrap}.profile-prompt .btn-secondary{margin-left:57px}.interest-grid,.feature-grid,.choice-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.discovery-search{flex-wrap:wrap}.discovery-search input{min-width:calc(100% - 35px);height:38px}.discovery-search .btn-primary{width:100%;justify-content:center}.profile-actions{flex-direction:column;align-items:flex-start;gap:10px}}
@media(max-width:430px){.metric-grid{grid-template-columns:1fr}.topbar-title{font-size:16px}.profile-prompt .btn-secondary{margin-left:0}}


/* ==========================================================================
   Stage 2 — personalised profile/onboarding
   ========================================================================== */

.profile-wizard-page{gap:22px}
.profile-hero--wizard{display:flex;align-items:flex-end;justify-content:space-between;gap:28px}
.profile-hero-note{width:250px;flex:none;padding:14px 15px;border:1px solid #dce9e3;border-radius:14px;background:var(--brand-pale);display:grid;grid-template-columns:34px 1fr;column-gap:10px}
.profile-hero-note-icon{width:34px;height:34px;border-radius:10px;background:#fff;color:var(--brand);display:flex;align-items:center;justify-content:center;grid-row:span 2}
.profile-hero-note strong{font-size:11.5px;color:var(--text-950);align-self:end}
.profile-hero-note small{font-size:10.5px;color:var(--text-500);line-height:1.4;margin-top:2px}

.profile-wizard{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px;align-items:start}
.profile-stepper{position:sticky;top:96px;padding:20px 10px 16px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft)}
.profile-stepper>.section-kicker{padding:0 10px;margin-bottom:9px}
.profile-step{width:100%;display:grid;grid-template-columns:32px 1fr;gap:10px;text-align:left;align-items:center;border:0;background:transparent;padding:10px;border-radius:12px;color:var(--text-500);cursor:pointer}
.profile-step:hover{background:var(--cream)}
.profile-step>span:first-child{width:30px;height:30px;border-radius:9px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;font:600 10px "IBM Plex Mono",monospace;color:var(--text-400)}
.profile-step strong{display:block;font-size:11.5px;color:var(--text-700);font-weight:700}
.profile-step small{display:block;font-size:10px;color:var(--text-400);line-height:1.35;margin-top:2px}
.profile-step.is-active{background:var(--brand-soft);color:var(--brand-dark)}
.profile-step.is-active>span:first-child{background:var(--brand);border-color:var(--brand);color:#fff}
.profile-step.is-active strong{color:var(--brand-dark)}
.profile-step.is-done>span:first-child{background:#fff;border-color:#b9d9cc;color:var(--brand)}
.profile-step.is-done>span:first-child::after{content:"✓"}
.profile-step.is-done>span:first-child{font-size:0}
.profile-step.is-done>span:first-child::after{font-size:11px}
.profile-stepper-tip{display:flex;gap:9px;margin:16px 4px 0;padding:13px 11px;border-top:1px solid var(--line);color:var(--brand)}
.profile-stepper-tip>svg{flex:none;margin-top:1px}
.profile-stepper-tip strong{display:block;font-size:10.5px;color:var(--text-700)}
.profile-stepper-tip p{font-size:10px;line-height:1.5;color:var(--text-400);margin-top:3px}

.profile-wizard-card{padding:0!important;overflow:hidden}
.profile-wizard-step{display:none;padding:30px 32px 28px;min-height:430px}
.profile-wizard-step.is-active{display:block}
.profile-step-heading{display:flex;gap:15px;margin-bottom:26px}
.profile-step-heading .step-number{font:500 11px "IBM Plex Mono",monospace;color:var(--brand);background:var(--brand-soft);width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:none}
.profile-step-heading h3{font-size:23px;font-weight:750;color:var(--ink-950);margin-top:3px}
.profile-step-heading p:last-child{font-size:12px;color:var(--text-500);line-height:1.55;margin-top:5px;max-width:600px}

.profile-field{display:block;margin-top:22px}
.profile-field>span{display:block;font-size:11.5px;font-weight:700;color:var(--text-700);margin-bottom:7px}
.profile-field input{width:100%;height:46px;padding:0 13px;border:1px solid var(--line-strong);border-radius:11px;background:#fff;color:var(--text-950);outline:0;font:13px Inter,sans-serif;transition:.16s ease}
.profile-field input:focus{border-color:#9fc9ba;box-shadow:0 0 0 3px var(--brand-soft)}
.profile-field small{display:block;color:var(--text-400);font-size:10.5px;margin-top:6px}
.interest-pills{display:flex;gap:8px;flex-wrap:wrap}
.interest-pill{border:1px solid var(--line);background:#fff;color:var(--text-500);border-radius:999px;padding:8px 11px;font-size:11px;cursor:pointer;transition:.15s ease}
.interest-pill:hover{border-color:#b9d7cc;color:var(--brand)}
.interest-pill.is-selected{background:var(--brand-soft);border-color:#b9d7cc;color:var(--brand-dark);font-weight:700}
.custom-interest{display:flex;gap:8px;margin-top:10px;max-width:510px}
.custom-interest input{flex:1;min-width:0;height:38px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:var(--cream);outline:0;font-size:11px}
.btn-small{padding:8px 12px!important;font-size:11px!important}

.degree-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.degree-choice{position:relative;display:flex;align-items:center;gap:12px;min-height:86px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;transition:.15s ease}
.degree-choice input,.funding-choice input{position:absolute;opacity:0;pointer-events:none}
.degree-choice:hover{border-color:#c3d9d1;background:var(--brand-pale)}
.degree-choice.is-selected{border-color:#9fc9ba;background:var(--brand-pale);box-shadow:0 0 0 2px #e2f0eb}
.degree-choice>span{display:block;flex:1}
.degree-choice strong{display:block;font-size:12.5px;color:var(--text-950)}
.degree-choice small{display:block;font-size:10.5px;color:var(--text-500);line-height:1.4;margin-top:4px}
.degree-choice i,.funding-choice i{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;color:transparent;border:1px solid var(--line);font-style:normal}
.degree-choice.is-selected i,.funding-choice.is-selected i{background:var(--brand);border-color:var(--brand);color:#fff}

.country-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.country-choice{position:relative;display:flex;align-items:center;gap:8px;text-align:left;padding:11px;border:1px solid var(--line);background:#fff;border-radius:12px;cursor:pointer;color:var(--text-700)}
.country-choice>span{font-size:17px}
.country-choice strong{font-size:10.5px;line-height:1.25;font-weight:650;flex:1}
.country-choice i{color:transparent;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-style:normal}
.country-choice:hover{border-color:#c3d9d1}
.country-choice.is-selected{border-color:#9fc9ba;background:var(--brand-pale);color:var(--brand-dark)}
.country-choice.is-selected i{color:var(--brand)}

.profile-field--compact{max-width:520px;margin-top:18px}

.funding-grid{display:flex;flex-direction:column;gap:9px}
.funding-choice{position:relative;display:grid;grid-template-columns:34px 1fr 22px;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}
.funding-choice:hover{border-color:#c3d9d1}
.funding-choice.is-selected{background:var(--brand-pale);border-color:#9fc9ba}
.funding-choice-mark{width:34px;height:34px;border-radius:10px;background:var(--cream);color:var(--text-400);display:flex;align-items:center;justify-content:center}
.funding-choice.is-selected .funding-choice-mark{background:#fff;color:var(--brand)}
.funding-choice strong{display:block;font-size:12px;color:var(--text-950)}
.funding-choice small{display:block;font-size:10.5px;line-height:1.45;color:var(--text-500);margin-top:3px}

.profile-ready{display:flex;align-items:center;gap:11px;padding:13px 14px;margin-top:18px;border:1px solid #d9e9e2;border-radius:13px;background:var(--brand-pale)}
.profile-ready>span{width:30px;height:30px;border-radius:9px;background:#fff;color:var(--brand);display:flex;align-items:center;justify-content:center}
.profile-ready strong{font-size:11.5px;color:var(--text-950)}
.profile-ready p{font-size:10.5px;color:var(--text-500);margin-top:2px}

.profile-wizard-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 22px;border-top:1px solid var(--line);background:#fcfdfc}
.profile-wizard-footer>div{display:flex;gap:8px}
.profile-save-state{font-size:10.5px;color:var(--text-400)}

@media(max-width:900px){
  .profile-wizard{grid-template-columns:1fr}
  .profile-stepper{position:static;display:flex;gap:5px;padding:8px;overflow-x:auto}
  .profile-stepper>.section-kicker,.profile-stepper-tip{display:none}
  .profile-step{min-width:170px}
  .profile-stepper .profile-step small{display:none}
}
@media(max-width:640px){
  .profile-hero--wizard{display:block;padding:28px 24px}
  .profile-hero-note{width:auto;margin-top:20px}
  .profile-wizard-step{padding:24px 20px;min-height:0}
  .profile-step-heading{gap:10px}
  .profile-step-heading h3{font-size:20px}
  .degree-grid{grid-template-columns:1fr}
  .country-grid{grid-template-columns:repeat(2,1fr)}
  .profile-wizard-footer{align-items:flex-start;flex-direction:column}
  .profile-wizard-footer>div{width:100%;justify-content:flex-end}
}


/* Stage 3 — personalized recommendation workspace */
.matches-page{max-width:1180px;margin:0 auto;padding:8px 0 56px}
.matches-hero{display:flex;justify-content:space-between;gap:32px;align-items:center;padding:34px 38px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#f7fbf8,#fff);box-shadow:0 12px 40px rgba(19,42,35,.06)}
.matches-hero h2{font-family:var(--font-display,Georgia,serif);font-size:clamp(32px,4vw,50px);line-height:1.03;letter-spacing:-.035em;margin:12px 0 12px;color:var(--text-950)}
.matches-hero h2 em{font-style:normal;color:var(--brand-dark)}
.matches-hero p{max-width:720px;color:var(--text-600);line-height:1.65;margin:0}
.matches-summary-card{min-width:190px;padding:22px;border-radius:18px;background:#fff;border:1px solid var(--line);text-align:center;box-shadow:0 8px 24px rgba(19,42,35,.05)}
.matches-summary-card strong{display:block;font-size:34px;color:var(--brand-dark);line-height:1}.matches-summary-card span{display:block;margin-top:6px;font-weight:700;color:var(--text-700)}.matches-summary-card small{display:block;margin-top:9px;color:var(--text-500)}
.match-toolbar{margin:22px 0;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:16px}.match-toolbar strong{display:block;margin-top:3px;color:var(--text-800)}
.matches-section{margin-top:32px}.matches-section .section-heading{align-items:end}.match-count{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:999px;background:var(--brand-pale);color:var(--brand-dark);font-weight:800}
.match-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.match-card{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;min-height:215px;display:flex;flex-direction:column;box-shadow:0 7px 22px rgba(19,42,35,.035)}
.match-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.match-type{font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:6px 8px;border-radius:999px;background:var(--surface-100);color:var(--text-600)}.match-type--funding{background:#f6f1df;color:#806522}.match-type--programme{background:var(--brand-pale);color:var(--brand-dark)}.match-type--research{background:#f1f2f4;color:var(--text-600)}
.match-score{font-size:11px;font-weight:800;color:var(--brand-dark)}.match-card h4{font-size:16px;line-height:1.3;margin:15px 0 8px;color:var(--text-950)}.match-card p{font-size:12px;line-height:1.55;color:var(--text-600);margin:0}.match-source{margin-top:auto;padding-top:15px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10.5px;color:var(--text-500)}.match-source a{display:inline-flex;align-items:center;gap:4px;color:var(--brand-dark);font-weight:750;text-decoration:none}.match-source a:hover{text-decoration:underline}
.matches-note{display:flex;gap:12px;margin-top:30px;padding:16px 18px;border-radius:16px;background:#f8f8f4;border:1px solid #e7e4d9;color:var(--text-700)}.matches-note>svg{flex:0 0 auto;color:var(--brand-dark)}.matches-note strong{font-size:12px}.matches-note p{font-size:11px;line-height:1.55;margin:3px 0 0;color:var(--text-500)}
.matches-empty-card,.matches-error{max-width:760px;margin:60px auto;padding:52px;text-align:center;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 12px 40px rgba(19,42,35,.05)}.matches-empty-icon{width:60px;height:60px;border-radius:18px;background:var(--brand-pale);color:var(--brand-dark);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}.matches-empty-card h2,.matches-error h2{font-family:var(--font-display,Georgia,serif);font-size:38px;line-height:1.1;margin:8px 0 12px;color:var(--text-950)}.matches-empty-card p,.matches-error p{max-width:600px;margin:0 auto 24px;line-height:1.65;color:var(--text-600)}.matches-error>div:last-child{display:flex;gap:10px;justify-content:center}
.matches-loading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}.match-skeleton{height:215px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px;overflow:hidden}.match-skeleton i,.match-skeleton b,.match-skeleton span{display:block;border-radius:8px;background:#eef2ef}.match-skeleton i{width:90px;height:22px}.match-skeleton b{width:75%;height:18px;margin-top:22px}.match-skeleton span{width:100%;height:10px;margin-top:12px}.match-skeleton span:last-child{width:70%}
.research-progress{display:flex;gap:7px;align-items:center}.research-progress span{width:10px;height:10px;border-radius:50%;background:var(--brand);animation:matchPulse 1.2s infinite ease-in-out}.research-progress span:nth-child(2){animation-delay:.18s}.research-progress span:nth-child(3){animation-delay:.36s}@keyframes matchPulse{0%,80%,100%{transform:scale(.65);opacity:.35}40%{transform:scale(1);opacity:1}}
@media(max-width:900px){.match-grid,.matches-loading-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.matches-hero{align-items:flex-start}.matches-summary-card{min-width:150px}}
@media(max-width:650px){.matches-page{padding:4px 0 36px}.matches-hero{padding:25px 20px;display:block}.matches-summary-card{margin-top:20px}.match-grid,.matches-loading-grid{grid-template-columns:1fr}.match-toolbar{align-items:flex-start;gap:12px}.matches-empty-card,.matches-error{padding:32px 20px;margin:30px auto}.matches-empty-card h2,.matches-error h2{font-size:30px}.matches-error>div:last-child{flex-direction:column}}

/* Stage 5 — programme verification */
.gp-verification-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 18px 0 28px;
}
.gp-verification-summary > div {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 12px;
  background: var(--surface, #fff);
}
.gp-verification-summary strong { font-size: 18px; }
.gp-verification-summary span { font-size: 12px; opacity: .72; }


/* GradPath Stage 8 — archive and funding workspaces */
.archive-page,.scholarships-page{max-width:1100px;margin:0 auto;padding:30px 34px 70px}.archive-toolbar,.funding-context{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 28px}.archive-toolbar>div,.funding-context>div{padding:16px 18px;background:#fff;border:1px solid #dce7e3;border-radius:14px}.archive-toolbar strong,.funding-context strong{display:block;color:#17332c;font-size:18px}.archive-toolbar span,.funding-context span{display:block;color:#7b8985;font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.archive-toolbar .btn-secondary{display:flex;align-items:center;justify-content:center}.archive-grid,.funding-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.archive-card,.funding-card{background:#fff;border:1px solid #dce7e3;border-radius:17px;padding:18px}.archive-card-top{display:flex;justify-content:space-between;gap:8px;color:#82918d;font-size:10px}.archive-card h3,.funding-card h3{margin:13px 0 7px;color:#18342e;font-size:16px;line-height:1.35}.archive-scholarship,.funding-card p{margin:0;color:#5d706a;font-size:12px}.archive-meta{display:grid;gap:5px;margin:15px 0;color:#7b8985;font-size:10px}.archive-empty,.funding-empty{text-align:center;padding:60px 30px;background:#fff;border:1px dashed #cddbd6;border-radius:20px}.archive-empty-icon{width:54px;height:54px;margin:0 auto 14px;display:grid;place-items:center;background:#eef7f4;color:#176d5c;border-radius:16px}.archive-empty h3,.funding-empty h3{margin:8px 0;color:#18342e}.archive-empty p,.funding-empty p{max-width:560px;margin:0 auto 20px;color:#637771;line-height:1.6;font-size:13px}.funding-card-footer{margin-top:15px;padding-top:12px;border-top:1px solid #edf1ef}.funding-card-footer a{color:#176d5c;font-weight:800;text-decoration:none}.funding-saved{margin-top:24px}@media(max-width:800px){.archive-page,.scholarships-page{padding:22px 16px 50px}.archive-toolbar,.funding-context,.archive-grid,.funding-grid{grid-template-columns:1fr}}
