/* ==========================================================================
   GBM Studies — Prototype 01 "Emerald Charter" — help, teams, mentors, 404
   help.html · teams.html · mentors.html · 404.html
   Builds on tokens.css + site.css + course.css + pages.css (hero, sections,
   contact form fields, FAQ rows). Animates transform and opacity only.
   ========================================================================== */

.pg mark { padding: 0 .12em; border-radius: 4px; color: inherit; background: rgba(214,185,124,.5); }

/* ---------- Topic chips (help + mentors) ---------- */
.hc-chips { display: flex; flex-wrap: wrap; gap: .45rem; }
.hc-chip { display: inline-flex; align-items: center; gap: .55rem; min-height: 42px; padding: .45rem .55rem .45rem 1rem; border-radius: var(--radius-pill); font-size: .88rem; font-weight: 500; color: var(--ink-700); background: #fff; box-shadow: inset 0 0 0 1px var(--line-light); transition: background-color .3s, color .3s, box-shadow .3s, opacity .3s; }
.hc-chip > i { width: 1.1em; text-align: center; font-size: .82rem; color: var(--emerald-600); transition: color .3s; }
.hc-chip small { min-width: 26px; height: 26px; padding: 0 .45rem; border-radius: var(--radius-pill); display: grid; place-items: center; font-family: var(--font-mono); font-size: .7rem; color: var(--ink-500); background: var(--ivory-100); transition: background-color .3s, color .3s; }
.hc-chip:hover { box-shadow: inset 0 0 0 1px var(--emerald-500); }
.hc-chip[aria-pressed="true"] { color: var(--ivory-50); background: var(--emerald-900); box-shadow: none; }
.hc-chip[aria-pressed="true"] > i { color: var(--gold-300); }
.hc-chip[aria-pressed="true"] small { color: var(--emerald-950); background: var(--gold-300); }
.hc-chip.is-zero:not([aria-pressed="true"]) { opacity: .5; }

/* ---------- Search field (help hero + 404) ---------- */
.hc-search { display: flex; align-items: center; gap: .6rem; max-width: 620px; margin-top: 2.2rem; padding: 6px 6px 6px 1.25rem; border-radius: var(--radius-pill); background: rgba(3,17,11,.55); box-shadow: inset 0 0 0 1px var(--line-dark), 0 30px 60px -30px rgba(0,0,0,.6); transition: box-shadow .3s; }
.hc-search:focus-within { box-shadow: inset 0 0 0 1px var(--gold-400), 0 0 0 5px rgba(197,161,90,.14); }
.hc-search > i { color: var(--gold-400); font-size: 1.02rem; }
.hc-search input { flex: 1; min-width: 0; height: 52px; border: 0; outline: 0; background: none; color: var(--ivory-50); font: inherit; font-size: 1.05rem; }
.hc-search input::placeholder { color: rgba(246,238,219,.38); }
.hc-search input::-webkit-search-cancel-button { display: none; }
.pg .hc-search :focus-visible { outline: 0; }
.pg .hc-search .btn:focus-visible { outline: 2px solid var(--gold-300); outline-offset: 2px; }
.hc-search__clear { flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: rgba(246,238,219,.6); transition: background-color .25s, color .25s; }
.hc-search__clear:hover { color: var(--ivory-50); background: rgba(246,238,219,.1); }
.hc-search__clear[hidden] { display: none; }
.hc-search__kbd { flex: none; min-width: 26px; height: 26px; padding: 0 .4rem; border-radius: 7px; display: grid; place-items: center; font-family: var(--font-mono); font-size: .76rem; color: rgba(246,238,219,.5); box-shadow: inset 0 0 0 1px var(--line-dark); }
.hc-search .btn { flex: none; }

/* ==========================================================================
   HELP CENTRE
   ========================================================================== */
.hc-hero { padding-bottom: 5rem; }
.hc-hero__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr); gap: 3rem; align-items: end; }
.hc-hero .pg-title { max-width: 11ch; }
.hc-popular { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .5rem; margin-top: 1.1rem; font-size: .84rem; color: rgba(246,238,219,.55); }
.hc-popular span { margin-right: .2rem; }
.hc-popular button { padding: .35rem .8rem; border-radius: var(--radius-pill); color: rgba(246,238,219,.82); box-shadow: inset 0 0 0 1px var(--line-dark); transition: color .25s, box-shadow .25s, background-color .25s; }
.hc-popular button:hover { color: var(--emerald-950); background: var(--gold-300); box-shadow: none; }

.hc-top { padding: 1.4rem 1.4rem 1.2rem; border-radius: var(--radius-lg); background: rgba(3,17,11,.5); box-shadow: inset 0 0 0 1px var(--line-dark); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.hc-top__k { display: flex; align-items: center; gap: .55rem; font-family: var(--font-mono); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-400); }
.hc-top ol { margin-top: .8rem; }
.hc-top a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .8rem; align-items: center; padding: .78rem 0; border-top: 1px solid var(--line-dark); font-size: .92rem; color: rgba(246,238,219,.85); transition: color .3s; }
.hc-top li:first-child a { border-top: 0; }
.hc-top a span { font-family: var(--font-mono); font-size: .7rem; color: var(--gold-400); }
.hc-top a i { font-size: .72rem; color: var(--gold-400); opacity: 0; transform: translate3d(-6px, 0, 0); transition: opacity .3s, transform .35s var(--ease-out); }
.hc-top a:hover { color: var(--ivory-50); }
.hc-top a:hover i { opacity: 1; transform: none; }
.hc-top__note { display: flex; gap: .45rem; margin-top: .6rem; font-size: .72rem; color: rgba(246,238,219,.42); }

