/* NIFMT premium visual system — consistent across every page */
:root{
  --lux-navy:#101d32;--lux-navy-2:#182b46;--lux-gold:#c6a66a;--lux-gold-light:#e4d2a7;
  --lux-ivory:#f7f5ef;--lux-paper:#fffefa;--lux-ink:#202b3a;--lux-muted:#687486;
  --lux-line:#e5dfd2;--lux-shadow:0 18px 48px rgba(16,29,50,.09);
}
html{scroll-behavior:smooth;scroll-padding-top:150px}
body{background:var(--lux-ivory)!important;color:var(--lux-ink)!important;font-family:Inter,"Segoe UI",Arial,sans-serif!important;line-height:1.68}
main{background:transparent}
a{transition:color .18s ease,background-color .18s ease,border-color .18s ease}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif!important;letter-spacing:-.025em}
p,li{line-height:1.72}
/* A single, stable two-tier masthead. Dropdowns are overlays and never take layout space. */
.site-header{position:sticky!important;top:0!important;z-index:1000!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:0!important;min-height:0!important;height:auto!important;background:var(--lux-paper)!important;border:0!important;box-shadow:0 7px 24px rgba(16,29,50,.11)!important;isolation:isolate}
.brand-row{display:flex!important;align-items:center!important;justify-content:flex-start!important;min-height:76px!important;padding:10px clamp(20px,5vw,76px)!important;background:var(--lux-paper)!important;border-bottom:1px solid var(--lux-line)!important}
.brand{display:flex!important;align-items:center!important;gap:15px!important;min-width:0!important;max-width:100%!important;color:var(--lux-navy)!important;text-decoration:none!important}
.brand-mark{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 54px!important;width:54px!important;height:54px!important;padding:0!important;border:1px solid var(--lux-gold)!important;border-left:4px solid var(--lux-gold)!important;border-radius:3px!important;background:var(--lux-navy)!important;color:#f4e7c5!important;font:800 14px/1 Arial,sans-serif!important;letter-spacing:1px!important;box-shadow:none!important}
.brand strong{display:block!important;color:var(--lux-navy)!important;font:700 15px/1.3 Georgia,"Times New Roman",serif!important;letter-spacing:.01em!important;text-transform:none!important}
.brand small{display:block!important;margin-top:4px!important;color:#8b7650!important;font-size:10px!important;font-weight:700!important;letter-spacing:1.8px!important;text-transform:uppercase!important}
.nav-row{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:54px!important;width:100%!important;margin:0!important;padding:0 clamp(14px,3vw,46px)!important;background:var(--lux-navy)!important;border:0!important;border-bottom:2px solid var(--lux-gold)!important}
.nav{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:2px!important;flex-wrap:wrap!important;width:100%!important;margin:0!important;padding:0!important;background:transparent!important}
.nav>a,.dropbtn{display:flex!important;align-items:center!important;justify-content:center!important;min-height:52px!important;padding:0 clamp(9px,1.15vw,17px)!important;border:0!important;border-radius:0!important;background:transparent!important;color:#f5f1e8!important;font:700 11px/1.25 Arial,sans-serif!important;letter-spacing:.035em!important;text-decoration:none!important;text-align:center!important;white-space:nowrap!important;box-shadow:none!important;transform:none!important;outline-offset:-3px}
.nav>a:hover,.dropbtn:hover,.nav>a.active,.dropdown.dropdown-open>.dropbtn,.dropbtn[aria-expanded="true"]{background:rgba(198,166,106,.14)!important;color:var(--lux-gold-light)!important}
.nav>a:focus,.dropbtn:focus,.nav>a:active,.dropbtn:active{background:rgba(198,166,106,.14)!important;color:var(--lux-gold-light)!important;box-shadow:none!important;transform:none!important;outline-color:var(--lux-gold)!important}
.dropdown{position:relative!important;display:flex!important;align-items:center!important;min-height:52px!important}
.dropdown-menu{display:none!important;position:absolute!important;top:100%!important;left:0!important;z-index:1200!important;min-width:270px!important;max-width:min(360px,90vw)!important;max-height:min(70vh,560px)!important;overflow-y:auto!important;margin:0!important;padding:9px!important;border:1px solid rgba(198,166,106,.55)!important;border-top:2px solid var(--lux-gold)!important;border-radius:0 0 8px 8px!important;background:var(--lux-paper)!important;box-shadow:0 22px 44px rgba(9,20,36,.22)!important}
.dropdown:hover>.dropdown-menu,.dropdown:focus-within>.dropdown-menu,.dropdown.dropdown-open>.dropdown-menu{display:block!important}
.dropdown-menu a{display:block!important;padding:11px 13px!important;border-radius:3px!important;color:var(--lux-navy)!important;font:600 12px/1.5 Arial,sans-serif!important;text-decoration:none!important}
.dropdown-menu a:hover,.dropdown-menu a.active{background:#f1eadb!important;color:#80612d!important}
.menu-toggle{display:none!important;border:1px solid var(--lux-gold)!important;border-radius:3px!important;background:transparent!important;color:#f4e7c5!important;box-shadow:none!important}
/* Premium page introductions and content surfaces */
.page-hero,.hero{position:relative!important;overflow:hidden!important;background:linear-gradient(112deg,#0e1b30 0%,#182e4b 58%,#253b55 100%)!important;color:#fff!important;border-bottom:2px solid var(--lux-gold)!important}
.page-hero:after{content:"";position:absolute;right:-90px;top:-150px;width:390px;height:390px;border:1px solid rgba(228,210,167,.24);border-radius:50%;box-shadow:0 0 0 28px rgba(228,210,167,.035),0 0 0 58px rgba(228,210,167,.025);pointer-events:none}
.page-hero h1,.hero h1,.hero-copy h1{color:#fff!important;text-shadow:0 2px 20px rgba(0,0,0,.15)}
.page-hero .eyebrow,.hero .eyebrow,.hero-copy .eyebrow{color:var(--lux-gold-light)!important;letter-spacing:2.4px!important}
.page-hero>p:last-child,.hero p,.hero-copy .lead{color:#e4e8ee!important}
.section,.home-section{background:var(--lux-paper)!important}
.section:nth-of-type(even),.band,.muted{background:#f1eee6!important}
.section-heading h2,.section h2,.section-title h2{color:var(--lux-navy)!important}
.section-heading .eyebrow,.eyebrow{color:#927344!important;letter-spacing:2px!important}
.feature-card,.info-card,.course-mini,.course-year-card,.nifmt-programme-card,.project-card,.investment-card,.quote-card,.contact-card,.enquiry-form,.completion-box,.phase-card,.swp-sip-card{border:1px solid var(--lux-line)!important;border-radius:5px!important;background:var(--lux-paper)!important;box-shadow:var(--lux-shadow)!important}
.feature-card:hover,.course-mini:hover,.project-card:hover,.investment-card:hover{transform:translateY(-3px);box-shadow:0 22px 48px rgba(16,29,50,.14)!important}
.feature-icon,.course-tag,.timeline-year{background:#eee7d8!important;color:#80612d!important;border-radius:3px!important}
.course-mini h3,.feature-card h3,.info-card h3,.timeline-item h3,.course-year-card h3{color:var(--lux-navy)!important}
.btn,.gold-btn,.project-btn{border-radius:3px!important;letter-spacing:.045em!important;text-transform:uppercase!important;font-size:11px!important;font-weight:800!important}
.btn-primary,.gold-btn{background:linear-gradient(135deg,#e7d3a4,#b89350)!important;color:#17243a!important;border:1px solid #b89350!important}
.btn-outline{border:1px solid var(--lux-gold)!important;color:#f6edda!important}
.btn-light{background:var(--lux-paper)!important;color:var(--lux-navy)!important}
.project-btn{background:var(--lux-navy)!important;color:#f5e8c9!important}
.cta,.bottom-cta,.why-section{background:linear-gradient(112deg,#101d32,#1c3451)!important;color:#fff!important;border-top:1px solid var(--lux-gold)!important;border-bottom:1px solid var(--lux-gold)!important}
.cta h2,.why-section h2,.bottom-cta h2{color:#fff!important}
.cta>p:not(.eyebrow),.bottom-cta p{color:#d8dce2!important}
.stats-strip,.value-strip{background:#eee9de!important;color:var(--lux-navy)!important;border-color:var(--lux-gold)!important}
.stats-strip strong,.value-strip b{color:#8c6b35!important}
.footer{background:#0b1627!important;color:#d9dce1!important;border-top:2px solid var(--lux-gold)!important}
.footer strong{color:#f4e7c5!important;font-family:Georgia,"Times New Roman",serif!important}
.footer a{color:#d9c18d!important}
.disclaimer,.risk-note,.category-note{color:#75664e!important}
/* Inputs and printable forms: calm, legible, consistent */
input,select,textarea{border:1px solid #d5cebf!important;border-radius:3px!important;background:#fffefa!important;color:var(--lux-ink)!important}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(198,166,106,.35)!important;border-color:var(--lux-gold)!important;box-shadow:none!important}
button{cursor:pointer}
button:focus-visible,a:focus-visible{outline:2px solid var(--lux-gold)!important;outline-offset:3px!important}
/* Previous / next navigation */
.page-step-nav{background:#f0ece3!important;border-top:1px solid var(--lux-line)!important;border-bottom:1px solid var(--lux-line)!important}
.page-step-nav a{border:1px solid #d4c7ac!important;border-radius:3px!important;background:var(--lux-paper)!important;color:var(--lux-navy)!important}
.page-step-nav .step-home{background:var(--lux-navy)!important;color:#f2e4c1!important;border-color:var(--lux-navy)!important}
/* Responsive menu: dropdown floats over the page, so clicking it never expands or recolours the masthead. */
@media(max-width:1000px){
 .brand-row{min-height:68px!important;padding:9px 20px!important}
 .nav-row{min-height:50px!important;justify-content:flex-end!important;padding:0 16px!important}
 .menu-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:42px!important;min-height:36px!important;padding:5px 11px!important;font-size:20px!important}
 .nav{display:none!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;z-index:1150!important;max-height:calc(100vh - 130px)!important;overflow-y:auto!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:8px 16px 14px!important;background:var(--lux-navy)!important;border-bottom:2px solid var(--lux-gold)!important;box-shadow:0 18px 35px rgba(0,0,0,.22)!important}
 .nav.nav-open,.nav.open{display:flex!important}
 .nav>a,.dropbtn{justify-content:flex-start!important;width:100%!important;min-height:44px!important;padding:10px 13px!important;text-align:left!important;white-space:normal!important}
 .dropdown{position:relative!important;display:block!important;width:100%!important;min-height:44px!important}
 .dropdown-menu{position:absolute!important;top:100%!important;left:8px!important;right:8px!important;width:auto!important;min-width:0!important;max-width:none!important;max-height:55vh!important;margin:0!important;background:var(--lux-paper)!important;border-radius:0 0 5px 5px!important;box-shadow:0 18px 36px rgba(0,0,0,.25)!important}
 .dropdown-menu a{color:var(--lux-navy)!important}
}
@media(max-width:650px){
 .brand-row{min-height:64px!important;padding:8px 14px!important}
 .brand-mark{flex-basis:45px!important;width:45px!important;height:45px!important;font-size:12px!important}
 .brand strong{font-size:12px!important;line-height:1.25!important}
 .brand small{font-size:8px!important;letter-spacing:1.1px!important}
 .section,.home-section{padding:38px 17px!important}
 .page-hero{padding:42px 20px!important}
 .page-hero h1{font-size:clamp(30px,8vw,42px)!important}
 .feature-grid,.course-mini-grid,.two-col,.contact-layout,.about-layout{grid-template-columns:1fr!important}
 .stats-strip{grid-template-columns:repeat(2,1fr)!important}
 .footer{grid-template-columns:1fr!important;padding:30px 20px 18px!important}
 .copyright{grid-column:1!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Menu controls retain exactly the same visual state while dropdowns are opened. */
.nav>a:hover,.nav>a.active,.dropbtn:hover,.dropbtn:focus,.dropbtn:active,
.dropdown.dropdown-open>.dropbtn,.dropbtn[aria-expanded="true"]{
  background:transparent!important;color:#f5f1e8!important;box-shadow:none!important;transform:none!important;
}


/* Permanent student enrollment number fields and policy */
.enrollment-id-notice,.enrollment-id-field,.enrollment-policy{
  border:1px solid rgba(184,148,83,.55);border-left:4px solid #b89453;
  border-radius:10px;padding:12px 15px;margin:14px 0;background:#fbf8f1;
}
.enrollment-id-notice{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}
.enrollment-id-notice strong,.enrollment-id-field label{color:#14243a;font-weight:700}
.enrollment-id-field label{display:block;margin-bottom:6px}
.enrollment-id-field input{display:block;width:100%;max-width:420px;padding:10px;border:1px solid #b8bec7;border-radius:6px}
.enrollment-id-field small{display:block;margin-top:5px;color:#5b6470}

/* NIFMT unified premium footer */
.site-footer{display:block!important;background:linear-gradient(125deg,#06172f 0%,#0a2850 58%,#102f56 100%)!important;color:#e8eef8!important;border-top:4px solid #d5ad52!important;padding:0!important}.site-footer .footer-main{display:grid;grid-template-columns:1.35fr .85fr 1.15fr 1.15fr;gap:34px;padding:42px clamp(22px,6vw,88px) 34px;max-width:1440px;margin:0 auto}.site-footer .footer-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border:1px solid #d9b85f;border-radius:12px;background:linear-gradient(145deg,#123c70,#071a35);color:#f2d27e;font-weight:900;font-size:14px;letter-spacing:1px;margin-bottom:15px;box-shadow:0 8px 20px #0003}.site-footer .footer-brand>strong{display:block;color:#fff!important;font-family:inherit!important;font-size:16px;line-height:1.45}.site-footer .footer-brand p{color:#bdcce0!important;font-size:12px;line-height:1.7;margin:10px 0 0}.site-footer .footer-accent-line{display:block;width:58px;height:3px;background:#d9b85f;margin-top:17px;border-radius:3px}.site-footer .footer-links h3,.site-footer .footer-contact h3{font-size:13px;color:#f1d27d;margin:5px 0 17px;font-weight:850;letter-spacing:.7px;text-transform:uppercase}.site-footer .footer-links a{display:block!important;width:max-content;max-width:100%;font-size:12px;color:#d4deeb!important;text-decoration:none;margin:0 0 10px!important;line-height:1.5}.site-footer .footer-links a:hover,.site-footer .footer-contact a:hover{color:#f5d77f!important;transform:translateX(3px)}.site-footer .footer-contact p{margin:0 0 13px!important;font-size:12px;line-height:1.5;color:#d4deeb!important}.site-footer .footer-contact p span{display:block;color:#9fb2cc;font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:800;margin-bottom:3px}.site-footer .footer-contact a{display:inline-block!important;color:#e6edf7!important;font-size:12px;text-decoration:none;overflow-wrap:anywhere;margin:0!important}.site-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid #ffffff24;padding:16px clamp(22px,6vw,88px);color:#aebed2;font-size:10px;line-height:1.6}.site-footer .footer-tagline{color:#e3c875;letter-spacing:.35px;text-align:right}@media(max-width:900px){.site-footer .footer-main{grid-template-columns:1fr 1fr;gap:28px}}@media(max-width:560px){.site-footer .footer-main{grid-template-columns:1fr;gap:22px;padding:30px 22px 24px}.site-footer .footer-bottom{align-items:flex-start;flex-direction:column;padding:14px 22px}.site-footer .footer-tagline{text-align:left}}


/* Professional stock-market syllabus */
.stock-syllabus{position:relative;}
.stock-syllabus .syllabus-intro{max-width:850px;color:#596579;font-size:1.02rem;line-height:1.75;margin:12px auto 22px;}
.stock-syllabus .syllabus-heading .syllabus-intro{margin-left:0;}
.stock-syllabus .syllabus-highlights{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 24px;}
.stock-syllabus .syllabus-highlights span{display:inline-flex;align-items:center;padding:9px 14px;border:1px solid #d9e0ec;border-radius:30px;background:#f4f7fb;color:#172d50;font-size:.82rem;font-weight:750;letter-spacing:.01em;}
.stock-syllabus .professional-years{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;margin:24px 0;}
.stock-syllabus .professional-years:has(.pro-year:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));}
.stock-syllabus .pro-year{position:relative;overflow:hidden;border:1px solid #dce3ee;border-radius:18px;background:linear-gradient(160deg,#fff 0%,#f7f9fc 100%);box-shadow:0 10px 28px rgba(20,39,70,.07);padding:22px 22px 20px;transition:transform .2s ease,box-shadow .2s ease;}
.stock-syllabus .pro-year:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(20,39,70,.12);}
.stock-syllabus .pro-year:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#102b50,#c49a42);}
.stock-syllabus .pro-year-top{display:flex;align-items:center;justify-content:space-between;margin:3px 0 16px;}
.stock-syllabus .pro-year-top span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#122d52;color:#f2d28a;font-size:1.1rem;font-weight:850;}
.stock-syllabus .pro-year-top small{color:#9b772c;font-size:.68rem;font-weight:850;letter-spacing:.12em;text-align:right;}
.stock-syllabus .pro-year h3{color:#142b4c;font-size:1.15rem;line-height:1.4;margin:0 0 10px;}
.stock-syllabus .year-outcome{color:#667286;font-size:.9rem;line-height:1.6;min-height:48px;margin:0 0 14px;}
.stock-syllabus .pro-year ul{padding-left:19px;margin:0 0 18px;color:#344258;}
.stock-syllabus .pro-year li{padding:4px 0;font-size:.88rem;line-height:1.55;}
.stock-syllabus .project-pill{border-radius:10px;padding:11px 12px;background:#edf2f8;color:#173354;font-size:.82rem;font-weight:800;line-height:1.5;}
.stock-syllabus .module-panel{margin:26px 0 18px;padding:24px;border:1px solid #dce3ee;border-radius:18px;background:#f7f9fc;}
.stock-syllabus .module-panel h3{margin:2px 0 8px;color:#142b4c;font-size:1.35rem;}
.stock-syllabus .module-panel p:not(.eyebrow){color:#667286;line-height:1.65;margin:0 0 18px;}
.stock-syllabus .module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.stock-syllabus .module-grid>div{padding:16px;border-radius:13px;background:#fff;border:1px solid #e0e6ef;}
.stock-syllabus .module-grid b{display:block;color:#9a762e;font-size:.8rem;letter-spacing:.03em;margin-bottom:8px;}
.stock-syllabus .module-grid ol{padding-left:19px;margin:0;color:#344258;}
.stock-syllabus .module-grid li{font-size:.82rem;line-height:1.5;padding:3px 0;}
.stock-syllabus .syllabus-footnote{padding:15px 17px;border-left:4px solid #c49a42;background:#fffaf0;color:#5d5138;border-radius:0 10px 10px 0;font-size:.88rem;line-height:1.65;margin:18px 0;}
@media(max-width:900px){.stock-syllabus .professional-years{grid-template-columns:1fr 1fr;}.stock-syllabus .professional-years:has(.pro-year:nth-child(2):last-child){grid-template-columns:1fr 1fr;}.stock-syllabus .module-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.stock-syllabus .professional-years,.stock-syllabus .professional-years:has(.pro-year:nth-child(2):last-child){grid-template-columns:1fr;}.stock-syllabus .module-grid{grid-template-columns:1fr;}.stock-syllabus .module-panel{padding:17px;}.stock-syllabus .pro-year{padding:20px;}.stock-syllabus .year-outcome{min-height:0;}}
