:root {
  --navy: #2e4265;
  --deep: #143d4a;
  --ocean: #0d1b2a;
  --blue: #5f8099;
  --glacier: #8fa3bc;
  --pale: #d5e1ec;
  --mist: #f2f1ec;
  --white: #f8fafc;
  --sand: #d8c6a8;
  --ink: #172536;
  --line: rgba(23, 37, 54, .18);
  --shadow: 0 24px 70px rgba(13, 27, 42, .13);
  --font-zh: "Noto Sans TC", "Source Han Sans TC", "Microsoft JhengHei", sans-serif;
  --font-en: "Source Sans 3", "Source Sans Pro", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--mist); font-family: var(--font-zh); line-height: 1.7; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 100; padding: .65rem 1rem; background: #fff; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

.mobile-header { display: none; }
.hero { position: relative; height: 100svh; min-height: 620px; background: #cbddea; overflow: hidden; }
.hero-media { position: absolute; top: 50%; left: 50%; width: min(100vw, 177.7778svh); aspect-ratio: 16 / 9; transform: translate(-50%, -50%); }
.hero video { width: 100%; height: 100%; display: block; object-fit: contain; }
.video-hotspots { position: absolute; inset: 2.5% 34% auto 8%; height: 6.5%; display: grid; grid-template-columns: 1.2fr 1fr 1.65fr 1fr 1fr 1fr; gap: 2.15%; align-items: stretch; }
.video-hotspots a { position: relative; color: transparent; border-bottom: 2px solid transparent; transition: border-color .25s ease, background-color .25s ease; }
.video-hotspots a:hover, .video-hotspots a:focus-visible { border-color: var(--navy); background: rgba(255,255,255,.12); outline: none; }
.scroll-cue { position: absolute; z-index: 3; bottom: 2.1rem; left: 50%; display: flex; align-items: center; gap: .8rem; transform: translateX(-50%); color: white; font-family: var(--font-en); font-size: .78rem; letter-spacing: .18em; text-transform: uppercase; text-shadow: 0 1px 8px rgba(0,0,0,.6); }
.scroll-cue i { display: block; width: 42px; height: 1px; background: rgba(255,255,255,.75); position: relative; overflow: hidden; }
.scroll-cue i::after { content: ""; position: absolute; inset: 0; background: #fff; transform: translateX(-100%); animation: cue 2.2s ease-in-out infinite; }
@keyframes cue { 50%,100% { transform: translateX(100%); } }

main { background: var(--mist); }
.value-section, .insights-section { max-width: 1440px; margin: 0 auto; padding: 8rem 5vw; }
.section-intro { max-width: 800px; margin-bottom: 3.5rem; }
.eyebrow { margin: 0 0 1rem; color: var(--blue); font-family: var(--font-en); font-size: .78rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.section-intro h1, .section-heading h2, .engage-section h2 { margin: 0; font-weight: 500; letter-spacing: -.035em; line-height: 1.25; }
.section-intro h1 { font-size: clamp(2.15rem, 4vw, 4.8rem); max-width: 1000px; }
.section-intro > p:last-child { max-width: 680px; margin: 1.8rem 0 0; color: #596777; font-size: 1.08rem; }
.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); box-shadow: var(--shadow); }
.value-card { position: relative; min-height: 420px; padding: 3rem 2.75rem; color: white; overflow: hidden; transition: transform .35s ease, filter .35s ease; }
.value-card:hover { transform: translateY(-10px); z-index: 2; filter: saturate(1.08); }
.value-card--1 { background: #5f8099; }
.value-card--2 { background: #89a5bb; }
.value-card--3 { background: #456a82; }
.value-card::after { content: ""; position: absolute; right: -4rem; bottom: -6rem; width: 220px; height: 220px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.card-no { display: block; margin-bottom: 4.5rem; font-family: var(--font-en); font-size: .75rem; letter-spacing: .16em; opacity: .68; }
.value-card h2 { margin: 0 0 .65rem; font-size: 1.75rem; font-weight: 500; }
.value-card strong { display: block; margin-bottom: 1.6rem; font-size: 1.12rem; font-weight: 500; }
.value-card p { margin: 0; font-weight: 300; opacity: .88; }
.value-card a { position: absolute; bottom: 2.5rem; left: 2.75rem; display: flex; gap: .75rem; align-items: center; font-family: var(--font-en); font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.value-card a span { transition: transform .25s ease; }
.value-card a:hover span { transform: translate(3px,-3px); }

.insights-section { padding-top: 6rem; }
.section-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 3rem; }
.section-heading--mobile { display: none; }
.section-heading h2 { font-size: clamp(2.4rem, 4vw, 4.6rem); }
.text-link { padding-bottom: .3rem; border-bottom: 1px solid var(--ink); font-size: .92rem; }
.insight-experience { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(320px, .85fr); min-height: 650px; background: #fff; box-shadow: var(--shadow); }
.insight-rail { display: flex; min-width: 0; overflow: hidden; }
.insight-card { --image: none; appearance: none; position: relative; flex: 1 1 0; min-width: 0; min-height: 650px; padding: 2.2rem 1.6rem; text-align: left; color: white; border: 0; border-right: 1px solid rgba(255,255,255,.35); background: linear-gradient(180deg, rgba(15,31,48,.05), rgba(15,31,48,.83)), var(--image) center/cover no-repeat; cursor: pointer; overflow: hidden; transition: flex .45s ease, filter .4s ease; }
.insight-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(13,27,42,.76)); transition: background .35s ease; }
.insight-card:not(.active) { filter: saturate(.72) brightness(.82); }
.insight-card.active { flex-grow: 1.26; }
.insight-card:hover { filter: saturate(1) brightness(.98); }
.insight-card:focus-visible { outline: 3px solid var(--sand); outline-offset: -3px; }
.insight-index, .insight-tag, .insight-card strong { position: relative; z-index: 1; display: block; }
.insight-index { font-family: var(--font-en); font-size: .75rem; letter-spacing: .16em; }
.insight-tag { position: absolute; z-index: 2; left: 1.6rem; bottom: 10.7rem; font-family: var(--font-en); font-size: .7rem; letter-spacing: .13em; text-transform: uppercase; opacity: .82; writing-mode: vertical-rl; transform: rotate(180deg); }
.insight-card strong { position: absolute; z-index: 2; left: 3.8rem; right: 1.25rem; bottom: 2.5rem; font-size: clamp(1.1rem, 1.45vw, 1.5rem); font-weight: 500; line-height: 1.55; }
.insight-detail { display: flex; flex-direction: column; padding: 5.2rem 3.5rem 3.2rem; background: var(--mist); }
.detail-meta { margin: 0 0 3rem; color: var(--blue); font-family: var(--font-en); font-size: .75rem; letter-spacing: .16em; transition: opacity .12s ease; }
.insight-detail h3 { margin: 0 0 1.7rem; font-size: clamp(1.7rem, 2.45vw, 2.75rem); font-weight: 500; line-height: 1.38; letter-spacing: -.025em; transition: opacity .12s ease; }
.insight-detail > p:nth-of-type(2) { margin: 0 0 2.5rem; color: #536272; font-size: 1rem; transition: opacity .12s ease; }
.switching { opacity: 0; }
.outline-button, .light-button { display: inline-flex; align-items: center; justify-content: space-between; width: fit-content; min-width: 195px; padding: .9rem 1.05rem; border: 1px solid var(--ink); font-size: .9rem; transition: background .25s, color .25s; }
.outline-button:hover { color: white; background: var(--ink); }
.detail-count { display: flex; gap: .8rem; align-items: center; margin-top: auto; color: var(--blue); font-family: var(--font-en); }
.detail-count i { flex: 1; height: 1px; background: var(--line); }

.engage-section { position: relative; min-height: 700px; margin-top: 4rem; color: white; background: linear-gradient(135deg, #132f3c 0%, #254e61 52%, #6f8ba1 100%); overflow: hidden; }
.engage-section::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 72% 15%, rgba(255,255,255,.18), transparent 34%), linear-gradient(180deg, transparent, rgba(13,27,42,.26)); }
.contour { position: absolute; width: 720px; height: 720px; border: 1px solid rgba(255,255,255,.12); border-radius: 47% 53% 64% 36%; }
.contour::before, .contour::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.1); border-radius: inherit; }
.contour::before { inset: 55px; }.contour::after { inset: 115px; }
.contour-a { left: -260px; bottom: -390px; transform: rotate(18deg); }
.contour-b { right: -320px; top: -440px; transform: rotate(-22deg); }
.engage-inner { position: relative; z-index: 1; max-width: 1440px; min-height: 700px; margin: 0 auto; padding: 7rem 5vw; display: grid; grid-template-columns: 1.15fr .85fr; gap: 8vw; align-items: center; }
.eyebrow--light { color: #c6d9e7; }
.course-callout h2 { max-width: 740px; font-size: clamp(2.2rem, 4vw, 4.5rem); }
.course-callout > p:nth-of-type(2) { max-width: 620px; margin: 1.8rem 0 2.5rem; color: rgba(255,255,255,.76); font-size: 1.05rem; }
.light-button { border-color: rgba(255,255,255,.65); }
.light-button:hover { color: var(--deep); background: white; }
.subscribe-card { padding: 3.5rem; color: var(--ink); background: rgba(248,250,252,.95); box-shadow: 0 35px 80px rgba(13,27,42,.28); backdrop-filter: blur(14px); }
.subscribe-card h2 { font-size: 2.5rem; }
.subscribe-card > p:nth-of-type(2) { margin: 1rem 0 2.2rem; color: #5e6977; }
.subscribe-card label { display: block; margin-bottom: .6rem; color: var(--blue); font-family: var(--font-en); font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; }
.email-field { display: flex; border-bottom: 1px solid var(--ink); }
.email-field input { min-width: 0; flex: 1; padding: .9rem 0; border: 0; outline: 0; background: transparent; font-family: var(--font-en); font-size: 1rem; }
.email-field button { padding: .9rem .2rem .9rem 1rem; border: 0; background: transparent; cursor: pointer; font-weight: 600; }
.email-field button:disabled { opacity: .55; cursor: wait; }
.form-note { margin: 1rem 0 0; color: #7c8690; font-size: .78rem; }
.form-note.success { color: #245c4d; }.form-note.error { color: #8b3e3e; }

.site-footer { display: grid; grid-template-columns: 1fr auto; gap: 2.5rem; align-items: end; padding: 4rem 5vw 2.5rem; color: #dbe4ec; background: var(--ocean); }
.footer-brand { display: flex; flex-direction: column; width: fit-content; }
.footer-brand strong { font-size: 1.1rem; font-weight: 500; letter-spacing: .08em; }
.footer-brand span { color: var(--glacier); font-family: var(--font-en); font-size: .85rem; letter-spacing: .07em; }
.footer-links { display: flex; gap: 2rem; color: #b7c3ce; font-size: .86rem; }
.site-footer > p { grid-column: 1 / -1; margin: 2rem 0 0; padding-top: 1.4rem; border-top: 1px solid rgba(255,255,255,.12); color: #8293a3; font-family: var(--font-en); font-size: .72rem; }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.reveal.revealed { opacity: 1; transform: translateY(0); }

/* Inner pages */
.inner-body { background: #f6f7f7; }
.inner-header { position: sticky; top: 0; z-index: 20; display: flex; justify-content: space-between; align-items: center; height: 84px; padding: 0 5vw; color: white; background: rgba(13,27,42,.95); backdrop-filter: blur(12px); }
.wordmark { display: flex; flex-direction: column; line-height: 1.15; }
.wordmark span { font-size: 1rem; font-weight: 600; letter-spacing: .08em; }
.wordmark small { margin-top: .2rem; font-family: var(--font-en); font-size: .7rem; letter-spacing: .09em; opacity: .68; }
.inner-nav { display: flex; gap: clamp(1.1rem, 2.4vw, 2.6rem); font-size: .9rem; }
.inner-header .menu-toggle { display: none; }
.inner-nav a { color: #d7e0e9; transition: color .2s; }.inner-nav a:hover { color: white; }
.page-hero { min-height: 520px; display: flex; align-items: end; padding: 7rem 7vw 6rem; color: white; background: linear-gradient(120deg, rgba(13,27,42,.96), rgba(46,66,101,.84)), url('hero-poster.jpg') center/cover; }
.page-hero > div { max-width: 1040px; }
.page-hero .eyebrow { color: #bfccda; }
.page-hero h1 { margin: 0; max-width: 900px; font-size: clamp(2.8rem, 6vw, 6.5rem); font-weight: 400; line-height: 1.12; letter-spacing: -.05em; }
.page-hero p { max-width: 680px; margin: 1.5rem 0 0; color: #d4dce4; font-size: 1.08rem; }
.page-content { max-width: 1240px; margin: 0 auto; padding: 7rem 5vw 9rem; }
.page-lead { display: grid; grid-template-columns: .72fr 1.28fr; gap: 8vw; margin-bottom: 6rem; }
.page-lead h2 { margin: 0; font-family: var(--font-en); font-size: .85rem; letter-spacing: .15em; text-transform: uppercase; color: var(--blue); }
.page-lead p { margin: 0; font-size: clamp(1.5rem, 2.8vw, 2.65rem); line-height: 1.5; letter-spacing: -.025em; }
.content-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.content-card { min-height: 300px; padding: 2.4rem; background: #fff; }
.content-card span { color: var(--blue); font-family: var(--font-en); font-size: .75rem; letter-spacing: .15em; }
.content-card h3 { margin: 3.5rem 0 1rem; font-size: 1.5rem; font-weight: 500; }.content-card p { color: #64707c; }
.profile { display: grid; grid-template-columns: .8fr 1.2fr; min-height: 520px; background: white; box-shadow: var(--shadow); }
.profile-visual { display: flex; align-items: end; padding: 3rem; color: white; background: linear-gradient(155deg, var(--glacier), var(--navy) 55%, var(--deep)); }
.profile-monogram { font-family: var(--font-en); font-size: clamp(5rem, 12vw, 10rem); font-weight: 300; letter-spacing: -.08em; opacity: .66; }
.profile-copy { padding: 4.5rem; }.profile-copy .eyebrow { margin-bottom: 2rem; }.profile-copy h2 { margin: 0; font-size: 3rem; font-weight: 500; }.profile-copy h3 { margin: .4rem 0 2rem; color: var(--blue); font-size: 1rem; font-weight: 500; }.profile-copy p { color: #596777; }.profile-copy ul { margin: 2rem 0 0; padding: 1.4rem 0 0 1.1rem; border-top: 1px solid var(--line); }
.listing { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.listing-item { display: grid; grid-template-columns: 100px 1fr auto; gap: 2rem; align-items: center; padding: 2rem 2.4rem; background: #fff; transition: background .25s; }.listing-item:hover { background: #edf2f5; }.listing-item time { font-family: var(--font-en); color: var(--blue); }.listing-item h3 { margin: 0 0 .35rem; font-size: 1.25rem; font-weight: 500; }.listing-item p { margin: 0; color: #6b7782; }.listing-item b { font-size: 1.2rem; }
.course-modules { display: grid; grid-template-columns: repeat(2,1fr); gap: 1.25rem; }.module { padding: 2.5rem; background: white; border-top: 4px solid var(--blue); }.module span { font-family: var(--font-en); color: var(--blue); }.module h3 { margin: 2.5rem 0 1rem; font-size: 1.5rem; }.module p { color: #667481; }
.contact-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 5rem; }.contact-grid h2 { font-size: clamp(2rem,4vw,4rem); line-height: 1.2; }.contact-details { padding: 3rem; background: white; }.contact-details dt { margin-top: 1.7rem; color: var(--blue); font-family: var(--font-en); font-size: .76rem; letter-spacing: .13em; text-transform: uppercase; }.contact-details dd { margin: .4rem 0 0; font-size: 1.08rem; }
.article-hero { min-height: 620px; display: grid; grid-template-columns: 1fr 1fr; background: white; }.article-cover { min-height: 620px; background-position: center; background-size: cover; }.article-heading { display: flex; flex-direction: column; justify-content: center; padding: 6vw; }.article-heading h1 { margin: 0; font-size: clamp(2.5rem,4.5vw,5rem); font-weight: 500; line-height: 1.2; letter-spacing: -.045em; }.article-body { max-width: 850px; margin: 0 auto; padding: 7rem 5vw 10rem; }.article-body .standfirst { font-size: 1.5rem; line-height: 1.65; color: #405266; }.article-body h2 { margin: 4rem 0 1.2rem; font-size: 2rem; }.article-body p { color: #4f5e6d; font-size: 1.06rem; }.back-link { display: inline-block; margin-top: 3rem; padding-bottom: .25rem; border-bottom: 1px solid; }

@media (max-width: 1050px) {
  .video-hotspots { display: none; }
  .mobile-header { position: fixed; inset: 0 0 auto; z-index: 50; display: flex; align-items: center; justify-content: space-between; height: 76px; padding: 0 5vw; color: var(--ink); background: rgba(242,241,236,.92); backdrop-filter: blur(12px); }
  .menu-toggle { position: relative; z-index: 52; width: 42px; height: 42px; border: 0; background: transparent; cursor: pointer; }.menu-toggle span { position: absolute; left: 8px; width: 26px; height: 1px; background: currentColor; transition: .25s; }.menu-toggle span:nth-child(1){top:13px}.menu-toggle span:nth-child(2){top:21px}.menu-toggle span:nth-child(3){top:29px}.menu-toggle[aria-expanded="true"] span:nth-child(1){top:21px;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){top:21px;transform:rotate(-45deg)}
  .mobile-nav { position: fixed; inset: 0; z-index: 51; display: flex; flex-direction: column; justify-content: center; gap: 1.25rem; padding: 7rem 9vw; color: white; background: rgba(13,27,42,.98); transform: translateY(-100%); transition: transform .4s cubic-bezier(.77,0,.18,1); }.mobile-nav.open { transform: translateY(0); }.mobile-nav a { padding: .6rem 0; border-bottom: 1px solid rgba(255,255,255,.13); font-size: 1.35rem; }
  .menu-open .wordmark { color: white; z-index: 52; }
  .value-grid { grid-template-columns: 1fr; }.value-card { min-height: 350px; }
  .insight-experience { grid-template-columns: 1fr; }.insight-detail { min-height: 460px; }
  .engage-inner { grid-template-columns: 1fr; gap: 4rem; }
  .inner-nav { display: none; }.inner-header .menu-toggle { display: block; }
}

@media (max-width: 720px) {
  .hero { min-height: 100svh; }.hero-media { width: min(100vw, 177.7778svh); }
  .scroll-cue { bottom: 1rem; }
  .value-section, .insights-section { padding: 6rem 5vw; }.section-intro { margin-bottom: 2.5rem; }
  .value-card { padding: 2.2rem 1.6rem; }.value-card a { left: 1.6rem; }
  .section-heading { align-items: start; flex-direction: column; gap: 1rem; }
  .insight-rail { flex-direction: column; }
  .insight-card { flex: none; min-height: 280px; width: 100%; }.insight-card.active { min-height: 350px; }.insight-tag { bottom: 7rem; }.insight-card strong { left: 3.4rem; }
  .insight-detail { min-height: 520px; padding: 3rem 1.6rem; }
  .engage-inner { padding: 6rem 5vw; }.subscribe-card { padding: 2.4rem 1.5rem; }
  .site-footer { grid-template-columns: 1fr; }.footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem 2rem; }
  .page-hero { min-height: 500px; padding: 8rem 6vw 4rem; }.page-lead { grid-template-columns: 1fr; gap: 1.2rem; }.content-grid { grid-template-columns: 1fr; }
  .profile, .article-hero { grid-template-columns: 1fr; }.profile-visual, .article-cover { min-height: 360px; }.profile-copy { padding: 2.5rem 1.5rem; }
  .listing-item { grid-template-columns: 1fr auto; gap: .6rem 1rem; }.listing-item time { grid-column: 1 / -1; }.listing-item p { grid-column: 1 / -1; }
  .course-modules, .contact-grid { grid-template-columns: 1fr; }.contact-grid { gap: 2.5rem; }
  .article-heading { padding: 4rem 6vw; }.article-cover { order: -1; }.article-body { padding-top: 4rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }.reveal { opacity: 1; transform: none; transition: none; }.scroll-cue i::after { animation: none; }
}

/* Reference-led homepage: 素材2 vertical panels + 素材3 hexagonal editorial field */
.section-intro--compact { max-width: 980px; margin-bottom: 2.8rem; }
.section-intro--compact h1 { font-size: clamp(2rem, 3.4vw, 3.8rem); }
.value-grid--reference { gap: 0; background: #2e4265; }
.value-grid--reference .value-card { min-height: 620px; padding: 3rem 2.6rem; background: #2e4265; isolation: isolate; }
.value-grid--reference .value-card > img { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .75s cubic-bezier(.2,.7,.2,1); }
.value-grid--reference .value-shade { position: absolute; z-index: -2; inset: 0; background: linear-gradient(180deg, rgba(13,27,42,.24) 0%, rgba(13,27,42,.54) 52%, rgba(13,27,42,.91) 100%); }
.value-grid--reference .value-card--1 .value-shade { background: linear-gradient(180deg, rgba(46,66,101,.34), rgba(13,27,42,.93)); }
.value-grid--reference .value-card--2 .value-shade { background: linear-gradient(180deg, rgba(20,61,74,.25), rgba(20,61,74,.9)); }
.value-grid--reference .value-card--3 .value-shade { background: linear-gradient(180deg, rgba(95,128,153,.18), rgba(46,66,101,.92)); }
.value-grid--reference .value-card:hover { transform: translateY(-8px); }
.value-grid--reference .value-card:hover > img { transform: scale(1.045); }
.value-grid--reference .value-card::after { display: none; }
.value-grid--reference .card-no { margin: 0 0 8.2rem; letter-spacing: .12em; }
.value-grid--reference .value-card h2 { max-width: 260px; margin: 0; font-size: clamp(1.8rem, 2.25vw, 2.5rem); line-height: 1.25; }
.value-grid--reference .value-card > i { display: block; width: 64px; height: 1px; margin: 1.8rem 0; background: rgba(255,255,255,.65); }
.value-grid--reference .value-card strong { margin-bottom: .8rem; font-size: 1.1rem; }
.value-grid--reference .value-card p { font-size: .98rem; }
.value-grid--reference .value-card a { left: 2.6rem; right: 2.6rem; bottom: 2.6rem; justify-content: space-between; padding-top: .85rem; border-top: 1px solid rgba(255,255,255,.35); font-family: var(--font-zh); font-size: .82rem; letter-spacing: .08em; }

.insights-section--reference { max-width: none; padding: 0; background: linear-gradient(180deg, #f7f7f5 0%, #f2f1ec 72%, #e8edf1 100%); overflow: hidden; }
.insight-reference-grid { position: relative; max-width: 1320px; min-height: 900px; margin: 0 auto; padding: 8rem 5vw 6rem; display: grid; grid-template-columns: 1.05fr .95fr; gap: 7vw; align-items: center; }
.insight-reference-grid::after { content: ""; position: absolute; z-index: 0; width: 700px; height: 700px; right: -350px; bottom: -330px; border: 1px solid rgba(95,128,153,.13); border-radius: 48% 52% 46% 54%; box-shadow: inset 0 0 0 55px rgba(143,163,188,.035), inset 0 0 0 110px rgba(143,163,188,.025); }
.hex-column { position: relative; z-index: 1; min-height: 730px; }
.vertical-word { position: absolute; z-index: 4; left: -1.6rem; top: 22rem; color: #6d8295; font-family: var(--font-en); font-size: .75rem; font-weight: 600; letter-spacing: .35em; writing-mode: vertical-rl; transform: rotate(180deg); }
.hex-insight { position: absolute; appearance: none; width: min(380px, 76%); min-width: 0; min-height: 0; height: 430px; padding: 0; border: 0; background: #2e4265; clip-path: polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%); cursor: pointer; filter: saturate(.72) brightness(.88); transition: transform .42s ease, filter .35s ease; overflow: hidden; }
.hex-insight:first-of-type { top: 0; left: 1.4rem; }
.hex-insight:last-of-type { right: .5rem; bottom: 0; }
.hex-insight img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hex-insight::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,27,42,.02), rgba(13,27,42,.83)); transition: background .3s; }
.hex-insight:hover, .hex-insight:focus-visible, .hex-insight.active { z-index: 3; filter: saturate(1) brightness(1); transform: translateY(-8px); outline: none; }
.hex-insight:focus-visible { box-shadow: 0 0 0 4px #d4a853; }
.hex-overlay { position: absolute; z-index: 2; inset: auto 16% 15%; display: block; color: white; text-align: left; }
.hex-overlay small { display: block; margin-bottom: .8rem; font-family: var(--font-en); font-size: .68rem; letter-spacing: .13em; opacity: .82; }
.hex-overlay strong { display: block; position: static; opacity: 0; transform: translateY(10px); font-size: 1.18rem; font-weight: 500; line-height: 1.55; transition: opacity .3s, transform .3s; }
.hex-insight:hover .hex-overlay strong, .hex-insight:focus-visible .hex-overlay strong, .hex-insight.active .hex-overlay strong { opacity: 1; transform: none; }
.trident-detail { position: relative; z-index: 2; min-height: 620px; padding: 1rem 1rem 1rem 0; background: transparent; }
.section-heading--inside { display: block; margin-bottom: 3.4rem; }
.section-heading--inside h2 { font-size: clamp(1.45rem, 2.2vw, 2.35rem); }
.trident-detail .detail-meta { margin-bottom: 1.5rem; }
.trident-detail h3 { max-width: 520px; font-size: clamp(1.2rem, 1.55vw, 1.65rem); line-height: 1.5; }
.trident-detail > p:nth-of-type(2) { max-width: 560px; }
.trident-detail .detail-count { margin-top: 4rem; }
.insight-foot { max-width: 1180px; margin: 0 auto; padding: 2rem 5vw 4rem; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid rgba(23,37,54,.2); color: #65798a; font-family: var(--font-en); font-size: .75rem; letter-spacing: .16em; }
.insight-foot a { color: var(--ink); font-family: var(--font-zh); font-size: .9rem; letter-spacing: .04em; }

.engage-section--reference { min-height: 880px; margin-top: 0; background: linear-gradient(180deg, rgba(213,225,236,.92) 0%, rgba(46,66,101,.56) 24%, rgba(13,27,42,.94) 82%), url('hero-poster.jpg') center/cover no-repeat; }
.engage-section--reference::before { background: linear-gradient(180deg, rgba(242,241,236,.7), transparent 25%), radial-gradient(circle at 50% 18%, rgba(255,255,255,.15), transparent 36%); }
.engage-inner--reference { min-height: 880px; padding-top: 12rem; display: flex; flex-direction: column; justify-content: center; gap: 5rem; }
.engage-title { max-width: 900px; margin: 0 auto; text-align: center; }
.engage-title h2 { font-size: clamp(2.7rem, 5vw, 5.7rem); font-weight: 400; letter-spacing: .08em; }
.engage-title > p:last-child { margin: 1.5rem auto 0; color: rgba(255,255,255,.78); }
.engage-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid rgba(255,255,255,.3); background: rgba(13,27,42,.38); backdrop-filter: blur(16px); }
.engage-actions article { min-height: 310px; padding: 2.6rem 3rem; color: white; background: transparent; box-shadow: none; }
.engage-actions article + article { border-left: 1px solid rgba(255,255,255,.25); }
.engage-actions article > span { color: #bfceda; font-family: var(--font-en); font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; }
.engage-actions h3 { margin: 1.4rem 0 .8rem; font-size: 1.7rem; font-weight: 500; }
.engage-actions article > p { margin: 0 0 2rem; color: rgba(255,255,255,.7); }
.engage-actions .subscribe-card label { color: #bfceda; }
.engage-actions .email-field { border-color: rgba(255,255,255,.7); }
.engage-actions .email-field input { color: white; }
.engage-actions .email-field input::placeholder { color: rgba(255,255,255,.55); }
.engage-actions .email-field button { color: white; }
.engage-actions .form-note { color: rgba(255,255,255,.55); }

@media (max-width: 1050px) {
  .value-grid--reference .value-card { min-height: 520px; }
  .value-grid--reference .card-no { margin-bottom: 5rem; }
  .insight-reference-grid { grid-template-columns: 1fr; gap: 4rem; }
  .hex-column { width: min(680px,100%); margin: 0 auto; }
  .trident-detail { min-height: 0; padding: 0 5vw 3rem; }
}

@media (max-width: 700px) {
  .value-grid--reference .value-card { min-height: 560px; }
  .value-grid--reference .card-no { margin-bottom: 8rem; }
  .insight-reference-grid { min-height: auto; padding-top: 6rem; }
  .hex-column { min-height: 650px; }
  .hex-insight { width: 82%; height: 360px; }
  .hex-insight:first-of-type { left: 0; }
  .hex-insight:last-of-type { right: 0; }
  .vertical-word { left: -.8rem; top: 19rem; }
  .hex-overlay { inset: auto 15% 16%; }
  .engage-inner--reference { padding: 10rem 5vw 6rem; }
  .engage-title h2 { letter-spacing: .03em; }
  .engage-actions { grid-template-columns: 1fr; }
  .engage-actions article { min-height: 0; padding: 2.3rem 1.7rem; }
  .engage-actions article + article { border-left: 0; border-top: 1px solid rgba(255,255,255,.25); }
  .insight-foot { align-items: flex-start; gap: 1rem; flex-direction: column; }
}

/* Refined hero, value panels and regular hexagons */
.hero { height: 100svh; min-height: 620px; background: #0d1b2a; isolation: isolate; }
.hero::before { content: ""; position: absolute; z-index: 0; inset: -5%; background: linear-gradient(90deg, rgba(13,27,42,.16), rgba(13,27,42,0) 28%, rgba(13,27,42,0) 72%, rgba(13,27,42,.16)), url('hero-poster.jpg') center/cover no-repeat; filter: blur(26px) saturate(.82); transform: scale(1.09); }
.hero::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(13,27,42,.32), transparent 18%, transparent 82%, rgba(13,27,42,.32)); }
.hero-media { z-index: 2; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; transform: none; }
.hero video { width: 100%; height: 100%; object-fit: contain; }
.scroll-cue { z-index: 4; }
.video-hotspots { position: absolute; inset: 0; display: block; height: auto; pointer-events: none; }
.video-hotspots a { position: absolute; display: block; pointer-events: auto; border: 0; background: transparent; transition: background-color .2s ease; }
.video-hotspots a::after { content: ""; position: absolute; left: 8%; right: 8%; bottom: 4px; height: 2px; background: transparent; transition: background-color .2s ease; }
.video-hotspots a:hover, .video-hotspots a:focus-visible { border: 0; background: rgba(255,255,255,.2); outline: none; }
.video-hotspots a:hover::after, .video-hotspots a:focus-visible::after { background: #2e4265; }

.value-section { padding-top: 5rem; }
.value-grid--reference .value-card { min-height: 560px; color: var(--ink); border-right: 1px solid rgba(46,66,101,.16); box-shadow: none; }
.value-grid--reference .value-card:last-child { border-right: 0; }
.value-grid--reference .value-card > img { filter: saturate(.88) contrast(.94); }
.value-grid--reference .value-shade,
.value-grid--reference .value-card--1 .value-shade { background: linear-gradient(180deg, rgba(247,250,252,.2) 0%, rgba(238,244,248,.66) 56%, rgba(213,225,236,.92) 100%); }
.value-grid--reference .value-card--2 .value-shade { background: linear-gradient(180deg, rgba(247,250,252,.16) 0%, rgba(226,235,241,.62) 56%, rgba(168,181,194,.9) 100%); }
.value-grid--reference .value-card--3 .value-shade { background: linear-gradient(180deg, rgba(247,250,252,.17) 0%, rgba(235,239,238,.64) 56%, rgba(216,198,168,.87) 100%); }
.value-grid--reference .card-no { margin-bottom: 7rem; color: #526e83; font-size: .9rem; font-weight: 600; opacity: 1; }
.value-grid--reference .value-card h2 { color: #2e4265; }
.value-grid--reference .value-card > i { width: 76px; background: rgba(46,66,101,.5); }
.value-grid--reference .value-card strong { margin-bottom: 1rem; color: #143d4a; font-size: clamp(1.35rem, 1.55vw, 1.65rem); font-weight: 600; }
.value-grid--reference .value-card p { color: #2f465a; font-size: clamp(1.08rem, 1.25vw, 1.25rem); font-weight: 400; line-height: 1.8; opacity: 1; }

.hex-column { min-height: 720px; }
.hex-insight { width: min(430px, 82%); height: auto; min-height: 0; aspect-ratio: 1.1547 / 1; clip-path: polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%); filter: brightness(.62) saturate(.48) contrast(.98); opacity: .78; background: #d5e1ec; }
.hex-insight:first-of-type { top: 22px; left: 0; }
.hex-insight:last-of-type { right: 0; bottom: 22px; }
.hex-insight img { object-position: center; }
.hex-insight::after { background: linear-gradient(180deg, rgba(12,35,50,.32), rgba(9,28,42,.68)); }
.hex-insight:hover, .hex-insight:focus-visible, .hex-insight.active { filter: brightness(1.08) saturate(1.08) contrast(1.06); opacity: 1; transform: translateY(-6px) scale(1.018); }
.hex-insight:hover::after, .hex-insight:focus-visible::after, .hex-insight.active::after { background: linear-gradient(180deg, rgba(12,35,50,.08), rgba(9,28,42,.38)); }
.hex-overlay { inset: 12%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.hex-overlay small { margin-bottom: .75rem; font-size: .74rem; }
.hex-overlay strong { opacity: 1; transform: none; font-size: clamp(1rem, 1.25vw, 1.2rem); font-weight: 600; line-height: 1.55; text-shadow: 0 2px 18px rgba(13,27,42,.55); }

.engage-title h2 { font-size: clamp(2rem, 3.4vw, 3.8rem); font-weight: 400; letter-spacing: .12em; }
.form-note a { color: inherit; border-bottom: 1px solid currentColor; }

.site-footer > p { text-align: center; line-height: 2; }
.site-footer > p span { color: #b7c7d4; font-family: var(--font-zh); font-size: .84rem; letter-spacing: .13em; }
.thank-you { position: relative; min-height: 100svh; display: grid; place-items: center; padding: 5vw; background: linear-gradient(120deg, rgba(13,27,42,.92), rgba(46,66,101,.72)), url('hero-poster.jpg') center/cover no-repeat; overflow: hidden; }
.thank-you::before { content: ""; position: absolute; width: 600px; height: 600px; right: -240px; top: -290px; border: 1px solid rgba(255,255,255,.14); border-radius: 48% 52% 61% 39%; box-shadow: inset 0 0 0 70px rgba(255,255,255,.025), inset 0 0 0 140px rgba(255,255,255,.018); }
.thank-you > div { position: relative; z-index: 1; width: min(760px, 100%); padding: clamp(3rem, 7vw, 6.5rem); color: white; text-align: center; border: 1px solid rgba(255,255,255,.28); background: rgba(13,27,42,.45); box-shadow: 0 32px 90px rgba(7,18,29,.34); backdrop-filter: blur(18px); }
.thank-you .eyebrow { color: #c8d8e5; }
.thank-you h1 { margin: 0 0 .5rem; font-size: clamp(2.5rem,5vw,4.8rem); font-weight: 400; letter-spacing: .08em; }
.thank-you .completion-en { margin: 0 0 1.6rem; color: #d7e3ec; font-family: var(--font-en); font-size: 1rem; letter-spacing: .2em; text-transform: uppercase; }
.thank-you p:not(.eyebrow):not(.completion-en) { max-width: 520px; margin: 0 auto 2.5rem; color: rgba(255,255,255,.76); }
.thank-you .outline-button { margin: 0 auto; color: white; border-color: rgba(255,255,255,.66); }
.thank-you .outline-button:hover { color: var(--deep); background: white; }

@media (max-width: 1050px) {
  .video-hotspots { display: none; }
  .value-grid--reference .value-card { min-height: 500px; }
  .value-grid--reference .card-no { margin-bottom: 4.5rem; }
}

@media (max-width: 700px) {
  .hero { height: 100svh; min-height: 620px; }
  .hero-media { width: 100%; height: 100%; }
  .value-section { padding-top: 3rem; }
  .value-grid--reference .value-card { min-height: 500px; }
  .value-grid--reference .card-no { margin-bottom: 6rem; }
  .hex-column { min-height: 600px; }
  .hex-insight { width: 88%; aspect-ratio: 1.1547 / 1; }
  .hex-insight:first-of-type { top: 0; }
  .hex-insight:last-of-type { bottom: 0; }
  .hex-overlay strong { font-size: 1rem; }
  .engage-title h2 { font-size: 2.25rem; }
  .site-footer > p span { letter-spacing: .07em; }
}

/* Shared paper field with three translucent glass panels */
.value-section {
  max-width: none;
  padding-left: 5vw;
  padding-right: 5vw;
  background:
    radial-gradient(circle at 18% 28%, rgba(151,178,198,.16), transparent 31%),
    radial-gradient(circle at 78% 72%, rgba(188,201,211,.14), transparent 34%),
    linear-gradient(rgba(247,246,242,.74), rgba(247,246,242,.74)),
    url('material-7-paper.jpg') center top / 100% auto no-repeat,
    #f4f3ef;
  border: 0;
}
.value-grid--reference {
  position: relative;
  width: min(1200px, 100%);
  margin: 0 auto;
  gap: 18px;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.value-grid--reference .value-card {
  min-height: 520px;
  color: var(--ink);
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(255,255,255,.46), rgba(212,225,234,.22));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), inset 0 -1px 0 rgba(89,112,132,.06), 0 20px 52px rgba(34,59,83,.1);
  backdrop-filter: blur(28px) saturate(.72);
  -webkit-backdrop-filter: blur(28px) saturate(.72);
}
.value-grid--reference .value-card:last-child { border-right: 1px solid rgba(255,255,255,.72); }
.value-grid--reference .value-card:hover { transform: translateY(-4px); background: linear-gradient(145deg, rgba(255,255,255,.54), rgba(211,224,233,.28)); }
.value-grid--reference .card-no { color: #5f7488; }
.value-grid--reference .value-card h2 { color: #2e4265; }
.value-grid--reference .value-card > i { background: rgba(46,66,101,.44); }
.value-grid--reference .value-card strong { color: #2e4265; }
.value-grid--reference .value-card p { color: #40566b; }

/* Shared About and Team page masthead */
.inner-body[data-page="about"], .inner-body[data-page="team"], .inner-body[data-page="publications"] { background: #eef3f6; }
.inner-body[data-page="about"] main, .inner-body[data-page="team"] main, .inner-body[data-page="publications"] main { background: #eef3f6; }
.inner-header--about {
  height: 94px;
  padding: 0 5vw;
  color: white;
  border-bottom: 1px solid rgba(255,255,255,.1);
  background: #0e1b2b;
  box-shadow: 0 8px 26px rgba(13,27,42,.16);
}
.inner-wordmark { display: inline-flex; align-items: center; width: fit-content; }
.brand-lockup-visual {
  position: relative;
  display: block;
  width: 184px;
  height: 60px;
  background: url('mewe-brand-lockup.jpg') center / 184px 60px no-repeat;
  overflow: hidden;
}
.brand-lockup-visual::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0 auto 0 0;
  width: 61px;
  background: #0e1b2b;
}
.brand-lockup-visual img {
  position: absolute;
  z-index: 2;
  left: -23px;
  top: -7px;
  width: 92px;
  height: 92px;
  object-fit: contain;
}
.brand-copy { display: flex; flex-direction: column; line-height: 1.12; }
.brand-copy > span { color: white; font-size: 1rem; font-weight: 650; letter-spacing: .08em; }
.brand-copy small { margin-top: .28rem; color: #9eb1c1; font-family: var(--font-en); font-size: .7rem; font-weight: 500; letter-spacing: .1em; }
.inner-header--about .inner-nav { gap: clamp(1.25rem, 2.25vw, 2.65rem); font-size: 1rem; }
.inner-header--about .inner-nav a { color: #dbe4ec; }
.inner-header--about .inner-nav a:hover { color: white; }
.inner-body[data-page="about"] .page-hero, .inner-body[data-page="team"] .page-hero, .inner-body[data-page="publications"] .page-hero {
  position: relative;
  min-height: 430px;
  align-items: center;
  padding: 5rem 7vw;
  color: white;
  background:
    linear-gradient(100deg, rgba(7,20,35,.98) 0%, rgba(12,34,53,.96) 56%, rgba(18,49,70,.9) 100%),
    url('hero-poster.jpg') center 46% / cover no-repeat;
  overflow: hidden;
}
.inner-body[data-page="about"] .page-hero::before, .inner-body[data-page="team"] .page-hero::before, .inner-body[data-page="publications"] .page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  border-top: 2px solid rgba(197,163,103,.62);
  background: radial-gradient(circle at 80% 18%, rgba(139,180,205,.14), transparent 34%);
  pointer-events: none;
}
.inner-body[data-page="about"] .page-hero::after, .inner-body[data-page="team"] .page-hero::after, .inner-body[data-page="publications"] .page-hero::after { display: none; }
.inner-body[data-page="about"] .page-hero > div, .inner-body[data-page="team"] .page-hero > div, .inner-body[data-page="publications"] .page-hero > div { position: relative; z-index: 1; width: 100%; max-width: 1180px; }
.inner-body[data-page="about"] .page-hero .eyebrow, .inner-body[data-page="team"] .page-hero .eyebrow, .inner-body[data-page="publications"] .page-hero .eyebrow { color: #c7a667; font-size: .8rem; font-weight: 650; text-transform: none; }
.inner-body[data-page="about"] .page-hero h1, .inner-body[data-page="team"] .page-hero h1, .inner-body[data-page="publications"] .page-hero h1 {
  max-width: 600px;
  color: #f7f5ef;
  font-size: clamp(1.65rem, 3vw, 3.25rem);
  font-weight: 500;
  letter-spacing: -.035em;
}
.inner-body[data-page="about"] .page-hero p:last-child, .inner-body[data-page="team"] .page-hero p:last-child, .inner-body[data-page="publications"] .page-hero p:last-child {
  max-width: 900px;
  margin-top: 2rem;
  margin-left: 0;
  padding-left: 0;
  color: #dce4ea;
  font-size: clamp(.98rem, 1.15vw, 1.12rem);
  font-weight: 400;
  line-height: 1.85;
  text-align: left;
}
.about-page-content {
  position: relative;
  max-width: none;
  padding: 0;
  border: 0;
  background: var(--ocean);
  overflow: hidden;
}
.about-film { position: relative; width: 100%; margin: 0; background: var(--ocean); overflow: hidden; }
.about-film::before, .about-film::after { display: none; }
.about-film-stage {
  position: relative;
  width: 100%;
  height: calc(100svh - 94px);
  min-height: 720px;
  background: #0d1b2a url('about-statement-bg.webp') center / cover no-repeat;
  overflow: hidden;
}
.about-film-stage::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgba(5,18,31,.28) 0%, rgba(5,18,31,.12) 31%, transparent 58%);
  pointer-events: none;
}
.about-statement-copy {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: clamp(3rem, 6.5vw, 7rem);
  display: flex;
  flex-direction: column;
  width: min(48vw, 760px);
  color: #f6f7f7;
  transform: translateY(-50%);
}
.about-statement-kicker,
.about-statement-copy h2,
.about-statement-text,
.about-statement-rule,
.about-statement-signature { opacity: 0; transform: translateY(16px); animation: about-statement-reveal .85s cubic-bezier(.2,.7,.25,1) forwards; }
.about-statement-kicker { margin: 0 0 .7rem; font-family: var(--font-en); font-size: clamp(1.15rem, 1.55vw, 1.65rem); font-weight: 400; letter-spacing: .09em; animation-delay: .25s; }
.about-statement-copy h2 { margin: 0; color: #fff; font-size: clamp(2rem, 2.35vw, 2.55rem); font-weight: 400; line-height: 1.28; letter-spacing: .08em; animation-delay: 1s; }
.about-statement-text { max-width: 650px; margin: 0; color: rgba(244,247,249,.88); font-size: clamp(.92rem, 1.02vw, 1.06rem); font-weight: 300; line-height: 1.78; letter-spacing: .05em; }
.about-statement-text--primary { margin-top: clamp(1.5rem, 2.3vw, 2.4rem); animation-delay: 1.8s; }
.about-statement-rule { display: block; width: 120px; height: 1px; margin: clamp(1.15rem, 1.7vw, 1.65rem) 0; background: rgba(255,255,255,.62); transform-origin: left; animation-delay: 2.65s; }
.about-statement-text--secondary { animation-delay: 3.3s; }
.about-statement-signature { display: flex; align-items: center; gap: 1.5rem; margin-top: clamp(2rem, 3.4vw, 3.6rem); animation-delay: 4.15s; }
.about-statement-signature i { width: 2px; height: 48px; background: rgba(255,255,255,.9); }
.about-statement-signature span { font-family: var(--font-en); font-size: .75rem; font-weight: 500; line-height: 1.85; letter-spacing: .28em; }
@keyframes about-statement-reveal {
  to { opacity: 1; transform: translateY(0); }
}
.about-film-footer {
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  color: #a38b63;
  background: #f2f1ed;
  font-family: var(--font-en);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .26em;
}
.about-film-footer i { width: 34px; height: 1px; background: rgba(163,139,99,.48); }

/* Team directory and expandable member profiles */
.inner-body[data-page="team"] .page-content {
  max-width: none;
  padding: clamp(5rem, 8vw, 8rem) 3vw clamp(7rem, 10vw, 10rem);
  background:
    radial-gradient(circle at 12% 0%, rgba(143,163,188,.12), transparent 30%),
    linear-gradient(180deg, #f8f9f8 0%, #edf2f5 100%);
}
.team-directory { width: min(1420px, 100%); margin: 0 auto; }
.team-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border-top: 1px solid rgba(28,47,66,.58); }
.team-card {
  appearance: none;
  position: relative;
  display: grid;
  grid-template-columns: 14px 1fr auto;
  align-items: stretch;
  min-height: 142px;
  padding: 0;
  color: #253b54;
  text-align: left;
  border: 0;
  border-right: 1px solid rgba(28,47,66,.25);
  border-bottom: 1px solid rgba(28,47,66,.58);
  background: rgba(255,255,255,.72);
  box-shadow: none;
  cursor: pointer;
  transition: color .25s ease, background .25s ease;
}
.team-card:nth-of-type(even) { border-right: 0; }
.team-thumb {
  display: block;
  align-self: stretch;
  color: transparent;
  background: linear-gradient(90deg, #c6a363 0 5px, transparent 5px);
  font-size: 0;
}
.team-card-copy { align-self: center; padding: 1.2rem 1.4rem; }
.team-card-copy small { display: block; color: #617487; font-size: .9rem; font-weight: 500; letter-spacing: .05em; }
.team-card-copy strong { display: inline-block; margin-top: .3rem; font-family: var(--font-en); font-size: 1.65rem; font-weight: 500; }
.team-card-copy em { display: inline-block; margin-left: .75rem; color: #687c8f; font-family: var(--font-en); font-size: .78rem; font-style: normal; letter-spacing: .08em; }
.team-plus { align-self: center; padding: 0 1.35rem; color: #3c5268; font-family: var(--font-en); font-size: 1.55rem; font-weight: 300; }
.team-card:hover, .team-card:focus-visible, .team-card.selected { color: white; outline: none; background: #17344f; }
.team-card:hover .team-card-copy small, .team-card:hover .team-card-copy em, .team-card:focus-visible .team-card-copy small, .team-card:focus-visible .team-card-copy em, .team-card.selected .team-card-copy small, .team-card.selected .team-card-copy em { color: #cbd6df; }
.team-card:hover .team-plus, .team-card:focus-visible .team-plus, .team-card.selected .team-plus { color: #c8a568; }
.team-profile-panel {
  position: relative;
  grid-column: 1 / -1;
  display: block;
  min-height: 0;
  margin: 0;
  border: 0;
  border-bottom: 1px solid rgba(28,47,66,.58);
  background:
    radial-gradient(circle at 92% 12%, rgba(129,157,180,.1), transparent 32%),
    rgba(251,251,249,.96);
  box-shadow: inset 5px 0 0 #c6a363, inset 0 1px 0 rgba(255,255,255,.9);
  scroll-margin-top: 115px;
}
.team-profile-panel[hidden] { display: none; }
.team-profile-visual { display: none; }
.team-profile-visual::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,.13), transparent 42%); }
.team-profile-visual > span { position: absolute; top: 2rem; left: 2.2rem; font-family: var(--font-en); font-size: .75rem; letter-spacing: .18em; opacity: .76; }
.team-profile-visual > strong { position: relative; font-family: var(--font-en); font-size: clamp(5rem, 9vw, 9rem); font-weight: 300; letter-spacing: -.07em; line-height: .9; opacity: .72; }
.team-profile-copy { position: relative; max-width: 1120px; margin: 0 auto; padding: clamp(4rem, 6vw, 6rem); }
.team-back { position: absolute; top: 2rem; right: 2rem; padding: .55rem 0; color: #567086; border: 0; border-bottom: 1px solid #8da0b0; background: transparent; font-family: var(--font-en); font-size: .76rem; font-weight: 600; letter-spacing: .12em; cursor: pointer; }
.team-profile-copy .eyebrow { margin: 0 0 2.2rem; }
.team-profile-copy h2 { margin: 0; color: #253f5e; font-size: clamp(2.5rem, 4vw, 4.2rem); font-weight: 500; line-height: 1.1; }
.team-profile-english { margin: .45rem 0 0; color: #63798d; font-family: var(--font-en); font-size: 1.45rem; }
.team-profile-copy h3 { margin: 1.2rem 0 2rem; padding-bottom: 1.5rem; color: #2e4265; border-bottom: 1px solid rgba(46,66,101,.28); font-size: 1.35rem; font-weight: 600; }
.team-profile-copy ul { margin: 0; padding-left: 1.25rem; color: #4d5e6e; }
.team-profile-copy li { margin: .7rem 0; font-size: 1rem; line-height: 1.75; }

@media (min-width: 1051px) {
  .inner-header .mobile-nav { display: none; }
}

@media (max-width: 720px) {
  .inner-header--about { height: 76px; padding: 0 5vw; }
  .brand-lockup-visual { width: 150px; height: 49px; background-size: 150px 49px; }
  .brand-lockup-visual::before { width: 50px; }
  .brand-lockup-visual img { left: -19px; top: -6px; width: 76px; height: 76px; }
  .inner-body[data-page="about"] .page-hero, .inner-body[data-page="team"] .page-hero, .inner-body[data-page="publications"] .page-hero { min-height: 390px; padding: 4.5rem 6vw 4rem; }
  .inner-body[data-page="about"] .page-hero h1, .inner-body[data-page="team"] .page-hero h1, .inner-body[data-page="publications"] .page-hero h1 { font-size: 1.85rem; }
  .inner-body[data-page="about"] .page-hero p:last-child, .inner-body[data-page="team"] .page-hero p:last-child, .inner-body[data-page="publications"] .page-hero p:last-child { font-size: 1rem; line-height: 1.85; }
  .about-film-stage { height: auto; min-height: max(calc(100svh - 76px), 880px); background-position: 64% center; }
  .about-film-stage::after { background: linear-gradient(90deg, rgba(5,18,31,.74) 0%, rgba(5,18,31,.52) 62%, rgba(5,18,31,.16) 100%); }
  .about-statement-copy { top: 50%; left: 6vw; width: 88vw; }
  .about-statement-kicker { margin-bottom: .55rem; font-size: 1rem; }
  .about-statement-copy h2 { max-width: 92%; font-size: clamp(1.65rem, 7.2vw, 2.15rem); line-height: 1.38; }
  .about-statement-text { max-width: 94%; font-size: .9rem; line-height: 1.72; letter-spacing: .025em; }
  .about-statement-text--primary { margin-top: 1.4rem; }
  .about-statement-rule { width: 88px; margin: 1rem 0; }
  .about-statement-signature { margin-top: 1.6rem; }
  .about-statement-signature i { height: 40px; }
  .about-statement-signature span { font-size: .66rem; }
  .about-film-footer { min-height: 70px; }
  .team-grid { grid-template-columns: 1fr; }
  .team-card { grid-template-columns: 10px 1fr auto; min-height: 116px; border-right: 0; }
  .team-card-copy { padding: .9rem 1rem; }
  .team-card-copy small { font-size: .8rem; }
  .team-card-copy strong { font-size: 1.32rem; }
  .team-card-copy em { display: block; margin: .15rem 0 0; font-size: .7rem; }
  .team-profile-panel { grid-template-columns: 1fr; }
  .team-profile-visual { min-height: 240px; margin: 1.5rem; }
  .team-profile-copy { padding: 5rem 1.5rem 3rem; }
  .team-back { top: 1.2rem; right: 1.5rem; }
}

/* Editorial publication browser */
.inner-body[data-page="publications"] .page-content {
  max-width: none;
  padding: 0;
  background: linear-gradient(180deg, #f7f8f7 0%, #eaf0f4 100%);
}
.publication-browser {
  width: min(1580px, 100%);
  margin: 0 auto;
  padding: clamp(5rem, 8vw, 8rem) 4vw clamp(6rem, 9vw, 9rem);
}
.publication-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 3rem;
  margin-bottom: 2.6rem;
}
.publication-toolbar .eyebrow { margin-bottom: .6rem; color: #9a7b43; }
.publication-toolbar h2 { margin: 0; color: #213b56; font-size: clamp(2.1rem, 3.5vw, 3.8rem); font-weight: 500; letter-spacing: -.04em; }
.publication-filters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem 1.6rem; border-bottom: 1px solid rgba(33,59,86,.24); }
.publication-filters button {
  position: relative;
  appearance: none;
  padding: .8rem 0 .9rem;
  color: #5d6f7f;
  border: 0;
  background: transparent;
  font-size: .9rem;
  cursor: pointer;
  transition: color .25s ease;
}
.publication-filters button::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: #bd9450; transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.publication-filters button:hover, .publication-filters button:focus-visible, .publication-filters button.active { color: #1c344c; outline: none; }
.publication-filters button.active::after { transform: scaleX(1); }
.publication-deck {
  display: flex;
  min-height: 620px;
  color: white;
  background: #11283b;
  box-shadow: 0 35px 85px rgba(22,45,65,.2);
  perspective: 1600px;
  overflow: hidden;
  scroll-behavior: smooth;
}
.publication-card {
  position: relative;
  flex: 0 0 33.333333%;
  min-width: 0;
  min-height: 620px;
  color: white;
  border-right: 1px solid rgba(255,255,255,.26);
  overflow: hidden;
  transform-origin: left center;
  transition: flex-basis .55s cubic-bezier(.2,.75,.25,1), transform .28s ease, opacity .22s ease;
}
.publication-card:last-child { border-right: 0; }
.publication-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.84) contrast(.98); transition: transform .75s cubic-bezier(.2,.75,.25,1), filter .4s ease; }
.publication-card-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,29,44,.08) 18%, rgba(11,29,44,.35) 52%, rgba(8,24,38,.94) 100%); transition: background .4s ease; }
.publication-card-copy { position: absolute; z-index: 2; right: clamp(1.3rem,2vw,2.2rem); bottom: clamp(1.6rem,3vw,3rem); left: clamp(1.3rem,2vw,2.2rem); }
.publication-card-copy small { display: block; margin-bottom: 1rem; color: #dcc18f; font-family: var(--font-en); font-size: .72rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.publication-card-copy h3 { margin: 0; font-size: clamp(1.05rem,1.3vw,1.35rem); font-weight: 500; line-height: 1.48; }
.publication-card-copy p { max-width: 560px; max-height: 0; margin: 0; color: rgba(255,255,255,.88); font-size: .88rem; line-height: 1.72; opacity: 0; overflow: hidden; transform: translateY(10px); transition: max-height .45s ease, margin .35s ease, opacity .3s ease, transform .35s ease; }
.publication-read { display: block; max-height: 0; margin-top: 0; color: #e0c690; font-size: .82rem; font-weight: 600; letter-spacing: .08em; opacity: 0; overflow: hidden; transition: max-height .35s ease, margin .35s ease, opacity .3s ease; }
.publication-card:hover, .publication-card:focus-visible, .publication-card.current { flex-basis: 33.333333%; z-index: 2; outline: none; transform: translateY(-4px) scale(1.012); }
.publication-card:hover img, .publication-card:focus-visible img, .publication-card.current img { filter: blur(5px) saturate(.45) brightness(.68); transform: scale(1.08); }
.publication-card:hover .publication-card-shade, .publication-card:focus-visible .publication-card-shade, .publication-card.current .publication-card-shade { background: linear-gradient(180deg, rgba(10,28,43,.14) 8%, rgba(10,28,43,.38) 40%, rgba(7,23,37,.97) 100%); }
.publication-card:hover .publication-card-copy p, .publication-card:focus-visible .publication-card-copy p, .publication-card.current .publication-card-copy p { max-height: 10rem; margin-top: 1rem; opacity: 1; transform: none; }
.publication-card:hover .publication-read, .publication-card:focus-visible .publication-read, .publication-card.current .publication-read { max-height: 2rem; margin-top: 1.1rem; opacity: 1; }
.publication-deck.is-flipping .publication-card { opacity: .22; transform: rotateY(-5deg) translateX(-16px); }
.publication-deck.single .publication-card { flex: 1 1 100%; }
.publication-deck.few .publication-card { flex: 1 1 50%; }
.publication-deck.single .publication-card-copy { max-width: 680px; }
.publication-navigation { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; margin-top: 1.7rem; color: #536b7f; font-family: var(--font-en); }
.publication-navigation button { appearance: none; width: 46px; height: 46px; color: #213b56; border: 1px solid rgba(33,59,86,.34); border-radius: 50%; background: rgba(255,255,255,.5); cursor: pointer; transition: color .2s, background .2s, border-color .2s; }
.publication-navigation button:hover, .publication-navigation button:focus-visible { color: white; border-color: #213b56; background: #213b56; outline: none; }
.publication-navigation p { display: flex; align-items: center; gap: .8rem; margin: 0; font-size: .78rem; letter-spacing: .12em; }
.publication-navigation i { display: block; width: 64px; height: 1px; background: rgba(33,59,86,.35); }

/* Long-form publication pages */
.inner-body[data-page^="article-"] { background: #b9cbd7; }
.inner-body[data-page^="article-"] main { background: linear-gradient(180deg, #d6e1e8 0%, #bacbd7 100%); }
.article-page { padding: clamp(3rem, 6vw, 6rem) 0 0; }
.article-visual { position: relative; width: min(1060px, 82vw); height: min(54vh, 560px); min-height: 340px; margin: 0 auto; background: #17344f; box-shadow: 0 26px 64px rgba(14,36,54,.2); overflow: hidden; }
.article-visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.article-body { max-width: 1120px; margin: 0 auto; padding: clamp(5rem, 9vw, 9rem) 5vw clamp(7rem, 11vw, 11rem); }
.article-intro { max-width: 960px; }
.article-category { display: flex; align-items: center; gap: 1rem; margin: 0 0 2rem; color: #8e6c35; font-size: .86rem !important; font-weight: 650; letter-spacing: .12em; }
.article-category::before { content: ""; width: 54px; height: 2px; background: #b58b49; }
.article-category span { color: #60778a; font-family: var(--font-en); font-size: .74rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.article-intro h1 { margin: 0; color: #18344d; font-size: clamp(1.8rem, 2.7vw, 2.75rem); font-weight: 500; line-height: 1.38; letter-spacing: -.025em; }
.article-body .standfirst { max-width: 880px; margin: 2.5rem 0 0; color: #3f596e; font-size: clamp(1.2rem, 1.8vw, 1.55rem); line-height: 1.9; }
.article-sections { margin-top: clamp(5rem, 8vw, 8rem); }
.article-sections section { display: grid; grid-template-columns: 84px 1fr; gap: 2rem; padding: 3rem 0; border-top: 1px solid rgba(24,52,77,.26); }
.article-sections section > span { color: #a98245; font-family: var(--font-en); font-size: .78rem; font-weight: 600; letter-spacing: .17em; }
.article-sections h2 { margin: 0 0 1.2rem; color: #203b54; font-size: clamp(1.55rem,2.4vw,2.25rem); font-weight: 500; }
.article-sections p { max-width: 880px; margin: 0; color: #455d70; font-size: 1.08rem; line-height: 2; }
.article-sections p + p { margin-top: 1.25rem; }
.article-source { max-width: 900px; margin-top: clamp(4rem, 7vw, 7rem); }
.article-source h2 { margin: 3.75rem 0 1.35rem; padding-top: 2.2rem; color: #203b54; border-top: 1px solid rgba(24,52,77,.26); font-size: clamp(1.35rem,2vw,1.9rem); font-weight: 500; line-height: 1.55; }
.article-source p { margin: 0; color: #455d70; font-size: 1.05rem; line-height: 2.05; text-align: justify; }
.article-source p + p { margin-top: 1.35rem; }
.article-source-list { padding-left: 1rem; }
.article-source-ordered { display: grid; grid-template-columns: 2rem minmax(0,1fr); gap: .45rem; padding-left: .2rem; }
.article-source-ordered + .article-source-ordered { margin-top: 1.35rem; }
.article-source-marker { color: #8e6c35; font-family: var(--font-en); font-weight: 600; text-align: right; }
.article-source-ordered strong { color: #2b4358; font-weight: 650; }
.article-source-ordered--continuation { margin-top: .55rem !important; }
.article-source-figure { margin: 2.5rem 0 3rem; }
.article-source-figure img { display: block; width: 100%; height: auto; border: 1px solid rgba(24,52,77,.18); }
.inner-body[data-page="article-financial-forecasting"] .article-visual img { object-position: center 18%; }
.inner-body[data-page="article-sports-brand-ma"] .article-visual::before,
.inner-body[data-page="article-sustainability-keys"] .article-visual::before { content: ""; position: absolute; inset: -24px; background-position: center; background-size: cover; filter: blur(20px) brightness(.7); }
.inner-body[data-page="article-sports-brand-ma"] .article-visual::before { background-image: url('article-sports-brand-ma.webp'); }
.inner-body[data-page="article-sustainability-keys"] .article-visual::before { background-image: url('article-sustainability-keys.webp'); }
.inner-body[data-page="article-sports-brand-ma"] .article-visual img,
.inner-body[data-page="article-sustainability-keys"] .article-visual img { position: relative; z-index: 1; object-fit: contain; object-position: center; }
.article-body .back-link { margin-top: 4rem; padding: .75rem 0; color: #203b54; border-bottom: 1px solid rgba(32,59,84,.55); font-size: .9rem; }

@media (max-width: 900px) {
  .publication-toolbar { align-items: flex-start; flex-direction: column; gap: 2rem; }
  .publication-filters { justify-content: flex-start; width: 100%; }
  .publication-deck { min-height: 540px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .publication-card, .publication-card:hover, .publication-card:focus-visible, .publication-card.current { flex: 0 0 78vw; min-height: 540px; scroll-snap-align: start; }
  .publication-navigation { justify-content: center; }
  .article-visual { width: 88vw; height: 48vh; min-height: 300px; }
}

@media (max-width: 600px) {
  .publication-browser { padding-right: 5vw; padding-left: 5vw; }
  .publication-filters { gap: .15rem 1rem; }
  .publication-filters button { font-size: .82rem; }
  .publication-deck { min-height: 500px; }
  .publication-card, .publication-card:hover, .publication-card:focus-visible, .publication-card.current { flex-basis: 86vw; min-height: 500px; }
  .publication-card-copy h3 { font-size: 1.25rem; }
  .article-page { padding-top: 1.5rem; }
  .article-visual { width: 90vw; height: 36vh; min-height: 240px; }
  .article-category { align-items: flex-start; flex-wrap: wrap; }
  .article-intro h1 { font-size: 1.8rem; }
  .article-sections section { grid-template-columns: 1fr; gap: .8rem; padding: 2.4rem 0; }
  .article-sections p { font-size: 1rem; }
  .article-source h2 { margin-top: 3rem; font-size: 1.3rem; }
  .article-source p { font-size: 1rem; line-height: 1.95; text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  .about-statement-kicker, .about-statement-copy h2, .about-statement-text, .about-statement-rule, .about-statement-signature { opacity: 1; transform: none; animation: none; }
  .publication-card, .publication-card img, .publication-card-copy p, .publication-read { transition: none; }
}

/* Shared masthead for Speaking, Courses and Contact */
.inner-body[data-page="forums"],
.inner-body[data-page="courses"],
.inner-body[data-page="contact"],
.inner-body[data-page="forums"] main,
.inner-body[data-page="courses"] main,
.inner-body[data-page="contact"] main { background: #eef3f6; }

:is(.inner-body[data-page="forums"], .inner-body[data-page="courses"], .inner-body[data-page="contact"]) .page-hero {
  position: relative;
  min-height: 430px;
  align-items: center;
  padding: 5rem 7vw;
  color: white;
  background:
    linear-gradient(100deg, rgba(7,20,35,.98) 0%, rgba(12,34,53,.96) 56%, rgba(18,49,70,.9) 100%),
    url('hero-poster.jpg') center 46% / cover no-repeat;
  overflow: hidden;
}
:is(.inner-body[data-page="forums"], .inner-body[data-page="courses"], .inner-body[data-page="contact"]) .page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  border-top: 2px solid rgba(197,163,103,.62);
  background: radial-gradient(circle at 80% 18%, rgba(139,180,205,.14), transparent 34%);
  pointer-events: none;
}
:is(.inner-body[data-page="forums"], .inner-body[data-page="courses"], .inner-body[data-page="contact"]) .page-hero::after { display: none; }
:is(.inner-body[data-page="forums"], .inner-body[data-page="courses"], .inner-body[data-page="contact"]) .page-hero > div {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1180px;
}
:is(.inner-body[data-page="forums"], .inner-body[data-page="courses"], .inner-body[data-page="contact"]) .page-hero .eyebrow {
  color: #c7a667;
  font-size: .8rem;
  font-weight: 650;
  text-transform: none;
}
:is(.inner-body[data-page="forums"], .inner-body[data-page="courses"], .inner-body[data-page="contact"]) .page-hero h1 {
  max-width: 600px;
  color: #f7f5ef;
  font-size: clamp(1.65rem, 3vw, 3.25rem);
  font-weight: 500;
  letter-spacing: -.035em;
}
:is(.inner-body[data-page="forums"], .inner-body[data-page="courses"], .inner-body[data-page="contact"]) .page-hero p:last-child {
  max-width: 900px;
  margin-top: 2rem;
  margin-left: 0;
  padding-left: 0;
  color: #dce4ea;
  font-size: clamp(.98rem, 1.15vw, 1.12rem);
  font-weight: 400;
  line-height: 1.85;
}

/* Speaking and forum archive */
.inner-body[data-page="forums"] .page-content {
  max-width: none;
  padding: 0;
  background: #eef3f6;
}
.forum-overview {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: clamp(620px, 72vw, 820px);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: clamp(5.5rem, 9vw, 9rem) 6vw clamp(4rem, 7vw, 6rem);
  color: white;
  background: url('forum-archive-bg.webp') center / cover no-repeat;
  overflow: hidden;
}
.forum-overview::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(8,24,39,.14) 0%, rgba(8,24,39,.2) 42%, rgba(8,24,39,.74) 100%),
    linear-gradient(90deg, rgba(7,22,37,.28), transparent 26%, transparent 72%, rgba(7,22,37,.22));
}
.forum-overview::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: clamp(1.25rem, 2.5vw, 2.5rem);
  border: 1px solid rgba(255,255,255,.3);
  pointer-events: none;
}
.forum-overview-copy {
  width: min(820px, 86vw);
  margin: auto 0;
  padding: clamp(2rem, 4vw, 3.5rem);
  text-align: center;
  background: rgba(7,24,40,.16);
  backdrop-filter: blur(3px);
}
.forum-overview-copy .eyebrow { margin: 0 0 1.35rem; color: #e0c58e; font-size: .78rem; letter-spacing: .2em; }
.forum-overview-copy h2 {
  margin: 0;
  font-size: clamp(1rem, 2.1vw, 2.25rem);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: -.04em;
}
.forum-overview-copy > p:last-child {
  max-width: 690px;
  margin: 1.8rem auto 0;
  color: rgba(255,255,255,.9);
  font-size: 1.02rem;
  line-height: 1.9;
}
.forum-years {
  display: flex;
  width: min(980px, 88vw);
  align-items: center;
  justify-content: center;
  margin-top: auto;
  border-top: 1px solid rgba(255,255,255,.35);
}
.forum-years button {
  position: relative;
  appearance: none;
  flex: 1;
  min-width: 80px;
  padding: 1.3rem .8rem 1rem;
  color: rgba(255,255,255,.65);
  border: 0;
  background: transparent;
  font-family: var(--font-en);
  font-size: .92rem;
  letter-spacing: .1em;
  cursor: pointer;
  transition: color .25s ease, background .25s ease;
}
.forum-years button::before {
  content: "";
  position: absolute;
  top: -2px;
  right: 20%;
  left: 20%;
  height: 3px;
  background: #d2ad68;
  transform: scaleX(0);
  transition: transform .28s ease;
}
.forum-years button:hover,
.forum-years button:focus-visible,
.forum-years button.active { color: white; background: rgba(255,255,255,.08); outline: none; }
.forum-years button.active::before { transform: scaleX(1); }

.forum-gallery { padding: clamp(5rem, 8vw, 8rem) 0 clamp(6rem, 9vw, 9rem); overflow: hidden; }
.forum-gallery-heading {
  display: flex;
  width: min(1280px, 88vw);
  align-items: end;
  justify-content: space-between;
  margin: 0 auto clamp(2.5rem, 4vw, 4rem);
}
.forum-gallery-heading .eyebrow { margin: 0 0 .8rem; color: #a17e45; }
.forum-gallery-heading h2 { margin: 0; color: #1d3952; font-size: clamp(2rem, 3.8vw, 4rem); font-weight: 500; letter-spacing: -.04em; }
.forum-gallery-heading > p { margin: 0 0 .55rem; color: #6d8191; font-family: var(--font-en); font-size: .78rem; letter-spacing: .16em; }
.forum-gallery-heading > p span { color: #9c7840; font-size: 1rem; font-weight: 600; }
.forum-carousel { position: relative; outline: none; }
.forum-track {
  display: flex;
  gap: clamp(1rem, 2vw, 2rem);
  padding: 2rem calc((100vw - min(44vw, 680px)) / 2) 4rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.forum-track::-webkit-scrollbar { display: none; }
.forum-event {
  flex: 0 0 min(44vw, 680px);
  scroll-snap-align: center;
  opacity: .66;
  filter: brightness(.56) saturate(.5);
  transform: scale(.88);
  transform-origin: center;
  transition: opacity .5s ease, filter .5s ease, transform .55s cubic-bezier(.22,.74,.27,1);
}
.forum-event.current { z-index: 2; opacity: 1; filter: none; transform: scale(1); }
.forum-event-select {
  appearance: none;
  display: block;
  width: 100%;
  padding: 0;
  color: inherit;
  border: 0;
  background: white;
  box-shadow: 0 24px 55px rgba(17,43,65,.12);
  text-align: left;
  cursor: pointer;
}
.forum-event-select:focus-visible { outline: 2px solid #bc9250; outline-offset: 5px; }
.forum-event-media {
  display: grid;
  width: 100%;
  aspect-ratio: 4 / 3;
  place-items: center;
  background: #17344f;
  overflow: hidden;
}
.forum-event-media img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }
.forum-event-copy { display: flex; min-height: 230px; flex-direction: column; padding: clamp(1.75rem, 3vw, 2.8rem); }
.forum-event-copy small { color: #a27c41; font-family: var(--font-en); font-size: .76rem; font-weight: 600; letter-spacing: .16em; }
.forum-event-copy strong { margin-top: 1rem; color: #1f3b54; font-size: clamp(1.2rem, 1.8vw, 1.65rem); font-weight: 550; line-height: 1.55; }
.forum-event-copy > span { margin-top: auto; padding-top: 1.65rem; color: #516a7d; font-size: .95rem; line-height: 1.7; }
.forum-event-copy time { margin-top: .25rem; color: #728493; font-family: var(--font-en); font-size: .9rem; letter-spacing: .03em; }
.forum-arrow {
  position: absolute;
  z-index: 5;
  top: 42%;
  appearance: none;
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  color: #1d3952;
  border: 1px solid rgba(29,57,82,.28);
  border-radius: 50%;
  background: rgba(250,252,253,.9);
  box-shadow: 0 12px 28px rgba(17,43,65,.16);
  cursor: pointer;
  transition: color .2s ease, background .2s ease, opacity .2s ease;
}
.forum-arrow--prev { left: 5vw; }
.forum-arrow--next { right: 5vw; }
.forum-arrow:hover,
.forum-arrow:focus-visible { color: white; background: #1d3952; outline: none; }
.forum-arrow:disabled { opacity: .28; cursor: default; }
.forum-progress { display: flex; align-items: center; justify-content: center; gap: .9rem; color: #5d7487; font-family: var(--font-en); font-size: .76rem; letter-spacing: .12em; }
.forum-progress i { display: block; width: 76px; height: 1px; background: rgba(29,57,82,.32); }
.forum-empty { display: grid; flex: 0 0 min(88vw, 1100px); min-height: 420px; place-content: center; color: #6f8291; border: 1px solid rgba(29,57,82,.18); background: rgba(255,255,255,.52); text-align: center; scroll-snap-align: center; }
.forum-empty span { color: #b08b50; font-family: var(--font-en); font-size: 1rem; letter-spacing: .18em; }
.forum-empty p { margin: 1rem 0 0; font-size: 1.05rem; }

@media (max-width: 900px) {
  .forum-overview { min-height: 690px; }
  .forum-overview-copy { width: min(780px, 90vw); }
  .forum-years { width: 90vw; overflow-x: auto; justify-content: flex-start; scrollbar-width: none; }
  .forum-years::-webkit-scrollbar { display: none; }
  .forum-years button { flex: 0 0 82px; }
  .forum-track { padding-right: 12vw; padding-left: 12vw; }
  .forum-event { flex-basis: 76vw; }
  .forum-arrow { top: 38%; width: 46px; height: 46px; }
  .forum-arrow--prev { left: 2.5vw; }
  .forum-arrow--next { right: 2.5vw; }
}

@media (max-width: 720px) {
  :is(.inner-body[data-page="forums"], .inner-body[data-page="courses"], .inner-body[data-page="contact"]) .page-hero { min-height: 390px; padding: 4.5rem 6vw 4rem; }
  :is(.inner-body[data-page="forums"], .inner-body[data-page="courses"], .inner-body[data-page="contact"]) .page-hero h1 { font-size: 1.85rem; }
  :is(.inner-body[data-page="forums"], .inner-body[data-page="courses"], .inner-body[data-page="contact"]) .page-hero p:last-child { font-size: 1rem; line-height: 1.85; }
  .forum-overview { min-height: 650px; padding-right: 4vw; padding-left: 4vw; background-position: 43% center; }
  .forum-overview::after { inset: .8rem; }
  .forum-overview-copy { width: 92vw; padding: 2rem 1.25rem; }
  .forum-overview-copy h2 { font-size: 1rem; }
  .forum-overview-copy > p:last-child { font-size: .96rem; line-height: 1.8; }
  .forum-years { width: 92vw; }
  .forum-gallery-heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .forum-gallery-heading h2 { font-size: 2rem; }
  .forum-track { gap: .75rem; padding: 1rem 9vw 3rem; }
  .forum-event { flex-basis: 82vw; }
  .forum-event-copy { min-height: 215px; padding: 1.6rem 1.4rem 1.8rem; }
  .forum-event-copy strong { font-size: 1.18rem; }
  .forum-event-copy > span { font-size: .9rem; }
  .forum-arrow { top: 32%; width: 42px; height: 42px; }
  .forum-arrow--prev { left: 1.5vw; }
  .forum-arrow--next { right: 1.5vw; }
}

@media (prefers-reduced-motion: reduce) {
  .forum-event, .forum-years button, .forum-years button::before { transition: none; }
  .forum-track { scroll-behavior: auto; }
}

/* Refined layered forum gallery — compact, sharp and reference-led */
.forum-gallery { padding: clamp(4.5rem, 7vw, 7rem) 0 clamp(5.5rem, 8vw, 7.5rem); }
.forum-gallery-heading { width: min(1080px, 88vw); margin-bottom: clamp(2rem, 3vw, 3rem); }
.forum-gallery-heading h2 { font-size: clamp(1.8rem, 3vw, 3.1rem); }
.forum-carousel { min-height: 535px; overflow: hidden; }
.forum-track {
  position: relative;
  display: block;
  width: 100%;
  height: 500px;
  padding: 0;
  overflow: visible;
  scroll-behavior: auto;
  scroll-snap-type: none;
}
.forum-event {
  position: absolute;
  top: 0;
  left: 50%;
  width: min(360px, 78vw);
  opacity: 0;
  filter: brightness(.48) saturate(.42);
  transform: translateX(-50%) scale(.58) translateY(86px);
  transform-origin: center bottom;
  pointer-events: none;
  transition: opacity .48s ease, filter .48s ease, transform .58s cubic-bezier(.22,.74,.27,1);
}
.forum-event.is-current,
.forum-event.current {
  z-index: 5;
  opacity: 1;
  filter: none;
  transform: translateX(-50%) scale(1);
  pointer-events: auto;
}
.forum-event.is-prev {
  z-index: 3;
  opacity: .62;
  transform: translateX(calc(-50% - clamp(260px, 24vw, 355px))) translateY(30px) scale(.82);
  pointer-events: auto;
}
.forum-event.is-next {
  z-index: 3;
  opacity: .62;
  transform: translateX(calc(-50% + clamp(260px, 24vw, 355px))) translateY(30px) scale(.82);
  pointer-events: auto;
}
.forum-event.is-back-prev {
  z-index: 1;
  opacity: .3;
  transform: translateX(calc(-50% - clamp(440px, 40vw, 610px))) translateY(72px) scale(.67);
}
.forum-event.is-back-next {
  z-index: 1;
  opacity: .3;
  transform: translateX(calc(-50% + clamp(440px, 40vw, 610px))) translateY(72px) scale(.67);
}
.forum-event.is-hidden { z-index: 0; opacity: 0; }
.forum-event-select { box-shadow: 0 20px 42px rgba(18,43,63,.12); }
.forum-event.is-current .forum-event-select,
.forum-event.current .forum-event-select {
  box-shadow:
    0 10px 0 -4px #f7f9fa,
    0 20px 0 -8px #d8e1e7,
    0 32px 48px rgba(18,43,63,.17);
}
.forum-event-media {
  height: 255px;
  aspect-ratio: auto;
  background: #edf1f4;
}
.forum-event-media img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.forum-event-copy { min-height: 170px; padding: 1.45rem 1.55rem 1.55rem; }
.forum-event-copy small { font-size: .72rem; }
.forum-event-copy strong { margin-top: .7rem; font-size: 1.04rem; line-height: 1.55; }
.forum-event-copy > span { padding-top: 1.05rem; font-size: .86rem; line-height: 1.55; }
.forum-event-copy time { margin-top: .18rem; font-size: .82rem; }
.forum-arrow { top: 190px; width: 44px; height: 44px; box-shadow: 0 8px 22px rgba(17,43,65,.13); }
.forum-arrow--prev { left: calc(50% - 238px); }
.forum-arrow--next { right: calc(50% - 238px); }
.forum-progress { margin-top: .75rem; }
.forum-empty {
  position: absolute;
  top: 0;
  left: 50%;
  width: min(780px, 88vw);
  min-height: 360px;
  transform: translateX(-50%);
}

@media (max-width: 900px) {
  .forum-carousel { min-height: 520px; }
  .forum-track { height: 485px; padding: 0; }
  .forum-event { width: min(350px, 76vw); }
  .forum-event.is-prev { transform: translateX(calc(-50% - 68vw)) translateY(34px) scale(.78); }
  .forum-event.is-next { transform: translateX(calc(-50% + 68vw)) translateY(34px) scale(.78); }
  .forum-event.is-back-prev,
  .forum-event.is-back-next { opacity: 0; }
  .forum-arrow { top: 188px; }
  .forum-arrow--prev { left: calc(50% - min(44vw, 220px)); }
  .forum-arrow--next { right: calc(50% - min(44vw, 220px)); }
}

@media (max-width: 600px) {
  .forum-carousel { min-height: 500px; }
  .forum-track { height: 465px; }
  .forum-event { width: min(330px, 82vw); }
  .forum-event-media { height: 225px; }
  .forum-event-copy { min-height: 175px; padding: 1.3rem 1.25rem 1.4rem; }
  .forum-event-copy strong { font-size: 1rem; }
  .forum-event-copy > span { font-size: .84rem; }
  .forum-arrow { top: 166px; width: 40px; height: 40px; }
  .forum-arrow--prev { left: 2vw; }
  .forum-arrow--next { right: 2vw; }
}

/* Full-screen course portfolio */
.inner-body[data-page="courses"],
.inner-body[data-page="courses"] main { background: #eef2f4; }
.course-page { overflow: hidden; }
.course-experience {
  position: relative;
  min-height: calc(100svh - 84px);
  color: #172a3d;
  background: #f4f2ed;
  isolation: isolate;
  overflow: hidden;
}
.course-backgrounds,
.course-background,
.course-experience::before { position: absolute; inset: 0; }
.course-backgrounds { z-index: -2; }
.course-background {
  opacity: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  filter: saturate(1.08) contrast(1.04);
  transform: scale(1.035);
  transition: opacity .75s ease, transform 1.1s cubic-bezier(.22,.61,.36,1);
}
.course-background[data-course-background="latest"] { background-image: url('course-bg-latest.webp'); }
.course-background[data-course-background="strategy"] { background-image: url('course-bg-strategy.webp'); }
.course-background[data-course-background="finance"] { background-image: url('course-bg-finance.webp'); }
.course-background[data-course-background="ma"] { background-image: url('course-bg-ma.webp'); }
.course-background.active { opacity: 1; transform: scale(1); }
.course-experience::before {
  content: "";
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(249,248,244,.96) 0%, rgba(249,248,244,.79) 31%, rgba(249,248,244,.22) 54%, rgba(249,248,244,0) 72%),
    linear-gradient(180deg, rgba(16,39,58,.03), transparent 55%, rgba(16,39,58,.09));
  pointer-events: none;
}
.course-experience::after {
  content: "";
  position: absolute;
  inset: 1.2rem;
  z-index: 1;
  border: 1px solid rgba(167,127,69,.3);
  pointer-events: none;
}
.course-category-nav {
  position: absolute;
  top: 50%;
  left: clamp(1.4rem, 3.2vw, 4.2rem);
  z-index: 4;
  display: grid;
  gap: clamp(.7rem, 1.35vh, 1.05rem);
  transform: translateY(-50%);
}
.course-category-tab {
  display: grid;
  grid-template-columns: 64px 126px;
  gap: 1rem;
  align-items: center;
  padding: 0;
  text-align: left;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.course-tab-visual {
  position: relative;
  display: block;
  width: 64px;
  height: 64px;
  border: 1px solid rgba(30,61,83,.28);
  border-radius: 50%;
  background: radial-gradient(circle at 30% 24%, var(--course-circle-light), var(--course-circle-dark));
  box-shadow: 0 8px 22px rgba(24,48,68,.12);
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.course-category-tab:nth-child(1) { --course-circle-light: #efe2c5; --course-circle-dark: #b08a4d; }
.course-category-tab:nth-child(2) { --course-circle-light: #c8d8e3; --course-circle-dark: #6f8ea5; }
.course-category-tab:nth-child(3) { --course-circle-light: #afc1cf; --course-circle-dark: #3f657f; }
.course-category-tab:nth-child(4) { --course-circle-light: #7f97aa; --course-circle-dark: #193b53; }
.course-tab-visual::after {
  content: "";
  position: absolute;
  inset: -6px;
  border: 1px solid transparent;
  border-radius: inherit;
  transition: border-color .35s ease;
}
.course-category-tab:hover .course-tab-visual,
.course-category-tab:focus-visible .course-tab-visual { transform: scale(1.06); border-color: #9d7b47; }
.course-category-tab:focus-visible { outline: none; }
.course-category-tab.active .course-tab-visual {
  border-color: #9d7b47;
  box-shadow: 0 8px 26px rgba(86,65,35,.19);
  transform: scale(1.08);
}
.course-category-tab.active .course-tab-visual::after { border-color: rgba(157,123,71,.6); }
.course-tab-copy { display: grid; gap: .1rem; }
.course-tab-copy small {
  color: #9d7b47;
  font-family: var(--font-en);
  font-size: .68rem;
  letter-spacing: .15em;
}
.course-tab-copy strong {
  color: #415569;
  font-size: .88rem;
  font-weight: 500;
  line-height: 1.4;
  transition: color .3s ease, transform .3s ease;
}
.course-category-tab.active .course-tab-copy strong { color: #112b40; transform: translateX(4px); }
.course-stage {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  width: min(730px, 54vw);
  min-height: calc(100svh - 84px);
  margin-left: clamp(245px, 18vw, 330px);
  padding: clamp(3rem, 7vh, 6rem) 0 clamp(4.5rem, 8vh, 6rem);
}
.course-stage-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid rgba(34,64,85,.22);
}
.course-stage-heading p {
  margin: 0 0 .25rem;
  color: #6a8296;
  font-family: var(--font-en);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .22em;
}
.course-stage-heading :is(h1, strong) { display: block; margin: 0; font-size: 1rem; font-weight: 500; letter-spacing: .08em; }
.course-stage-heading > span { color: #71869a; font-family: var(--font-en); font-size: .78rem; letter-spacing: .12em; }
.course-stage-heading > span b { color: #9d7b47; font-weight: 600; }
.course-category-panels { display: grid; flex: 1; align-items: center; }
.course-category-panel {
  grid-area: 1 / 1;
  visibility: hidden;
  opacity: 0;
  transform: translateX(46px);
  pointer-events: none;
  transition: opacity .42s ease, transform .58s cubic-bezier(.22,.61,.36,1), visibility 0s linear .58s;
}
.course-category-panel.active {
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
  transition-delay: .12s;
}
.course-category-panel .eyebrow { margin-bottom: .65rem; color: #9d7b47; font-size: .7rem; }
.course-category-panel h2 {
  max-width: 650px;
  margin: 0;
  color: #102b40;
  font-size: clamp(1.075rem, 2vw, 2.25rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.045em;
}
.course-category-intro {
  max-width: 610px;
  margin: 1.2rem 0 clamp(1.4rem, 3vh, 2.4rem);
  color: #52677a;
  font-size: clamp(.95rem, 1.05vw, 1.08rem);
  line-height: 1.8;
}
.course-link-list { display: grid; gap: .65rem; }
.course-link {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) 28px;
  gap: 1.15rem;
  align-items: center;
  min-height: 104px;
  width: 100%;
  padding: .85rem 1rem;
  color: inherit;
  font: inherit;
  text-align: left;
  border: 1px solid rgba(43,74,96,.16);
  background: rgba(250,250,248,.67);
  box-shadow: 0 12px 34px rgba(25,52,72,.06);
  backdrop-filter: blur(8px);
  cursor: pointer;
  transition: border-color .28s ease, background .28s ease, transform .28s ease, box-shadow .28s ease;
}
.course-link:hover,
.course-link:focus-visible {
  border-color: rgba(157,123,71,.6);
  background: rgba(255,255,255,.92);
  box-shadow: 0 15px 38px rgba(25,52,72,.11);
  transform: translateX(7px);
  outline: none;
}
.course-link time {
  display: grid;
  place-items: center;
  align-content: center;
  min-height: 76px;
  color: #16354b;
  border-right: 1px solid rgba(43,74,96,.18);
  font-family: var(--font-en);
  line-height: 1;
}
.course-link time span { color: #9d7b47; font-size: .67rem; font-weight: 600; letter-spacing: .16em; }
.course-link time strong { margin: .22rem 0; font-size: 1.8rem; font-weight: 400; }
.course-link time small { font-size: .7rem; letter-spacing: .12em; }
.course-link-index {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  color: #9d7b47;
  border: 1px solid rgba(157,123,71,.4);
  border-radius: 50%;
  font-family: var(--font-en);
  font-size: .8rem;
}
.course-link-copy { display: grid; min-width: 0; }
.course-link-copy > small { color: #71869a; font-family: var(--font-en); font-size: .7rem; letter-spacing: .1em; }
.course-link-copy > strong { margin-top: .18rem; color: #162f43; font-size: clamp(1rem, 1.22vw, 1.25rem); font-weight: 500; line-height: 1.45; }
.course-link-copy > span { margin-top: .38rem; color: #7c6b50; font-size: .77rem; }
.course-link > b { color: #9d7b47; font-size: 1.15rem; font-weight: 400; transition: transform .28s ease; }
.course-link:hover > b { transform: translate(3px, 3px); }
.course-link--compact { min-height: 76px; padding-top: .55rem; padding-bottom: .55rem; }
.course-link--compact .course-link-index { width: 48px; height: 48px; }
.course-empty {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 110px;
  margin-top: 1.6rem;
  padding: 1.35rem 1.5rem;
  color: #607689;
  border: 1px solid rgba(43,74,96,.16);
  background: rgba(250,250,248,.67);
  backdrop-filter: blur(8px);
}
.course-empty span { color: #9d7b47; font-family: var(--font-en); font-size: 1.5rem; }
.course-empty p { margin: 0; font-size: 1rem; }
.course-panel-contact {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  min-width: 190px;
  margin-top: 1.3rem;
  padding: .72rem .9rem;
  color: #17364c;
  border: 1px solid rgba(23,54,76,.72);
  font-size: .84rem;
  transition: color .25s ease, background .25s ease;
}
.course-panel-contact b { color: #9d7b47; font-weight: 400; }
.course-panel-contact:hover,
.course-panel-contact:focus-visible { color: white; background: #17364c; outline: none; }
.course-explore {
  position: absolute;
  bottom: 2.2rem;
  left: clamp(245px, 18vw, 330px);
  z-index: 3;
  display: flex;
  align-items: center;
  gap: .8rem;
  color: #60778a;
  font-family: var(--font-en);
  font-size: .67rem;
  letter-spacing: .18em;
}
.course-explore i { position: relative; display: block; width: 54px; height: 1px; background: rgba(51,80,101,.34); overflow: hidden; }
.course-explore i::after { content: ""; position: absolute; inset: 0; background: #9d7b47; transform: translateX(-100%); animation: courseCue 2.4s ease-in-out infinite; }
@keyframes courseCue { 50%, 100% { transform: translateX(100%); } }

.course-details { padding: 8rem 7vw 10rem; background: linear-gradient(135deg, #eef3f6 0%, #f8f8f5 42%, #e7edf1 100%); }
.course-details-heading { max-width: 1260px; margin: 0 auto 3.5rem; }
.course-details-heading .eyebrow { color: #9d7b47; }
.course-details-heading h2 {
  max-width: 820px;
  margin: 0;
  color: #142d42;
  font-size: clamp(2.1rem, 4vw, 4.2rem);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -.04em;
}
.course-details-heading > p:last-child { max-width: 730px; margin: 1.4rem 0 0; color: #5d7080; font-size: 1.02rem; }
.course-detail {
  display: grid;
  grid-template-columns: minmax(180px, .42fr) minmax(0, 1.58fr);
  gap: clamp(2.5rem, 7vw, 8rem);
  max-width: 1260px;
  margin: 0 auto;
  padding: clamp(4rem, 7vw, 7rem) 0;
  border-top: 1px solid rgba(37,66,87,.2);
  scroll-margin-top: 100px;
}
.course-detail > aside { display: flex; flex-direction: column; align-items: flex-start; }
.course-detail > aside > span { color: #9d7b47; font-family: var(--font-en); font-size: 3.4rem; font-weight: 300; line-height: 1; }
.course-detail > aside p { margin: 1rem 0 .3rem; color: #28465d; font-weight: 500; }
.course-detail > aside time,
.course-detail > aside small { color: #718494; font-family: var(--font-en); font-size: .78rem; letter-spacing: .09em; }
.course-detail-label { margin: 0 0 .65rem; color: #9d7b47; font-family: var(--font-en); font-size: .72rem; font-weight: 600; letter-spacing: .19em; }
.course-detail-content h3 { max-width: 820px; margin: 0; color: #142d42; font-size: clamp(1.8rem, 3vw, 3.15rem); font-weight: 450; line-height: 1.3; letter-spacing: -.035em; }
.course-detail-lead { max-width: 850px; margin: 1.35rem 0 2.4rem; color: #526779; font-size: 1.04rem; line-height: 1.85; }
.course-detail-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border: 1px solid rgba(45,74,95,.15); background: rgba(45,74,95,.15); }
.course-detail-points > div { min-height: 205px; padding: 1.55rem; background: rgba(255,255,255,.82); }
.course-detail-points span { display: block; margin-bottom: 2.2rem; color: #9d7b47; font-family: var(--font-en); font-size: .72rem; letter-spacing: .12em; }
.course-detail-points strong { display: block; color: #1b354a; font-size: 1.02rem; font-weight: 600; }
.course-detail-points p { margin: .7rem 0 0; color: #667989; font-size: .88rem; line-height: 1.7; }
.course-detail-points--modules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.course-detail-points--modules > div { min-height: 190px; }
.course-contact-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  min-width: 210px;
  margin-top: 2.2rem;
  padding: .9rem 1rem;
  color: #16354b;
  border: 1px solid #16354b;
  font-size: .88rem;
  transition: color .25s ease, background .25s ease;
}
.course-contact-link:hover { color: white; background: #16354b; }

@media (max-width: 1100px) {
  .course-category-tab { grid-template-columns: 56px 104px; gap: .8rem; }
  .course-tab-visual { width: 56px; height: 56px; }
  .course-stage { width: min(650px, 61vw); margin-left: 210px; }
  .course-explore { left: 210px; }
}

@media (max-width: 820px) {
  .course-experience { min-height: auto; padding: 2rem 5vw 5rem; }
  .course-experience::before {
    background: linear-gradient(180deg, rgba(249,248,244,.9) 0%, rgba(249,248,244,.64) 66%, rgba(249,248,244,.42) 100%);
  }
  .course-experience::after { inset: .7rem; }
  .course-category-nav {
    position: relative;
    top: auto;
    left: auto;
    display: flex;
    gap: 1.2rem;
    margin: 1rem 0 2.4rem;
    padding: .6rem .55rem 1rem;
    overflow-x: auto;
    transform: none;
    scrollbar-width: none;
  }
  .course-category-nav::-webkit-scrollbar { display: none; }
  .course-category-tab { flex: 0 0 108px; display: flex; flex-direction: column; gap: .65rem; text-align: center; }
  .course-tab-copy small { display: none; }
  .course-tab-copy strong { font-size: .8rem; }
  .course-category-tab.active .course-tab-copy strong { transform: none; }
  .course-stage { width: 100%; min-height: 660px; margin: 0; padding: 0; }
  .course-stage-heading { margin-bottom: 2rem; }
  .course-category-panels { align-items: start; }
  .course-category-panel h2 { font-size: clamp(1.125rem, 5vw, 2rem); }
  .course-category-intro { max-width: 650px; }
  .course-explore { display: none; }
  .course-detail { grid-template-columns: 1fr; gap: 2rem; }
  .course-detail > aside { display: grid; grid-template-columns: auto 1fr; gap: .3rem 1rem; align-items: end; }
  .course-detail > aside > span { grid-row: 1 / 3; font-size: 2.7rem; }
  .course-detail > aside p { margin: 0; }
  .course-detail-points { grid-template-columns: 1fr; }
  .course-detail-points--modules { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .course-experience { padding: 1rem 5vw 4rem; }
  .course-category-nav { margin-top: .5rem; margin-bottom: 1.5rem; }
  .course-tab-visual { width: 52px; height: 52px; }
  .course-stage { min-height: 700px; }
  .course-stage-heading > span { display: none; }
  .course-category-panel h2 { font-size: 1.225rem; }
  .course-category-intro { margin-top: .9rem; line-height: 1.7; }
  .course-link { grid-template-columns: 68px minmax(0, 1fr) 20px; gap: .75rem; min-height: 96px; padding: .7rem; }
  .course-link time { min-height: 68px; }
  .course-link time strong { font-size: 1.55rem; }
  .course-link-index { width: 50px; height: 50px; }
  .course-link-copy > strong { font-size: .98rem; }
  .course-details { padding: 6rem 6vw 8rem; }
  .course-details-heading { margin-bottom: 2.5rem; }
  .course-detail { padding: 4rem 0; }
  .course-detail-points--modules { grid-template-columns: 1fr; }
  .course-detail-points > div,
  .course-detail-points--modules > div { min-height: auto; }
  .course-detail-points span { margin-bottom: 1.4rem; }
}

@media (prefers-reduced-motion: reduce) {
  .course-background,
  .course-category-panel,
  .course-link,
  .course-tab-visual { transition: none; }
  .course-explore i::after { animation: none; }
}

.course-modal {
  width: min(620px, calc(100vw - 2rem));
  max-height: calc(100svh - 2rem);
  padding: 0;
  color: #172f43;
  border: 0;
  background: transparent;
  overflow: visible;
}
.course-modal::backdrop {
  background: rgba(8,25,38,.72);
  backdrop-filter: blur(7px);
}
.course-modal[open] { animation: courseModalIn .3s ease both; }
@keyframes courseModalIn {
  from { opacity: 0; transform: translateY(20px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.course-modal-card {
  position: relative;
  padding: clamp(2rem, 5vw, 3.8rem);
  border-top: 3px solid #ad8b52;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(237,242,245,.98));
  box-shadow: 0 35px 90px rgba(4,18,29,.35);
}
.course-modal-card form { position: absolute; top: 1rem; right: 1rem; }
.course-modal-close {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  color: #526879;
  border: 1px solid rgba(37,66,87,.2);
  border-radius: 50%;
  background: rgba(255,255,255,.7);
  font-family: var(--font-en);
  font-size: 1.55rem;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
}
.course-modal-close:hover { color: white; background: #17364c; }
.course-modal-category {
  margin: 0 3.5rem 1rem 0;
  color: #9d7b47;
  font-family: var(--font-en);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .16em;
}
.course-modal-card h2 {
  margin: 0;
  color: #142d42;
  font-size: clamp(1.55rem, 4vw, 2.6rem);
  font-weight: 450;
  line-height: 1.35;
  letter-spacing: -.03em;
}
.course-modal-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 2.2rem 0; background: rgba(37,66,87,.15); }
.course-modal-card dl > div { padding: 1.1rem; background: rgba(255,255,255,.82); }
.course-modal-card dt { color: #718494; font-size: .75rem; }
.course-modal-card dd { margin: .28rem 0 0; color: #1c394f; font-size: .96rem; font-weight: 500; }
.course-modal-note { margin: 0; color: #617586; font-size: .94rem; line-height: 1.8; }
.course-modal-contact {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  min-width: 200px;
  margin-top: 2rem;
  padding: .82rem .95rem;
  color: white;
  background: #17364c;
  font-size: .86rem;
}
.course-modal-contact b { color: #d9bd87; font-weight: 400; }

@media (max-width: 560px) {
  .course-modal-card dl { grid-template-columns: 1fr; }
}

/* Unified course detail template */
.course-modal {
  width: min(820px, calc(100vw - 2rem));
  overflow-x: hidden;
  overflow-y: auto;
}
.course-modal-card {
  padding: clamp(1.7rem, 4vw, 3rem);
}
.course-modal-card h2 {
  max-width: 680px;
  padding-right: 2.8rem;
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: -.015em;
}
.course-modal-summary {
  max-width: 680px;
  margin: 1rem 0 0;
  color: #5c7080;
  font-size: .94rem;
  line-height: 1.8;
}
.course-modal-card .course-modal-details {
  margin: 1.7rem 0 1.25rem;
}
.course-modal-details > div {
  min-height: 78px;
}
.course-modal-details .course-modal-location {
  grid-column: 1 / -1;
}
.course-modal-card dd {
  line-height: 1.65;
}
.course-modal-registration {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: 102px;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(37,66,87,.15);
  background: rgba(255,255,255,.62);
}
.course-modal-registration > div > p:first-child {
  margin: 0 0 .4rem;
  color: #718494;
  font-size: .75rem;
}
.course-modal-registration > div > p:last-child {
  margin: 0;
  color: #1c394f;
  font-size: .95rem;
  font-weight: 500;
}
.course-modal-registration img {
  width: 88px;
  height: 88px;
  flex: 0 0 88px;
  padding: 4px;
  background: #fff;
  object-fit: contain;
}
.course-modal-contact {
  margin-top: 1.25rem;
}

/* Contact page */
.inner-body[data-page="contact"] .page-content {
  max-width: none;
  padding: 0;
}
.contact-experience {
  position: relative;
  isolation: isolate;
  min-height: 760px;
  padding: clamp(5rem, 8vw, 8rem) 7vw;
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(480px, 1.18fr);
  gap: clamp(3rem, 7vw, 8rem);
  align-items: center;
  background: url('contact-bg.webp') center / cover no-repeat;
  overflow: hidden;
}
.contact-experience::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgba(244,247,247,.38) 0%, rgba(244,247,247,.25) 46%, rgba(226,236,239,.12) 100%);
}
.contact-introduction {
  max-width: 580px;
}
.contact-introduction h2 {
  margin: 0;
  color: #152f43;
  font-size: clamp(1.25rem, 2.25vw, 2.35rem);
  font-weight: 500;
  line-height: 1.28;
  letter-spacing: -.045em;
}
.contact-introduction > p:nth-of-type(2) {
  max-width: 540px;
  margin: 2rem 0 0;
  color: #4f6575;
  font-size: 1rem;
  line-height: 1.9;
}
.contact-direct {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  margin-top: 2.6rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(23,54,76,.2);
}
.contact-direct span {
  color: #8e744b;
  font-family: var(--font-en);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .15em;
}
.contact-direct a {
  width: fit-content;
  color: #17364c;
  font-family: var(--font-en);
  font-size: 1.05rem;
  border-bottom: 1px solid rgba(23,54,76,.35);
}
.contact-form {
  padding: clamp(2rem, 4vw, 3.4rem);
  border-top: 3px solid #ad8b52;
  border-right: 1px solid rgba(255,255,255,.52);
  border-bottom: 1px solid rgba(255,255,255,.44);
  border-left: 1px solid rgba(255,255,255,.52);
  background: linear-gradient(145deg, rgba(250,252,252,.24), rgba(231,239,242,.13));
  box-shadow: 0 30px 80px rgba(19,45,62,.18);
  backdrop-filter: blur(12px) saturate(.9);
  -webkit-backdrop-filter: blur(12px) saturate(.9);
}
.contact-form-heading {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: .35rem 1.5rem;
  margin-bottom: 2rem;
}
.contact-form-heading .eyebrow {
  grid-column: 1 / -1;
  margin-bottom: .3rem;
  color: #9d7b47;
}
.contact-form-heading h2 {
  margin: 0;
  color: #17364c;
  font-size: clamp(1.35rem, 2.3vw, 2rem);
  font-weight: 500;
}
.contact-form-heading > p:last-child {
  margin: 0 0 .2rem;
  color: #748591;
  font-size: .72rem;
}
.contact-form-heading > p:last-child span,
.contact-fields label > span b {
  color: #a47d42;
}
.contact-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem 1.5rem;
}
.contact-fields label {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: .45rem;
}
.contact-fields label > span {
  color: #425c6d;
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .04em;
}
.contact-fields label > span small {
  margin-left: .35rem;
  color: #84929c;
  font-weight: 400;
}
.contact-fields input,
.contact-fields textarea {
  width: 100%;
  padding: .75rem .8rem;
  color: #17364c;
  border: 1px solid rgba(37,66,87,.22);
  border-radius: 0;
  outline: none;
  background: rgba(255,255,255,.22);
  font: inherit;
  font-size: .92rem;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.contact-fields textarea {
  min-height: 132px;
  resize: vertical;
}
.contact-fields input:focus,
.contact-fields textarea:focus {
  border-color: #6c8596;
  background: rgba(255,255,255,.62);
  box-shadow: 0 0 0 3px rgba(95,128,153,.12);
}
.contact-field-wide {
  grid-column: 1 / -1;
}
.contact-submit {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  min-width: 210px;
  margin-top: 1.7rem;
  padding: .88rem 1rem;
  color: white;
  border: 0;
  background: #17364c;
  cursor: pointer;
  font-size: .86rem;
  transition: background .2s, transform .2s;
}
.contact-submit:hover {
  background: #244e66;
  transform: translateY(-2px);
}
.contact-submit b {
  color: #d9bd87;
  font-weight: 400;
}
.form-submit-status {
  min-height: 1.4em;
  margin: .9rem 0 0;
  color: #6e7f8b;
  font-size: .8rem;
  line-height: 1.65;
}
.form-submit-status.success { color: #245c4d; }
.form-submit-status.error { color: #8b3e3e; }
.contact-submit:disabled,
.join-dialog-form button:disabled { opacity: .55; cursor: wait; }
.contact-alternative {
  margin: 1.15rem 0 0;
  color: #71818d;
  font-size: .78rem;
}
.contact-alternative a {
  color: #17364c;
  border-bottom: 1px solid rgba(23,54,76,.3);
}

@media (max-width: 980px) {
  .contact-experience {
    grid-template-columns: 1fr;
    gap: 3.5rem;
  }
  .contact-introduction { max-width: 720px; }
}

@media (max-width: 560px) {
  .course-modal {
    width: min(100% - 1rem, 820px);
    max-height: calc(100svh - 1rem);
  }
  .course-modal-card h2 { padding-right: 2rem; }
  .course-modal-details .course-modal-location { grid-column: auto; }
  .course-modal-registration { align-items: flex-start; }
  .course-modal-registration img { width: 78px; height: 78px; flex-basis: 78px; }
  .contact-experience { min-height: auto; padding: 5rem 5vw; }
  .contact-introduction h2 { font-size: 2.35rem; }
  .contact-form { padding: 2rem 1.2rem; }
  .contact-form-heading { grid-template-columns: 1fr; }
  .contact-form-heading > p:last-child { margin: 0; }
  .contact-fields { grid-template-columns: 1fr; }
  .contact-field-wide { grid-column: auto; }
  .contact-submit { width: 100%; }
}

/* Timed Join meWE lightbox */
.join-dialog {
  width: min(740px, calc(100vw - 2rem));
  max-height: calc(100svh - 2rem);
  padding: 0;
  color: #17364c;
  border: 0;
  background: transparent;
  overflow: auto;
}
.join-dialog::backdrop {
  background: rgba(7,22,35,.7);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.join-dialog[open] { animation: joinDialogIn .38s cubic-bezier(.22,.72,.28,1) both; }
@keyframes joinDialogIn {
  from { opacity: 0; transform: translateY(20px) scale(.98); }
  to { opacity: 1; transform: none; }
}
.join-dialog-card {
  position: relative;
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  min-height: 350px;
  border-top: 3px solid #b18c50;
  background: rgba(245,248,249,.96);
  box-shadow: 0 36px 90px rgba(4,18,29,.38);
}
.join-dialog-close-form { position: absolute; z-index: 3; top: 1rem; right: 1rem; }
.join-dialog-close {
  display: grid;
  width: 42px;
  height: 42px;
  padding: 0;
  place-items: center;
  color: #536b7d;
  border: 1px solid rgba(32,59,82,.2);
  border-radius: 50%;
  background: rgba(255,255,255,.74);
  font-family: var(--font-en);
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
}
.join-dialog-close:hover,
.join-dialog-close:focus-visible { color: white; outline: none; background: #17364c; }
.join-dialog-intro {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 4.4rem 2.4rem 3rem;
  color: white;
  background:
    radial-gradient(circle at 80% 14%, rgba(156,190,210,.26), transparent 35%),
    linear-gradient(145deg, #102a3e, #244d64 72%, #748b9c);
  overflow: hidden;
}
.join-dialog-intro::after { display: none; }
.join-dialog-intro > p:first-child {
  position: absolute;
  top: 2.5rem;
  left: 2.5rem;
  margin: 0;
  color: #d8bd87;
  font-family: var(--font-en);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .18em;
}
.join-dialog-intro h2 {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: clamp(1.15rem, 2vw, 1.75rem);
  font-weight: 550;
  letter-spacing: .08em;
}
.join-dialog-intro > p:last-child {
  position: relative;
  z-index: 1;
  margin: 1rem 0 0;
  color: rgba(255,255,255,.78);
  font-size: .9rem;
  line-height: 1.85;
}
.join-dialog-form {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 4rem 3.2rem 3rem;
  background: linear-gradient(145deg, rgba(255,255,255,.88), rgba(229,237,241,.78));
  backdrop-filter: blur(18px);
}
.join-dialog-form label {
  margin-bottom: .65rem;
  color: #597185;
  font-family: var(--font-en);
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .12em;
}
.join-dialog-form > div {
  display: flex;
  border-bottom: 1px solid #27475e;
}
.join-dialog-form input {
  min-width: 0;
  flex: 1;
  padding: .9rem .15rem;
  color: #17364c;
  border: 0;
  outline: 0;
  background: transparent;
  font-family: var(--font-en);
  font-size: 1rem;
}
.join-dialog-form input::placeholder { color: #91a0aa; }
.join-dialog-form button {
  min-width: 86px;
  padding: .8rem 0 .8rem .8rem;
  color: #17364c;
  border: 0;
  background: transparent;
  font-weight: 600;
  cursor: pointer;
}
.join-dialog-form button b { margin-left: .4rem; color: #9d7b47; font-weight: 400; }
.join-dialog-form > p {
  margin: 1.2rem 0 0;
  color: #7a8994;
  font-size: .76rem;
  line-height: 1.7;
}

.back-to-top {
  position: fixed;
  z-index: 18;
  right: 1rem;
  bottom: 1rem;
  display: none;
  width: 52px;
  height: 52px;
  place-items: center;
  padding: 0;
  color: #f7f4ed;
  border: 1px solid rgba(216,198,168,.8);
  border-radius: 50%;
  background: rgba(14,31,47,.9);
  box-shadow: 0 14px 36px rgba(8,24,38,.28);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(14px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s ease, background .2s ease;
}
.back-to-top span { font-size: 1.25rem; line-height: 1; transform: translateY(-1px); }
.back-to-top:hover,
.back-to-top:focus-visible { background: #244e66; outline: 2px solid #d8c6a8; outline-offset: 2px; }

/* Dedicated mobile compositions — desktop rules remain unchanged */
@media (max-width: 720px) {
  html { scroll-padding-top: 0; }
  body { overflow-x: hidden; }
  .mobile-header,
  .inner-header,
  .inner-header--about { position: relative; top: auto; height: 68px; padding: 0 5vw; }
  .mobile-header .wordmark span { font-size: .92rem; }
  .brand-lockup-visual { width: 132px; height: 43px; background-size: 132px 43px; }
  .brand-lockup-visual::before { width: 44px; }
  .brand-lockup-visual img { left: -16px; top: -5px; width: 66px; height: 66px; }
  .mobile-nav {
    height: 100dvh;
    justify-content: flex-start;
    gap: .25rem;
    padding: 6.5rem 8vw 2.5rem;
    overflow-y: auto;
  }
  .mobile-nav a {
    display: flex;
    min-height: 52px;
    align-items: center;
    padding: .6rem 0;
    font-size: 1.12rem;
  }
  .page-hero,
  .inner-body[data-page="about"] .page-hero,
  .inner-body[data-page="team"] .page-hero,
  .inner-body[data-page="publications"] .page-hero,
  :is(.inner-body[data-page="forums"], .inner-body[data-page="courses"], .inner-body[data-page="contact"]) .page-hero {
    min-height: 320px;
    padding: 3.5rem 6vw 3rem;
  }
  .page-hero h1,
  .inner-body[data-page="about"] .page-hero h1,
  .inner-body[data-page="team"] .page-hero h1,
  .inner-body[data-page="publications"] .page-hero h1,
  :is(.inner-body[data-page="forums"], .inner-body[data-page="courses"], .inner-body[data-page="contact"]) .page-hero h1 { font-size: 1.75rem; line-height: 1.3; }
  .page-hero p,
  .inner-body[data-page="about"] .page-hero p:last-child,
  .inner-body[data-page="team"] .page-hero p:last-child,
  .inner-body[data-page="publications"] .page-hero p:last-child,
  :is(.inner-body[data-page="forums"], .inner-body[data-page="courses"], .inner-body[data-page="contact"]) .page-hero p:last-child {
    margin-top: 1.25rem;
    font-size: 1rem;
    line-height: 1.8;
  }
  .page-content { padding: 4rem 5vw 6rem; }

  /* Home */
  .home .mobile-header { position: relative; color: white; background: #0e1b2b; border-bottom: 1px solid rgba(216,198,168,.38); backdrop-filter: none; }
  .home .home-wordmark { position: relative; z-index: 52; }
  .home .hero { height: auto; min-height: 0; }
  .home .hero::before { filter: blur(16px) saturate(.82); }
  .home .hero-media { position: relative; width: 100%; height: auto; aspect-ratio: 16 / 8; overflow: hidden; }
  .home .hero video { width: 130%; height: 130%; max-width: none; object-fit: cover; transform: translate(-11.5%, -15%); transform-origin: center; }
  .home .scroll-cue { display: none; }
  .value-section { padding: 3.5rem 5vw; }
  .value-grid--reference { gap: 1rem; }
  .value-grid--reference .value-card { min-height: 360px; padding: 2rem 1.5rem; }
  .value-grid--reference .card-no { margin-bottom: 3.5rem; font-size: .78rem; }
  .value-grid--reference .value-card h2 { font-size: 1.75rem; }
  .value-grid--reference .value-card strong { font-size: 1.25rem; }
  .value-grid--reference .value-card p { font-size: 1rem; }
  .insight-reference-grid { min-height: 0; padding: 4.5rem 5vw 3.5rem; gap: 2rem; }
  .section-heading--mobile { display: block; width: 100%; margin: 0 0 .4rem; }
  .section-heading--mobile h2 { margin: .4rem 0 0; font-size: 1.8rem; }
  .section-heading--inside { display: none; }
  .hex-column { display: grid; min-height: 0; gap: 1rem; }
  .hex-insight,
  .hex-insight:first-of-type,
  .hex-insight:last-of-type {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    clip-path: none;
    border-radius: 2px;
    opacity: .66;
    filter: brightness(.5) saturate(.52);
  }
  .hex-insight:hover,
  .hex-insight:focus-visible,
  .hex-insight.active { opacity: 1; filter: brightness(1.04) saturate(1.02); transform: none; }
  .vertical-word { display: none; }
  .hex-overlay { inset: auto 1.4rem 1.5rem; align-items: flex-start; justify-content: flex-end; text-align: left; }
  .hex-overlay strong { font-size: 1.05rem; }
  .trident-detail { min-height: 0; padding: 0; }
  .section-heading--inside { margin-bottom: 2rem; }
  .trident-detail h3 { font-size: 1.35rem; }
  .trident-detail > p:nth-of-type(2) { font-size: 1rem; line-height: 1.8; }
  .trident-detail .detail-count { margin-top: 2.5rem; }
  .insight-foot { padding: 1.5rem 5vw 3rem; }
  .engage-section--reference,
  .engage-inner--reference { min-height: 0; }
  .engage-inner--reference { padding: 6rem 5vw 4.5rem; gap: 3rem; }
  .engage-title h2 { font-size: 1.85rem; line-height: 1.5; }
  .engage-title > p:last-child { font-size: 1rem; line-height: 1.8; }
  .engage-actions article { padding: 2rem 1.3rem; }
  .engage-actions h3 { font-size: 1.35rem; }
  .email-field input { font-size: 1rem; }

  /* About */
  .about-film-stage { display: block; min-height: 0; padding: 0; background-position: 67% center; }
  .about-statement-copy {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    padding: 4.5rem 6vw 5rem;
    transform: none;
  }
  .about-statement-copy h2 { max-width: 100%; font-size: 1.65rem; }
  .about-statement-text { max-width: 100%; font-size: 1rem; line-height: 1.85; letter-spacing: .01em; }
  .about-statement-signature span { font-size: .75rem; line-height: 1.7; letter-spacing: .2em; }

  /* Team */
  .inner-body[data-page="team"] .page-content { padding: 3.5rem 5vw 5rem; }
  .team-card { min-height: 98px; }
  .team-card-copy small { font-size: .88rem; }
  .team-card-copy strong { font-size: 1.35rem; }
  .team-card-copy em { font-size: .75rem; }
  .team-plus { padding: 0 .8rem; }
  .team-profile-copy { padding: 4.5rem 1.25rem 3rem; }
  .team-profile-copy h2 { font-size: 2.2rem; }
  .team-profile-copy h3 { font-size: 1.15rem; }
  .team-profile-copy li { font-size: 1rem; line-height: 1.85; }
  .team-intro-break { display: none; }

  /* Publications */
  .publication-browser { padding: 4rem 5vw 5rem; }
  .publication-toolbar { gap: 1.4rem; margin-bottom: 2rem; }
  .publication-toolbar h2 { font-size: 1.8rem; }
  .publication-filters {
    flex-wrap: nowrap;
    gap: 1.3rem;
    padding-bottom: .15rem;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .publication-filters::-webkit-scrollbar { display: none; }
  .publication-filters button { flex: 0 0 auto; min-height: 44px; padding: .65rem 0; font-size: .9rem; }
  .publication-deck { min-height: 470px; margin-right: -5vw; overflow-x: auto; scroll-padding-left: 0; }
  .publication-card,
  .publication-card:hover,
  .publication-card:focus-visible,
  .publication-card.current { flex: 0 0 88vw; min-height: 470px; transform: none; }
  .publication-card-copy { right: 1.4rem; bottom: 1.6rem; left: 1.4rem; }
  .publication-card-copy h3 { font-size: 1.2rem; }
  .publication-card-copy p { font-size: .95rem; line-height: 1.75; }
  .publication-navigation { justify-content: space-between; }

  /* Articles */
  .article-page { padding-top: 1.25rem; }
  .article-visual { width: 90vw; height: auto; min-height: 0; aspect-ratio: 4 / 3; }
  .article-body { padding: 3.5rem 5vw 6rem; }
  .article-category { margin-bottom: 1.5rem; font-size: .85rem !important; }
  .article-intro h1 { font-size: 1.7rem; line-height: 1.45; }
  .article-source { margin-top: 3rem; }
  .article-source h2 { margin-top: 2.8rem; padding-top: 1.8rem; font-size: 1.3rem; }
  .article-source p { font-size: 1rem; line-height: 1.9; text-align: left; }
  .article-source-ordered { grid-template-columns: 1.5rem minmax(0,1fr); gap: .35rem; padding-left: 0; }
  .article-source-marker { text-align: left; }
  .article-source-figure { margin: 2rem 0; }

  /* Forums — tap years, swipe cards, or use arrows */
  .forum-overview { min-height: 560px; justify-content: center; padding: 3rem 4vw; background-position: 44% center; }
  .forum-overview-copy { width: 92vw; margin: 0; padding: 1.8rem 1.2rem; }
  .forum-overview-copy h2 { font-size: 1.1rem; line-height: 1.6; }
  .forum-overview-copy > p:last-child { margin-top: 1.3rem; font-size: 1rem; line-height: 1.8; }
  .forum-years { width: 92vw; margin-top: 2rem; scroll-snap-type: x proximity; }
  .forum-years button { flex-basis: 74px; min-height: 48px; padding: 1rem .55rem .8rem; scroll-snap-align: start; }
  .forum-gallery { padding: 4rem 0 5rem; }
  .forum-gallery-heading { width: 90vw; margin-bottom: 2rem; }
  .forum-gallery-heading h2 { font-size: 1.7rem; }
  .forum-carousel { min-height: 485px; touch-action: pan-y; }
  .forum-track { height: 450px; }
  .forum-event { width: min(330px, 82vw); }
  .forum-event-media { height: 220px; }
  .forum-event-copy { min-height: 185px; padding: 1.25rem; }
  .forum-event-copy strong { font-size: 1rem; line-height: 1.55; }
  .forum-event-copy > span { font-size: .9rem; }
  .forum-arrow { top: 160px; width: 42px; height: 42px; }
  .forum-arrow--prev { left: 2vw; }
  .forum-arrow--next { right: 2vw; }

  /* Courses */
  .course-experience { min-height: 0; padding: 1.2rem 4.5vw 3.5rem; }
  .course-experience::after { inset: .45rem; }
  .course-category-nav { gap: .9rem; margin: .25rem 0 1.4rem; padding: .75rem .6rem 1rem; scroll-snap-type: x proximity; }
  .course-category-tab { flex-basis: 92px; min-height: 98px; scroll-snap-align: start; }
  .course-tab-visual { width: 48px; height: 48px; }
  .course-tab-copy strong { font-size: .8rem; line-height: 1.4; }
  .course-stage { min-height: 0; padding: 0 .35rem 1rem; }
  .course-stage-heading { margin-bottom: 1.6rem; }
  .course-category-panels { min-height: 0; align-items: start; }
  .course-category-panel h2 { font-size: 1.2rem; line-height: 1.45; }
  .course-link-list { gap: .75rem; }
  .course-link {
    grid-template-columns: 60px minmax(0, 1fr) 18px;
    gap: .65rem;
    min-height: 92px;
    padding: .65rem;
    background: rgba(250,250,248,.78);
  }
  .course-link:hover,
  .course-link:focus-visible { transform: none; }
  .course-link time { min-height: 64px; }
  .course-link time strong { font-size: 1.45rem; }
  .course-link-index { width: 46px; height: 46px; }
  .course-link-copy > small { font-size: .75rem; }
  .course-link-copy > strong { font-size: 1rem; }
  .course-link-copy > span { font-size: .8rem; }
  .course-panel-contact { min-width: 0; width: 100%; min-height: 46px; }
  .course-empty { min-height: 96px; }
  .course-modal-card { padding: 1.6rem 1.15rem; }
  .course-modal-card h2 { padding-right: 2.5rem; font-size: 1.1rem; }
  .course-modal-summary { font-size: 1rem; }
  .course-modal-card .course-modal-details { grid-template-columns: 1fr; }
  .course-modal-registration { gap: 1rem; }
  .course-modal-contact { width: 100%; }

  /* Contact */
  .contact-experience { min-height: 0; padding: 4rem 5vw 5rem; gap: 2.5rem; background-position: 56% center; }
  .contact-experience::before { background: linear-gradient(180deg, rgba(244,247,247,.3), rgba(226,236,239,.12)); }
  .contact-introduction h2 { font-size: 1.35rem; line-height: 1.55; }
  .contact-introduction > p:nth-of-type(2) { margin-top: 1.4rem; font-size: 1rem; line-height: 1.85; }
  .contact-direct { margin-top: 1.8rem; }
  .contact-form { padding: 1.8rem 1.15rem; background: linear-gradient(145deg, rgba(250,252,252,.2), rgba(231,239,242,.09)); backdrop-filter: blur(9px) saturate(.92); -webkit-backdrop-filter: blur(9px) saturate(.92); }
  .contact-form-heading { margin-bottom: 1.5rem; }
  .contact-form-heading h2 { font-size: 1.4rem; }
  .contact-fields { gap: 1rem; }
  .contact-fields label > span { font-size: .88rem; }
  .contact-fields input,
  .contact-fields textarea { padding: .75rem; font-size: 1rem; }
  .contact-alternative { font-size: .85rem; }

  /* Shared mobile footer and completion pages */
  .site-footer { padding: 3rem 6vw 2rem; gap: 2rem; }
  .footer-links { grid-template-columns: 1fr; gap: .35rem; }
  .footer-links a { display: flex; min-height: 42px; align-items: center; }
  .site-footer > p { margin-top: 1rem; text-align: left; }
  .thank-you { padding: 1rem; }
  .thank-you > div { padding: 3rem 1.4rem; }
  .thank-you h1 { font-size: 2rem; }

  /* Join lightbox */
  .join-dialog { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); }
  .join-dialog-card { grid-template-columns: 1fr; min-height: 0; }
  .join-dialog-intro { min-height: 180px; padding: 4.5rem 1.5rem 1.6rem; }
  .join-dialog-intro > p:first-child { top: 1.6rem; left: 1.5rem; }
  .join-dialog-intro h2 { font-size: 1.35rem; }
  .join-dialog-intro > p:last-child { margin-top: .75rem; font-size: .9rem; }
  .join-dialog-form { padding: 2rem 1.5rem 2.2rem; }
  .join-dialog-form input { font-size: 1rem; }
  .back-to-top { display: grid; }
  .back-to-top.visible { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .join-dialog[open] { animation: none; }
}

/* Static homepage hero — typography and navigation remain live HTML */
.hero-static {
  position: relative;
  height: 100svh;
  min-height: 620px;
  color: white;
  background: url('homepage-mountain-bg.png') center center / cover no-repeat;
  isolation: isolate;
  overflow: hidden;
}
.hero-static::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  background: rgba(13,27,42,.055);
  filter: none;
  transform: none;
}
.hero-static::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(12,28,42,.08), transparent 42%, rgba(255,255,255,.02));
}
.hero-desktop-nav {
  position: absolute;
  z-index: 3;
  top: clamp(2rem, 5.2vh, 3.5rem);
  left: 9.65vw;
  display: flex;
  align-items: center;
  gap: clamp(2.1rem, 3.4vw, 4.25rem);
  color: #424d55;
  font-size: clamp(.78rem, 1.12vw, .98rem);
  font-weight: 450;
  letter-spacing: .025em;
}
.hero-desktop-nav a {
  position: relative;
  padding: .35rem 0;
  transition: color .22s ease;
}
.hero-desktop-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: #425566;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .24s ease;
}
.hero-desktop-nav a:hover,
.hero-desktop-nav a:focus-visible { color: #152f43; outline: none; }
.hero-desktop-nav a:hover::after,
.hero-desktop-nav a:focus-visible::after { transform: scaleX(1); }
.hero-corner-logo {
  position: absolute;
  z-index: 3;
  top: clamp(1.65rem, 3.8vh, 2.7rem);
  right: 6.15vw;
  display: block;
  width: clamp(48px, 4.25vw, 72px);
  height: clamp(48px, 4.25vw, 72px);
}
.hero-corner-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.hero-brand-copy {
  position: absolute;
  z-index: 2;
  top: 18.2%;
  left: 9.65vw;
  width: min(54vw, 760px);
  text-align: left;
}
.hero-brand-copy h1,
.hero-brand-copy p { margin: 0; color: white; }
.hero-brand-zh {
  font-family: "Noto Sans TC", "Source Han Sans TC", "Microsoft JhengHei", sans-serif;
  font-size: clamp(3.35rem, 5.45vw, 6.4rem);
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: .055em;
  opacity: 0;
  animation: heroBrandReveal 1.2s cubic-bezier(.22,.61,.36,1) .15s forwards;
}
.hero-brand-en {
  margin-top: .8rem !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.9rem, 4.6vw, 5.35rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.035em;
  opacity: 0;
  animation: heroBrandReveal 1.2s cubic-bezier(.22,.61,.36,1) .75s forwards;
}
.hero-brand-motto {
  margin-top: 1.25rem !important;
  font-family: "Noto Sans TC", "Source Han Sans TC", "Microsoft JhengHei", sans-serif;
  font-size: clamp(1rem, 1.65vw, 1.72rem);
  font-weight: 550;
  line-height: 1.5;
  letter-spacing: .34em;
  white-space: nowrap;
  opacity: 0;
  animation: heroBrandReveal 1.2s cubic-bezier(.22,.61,.36,1) 1.35s forwards;
}
.hero-footnote {
  position: absolute;
  z-index: 2;
  bottom: clamp(1.6rem, 4.2vh, 3rem);
  left: 3.75vw;
  display: flex;
  width: clamp(220px, 19vw, 310px);
  flex-direction: column;
  color: white;
  font-family: Arial, sans-serif;
  line-height: 1.35;
  text-shadow: 0 1px 4px rgba(7,20,31,.22);
}
.hero-footnote strong { font-size: clamp(.72rem, 1vw, .94rem); font-weight: 500; }
.hero-footnote i { width: 100%; height: 1px; margin: .28rem 0 .35rem; background: rgba(255,255,255,.85); }
.hero-footnote span { font-size: clamp(.64rem, .86vw, .82rem); font-weight: 400; }

@keyframes heroBrandReveal {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1050px) {
  .hero-desktop-nav,
  .hero-corner-logo { display: none; }
}

@media (max-width: 720px) {
  .home .hero-static {
    height: min(72svh, 620px);
    min-height: 490px;
    background-position: 55% center;
  }
  .home .hero-static::before { background: rgba(13,27,42,.13); }
  .home .hero-static::after { background: linear-gradient(180deg, rgba(10,28,43,.06), transparent 48%, rgba(9,25,38,.25)); }
  .home .hero-brand-copy {
    top: 35%;
    left: 50%;
    width: 92vw;
    text-align: center;
    transform: translate(-50%, -50%);
  }
  .home .hero-brand-zh {
    font-size: clamp(2.15rem, 10.4vw, 3rem);
    line-height: 1.2;
    letter-spacing: .035em;
  }
  .home .hero-brand-en {
    margin-top: .65rem !important;
    font-size: clamp(1.75rem, 8.7vw, 2.55rem);
    line-height: 1.14;
  }
  .home .hero-brand-motto {
    margin-top: 1.1rem !important;
    font-size: clamp(.82rem, 3.9vw, 1.05rem);
    letter-spacing: .23em;
    white-space: normal;
  }
  .home .hero-footnote {
    bottom: 1.35rem;
    left: 6vw;
    width: min(230px, 65vw);
  }
  .home .hero-footnote strong { font-size: .78rem; }
  .home .hero-footnote span { font-size: .68rem; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-brand-zh,
  .hero-brand-en,
  .hero-brand-motto { opacity: 1; animation: none; transform: none; }
}