.hc-body { padding-top: clamp(3.5rem, 2.5rem + 3vw, 5.5rem); }
.hc-layout { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: clamp(2rem, 1rem + 3vw, 4rem); align-items: start; }
.hc-side { position: sticky; top: 104px; display: grid; gap: 1.1rem; }
.hc-side .hc-chips { flex-direction: column; flex-wrap: nowrap; }
.hc-side .hc-chip { justify-content: flex-start; }
.hc-side .hc-chip small { margin-left: auto; }
.hc-side__card { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: .8rem; align-items: center; margin-top: .4rem; padding: 1rem; border-radius: var(--radius-md); font-size: .82rem; color: var(--ink-500); background: var(--ivory-100); box-shadow: inset 0 0 0 1px var(--line-light); transition: box-shadow .3s, transform .4s var(--ease-out); }
.hc-side__card b { display: block; margin-bottom: .1rem; font-size: .92rem; color: var(--ink-900); }
.hc-side__card > i { font-size: .75rem; color: var(--emerald-600); }
.hc-side__card:hover { transform: translate3d(0, -2px, 0); box-shadow: inset 0 0 0 1px var(--gold-500); }
.hc-side__i { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; color: var(--gold-300); background: var(--emerald-900); }

.hc-count { min-height: 1.5em; margin-bottom: 1.4rem; font-family: var(--font-mono); font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-500); }
.hc-count b { font-weight: 500; color: var(--ink-900); }
.hc-count q { text-transform: none; letter-spacing: 0; color: var(--emerald-700); }
.hc-group + .hc-group { margin-top: 2.8rem; }
.hc-group[hidden], .hc-item[hidden], .hc-empty[hidden] { display: none; }
.hc-group__head { display: flex; align-items: center; gap: .8rem; margin-bottom: 1rem; }
.hc-group__head h2 { font-family: var(--font-display); font-weight: 400; font-size: clamp(1.6rem, 1.3rem + .8vw, 2rem); line-height: 1.1; }
.hc-group__i { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; font-size: .85rem; color: var(--gold-700); background: rgba(197,161,90,.14); }
.hc-group__n { font-family: var(--font-mono); font-size: .72rem; color: var(--ink-300); }

.hc-item { border-radius: var(--radius-md); background: #fff; box-shadow: inset 0 0 0 1px var(--line-light); transition: box-shadow .4s var(--ease-out); }
.hc-item + .hc-item { margin-top: .55rem; }
.hc-item:hover { box-shadow: inset 0 0 0 1px rgba(12,21,17,.22); }
.hc-item.is-open { box-shadow: inset 0 0 0 1px rgba(197,161,90,.55), var(--shadow-md); }
.hc-item__h { font: inherit; }
.hc-q { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.15rem 1.15rem 1.15rem 1.35rem; text-align: left; font-size: 1.02rem; font-weight: 500; line-height: 1.4; color: var(--ink-900); }
.hc-q__i { flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-size: .78rem; color: var(--ink-700); box-shadow: inset 0 0 0 1px var(--line-light); transition: transform .5s var(--ease-out), background-color .3s, color .3s, box-shadow .3s; }
.hc-item.is-open .hc-q__i { transform: rotate(45deg); color: var(--gold-300); background: var(--emerald-900); box-shadow: none; }
.hc-a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .55s var(--ease-out); }
.hc-item.is-open .hc-a { grid-template-rows: 1fr; }
.hc-a > div { overflow: hidden; }
.hc-a__in { padding: 0 1.35rem 1.25rem; opacity: 0; transform: translate3d(0, -6px, 0); transition: opacity .4s var(--ease-out), transform .5s var(--ease-out); }
.hc-item.is-open .hc-a__in { opacity: 1; transform: none; transition-delay: .08s; }
.hc-a__body { max-width: 68ch; color: var(--ink-700); }
.hc-a__body p + p, .hc-a__body ul + p, .hc-a__body p + ul { margin-top: .7rem; }
.hc-a__body ul { display: grid; gap: .35rem; }
.hc-a__body li { position: relative; padding-left: 1.2rem; }
.hc-a__body li::before { content: ""; position: absolute; left: .2rem; top: .68em; width: 6px; height: 6px; border-radius: 50%; background: var(--gold-500); }
.hc-a__body a { color: var(--emerald-700); border-bottom: 1px solid currentColor; }
.hc-a__body a:hover { color: var(--emerald-500); }
.hc-a__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .6rem 1rem; margin-top: 1.1rem; padding-top: .9rem; border-top: 1px dashed var(--line-light); font-family: var(--font-mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-300); }
.hc-copy { display: inline-flex; align-items: center; gap: .45rem; font: inherit; letter-spacing: inherit; text-transform: inherit; color: var(--ink-500); transition: color .25s; }
.hc-copy:hover { color: var(--emerald-700); }
.hc-list.is-live .hc-item:not([hidden]) { animation: hcIn .45s var(--ease-out) both; }
@keyframes hcIn { from { opacity: 0; transform: translate3d(0, 8px, 0); } }

