:root {
  --ink: #07162f;
  --ink-2: #0b2147;
  --navy: #101879;
  --mint: #4eddb1;
  --mint-pale: #dffbf1;
  --blue: #48acd2;
  --violet: #8e8cff;
  --paper: #f7f9f8;
  --white: #ffffff;
  --muted: #657185;
  --line: rgba(7, 22, 47, .12);
  --shadow: 0 26px 80px rgba(10, 31, 63, .12);
  --display: "Manrope", Arial, sans-serif;
  --body: "DM Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { font-family: var(--display); letter-spacing: -.055em; }
h1 { margin-bottom: 24px; font-size: clamp(3.35rem, 7vw, 7.4rem); font-weight: 800; line-height: .95; }
h2 { margin-bottom: 20px; font-size: clamp(2.55rem, 4.9vw, 5.2rem); line-height: .98; }
h3 { margin-bottom: 12px; }
em { color: var(--mint); font-family: inherit; font-style: normal; }
p { color: var(--muted); line-height: 1.65; }

.site-header { position: absolute; z-index: 10; top: 0; left: 0; display: flex; width: 100%; height: 86px; align-items: center; gap: 34px; padding: 0 5vw; border-bottom: 1px solid rgba(255,255,255,.12); color: white; }
body[data-page="article"] .site-header { border-bottom-color: rgba(255,255,255,.12); background: var(--ink); color: white; }
body[data-page="article"] .article-header { padding-top: 210px; }
.brand { display: inline-flex; min-width: 186px; align-items: center; gap: 12px; color: white; }
.brand-image { min-width: 0; width: 218px; height: 54px; overflow: hidden; }
.brand-image img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.brand span:last-child { display: flex; flex-direction: column; }
.brand strong { font-family: var(--display); font-size: 1.35rem; letter-spacing: -.08em; line-height: 1; }
.brand small { margin-top: 3px; font-size: .58rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.brand-icon { position: relative; display: block; width: 35px; height: 33px; }
.brand-icon i { position: absolute; display: block; width: 27px; height: 18px; border: 2px solid currentColor; border-radius: 2px; transform: rotate(30deg) skewX(-30deg); }
.brand-icon i:nth-child(1) { top: 0; color: var(--mint); }
.brand-icon i:nth-child(2) { top: 6px; left: 3px; color: var(--blue); }
.brand-icon i:nth-child(3) { top: 12px; left: 6px; color: var(--violet); }
.desktop-nav { flex: 1; }
.desktop-nav ul { display: flex; align-items: center; gap: 25px; margin: 0; padding: 0; list-style: none; }
.desktop-nav li { position: relative; }
.desktop-nav li > a { display: flex; align-items: center; gap: 5px; font-size: .77rem; font-weight: 700; letter-spacing: .08em; opacity: .78; text-transform: uppercase; transition: .25s; }
.desktop-nav li > a:hover { opacity: 1; }
.nav-chevron { color: var(--mint); font-size: 1rem; }
.dropdown { position: absolute; top: 32px; left: -18px; width: 285px; padding: 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(7,22,47,.97); box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translateY(8px); transition: .25s; }
.has-dropdown:hover .dropdown { opacity: 1; pointer-events: auto; transform: translateY(0); }
.dropdown a { display: flex; align-items: center; gap: 12px; padding: 11px 9px; border-radius: 8px; transition: .2s; }
.dropdown a:hover { background: rgba(255,255,255,.08); }
.dropdown b { color: var(--mint); font-size: .7rem; }
.dropdown span { display: flex; flex-direction: column; font-family: var(--display); font-size: .82rem; font-weight: 800; }
.dropdown small { margin-top: 3px; color: rgba(255,255,255,.48); font-family: var(--body); font-size: .68rem; font-weight: 500; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 10px; padding: 0 19px; border: 1px solid var(--mint); border-radius: 100px; background: var(--mint); color: var(--ink); font-size: .73rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: .3s; }
.button:hover { background: transparent; color: var(--mint); transform: translateY(-2px); }
.button svg, .text-link svg, .card-link svg { transition: transform .25s; }
.button:hover svg, .text-link:hover svg, .course-card:hover .card-link svg { transform: translateX(4px); }
.button-small { min-height: 40px; padding: 0 15px; font-size: .67rem; }
.button-light { border-color: white; background: white; color: var(--ink); }
.button-light:hover { border-color: white; color: white; }
.menu-toggle, .menu-close { display: none; width: 42px; height: 42px; border: 0; background: transparent; color: white; font-size: 1.4rem; }
.mobile-menu { display: none; }

.hero, .inner-hero { position: relative; display: grid; min-height: 790px; grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr); align-items: center; gap: 7vw; overflow: hidden; padding: 140px 7vw 76px; background: var(--ink); color: white; }
.hero::before, .inner-hero::before { position: absolute; top: -230px; left: 25%; width: 650px; height: 650px; border-radius: 50%; background: rgba(17, 98, 130, .18); content: ""; filter: blur(60px); }
.hero-copy { position: relative; z-index: 2; max-width: 800px; }
.hero-copy p, .simple-hero p { max-width: 660px; color: rgba(255,255,255,.68); font-size: 1.12rem; }
.eyebrow { display: block; margin-bottom: 22px; color: var(--mint); font-size: .64rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.hero-actions { display: flex; align-items: center; gap: 24px; margin-top: 36px; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: color .25s; }
.text-link:hover { color: #16b88b; }
.text-link.light { color: white; }
.text-link.light:hover { color: var(--mint); }
.hero-copy .text-link { color: white; }
.hero-copy .text-link:hover { color: var(--mint); }
.hero-proof { display: flex; gap: 34px; margin-top: 76px; }
.hero-proof div { padding-right: 32px; border-right: 1px solid rgba(255,255,255,.15); }
.hero-proof div:last-child { border-right: 0; }
.hero-proof strong { display: block; color: white; font-family: var(--display); font-size: 1.6rem; letter-spacing: -.08em; }
.hero-proof span { color: rgba(255,255,255,.5); font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.hero-grid { position: absolute; right: -10%; bottom: -150px; width: 63%; height: 390px; background-image: linear-gradient(rgba(78,221,177,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(78,221,177,.1) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to top, black, transparent); transform: perspective(500px) rotateX(64deg); }

.tactical-card { position: relative; z-index: 1; width: 100%; max-width: 620px; padding: 17px; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; background: rgba(12,36,71,.76); box-shadow: 0 35px 90px rgba(0,0,0,.22); backdrop-filter: blur(20px); transform: rotate(-2deg); }
.tactical-top, .tactical-bottom { display: flex; justify-content: space-between; gap: 14px; color: rgba(255,255,255,.6); font-size: .58rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.live-dot { color: var(--mint); }
.live-dot::before { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 4px rgba(78,221,177,.12); content: ""; }
.pitch { position: relative; height: 340px; margin: 15px 0; border: 1px solid rgba(78,221,177,.4); background: linear-gradient(90deg, rgba(78,221,177,.05) 50%, transparent 50%); }
.pitch::before, .pitch::after { position: absolute; top: 0; bottom: 0; width: 1px; content: ""; }
.pitch::before { left: 33%; background: rgba(78,221,177,.14); }
.pitch::after { right: 33%; background: rgba(78,221,177,.14); }
.center-line { position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: rgba(78,221,177,.4); }
.center-circle { position: absolute; top: 50%; left: 50%; width: 92px; height: 92px; border: 1px solid rgba(78,221,177,.4); border-radius: 50%; transform: translate(-50%,-50%); }
.area { position: absolute; top: 27%; width: 15%; height: 46%; border: 1px solid rgba(78,221,177,.35); }
.area-left { left: 0; border-left: 0; }
.area-right { right: 0; border-right: 0; }
.player { position: absolute; z-index: 2; width: 13px; height: 13px; border: 2px solid white; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 5px rgba(78,221,177,.15); }
.p1 { top: 24%; left: 20%; }.p2 { top: 65%; left: 28%; }.p3 { top: 42%; left: 45%; }.p4 { top: 19%; left: 59%; }.p5 { top: 58%; left: 64%; }.p6 { top: 76%; left: 80%; }.p7 { top: 38%; left: 82%; }
.route { position: absolute; height: 1px; border-top: 1px dashed rgba(255,255,255,.65); transform-origin: left center; }
.route-one { top: 44%; left: 46%; width: 40%; transform: rotate(-15deg); }
.route-two { top: 60%; left: 65%; width: 22%; transform: rotate(25deg); }
.player-tag { position: absolute; top: 23%; left: 55%; display: flex; gap: 9px; padding: 9px 11px; border: 1px solid rgba(255,255,255,.25); border-radius: 7px; background: rgba(7,22,47,.92); color: white; font-size: .62rem; }
.player-tag b { color: var(--mint); }
.player-tag span { display: flex; flex-direction: column; color: rgba(255,255,255,.6); }
.player-tag strong { margin-top: 3px; color: white; }
.tactical-bottom span { flex: 1; padding-top: 11px; border-top: 1px solid rgba(255,255,255,.12); }
.tactical-bottom b { margin-right: 4px; color: white; font-family: var(--display); font-size: 1rem; }

.logo-strip { display: flex; min-height: 84px; align-items: center; justify-content: space-between; gap: 20px; padding: 0 7vw; border-bottom: 1px solid var(--line); background: white; }
.logo-strip span { color: var(--muted); font-size: .62rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.logo-strip div { display: flex; gap: 34px; }
.logo-strip b { color: rgba(7,22,47,.3); font-family: var(--display); font-size: .76rem; letter-spacing: .1em; }
.section { padding: 120px 7vw; }
.section-head { max-width: 810px; margin-bottom: 52px; }
.section-head p { max-width: 680px; font-size: 1.02rem; }
.course-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 17px; }
.course-card { position: relative; display: flex; min-height: 420px; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 26px; border: 1px solid var(--line); border-radius: 12px; background: white; transition: .35s; }
.course-card:hover { box-shadow: var(--shadow); transform: translateY(-9px); }
.course-number { color: rgba(7,22,47,.28); font-family: var(--display); font-size: 1rem; font-weight: 800; }
.course-lines { position: absolute; top: 10px; right: -30px; width: 190px; height: 190px; transform: rotate(-28deg); }
.course-lines i { position: absolute; display: block; width: 150px; height: 70px; border: 1px solid var(--mint); opacity: .3; }
.course-lines i:nth-child(2) { top: 18px; left: 15px; }.course-lines i:nth-child(3) { top: 36px; left: 30px; }
.course-card.blue .course-lines i { border-color: var(--blue); }.course-card.violet .course-lines i { border-color: var(--violet); }
.course-card h3 { max-width: 270px; margin-bottom: 10px; font-size: 2.1rem; line-height: 1; }
.course-card strong { display: block; margin-bottom: 20px; color: #17a980; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.course-card.blue strong { color: #258bb1; }.course-card.violet strong { color: #6863db; }
.course-card p { font-size: .9rem; }
.card-link { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.dark-panel { background: var(--ink); color: white; }
.method-panel { display: grid; grid-template-columns: 1.1fr .9fr; gap: 90px; }
.method-copy p { max-width: 650px; color: rgba(255,255,255,.65); font-size: 1.03rem; }
.method-steps { border-top: 1px solid rgba(255,255,255,.18); }
.method-steps article { display: flex; gap: 28px; padding: 28px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.method-steps span { color: var(--mint); font-family: var(--display); font-size: .75rem; font-weight: 800; }
.method-steps h3 { margin-bottom: 6px; font-size: 1.5rem; }
.method-steps p { margin: 0; color: rgba(255,255,255,.55); font-size: .9rem; }
.outcome-layout { display: grid; grid-template-columns: .95fr 1.05fr; gap: 18px; }
.quote-card { display: flex; min-height: 370px; flex-direction: column; justify-content: space-between; padding: 32px; border-radius: 12px; background: var(--mint-pale); }
.quote-mark { height: 55px; color: #16b88b; font-family: Georgia, serif; font-size: 6rem; line-height: 1; }
.quote-card p { max-width: 580px; color: var(--ink); font-family: var(--display); font-size: 1.55rem; font-weight: 700; letter-spacing: -.045em; line-height: 1.3; }
.quote-card div, .article-author { display: flex; align-items: center; gap: 12px; }
.avatar { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--ink); color: white; font-family: var(--display); font-size: .65rem; font-weight: 800; letter-spacing: .08em; }
.quote-card b, .article-author b { display: block; font-size: .82rem; }
.quote-card small, .article-author small { display: block; margin-top: 3px; color: var(--muted); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.outcome-stats { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; overflow: hidden; border-radius: 12px; background: var(--line); }
.outcome-stats div { padding: 28px; background: white; }
.outcome-stats strong { color: var(--ink); font-family: var(--display); font-size: 3.2rem; letter-spacing: -.1em; }
.outcome-stats strong span { color: var(--mint); font-size: 1.5rem; }
.outcome-stats p { max-width: 180px; margin: 16px 0 0; font-size: .82rem; }
.insights-preview { position: relative; padding-top: 0; }
.section-link { margin-top: 34px; }
.article-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.article-grid.wide { grid-template-columns: repeat(2,1fr); }
.article-card { display: block; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: white; transition: .35s; }
.article-card:hover { box-shadow: var(--shadow); transform: translateY(-6px); }
.article-art { position: relative; display: grid; height: 190px; place-items: center; overflow: hidden; background: var(--ink); }
.article-art span { position: relative; z-index: 1; color: white; font-family: var(--display); font-size: 3.8rem; font-weight: 800; letter-spacing: -.1em; }
.article-art i { position: absolute; width: 180px; height: 90px; border: 1px solid rgba(78,221,177,.55); transform: rotate(-25deg) skewX(-18deg); }
.article-art i:nth-child(2) { margin: 30px 0 0 45px; }.article-art i:nth-child(3) { margin: 60px 0 0 90px; opacity: .45; }
.article-card > div:last-child { padding: 21px; }
.article-meta { color: #159b75; font-size: .62rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.article-card h3 { margin-top: 15px; font-size: 1.45rem; line-height: 1.12; }
.article-card p { font-size: .86rem; }
.article-card b { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.cta-section { position: relative; display: flex; min-height: 345px; align-items: center; justify-content: space-between; gap: 36px; overflow: hidden; padding: 70px 7vw; background: var(--mint); }
.cta-section .eyebrow { color: var(--ink); opacity: .62; }
.cta-section h2 { position: relative; z-index: 1; margin-bottom: 14px; color: var(--ink); }
.cta-section p { position: relative; z-index: 1; max-width: 600px; margin-bottom: 0; color: rgba(7,22,47,.65); }
.cta-section .button { position: relative; z-index: 1; flex-shrink: 0; }
.cta-orbit { position: absolute; top: -140px; right: 17%; width: 470px; height: 470px; border: 1px solid rgba(7,22,47,.16); border-radius: 50%; }
.cta-orbit::after { position: absolute; top: 60px; left: 60px; width: 350px; height: 350px; border: 1px solid rgba(7,22,47,.14); border-radius: 50%; content: ""; }
.site-footer { padding: 64px 7vw 22px; background: var(--ink); color: white; }
.footer-grid { display: grid; grid-template-columns: 1.7fr repeat(3,1fr); gap: 34px; padding-bottom: 48px; }
.footer-grid p { max-width: 320px; margin-top: 24px; color: rgba(255,255,255,.48); font-size: .84rem; }
.footer-logo-art { display: block; width: min(100%, 280px); height: auto; }
.footer-grid h4 { margin-bottom: 18px; color: var(--mint); font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; }
.footer-grid a, .footer-grid span { display: block; margin: 11px 0; color: rgba(255,255,255,.68); font-size: .78rem; }
.footer-grid a:hover { color: white; }
.footer-bottom { display: flex; justify-content: space-between; gap: 16px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.35); font-size: .61rem; letter-spacing: .1em; text-transform: uppercase; }

.simple-hero { min-height: 590px; padding: 190px 7vw 80px; background: var(--ink); color: white; }
.simple-hero.compact { min-height: 510px; }
.simple-hero p { max-width: 710px; }
.inner-hero { min-height: 680px; }
.course-visual { position: relative; height: 390px; border: 1px solid rgba(255,255,255,.2); border-radius: 10px; background: rgba(255,255,255,.04); }
.visual-label { position: absolute; top: 20px; left: 20px; color: var(--mint); font-size: .65rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.radar { position: absolute; top: 50%; left: 50%; width: 230px; height: 230px; border: 1px solid rgba(78,221,177,.23); border-radius: 50%; transform: translate(-50%,-50%); }
.radar i { position: absolute; top: 50%; left: 50%; width: 1px; height: 100%; background: rgba(78,221,177,.2); transform-origin: center; }
.radar i:nth-child(1) { transform: translate(-50%,-50%) rotate(0); }.radar i:nth-child(2) { transform: translate(-50%,-50%) rotate(45deg); }.radar i:nth-child(3) { transform: translate(-50%,-50%) rotate(90deg); }.radar i:nth-child(4) { transform: translate(-50%,-50%) rotate(135deg); }
.radar b { position: absolute; top: 17%; left: 18%; width: 62%; height: 66%; border: 1px solid var(--mint); background: rgba(78,221,177,.12); clip-path: polygon(50% 0, 100% 35%, 85% 90%, 26% 100%, 0 42%); transform: rotate(-15deg); }
.visual-score { position: absolute; right: 18px; bottom: 20px; display: flex; align-items: end; gap: 7px; }
.visual-score b { color: white; font-family: var(--display); font-size: 3rem; letter-spacing: -.12em; line-height: .8; }
.visual-score span { color: rgba(255,255,255,.5); font-size: .55rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.visual-axis { position: absolute; bottom: 20px; left: 18px; display: flex; flex-direction: column; gap: 6px; color: rgba(255,255,255,.45); font-size: .58rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.course-hero.blue .visual-label, .course-hero.blue em { color: var(--blue); }.course-hero.violet .visual-label, .course-hero.violet em { color: var(--violet); }
.meta-strip { display: grid; grid-template-columns: repeat(4,1fr); padding: 0 7vw; border-bottom: 1px solid var(--line); background: white; }
.meta-strip div { display: flex; gap: 15px; padding: 24px 0; border-right: 1px solid var(--line); }
.meta-strip div + div { padding-left: 24px; }
.meta-strip span { color: #17a980; font-size: .66rem; font-weight: 700; }
.meta-strip b { font-family: var(--display); font-size: .82rem; letter-spacing: -.03em; }
.intro-split, .career-steps { display: grid; grid-template-columns: 1fr .82fr; gap: 70px; }
.lead-copy { padding-top: 35px; }
.lead-copy p { font-size: 1.1rem; }
.check-list { display: grid; gap: 12px; margin-top: 26px; }
.check-list span { display: flex; align-items: center; gap: 8px; color: var(--ink); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.check-list svg { color: #16b88b; }
.program-section { padding-top: 30px; }
.module-list { border-top: 1px solid var(--line); }
.module { display: grid; grid-template-columns: 70px 1fr 1.2fr 30px; align-items: center; gap: 20px; padding: 26px 0; border-bottom: 1px solid var(--line); }
.module span { color: #17a980; font-size: .7rem; font-weight: 700; }
.module h3 { margin: 0; font-size: 1.35rem; }
.module p { margin: 0; font-size: .88rem; }
.module b { color: var(--ink); }
.project-panel { display: flex; min-height: 260px; align-items: center; justify-content: space-between; gap: 32px; margin: 0 7vw 120px; padding: 42px; border-radius: 12px; background: var(--ink); color: white; }
.project-panel h2 { margin: 0; font-size: 3.1rem; }
.project-panel p { max-width: 420px; margin: 0; color: rgba(255,255,255,.62); }
.project-panel .button { flex-shrink: 0; }
.faq-section { padding-top: 0; }
.faq-list { border-top: 1px solid var(--line); }
.faq { border-bottom: 1px solid var(--line); }
.faq button { display: flex; width: 100%; justify-content: space-between; padding: 22px 0; border: 0; background: transparent; color: var(--ink); text-align: left; }
.faq button span { font-family: var(--display); font-size: 1.1rem; font-weight: 700; }
.faq button b { color: #16b88b; font-size: 1.3rem; transition: transform .25s; }
.faq p { display: none; max-width: 760px; padding-bottom: 22px; font-size: .9rem; }
.faq.open p { display: block; }.faq.open button b { transform: rotate(45deg); }

.faculty-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 17px; }
.faculty-card { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: white; transition: .3s; }
.faculty-card:hover { box-shadow: var(--shadow); transform: translateY(-6px); }
.faculty-photo { position: relative; display: grid; height: 235px; place-items: center; overflow: hidden; background: var(--mint-pale); }
.faculty-card.blue .faculty-photo { background: #e1f4fa; }.faculty-card.violet .faculty-photo { background: #ecebff; }
.faculty-photo span { position: relative; z-index: 1; color: var(--ink); font-family: var(--display); font-size: 4.3rem; font-weight: 800; letter-spacing: -.12em; }
.faculty-photo i { position: absolute; width: 180px; height: 180px; border: 1px solid rgba(7,22,47,.16); border-radius: 50%; }
.faculty-card > div:last-child { position: relative; padding: 22px; }
.faculty-card h3 { margin-bottom: 6px; font-size: 1.4rem; }
.faculty-card strong { color: #159b75; font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }
.faculty-card p { margin: 12px 0 0; font-size: .78rem; }
.faculty-card a { position: absolute; top: 22px; right: 22px; }
.faculty-panel { max-width: none; }
.faculty-panel p { max-width: 650px; color: rgba(255,255,255,.62); }
.career-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--line); }
.career-card { min-height: 260px; padding: 25px; background: white; }
.career-card span, .master-grid span, .executive-grid span { color: #159b75; font-size: .7rem; font-weight: 700; }
.career-card h3 { margin-top: 70px; font-size: 1.35rem; }
.career-card p { font-size: .86rem; }
.career-steps { padding-top: 0; }
.timeline { border-left: 1px solid var(--line); }
.timeline article { display: flex; gap: 25px; padding: 3px 0 30px 24px; }
.timeline b { color: #159b75; font-size: .7rem; }
.timeline h3 { margin-bottom: 5px; font-size: 1.25rem; }
.timeline p { margin: 0; font-size: .88rem; }
.executive-visual { position: relative; height: 380px; }
.executive-visual div { position: absolute; right: 5%; display: flex; width: 75%; height: 140px; align-items: center; justify-content: space-between; padding: 25px; border: 1px solid rgba(255,255,255,.22); color: white; transform: rotate(-6deg) skewX(-12deg); }
.executive-visual div:nth-child(1) { top: 0; background: rgba(78,221,177,.18); }.executive-visual div:nth-child(2) { top: 90px; right: 11%; background: rgba(72,172,210,.15); }.executive-visual div:nth-child(3) { top: 180px; right: 17%; background: rgba(142,140,255,.13); }
.executive-visual span, .executive-visual b { transform: skewX(12deg); }
.executive-visual span { font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }.executive-visual b { font-family: var(--display); font-size: 3rem; letter-spacing: -.1em; opacity: .6; }
.executive-grid, .master-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 17px; }
.executive-grid article, .master-grid article { min-height: 250px; padding: 25px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.executive-grid h3, .master-grid h3 { margin-top: 55px; font-size: 1.5rem; }.executive-grid p, .master-grid p { font-size: .86rem; }
.master-grid { grid-template-columns: repeat(4,1fr); }
.master-grid article { min-height: 235px; }.master-grid h3 { margin-top: 65px; }
.blog-section { padding-top: 70px; }
.filter-row { display: flex; gap: 9px; flex-wrap: wrap; margin-bottom: 32px; }
.filter-row button { padding: 9px 15px; border: 1px solid var(--line); border-radius: 100px; background: white; color: var(--muted); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.filter-row button.active { border-color: var(--ink); background: var(--ink); color: white; }

.article-page { background: white; }
.article-header { max-width: 1000px; padding: 165px 7vw 65px; }
.article-header h1 { font-size: clamp(3rem,6.3vw,6.6rem); }
.article-header p { max-width: 700px; font-size: 1.16rem; }
.back-link { display: block; margin-bottom: 42px; color: var(--muted); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.article-author { margin-top: 30px; }
.article-cover { position: relative; display: grid; height: 430px; place-items: center; overflow: hidden; background: var(--ink); }
.article-cover > span { position: relative; z-index: 2; color: white; font-family: var(--display); font-size: 8rem; font-weight: 800; letter-spacing: -.14em; }
.cover-pitch { position: absolute; width: 470px; height: 250px; border: 1px solid rgba(78,221,177,.46); transform: rotate(-15deg) skewX(-15deg); }
.cover-pitch i { position: absolute; width: 100%; height: 100%; border: 1px solid rgba(78,221,177,.3); }.cover-pitch i:nth-child(1) { top: 35px; left: 35px; }.cover-pitch i:nth-child(2) { top: 70px; left: 70px; }.cover-pitch i:nth-child(3) { top: 105px; left: 105px; }
.article-body { max-width: 760px; margin: 0 auto; padding: 80px 24px 115px; }
.article-body p, .article-body li { color: #465368; font-size: 1.04rem; line-height: 1.85; }
.article-body .lead { color: var(--ink); font-size: 1.3rem; }
.article-body h2 { margin-top: 48px; font-size: 2rem; }
.article-body blockquote { margin: 44px 0; padding: 22px 0 22px 25px; border-left: 3px solid var(--mint); color: var(--ink); font-family: var(--display); font-size: 1.45rem; font-weight: 700; letter-spacing: -.04em; line-height: 1.45; }
.article-body li { padding: 5px 0 5px 8px; }
.contact-layout { display: grid; min-height: 760px; grid-template-columns: 1fr .8fr; gap: 70px; padding: 155px 7vw 90px; background: var(--ink); }
.contact-copy { color: white; }
.contact-copy h1 { font-size: clamp(3rem,5.5vw,6rem); }
.contact-copy p { max-width: 650px; color: rgba(255,255,255,.62); font-size: 1.05rem; }
.contact-data { display: grid; grid-template-columns: repeat(3,1fr); gap: 17px; margin-top: 75px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.17); }
.contact-data span { display: block; margin-bottom: 8px; color: var(--mint); font-size: .62rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.contact-data a, .contact-data b { color: rgba(255,255,255,.8); font-size: .76rem; font-weight: 500; }
.contact-form { display: grid; align-self: center; gap: 16px; padding: 27px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; background: rgba(255,255,255,.06); }
.contact-form label { color: rgba(255,255,255,.7); font-size: .68rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; margin-top: 8px; padding: 12px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.2); border-radius: 0; outline: 0; background: transparent; color: white; font-size: .9rem; resize: vertical; }
.contact-form select option { color: var(--ink); }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--mint); }
.contact-form small { color: rgba(255,255,255,.42); font-size: .66rem; }
.contact-form .sent { border-color: white; background: white; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
