/* =========================================================
   Collins Campus — site styles
   Brand: Navy #003F88 · Orange #F79824 · Azure #33A1FD
   ========================================================= */
:root{
  --navy:#003F88; --navy-deep:#00264f; --navy-800:#063b74; --navy-700:#0a4f9e;
  --orange:#F79824; --orange-dark:#e0851a; --orange-soft:#fcd9a6;
  --azure:#33A1FD; --azure-soft:#cfe7ff; --azure-tint:#eaf4ff;
  --paper:#f2f5fb; --white:#fff; --ink:#102844; --muted:#566a86;
  --line:#dde6f2; --line-dark:#15538f;
  --display:'Bricolage Grotesque', system-ui, sans-serif;
  --body:'Inter', system-ui, sans-serif;
  --mono:'Space Mono', ui-monospace, monospace;
  --maxw:1180px; --r:16px; --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:var(--body);background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
::selection{background:var(--orange-soft);color:var(--navy);}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.eyebrow{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--azure);display:inline-flex;align-items:center;gap:10px;}
.eyebrow::before{content:"";width:24px;height:2px;background:var(--orange);display:inline-block;}
h1,h2,h3{font-family:var(--display);line-height:1.05;letter-spacing:-.02em;font-weight:700;}

.btn{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:15px;padding:14px 24px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:transform .2s var(--ease),background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;white-space:nowrap;}
.btn svg{transition:transform .2s var(--ease);}
.btn-primary{background:var(--orange);color:var(--navy);box-shadow:0 8px 22px -10px rgba(247,152,36,.8);}
.btn-primary:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(247,152,36,.95);}
.btn-primary:hover svg{transform:translateX(3px);}
.btn-ghost{background:transparent;color:var(--navy);border-color:rgba(0,63,136,.24);}
.btn-ghost:hover{border-color:var(--navy);transform:translateY(-2px);}
.on-navy .btn-ghost{color:#fff;border-color:rgba(255,255,255,.34);}
.on-navy .btn-ghost:hover{border-color:var(--orange);color:var(--orange-soft);}

/* announcement */
.announce{background:var(--orange);color:var(--navy);font-size:13.5px;font-weight:600;text-align:center;padding:9px 16px;}
.announce a{font-weight:700;text-decoration:underline;text-underline-offset:2px;}
.announce .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--navy);margin:0 10px;vertical-align:middle;}