.hc-empty { padding: clamp(2rem, 1.5rem + 2vw, 3rem); border-radius: var(--radius-lg); text-align: center; background: #fff; box-shadow: inset 0 0 0 1px var(--line-light); animation: hcIn .45s var(--ease-out) both; }
.hc-empty__i { width: 64px; height: 64px; margin: 0 auto 1.1rem; border-radius: 50%; display: grid; place-items: center; font-size: 1.2rem; color: var(--gold-700); background: rgba(197,161,90,.14); }
.hc-empty h2 { font-family: var(--font-display); font-weight: 400; font-size: clamp(1.7rem, 1.4rem + 1vw, 2.2rem); line-height: 1.1; overflow-wrap: anywhere; }
.hc-empty h2 q { font-style: italic; color: var(--emerald-600); }
.hc-empty p { max-width: 46ch; margin: .7rem auto 0; color: var(--ink-500); }
.hc-empty__acts { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: 1.5rem; }
.hc-empty__acts [hidden] { display: none; }

.hc-reach__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.hc-ch { position: relative; display: flex; flex-direction: column; padding: 1.5rem 1.4rem 1.4rem; border-radius: var(--radius-lg); background: rgba(246,238,219,.04); box-shadow: inset 0 0 0 1px var(--line-dark); transition: transform .45s var(--ease-out), box-shadow .4s, background-color .4s; }
.hc-ch:hover { transform: translate3d(0, -4px, 0); background: rgba(246,238,219,.07); box-shadow: inset 0 0 0 1px rgba(214,185,124,.45); }
.hc-ch__i { width: 46px; height: 46px; margin-bottom: 1.3rem; border-radius: 14px; display: grid; place-items: center; color: var(--emerald-950); background: var(--gold-300); }
.hc-ch small { font-family: var(--font-mono); font-size: .64rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-400); }
.hc-ch b { display: block; margin-top: .35rem; font-weight: 600; font-size: 1.02rem; overflow-wrap: anywhere; }
.hc-ch p { margin-top: .45rem; font-size: .86rem; color: rgba(246,238,219,.62); }
.hc-ch__go { display: inline-flex; align-items: center; gap: .45rem; margin-top: auto; padding-top: 1.3rem; font-size: .84rem; font-weight: 500; color: var(--gold-300); }
.hc-ch__go i { font-size: .7rem; transition: transform .35s var(--ease-out); }
.hc-ch:hover .hc-ch__go i { transform: translateX(4px); }
.hc-ch--gold { background: radial-gradient(120% 120% at 0% 0%, rgba(197,161,90,.22), rgba(197,161,90,.05) 70%); box-shadow: inset 0 0 0 1px rgba(214,185,124,.38); }
.hc-more { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2rem; }
.hc-more a { display: inline-flex; align-items: center; gap: .55rem; padding: .6rem 1rem; border-radius: var(--radius-pill); font-size: .86rem; color: rgba(246,238,219,.82); box-shadow: inset 0 0 0 1px var(--line-dark); transition: color .25s, box-shadow .25s; }
.hc-more a i { color: var(--gold-400); font-size: .8rem; }
.hc-more a:hover { color: var(--ivory-50); box-shadow: inset 0 0 0 1px var(--gold-400); }

/* ==========================================================================
   GBM FOR TEAMS
   ========================================================================== */
.tm-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(2.5rem, 1rem + 4vw, 5rem); align-items: center; }
.tm-hero .pg-title { max-width: 12ch; }
.tm-hero__ctas { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 2.2rem; }
.tm-proof { display: flex; flex-wrap: wrap; gap: 1.2rem 2.4rem; margin-top: 2.4rem; padding-top: 1.6rem; border-top: 1px solid var(--line-dark); }
.tm-proof b { display: block; font-family: var(--font-display); font-weight: 400; font-size: 2.2rem; line-height: 1; color: var(--gold-300); }
.tm-proof span { font-size: .84rem; color: rgba(246,238,219,.6); }

.tm-board { margin: 0; padding: 1.4rem; border-radius: var(--radius-xl); background: linear-gradient(160deg, rgba(14,51,36,.92), rgba(3,17,11,.94)); box-shadow: inset 0 0 0 1px var(--line-dark), 0 60px 100px -50px rgba(0,0,0,.85); transform: perspective(1600px) rotateY(-6deg) rotateX(3deg); transform-origin: 0 50%; animation: tmFloat 8s var(--ease-in-out) infinite alternate; }
@keyframes tmFloat { to { transform: perspective(1600px) rotateY(-3deg) rotateX(1deg) translate3d(0, -8px, 0); } }
.tm-board__head { display: flex; align-items: center; gap: .8rem; }
.tm-board__crest img { width: 40px; height: 40px; border-radius: 50%; }
.tm-board__head small { display: block; font-family: var(--font-mono); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-400); }
.tm-board__head b { font-weight: 600; }
.tm-board__live { display: inline-flex; align-items: center; gap: .45rem; margin-left: auto; padding: .3rem .7rem; border-radius: var(--radius-pill); font-family: var(--font-mono); font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(246,238,219,.7); box-shadow: inset 0 0 0 1px var(--line-dark); }
.tm-board__live i { width: 7px; height: 7px; border-radius: 50%; background: #4fc28a; box-shadow: 0 0 0 3px rgba(79,194,138,.2); animation: tmPulse 2s ease-in-out infinite; }
@keyframes tmPulse { 50% { opacity: .35; } }
.tm-board__kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin: 1.2rem 0 1rem; }
.tm-board__kpis div { padding: .85rem .9rem; border-radius: 14px; background: rgba(246,238,219,.05); box-shadow: inset 0 0 0 1px var(--line-dark); }
.tm-board__kpis b { display: block; font-family: var(--font-display); font-weight: 400; font-size: 1.8rem; line-height: 1; color: var(--ivory-50); }
.tm-board__kpis span { display: block; margin-top: .35rem; font-size: .72rem; line-height: 1.3; color: rgba(246,238,219,.55); }
.tm-board__rows li { display: grid; grid-template-columns: 34px minmax(0, 1fr) 90px 44px; gap: .8rem; align-items: center; padding: .7rem 0; border-top: 1px solid var(--line-dark); font-size: .84rem; }
.tm-av { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-size: .66rem; font-weight: 600; letter-spacing: .04em; color: var(--emerald-950); background: var(--grad-gold); }
.tm-row__t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tm-row__t small { display: block; font-size: .72rem; color: rgba(246,238,219,.5); }
.tm-bar { height: 6px; border-radius: 6px; overflow: hidden; background: rgba(246,238,219,.1); }
.tm-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--emerald-500), var(--gold-400)); transform-origin: 0 50%; transform: scaleX(var(--p)); animation: tmBar 1.6s var(--ease-out) .5s both; }
.tm-bar--done i { background: var(--gold-400); }
@keyframes tmBar { from { transform: scaleX(0); } }
.tm-board__rows b { text-align: right; font-family: var(--font-mono); font-weight: 500; font-size: .76rem; color: var(--gold-300); }
.tm-board figcaption { display: flex; gap: .45rem; margin-top: .8rem; font-size: .72rem; color: rgba(246,238,219,.42); }