/* header */
header{position:sticky;top:0;z-index:60;background:transparent;transition:background .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);border-bottom:1px solid transparent;}
header.scrolled{background:rgba(242,245,251,.9);backdrop-filter:saturate(150%) blur(12px);border-bottom-color:var(--line);box-shadow:0 6px 24px -18px rgba(0,38,79,.5);}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px;}
.brand{position:relative;width:140px;height:38px;flex:none;}
.brand img{position:absolute;inset:0;height:38px;width:auto;transition:opacity .3s var(--ease);}
.brand .logo-color{opacity:0;}
header.scrolled .brand .logo-color{opacity:1;}
header.scrolled .brand .logo-white{opacity:0;}
.nav-links{display:flex;align-items:center;gap:30px;}
.nav-links a{font-size:14.5px;font-weight:500;color:rgba(255,255,255,.92);position:relative;transition:color .3s var(--ease);}
header.scrolled .nav-links a{color:var(--ink);}
.nav-links a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:2px;background:var(--orange);transition:width .2s ease;}
.nav-links a:not(.btn):hover::after{width:100%;}
.nav-cta{display:flex;align-items:center;gap:14px;}
.nav-links .btn{display:none;}
.apply-top{background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.4);}
.apply-top:hover{background:var(--orange);color:var(--navy);border-color:var(--orange);transform:translateY(-2px);}
header.scrolled .apply-top{background:var(--orange);color:var(--navy);border-color:var(--orange);box-shadow:0 8px 22px -10px rgba(247,152,36,.8);}
.menu-btn{display:none;background:none;border:none;cursor:pointer;padding:8px;color:#fff;transition:color .3s var(--ease);}
header.scrolled .menu-btn{color:var(--navy);}

/* hero */
.hero{position:relative;background:linear-gradient(157deg,var(--navy-deep) 0%,var(--navy) 52%,var(--navy-700) 100%);color:#fff;margin-top:-72px;padding:150px 0 96px;overflow:hidden;}
.hero .hero-media{position:absolute;inset:0;z-index:0;}
.hero .hero-media img,.hero .hero-media video{width:100%;height:100%;object-fit:cover;opacity:.28;}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 86% 8%,rgba(247,152,36,.26),transparent 42%),radial-gradient(circle at 6% 90%,rgba(51,161,253,.22),transparent 38%);pointer-events:none;z-index:1;}
.hero-bg{position:absolute;inset:0;z-index:0;opacity:.4;pointer-events:none;}
.hero-bg svg{position:absolute;right:-6%;top:-10%;width:80%;height:auto;color:var(--azure);animation:drift 26s ease-in-out infinite alternate;}
@keyframes drift{from{transform:translate(0,0)}to{transform:translate(-26px,18px)}}
.hero .wrap{position:relative;z-index:2;}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:54px;align-items:center;}
.hero h1{font-size:clamp(2.6rem,5.6vw,4.4rem);font-weight:700;margin:22px 0 0;color:#fff;}
.hero h1 .line{display:block;}
.hero h1 .a{color:var(--azure);}
.hero h1 .b{position:relative;display:inline-block;}
.hero h1 .b::after{content:"";position:absolute;left:0;right:0;bottom:.05em;height:.16em;background:var(--orange);z-index:-1;border-radius:2px;transform:scaleX(0);transform-origin:left;animation:underline 1s var(--ease) 1.1s forwards;}
@keyframes underline{to{transform:scaleX(1)}}
.hero p.lead{font-size:clamp(1.03rem,1.35vw,1.2rem);color:rgba(255,255,255,.82);max-width:38ch;margin:24px 0 32px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero-trust{margin-top:30px;display:flex;align-items:center;gap:13px;font-size:13.5px;color:rgba(255,255,255,.72);}
.hero-trust .dots{display:flex;}
.hero-trust .dots span{width:30px;height:30px;border-radius:50%;border:2px solid var(--navy);background:rgba(255,255,255,.14);margin-left:-9px;display:grid;place-items:center;font-family:var(--mono);font-size:10.5px;font-weight:700;color:#fff;}
.hero-trust .dots span:first-child{margin-left:0;}
.hero-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:26px;backdrop-filter:blur(8px);box-shadow:0 30px 70px -34px rgba(0,0,0,.6);}
.hero-card h3{font-size:15px;color:#fff;display:flex;align-items:center;justify-content:space-between;}
.hero-card h3 .tag{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--navy);background:var(--orange);padding:5px 9px;border-radius:6px;letter-spacing:.04em;}
.mini-path{margin-top:20px;display:flex;flex-direction:column;gap:0;}
.mini-step{display:flex;gap:14px;padding:11px 0;}
.mini-step .ic{width:34px;height:34px;border-radius:9px;flex:none;display:grid;place-items:center;background:rgba(51,161,253,.18);color:var(--azure);}
.mini-step.accent .ic{background:rgba(247,152,36,.2);color:var(--orange-soft);}
.mini-step .t b{display:block;font-size:14px;color:#fff;font-weight:600;}
.mini-step .t span{font-size:12.5px;color:rgba(255,255,255,.66);}
.mini-line{width:2px;height:14px;background:rgba(255,255,255,.16);margin-left:16px;}

/* stat strip */
.stripwrap{background:var(--navy-deep);color:#fff;}
.strip{display:grid;grid-template-columns:repeat(4,1fr);}
.strip .cell{padding:34px 22px;border-right:1px solid var(--line-dark);}
.strip .cell:last-child{border-right:none;}
.strip .num{font-family:var(--display);font-size:clamp(2rem,3.4vw,2.8rem);font-weight:700;letter-spacing:-.02em;line-height:1;background:linear-gradient(100deg,var(--orange) 0%,var(--orange-soft) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.strip .lab{font-size:13.5px;color:rgba(255,255,255,.74);margin-top:9px;}

section{position:relative;}
.sec{padding:96px 0;}
.sec-head{max-width:680px;margin-bottom:46px;}
.sec-head h2{font-size:clamp(2rem,3.6vw,2.95rem);color:var(--navy);margin-top:16px;}
.on-navy .sec-head h2{color:#fff;}
.on-navy .eyebrow{color:var(--azure);}
.sec-head p{font-size:1.06rem;color:var(--muted);margin-top:16px;}
.on-navy .sec-head p{color:rgba(255,255,255,.76);}

/* programmes */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px;}
.filt{font-family:var(--body);font-size:13.5px;font-weight:600;color:var(--muted);background:var(--white);border:1px solid var(--line);border-radius:999px;padding:9px 18px;cursor:pointer;transition:all .2s var(--ease);}
.filt:hover{border-color:var(--azure);color:var(--navy);}
.filt.active{background:var(--navy);color:#fff;border-color:var(--navy);}
.prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.prog{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:25px;display:flex;flex-direction:column;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease);}
.prog:hover{transform:translateY(-6px);box-shadow:0 28px 52px -30px rgba(0,63,136,.45);border-color:var(--azure);}
.prog.hide{display:none;}
.prog .toprow{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;gap:10px;}
.prog .lvl{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--azure);}
.prog[data-cat="certificate"] .lvl{color:var(--orange-dark);}
.prog[data-cat="short"] .lvl{color:var(--navy);}
.prog .cert{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.05em;color:var(--orange-dark);background:#fff3e2;border-radius:5px;padding:4px 8px;white-space:nowrap;}
.prog .thumb{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:11px;margin-bottom:15px;}
.prog h3{font-size:1.26rem;color:var(--navy);margin-bottom:8px;line-height:1.14;}
.prog .career{font-size:13.5px;color:var(--muted);margin-bottom:18px;flex:1;}
.prog .career b{color:var(--ink);font-weight:600;}
.prog .meta{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);padding-top:15px;}
.chip{font-size:12px;font-weight:500;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:5px 10px;display:inline-flex;align-items:center;gap:6px;}
.chip svg{color:var(--azure);}
.prog .fee{margin-top:14px;font-size:14px;color:var(--ink);display:flex;align-items:baseline;justify-content:space-between;gap:8px;}
.prog .fee b{font-family:var(--display);font-size:1.18rem;color:var(--navy);font-weight:700;}
.prog .fee span{color:var(--muted);font-size:12px;}
.prog-foot{margin-top:36px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.prog-note{font-size:12.5px;color:var(--muted);}

/* progression ladder */
.ladder{background:var(--paper);}
.ladder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px;position:relative;}
.rung{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:28px;position:relative;transition:transform .25s var(--ease),box-shadow .25s var(--ease);}
.rung:hover{transform:translateY(-5px);box-shadow:0 24px 44px -30px rgba(0,63,136,.4);}
.rung .step{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--orange-dark);letter-spacing:.08em;}
.rung h3{font-size:1.32rem;color:var(--navy);margin:12px 0 8px;}
.rung p{font-size:14px;color:var(--muted);}
.rung .arrow{position:absolute;right:-22px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:var(--orange);color:var(--navy);display:grid;place-items:center;z-index:3;box-shadow:0 6px 16px -6px rgba(247,152,36,.9);}
.rung:last-child .arrow{display:none;}

/* pathway */
.pathway{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-deep) 100%);color:#fff;overflow:hidden;}
.path-track{margin-top:56px;position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.path-svg{position:absolute;top:33px;left:0;width:100%;height:4px;overflow:visible;z-index:0;}
.path-svg line{stroke:url(#pg);stroke-width:2.5;stroke-dasharray:1000;stroke-dashoffset:1000;transition:stroke-dashoffset 1.6s var(--ease);}
.path-track.drawn .path-svg line{stroke-dashoffset:0;}
.node{position:relative;text-align:left;z-index:1;}
.node .dot{width:66px;height:66px;border-radius:50%;background:var(--navy-deep);border:2px solid var(--line-dark);display:grid;place-items:center;position:relative;z-index:2;transition:border-color .45s var(--ease),background .45s var(--ease),transform .45s var(--ease),box-shadow .45s var(--ease);}
.node .dot svg{color:var(--azure);transition:color .45s var(--ease);}
.node .step-no{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--orange);letter-spacing:.1em;margin:22px 0 8px;}
.node h3{font-size:1.2rem;color:#fff;}
.node p{font-size:14px;color:rgba(255,255,255,.68);margin-top:8px;}
.node.lit .dot{border-color:var(--orange);background:var(--navy-700);transform:scale(1.06);box-shadow:0 0 0 6px rgba(247,152,36,.14);}
.node.lit .dot svg{color:var(--orange-soft);}
.path-note{margin-top:54px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:24px 28px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.path-note .ic{width:46px;height:46px;border-radius:11px;background:rgba(247,152,36,.18);color:var(--orange-soft);display:grid;place-items:center;flex:none;}
.path-note p{font-size:15px;color:rgba(255,255,255,.88);flex:1;min-width:240px;}
.path-note b{color:#fff;}

/* gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:42px;}
.gallery-grid figure{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;background:var(--azure-tint);}
.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.gallery-grid figure:hover img{transform:scale(1.06);}

/* why */
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.why{display:flex;gap:18px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:26px;transition:transform .25s var(--ease),border-color .2s ease;}
.why:hover{transform:translateY(-4px);border-color:var(--azure);}
.why .ic{width:50px;height:50px;border-radius:13px;background:var(--azure-tint);color:var(--navy);display:grid;place-items:center;flex:none;}
.why h3{font-size:1.2rem;color:var(--navy);margin-bottom:7px;}
.why p{font-size:14.5px;color:var(--muted);}

/* outcomes */
.outcomes{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.out-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;}
.out-stats .c{background:var(--white);padding:30px 26px;}
.out-stats .num{font-family:var(--display);font-weight:700;font-size:2.4rem;color:var(--navy);line-height:1;letter-spacing:-.02em;}
.out-stats .lab{font-size:13.5px;color:var(--muted);margin-top:9px;}
.stats-source{font-size:11.5px;color:var(--muted);margin-top:10px;font-family:var(--mono);letter-spacing:.03em;}
.partners h3{font-size:1.5rem;color:var(--navy);margin-bottom:8px;}
.partners .sub{font-size:14.5px;color:var(--muted);margin-bottom:22px;}
.logo-row{display:flex;flex-wrap:wrap;gap:12px;}
.plogo{border:1px solid var(--line);background:var(--white);border-radius:10px;padding:13px 18px;font-family:var(--display);font-weight:700;font-size:15px;color:var(--navy);letter-spacing:-.01em;transition:transform .2s var(--ease);}
.plogo:hover{transform:translateY(-3px);}
.plogo span{display:block;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;color:var(--azure);text-transform:uppercase;}

/* testimonials */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.quote{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;transition:transform .25s var(--ease);}
.quote:hover{transform:translateY(-4px);}
.quote .qmark{font-family:var(--display);font-size:3rem;line-height:.6;color:var(--orange);height:26px;}
.quote p{font-size:15px;color:var(--ink);margin:14px 0 22px;flex:1;}
.quote .who{display:flex;align-items:center;gap:13px;}
.quote .av{width:44px;height:44px;border-radius:50%;background:var(--azure-tint);color:var(--navy);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:17px;flex:none;overflow:hidden;}
.quote .av img{width:100%;height:100%;object-fit:cover;}
.quote .who b{display:block;font-size:14px;color:var(--navy);}
.quote .who span{font-size:12.5px;color:var(--muted);}

/* admissions + contact */
.admit-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:start;}
.steps{display:flex;flex-direction:column;}
.stepcard{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);}
.stepcard:last-child{border-bottom:none;}
.stepcard .no{font-family:var(--display);font-weight:700;font-size:1.7rem;color:var(--orange);line-height:1;flex:none;width:42px;}
.stepcard h3{font-size:1.18rem;color:var(--navy);margin-bottom:5px;}
.stepcard p{font-size:14.5px;color:var(--muted);}
.admit-card{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-deep) 100%);color:#fff;border-radius:20px;padding:30px;box-shadow:0 30px 60px -34px rgba(0,38,79,.6);}
.admit-card h3{font-size:1.4rem;color:#fff;margin-bottom:6px;}
.admit-card .sub{font-size:14px;color:rgba(255,255,255,.74);margin-bottom:22px;}
.intake{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--line-dark);}
.intake:last-of-type{border-bottom:none;}
.intake b{font-family:var(--display);font-size:1.05rem;color:var(--orange-soft);}
.intake span{font-size:13px;color:rgba(255,255,255,.66);}
.admit-card .btn{width:100%;justify-content:center;margin-top:22px;}
.admit-card .wa{margin-top:14px;text-align:center;font-size:13.5px;color:rgba(255,255,255,.74);}
.admit-card .wa a{color:var(--azure);font-weight:600;}

/* contact form */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.contact-info .ci{display:flex;gap:15px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line);}
.contact-info .ci:last-child{border-bottom:none;}
.contact-info .ci .ic{width:44px;height:44px;border-radius:11px;background:var(--azure-tint);color:var(--navy);display:grid;place-items:center;flex:none;}
.contact-info .ci b{display:block;font-size:14px;color:var(--navy);}
.contact-info .ci a,.contact-info .ci span{font-size:14.5px;color:var(--muted);}
.contact-socials{display:flex;gap:10px;margin-top:22px;}
.contact-socials a{width:42px;height:42px;border-radius:11px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;color:var(--navy);transition:all .2s var(--ease);}
.contact-socials a:hover{background:var(--navy);color:#fff;transform:translateY(-3px);}
form.cform{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 24px 50px -34px rgba(0,63,136,.35);}
form.cform .row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
form.cform label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin:14px 0 6px;}
form.cform input,form.cform select,form.cform textarea{width:100%;font-family:var(--body);font-size:14.5px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:12px 14px;transition:border-color .2s ease,box-shadow .2s ease;}
form.cform input:focus,form.cform select:focus,form.cform textarea:focus{outline:none;border-color:var(--azure);box-shadow:0 0 0 3px rgba(51,161,253,.18);}
form.cform textarea{min-height:110px;resize:vertical;}
form.cform .btn{width:100%;justify-content:center;margin-top:20px;}
.form-msg{margin-top:14px;font-size:14px;font-weight:600;display:none;}
.form-msg.ok{display:block;color:#1a7f4b;}
.form-msg.err{display:block;color:#c0392b;}
.req{color:var(--orange-dark);}

/* cta */
.ctaband{background:linear-gradient(135deg,var(--navy-700) 0%,var(--navy-deep) 80%);color:#fff;text-align:center;border-radius:26px;padding:66px 32px;position:relative;overflow:hidden;}
.ctaband::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 16%,rgba(247,152,36,.3),transparent 46%),radial-gradient(circle at 12% 86%,rgba(51,161,253,.22),transparent 40%);}
.ctaband .inner{position:relative;z-index:1;}
.ctaband h2{font-size:clamp(2rem,4vw,3rem);color:#fff;max-width:18ch;margin:14px auto 0;}
.ctaband p{color:rgba(255,255,255,.82);font-size:1.08rem;margin:18px auto 30px;max-width:46ch;}
.ctaband .acts{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* footer */
footer{background:var(--navy-deep);color:rgba(255,255,255,.72);padding:64px 0 32px;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px;}
.foot-brand img{height:42px;width:auto;margin-bottom:16px;}
.foot-brand p{font-size:14px;max-width:30ch;}
footer h4{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-soft);margin-bottom:16px;}
footer ul{list-style:none;display:flex;flex-direction:column;gap:11px;}
footer ul a{font-size:14px;color:rgba(255,255,255,.74);transition:color .15s ease;}
footer ul a:hover{color:#fff;}
.foot-bottom{border-top:1px solid var(--line-dark);margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;}
.foot-bottom a{color:rgba(255,255,255,.74);}

/* motion */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.stagger>*{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease);}
.stagger.in>*{opacity:1;transform:none;}
.stagger.in>*:nth-child(1){transition-delay:.04s}.stagger.in>*:nth-child(2){transition-delay:.1s}
.stagger.in>*:nth-child(3){transition-delay:.16s}.stagger.in>*:nth-child(4){transition-delay:.22s}
.stagger.in>*:nth-child(5){transition-delay:.28s}.stagger.in>*:nth-child(6){transition-delay:.34s}
.stagger.in>*:nth-child(7){transition-delay:.4s}.stagger.in>*:nth-child(8){transition-delay:.46s}
.stagger.in>*:nth-child(9){transition-delay:.52s}.stagger.in>*:nth-child(10){transition-delay:.58s}
.hero .he{opacity:0;transform:translateY(20px);animation:heIn .8s var(--ease) forwards;}
.hero .he1{animation-delay:.05s}.hero .he2{animation-delay:.18s}.hero .he3{animation-delay:.34s}.hero .he4{animation-delay:.5s}.hero .he5{animation-delay:.64s}.hero .he6{animation-delay:.5s}
@keyframes heIn{to{opacity:1;transform:none}}

.hidden-section{display:none!important;}
.noscript-note{background:#fff3e2;color:var(--navy);text-align:center;padding:14px;font-size:14px;}

/* responsive */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:38px;}
  .hero-bg svg{width:130%;right:-30%;}
  .outcomes{grid-template-columns:1fr;gap:38px;}
  .admit-grid,.contact-grid{grid-template-columns:1fr;gap:34px;}
  .why-grid{grid-template-columns:1fr;}
  .prog-grid{grid-template-columns:repeat(2,1fr);}
  .ladder-grid{grid-template-columns:1fr;gap:34px;}
  .rung .arrow{right:50%;top:auto;bottom:-22px;transform:translateX(50%) rotate(90deg);}
  .quotes{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:1fr 1fr;}
  .path-track{grid-template-columns:1fr 1fr;gap:30px 24px;}
  .path-svg{display:none;}
  .strip{grid-template-columns:1fr 1fr;}
  .strip .cell:nth-child(2){border-right:none;}
  .strip .cell:nth-child(1),.strip .cell:nth-child(2){border-bottom:1px solid var(--line-dark);}
}
@media (max-width:680px){
  .nav-links{position:fixed;top:72px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 22px;transform:translateY(-130%);transition:transform .3s var(--ease);box-shadow:0 22px 40px -28px rgba(0,38,79,.5);}
  .nav-links.open{transform:translateY(0);}
  .nav-links a{color:var(--ink)!important;}
  .nav-links a:not(.btn){padding:14px 0;border-bottom:1px solid var(--line);}
  .nav-links .btn{display:inline-flex;margin-top:14px;justify-content:center;background:var(--orange);color:var(--navy);border-color:var(--orange);}
  .menu-btn{display:block;}
  .nav .nav-cta .apply-top{display:none;}
  .hero{padding:128px 0 64px;}
  .hero h1{font-size:2.2rem;}
  .prog-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:1fr 1fr;}
  .path-track{grid-template-columns:1fr;gap:8px;}
  .node{display:grid;grid-template-columns:66px 1fr;gap:16px;align-items:start;}
  .node .step-no{margin-top:0;}
  .out-stats{grid-template-columns:1fr;}
  form.cform .row{grid-template-columns:1fr;}
  .sec{padding:68px 0;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .ctaband{padding:48px 22px;}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;}
  .reveal,.stagger>*,.hero .he{opacity:1!important;transform:none!important;transition:none!important;animation:none!important;}
  .hero-bg svg{animation:none!important;}
  .hero h1 .b::after{transform:scaleX(1)!important;animation:none!important;}
  .path-track .path-svg line{stroke-dashoffset:0!important;transition:none!important;}
}