.tm-why { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.tm-why__card { padding: 1.7rem 1.5rem; border-radius: var(--radius-lg); background: #fff; box-shadow: inset 0 0 0 1px var(--line-light); transition: transform .45s var(--ease-out), box-shadow .4s; }
.tm-why__card:hover { transform: translate3d(0, -4px, 0); box-shadow: inset 0 0 0 1px var(--gold-500), var(--shadow-md); }
.tm-why__i { width: 50px; height: 50px; margin-bottom: 1.4rem; border-radius: 16px; display: grid; place-items: center; font-size: 1.05rem; color: var(--gold-300); background: var(--emerald-900); }
.tm-why__card h3 { font-family: var(--font-display); font-weight: 400; font-size: 1.55rem; line-height: 1.1; }
.tm-why__card p { margin-top: .5rem; font-size: .92rem; color: var(--ink-500); }

.tm-steps { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.tm-steps::before { content: ""; position: absolute; left: 8%; right: 8%; top: 52px; height: 1px; background: linear-gradient(90deg, rgba(197,161,90,.1), var(--gold-500), rgba(197,161,90,.1)); }
.tm-step { position: relative; padding: 1.6rem 1.5rem 1.7rem; border-radius: var(--radius-lg); background: rgba(3,17,11,.6); box-shadow: inset 0 0 0 1px var(--line-dark); }
.tm-step__n { position: absolute; top: 1.4rem; right: 1.5rem; font-family: var(--font-mono); font-size: .7rem; letter-spacing: .14em; color: rgba(246,238,219,.38); }
.tm-step__i { position: relative; width: 56px; height: 56px; margin-bottom: 1.4rem; border-radius: 50%; display: grid; place-items: center; font-size: 1.1rem; color: var(--emerald-950); background: var(--grad-gold); box-shadow: 0 0 0 8px var(--emerald-950), 0 0 0 9px var(--line-dark); }
.tm-step h3 { font-family: var(--font-display); font-weight: 400; font-size: 1.65rem; line-height: 1.1; }
.tm-step p { margin-top: .55rem; font-size: .92rem; color: rgba(246,238,219,.65); }

.tm-fit { padding: clamp(1rem, .6rem + 1.4vw, 1.6rem); border-radius: var(--radius-xl); background: var(--ivory-50); box-shadow: inset 0 0 0 1px var(--line-light), var(--shadow-sm); }
.tm-fit__tabs { display: flex; gap: .4rem; overflow-x: auto; scrollbar-width: none; padding: 2px; }
.tm-fit__tabs::-webkit-scrollbar { display: none; }
.tm-fit__tabs button { flex: none; display: inline-flex; align-items: center; gap: .55rem; height: 46px; padding: 0 1.1rem; border-radius: var(--radius-pill); font-size: .9rem; font-weight: 500; color: var(--ink-700); box-shadow: inset 0 0 0 1px var(--line-light); transition: background-color .3s, color .3s, box-shadow .3s; }
.tm-fit__tabs button i { color: var(--emerald-600); font-size: .85rem; transition: color .3s; }
.tm-fit__tabs button:hover { box-shadow: inset 0 0 0 1px var(--emerald-500); }
.tm-fit__tabs button[aria-selected="true"] { color: var(--ivory-50); background: var(--emerald-900); box-shadow: none; }
.tm-fit__tabs button[aria-selected="true"] i { color: var(--gold-300); }
.tm-fit__panel { padding: 1.4rem .4rem .4rem; }
.tm-fit__panel:focus-visible { outline-offset: 6px; border-radius: var(--radius-lg); }
.tm-fit__lead { font-family: var(--font-display); font-style: italic; font-size: 1.35rem; color: var(--emerald-700); }
.tm-fit__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.1rem; }
.tm-prog { display: grid; grid-template-columns: 170px minmax(0, 1fr); border-radius: var(--radius-lg); overflow: hidden; background: #fff; box-shadow: inset 0 0 0 1px var(--line-light); animation: hcIn .55s var(--ease-out) calc(var(--i) * .08s) both; }
.tm-prog__media { position: relative; overflow: hidden; }
.tm-prog__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease-out); }
.tm-prog:hover .tm-prog__media img { transform: scale(1.05); }
.tm-prog__body { display: flex; flex-direction: column; padding: 1.2rem 1.25rem 1.1rem; min-width: 0; }
.tm-prog__body small { font-family: var(--font-mono); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-700); }
.tm-prog__body h3 { margin-top: .35rem; font-family: var(--font-display); font-weight: 400; font-size: 1.45rem; line-height: 1.1; }
.tm-prog__body h3 a:hover { color: var(--emerald-600); }
.tm-prog__body p { margin-top: .45rem; font-size: .88rem; color: var(--ink-500); }
.tm-prog__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .6rem; margin-top: auto; padding-top: 1rem; font-size: .8rem; color: var(--ink-500); }
.tm-prog__foot > span i { margin-right: .4rem; color: var(--emerald-600); }
.tm-prog__add { display: inline-flex; align-items: center; gap: .45rem; height: 36px; padding: 0 .9rem; border-radius: var(--radius-pill); font-size: .8rem; font-weight: 600; color: var(--emerald-900); box-shadow: inset 0 0 0 1px var(--line-light); transition: background-color .3s, color .3s, box-shadow .3s; }
.tm-prog__add:hover { box-shadow: inset 0 0 0 1px var(--emerald-600); }
.tm-prog__add.is-on { color: var(--emerald-950); background: var(--gold-300); box-shadow: none; }
.tm-prog__add i { font-size: .72rem; }

.tm-seats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: stretch; }
.tm-seat { position: relative; display: flex; flex-direction: column; padding: 1.9rem 1.7rem 1.7rem; border-radius: var(--radius-xl); background: rgba(246,238,219,.04); box-shadow: inset 0 0 0 1px var(--line-dark); }
.tm-seat small { font-family: var(--font-mono); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-400); }
.tm-seat h3 { margin-top: .5rem; font-family: var(--font-display); font-weight: 400; font-size: 2.2rem; line-height: 1.05; }
.tm-seat__price { margin-top: .4rem; font-size: .92rem; color: rgba(246,238,219,.6); }
.tm-seat ul { display: grid; gap: .6rem; margin: 1.5rem 0 1.8rem; padding-top: 1.4rem; border-top: 1px solid var(--line-dark); font-size: .92rem; color: rgba(246,238,219,.82); }
.tm-seat li { display: flex; gap: .6rem; }
.tm-seat li i { margin-top: .32rem; font-size: .7rem; color: var(--gold-400); }
.tm-seat .btn { margin-top: auto; align-self: flex-start; }
.tm-seat--feature { background: radial-gradient(130% 120% at 0% 0%, rgba(27,90,64,.6), rgba(3,17,11,.4) 70%); box-shadow: inset 0 0 0 1px rgba(214,185,124,.5), 0 40px 80px -40px rgba(0,0,0,.8); }
.tm-seat__flag { position: absolute; top: -13px; left: 1.7rem; padding: .3rem .8rem; border-radius: var(--radius-pill); font-family: var(--font-mono); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; color: var(--emerald-950); background: var(--grad-gold); }
.pg-sec--dark .pg-note { color: rgba(246,238,219,.5); }

.tm-enq .ct-card h2 { font-family: var(--font-display); font-weight: 400; font-size: clamp(1.9rem, 1.4rem + 1.4vw, 2.6rem); line-height: 1.08; }
.tm-progs span i { display: none; }
.tm-progs input:checked + span i { display: inline; }
.tm-form[hidden], .tm-ok[hidden] { display: none; }
.tm-ok__sum { display: grid; gap: 0; max-width: 460px; margin: 1.4rem auto 0; text-align: left; border-radius: var(--radius-md); background: var(--ivory-50); box-shadow: inset 0 0 0 1px var(--line-light); }
.tm-ok__sum li { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 1rem; padding: .7rem 1rem; border-top: 1px solid var(--line-light); font-size: .88rem; }
.tm-ok__sum li:first-child { border-top: 0; }
.tm-ok__sum span { color: var(--ink-500); }
.tm-ok__sum b { font-weight: 600; overflow-wrap: anywhere; }
.tm-ok .ct-success__tick { margin-top: .4rem; }
.tm-ok__proto { font-size: .8rem; color: var(--gold-700) !important; }
.tm-ok__proto i { margin-right: .4rem; }
.tm-next ol { display: grid; gap: .8rem; margin-top: 1.2rem; }
.tm-next li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: .6rem; font-size: .88rem; color: rgba(246,238,219,.75); }
.tm-next li b { font-family: var(--font-mono); font-weight: 500; font-size: .72rem; color: var(--gold-400); padding-top: .15rem; }

.tm-faq { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.tm-faq__more { margin-top: 1.2rem; color: rgba(246,238,219,.6); }
.tm-faq__more a { color: var(--gold-300); border-bottom: 1px solid currentColor; }
.pg-sec--dark .qa__q { color: var(--ivory-50); }
.pg-sec--dark .qa__a p a { color: var(--gold-300); }

/* ==========================================================================
   MENTORS
   ========================================================================== */
.mt-hero__crest { position: absolute; right: -5%; top: 50%; z-index: -1; width: min(560px, 50vw); opacity: .07; border-radius: 50%; pointer-events: none; transform: translate3d(0, -50%, 0); }
.mt-stats { display: flex; flex-wrap: wrap; gap: 1.2rem 0; margin-top: 2.6rem; }
.mt-stats li { padding: 0 2.2rem; border-left: 1px solid var(--line-dark); }
.mt-stats li:first-child { padding-left: 0; border-left: 0; }
.mt-stats b { display: block; font-family: var(--font-display); font-weight: 400; font-size: 2.4rem; line-height: 1; color: var(--gold-300); }
.mt-stats span { font-size: .84rem; color: rgba(246,238,219,.6); }
.mt-founder .btn { margin-top: 2rem; }

.mt-chips { margin-bottom: 1.6rem; }
.mt-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.mt-card { display: flex; flex-direction: column; padding: 1.6rem 1.5rem 1.6rem; border-radius: var(--radius-lg); background: #fff; box-shadow: inset 0 0 0 1px var(--line-light); transition: box-shadow .4s, transform .45s var(--ease-out); }
.mt-card[hidden] { display: none; }
.mt-card:hover { transform: translate3d(0, -4px, 0); box-shadow: inset 0 0 0 1px var(--gold-500), var(--shadow-md); }
.mt-card.mt-pop { animation: hcIn .5s var(--ease-out) both; }
.mt-card__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.mt-card__seal { position: relative; width: 72px; height: 72px; border-radius: 50%; display: grid; place-items: center; background: var(--grad-emerald); box-shadow: 0 0 0 1px rgba(197,161,90,.45), 0 0 0 6px var(--ivory-100); }
.mt-card__seal img { width: 54px; height: 54px; border-radius: 50%; opacity: .32; filter: grayscale(.2); }
.mt-card__seal i { position: absolute; font-size: 1.15rem; color: var(--gold-300); }
.mt-card__tbc { display: inline-flex; align-items: center; gap: .4rem; padding: .3rem .65rem; border-radius: var(--radius-pill); font-family: var(--font-mono); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-500); background: var(--ivory-100); }
.mt-card__n { margin-top: 1.4rem; font-family: var(--font-mono); font-size: .64rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-700); }
.mt-card h3 { margin-top: .3rem; font-family: var(--font-display); font-weight: 400; font-size: 1.7rem; line-height: 1.08; }
.mt-card__prog { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: .7rem; align-items: center; margin-top: 1rem; padding: .45rem .8rem .45rem .45rem; border-radius: 12px; font-size: .84rem; font-weight: 500; background: var(--ivory-50); box-shadow: inset 0 0 0 1px var(--line-light); transition: box-shadow .3s; }
.mt-card__prog img { width: 40px; height: 30px; object-fit: cover; border-radius: 7px; }
.mt-card__prog span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mt-card__prog i { font-size: .7rem; color: var(--emerald-600); transition: transform .35s var(--ease-out); }
.mt-card__prog:hover { box-shadow: inset 0 0 0 1px var(--emerald-600); }
.mt-card__prog:hover i { transform: translateX(3px); }
.mt-card__tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: 1rem; }
.mt-card__tags li { padding: .28rem .65rem; border-radius: var(--radius-pill); font-size: .76rem; color: var(--emerald-800); background: rgba(35,112,79,.08); }
.mt-card__k { margin-top: 1.3rem; padding-top: 1.1rem; border-top: 1px solid var(--line-light); font-family: var(--font-mono); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-300); }
.mt-card__helps { display: grid; gap: .45rem; margin-top: .7rem; font-size: .88rem; color: var(--ink-700); }
.mt-card__helps li { display: flex; gap: .55rem; }
.mt-card__helps i { margin-top: .36rem; font-size: .66rem; color: var(--gold-600); }
.mt-cta { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 2.2rem; }
.mt-join { margin-top: 1rem; max-width: 48ch; color: var(--ink-500); }

/* ==========================================================================
   404
   ========================================================================== */
.nf { position: relative; isolation: isolate; overflow: hidden; display: grid; align-items: center; min-height: 100vh; min-height: 100svh; padding: 8.5rem 0 5rem; text-align: center; color: var(--ivory-50); background: var(--emerald-950); }
.nf::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(55% 60% at 50% 30%, rgba(27,90,64,.6), transparent 70%), radial-gradient(40% 45% at 50% 100%, rgba(197,161,90,.1), transparent 70%); }
.nf .pg-hero__lines { -webkit-mask-image: radial-gradient(ellipse 60% 70% at 50% 35%, #000 10%, transparent 70%); mask-image: radial-gradient(ellipse 60% 70% at 50% 35%, #000 10%, transparent 70%); }
.nf__inner { display: flex; flex-direction: column; align-items: center; }
.nf__num { display: flex; align-items: center; justify-content: center; gap: clamp(.4rem, .2rem + 1vw, 1.2rem); font-family: var(--font-display); font-size: clamp(7rem, 4rem + 14vw, 15rem); line-height: .8; letter-spacing: -.04em; }
.nf__num > span:not(.nf__zero) { background: var(--grad-gold); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: goldShift 8s linear infinite; }
.nf__zero { position: relative; width: clamp(5.6rem, 3.2rem + 11vw, 12rem); aspect-ratio: 1; display: grid; place-items: center; }
.nf__zero img { width: 74%; height: 74%; border-radius: 50%; box-shadow: 0 30px 70px -20px rgba(0,0,0,.7); animation: nfFloat 6s var(--ease-in-out) infinite alternate; }
.nf__ring { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; overflow: visible; animation: nfSpin 40s linear infinite; }
.nf__ring circle { fill: none; stroke: rgba(214,185,124,.55); stroke-width: 1; }
.nf__ring .nf__ring-dash { stroke: rgba(214,185,124,.35); stroke-dasharray: 2 7; }
@keyframes nfSpin { to { transform: rotate(360deg); } }
@keyframes nfFloat { to { transform: translate3d(0, -8px, 0); } }
.nf .eyebrow { margin-top: 2.4rem; }
.nf__title { margin-top: 1rem; font-family: var(--font-display); font-weight: 400; font-size: clamp(2.4rem, 1.5rem + 3.4vw, 4.4rem); line-height: 1; letter-spacing: -.015em; }
.nf__title em { font-style: italic; color: var(--gold-300); }
.nf__lead { max-width: 46ch; margin-top: 1rem; font-size: var(--fs-lead); color: rgba(246,238,219,.68); }
.nf__asked { margin-top: 1rem; font-size: .84rem; color: rgba(246,238,219,.5); }
.nf__asked[hidden] { display: none; }
.nf__asked code { padding: .15rem .45rem; border-radius: 6px; font-family: var(--font-mono); font-size: .9em; color: var(--gold-300); background: rgba(246,238,219,.06); overflow-wrap: anywhere; }
.nf__search { width: 100%; margin-inline: auto; text-align: left; }
.nf__links { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: 1.6rem; }
.nf__links a { display: inline-flex; align-items: center; gap: .55rem; padding: .65rem 1.1rem; border-radius: var(--radius-pill); font-size: .9rem; color: rgba(246,238,219,.85); box-shadow: inset 0 0 0 1px var(--line-dark); transition: color .25s, background-color .25s, box-shadow .25s; }
.nf__links a i { font-size: .82rem; color: var(--gold-400); transition: color .25s; }
.nf__links a:hover { color: var(--emerald-950); background: var(--gold-300); box-shadow: none; }
.nf__links a:hover i { color: var(--emerald-950); }

.nf-progs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
.nf-prog { position: relative; display: flex; flex-direction: column; border-radius: var(--radius-lg); overflow: hidden; background: #fff; box-shadow: inset 0 0 0 1px var(--line-light); transition: transform .45s var(--ease-out), box-shadow .4s; }
.nf-prog:hover { transform: translate3d(0, -4px, 0); box-shadow: inset 0 0 0 1px var(--gold-500), var(--shadow-md); }
.nf-prog__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.nf-prog__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease-out); }
.nf-prog:hover .nf-prog__media img { transform: scale(1.05); }
.nf-prog__media b { position: absolute; left: .8rem; top: .8rem; padding: .2rem .55rem; border-radius: var(--radius-pill); font-family: var(--font-mono); font-weight: 500; font-size: .66rem; color: var(--ivory-50); background: rgba(3,17,11,.6); backdrop-filter: blur(6px); }
.nf-prog__body { display: flex; flex-direction: column; flex: 1; padding: 1rem 1.1rem 1.15rem; }
.nf-prog__body small { font-family: var(--font-mono); font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-700); }
.nf-prog__t { margin-top: .3rem; font-family: var(--font-display); font-size: 1.3rem; line-height: 1.1; }
.nf-prog__p { margin-top: auto; padding-top: .8rem; font-size: .9rem; }
.nf-prog__p b { font-weight: 600; }
.nf-prog__p s { margin-left: .35rem; font-size: .78rem; color: var(--ink-300); }
.nf-prog__go { position: absolute; right: 1rem; bottom: 1.2rem; font-size: .75rem; color: var(--emerald-600); transition: transform .35s var(--ease-out); }
.nf-prog:hover .nf-prog__go { transform: translateX(4px); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1180px) {
  .nf-progs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hc-reach__grid, .tm-why { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1080px) {
  .tm-fit__cards { grid-template-columns: 1fr; }
  .tm-seats { grid-template-columns: 1fr; max-width: 560px; }
  .mt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .hc-hero__grid, .tm-hero__grid, .tm-faq { grid-template-columns: minmax(0, 1fr); }
  .hc-top { max-width: 560px; }
  .hc-layout { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
  .hc-side { position: static; }
  .hc-side .hc-chips { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(var(--gutter) * -1); padding: 2px var(--gutter); scrollbar-width: none; }
  .hc-side .hc-chips::-webkit-scrollbar { display: none; }
  .hc-side .hc-chip { flex: none; }
  .hc-side__card { display: none; }
  .tm-board { transform: none; animation: none; max-width: 560px; }
  .tm-steps { grid-template-columns: minmax(0, 1fr); }
  .tm-steps::before { left: 3.3rem; right: auto; top: 2.5rem; bottom: 2.5rem; width: 1px; height: auto; background: linear-gradient(180deg, rgba(197,161,90,.1), var(--gold-500), rgba(197,161,90,.1)); }
  .tm-step { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: .2rem 1.2rem; }
  .tm-step__i { grid-row: span 2; margin-bottom: 0; }
  .mt-stats li { padding: 0 1.4rem; }
}
@media (max-width: 640px) {
  .hc-search { padding-left: 1rem; }
  .hc-search > i, .hc-search__kbd { display: none; }
  .hc-search input { height: 48px; font-size: 1rem; }
  .hc-search .btn span { display: none; }
  .hc-search .btn { width: 44px; padding: 0; justify-content: center; }
  .nf__search .btn { width: 44px; }
  .hc-q { padding: 1rem 1rem 1rem 1.1rem; font-size: .98rem; }
  .hc-a__in { padding: 0 1.1rem 1.1rem; }
  .hc-reach__grid, .tm-why, .mt-grid, .nf-progs { grid-template-columns: minmax(0, 1fr); }
  .nf-progs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
  .nf-prog__t { font-size: 1.12rem; }
  .nf-prog__go { display: none; }
  .tm-hero__ctas .btn { flex: 1 1 100%; justify-content: center; }
  .tm-board { padding: 1rem; border-radius: var(--radius-lg); }
  .tm-board__rows li { grid-template-columns: 30px minmax(0, 1fr) 40px; }
  .tm-board__rows .tm-bar { display: none; }
  .tm-av { width: 30px; height: 30px; }
  .tm-board__kpis b { font-size: 1.45rem; }
  .tm-prog { grid-template-columns: minmax(0, 1fr); }
  .tm-prog__media { aspect-ratio: 16 / 8; }
  .tm-seat .btn { align-self: stretch; justify-content: center; }
  .tm-ok__sum li { grid-template-columns: minmax(0, 1fr); gap: .1rem; }
  .tm-proof { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  .tm-proof b { font-size: 1.75rem; }
  .mt-chips { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(var(--gutter) * -1); padding: 2px var(--gutter); scrollbar-width: none; }
  .mt-chips::-webkit-scrollbar { display: none; }
  .mt-chips .hc-chip { flex: none; }
  .mt-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
  .mt-stats li { padding: 0; border-left: 0; }
  .mt-stats li:last-child { grid-column: 1 / -1; }
  .mt-cta .btn { flex: 1 1 100%; justify-content: center; }
  .nf { padding-top: 7.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .tm-board, .tm-bar i, .tm-board__live i, .nf__ring, .nf__zero img, .nf__num > span, .hc-list.is-live .hc-item, .tm-prog, .mt-card.mt-pop, .hc-empty { animation: none !important; }
  .hc-a, .hc-a__in { transition: none; }
}

/* ---------- Sample data: mentor initials, team seat prices ---------- */
.mt-card__seal--name b { font-family: var(--font-display); font-weight: 400; font-size: 1.7rem; line-height: 1; letter-spacing: .02em; color: var(--gold-300); }
.mt-card__seal--name i { right: -4px; bottom: -4px; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-size: .72rem; color: var(--emerald-950); background: var(--grad-gold); box-shadow: 0 0 0 3px #fff; }
.mt-card__exp { text-transform: none; letter-spacing: .02em; font-family: var(--font-sans); font-size: .72rem; }
.tm-seat__price b { margin-right: .25rem; font-family: var(--font-display); font-weight: 400; font-size: 2rem; line-height: 1; color: var(--gold-300); }
